@k8slens/extensions 5.5.0-git.a08b9bd5e9.0 → 5.5.0-git.ab2cd27a27.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.
@@ -7372,7 +7372,7 @@ eval("\nconst {constants: BufferConstants} = __webpack_require__(/*! buffer */ \
7372
7372
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7373
7373
 
7374
7374
  "use strict";
7375
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@material-ui/core/esm/utils/useForkRef.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n/* harmony import */ var _utils_deprecatedPropType__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/deprecatedPropType */ \"./node_modules/@material-ui/core/esm/utils/deprecatedPropType.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/useIsFocusVisible */ \"./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js\");\n/* harmony import */ var _TouchRipple__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TouchRipple */ \"./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native <a /> element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n '&$disabled': {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Pseudo-class applied to the root element if keyboard focused. */\n focusVisible: {}\n};\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\n\nvar ButtonBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ButtonBase(props, ref) {\n var action = props.action,\n buttonRefProp = props.buttonRef,\n _props$centerRipple = props.centerRipple,\n centerRipple = _props$centerRipple === void 0 ? false : _props$centerRipple,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n component = _props$component === void 0 ? 'button' : _props$component,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableRipple = props.disableRipple,\n disableRipple = _props$disableRipple === void 0 ? false : _props$disableRipple,\n _props$disableTouchRi = props.disableTouchRipple,\n disableTouchRipple = _props$disableTouchRi === void 0 ? false : _props$disableTouchRi,\n _props$focusRipple = props.focusRipple,\n focusRipple = _props$focusRipple === void 0 ? false : _props$focusRipple,\n focusVisibleClassName = props.focusVisibleClassName,\n onBlur = props.onBlur,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onFocusVisible = props.onFocusVisible,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n onMouseDown = props.onMouseDown,\n onMouseLeave = props.onMouseLeave,\n onMouseUp = props.onMouseUp,\n onTouchEnd = props.onTouchEnd,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onDragLeave = props.onDragLeave,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n TouchRippleProps = props.TouchRippleProps,\n _props$type = props.type,\n type = _props$type === void 0 ? 'button' : _props$type,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"action\", \"buttonRef\", \"centerRipple\", \"children\", \"classes\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"onBlur\", \"onClick\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"onDragLeave\", \"tabIndex\", \"TouchRippleProps\", \"type\"]);\n\n var buttonRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n\n function getButtonNode() {\n // #StrictMode ready\n return react_dom__WEBPACK_IMPORTED_MODULE_4__.findDOMNode(buttonRef.current);\n }\n\n var rippleRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_2__.useState(false),\n focusVisible = _React$useState[0],\n setFocusVisible = _React$useState[1];\n\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n\n var _useIsFocusVisible = (0,_utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle(action, function () {\n return {\n focusVisible: function focusVisible() {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n };\n }, []);\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n if (focusVisible && focusRipple && !disableRipple) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible]);\n\n function useRippleHandler(rippleAction, eventCallback) {\n var skipRippleAction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : disableTouchRipple;\n return (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(function (event) {\n if (eventCallback) {\n eventCallback(event);\n }\n\n var ignore = skipRippleAction;\n\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n\n return true;\n });\n }\n\n var handleMouseDown = useRippleHandler('start', onMouseDown);\n var handleDragLeave = useRippleHandler('stop', onDragLeave);\n var handleMouseUp = useRippleHandler('stop', onMouseUp);\n var handleMouseLeave = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n event.preventDefault();\n }\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n var handleTouchStart = useRippleHandler('start', onTouchStart);\n var handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n var handleTouchMove = useRippleHandler('stop', onTouchMove);\n var handleBlur = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n onBlurVisible(event);\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n var handleFocus = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(function (event) {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n\n if (isFocusVisible(event)) {\n setFocusVisible(true);\n\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n\n if (onFocus) {\n onFocus(event);\n }\n });\n\n var isNonNativeButton = function isNonNativeButton() {\n var button = getButtonNode();\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n /**\n * IE 11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n\n\n var keydownRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false);\n var handleKeyDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(function (event) {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.start(event);\n });\n }\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n\n if (onClick) {\n onClick(event);\n }\n }\n });\n var handleKeyUp = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(function (event) {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/s/button-keyup-preventdefault-dn7f0\n if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) {\n keydownRef.current = false;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.pulsate(event);\n });\n }\n\n if (onKeyUp) {\n onKeyUp(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n onClick(event);\n }\n });\n var ComponentProp = component;\n\n if (ComponentProp === 'button' && other.href) {\n ComponentProp = 'a';\n }\n\n var buttonProps = {};\n\n if (ComponentProp === 'button') {\n buttonProps.type = type;\n buttonProps.disabled = disabled;\n } else {\n if (ComponentProp !== 'a' || !other.href) {\n buttonProps.role = 'button';\n }\n\n buttonProps['aria-disabled'] = disabled;\n }\n\n var handleUserRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(buttonRefProp, ref);\n var handleOwnRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(focusVisibleRef, buttonRef);\n var handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(handleUserRef, handleOwnRef);\n\n var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_2__.useState(false),\n mountedState = _React$useState2[0],\n setMountedState = _React$useState2[1];\n\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n setMountedState(true);\n }, []);\n var enableTouchRipple = mountedState && !disableRipple && !disabled;\n\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n if (enableTouchRipple && !rippleRef.current) {\n console.error(['Material-UI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\\n'));\n }\n }, [enableTouchRipple]);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(ComponentProp, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.root, className, focusVisible && [classes.focusVisible, focusVisibleClassName], disabled && classes.disabled),\n onBlur: handleBlur,\n onClick: onClick,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onMouseDown: handleMouseDown,\n onMouseLeave: handleMouseLeave,\n onMouseUp: handleMouseUp,\n onDragLeave: handleDragLeave,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchStart: handleTouchStart,\n ref: handleRef,\n tabIndex: disabled ? -1 : tabIndex\n }, buttonProps, other), children, enableTouchRipple ?\n /*#__PURE__*/\n\n /* TouchRipple is only needed client-side, x2 boost on the server. */\n react__WEBPACK_IMPORTED_MODULE_2__.createElement(_TouchRipple__WEBPACK_IMPORTED_MODULE_9__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n ref: rippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null);\n});\n true ? ButtonBase.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: _material_ui_utils__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n\n /**\n * @ignore\n *\n * Use that prop to pass a ref to the native button component.\n * @deprecated Use `ref` instead.\n */\n buttonRef: (0,_utils_deprecatedPropType__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(_material_ui_utils__WEBPACK_IMPORTED_MODULE_10__[\"default\"], 'Use `ref` instead.'),\n\n /**\n * If `true`, the ripples will be centered.\n * They won't start at the cursor interaction position.\n */\n centerRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: _material_ui_utils__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n\n /**\n * If `true`, the base button will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `focusVisibleClassName`.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the touch ripple effect will be disabled.\n */\n disableTouchRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n */\n focusRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/master/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * @ignore\n */\n href: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * @ignore\n */\n onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onDragLeave: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onKeyDown: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onKeyUp: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onMouseLeave: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onMouseUp: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n */\n tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)]),\n\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n type: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['button', 'reset', 'submit']), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(styles, {\n name: 'MuiButtonBase'\n})(ButtonBase));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js?");
7375
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@material-ui/core/esm/utils/useForkRef.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n/* harmony import */ var _utils_deprecatedPropType__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/deprecatedPropType */ \"./node_modules/@material-ui/core/esm/utils/deprecatedPropType.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/useIsFocusVisible */ \"./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js\");\n/* harmony import */ var _TouchRipple__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./TouchRipple */ \"./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native <a /> element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n '&$disabled': {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Pseudo-class applied to the root element if keyboard focused. */\n focusVisible: {}\n};\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\n\nvar ButtonBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function ButtonBase(props, ref) {\n var action = props.action,\n buttonRefProp = props.buttonRef,\n _props$centerRipple = props.centerRipple,\n centerRipple = _props$centerRipple === void 0 ? false : _props$centerRipple,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n component = _props$component === void 0 ? 'button' : _props$component,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableRipple = props.disableRipple,\n disableRipple = _props$disableRipple === void 0 ? false : _props$disableRipple,\n _props$disableTouchRi = props.disableTouchRipple,\n disableTouchRipple = _props$disableTouchRi === void 0 ? false : _props$disableTouchRi,\n _props$focusRipple = props.focusRipple,\n focusRipple = _props$focusRipple === void 0 ? false : _props$focusRipple,\n focusVisibleClassName = props.focusVisibleClassName,\n onBlur = props.onBlur,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onFocusVisible = props.onFocusVisible,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n onMouseDown = props.onMouseDown,\n onMouseLeave = props.onMouseLeave,\n onMouseUp = props.onMouseUp,\n onTouchEnd = props.onTouchEnd,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onDragLeave = props.onDragLeave,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n TouchRippleProps = props.TouchRippleProps,\n _props$type = props.type,\n type = _props$type === void 0 ? 'button' : _props$type,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"action\", \"buttonRef\", \"centerRipple\", \"children\", \"classes\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"onBlur\", \"onClick\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"onDragLeave\", \"tabIndex\", \"TouchRippleProps\", \"type\"]);\n\n var buttonRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n\n function getButtonNode() {\n // #StrictMode ready\n return react_dom__WEBPACK_IMPORTED_MODULE_3__.findDOMNode(buttonRef.current);\n }\n\n var rippleRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_2__.useState(false),\n focusVisible = _React$useState[0],\n setFocusVisible = _React$useState[1];\n\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n\n var _useIsFocusVisible = (0,_utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle(action, function () {\n return {\n focusVisible: function focusVisible() {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n };\n }, []);\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n if (focusVisible && focusRipple && !disableRipple) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible]);\n\n function useRippleHandler(rippleAction, eventCallback) {\n var skipRippleAction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : disableTouchRipple;\n return (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function (event) {\n if (eventCallback) {\n eventCallback(event);\n }\n\n var ignore = skipRippleAction;\n\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n\n return true;\n });\n }\n\n var handleMouseDown = useRippleHandler('start', onMouseDown);\n var handleDragLeave = useRippleHandler('stop', onDragLeave);\n var handleMouseUp = useRippleHandler('stop', onMouseUp);\n var handleMouseLeave = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n event.preventDefault();\n }\n\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n var handleTouchStart = useRippleHandler('start', onTouchStart);\n var handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n var handleTouchMove = useRippleHandler('stop', onTouchMove);\n var handleBlur = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n onBlurVisible(event);\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n var handleFocus = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function (event) {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n\n if (isFocusVisible(event)) {\n setFocusVisible(true);\n\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n\n if (onFocus) {\n onFocus(event);\n }\n });\n\n var isNonNativeButton = function isNonNativeButton() {\n var button = getButtonNode();\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n /**\n * IE 11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n\n\n var keydownRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false);\n var handleKeyDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function (event) {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.start(event);\n });\n }\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n\n if (onClick) {\n onClick(event);\n }\n }\n });\n var handleKeyUp = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(function (event) {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/s/button-keyup-preventdefault-dn7f0\n if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) {\n keydownRef.current = false;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.pulsate(event);\n });\n }\n\n if (onKeyUp) {\n onKeyUp(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (onClick && event.target === event.currentTarget && isNonNativeButton() && event.key === ' ' && !event.defaultPrevented) {\n onClick(event);\n }\n });\n var ComponentProp = component;\n\n if (ComponentProp === 'button' && other.href) {\n ComponentProp = 'a';\n }\n\n var buttonProps = {};\n\n if (ComponentProp === 'button') {\n buttonProps.type = type;\n buttonProps.disabled = disabled;\n } else {\n if (ComponentProp !== 'a' || !other.href) {\n buttonProps.role = 'button';\n }\n\n buttonProps['aria-disabled'] = disabled;\n }\n\n var handleUserRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(buttonRefProp, ref);\n var handleOwnRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(focusVisibleRef, buttonRef);\n var handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(handleUserRef, handleOwnRef);\n\n var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_2__.useState(false),\n mountedState = _React$useState2[0],\n setMountedState = _React$useState2[1];\n\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n setMountedState(true);\n }, []);\n var enableTouchRipple = mountedState && !disableRipple && !disabled;\n\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(function () {\n if (enableTouchRipple && !rippleRef.current) {\n console.error(['Material-UI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\\n'));\n }\n }, [enableTouchRipple]);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(ComponentProp, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, focusVisible && [classes.focusVisible, focusVisibleClassName], disabled && classes.disabled),\n onBlur: handleBlur,\n onClick: onClick,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n onKeyUp: handleKeyUp,\n onMouseDown: handleMouseDown,\n onMouseLeave: handleMouseLeave,\n onMouseUp: handleMouseUp,\n onDragLeave: handleDragLeave,\n onTouchEnd: handleTouchEnd,\n onTouchMove: handleTouchMove,\n onTouchStart: handleTouchStart,\n ref: handleRef,\n tabIndex: disabled ? -1 : tabIndex\n }, buttonProps, other), children, enableTouchRipple ?\n /*#__PURE__*/\n\n /* TouchRipple is only needed client-side, x2 boost on the server. */\n react__WEBPACK_IMPORTED_MODULE_2__.createElement(_TouchRipple__WEBPACK_IMPORTED_MODULE_8__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n ref: rippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null);\n});\n true ? ButtonBase.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A ref for imperative actions.\n * It currently only supports `focusVisible()` action.\n */\n action: _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n\n /**\n * @ignore\n *\n * Use that prop to pass a ref to the native button component.\n * @deprecated Use `ref` instead.\n */\n buttonRef: (0,_utils_deprecatedPropType__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(_material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"], 'Use `ref` instead.'),\n\n /**\n * If `true`, the ripples will be centered.\n * They won't start at the cursor interaction position.\n */\n centerRipple: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: _material_ui_utils__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n\n /**\n * If `true`, the base button will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n *\n * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure\n * to highlight the element by applying separate styles with the `focusVisibleClassName`.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * If `true`, the touch ripple effect will be disabled.\n */\n disableTouchRipple: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n */\n focusRipple: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/master/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string),\n\n /**\n * @ignore\n */\n href: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string),\n\n /**\n * @ignore\n */\n onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onDragLeave: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onKeyDown: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onKeyUp: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onMouseLeave: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onMouseUp: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func),\n\n /**\n * @ignore\n */\n tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_11___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string)]),\n\n /**\n * Props applied to the `TouchRipple` element.\n */\n TouchRippleProps: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object),\n\n /**\n * @ignore\n */\n type: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOf(['button', 'reset', 'submit']), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(styles, {\n name: 'MuiButtonBase'\n})(ButtonBase));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js?");
7376
7376
 
7377
7377
  /***/ }),
7378
7378
 
@@ -7383,7 +7383,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7383
7383
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7384
7384
 
7385
7385
  "use strict";
7386
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n\n\n\n\nvar useEnhancedEffect = typeof window === 'undefined' ? react__WEBPACK_IMPORTED_MODULE_0__.useEffect : react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect;\n/**\n * @ignore - internal component.\n */\n\nfunction Ripple(props) {\n var classes = props.classes,\n _props$pulsate = props.pulsate,\n pulsate = _props$pulsate === void 0 ? false : _props$pulsate,\n rippleX = props.rippleX,\n rippleY = props.rippleY,\n rippleSize = props.rippleSize,\n inProp = props.in,\n _props$onExited = props.onExited,\n onExited = _props$onExited === void 0 ? function () {} : _props$onExited,\n timeout = props.timeout;\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(false),\n leaving = _React$useState[0],\n setLeaving = _React$useState[1];\n\n var rippleClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n var rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n var childClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n var handleExited = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(onExited); // Ripple is used for user feedback (e.g. click or press) so we want to apply styles with the highest priority\n\n useEnhancedEffect(function () {\n if (!inProp) {\n // react-transition-group#onExit\n setLeaving(true); // react-transition-group#onExited\n\n var timeoutId = setTimeout(handleExited, timeout);\n return function () {\n clearTimeout(timeoutId);\n };\n }\n\n return undefined;\n }, [handleExited, inProp, timeout]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", {\n className: rippleClassName,\n style: rippleStyles\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", {\n className: childClassName\n }));\n}\n\n true ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().object.isRequired),\n\n /**\n * @ignore - injected from TransitionGroup\n */\n in: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),\n\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().func),\n\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool),\n\n /**\n * Diameter of the ripple.\n */\n rippleSize: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),\n\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),\n\n /**\n * Vertical position of the ripple center.\n */\n rippleY: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number),\n\n /**\n * exit delay\n */\n timeout: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().number.isRequired)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Ripple);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js?");
7386
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n\n\n\n\nvar useEnhancedEffect = typeof window === 'undefined' ? react__WEBPACK_IMPORTED_MODULE_0__.useEffect : react__WEBPACK_IMPORTED_MODULE_0__.useLayoutEffect;\n/**\n * @ignore - internal component.\n */\n\nfunction Ripple(props) {\n var classes = props.classes,\n _props$pulsate = props.pulsate,\n pulsate = _props$pulsate === void 0 ? false : _props$pulsate,\n rippleX = props.rippleX,\n rippleY = props.rippleY,\n rippleSize = props.rippleSize,\n inProp = props.in,\n _props$onExited = props.onExited,\n onExited = _props$onExited === void 0 ? function () {} : _props$onExited,\n timeout = props.timeout;\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__.useState(false),\n leaving = _React$useState[0],\n setLeaving = _React$useState[1];\n\n var rippleClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n var rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n var childClassName = (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n var handleExited = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(onExited); // Ripple is used for user feedback (e.g. click or press) so we want to apply styles with the highest priority\n\n useEnhancedEffect(function () {\n if (!inProp) {\n // react-transition-group#onExit\n setLeaving(true); // react-transition-group#onExited\n\n var timeoutId = setTimeout(handleExited, timeout);\n return function () {\n clearTimeout(timeoutId);\n };\n }\n\n return undefined;\n }, [handleExited, inProp, timeout]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", {\n className: rippleClassName,\n style: rippleStyles\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\", {\n className: childClassName\n }));\n}\n\n true ? Ripple.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired),\n\n /**\n * @ignore - injected from TransitionGroup\n */\n in: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * @ignore - injected from TransitionGroup\n */\n onExited: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * Diameter of the ripple.\n */\n rippleSize: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n\n /**\n * Vertical position of the ripple center.\n */\n rippleY: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number),\n\n /**\n * exit delay\n */\n timeout: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number.isRequired)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Ripple);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js?");
7387
7387
 
7388
7388
  /***/ }),
7389
7389
 
@@ -7394,7 +7394,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7394
7394
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7395
7395
 
7396
7396
  "use strict";
7397
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DELAY_RIPPLE\": () => (/* binding */ DELAY_RIPPLE),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-transition-group */ \"./node_modules/react-transition-group/esm/TransitionGroup.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _Ripple__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Ripple */ \"./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js\");\n\n\n\n\n\n\n\n\n\nvar DURATION = 550;\nvar DELAY_RIPPLE = 80;\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n },\n\n /* Styles applied to the internal `Ripple` components `ripple` class. */\n ripple: {\n opacity: 0,\n position: 'absolute'\n },\n\n /* Styles applied to the internal `Ripple` components `rippleVisible` class. */\n rippleVisible: {\n opacity: 0.3,\n transform: 'scale(1)',\n animation: \"$enter \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `ripplePulsate` class. */\n ripplePulsate: {\n animationDuration: \"\".concat(theme.transitions.duration.shorter, \"ms\")\n },\n\n /* Styles applied to the internal `Ripple` components `child` class. */\n child: {\n opacity: 1,\n display: 'block',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n backgroundColor: 'currentColor'\n },\n\n /* Styles applied to the internal `Ripple` components `childLeaving` class. */\n childLeaving: {\n opacity: 0,\n animation: \"$exit \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `childPulsate` class. */\n childPulsate: {\n position: 'absolute',\n left: 0,\n top: 0,\n animation: \"$pulsate 2500ms \".concat(theme.transitions.easing.easeInOut, \" 200ms infinite\")\n },\n '@keyframes enter': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.1\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.3\n }\n },\n '@keyframes exit': {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n },\n '@keyframes pulsate': {\n '0%': {\n transform: 'scale(1)'\n },\n '50%': {\n transform: 'scale(0.92)'\n },\n '100%': {\n transform: 'scale(1)'\n }\n }\n };\n};\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\n\nvar TouchRipple = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function TouchRipple(props, ref) {\n var _props$center = props.center,\n centerProp = _props$center === void 0 ? false : _props$center,\n classes = props.classes,\n className = props.className,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"center\", \"classes\", \"className\"]);\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_3__.useState([]),\n ripples = _React$useState[0],\n setRipples = _React$useState[1];\n\n var nextKey = react__WEBPACK_IMPORTED_MODULE_3__.useRef(0);\n var rippleCallback = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n react__WEBPACK_IMPORTED_MODULE_3__.useEffect(function () {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]); // Used to filter out mouse emulated events on mobile.\n\n var ignoringMouseDown = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n\n var startTimer = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null); // This is the hook called once the previous timeout is ready.\n\n var startTimerCommit = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n var container = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n react__WEBPACK_IMPORTED_MODULE_3__.useEffect(function () {\n return function () {\n clearTimeout(startTimer.current);\n };\n }, []);\n var startCommit = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function (params) {\n var pulsate = params.pulsate,\n rippleX = params.rippleX,\n rippleY = params.rippleY,\n rippleSize = params.rippleSize,\n cb = params.cb;\n setRipples(function (oldRipples) {\n return [].concat((0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(oldRipples), [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_Ripple__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n key: nextKey.current,\n classes: classes,\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n })]);\n });\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n var start = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function () {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var _options$pulsate = options.pulsate,\n pulsate = _options$pulsate === void 0 ? false : _options$pulsate,\n _options$center = options.center,\n center = _options$center === void 0 ? centerProp || options.pulsate : _options$center,\n _options$fakeElement = options.fakeElement,\n fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement;\n\n if (event.type === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n\n if (event.type === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n\n var element = fakeElement ? null : container.current;\n var rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n }; // Get the size of the ripple\n\n var rippleX;\n var rippleY;\n var rippleSize;\n\n if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n var _ref = event.touches ? event.touches[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n\n if (center) {\n rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even.\n\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2));\n } // Touche devices\n\n\n if (event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = function () {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }; // Delay the execution of the ripple effect.\n\n\n startTimer.current = setTimeout(function () {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n }, DELAY_RIPPLE); // We have to make a tradeoff with this value.\n }\n } else {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }\n }, [centerProp, startCommit]);\n var pulsate = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function () {\n start({}, {\n pulsate: true\n });\n }, [start]);\n var stop = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function (event, cb) {\n clearTimeout(startTimer.current); // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n\n if (event.type === 'touchend' && startTimerCommit.current) {\n event.persist();\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.current = setTimeout(function () {\n stop(event, cb);\n });\n return;\n }\n\n startTimerCommit.current = null;\n setRipples(function (oldRipples) {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, []);\n react__WEBPACK_IMPORTED_MODULE_3__.useImperativeHandle(ref, function () {\n return {\n pulsate: pulsate,\n start: start,\n stop: stop\n };\n }, [pulsate, start, stop]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"span\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.root, className),\n ref: container\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(react_transition_group__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n component: null,\n exit: true\n }, ripples));\n});\n true ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(styles, {\n flip: false,\n name: 'MuiTouchRipple'\n})( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.memo(TouchRipple)));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js?");
7397
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"DELAY_RIPPLE\": () => (/* binding */ DELAY_RIPPLE),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-transition-group */ \"./node_modules/react-transition-group/esm/TransitionGroup.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _Ripple__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Ripple */ \"./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js\");\n\n\n\n\n\n\n\n\n\nvar DURATION = 550;\nvar DELAY_RIPPLE = 80;\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n },\n\n /* Styles applied to the internal `Ripple` components `ripple` class. */\n ripple: {\n opacity: 0,\n position: 'absolute'\n },\n\n /* Styles applied to the internal `Ripple` components `rippleVisible` class. */\n rippleVisible: {\n opacity: 0.3,\n transform: 'scale(1)',\n animation: \"$enter \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `ripplePulsate` class. */\n ripplePulsate: {\n animationDuration: \"\".concat(theme.transitions.duration.shorter, \"ms\")\n },\n\n /* Styles applied to the internal `Ripple` components `child` class. */\n child: {\n opacity: 1,\n display: 'block',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n backgroundColor: 'currentColor'\n },\n\n /* Styles applied to the internal `Ripple` components `childLeaving` class. */\n childLeaving: {\n opacity: 0,\n animation: \"$exit \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n\n /* Styles applied to the internal `Ripple` components `childPulsate` class. */\n childPulsate: {\n position: 'absolute',\n left: 0,\n top: 0,\n animation: \"$pulsate 2500ms \".concat(theme.transitions.easing.easeInOut, \" 200ms infinite\")\n },\n '@keyframes enter': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.1\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.3\n }\n },\n '@keyframes exit': {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n },\n '@keyframes pulsate': {\n '0%': {\n transform: 'scale(1)'\n },\n '50%': {\n transform: 'scale(0.92)'\n },\n '100%': {\n transform: 'scale(1)'\n }\n }\n };\n};\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\n\nvar TouchRipple = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function TouchRipple(props, ref) {\n var _props$center = props.center,\n centerProp = _props$center === void 0 ? false : _props$center,\n classes = props.classes,\n className = props.className,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"center\", \"classes\", \"className\"]);\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_3__.useState([]),\n ripples = _React$useState[0],\n setRipples = _React$useState[1];\n\n var nextKey = react__WEBPACK_IMPORTED_MODULE_3__.useRef(0);\n var rippleCallback = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n react__WEBPACK_IMPORTED_MODULE_3__.useEffect(function () {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]); // Used to filter out mouse emulated events on mobile.\n\n var ignoringMouseDown = react__WEBPACK_IMPORTED_MODULE_3__.useRef(false); // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n\n var startTimer = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null); // This is the hook called once the previous timeout is ready.\n\n var startTimerCommit = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n var container = react__WEBPACK_IMPORTED_MODULE_3__.useRef(null);\n react__WEBPACK_IMPORTED_MODULE_3__.useEffect(function () {\n return function () {\n clearTimeout(startTimer.current);\n };\n }, []);\n var startCommit = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function (params) {\n var pulsate = params.pulsate,\n rippleX = params.rippleX,\n rippleY = params.rippleY,\n rippleSize = params.rippleSize,\n cb = params.cb;\n setRipples(function (oldRipples) {\n return [].concat((0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(oldRipples), [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_Ripple__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n key: nextKey.current,\n classes: classes,\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n })]);\n });\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n var start = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function () {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var _options$pulsate = options.pulsate,\n pulsate = _options$pulsate === void 0 ? false : _options$pulsate,\n _options$center = options.center,\n center = _options$center === void 0 ? centerProp || options.pulsate : _options$center,\n _options$fakeElement = options.fakeElement,\n fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement;\n\n if (event.type === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n\n if (event.type === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n\n var element = fakeElement ? null : container.current;\n var rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n }; // Get the size of the ripple\n\n var rippleX;\n var rippleY;\n var rippleSize;\n\n if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n var _ref = event.touches ? event.touches[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n\n if (center) {\n rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even.\n\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2));\n } // Touche devices\n\n\n if (event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = function () {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }; // Delay the execution of the ripple effect.\n\n\n startTimer.current = setTimeout(function () {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n }, DELAY_RIPPLE); // We have to make a tradeoff with this value.\n }\n } else {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }\n }, [centerProp, startCommit]);\n var pulsate = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function () {\n start({}, {\n pulsate: true\n });\n }, [start]);\n var stop = react__WEBPACK_IMPORTED_MODULE_3__.useCallback(function (event, cb) {\n clearTimeout(startTimer.current); // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n\n if (event.type === 'touchend' && startTimerCommit.current) {\n event.persist();\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.current = setTimeout(function () {\n stop(event, cb);\n });\n return;\n }\n\n startTimerCommit.current = null;\n setRipples(function (oldRipples) {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, []);\n react__WEBPACK_IMPORTED_MODULE_3__.useImperativeHandle(ref, function () {\n return {\n pulsate: pulsate,\n start: start,\n stop: stop\n };\n }, [pulsate, start, stop]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"span\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className),\n ref: container\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(react_transition_group__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n component: null,\n exit: true\n }, ripples));\n});\n true ? TouchRipple.propTypes = {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(styles, {\n flip: false,\n name: 'MuiTouchRipple'\n})( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.memo(TouchRipple)));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js?");
7398
7398
 
7399
7399
  /***/ }),
7400
7400
 
@@ -7427,7 +7427,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7427
7427
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7428
7428
 
7429
7429
  "use strict";
7430
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _FormControl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../FormControl */ \"./node_modules/@material-ui/core/esm/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _Typography__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Typography */ \"./node_modules/@material-ui/core/esm/Typography/Typography.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n '&$disabled': {\n cursor: 'default'\n }\n },\n\n /* Styles applied to the root element if `labelPlacement=\"start\"`. */\n labelPlacementStart: {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n },\n\n /* Styles applied to the root element if `labelPlacement=\"top\"`. */\n labelPlacementTop: {\n flexDirection: 'column-reverse',\n marginLeft: 16\n },\n\n /* Styles applied to the root element if `labelPlacement=\"bottom\"`. */\n labelPlacementBottom: {\n flexDirection: 'column',\n marginLeft: 16\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the label's Typography component. */\n label: {\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n }\n };\n};\n/**\n * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\n\nvar FormControlLabel = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormControlLabel(props, ref) {\n var checked = props.checked,\n classes = props.classes,\n className = props.className,\n control = props.control,\n disabledProp = props.disabled,\n inputRef = props.inputRef,\n label = props.label,\n _props$labelPlacement = props.labelPlacement,\n labelPlacement = _props$labelPlacement === void 0 ? 'end' : _props$labelPlacement,\n name = props.name,\n onChange = props.onChange,\n value = props.value,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"checked\", \"classes\", \"className\", \"control\", \"disabled\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"value\"]);\n\n var muiFormControl = (0,_FormControl__WEBPACK_IMPORTED_MODULE_5__[\"default\"])();\n var disabled = disabledProp;\n\n if (typeof disabled === 'undefined' && typeof control.props.disabled !== 'undefined') {\n disabled = control.props.disabled;\n }\n\n if (typeof disabled === 'undefined' && muiFormControl) {\n disabled = muiFormControl.disabled;\n }\n\n var controlProps = {\n disabled: disabled\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(function (key) {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"label\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, labelPlacement !== 'end' && classes[\"labelPlacement\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(labelPlacement))], disabled && classes.disabled),\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(control, controlProps), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_Typography__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n component: \"span\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.label, disabled && classes.disabled)\n }, label));\n});\n true ? FormControlLabel.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component appears selected.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().element.isRequired),\n\n /**\n * If `true`, the control will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n\n /**\n * The text to be used in an enclosing label element.\n */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * The position of the label.\n */\n labelPlacement: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['bottom', 'end', 'start', 'top']),\n\n /**\n * @ignore\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * The value of the component.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiFormControlLabel'\n})(FormControlLabel));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/FormControlLabel/FormControlLabel.js?");
7430
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _FormControl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../FormControl */ \"./node_modules/@material-ui/core/esm/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _Typography__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Typography */ \"./node_modules/@material-ui/core/esm/Typography/Typography.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n '&$disabled': {\n cursor: 'default'\n }\n },\n\n /* Styles applied to the root element if `labelPlacement=\"start\"`. */\n labelPlacementStart: {\n flexDirection: 'row-reverse',\n marginLeft: 16,\n // used for row presentation of radio/checkbox\n marginRight: -11\n },\n\n /* Styles applied to the root element if `labelPlacement=\"top\"`. */\n labelPlacementTop: {\n flexDirection: 'column-reverse',\n marginLeft: 16\n },\n\n /* Styles applied to the root element if `labelPlacement=\"bottom\"`. */\n labelPlacementBottom: {\n flexDirection: 'column',\n marginLeft: 16\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the label's Typography component. */\n label: {\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n }\n };\n};\n/**\n * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\n\nvar FormControlLabel = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormControlLabel(props, ref) {\n var checked = props.checked,\n classes = props.classes,\n className = props.className,\n control = props.control,\n disabledProp = props.disabled,\n inputRef = props.inputRef,\n label = props.label,\n _props$labelPlacement = props.labelPlacement,\n labelPlacement = _props$labelPlacement === void 0 ? 'end' : _props$labelPlacement,\n name = props.name,\n onChange = props.onChange,\n value = props.value,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"checked\", \"classes\", \"className\", \"control\", \"disabled\", \"inputRef\", \"label\", \"labelPlacement\", \"name\", \"onChange\", \"value\"]);\n\n var muiFormControl = (0,_FormControl__WEBPACK_IMPORTED_MODULE_4__[\"default\"])();\n var disabled = disabledProp;\n\n if (typeof disabled === 'undefined' && typeof control.props.disabled !== 'undefined') {\n disabled = control.props.disabled;\n }\n\n if (typeof disabled === 'undefined' && muiFormControl) {\n disabled = muiFormControl.disabled;\n }\n\n var controlProps = {\n disabled: disabled\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(function (key) {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"label\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className, labelPlacement !== 'end' && classes[\"labelPlacement\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(labelPlacement))], disabled && classes.disabled),\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(control, controlProps), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_Typography__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n component: \"span\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.label, disabled && classes.disabled)\n }, label));\n});\n true ? FormControlLabel.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component appears selected.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string),\n\n /**\n * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().element.isRequired),\n\n /**\n * If `true`, the control will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n\n /**\n * The text to be used in an enclosing label element.\n */\n label: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().node),\n\n /**\n * The position of the label.\n */\n labelPlacement: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOf(['bottom', 'end', 'start', 'top']),\n\n /**\n * @ignore\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string),\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func),\n\n /**\n * The value of the component.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiFormControlLabel'\n})(FormControlLabel));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/FormControlLabel/FormControlLabel.js?");
7431
7431
 
7432
7432
  /***/ }),
7433
7433
 
@@ -7438,7 +7438,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7438
7438
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7439
7439
 
7440
7440
  "use strict";
7441
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _ButtonBase__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../ButtonBase */ \"./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 12,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE 11.\n color: theme.palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n backgroundColor: 'transparent',\n color: theme.palette.action.disabled\n }\n },\n\n /* Styles applied to the root element if `edge=\"start\"`. */\n edgeStart: {\n marginLeft: -12,\n '$sizeSmall&': {\n marginLeft: -3\n }\n },\n\n /* Styles applied to the root element if `edge=\"end\"`. */\n edgeEnd: {\n marginRight: -12,\n '$sizeSmall&': {\n marginRight: -3\n }\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n padding: 3,\n fontSize: theme.typography.pxToRem(18)\n },\n\n /* Styles applied to the children container element. */\n label: {\n width: '100%',\n display: 'flex',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n }\n };\n};\n/**\n * Refer to the [Icons](/components/icons/) section of the documentation\n * regarding the available icon options.\n */\n\nvar IconButton = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function IconButton(props, ref) {\n var _props$edge = props.edge,\n edge = _props$edge === void 0 ? false : _props$edge,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'default' : _props$color,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableFocusRi = props.disableFocusRipple,\n disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"edge\", \"children\", \"classes\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_ButtonBase__WEBPACK_IMPORTED_MODULE_6__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, color !== 'default' && classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(color))], disabled && classes.disabled, size === \"small\" && classes[\"size\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(size))], {\n 'start': classes.edgeStart,\n 'end': classes.edgeEnd\n }[edge]),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.label\n }, children));\n});\n true ? IconButton.propTypes = {\n /**\n * The icon element.\n */\n children: (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_3___default().node), function (props) {\n var found = react__WEBPACK_IMPORTED_MODULE_2__.Children.toArray(props.children).some(function (child) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.isValidElement(child) && child.props.onClick;\n });\n\n if (found) {\n return new Error(['Material-UI: You are providing an onClick event listener ' + 'to a child of a button element.', 'Firefox will never trigger the event.', 'You should move the onClick listener to the parent button element.', 'https://github.com/mui-org/material-ui/issues/13957'].join('\\n'));\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n */\n disableFocusRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n */\n edge: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['start', 'end', false]),\n\n /**\n * The size of the button.\n * `small` is equivalent to the dense button styling.\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['small', 'medium'])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiIconButton'\n})(IconButton));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/IconButton/IconButton.js?");
7441
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _ButtonBase__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ButtonBase */ \"./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 12,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE 11.\n color: theme.palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n backgroundColor: 'transparent',\n color: theme.palette.action.disabled\n }\n },\n\n /* Styles applied to the root element if `edge=\"start\"`. */\n edgeStart: {\n marginLeft: -12,\n '$sizeSmall&': {\n marginLeft: -3\n }\n },\n\n /* Styles applied to the root element if `edge=\"end\"`. */\n edgeEnd: {\n marginRight: -12,\n '$sizeSmall&': {\n marginRight: -3\n }\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n padding: 3,\n fontSize: theme.typography.pxToRem(18)\n },\n\n /* Styles applied to the children container element. */\n label: {\n width: '100%',\n display: 'flex',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n }\n };\n};\n/**\n * Refer to the [Icons](/components/icons/) section of the documentation\n * regarding the available icon options.\n */\n\nvar IconButton = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function IconButton(props, ref) {\n var _props$edge = props.edge,\n edge = _props$edge === void 0 ? false : _props$edge,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'default' : _props$color,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableFocusRi = props.disableFocusRipple,\n disableFocusRipple = _props$disableFocusRi === void 0 ? false : _props$disableFocusRi,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"edge\", \"children\", \"classes\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_ButtonBase__WEBPACK_IMPORTED_MODULE_5__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className, color !== 'default' && classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(color))], disabled && classes.disabled, size === \"small\" && classes[\"size\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(size))], {\n 'start': classes.edgeStart,\n 'end': classes.edgeEnd\n }[edge]),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.label\n }, children));\n});\n true ? IconButton.propTypes = {\n /**\n * The icon element.\n */\n children: (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_7__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_8___default().node), function (props) {\n var found = react__WEBPACK_IMPORTED_MODULE_2__.Children.toArray(props.children).some(function (child) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.isValidElement(child) && child.props.onClick;\n });\n\n if (found) {\n return new Error(['Material-UI: You are providing an onClick event listener ' + 'to a child of a button element.', 'Firefox will never trigger the event.', 'You should move the onClick listener to the parent button element.', 'https://github.com/mui-org/material-ui/issues/13957'].join('\\n'));\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n */\n disableFocusRipple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n */\n edge: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['start', 'end', false]),\n\n /**\n * The size of the button.\n * `small` is equivalent to the dense button styling.\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['small', 'medium'])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiIconButton'\n})(IconButton));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/IconButton/IconButton.js?");
7442
7442
 
7443
7443
  /***/ }),
7444
7444
 
@@ -7449,7 +7449,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7449
7449
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7450
7450
 
7451
7451
  "use strict";
7452
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useTheme */ \"./node_modules/@material-ui/core/esm/styles/useTheme.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/useIsFocusVisible */ \"./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js\");\n/* harmony import */ var _utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/ownerDocument */ \"./node_modules/@material-ui/core/esm/utils/ownerDocument.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@material-ui/core/esm/utils/useForkRef.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n/* harmony import */ var _utils_useControlled__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/useControlled */ \"./node_modules/@material-ui/core/esm/utils/useControlled.js\");\n/* harmony import */ var _ValueLabel__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ValueLabel */ \"./node_modules/@material-ui/core/esm/Slider/ValueLabel.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction asc(a, b) {\n return a - b;\n}\n\nfunction clamp(value, min, max) {\n return Math.min(Math.max(min, value), max);\n}\n\nfunction findClosest(values, currentValue) {\n var _values$reduce = values.reduce(function (acc, value, index) {\n var distance = Math.abs(currentValue - value);\n\n if (acc === null || distance < acc.distance || distance === acc.distance) {\n return {\n distance: distance,\n index: index\n };\n }\n\n return acc;\n }, null),\n closestIndex = _values$reduce.index;\n\n return closestIndex;\n}\n\nfunction trackFinger(event, touchId) {\n if (touchId.current !== undefined && event.changedTouches) {\n for (var i = 0; i < event.changedTouches.length; i += 1) {\n var touch = event.changedTouches[i];\n\n if (touch.identifier === touchId.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n\n return false;\n }\n\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\n\nfunction valueToPercent(value, min, max) {\n return (value - min) * 100 / (max - min);\n}\n\nfunction percentToValue(percent, min, max) {\n return (max - min) * percent + min;\n}\n\nfunction getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n var parts = num.toExponential().split('e-');\n var matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);\n }\n\n var decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\n\nfunction roundValueToStep(value, step, min) {\n var nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}\n\nfunction setValueIndex(_ref) {\n var values = _ref.values,\n source = _ref.source,\n newValue = _ref.newValue,\n index = _ref.index;\n\n // Performance shortcut\n if (values[index] === newValue) {\n return source;\n }\n\n var output = values.slice();\n output[index] = newValue;\n return output;\n}\n\nfunction focusThumb(_ref2) {\n var sliderRef = _ref2.sliderRef,\n activeIndex = _ref2.activeIndex,\n setActive = _ref2.setActive;\n\n if (!sliderRef.current.contains(document.activeElement) || Number(document.activeElement.getAttribute('data-index')) !== activeIndex) {\n sliderRef.current.querySelector(\"[role=\\\"slider\\\"][data-index=\\\"\".concat(activeIndex, \"\\\"]\")).focus();\n }\n\n if (setActive) {\n setActive(activeIndex);\n }\n}\n\nvar axisProps = {\n horizontal: {\n offset: function offset(percent) {\n return {\n left: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n 'horizontal-reverse': {\n offset: function offset(percent) {\n return {\n right: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n vertical: {\n offset: function offset(percent) {\n return {\n bottom: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n height: \"\".concat(percent, \"%\")\n };\n }\n }\n};\n\nvar Identity = function Identity(x) {\n return x;\n};\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n height: 2,\n width: '100%',\n boxSizing: 'content-box',\n padding: '13px 0',\n display: 'inline-block',\n position: 'relative',\n cursor: 'pointer',\n touchAction: 'none',\n color: theme.palette.primary.main,\n WebkitTapHighlightColor: 'transparent',\n '&$disabled': {\n pointerEvents: 'none',\n cursor: 'default',\n color: theme.palette.grey[400]\n },\n '&$vertical': {\n width: 2,\n height: '100%',\n padding: '0 13px'\n },\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '20px 0',\n '&$vertical': {\n padding: '0 20px'\n }\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {// TODO v5: move the style here\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `marks` is provided with at least one label. */\n marked: {\n marginBottom: 20,\n '&$vertical': {\n marginBottom: 'auto',\n marginRight: 20\n }\n },\n\n /* Pseudo-class applied to the root element if `orientation=\"vertical\"`. */\n vertical: {},\n\n /* Pseudo-class applied to the root and thumb element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the rail element. */\n rail: {\n display: 'block',\n position: 'absolute',\n width: '100%',\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n opacity: 0.38,\n '$vertical &': {\n height: '100%',\n width: 2\n }\n },\n\n /* Styles applied to the track element. */\n track: {\n display: 'block',\n position: 'absolute',\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n '$vertical &': {\n width: 2\n }\n },\n\n /* Styles applied to the track element if `track={false}`. */\n trackFalse: {\n '& $track': {\n display: 'none'\n }\n },\n\n /* Styles applied to the track element if `track=\"inverted\"`. */\n trackInverted: {\n '& $track': {\n backgroundColor: // Same logic as the LinearProgress track color\n theme.palette.type === 'light' ? (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.lighten)(theme.palette.primary.main, 0.62) : (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.darken)(theme.palette.primary.main, 0.5)\n },\n '& $rail': {\n opacity: 1\n }\n },\n\n /* Styles applied to the thumb element. */\n thumb: {\n position: 'absolute',\n width: 12,\n height: 12,\n marginLeft: -6,\n marginTop: -5,\n boxSizing: 'border-box',\n borderRadius: '50%',\n outline: 0,\n backgroundColor: 'currentColor',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: theme.transitions.create(['box-shadow'], {\n duration: theme.transitions.duration.shortest\n }),\n '&::after': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: '50%',\n // reach 42px hit target (2 * 15 + thumb diameter)\n left: -15,\n top: -15,\n right: -15,\n bottom: -15\n },\n '&$focusVisible,&:hover': {\n boxShadow: \"0px 0px 0px 8px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.alpha)(theme.palette.primary.main, 0.16)),\n '@media (hover: none)': {\n boxShadow: 'none'\n }\n },\n '&$active': {\n boxShadow: \"0px 0px 0px 14px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.alpha)(theme.palette.primary.main, 0.16))\n },\n '&$disabled': {\n width: 8,\n height: 8,\n marginLeft: -4,\n marginTop: -3,\n '&:hover': {\n boxShadow: 'none'\n }\n },\n '$vertical &': {\n marginLeft: -5,\n marginBottom: -6\n },\n '$vertical &$disabled': {\n marginLeft: -3,\n marginBottom: -4\n }\n },\n\n /* Styles applied to the thumb element if `color=\"primary\"`. */\n thumbColorPrimary: {// TODO v5: move the style here\n },\n\n /* Styles applied to the thumb element if `color=\"secondary\"`. */\n thumbColorSecondary: {\n '&$focusVisible,&:hover': {\n boxShadow: \"0px 0px 0px 8px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.alpha)(theme.palette.secondary.main, 0.16))\n },\n '&$active': {\n boxShadow: \"0px 0px 0px 14px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_7__.alpha)(theme.palette.secondary.main, 0.16))\n }\n },\n\n /* Pseudo-class applied to the thumb element if it's active. */\n active: {},\n\n /* Pseudo-class applied to the thumb element if keyboard focused. */\n focusVisible: {},\n\n /* Styles applied to the thumb label element. */\n valueLabel: {\n // IE 11 centering bug, to remove from the customization demos once no longer supported\n left: 'calc(-50% - 4px)'\n },\n\n /* Styles applied to the mark element. */\n mark: {\n position: 'absolute',\n width: 2,\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor'\n },\n\n /* Styles applied to the mark element if active (depending on the value). */\n markActive: {\n backgroundColor: theme.palette.background.paper,\n opacity: 0.8\n },\n\n /* Styles applied to the mark label element. */\n markLabel: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, theme.typography.body2, {\n color: theme.palette.text.secondary,\n position: 'absolute',\n top: 26,\n transform: 'translateX(-50%)',\n whiteSpace: 'nowrap',\n '$vertical &': {\n top: 'auto',\n left: 26,\n transform: 'translateY(50%)'\n },\n '@media (pointer: coarse)': {\n top: 40,\n '$vertical &': {\n left: 31\n }\n }\n }),\n\n /* Styles applied to the mark label element if active (depending on the value). */\n markLabelActive: {\n color: theme.palette.text.primary\n }\n };\n};\nvar Slider = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.forwardRef(function Slider(props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'primary' : _props$color,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'span' : _props$component,\n defaultValue = props.defaultValue,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n getAriaLabel = props.getAriaLabel,\n getAriaValueText = props.getAriaValueText,\n _props$marks = props.marks,\n marksProp = _props$marks === void 0 ? false : _props$marks,\n _props$max = props.max,\n max = _props$max === void 0 ? 100 : _props$max,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n name = props.name,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n onMouseDown = props.onMouseDown,\n _props$orientation = props.orientation,\n orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,\n _props$scale = props.scale,\n scale = _props$scale === void 0 ? Identity : _props$scale,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$ThumbComponent = props.ThumbComponent,\n ThumbComponent = _props$ThumbComponent === void 0 ? 'span' : _props$ThumbComponent,\n _props$track = props.track,\n track = _props$track === void 0 ? 'normal' : _props$track,\n valueProp = props.value,\n _props$ValueLabelComp = props.ValueLabelComponent,\n ValueLabelComponent = _props$ValueLabelComp === void 0 ? _ValueLabel__WEBPACK_IMPORTED_MODULE_8__[\"default\"] : _props$ValueLabelComp,\n _props$valueLabelDisp = props.valueLabelDisplay,\n valueLabelDisplay = _props$valueLabelDisp === void 0 ? 'off' : _props$valueLabelDisp,\n _props$valueLabelForm = props.valueLabelFormat,\n valueLabelFormat = _props$valueLabelForm === void 0 ? Identity : _props$valueLabelForm,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"classes\", \"className\", \"color\", \"component\", \"defaultValue\", \"disabled\", \"getAriaLabel\", \"getAriaValueText\", \"marks\", \"max\", \"min\", \"name\", \"onChange\", \"onChangeCommitted\", \"onMouseDown\", \"orientation\", \"scale\", \"step\", \"ThumbComponent\", \"track\", \"value\", \"ValueLabelComponent\", \"valueLabelDisplay\", \"valueLabelFormat\"]);\n\n var theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_9__[\"default\"])();\n var touchId = react__WEBPACK_IMPORTED_MODULE_4__.useRef(); // We can't use the :active browser pseudo-classes.\n // - The active state isn't triggered when clicking on the rail.\n // - The active state isn't transfered when inversing a range slider.\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n active = _React$useState[0],\n setActive = _React$useState[1];\n\n var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n open = _React$useState2[0],\n setOpen = _React$useState2[1];\n\n var _useControlled = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n controlled: valueProp,\n default: defaultValue,\n name: 'Slider'\n }),\n _useControlled2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useControlled, 2),\n valueDerived = _useControlled2[0],\n setValueState = _useControlled2[1];\n\n var range = Array.isArray(valueDerived);\n var values = range ? valueDerived.slice().sort(asc) : [valueDerived];\n values = values.map(function (value) {\n return clamp(value, min, max);\n });\n var marks = marksProp === true && step !== null ? (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Array(Math.floor((max - min) / step) + 1)).map(function (_, index) {\n return {\n value: min + step * index\n };\n }) : marksProp || [];\n\n var _useIsFocusVisible = (0,_utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n focusVisible = _React$useState3[0],\n setFocusVisible = _React$useState3[1];\n\n var sliderRef = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n var handleFocusRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(focusVisibleRef, sliderRef);\n var handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(ref, handleFocusRef);\n var handleFocus = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n\n if (isFocusVisible(event)) {\n setFocusVisible(index);\n }\n\n setOpen(index);\n });\n var handleBlur = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function () {\n if (focusVisible !== -1) {\n setFocusVisible(-1);\n onBlurVisible();\n }\n\n setOpen(-1);\n });\n var handleMouseOver = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n setOpen(index);\n });\n var handleMouseLeave = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function () {\n setOpen(-1);\n });\n var isRtl = theme.direction === 'rtl';\n var handleKeyDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n var value = values[index];\n var tenPercents = (max - min) / 10;\n var marksValues = marks.map(function (mark) {\n return mark.value;\n });\n var marksIndex = marksValues.indexOf(value);\n var newValue;\n var increaseKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n\n switch (event.key) {\n case 'Home':\n newValue = min;\n break;\n\n case 'End':\n newValue = max;\n break;\n\n case 'PageUp':\n if (step) {\n newValue = value + tenPercents;\n }\n\n break;\n\n case 'PageDown':\n if (step) {\n newValue = value - tenPercents;\n }\n\n break;\n\n case increaseKey:\n case 'ArrowUp':\n if (step) {\n newValue = value + step;\n } else {\n newValue = marksValues[marksIndex + 1] || marksValues[marksValues.length - 1];\n }\n\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n if (step) {\n newValue = value - step;\n } else {\n newValue = marksValues[marksIndex - 1] || marksValues[0];\n }\n\n break;\n\n default:\n return;\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n }\n\n newValue = clamp(newValue, min, max);\n\n if (range) {\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values,\n source: valueDerived,\n newValue: newValue,\n index: index\n }).sort(asc);\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: newValue.indexOf(previousValue)\n });\n }\n\n setValueState(newValue);\n setFocusVisible(index);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n });\n var previousIndex = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n var axis = orientation;\n\n if (isRtl && orientation !== \"vertical\") {\n axis += '-reverse';\n }\n\n var getFingerNewValue = function getFingerNewValue(_ref3) {\n var finger = _ref3.finger,\n _ref3$move = _ref3.move,\n move = _ref3$move === void 0 ? false : _ref3$move,\n values2 = _ref3.values,\n source = _ref3.source;\n var slider = sliderRef.current;\n\n var _slider$getBoundingCl = slider.getBoundingClientRect(),\n width = _slider$getBoundingCl.width,\n height = _slider$getBoundingCl.height,\n bottom = _slider$getBoundingCl.bottom,\n left = _slider$getBoundingCl.left;\n\n var percent;\n\n if (axis.indexOf('vertical') === 0) {\n percent = (bottom - finger.y) / height;\n } else {\n percent = (finger.x - left) / width;\n }\n\n if (axis.indexOf('-reverse') !== -1) {\n percent = 1 - percent;\n }\n\n var newValue;\n newValue = percentToValue(percent, min, max);\n\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n } else {\n var marksValues = marks.map(function (mark) {\n return mark.value;\n });\n var closestIndex = findClosest(marksValues, newValue);\n newValue = marksValues[closestIndex];\n }\n\n newValue = clamp(newValue, min, max);\n var activeIndex = 0;\n\n if (range) {\n if (!move) {\n activeIndex = findClosest(values2, newValue);\n } else {\n activeIndex = previousIndex.current;\n }\n\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values2,\n source: source,\n newValue: newValue,\n index: activeIndex\n }).sort(asc);\n activeIndex = newValue.indexOf(previousValue);\n previousIndex.current = activeIndex;\n }\n\n return {\n newValue: newValue,\n activeIndex: activeIndex\n };\n };\n\n var handleTouchMove = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var finger = trackFinger(event, touchId);\n\n if (!finger) {\n return;\n }\n\n var _getFingerNewValue = getFingerNewValue({\n finger: finger,\n move: true,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue.newValue,\n activeIndex = _getFingerNewValue.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n });\n var handleTouchEnd = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n var finger = trackFinger(event, touchId);\n\n if (!finger) {\n return;\n }\n\n var _getFingerNewValue2 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue2.newValue;\n\n setActive(-1);\n\n if (event.type === 'touchend') {\n setOpen(-1);\n }\n\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n\n touchId.current = undefined;\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(sliderRef.current);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n });\n var handleTouchStart = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n // Workaround as Safari has partial support for touchAction: 'none'.\n event.preventDefault();\n var touch = event.changedTouches[0];\n\n if (touch != null) {\n // A number that uniquely identifies the current finger in the touch session.\n touchId.current = touch.identifier;\n }\n\n var finger = trackFinger(event, touchId);\n\n var _getFingerNewValue3 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue3.newValue,\n activeIndex = _getFingerNewValue3.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(sliderRef.current);\n doc.addEventListener('touchmove', handleTouchMove);\n doc.addEventListener('touchend', handleTouchEnd);\n });\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(function () {\n var slider = sliderRef.current;\n slider.addEventListener('touchstart', handleTouchStart);\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(slider);\n return function () {\n slider.removeEventListener('touchstart', handleTouchStart);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n };\n }, [handleTouchEnd, handleTouchMove, handleTouchStart]);\n var handleMouseDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(function (event) {\n if (onMouseDown) {\n onMouseDown(event);\n }\n\n event.preventDefault();\n var finger = trackFinger(event, touchId);\n\n var _getFingerNewValue4 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue4.newValue,\n activeIndex = _getFingerNewValue4.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(sliderRef.current);\n doc.addEventListener('mousemove', handleTouchMove);\n doc.addEventListener('mouseup', handleTouchEnd);\n });\n var trackOffset = valueToPercent(range ? values[0] : min, min, max);\n var trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;\n\n var trackStyle = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, axisProps[axis].offset(trackOffset), axisProps[axis].leap(trackLeap));\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n ref: handleRef,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(classes.root, classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(color))], className, disabled && classes.disabled, marks.length > 0 && marks.some(function (mark) {\n return mark.label;\n }) && classes.marked, track === false && classes.trackFalse, orientation === 'vertical' && classes.vertical, track === 'inverted' && classes.trackInverted),\n onMouseDown: handleMouseDown\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n className: classes.rail\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n className: classes.track,\n style: trackStyle\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"input\", {\n value: values.join(','),\n name: name,\n type: \"hidden\"\n }), marks.map(function (mark, index) {\n var percent = valueToPercent(mark.value, min, max);\n var style = axisProps[axis].offset(percent);\n var markActive;\n\n if (track === false) {\n markActive = values.indexOf(mark.value) !== -1;\n } else {\n markActive = track === 'normal' && (range ? mark.value >= values[0] && mark.value <= values[values.length - 1] : mark.value <= values[0]) || track === 'inverted' && (range ? mark.value <= values[0] || mark.value >= values[values.length - 1] : mark.value >= values[0]);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(react__WEBPACK_IMPORTED_MODULE_4__.Fragment, {\n key: mark.value\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n style: style,\n \"data-index\": index,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(classes.mark, markActive && classes.markActive)\n }), mark.label != null ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n \"aria-hidden\": true,\n \"data-index\": index,\n style: style,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(classes.markLabel, markActive && classes.markLabelActive)\n }, mark.label) : null);\n }), values.map(function (value, index) {\n var percent = valueToPercent(value, min, max);\n var style = axisProps[axis].offset(percent);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(ValueLabelComponent, {\n key: index,\n valueLabelFormat: valueLabelFormat,\n valueLabelDisplay: valueLabelDisplay,\n className: classes.valueLabel,\n value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,\n index: index,\n open: open === index || active === index || valueLabelDisplay === 'on',\n disabled: disabled\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(ThumbComponent, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(classes.thumb, classes[\"thumbColor\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(color))], active === index && classes.active, disabled && classes.disabled, focusVisible === index && classes.focusVisible),\n tabIndex: disabled ? null : 0,\n role: \"slider\",\n style: style,\n \"data-index\": index,\n \"aria-label\": getAriaLabel ? getAriaLabel(index) : ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-orientation\": orientation,\n \"aria-valuemax\": scale(max),\n \"aria-valuemin\": scale(min),\n \"aria-valuenow\": scale(value),\n \"aria-valuetext\": getAriaValueText ? getAriaValueText(scale(value), index) : ariaValuetext,\n onKeyDown: handleKeyDown,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseOver: handleMouseOver,\n onMouseLeave: handleMouseLeave\n }));\n }));\n});\n true ? Slider.propTypes = {\n /**\n * The label of the slider.\n */\n 'aria-label': (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_16__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_5___default().string), function (props) {\n var range = Array.isArray(props.value || props.defaultValue);\n\n if (range && props['aria-label'] != null) {\n return new Error('Material-UI: You need to use the `getAriaLabel` prop instead of `aria-label` when using a range slider.');\n }\n\n return null;\n }),\n\n /**\n * The id of the element containing a label for the slider.\n */\n 'aria-labelledby': (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n\n /**\n * A string value that provides a user-friendly name for the current value of the slider.\n */\n 'aria-valuetext': (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_16__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_5___default().string), function (props) {\n var range = Array.isArray(props.value || props.defaultValue);\n\n if (range && props['aria-valuetext'] != null) {\n return new Error('Material-UI: You need to use the `getAriaValueText` prop instead of `aria-valuetext` when using a range slider.');\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['primary', 'secondary']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().elementType),\n\n /**\n * The default element value. Use when the component is not controlled.\n */\n defaultValue: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().number), prop_types__WEBPACK_IMPORTED_MODULE_5___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_5___default().number))]),\n\n /**\n * If `true`, the slider will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),\n\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the thumb labels of the slider.\n *\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaLabel: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider.\n *\n * @param {number} value The thumb label's value to format.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaValueText: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * Marks indicate predetermined values to which the user can move the slider.\n * If `true` the marks will be spaced according the value of the `step` prop.\n * If an array, it should contain objects with `value` and an optional `label` keys.\n */\n marks: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_5___default().array)]),\n\n /**\n * The maximum allowed value of the slider.\n * Should not be equal to min.\n */\n max: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),\n\n /**\n * The minimum allowed value of the slider.\n * Should not be equal to max.\n */\n min: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),\n\n /**\n * Name attribute of the hidden `input` element.\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n\n /**\n * Callback function that is fired when the slider's value changed.\n *\n * @param {object} event The event source of the callback.\n * @param {number | number[]} value The new value.\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * Callback function that is fired when the `mouseup` is triggered.\n *\n * @param {object} event The event source of the callback.\n * @param {number | number[]} value The new value.\n */\n onChangeCommitted: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * @ignore\n */\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * The slider orientation.\n */\n orientation: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['horizontal', 'vertical']),\n\n /**\n * A transformation function, to change the scale of the slider.\n */\n scale: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func),\n\n /**\n * The granularity with which the slider can step through values. (A \"discrete\" slider.)\n * The `min` prop serves as the origin for the valid values.\n * We recommend (max - min) to be evenly divisible by the step.\n *\n * When step is `null`, the thumb can only be slid onto marks provided with the `marks` prop.\n */\n step: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().number),\n\n /**\n * The component used to display the value label.\n */\n ThumbComponent: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().elementType),\n\n /**\n * The track presentation:\n *\n * - `normal` the track will render a bar representing the slider value.\n * - `inverted` the track will render a bar representing the remaining slider value.\n * - `false` the track will render without a bar.\n */\n track: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['normal', false, 'inverted']),\n\n /**\n * The value of the slider.\n * For ranged sliders, provide an array with two values.\n */\n value: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().number), prop_types__WEBPACK_IMPORTED_MODULE_5___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_5___default().number))]),\n\n /**\n * The value label component.\n */\n ValueLabelComponent: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().elementType),\n\n /**\n * Controls when the value label is displayed:\n *\n * - `auto` the value label will display when the thumb is hovered or focused.\n * - `on` will display persistently.\n * - `off` will never display.\n */\n valueLabelDisplay: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['on', 'auto', 'off']),\n\n /**\n * The format function the value label's value.\n *\n * When a function is provided, it should have the following signature:\n *\n * - {number} value The value label's value to format\n * - {number} index The value label's index to format\n */\n valueLabelFormat: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_5___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_5___default().func)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(styles, {\n name: 'MuiSlider'\n})(Slider));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Slider/Slider.js?");
7452
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_16__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useTheme */ \"./node_modules/@material-ui/core/esm/styles/useTheme.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/useIsFocusVisible */ \"./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js\");\n/* harmony import */ var _utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/ownerDocument */ \"./node_modules/@material-ui/core/esm/utils/ownerDocument.js\");\n/* harmony import */ var _utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/useEventCallback */ \"./node_modules/@material-ui/core/esm/utils/useEventCallback.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@material-ui/core/esm/utils/useForkRef.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n/* harmony import */ var _utils_useControlled__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/useControlled */ \"./node_modules/@material-ui/core/esm/utils/useControlled.js\");\n/* harmony import */ var _ValueLabel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ValueLabel */ \"./node_modules/@material-ui/core/esm/Slider/ValueLabel.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction asc(a, b) {\n return a - b;\n}\n\nfunction clamp(value, min, max) {\n return Math.min(Math.max(min, value), max);\n}\n\nfunction findClosest(values, currentValue) {\n var _values$reduce = values.reduce(function (acc, value, index) {\n var distance = Math.abs(currentValue - value);\n\n if (acc === null || distance < acc.distance || distance === acc.distance) {\n return {\n distance: distance,\n index: index\n };\n }\n\n return acc;\n }, null),\n closestIndex = _values$reduce.index;\n\n return closestIndex;\n}\n\nfunction trackFinger(event, touchId) {\n if (touchId.current !== undefined && event.changedTouches) {\n for (var i = 0; i < event.changedTouches.length; i += 1) {\n var touch = event.changedTouches[i];\n\n if (touch.identifier === touchId.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n\n return false;\n }\n\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\n\nfunction valueToPercent(value, min, max) {\n return (value - min) * 100 / (max - min);\n}\n\nfunction percentToValue(percent, min, max) {\n return (max - min) * percent + min;\n}\n\nfunction getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n var parts = num.toExponential().split('e-');\n var matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);\n }\n\n var decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\n\nfunction roundValueToStep(value, step, min) {\n var nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}\n\nfunction setValueIndex(_ref) {\n var values = _ref.values,\n source = _ref.source,\n newValue = _ref.newValue,\n index = _ref.index;\n\n // Performance shortcut\n if (values[index] === newValue) {\n return source;\n }\n\n var output = values.slice();\n output[index] = newValue;\n return output;\n}\n\nfunction focusThumb(_ref2) {\n var sliderRef = _ref2.sliderRef,\n activeIndex = _ref2.activeIndex,\n setActive = _ref2.setActive;\n\n if (!sliderRef.current.contains(document.activeElement) || Number(document.activeElement.getAttribute('data-index')) !== activeIndex) {\n sliderRef.current.querySelector(\"[role=\\\"slider\\\"][data-index=\\\"\".concat(activeIndex, \"\\\"]\")).focus();\n }\n\n if (setActive) {\n setActive(activeIndex);\n }\n}\n\nvar axisProps = {\n horizontal: {\n offset: function offset(percent) {\n return {\n left: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n 'horizontal-reverse': {\n offset: function offset(percent) {\n return {\n right: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n width: \"\".concat(percent, \"%\")\n };\n }\n },\n vertical: {\n offset: function offset(percent) {\n return {\n bottom: \"\".concat(percent, \"%\")\n };\n },\n leap: function leap(percent) {\n return {\n height: \"\".concat(percent, \"%\")\n };\n }\n }\n};\n\nvar Identity = function Identity(x) {\n return x;\n};\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n height: 2,\n width: '100%',\n boxSizing: 'content-box',\n padding: '13px 0',\n display: 'inline-block',\n position: 'relative',\n cursor: 'pointer',\n touchAction: 'none',\n color: theme.palette.primary.main,\n WebkitTapHighlightColor: 'transparent',\n '&$disabled': {\n pointerEvents: 'none',\n cursor: 'default',\n color: theme.palette.grey[400]\n },\n '&$vertical': {\n width: 2,\n height: '100%',\n padding: '0 13px'\n },\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '20px 0',\n '&$vertical': {\n padding: '0 20px'\n }\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {// TODO v5: move the style here\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `marks` is provided with at least one label. */\n marked: {\n marginBottom: 20,\n '&$vertical': {\n marginBottom: 'auto',\n marginRight: 20\n }\n },\n\n /* Pseudo-class applied to the root element if `orientation=\"vertical\"`. */\n vertical: {},\n\n /* Pseudo-class applied to the root and thumb element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the rail element. */\n rail: {\n display: 'block',\n position: 'absolute',\n width: '100%',\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n opacity: 0.38,\n '$vertical &': {\n height: '100%',\n width: 2\n }\n },\n\n /* Styles applied to the track element. */\n track: {\n display: 'block',\n position: 'absolute',\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n '$vertical &': {\n width: 2\n }\n },\n\n /* Styles applied to the track element if `track={false}`. */\n trackFalse: {\n '& $track': {\n display: 'none'\n }\n },\n\n /* Styles applied to the track element if `track=\"inverted\"`. */\n trackInverted: {\n '& $track': {\n backgroundColor: // Same logic as the LinearProgress track color\n theme.palette.type === 'light' ? (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.lighten)(theme.palette.primary.main, 0.62) : (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.darken)(theme.palette.primary.main, 0.5)\n },\n '& $rail': {\n opacity: 1\n }\n },\n\n /* Styles applied to the thumb element. */\n thumb: {\n position: 'absolute',\n width: 12,\n height: 12,\n marginLeft: -6,\n marginTop: -5,\n boxSizing: 'border-box',\n borderRadius: '50%',\n outline: 0,\n backgroundColor: 'currentColor',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: theme.transitions.create(['box-shadow'], {\n duration: theme.transitions.duration.shortest\n }),\n '&::after': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: '50%',\n // reach 42px hit target (2 * 15 + thumb diameter)\n left: -15,\n top: -15,\n right: -15,\n bottom: -15\n },\n '&$focusVisible,&:hover': {\n boxShadow: \"0px 0px 0px 8px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.alpha)(theme.palette.primary.main, 0.16)),\n '@media (hover: none)': {\n boxShadow: 'none'\n }\n },\n '&$active': {\n boxShadow: \"0px 0px 0px 14px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.alpha)(theme.palette.primary.main, 0.16))\n },\n '&$disabled': {\n width: 8,\n height: 8,\n marginLeft: -4,\n marginTop: -3,\n '&:hover': {\n boxShadow: 'none'\n }\n },\n '$vertical &': {\n marginLeft: -5,\n marginBottom: -6\n },\n '$vertical &$disabled': {\n marginLeft: -3,\n marginBottom: -4\n }\n },\n\n /* Styles applied to the thumb element if `color=\"primary\"`. */\n thumbColorPrimary: {// TODO v5: move the style here\n },\n\n /* Styles applied to the thumb element if `color=\"secondary\"`. */\n thumbColorSecondary: {\n '&$focusVisible,&:hover': {\n boxShadow: \"0px 0px 0px 8px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.alpha)(theme.palette.secondary.main, 0.16))\n },\n '&$active': {\n boxShadow: \"0px 0px 0px 14px \".concat((0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_6__.alpha)(theme.palette.secondary.main, 0.16))\n }\n },\n\n /* Pseudo-class applied to the thumb element if it's active. */\n active: {},\n\n /* Pseudo-class applied to the thumb element if keyboard focused. */\n focusVisible: {},\n\n /* Styles applied to the thumb label element. */\n valueLabel: {\n // IE 11 centering bug, to remove from the customization demos once no longer supported\n left: 'calc(-50% - 4px)'\n },\n\n /* Styles applied to the mark element. */\n mark: {\n position: 'absolute',\n width: 2,\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor'\n },\n\n /* Styles applied to the mark element if active (depending on the value). */\n markActive: {\n backgroundColor: theme.palette.background.paper,\n opacity: 0.8\n },\n\n /* Styles applied to the mark label element. */\n markLabel: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, theme.typography.body2, {\n color: theme.palette.text.secondary,\n position: 'absolute',\n top: 26,\n transform: 'translateX(-50%)',\n whiteSpace: 'nowrap',\n '$vertical &': {\n top: 'auto',\n left: 26,\n transform: 'translateY(50%)'\n },\n '@media (pointer: coarse)': {\n top: 40,\n '$vertical &': {\n left: 31\n }\n }\n }),\n\n /* Styles applied to the mark label element if active (depending on the value). */\n markLabelActive: {\n color: theme.palette.text.primary\n }\n };\n};\nvar Slider = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.forwardRef(function Slider(props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'primary' : _props$color,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'span' : _props$component,\n defaultValue = props.defaultValue,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n getAriaLabel = props.getAriaLabel,\n getAriaValueText = props.getAriaValueText,\n _props$marks = props.marks,\n marksProp = _props$marks === void 0 ? false : _props$marks,\n _props$max = props.max,\n max = _props$max === void 0 ? 100 : _props$max,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n name = props.name,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n onMouseDown = props.onMouseDown,\n _props$orientation = props.orientation,\n orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,\n _props$scale = props.scale,\n scale = _props$scale === void 0 ? Identity : _props$scale,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$ThumbComponent = props.ThumbComponent,\n ThumbComponent = _props$ThumbComponent === void 0 ? 'span' : _props$ThumbComponent,\n _props$track = props.track,\n track = _props$track === void 0 ? 'normal' : _props$track,\n valueProp = props.value,\n _props$ValueLabelComp = props.ValueLabelComponent,\n ValueLabelComponent = _props$ValueLabelComp === void 0 ? _ValueLabel__WEBPACK_IMPORTED_MODULE_7__[\"default\"] : _props$ValueLabelComp,\n _props$valueLabelDisp = props.valueLabelDisplay,\n valueLabelDisplay = _props$valueLabelDisp === void 0 ? 'off' : _props$valueLabelDisp,\n _props$valueLabelForm = props.valueLabelFormat,\n valueLabelFormat = _props$valueLabelForm === void 0 ? Identity : _props$valueLabelForm,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"classes\", \"className\", \"color\", \"component\", \"defaultValue\", \"disabled\", \"getAriaLabel\", \"getAriaValueText\", \"marks\", \"max\", \"min\", \"name\", \"onChange\", \"onChangeCommitted\", \"onMouseDown\", \"orientation\", \"scale\", \"step\", \"ThumbComponent\", \"track\", \"value\", \"ValueLabelComponent\", \"valueLabelDisplay\", \"valueLabelFormat\"]);\n\n var theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_8__[\"default\"])();\n var touchId = react__WEBPACK_IMPORTED_MODULE_4__.useRef(); // We can't use the :active browser pseudo-classes.\n // - The active state isn't triggered when clicking on the rail.\n // - The active state isn't transfered when inversing a range slider.\n\n var _React$useState = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n active = _React$useState[0],\n setActive = _React$useState[1];\n\n var _React$useState2 = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n open = _React$useState2[0],\n setOpen = _React$useState2[1];\n\n var _useControlled = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_9__[\"default\"])({\n controlled: valueProp,\n default: defaultValue,\n name: 'Slider'\n }),\n _useControlled2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useControlled, 2),\n valueDerived = _useControlled2[0],\n setValueState = _useControlled2[1];\n\n var range = Array.isArray(valueDerived);\n var values = range ? valueDerived.slice().sort(asc) : [valueDerived];\n values = values.map(function (value) {\n return clamp(value, min, max);\n });\n var marks = marksProp === true && step !== null ? (0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Array(Math.floor((max - min) / step) + 1)).map(function (_, index) {\n return {\n value: min + step * index\n };\n }) : marksProp || [];\n\n var _useIsFocusVisible = (0,_utils_useIsFocusVisible__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n\n var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_4__.useState(-1),\n focusVisible = _React$useState3[0],\n setFocusVisible = _React$useState3[1];\n\n var sliderRef = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n var handleFocusRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(focusVisibleRef, sliderRef);\n var handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(ref, handleFocusRef);\n var handleFocus = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n\n if (isFocusVisible(event)) {\n setFocusVisible(index);\n }\n\n setOpen(index);\n });\n var handleBlur = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function () {\n if (focusVisible !== -1) {\n setFocusVisible(-1);\n onBlurVisible();\n }\n\n setOpen(-1);\n });\n var handleMouseOver = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n setOpen(index);\n });\n var handleMouseLeave = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function () {\n setOpen(-1);\n });\n var isRtl = theme.direction === 'rtl';\n var handleKeyDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var index = Number(event.currentTarget.getAttribute('data-index'));\n var value = values[index];\n var tenPercents = (max - min) / 10;\n var marksValues = marks.map(function (mark) {\n return mark.value;\n });\n var marksIndex = marksValues.indexOf(value);\n var newValue;\n var increaseKey = isRtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = isRtl ? 'ArrowRight' : 'ArrowLeft';\n\n switch (event.key) {\n case 'Home':\n newValue = min;\n break;\n\n case 'End':\n newValue = max;\n break;\n\n case 'PageUp':\n if (step) {\n newValue = value + tenPercents;\n }\n\n break;\n\n case 'PageDown':\n if (step) {\n newValue = value - tenPercents;\n }\n\n break;\n\n case increaseKey:\n case 'ArrowUp':\n if (step) {\n newValue = value + step;\n } else {\n newValue = marksValues[marksIndex + 1] || marksValues[marksValues.length - 1];\n }\n\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n if (step) {\n newValue = value - step;\n } else {\n newValue = marksValues[marksIndex - 1] || marksValues[0];\n }\n\n break;\n\n default:\n return;\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n }\n\n newValue = clamp(newValue, min, max);\n\n if (range) {\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values,\n source: valueDerived,\n newValue: newValue,\n index: index\n }).sort(asc);\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: newValue.indexOf(previousValue)\n });\n }\n\n setValueState(newValue);\n setFocusVisible(index);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n });\n var previousIndex = react__WEBPACK_IMPORTED_MODULE_4__.useRef();\n var axis = orientation;\n\n if (isRtl && orientation !== \"vertical\") {\n axis += '-reverse';\n }\n\n var getFingerNewValue = function getFingerNewValue(_ref3) {\n var finger = _ref3.finger,\n _ref3$move = _ref3.move,\n move = _ref3$move === void 0 ? false : _ref3$move,\n values2 = _ref3.values,\n source = _ref3.source;\n var slider = sliderRef.current;\n\n var _slider$getBoundingCl = slider.getBoundingClientRect(),\n width = _slider$getBoundingCl.width,\n height = _slider$getBoundingCl.height,\n bottom = _slider$getBoundingCl.bottom,\n left = _slider$getBoundingCl.left;\n\n var percent;\n\n if (axis.indexOf('vertical') === 0) {\n percent = (bottom - finger.y) / height;\n } else {\n percent = (finger.x - left) / width;\n }\n\n if (axis.indexOf('-reverse') !== -1) {\n percent = 1 - percent;\n }\n\n var newValue;\n newValue = percentToValue(percent, min, max);\n\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n } else {\n var marksValues = marks.map(function (mark) {\n return mark.value;\n });\n var closestIndex = findClosest(marksValues, newValue);\n newValue = marksValues[closestIndex];\n }\n\n newValue = clamp(newValue, min, max);\n var activeIndex = 0;\n\n if (range) {\n if (!move) {\n activeIndex = findClosest(values2, newValue);\n } else {\n activeIndex = previousIndex.current;\n }\n\n var previousValue = newValue;\n newValue = setValueIndex({\n values: values2,\n source: source,\n newValue: newValue,\n index: activeIndex\n }).sort(asc);\n activeIndex = newValue.indexOf(previousValue);\n previousIndex.current = activeIndex;\n }\n\n return {\n newValue: newValue,\n activeIndex: activeIndex\n };\n };\n\n var handleTouchMove = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var finger = trackFinger(event, touchId);\n\n if (!finger) {\n return;\n }\n\n var _getFingerNewValue = getFingerNewValue({\n finger: finger,\n move: true,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue.newValue,\n activeIndex = _getFingerNewValue.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n });\n var handleTouchEnd = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n var finger = trackFinger(event, touchId);\n\n if (!finger) {\n return;\n }\n\n var _getFingerNewValue2 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue2.newValue;\n\n setActive(-1);\n\n if (event.type === 'touchend') {\n setOpen(-1);\n }\n\n if (onChangeCommitted) {\n onChangeCommitted(event, newValue);\n }\n\n touchId.current = undefined;\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(sliderRef.current);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n });\n var handleTouchStart = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n // Workaround as Safari has partial support for touchAction: 'none'.\n event.preventDefault();\n var touch = event.changedTouches[0];\n\n if (touch != null) {\n // A number that uniquely identifies the current finger in the touch session.\n touchId.current = touch.identifier;\n }\n\n var finger = trackFinger(event, touchId);\n\n var _getFingerNewValue3 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue3.newValue,\n activeIndex = _getFingerNewValue3.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(sliderRef.current);\n doc.addEventListener('touchmove', handleTouchMove);\n doc.addEventListener('touchend', handleTouchEnd);\n });\n react__WEBPACK_IMPORTED_MODULE_4__.useEffect(function () {\n var slider = sliderRef.current;\n slider.addEventListener('touchstart', handleTouchStart);\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(slider);\n return function () {\n slider.removeEventListener('touchstart', handleTouchStart);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n };\n }, [handleTouchEnd, handleTouchMove, handleTouchStart]);\n var handleMouseDown = (0,_utils_useEventCallback__WEBPACK_IMPORTED_MODULE_12__[\"default\"])(function (event) {\n if (onMouseDown) {\n onMouseDown(event);\n }\n\n event.preventDefault();\n var finger = trackFinger(event, touchId);\n\n var _getFingerNewValue4 = getFingerNewValue({\n finger: finger,\n values: values,\n source: valueDerived\n }),\n newValue = _getFingerNewValue4.newValue,\n activeIndex = _getFingerNewValue4.activeIndex;\n\n focusThumb({\n sliderRef: sliderRef,\n activeIndex: activeIndex,\n setActive: setActive\n });\n setValueState(newValue);\n\n if (onChange) {\n onChange(event, newValue);\n }\n\n var doc = (0,_utils_ownerDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(sliderRef.current);\n doc.addEventListener('mousemove', handleTouchMove);\n doc.addEventListener('mouseup', handleTouchEnd);\n });\n var trackOffset = valueToPercent(range ? values[0] : min, min, max);\n var trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;\n\n var trackStyle = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, axisProps[axis].offset(trackOffset), axisProps[axis].leap(trackLeap));\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n ref: handleRef,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.root, classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(color))], className, disabled && classes.disabled, marks.length > 0 && marks.some(function (mark) {\n return mark.label;\n }) && classes.marked, track === false && classes.trackFalse, orientation === 'vertical' && classes.vertical, track === 'inverted' && classes.trackInverted),\n onMouseDown: handleMouseDown\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n className: classes.rail\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n className: classes.track,\n style: trackStyle\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"input\", {\n value: values.join(','),\n name: name,\n type: \"hidden\"\n }), marks.map(function (mark, index) {\n var percent = valueToPercent(mark.value, min, max);\n var style = axisProps[axis].offset(percent);\n var markActive;\n\n if (track === false) {\n markActive = values.indexOf(mark.value) !== -1;\n } else {\n markActive = track === 'normal' && (range ? mark.value >= values[0] && mark.value <= values[values.length - 1] : mark.value <= values[0]) || track === 'inverted' && (range ? mark.value <= values[0] || mark.value >= values[values.length - 1] : mark.value >= values[0]);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(react__WEBPACK_IMPORTED_MODULE_4__.Fragment, {\n key: mark.value\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n style: style,\n \"data-index\": index,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.mark, markActive && classes.markActive)\n }), mark.label != null ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(\"span\", {\n \"aria-hidden\": true,\n \"data-index\": index,\n style: style,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.markLabel, markActive && classes.markLabelActive)\n }, mark.label) : null);\n }), values.map(function (value, index) {\n var percent = valueToPercent(value, min, max);\n var style = axisProps[axis].offset(percent);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(ValueLabelComponent, {\n key: index,\n valueLabelFormat: valueLabelFormat,\n valueLabelDisplay: valueLabelDisplay,\n className: classes.valueLabel,\n value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,\n index: index,\n open: open === index || active === index || valueLabelDisplay === 'on',\n disabled: disabled\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(ThumbComponent, {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.thumb, classes[\"thumbColor\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(color))], active === index && classes.active, disabled && classes.disabled, focusVisible === index && classes.focusVisible),\n tabIndex: disabled ? null : 0,\n role: \"slider\",\n style: style,\n \"data-index\": index,\n \"aria-label\": getAriaLabel ? getAriaLabel(index) : ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n \"aria-orientation\": orientation,\n \"aria-valuemax\": scale(max),\n \"aria-valuemin\": scale(min),\n \"aria-valuenow\": scale(value),\n \"aria-valuetext\": getAriaValueText ? getAriaValueText(scale(value), index) : ariaValuetext,\n onKeyDown: handleKeyDown,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onMouseOver: handleMouseOver,\n onMouseLeave: handleMouseLeave\n }));\n }));\n});\n true ? Slider.propTypes = {\n /**\n * The label of the slider.\n */\n 'aria-label': (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_15__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_16___default().string), function (props) {\n var range = Array.isArray(props.value || props.defaultValue);\n\n if (range && props['aria-label'] != null) {\n return new Error('Material-UI: You need to use the `getAriaLabel` prop instead of `aria-label` when using a range slider.');\n }\n\n return null;\n }),\n\n /**\n * The id of the element containing a label for the slider.\n */\n 'aria-labelledby': (prop_types__WEBPACK_IMPORTED_MODULE_16___default().string),\n\n /**\n * A string value that provides a user-friendly name for the current value of the slider.\n */\n 'aria-valuetext': (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_15__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_16___default().string), function (props) {\n var range = Array.isArray(props.value || props.defaultValue);\n\n if (range && props['aria-valuetext'] != null) {\n return new Error('Material-UI: You need to use the `getAriaValueText` prop instead of `aria-valuetext` when using a range slider.');\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOf(['primary', 'secondary']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().elementType),\n\n /**\n * The default element value. Use when the component is not controlled.\n */\n defaultValue: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_16___default().number), prop_types__WEBPACK_IMPORTED_MODULE_16___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_16___default().number))]),\n\n /**\n * If `true`, the slider will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().bool),\n\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the thumb labels of the slider.\n *\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaLabel: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider.\n *\n * @param {number} value The thumb label's value to format.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaValueText: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * Marks indicate predetermined values to which the user can move the slider.\n * If `true` the marks will be spaced according the value of the `step` prop.\n * If an array, it should contain objects with `value` and an optional `label` keys.\n */\n marks: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_16___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_16___default().array)]),\n\n /**\n * The maximum allowed value of the slider.\n * Should not be equal to min.\n */\n max: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().number),\n\n /**\n * The minimum allowed value of the slider.\n * Should not be equal to max.\n */\n min: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().number),\n\n /**\n * Name attribute of the hidden `input` element.\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().string),\n\n /**\n * Callback function that is fired when the slider's value changed.\n *\n * @param {object} event The event source of the callback.\n * @param {number | number[]} value The new value.\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * Callback function that is fired when the `mouseup` is triggered.\n *\n * @param {object} event The event source of the callback.\n * @param {number | number[]} value The new value.\n */\n onChangeCommitted: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * @ignore\n */\n onMouseDown: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * The slider orientation.\n */\n orientation: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOf(['horizontal', 'vertical']),\n\n /**\n * A transformation function, to change the scale of the slider.\n */\n scale: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func),\n\n /**\n * The granularity with which the slider can step through values. (A \"discrete\" slider.)\n * The `min` prop serves as the origin for the valid values.\n * We recommend (max - min) to be evenly divisible by the step.\n *\n * When step is `null`, the thumb can only be slid onto marks provided with the `marks` prop.\n */\n step: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().number),\n\n /**\n * The component used to display the value label.\n */\n ThumbComponent: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().elementType),\n\n /**\n * The track presentation:\n *\n * - `normal` the track will render a bar representing the slider value.\n * - `inverted` the track will render a bar representing the remaining slider value.\n * - `false` the track will render without a bar.\n */\n track: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOf(['normal', false, 'inverted']),\n\n /**\n * The value of the slider.\n * For ranged sliders, provide an array with two values.\n */\n value: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_16___default().number), prop_types__WEBPACK_IMPORTED_MODULE_16___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_16___default().number))]),\n\n /**\n * The value label component.\n */\n ValueLabelComponent: (prop_types__WEBPACK_IMPORTED_MODULE_16___default().elementType),\n\n /**\n * Controls when the value label is displayed:\n *\n * - `auto` the value label will display when the thumb is hovered or focused.\n * - `on` will display persistently.\n * - `off` will never display.\n */\n valueLabelDisplay: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOf(['on', 'auto', 'off']),\n\n /**\n * The format function the value label's value.\n *\n * When a function is provided, it should have the following signature:\n *\n * - {number} value The value label's value to format\n * - {number} index The value label's index to format\n */\n valueLabelFormat: prop_types__WEBPACK_IMPORTED_MODULE_16___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_16___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_16___default().func)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_17__[\"default\"])(styles, {\n name: 'MuiSlider'\n})(Slider));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Slider/Slider.js?");
7453
7453
 
7454
7454
  /***/ }),
7455
7455
 
@@ -7471,7 +7471,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7471
7471
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7472
7472
 
7473
7473
  "use strict";
7474
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n/* harmony import */ var _internal_SwitchBase__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../internal/SwitchBase */ \"./node_modules/@material-ui/core/esm/internal/SwitchBase.js\");\n\n\n// @inheritedComponent IconButton\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Styles applied to the root element if `edge=\"start\"`. */\n edgeStart: {\n marginLeft: -8\n },\n\n /* Styles applied to the root element if `edge=\"end\"`. */\n edgeEnd: {\n marginRight: -8\n },\n\n /* Styles applied to the internal `SwitchBase` component's `root` class. */\n switchBase: {\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[400],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n '&$checked': {\n transform: 'translateX(20px)'\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n opacity: 0.5\n },\n '&$disabled + $track': {\n opacity: theme.palette.type === 'light' ? 0.12 : 0.1\n }\n },\n\n /* Styles applied to the internal SwitchBase component's root element if `color=\"primary\"`. */\n colorPrimary: {\n '&$checked': {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n backgroundColor: theme.palette.primary.main\n },\n '&$disabled + $track': {\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white\n }\n },\n\n /* Styles applied to the internal SwitchBase component's root element if `color=\"secondary\"`. */\n colorSecondary: {\n '&$checked': {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_5__.alpha)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n backgroundColor: theme.palette.secondary.main\n },\n '&$disabled + $track': {\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white\n }\n },\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n width: 40,\n height: 24,\n padding: 7,\n '& $thumb': {\n width: 16,\n height: 16\n },\n '& $switchBase': {\n padding: 4,\n '&$checked': {\n transform: 'translateX(16px)'\n }\n }\n },\n\n /* Pseudo-class applied to the internal `SwitchBase` component's `checked` class. */\n checked: {},\n\n /* Pseudo-class applied to the internal SwitchBase component's disabled class. */\n disabled: {},\n\n /* Styles applied to the internal SwitchBase component's input element. */\n input: {\n left: '-100%',\n width: '300%'\n },\n\n /* Styles used to create the thumb passed to the internal `SwitchBase` component `icon` prop. */\n thumb: {\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n },\n\n /* Styles applied to the track element. */\n track: {\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.type === 'light' ? 0.38 : 0.3\n }\n };\n};\nvar Switch = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Switch(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'secondary' : _props$color,\n _props$edge = props.edge,\n edge = _props$edge === void 0 ? false : _props$edge,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"classes\", \"className\", \"color\", \"edge\", \"size\"]);\n\n var icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.thumb\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, {\n 'start': classes.edgeStart,\n 'end': classes.edgeEnd\n }[edge], size === \"small\" && classes[\"size\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(size))])\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_internal_SwitchBase__WEBPACK_IMPORTED_MODULE_7__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n classes: {\n root: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.switchBase, classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(color))]),\n input: classes.input,\n checked: classes.checked,\n disabled: classes.disabled\n },\n ref: ref\n }, other)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.track\n }));\n});\n true ? Switch.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['default', 'primary', 'secondary']),\n\n /**\n * @ignore\n */\n defaultChecked: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the switch will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n */\n edge: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * The id of the `input` element.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * The size of the switch.\n * `small` is equivalent to the dense switch styling.\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['medium', 'small']),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiSwitch'\n})(Switch));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Switch/Switch.js?");
7474
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/colorManipulator */ \"./node_modules/@material-ui/core/esm/styles/colorManipulator.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n/* harmony import */ var _internal_SwitchBase__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../internal/SwitchBase */ \"./node_modules/@material-ui/core/esm/internal/SwitchBase.js\");\n\n\n// @inheritedComponent IconButton\n\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n\n /* Styles applied to the root element if `edge=\"start\"`. */\n edgeStart: {\n marginLeft: -8\n },\n\n /* Styles applied to the root element if `edge=\"end\"`. */\n edgeEnd: {\n marginRight: -8\n },\n\n /* Styles applied to the internal `SwitchBase` component's `root` class. */\n switchBase: {\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.type === 'light' ? theme.palette.grey[50] : theme.palette.grey[400],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n '&$checked': {\n transform: 'translateX(20px)'\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n opacity: 0.5\n },\n '&$disabled + $track': {\n opacity: theme.palette.type === 'light' ? 0.12 : 0.1\n }\n },\n\n /* Styles applied to the internal SwitchBase component's root element if `color=\"primary\"`. */\n colorPrimary: {\n '&$checked': {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n backgroundColor: theme.palette.primary.main\n },\n '&$disabled + $track': {\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white\n }\n },\n\n /* Styles applied to the internal SwitchBase component's root element if `color=\"secondary\"`. */\n colorSecondary: {\n '&$checked': {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0,_styles_colorManipulator__WEBPACK_IMPORTED_MODULE_4__.alpha)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n '&$disabled': {\n color: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[800]\n },\n '&$checked + $track': {\n backgroundColor: theme.palette.secondary.main\n },\n '&$disabled + $track': {\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white\n }\n },\n\n /* Styles applied to the root element if `size=\"small\"`. */\n sizeSmall: {\n width: 40,\n height: 24,\n padding: 7,\n '& $thumb': {\n width: 16,\n height: 16\n },\n '& $switchBase': {\n padding: 4,\n '&$checked': {\n transform: 'translateX(16px)'\n }\n }\n },\n\n /* Pseudo-class applied to the internal `SwitchBase` component's `checked` class. */\n checked: {},\n\n /* Pseudo-class applied to the internal SwitchBase component's disabled class. */\n disabled: {},\n\n /* Styles applied to the internal SwitchBase component's input element. */\n input: {\n left: '-100%',\n width: '300%'\n },\n\n /* Styles used to create the thumb passed to the internal `SwitchBase` component `icon` prop. */\n thumb: {\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n },\n\n /* Styles applied to the track element. */\n track: {\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.type === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.type === 'light' ? 0.38 : 0.3\n }\n };\n};\nvar Switch = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Switch(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'secondary' : _props$color,\n _props$edge = props.edge,\n edge = _props$edge === void 0 ? false : _props$edge,\n _props$size = props.size,\n size = _props$size === void 0 ? 'medium' : _props$size,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"classes\", \"className\", \"color\", \"edge\", \"size\"]);\n\n var icon = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.thumb\n });\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className, {\n 'start': classes.edgeStart,\n 'end': classes.edgeEnd\n }[edge], size === \"small\" && classes[\"size\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(size))])\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(_internal_SwitchBase__WEBPACK_IMPORTED_MODULE_6__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n classes: {\n root: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.switchBase, classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(color))]),\n input: classes.input,\n checked: classes.checked,\n disabled: classes.disabled\n },\n ref: ref\n }, other)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", {\n className: classes.track\n }));\n});\n true ? Switch.propTypes = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOf(['default', 'primary', 'secondary']),\n\n /**\n * @ignore\n */\n defaultChecked: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * If `true`, the switch will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n */\n edge: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().node),\n\n /**\n * The id of the `input` element.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().string),\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().object),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func),\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * The size of the switch.\n * `small` is equivalent to the dense switch styling.\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_7___default().oneOf(['medium', 'small']),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(styles, {\n name: 'MuiSwitch'\n})(Switch));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Switch/Switch.js?");
7475
7475
 
7476
7476
  /***/ }),
7477
7477
 
@@ -7482,7 +7482,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7482
7482
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7483
7483
 
7484
7484
  "use strict";
7485
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n margin: 0\n },\n\n /* Styles applied to the root element if `variant=\"body2\"`. */\n body2: theme.typography.body2,\n\n /* Styles applied to the root element if `variant=\"body1\"`. */\n body1: theme.typography.body1,\n\n /* Styles applied to the root element if `variant=\"caption\"`. */\n caption: theme.typography.caption,\n\n /* Styles applied to the root element if `variant=\"button\"`. */\n button: theme.typography.button,\n\n /* Styles applied to the root element if `variant=\"h1\"`. */\n h1: theme.typography.h1,\n\n /* Styles applied to the root element if `variant=\"h2\"`. */\n h2: theme.typography.h2,\n\n /* Styles applied to the root element if `variant=\"h3\"`. */\n h3: theme.typography.h3,\n\n /* Styles applied to the root element if `variant=\"h4\"`. */\n h4: theme.typography.h4,\n\n /* Styles applied to the root element if `variant=\"h5\"`. */\n h5: theme.typography.h5,\n\n /* Styles applied to the root element if `variant=\"h6\"`. */\n h6: theme.typography.h6,\n\n /* Styles applied to the root element if `variant=\"subtitle1\"`. */\n subtitle1: theme.typography.subtitle1,\n\n /* Styles applied to the root element if `variant=\"subtitle2\"`. */\n subtitle2: theme.typography.subtitle2,\n\n /* Styles applied to the root element if `variant=\"overline\"`. */\n overline: theme.typography.overline,\n\n /* Styles applied to the root element if `variant=\"srOnly\"`. Only accessible to screen readers. */\n srOnly: {\n position: 'absolute',\n height: 1,\n width: 1,\n overflow: 'hidden'\n },\n\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right'\n },\n\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n },\n\n /* Styles applied to the root element if `nowrap={true}`. */\n noWrap: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n\n /* Styles applied to the root element if `gutterBottom={true}`. */\n gutterBottom: {\n marginBottom: '0.35em'\n },\n\n /* Styles applied to the root element if `paragraph={true}`. */\n paragraph: {\n marginBottom: 16\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `color=\"textPrimary\"`. */\n colorTextPrimary: {\n color: theme.palette.text.primary\n },\n\n /* Styles applied to the root element if `color=\"textSecondary\"`. */\n colorTextSecondary: {\n color: theme.palette.text.secondary\n },\n\n /* Styles applied to the root element if `color=\"error\"`. */\n colorError: {\n color: theme.palette.error.main\n },\n\n /* Styles applied to the root element if `display=\"inline\"`. */\n displayInline: {\n display: 'inline'\n },\n\n /* Styles applied to the root element if `display=\"block\"`. */\n displayBlock: {\n display: 'block'\n }\n };\n};\nvar defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p'\n};\nvar Typography = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Typography(props, ref) {\n var _props$align = props.align,\n align = _props$align === void 0 ? 'inherit' : _props$align,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'initial' : _props$color,\n component = props.component,\n _props$display = props.display,\n display = _props$display === void 0 ? 'initial' : _props$display,\n _props$gutterBottom = props.gutterBottom,\n gutterBottom = _props$gutterBottom === void 0 ? false : _props$gutterBottom,\n _props$noWrap = props.noWrap,\n noWrap = _props$noWrap === void 0 ? false : _props$noWrap,\n _props$paragraph = props.paragraph,\n paragraph = _props$paragraph === void 0 ? false : _props$paragraph,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'body1' : _props$variant,\n _props$variantMapping = props.variantMapping,\n variantMapping = _props$variantMapping === void 0 ? defaultVariantMapping : _props$variantMapping,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"align\", \"classes\", \"className\", \"color\", \"component\", \"display\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"]);\n\n var Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, variant !== 'inherit' && classes[variant], color !== 'initial' && classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(color))], noWrap && classes.noWrap, gutterBottom && classes.gutterBottom, paragraph && classes.paragraph, align !== 'inherit' && classes[\"align\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(align))], display !== 'initial' && classes[\"display\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(display))]),\n ref: ref\n }, other));\n});\n true ? Typography.propTypes = {\n /**\n * Set the text-align on the component.\n */\n align: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['inherit', 'left', 'center', 'right', 'justify']),\n\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['initial', 'inherit', 'primary', 'secondary', 'textPrimary', 'textSecondary', 'error']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n * Overrides the behavior of the `variantMapping` prop.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().elementType),\n\n /**\n * Controls the display type\n */\n display: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['initial', 'block', 'inline']),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n gutterBottom: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n paragraph: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * Applies the theme typography styles.\n */\n variant: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'caption', 'button', 'overline', 'srOnly', 'inherit']),\n\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n */\n variantMapping: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(styles, {\n name: 'MuiTypography'\n})(Typography));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Typography/Typography.js?");
7485
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@material-ui/core/esm/utils/capitalize.js\");\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n margin: 0\n },\n\n /* Styles applied to the root element if `variant=\"body2\"`. */\n body2: theme.typography.body2,\n\n /* Styles applied to the root element if `variant=\"body1\"`. */\n body1: theme.typography.body1,\n\n /* Styles applied to the root element if `variant=\"caption\"`. */\n caption: theme.typography.caption,\n\n /* Styles applied to the root element if `variant=\"button\"`. */\n button: theme.typography.button,\n\n /* Styles applied to the root element if `variant=\"h1\"`. */\n h1: theme.typography.h1,\n\n /* Styles applied to the root element if `variant=\"h2\"`. */\n h2: theme.typography.h2,\n\n /* Styles applied to the root element if `variant=\"h3\"`. */\n h3: theme.typography.h3,\n\n /* Styles applied to the root element if `variant=\"h4\"`. */\n h4: theme.typography.h4,\n\n /* Styles applied to the root element if `variant=\"h5\"`. */\n h5: theme.typography.h5,\n\n /* Styles applied to the root element if `variant=\"h6\"`. */\n h6: theme.typography.h6,\n\n /* Styles applied to the root element if `variant=\"subtitle1\"`. */\n subtitle1: theme.typography.subtitle1,\n\n /* Styles applied to the root element if `variant=\"subtitle2\"`. */\n subtitle2: theme.typography.subtitle2,\n\n /* Styles applied to the root element if `variant=\"overline\"`. */\n overline: theme.typography.overline,\n\n /* Styles applied to the root element if `variant=\"srOnly\"`. Only accessible to screen readers. */\n srOnly: {\n position: 'absolute',\n height: 1,\n width: 1,\n overflow: 'hidden'\n },\n\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right'\n },\n\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n },\n\n /* Styles applied to the root element if `nowrap={true}`. */\n noWrap: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n\n /* Styles applied to the root element if `gutterBottom={true}`. */\n gutterBottom: {\n marginBottom: '0.35em'\n },\n\n /* Styles applied to the root element if `paragraph={true}`. */\n paragraph: {\n marginBottom: 16\n },\n\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main\n },\n\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n\n /* Styles applied to the root element if `color=\"textPrimary\"`. */\n colorTextPrimary: {\n color: theme.palette.text.primary\n },\n\n /* Styles applied to the root element if `color=\"textSecondary\"`. */\n colorTextSecondary: {\n color: theme.palette.text.secondary\n },\n\n /* Styles applied to the root element if `color=\"error\"`. */\n colorError: {\n color: theme.palette.error.main\n },\n\n /* Styles applied to the root element if `display=\"inline\"`. */\n displayInline: {\n display: 'inline'\n },\n\n /* Styles applied to the root element if `display=\"block\"`. */\n displayBlock: {\n display: 'block'\n }\n };\n};\nvar defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p'\n};\nvar Typography = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Typography(props, ref) {\n var _props$align = props.align,\n align = _props$align === void 0 ? 'inherit' : _props$align,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'initial' : _props$color,\n component = props.component,\n _props$display = props.display,\n display = _props$display === void 0 ? 'initial' : _props$display,\n _props$gutterBottom = props.gutterBottom,\n gutterBottom = _props$gutterBottom === void 0 ? false : _props$gutterBottom,\n _props$noWrap = props.noWrap,\n noWrap = _props$noWrap === void 0 ? false : _props$noWrap,\n _props$paragraph = props.paragraph,\n paragraph = _props$paragraph === void 0 ? false : _props$paragraph,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'body1' : _props$variant,\n _props$variantMapping = props.variantMapping,\n variantMapping = _props$variantMapping === void 0 ? defaultVariantMapping : _props$variantMapping,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"align\", \"classes\", \"className\", \"color\", \"component\", \"display\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"]);\n\n var Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className, variant !== 'inherit' && classes[variant], color !== 'initial' && classes[\"color\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(color))], noWrap && classes.noWrap, gutterBottom && classes.gutterBottom, paragraph && classes.paragraph, align !== 'inherit' && classes[\"align\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(align))], display !== 'initial' && classes[\"display\".concat((0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(display))]),\n ref: ref\n }, other));\n});\n true ? Typography.propTypes = {\n /**\n * Set the text-align on the component.\n */\n align: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['inherit', 'left', 'center', 'right', 'justify']),\n\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().node),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().string),\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['initial', 'inherit', 'primary', 'secondary', 'textPrimary', 'textSecondary', 'error']),\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n * Overrides the behavior of the `variantMapping` prop.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().elementType),\n\n /**\n * Controls the display type\n */\n display: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['initial', 'block', 'inline']),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n gutterBottom: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),\n\n /**\n * If `true`, the text will not wrap, but instead will truncate with a text overflow ellipsis.\n *\n * Note that text overflow can only happen with block or inline-block level elements\n * (the element needs to have a width in order to overflow).\n */\n noWrap: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n paragraph: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().bool),\n\n /**\n * Applies the theme typography styles.\n */\n variant: prop_types__WEBPACK_IMPORTED_MODULE_5___default().oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'subtitle1', 'subtitle2', 'body1', 'body2', 'caption', 'button', 'overline', 'srOnly', 'inherit']),\n\n /**\n * The component maps the variant prop to a range of different HTML element types.\n * For instance, subtitle1 to `<h6>`.\n * If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` prop.\n */\n variantMapping: (prop_types__WEBPACK_IMPORTED_MODULE_5___default().object)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(styles, {\n name: 'MuiTypography'\n})(Typography));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/Typography/Typography.js?");
7486
7486
 
7487
7487
  /***/ }),
7488
7488
 
@@ -7581,7 +7581,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7581
7581
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7582
7582
 
7583
7583
  "use strict";
7584
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _utils_useControlled__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/useControlled */ \"./node_modules/@material-ui/core/esm/utils/useControlled.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@material-ui/core/esm/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _IconButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../IconButton */ \"./node_modules/@material-ui/core/esm/IconButton/IconButton.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar styles = {\n root: {\n padding: 9\n },\n checked: {},\n disabled: {},\n input: {\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n }\n};\n/**\n * @ignore - internal component.\n */\n\nvar SwitchBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function SwitchBase(props, ref) {\n var autoFocus = props.autoFocus,\n checkedProp = props.checked,\n checkedIcon = props.checkedIcon,\n classes = props.classes,\n className = props.className,\n defaultChecked = props.defaultChecked,\n disabledProp = props.disabled,\n icon = props.icon,\n id = props.id,\n inputProps = props.inputProps,\n inputRef = props.inputRef,\n name = props.name,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onFocus = props.onFocus,\n readOnly = props.readOnly,\n required = props.required,\n tabIndex = props.tabIndex,\n type = props.type,\n value = props.value,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"autoFocus\", \"checked\", \"checkedIcon\", \"classes\", \"className\", \"defaultChecked\", \"disabled\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"]);\n\n var _useControlled = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_6__[\"default\"])({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n }),\n _useControlled2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useControlled, 2),\n checked = _useControlled2[0],\n setCheckedState = _useControlled2[1];\n\n var muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_7__[\"default\"])();\n\n var handleFocus = function handleFocus(event) {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n var handleBlur = function handleBlur(event) {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n var handleInputChange = function handleInputChange(event) {\n var newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v5: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n var disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n var hasLabelFor = type === 'checkbox' || type === 'radio';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_IconButton__WEBPACK_IMPORTED_MODULE_8__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n component: \"span\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(classes.root, className, checked && classes.checked, disabled && classes.disabled),\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"input\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n tabIndex: tabIndex,\n type: type,\n value: value\n }, inputProps)), checked ? checkedIcon : icon);\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\n true ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element will be focused during the first mount.\n */\n autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * If `true`, the component is checked.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().node.isRequired),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n\n /**\n * @ignore\n */\n defaultChecked: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * If `true`, the switch will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().node.isRequired),\n\n /**\n * The id of the `input` element.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n\n /*\n * @ignore\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n\n /**\n * @ignore\n */\n onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n\n /**\n * @ignore\n */\n onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * @ignore\n */\n tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)]),\n\n /**\n * The input component prop `type`.\n */\n type: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string.isRequired),\n\n /**\n * The value of the component.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(styles, {\n name: 'PrivateSwitchBase'\n})(SwitchBase));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/internal/SwitchBase.js?");
7584
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"styles\": () => (/* binding */ styles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/refType.js\");\n/* harmony import */ var _utils_useControlled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/useControlled */ \"./node_modules/@material-ui/core/esm/utils/useControlled.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@material-ui/core/esm/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_withStyles__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/withStyles */ \"./node_modules/@material-ui/core/esm/styles/withStyles.js\");\n/* harmony import */ var _IconButton__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../IconButton */ \"./node_modules/@material-ui/core/esm/IconButton/IconButton.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar styles = {\n root: {\n padding: 9\n },\n checked: {},\n disabled: {},\n input: {\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n }\n};\n/**\n * @ignore - internal component.\n */\n\nvar SwitchBase = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.forwardRef(function SwitchBase(props, ref) {\n var autoFocus = props.autoFocus,\n checkedProp = props.checked,\n checkedIcon = props.checkedIcon,\n classes = props.classes,\n className = props.className,\n defaultChecked = props.defaultChecked,\n disabledProp = props.disabled,\n icon = props.icon,\n id = props.id,\n inputProps = props.inputProps,\n inputRef = props.inputRef,\n name = props.name,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onFocus = props.onFocus,\n readOnly = props.readOnly,\n required = props.required,\n tabIndex = props.tabIndex,\n type = props.type,\n value = props.value,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(props, [\"autoFocus\", \"checked\", \"checkedIcon\", \"classes\", \"className\", \"defaultChecked\", \"disabled\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"]);\n\n var _useControlled = (0,_utils_useControlled__WEBPACK_IMPORTED_MODULE_5__[\"default\"])({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n }),\n _useControlled2 = (0,_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useControlled, 2),\n checked = _useControlled2[0],\n setCheckedState = _useControlled2[1];\n\n var muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_6__[\"default\"])();\n\n var handleFocus = function handleFocus(event) {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n var handleBlur = function handleBlur(event) {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n var handleInputChange = function handleInputChange(event) {\n var newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v5: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n var disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n var hasLabelFor = type === 'checkbox' || type === 'radio';\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(_IconButton__WEBPACK_IMPORTED_MODULE_7__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n component: \"span\",\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(classes.root, className, checked && classes.checked, disabled && classes.disabled),\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ref: ref\n }, other), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3__.createElement(\"input\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n tabIndex: tabIndex,\n type: type,\n value: value\n }, inputProps)), checked ? checkedIcon : icon);\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\n true ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element will be focused during the first mount.\n */\n autoFocus: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the component is checked.\n */\n checked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node.isRequired),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object.isRequired),\n\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n\n /**\n * @ignore\n */\n defaultChecked: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the switch will be disabled.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node.isRequired),\n\n /**\n * The id of the `input` element.\n */\n id: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n\n /*\n * @ignore\n */\n name: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n\n /**\n * @ignore\n */\n onBlur: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n\n /**\n * @ignore\n */\n onFocus: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * If `true`, the `input` element will be required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n\n /**\n * @ignore\n */\n tabIndex: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)]),\n\n /**\n * The input component prop `type`.\n */\n type: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string.isRequired),\n\n /**\n * The value of the component.\n */\n value: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().any)\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_styles_withStyles__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(styles, {\n name: 'PrivateSwitchBase'\n})(SwitchBase));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/core/esm/internal/SwitchBase.js?");
7585
7585
 
7586
7586
  /***/ }),
7587
7587
 
@@ -7845,7 +7845,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7845
7845
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7846
7846
 
7847
7847
  "use strict";
7848
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"StylesContext\": () => (/* binding */ StylesContext),\n/* harmony export */ \"default\": () => (/* binding */ StylesProvider),\n/* harmony export */ \"sheetsManager\": () => (/* binding */ sheetsManager)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/exactProp.js\");\n/* harmony import */ var _createGenerateClassName__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../createGenerateClassName */ \"./node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js\");\n/* harmony import */ var jss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! jss */ \"./node_modules/jss/dist/jss.esm.js\");\n/* harmony import */ var _jssPreset__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../jssPreset */ \"./node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js\");\n\n\n\n\n\n\n\n // Default JSS instance.\n\nvar jss = (0,jss__WEBPACK_IMPORTED_MODULE_4__.create)((0,_jssPreset__WEBPACK_IMPORTED_MODULE_5__[\"default\"])()); // Use a singleton or the provided one by the context.\n//\n// The counter-based approach doesn't tolerate any mistake.\n// It's much safer to use the same counter everywhere.\n\nvar generateClassName = (0,_createGenerateClassName__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(); // Exported for test purposes\n\nvar sheetsManager = new Map();\nvar defaultOptions = {\n disableGeneration: false,\n generateClassName: generateClassName,\n jss: jss,\n sheetsCache: null,\n sheetsManager: sheetsManager,\n sheetsRegistry: null\n};\nvar StylesContext = react__WEBPACK_IMPORTED_MODULE_2__.createContext(defaultOptions);\n\nif (true) {\n StylesContext.displayName = 'StylesContext';\n}\n\nvar injectFirstNode;\nfunction StylesProvider(props) {\n var children = props.children,\n _props$injectFirst = props.injectFirst,\n injectFirst = _props$injectFirst === void 0 ? false : _props$injectFirst,\n _props$disableGenerat = props.disableGeneration,\n disableGeneration = _props$disableGenerat === void 0 ? false : _props$disableGenerat,\n localOptions = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"children\", \"injectFirst\", \"disableGeneration\"]);\n\n var outerOptions = react__WEBPACK_IMPORTED_MODULE_2__.useContext(StylesContext);\n\n var context = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, outerOptions, {\n disableGeneration: disableGeneration\n }, localOptions);\n\n if (true) {\n if (typeof window === 'undefined' && !context.sheetsManager) {\n console.error('Material-UI: You need to use the ServerStyleSheets API when rendering on the server.');\n }\n }\n\n if (true) {\n if (context.jss.options.insertionPoint && injectFirst) {\n console.error('Material-UI: You cannot use a custom insertionPoint and <StylesContext injectFirst> at the same time.');\n }\n }\n\n if (true) {\n if (injectFirst && localOptions.jss) {\n console.error('Material-UI: You cannot use the jss and injectFirst props at the same time.');\n }\n }\n\n if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') {\n if (!injectFirstNode) {\n var head = document.head;\n injectFirstNode = document.createComment('mui-inject-first');\n head.insertBefore(injectFirstNode, head.firstChild);\n }\n\n context.jss = (0,jss__WEBPACK_IMPORTED_MODULE_4__.create)({\n plugins: (0,_jssPreset__WEBPACK_IMPORTED_MODULE_5__[\"default\"])().plugins,\n insertionPoint: injectFirstNode\n });\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(StylesContext.Provider, {\n value: context\n }, children);\n}\n true ? StylesProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node.isRequired),\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server-side - you can significantly speed up the traversal with this prop.\n */\n disableGeneration: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * JSS's class name generator.\n */\n generateClassName: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * By default, the styles are injected last in the <head> element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override Material-UI's styles, set this prop.\n */\n injectFirst: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n\n /**\n * JSS's instance.\n */\n jss: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n */\n serverGenerateClassName: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n\n /**\n * @ignore\n *\n * Beta feature.\n *\n * Cache for the sheets.\n */\n sheetsCache: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n *\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * @ignore\n *\n * Collect the sheets.\n */\n sheetsRegistry: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)\n} : 0;\n\nif (true) {\n true ? StylesProvider.propTypes = (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(StylesProvider.propTypes) : 0;\n}\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js?");
7848
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"StylesContext\": () => (/* binding */ StylesContext),\n/* harmony export */ \"default\": () => (/* binding */ StylesProvider),\n/* harmony export */ \"sheetsManager\": () => (/* binding */ sheetsManager)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/exactProp.js\");\n/* harmony import */ var _createGenerateClassName__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../createGenerateClassName */ \"./node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js\");\n/* harmony import */ var jss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jss */ \"./node_modules/jss/dist/jss.esm.js\");\n/* harmony import */ var _jssPreset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../jssPreset */ \"./node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js\");\n\n\n\n\n\n\n\n // Default JSS instance.\n\nvar jss = (0,jss__WEBPACK_IMPORTED_MODULE_3__.create)((0,_jssPreset__WEBPACK_IMPORTED_MODULE_4__[\"default\"])()); // Use a singleton or the provided one by the context.\n//\n// The counter-based approach doesn't tolerate any mistake.\n// It's much safer to use the same counter everywhere.\n\nvar generateClassName = (0,_createGenerateClassName__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(); // Exported for test purposes\n\nvar sheetsManager = new Map();\nvar defaultOptions = {\n disableGeneration: false,\n generateClassName: generateClassName,\n jss: jss,\n sheetsCache: null,\n sheetsManager: sheetsManager,\n sheetsRegistry: null\n};\nvar StylesContext = react__WEBPACK_IMPORTED_MODULE_2__.createContext(defaultOptions);\n\nif (true) {\n StylesContext.displayName = 'StylesContext';\n}\n\nvar injectFirstNode;\nfunction StylesProvider(props) {\n var children = props.children,\n _props$injectFirst = props.injectFirst,\n injectFirst = _props$injectFirst === void 0 ? false : _props$injectFirst,\n _props$disableGenerat = props.disableGeneration,\n disableGeneration = _props$disableGenerat === void 0 ? false : _props$disableGenerat,\n localOptions = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"children\", \"injectFirst\", \"disableGeneration\"]);\n\n var outerOptions = react__WEBPACK_IMPORTED_MODULE_2__.useContext(StylesContext);\n\n var context = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, outerOptions, {\n disableGeneration: disableGeneration\n }, localOptions);\n\n if (true) {\n if (typeof window === 'undefined' && !context.sheetsManager) {\n console.error('Material-UI: You need to use the ServerStyleSheets API when rendering on the server.');\n }\n }\n\n if (true) {\n if (context.jss.options.insertionPoint && injectFirst) {\n console.error('Material-UI: You cannot use a custom insertionPoint and <StylesContext injectFirst> at the same time.');\n }\n }\n\n if (true) {\n if (injectFirst && localOptions.jss) {\n console.error('Material-UI: You cannot use the jss and injectFirst props at the same time.');\n }\n }\n\n if (!context.jss.options.insertionPoint && injectFirst && typeof window !== 'undefined') {\n if (!injectFirstNode) {\n var head = document.head;\n injectFirstNode = document.createComment('mui-inject-first');\n head.insertBefore(injectFirstNode, head.firstChild);\n }\n\n context.jss = (0,jss__WEBPACK_IMPORTED_MODULE_3__.create)({\n plugins: (0,_jssPreset__WEBPACK_IMPORTED_MODULE_4__[\"default\"])().plugins,\n insertionPoint: injectFirstNode\n });\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(StylesContext.Provider, {\n value: context\n }, children);\n}\n true ? StylesProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().node.isRequired),\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server-side - you can significantly speed up the traversal with this prop.\n */\n disableGeneration: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n\n /**\n * JSS's class name generator.\n */\n generateClassName: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n\n /**\n * By default, the styles are injected last in the <head> element of the page.\n * As a result, they gain more specificity than any other style sheet.\n * If you want to override Material-UI's styles, set this prop.\n */\n injectFirst: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n\n /**\n * JSS's instance.\n */\n jss: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n\n /**\n * @ignore\n */\n serverGenerateClassName: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n\n /**\n * @ignore\n *\n * Beta feature.\n *\n * Cache for the sheets.\n */\n sheetsCache: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n\n /**\n * @ignore\n *\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n\n /**\n * @ignore\n *\n * Collect the sheets.\n */\n sheetsRegistry: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object)\n} : 0;\n\nif (true) {\n true ? StylesProvider.propTypes = (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(StylesProvider.propTypes) : 0;\n}\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js?");
7849
7849
 
7850
7850
  /***/ }),
7851
7851
 
@@ -7999,7 +7999,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
7999
7999
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8000
8000
 
8001
8001
  "use strict";
8002
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/getDisplayName.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _makeStyles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../makeStyles */ \"./node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js\");\n/* harmony import */ var _getThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../getThemeProps */ \"./node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js\");\n/* harmony import */ var _useTheme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../useTheme */ \"./node_modules/@material-ui/styles/esm/useTheme/useTheme.js\");\n\n\n\n\n\n\n\n\n // Link a style sheet with a component.\n// It does not modify the component passed to it;\n// instead, it returns a new component, with a `classes` property.\n\nvar withStyles = function withStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function (Component) {\n var defaultTheme = options.defaultTheme,\n _options$withTheme = options.withTheme,\n withTheme = _options$withTheme === void 0 ? false : _options$withTheme,\n name = options.name,\n stylesOptions = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(options, [\"defaultTheme\", \"withTheme\", \"name\"]);\n\n if (true) {\n if (Component === undefined) {\n throw new Error(['You are calling withStyles(styles)(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var classNamePrefix = name;\n\n if (true) {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var useStyles = (0,_makeStyles__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(stylesOrCreator, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n defaultTheme: defaultTheme,\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var WithStyles = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function WithStyles(props, ref) {\n var classesProp = props.classes,\n innerRef = props.innerRef,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"classes\", \"innerRef\"]); // The wrapper receives only user supplied props, which could be a subset of\n // the actual props Component might receive due to merging with defaultProps.\n // So copying it here would give us the same result in the wrapper as well.\n\n\n var classes = useStyles((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, Component.defaultProps, props));\n var theme;\n var more = other;\n\n if (typeof name === 'string' || withTheme) {\n // name and withTheme are invariant in the outer scope\n // eslint-disable-next-line react-hooks/rules-of-hooks\n theme = (0,_useTheme__WEBPACK_IMPORTED_MODULE_7__[\"default\"])() || defaultTheme;\n\n if (name) {\n more = (0,_getThemeProps__WEBPACK_IMPORTED_MODULE_8__[\"default\"])({\n theme: theme,\n name: name,\n props: other\n });\n } // Provide the theme to the wrapped component.\n // So we don't have to use the `withTheme()` Higher-order Component.\n\n\n if (withTheme && !more.theme) {\n more.theme = theme;\n }\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n ref: innerRef || ref,\n classes: classes\n }, more));\n });\n true ? WithStyles.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return null; // return new Error(\n // 'Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' +\n // 'Refs are now automatically forwarded to the inner component.',\n // );\n })\n } : 0;\n\n if (true) {\n WithStyles.displayName = \"WithStyles(\".concat((0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(Component), \")\");\n }\n\n hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_4___default()(WithStyles, Component);\n\n if (true) {\n // Exposed for test purposes.\n WithStyles.Naked = Component;\n WithStyles.options = options;\n WithStyles.useStyles = useStyles;\n }\n\n return WithStyles;\n };\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (withStyles);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/styles/esm/withStyles/withStyles.js?");
8002
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/getDisplayName.js\");\n/* harmony import */ var _material_ui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/utils */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n/* harmony import */ var _makeStyles__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../makeStyles */ \"./node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js\");\n/* harmony import */ var _getThemeProps__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../getThemeProps */ \"./node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js\");\n/* harmony import */ var _useTheme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../useTheme */ \"./node_modules/@material-ui/styles/esm/useTheme/useTheme.js\");\n\n\n\n\n\n\n\n\n // Link a style sheet with a component.\n// It does not modify the component passed to it;\n// instead, it returns a new component, with a `classes` property.\n\nvar withStyles = function withStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function (Component) {\n var defaultTheme = options.defaultTheme,\n _options$withTheme = options.withTheme,\n withTheme = _options$withTheme === void 0 ? false : _options$withTheme,\n name = options.name,\n stylesOptions = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(options, [\"defaultTheme\", \"withTheme\", \"name\"]);\n\n if (true) {\n if (Component === undefined) {\n throw new Error(['You are calling withStyles(styles)(Component) with an undefined component.', 'You may have forgotten to import it.'].join('\\n'));\n }\n }\n\n var classNamePrefix = name;\n\n if (true) {\n if (!name) {\n // Provide a better DX outside production.\n var displayName = (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Component);\n\n if (displayName !== undefined) {\n classNamePrefix = displayName;\n }\n }\n }\n\n var useStyles = (0,_makeStyles__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(stylesOrCreator, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n defaultTheme: defaultTheme,\n Component: Component,\n name: name || Component.displayName,\n classNamePrefix: classNamePrefix\n }, stylesOptions));\n var WithStyles = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function WithStyles(props, ref) {\n var classesProp = props.classes,\n innerRef = props.innerRef,\n other = (0,_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, [\"classes\", \"innerRef\"]); // The wrapper receives only user supplied props, which could be a subset of\n // the actual props Component might receive due to merging with defaultProps.\n // So copying it here would give us the same result in the wrapper as well.\n\n\n var classes = useStyles((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, Component.defaultProps, props));\n var theme;\n var more = other;\n\n if (typeof name === 'string' || withTheme) {\n // name and withTheme are invariant in the outer scope\n // eslint-disable-next-line react-hooks/rules-of-hooks\n theme = (0,_useTheme__WEBPACK_IMPORTED_MODULE_6__[\"default\"])() || defaultTheme;\n\n if (name) {\n more = (0,_getThemeProps__WEBPACK_IMPORTED_MODULE_7__[\"default\"])({\n theme: theme,\n name: name,\n props: other\n });\n } // Provide the theme to the wrapped component.\n // So we don't have to use the `withTheme()` Higher-order Component.\n\n\n if (withTheme && !more.theme) {\n more.theme = theme;\n }\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n ref: innerRef || ref,\n classes: classes\n }, more));\n });\n true ? WithStyles.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n\n /**\n * Use that prop to pass a ref to the decorated component.\n * @deprecated\n */\n innerRef: (0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)]), function (props) {\n if (props.innerRef == null) {\n return null;\n }\n\n return null; // return new Error(\n // 'Material-UI: The `innerRef` prop is deprecated and will be removed in v5. ' +\n // 'Refs are now automatically forwarded to the inner component.',\n // );\n })\n } : 0;\n\n if (true) {\n WithStyles.displayName = \"WithStyles(\".concat((0,_material_ui_utils__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(Component), \")\");\n }\n\n hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_3___default()(WithStyles, Component);\n\n if (true) {\n // Exposed for test purposes.\n WithStyles.Naked = Component;\n WithStyles.options = options;\n WithStyles.useStyles = useStyles;\n }\n\n return WithStyles;\n };\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (withStyles);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/styles/esm/withStyles/withStyles.js?");
8003
8003
 
8004
8004
  /***/ }),
8005
8005
 
@@ -8010,7 +8010,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
8010
8010
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8011
8011
 
8012
8012
  "use strict";
8013
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"handleBreakpoints\": () => (/* binding */ handleBreakpoints)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./merge */ \"./node_modules/@material-ui/system/esm/merge.js\");\n\n\n\n\n // The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\n\nvar values = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n};\nvar defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: function up(key) {\n return \"@media (min-width:\".concat(values[key], \"px)\");\n }\n};\nfunction handleBreakpoints(props, propValue, styleFromPropValue) {\n if (true) {\n if (!props.theme) {\n console.error('Material-UI: You are calling a style function without a theme value.');\n }\n }\n\n if (Array.isArray(propValue)) {\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n return propValue.reduce(function (acc, item, index) {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n\n if ((0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(propValue) === 'object') {\n var _themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n\n return Object.keys(propValue).reduce(function (acc, breakpoint) {\n acc[_themeBreakpoints.up(breakpoint)] = styleFromPropValue(propValue[breakpoint]);\n return acc;\n }, {});\n }\n\n var output = styleFromPropValue(propValue);\n return output;\n}\n\nfunction breakpoints(styleFunction) {\n var newStyleFunction = function newStyleFunction(props) {\n var base = styleFunction(props);\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n var extended = themeBreakpoints.keys.reduce(function (acc, key) {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n theme: props.theme\n }, props[key]));\n }\n\n return acc;\n }, null);\n return (0,_merge__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(base, extended);\n };\n\n newStyleFunction.propTypes = true ? (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, styleFunction.propTypes, {\n xs: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n sm: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n md: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n lg: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n xl: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object)\n }) : 0;\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl'].concat((0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(styleFunction.filterProps));\n return newStyleFunction;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (breakpoints);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/system/esm/breakpoints.js?");
8013
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ \"handleBreakpoints\": () => (/* binding */ handleBreakpoints)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/typeof */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _merge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./merge */ \"./node_modules/@material-ui/system/esm/merge.js\");\n\n\n\n\n // The breakpoint **start** at this value.\n// For instance with the first breakpoint xs: [xs, sm[.\n\nvar values = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n};\nvar defaultBreakpoints = {\n // Sorted ASC by size. That's important.\n // It can't be configured as it's used statically for propTypes.\n keys: ['xs', 'sm', 'md', 'lg', 'xl'],\n up: function up(key) {\n return \"@media (min-width:\".concat(values[key], \"px)\");\n }\n};\nfunction handleBreakpoints(props, propValue, styleFromPropValue) {\n if (true) {\n if (!props.theme) {\n console.error('Material-UI: You are calling a style function without a theme value.');\n }\n }\n\n if (Array.isArray(propValue)) {\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n return propValue.reduce(function (acc, item, index) {\n acc[themeBreakpoints.up(themeBreakpoints.keys[index])] = styleFromPropValue(propValue[index]);\n return acc;\n }, {});\n }\n\n if ((0,_babel_runtime_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(propValue) === 'object') {\n var _themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n\n return Object.keys(propValue).reduce(function (acc, breakpoint) {\n acc[_themeBreakpoints.up(breakpoint)] = styleFromPropValue(propValue[breakpoint]);\n return acc;\n }, {});\n }\n\n var output = styleFromPropValue(propValue);\n return output;\n}\n\nfunction breakpoints(styleFunction) {\n var newStyleFunction = function newStyleFunction(props) {\n var base = styleFunction(props);\n var themeBreakpoints = props.theme.breakpoints || defaultBreakpoints;\n var extended = themeBreakpoints.keys.reduce(function (acc, key) {\n if (props[key]) {\n acc = acc || {};\n acc[themeBreakpoints.up(key)] = styleFunction((0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n theme: props.theme\n }, props[key]));\n }\n\n return acc;\n }, null);\n return (0,_merge__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(base, extended);\n };\n\n newStyleFunction.propTypes = true ? (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, styleFunction.propTypes, {\n xs: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n sm: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n md: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n lg: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n xl: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)\n }) : 0;\n newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl'].concat((0,_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(styleFunction.filterProps));\n return newStyleFunction;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (breakpoints);\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/system/esm/breakpoints.js?");
8014
8014
 
8015
8015
  /***/ }),
8016
8016
 
@@ -8087,7 +8087,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
8087
8087
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
8088
8088
 
8089
8089
  "use strict";
8090
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _chainPropTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chainPropTypes */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n\n\n\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n var _elementType$prototyp = elementType.prototype,\n prototype = _elementType$prototyp === void 0 ? {} : _elementType$prototyp;\n return Boolean(prototype.isReactComponent);\n}\n\nfunction elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var safePropName = propFullName || propName;\n\n if (propValue == null) {\n return null;\n }\n\n var warningHint;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n\n if (typeof propValue === 'function' && !isClassComponent(propValue)) {\n warningHint = 'Did you accidentally provide a plain function component instead?';\n }\n\n if (warningHint !== undefined) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an element type that can hold a ref. \".concat(warningHint, \" \") + 'For more information see https://material-ui.com/r/caveat-with-refs-guide');\n }\n\n return null;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_chainPropTypes__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(prop_types__WEBPACK_IMPORTED_MODULE_0__.elementType, elementTypeAcceptingRef));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js?");
8090
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _chainPropTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chainPropTypes */ \"./node_modules/@material-ui/utils/esm/chainPropTypes.js\");\n\n\n\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n var _elementType$prototyp = elementType.prototype,\n prototype = _elementType$prototyp === void 0 ? {} : _elementType$prototyp;\n return Boolean(prototype.isReactComponent);\n}\n\nfunction elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var safePropName = propFullName || propName;\n\n if (propValue == null) {\n return null;\n }\n\n var warningHint;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n\n if (typeof propValue === 'function' && !isClassComponent(propValue)) {\n warningHint = 'Did you accidentally provide a plain function component instead?';\n }\n\n if (warningHint !== undefined) {\n return new Error(\"Invalid \".concat(location, \" `\").concat(safePropName, \"` supplied to `\").concat(componentName, \"`. \") + \"Expected an element type that can hold a ref. \".concat(warningHint, \" \") + 'For more information see https://material-ui.com/r/caveat-with-refs-guide');\n }\n\n return null;\n}\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_chainPropTypes__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(prop_types__WEBPACK_IMPORTED_MODULE_1__.elementType, elementTypeAcceptingRef));\n\n//# sourceURL=webpack://open-lens/./node_modules/@material-ui/utils/esm/elementTypeAcceptingRef.js?");
8091
8091
 
8092
8092
  /***/ }),
8093
8093
 
@@ -18284,7 +18284,7 @@ eval("\n\n// We define these manually to ensure they're always copied\n// even i
18284
18284
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
18285
18285
 
18286
18286
  "use strict";
18287
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n\n\n\n\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (true) {\n (0,tiny_warning__WEBPACK_IMPORTED_MODULE_3__[\"default\"])((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(react__WEBPACK_IMPORTED_MODULE_0__.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired), _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(react__WEBPACK_IMPORTED_MODULE_0__.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object), _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = react__WEBPACK_IMPORTED_MODULE_0__.createContext || createReactContext;\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (index);\n\n\n//# sourceURL=webpack://open-lens/./node_modules/mini-create-react-context/dist/esm/index.js?");
18287
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n\n\n\n\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (true) {\n (0,tiny_warning__WEBPACK_IMPORTED_MODULE_2__[\"default\"])((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(react__WEBPACK_IMPORTED_MODULE_0__.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired), _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(react__WEBPACK_IMPORTED_MODULE_0__.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object), _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = react__WEBPACK_IMPORTED_MODULE_0__.createContext || createReactContext;\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (index);\n\n\n//# sourceURL=webpack://open-lens/./node_modules/mini-create-react-context/dist/esm/index.js?");
18288
18288
 
18289
18289
  /***/ }),
18290
18290
 
@@ -18304,7 +18304,7 @@ eval("module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n
18304
18304
  \*********************************************/
18305
18305
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
18306
18306
 
18307
- eval("module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = { sep: '/' }\ntry {\n path = __webpack_require__(/*! path */ \"path\")\n} catch (er) {}\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = __webpack_require__(/*! brace-expansion */ \"./node_modules/brace-expansion/index.js\")\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n a = a || {}\n b = b || {}\n var t = {}\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return minimatch\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig.minimatch(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n if (!def || !Object.keys(def).length) return Minimatch\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n // \"\" only matches \"\"\n if (pattern.trim() === '') return p === ''\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n if (typeof pattern !== 'string') {\n throw new TypeError('glob pattern string required')\n }\n\n if (!options) options = {}\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n // don't do it more than once.\n if (this._made) return\n\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = console.error\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n if (typeof pattern === 'undefined') {\n throw new TypeError('undefined pattern')\n }\n\n if (options.nobrace ||\n !pattern.match(/\\{.*\\}/)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n if (pattern.length > 1024 * 64) {\n throw new TypeError('pattern is too long')\n }\n\n var options = this.options\n\n // shortcuts\n if (!options.noglobstar && pattern === '**') return GLOBSTAR\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n case '/':\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:<pattern>)<type>\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n if (inClass) {\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '.':\n case '[':\n case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = match\nfunction match (f, partial) {\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n if (options.nocase) {\n hit = f.toLowerCase() === p.toLowerCase()\n } else {\n hit = f === p\n }\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')\n return emptyFileEnd\n }\n\n // should be unreachable.\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/minimatch/minimatch.js?");
18307
+ eval("module.exports = minimatch\nminimatch.Minimatch = Minimatch\n\nvar path = (function () { try { return __webpack_require__(/*! path */ \"path\") } catch (e) {}}()) || {\n sep: '/'\n}\nminimatch.sep = path.sep\n\nvar GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}\nvar expand = __webpack_require__(/*! brace-expansion */ \"./node_modules/brace-expansion/index.js\")\n\nvar plTypes = {\n '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},\n '?': { open: '(?:', close: ')?' },\n '+': { open: '(?:', close: ')+' },\n '*': { open: '(?:', close: ')*' },\n '@': { open: '(?:', close: ')' }\n}\n\n// any single thing other than /\n// don't need to escape / when using new RegExp()\nvar qmark = '[^/]'\n\n// * => any number of characters\nvar star = qmark + '*?'\n\n// ** when dots are allowed. Anything goes, except .. and .\n// not (^ or / followed by one or two dots followed by $ or /),\n// followed by anything, any number of times.\nvar twoStarDot = '(?:(?!(?:\\\\\\/|^)(?:\\\\.{1,2})($|\\\\\\/)).)*?'\n\n// not a ^ or / followed by a dot,\n// followed by anything, any number of times.\nvar twoStarNoDot = '(?:(?!(?:\\\\\\/|^)\\\\.).)*?'\n\n// characters that need to be escaped in RegExp.\nvar reSpecials = charSet('().*{}+?[]^$\\\\!')\n\n// \"abc\" -> { a:true, b:true, c:true }\nfunction charSet (s) {\n return s.split('').reduce(function (set, c) {\n set[c] = true\n return set\n }, {})\n}\n\n// normalizes slashes.\nvar slashSplit = /\\/+/\n\nminimatch.filter = filter\nfunction filter (pattern, options) {\n options = options || {}\n return function (p, i, list) {\n return minimatch(p, pattern, options)\n }\n}\n\nfunction ext (a, b) {\n b = b || {}\n var t = {}\n Object.keys(a).forEach(function (k) {\n t[k] = a[k]\n })\n Object.keys(b).forEach(function (k) {\n t[k] = b[k]\n })\n return t\n}\n\nminimatch.defaults = function (def) {\n if (!def || typeof def !== 'object' || !Object.keys(def).length) {\n return minimatch\n }\n\n var orig = minimatch\n\n var m = function minimatch (p, pattern, options) {\n return orig(p, pattern, ext(def, options))\n }\n\n m.Minimatch = function Minimatch (pattern, options) {\n return new orig.Minimatch(pattern, ext(def, options))\n }\n m.Minimatch.defaults = function defaults (options) {\n return orig.defaults(ext(def, options)).Minimatch\n }\n\n m.filter = function filter (pattern, options) {\n return orig.filter(pattern, ext(def, options))\n }\n\n m.defaults = function defaults (options) {\n return orig.defaults(ext(def, options))\n }\n\n m.makeRe = function makeRe (pattern, options) {\n return orig.makeRe(pattern, ext(def, options))\n }\n\n m.braceExpand = function braceExpand (pattern, options) {\n return orig.braceExpand(pattern, ext(def, options))\n }\n\n m.match = function (list, pattern, options) {\n return orig.match(list, pattern, ext(def, options))\n }\n\n return m\n}\n\nMinimatch.defaults = function (def) {\n return minimatch.defaults(def).Minimatch\n}\n\nfunction minimatch (p, pattern, options) {\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n // shortcut: comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n return false\n }\n\n return new Minimatch(pattern, options).match(p)\n}\n\nfunction Minimatch (pattern, options) {\n if (!(this instanceof Minimatch)) {\n return new Minimatch(pattern, options)\n }\n\n assertValidPattern(pattern)\n\n if (!options) options = {}\n\n pattern = pattern.trim()\n\n // windows support: need to use /, not \\\n if (!options.allowWindowsEscape && path.sep !== '/') {\n pattern = pattern.split(path.sep).join('/')\n }\n\n this.options = options\n this.set = []\n this.pattern = pattern\n this.regexp = null\n this.negate = false\n this.comment = false\n this.empty = false\n this.partial = !!options.partial\n\n // make the set of regexps etc.\n this.make()\n}\n\nMinimatch.prototype.debug = function () {}\n\nMinimatch.prototype.make = make\nfunction make () {\n var pattern = this.pattern\n var options = this.options\n\n // empty patterns and comments match nothing.\n if (!options.nocomment && pattern.charAt(0) === '#') {\n this.comment = true\n return\n }\n if (!pattern) {\n this.empty = true\n return\n }\n\n // step 1: figure out negation, etc.\n this.parseNegate()\n\n // step 2: expand braces\n var set = this.globSet = this.braceExpand()\n\n if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }\n\n this.debug(this.pattern, set)\n\n // step 3: now we have a set, so turn each one into a series of path-portion\n // matching patterns.\n // These will be regexps, except in the case of \"**\", which is\n // set to the GLOBSTAR object for globstar behavior,\n // and will not contain any / characters\n set = this.globParts = set.map(function (s) {\n return s.split(slashSplit)\n })\n\n this.debug(this.pattern, set)\n\n // glob --> regexps\n set = set.map(function (s, si, set) {\n return s.map(this.parse, this)\n }, this)\n\n this.debug(this.pattern, set)\n\n // filter out everything that didn't compile properly.\n set = set.filter(function (s) {\n return s.indexOf(false) === -1\n })\n\n this.debug(this.pattern, set)\n\n this.set = set\n}\n\nMinimatch.prototype.parseNegate = parseNegate\nfunction parseNegate () {\n var pattern = this.pattern\n var negate = false\n var options = this.options\n var negateOffset = 0\n\n if (options.nonegate) return\n\n for (var i = 0, l = pattern.length\n ; i < l && pattern.charAt(i) === '!'\n ; i++) {\n negate = !negate\n negateOffset++\n }\n\n if (negateOffset) this.pattern = pattern.substr(negateOffset)\n this.negate = negate\n}\n\n// Brace expansion:\n// a{b,c}d -> abd acd\n// a{b,}c -> abc ac\n// a{0..3}d -> a0d a1d a2d a3d\n// a{b,c{d,e}f}g -> abg acdfg acefg\n// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg\n//\n// Invalid sets are not expanded.\n// a{2..}b -> a{2..}b\n// a{b}c -> a{b}c\nminimatch.braceExpand = function (pattern, options) {\n return braceExpand(pattern, options)\n}\n\nMinimatch.prototype.braceExpand = braceExpand\n\nfunction braceExpand (pattern, options) {\n if (!options) {\n if (this instanceof Minimatch) {\n options = this.options\n } else {\n options = {}\n }\n }\n\n pattern = typeof pattern === 'undefined'\n ? this.pattern : pattern\n\n assertValidPattern(pattern)\n\n // Thanks to Yeting Li <https://github.com/yetingli> for\n // improving this regexp to avoid a ReDOS vulnerability.\n if (options.nobrace || !/\\{(?:(?!\\{).)*\\}/.test(pattern)) {\n // shortcut. no need to expand.\n return [pattern]\n }\n\n return expand(pattern)\n}\n\nvar MAX_PATTERN_LENGTH = 1024 * 64\nvar assertValidPattern = function (pattern) {\n if (typeof pattern !== 'string') {\n throw new TypeError('invalid pattern')\n }\n\n if (pattern.length > MAX_PATTERN_LENGTH) {\n throw new TypeError('pattern is too long')\n }\n}\n\n// parse a component of the expanded set.\n// At this point, no pattern may contain \"/\" in it\n// so we're going to return a 2d array, where each entry is the full\n// pattern, split on '/', and then turned into a regular expression.\n// A regexp is made at the end which joins each array with an\n// escaped /, and another full one which joins each regexp with |.\n//\n// Following the lead of Bash 4.1, note that \"**\" only has special meaning\n// when it is the *only* thing in a path portion. Otherwise, any series\n// of * is equivalent to a single *. Globstar behavior is enabled by\n// default, and can be disabled by setting options.noglobstar.\nMinimatch.prototype.parse = parse\nvar SUBPARSE = {}\nfunction parse (pattern, isSub) {\n assertValidPattern(pattern)\n\n var options = this.options\n\n // shortcuts\n if (pattern === '**') {\n if (!options.noglobstar)\n return GLOBSTAR\n else\n pattern = '*'\n }\n if (pattern === '') return ''\n\n var re = ''\n var hasMagic = !!options.nocase\n var escaping = false\n // ? => one single character\n var patternListStack = []\n var negativeLists = []\n var stateChar\n var inClass = false\n var reClassStart = -1\n var classStart = -1\n // . and .. never match anything that doesn't start with .,\n // even when options.dot is set.\n var patternStart = pattern.charAt(0) === '.' ? '' // anything\n // not (start or / followed by . or .. followed by / or end)\n : options.dot ? '(?!(?:^|\\\\\\/)\\\\.{1,2}(?:$|\\\\\\/))'\n : '(?!\\\\.)'\n var self = this\n\n function clearStateChar () {\n if (stateChar) {\n // we had some state-tracking character\n // that wasn't consumed by this pass.\n switch (stateChar) {\n case '*':\n re += star\n hasMagic = true\n break\n case '?':\n re += qmark\n hasMagic = true\n break\n default:\n re += '\\\\' + stateChar\n break\n }\n self.debug('clearStateChar %j %j', stateChar, re)\n stateChar = false\n }\n }\n\n for (var i = 0, len = pattern.length, c\n ; (i < len) && (c = pattern.charAt(i))\n ; i++) {\n this.debug('%s\\t%s %s %j', pattern, i, re, c)\n\n // skip over any that are escaped.\n if (escaping && reSpecials[c]) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n switch (c) {\n /* istanbul ignore next */\n case '/': {\n // completely not allowed, even escaped.\n // Should already be path-split by now.\n return false\n }\n\n case '\\\\':\n clearStateChar()\n escaping = true\n continue\n\n // the various stateChar values\n // for the \"extglob\" stuff.\n case '?':\n case '*':\n case '+':\n case '@':\n case '!':\n this.debug('%s\\t%s %s %j <-- stateChar', pattern, i, re, c)\n\n // all of those are literals inside a class, except that\n // the glob [!a] means [^a] in regexp\n if (inClass) {\n this.debug(' in class')\n if (c === '!' && i === classStart + 1) c = '^'\n re += c\n continue\n }\n\n // if we already have a stateChar, then it means\n // that there was something like ** or +? in there.\n // Handle the stateChar, then proceed with this one.\n self.debug('call clearStateChar %j', stateChar)\n clearStateChar()\n stateChar = c\n // if extglob is disabled, then +(asdf|foo) isn't a thing.\n // just clear the statechar *now*, rather than even diving into\n // the patternList stuff.\n if (options.noext) clearStateChar()\n continue\n\n case '(':\n if (inClass) {\n re += '('\n continue\n }\n\n if (!stateChar) {\n re += '\\\\('\n continue\n }\n\n patternListStack.push({\n type: stateChar,\n start: i - 1,\n reStart: re.length,\n open: plTypes[stateChar].open,\n close: plTypes[stateChar].close\n })\n // negation is (?:(?!js)[^/]*)\n re += stateChar === '!' ? '(?:(?!(?:' : '(?:'\n this.debug('plType %j %j', stateChar, re)\n stateChar = false\n continue\n\n case ')':\n if (inClass || !patternListStack.length) {\n re += '\\\\)'\n continue\n }\n\n clearStateChar()\n hasMagic = true\n var pl = patternListStack.pop()\n // negation is (?:(?!js)[^/]*)\n // The others are (?:<pattern>)<type>\n re += pl.close\n if (pl.type === '!') {\n negativeLists.push(pl)\n }\n pl.reEnd = re.length\n continue\n\n case '|':\n if (inClass || !patternListStack.length || escaping) {\n re += '\\\\|'\n escaping = false\n continue\n }\n\n clearStateChar()\n re += '|'\n continue\n\n // these are mostly the same in regexp and glob\n case '[':\n // swallow any state-tracking char before the [\n clearStateChar()\n\n if (inClass) {\n re += '\\\\' + c\n continue\n }\n\n inClass = true\n classStart = i\n reClassStart = re.length\n re += c\n continue\n\n case ']':\n // a right bracket shall lose its special\n // meaning and represent itself in\n // a bracket expression if it occurs\n // first in the list. -- POSIX.2 2.8.3.2\n if (i === classStart + 1 || !inClass) {\n re += '\\\\' + c\n escaping = false\n continue\n }\n\n // handle the case where we left a class open.\n // \"[z-a]\" is valid, equivalent to \"\\[z-a\\]\"\n // split where the last [ was, make sure we don't have\n // an invalid re. if so, re-walk the contents of the\n // would-be class to re-translate any characters that\n // were passed through as-is\n // TODO: It would probably be faster to determine this\n // without a try/catch and a new RegExp, but it's tricky\n // to do safely. For now, this is safe and works.\n var cs = pattern.substring(classStart + 1, i)\n try {\n RegExp('[' + cs + ']')\n } catch (er) {\n // not a valid class!\n var sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0] + '\\\\]'\n hasMagic = hasMagic || sp[1]\n inClass = false\n continue\n }\n\n // finish up the class.\n hasMagic = true\n inClass = false\n re += c\n continue\n\n default:\n // swallow any state char that wasn't consumed\n clearStateChar()\n\n if (escaping) {\n // no need\n escaping = false\n } else if (reSpecials[c]\n && !(c === '^' && inClass)) {\n re += '\\\\'\n }\n\n re += c\n\n } // switch\n } // for\n\n // handle the case where we left a class open.\n // \"[abc\" is valid, equivalent to \"\\[abc\"\n if (inClass) {\n // split where the last [ was, and escape it\n // this is a huge pita. We now have to re-walk\n // the contents of the would-be class to re-translate\n // any characters that were passed through as-is\n cs = pattern.substr(classStart + 1)\n sp = this.parse(cs, SUBPARSE)\n re = re.substr(0, reClassStart) + '\\\\[' + sp[0]\n hasMagic = hasMagic || sp[1]\n }\n\n // handle the case where we had a +( thing at the *end*\n // of the pattern.\n // each pattern list stack adds 3 chars, and we need to go through\n // and escape any | chars that were passed through as-is for the regexp.\n // Go through and escape them, taking care not to double-escape any\n // | chars that were already escaped.\n for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {\n var tail = re.slice(pl.reStart + pl.open.length)\n this.debug('setting tail', re, pl)\n // maybe some even number of \\, then maybe 1 \\, followed by a |\n tail = tail.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g, function (_, $1, $2) {\n if (!$2) {\n // the | isn't already escaped, so escape it.\n $2 = '\\\\'\n }\n\n // need to escape all those slashes *again*, without escaping the\n // one that we need for escaping the | character. As it works out,\n // escaping an even number of slashes can be done by simply repeating\n // it exactly after itself. That's why this trick works.\n //\n // I am sorry that you have to see this.\n return $1 + $1 + $2 + '|'\n })\n\n this.debug('tail=%j\\n %s', tail, tail, pl, re)\n var t = pl.type === '*' ? star\n : pl.type === '?' ? qmark\n : '\\\\' + pl.type\n\n hasMagic = true\n re = re.slice(0, pl.reStart) + t + '\\\\(' + tail\n }\n\n // handle trailing things that only matter at the very end.\n clearStateChar()\n if (escaping) {\n // trailing \\\\\n re += '\\\\\\\\'\n }\n\n // only need to apply the nodot start if the re starts with\n // something that could conceivably capture a dot\n var addPatternStart = false\n switch (re.charAt(0)) {\n case '[': case '.': case '(': addPatternStart = true\n }\n\n // Hack to work around lack of negative lookbehind in JS\n // A pattern like: *.!(x).!(y|z) needs to ensure that a name\n // like 'a.xyz.yz' doesn't match. So, the first negative\n // lookahead, has to look ALL the way ahead, to the end of\n // the pattern.\n for (var n = negativeLists.length - 1; n > -1; n--) {\n var nl = negativeLists[n]\n\n var nlBefore = re.slice(0, nl.reStart)\n var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)\n var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)\n var nlAfter = re.slice(nl.reEnd)\n\n nlLast += nlAfter\n\n // Handle nested stuff like *(*.js|!(*.json)), where open parens\n // mean that we should *not* include the ) in the bit that is considered\n // \"after\" the negated section.\n var openParensBefore = nlBefore.split('(').length - 1\n var cleanAfter = nlAfter\n for (i = 0; i < openParensBefore; i++) {\n cleanAfter = cleanAfter.replace(/\\)[+*?]?/, '')\n }\n nlAfter = cleanAfter\n\n var dollar = ''\n if (nlAfter === '' && isSub !== SUBPARSE) {\n dollar = '$'\n }\n var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast\n re = newRe\n }\n\n // if the re is not \"\" at this point, then we need to make sure\n // it doesn't match against an empty path part.\n // Otherwise a/* will match a/, which it should not.\n if (re !== '' && hasMagic) {\n re = '(?=.)' + re\n }\n\n if (addPatternStart) {\n re = patternStart + re\n }\n\n // parsing just a piece of a larger pattern.\n if (isSub === SUBPARSE) {\n return [re, hasMagic]\n }\n\n // skip the regexp for non-magical patterns\n // unescape anything in it, though, so that it'll be\n // an exact match against a file etc.\n if (!hasMagic) {\n return globUnescape(pattern)\n }\n\n var flags = options.nocase ? 'i' : ''\n try {\n var regExp = new RegExp('^' + re + '$', flags)\n } catch (er) /* istanbul ignore next - should be impossible */ {\n // If it was an invalid regular expression, then it can't match\n // anything. This trick looks for a character after the end of\n // the string, which is of course impossible, except in multi-line\n // mode, but it's not a /m regex.\n return new RegExp('$.')\n }\n\n regExp._glob = pattern\n regExp._src = re\n\n return regExp\n}\n\nminimatch.makeRe = function (pattern, options) {\n return new Minimatch(pattern, options || {}).makeRe()\n}\n\nMinimatch.prototype.makeRe = makeRe\nfunction makeRe () {\n if (this.regexp || this.regexp === false) return this.regexp\n\n // at this point, this.set is a 2d array of partial\n // pattern strings, or \"**\".\n //\n // It's better to use .match(). This function shouldn't\n // be used, really, but it's pretty convenient sometimes,\n // when you just want to work with a regex.\n var set = this.set\n\n if (!set.length) {\n this.regexp = false\n return this.regexp\n }\n var options = this.options\n\n var twoStar = options.noglobstar ? star\n : options.dot ? twoStarDot\n : twoStarNoDot\n var flags = options.nocase ? 'i' : ''\n\n var re = set.map(function (pattern) {\n return pattern.map(function (p) {\n return (p === GLOBSTAR) ? twoStar\n : (typeof p === 'string') ? regExpEscape(p)\n : p._src\n }).join('\\\\\\/')\n }).join('|')\n\n // must match entire pattern\n // ending in a * or ** will make it less strict.\n re = '^(?:' + re + ')$'\n\n // can match anything, as long as it's not this.\n if (this.negate) re = '^(?!' + re + ').*$'\n\n try {\n this.regexp = new RegExp(re, flags)\n } catch (ex) /* istanbul ignore next - should be impossible */ {\n this.regexp = false\n }\n return this.regexp\n}\n\nminimatch.match = function (list, pattern, options) {\n options = options || {}\n var mm = new Minimatch(pattern, options)\n list = list.filter(function (f) {\n return mm.match(f)\n })\n if (mm.options.nonull && !list.length) {\n list.push(pattern)\n }\n return list\n}\n\nMinimatch.prototype.match = function match (f, partial) {\n if (typeof partial === 'undefined') partial = this.partial\n this.debug('match', f, this.pattern)\n // short-circuit in the case of busted things.\n // comments, etc.\n if (this.comment) return false\n if (this.empty) return f === ''\n\n if (f === '/' && partial) return true\n\n var options = this.options\n\n // windows: need to use /, not \\\n if (path.sep !== '/') {\n f = f.split(path.sep).join('/')\n }\n\n // treat the test path as a set of pathparts.\n f = f.split(slashSplit)\n this.debug(this.pattern, 'split', f)\n\n // just ONE of the pattern sets in this.set needs to match\n // in order for it to be valid. If negating, then just one\n // match means that we have failed.\n // Either way, return on the first hit.\n\n var set = this.set\n this.debug(this.pattern, 'set', set)\n\n // Find the basename of the path by looking for the last non-empty segment\n var filename\n var i\n for (i = f.length - 1; i >= 0; i--) {\n filename = f[i]\n if (filename) break\n }\n\n for (i = 0; i < set.length; i++) {\n var pattern = set[i]\n var file = f\n if (options.matchBase && pattern.length === 1) {\n file = [filename]\n }\n var hit = this.matchOne(file, pattern, partial)\n if (hit) {\n if (options.flipNegate) return true\n return !this.negate\n }\n }\n\n // didn't get any hits. this is success if it's a negative\n // pattern, failure otherwise.\n if (options.flipNegate) return false\n return this.negate\n}\n\n// set partial to true to test if, for example,\n// \"/a/b\" matches the start of \"/*/b/*/d\"\n// Partial means, if you run out of file before you run\n// out of pattern, then that's fine, as long as all\n// the parts match.\nMinimatch.prototype.matchOne = function (file, pattern, partial) {\n var options = this.options\n\n this.debug('matchOne',\n { 'this': this, file: file, pattern: pattern })\n\n this.debug('matchOne', file.length, pattern.length)\n\n for (var fi = 0,\n pi = 0,\n fl = file.length,\n pl = pattern.length\n ; (fi < fl) && (pi < pl)\n ; fi++, pi++) {\n this.debug('matchOne loop')\n var p = pattern[pi]\n var f = file[fi]\n\n this.debug(pattern, p, f)\n\n // should be impossible.\n // some invalid regexp stuff in the set.\n /* istanbul ignore if */\n if (p === false) return false\n\n if (p === GLOBSTAR) {\n this.debug('GLOBSTAR', [pattern, p, f])\n\n // \"**\"\n // a/**/b/**/c would match the following:\n // a/b/x/y/z/c\n // a/x/y/z/b/c\n // a/b/x/b/x/c\n // a/b/c\n // To do this, take the rest of the pattern after\n // the **, and see if it would match the file remainder.\n // If so, return success.\n // If not, the ** \"swallows\" a segment, and try again.\n // This is recursively awful.\n //\n // a/**/b/**/c matching a/b/x/y/z/c\n // - a matches a\n // - doublestar\n // - matchOne(b/x/y/z/c, b/**/c)\n // - b matches b\n // - doublestar\n // - matchOne(x/y/z/c, c) -> no\n // - matchOne(y/z/c, c) -> no\n // - matchOne(z/c, c) -> no\n // - matchOne(c, c) yes, hit\n var fr = fi\n var pr = pi + 1\n if (pr === pl) {\n this.debug('** at the end')\n // a ** at the end will just swallow the rest.\n // We have found a match.\n // however, it will not swallow /.x, unless\n // options.dot is set.\n // . and .. are *never* matched by **, for explosively\n // exponential reasons.\n for (; fi < fl; fi++) {\n if (file[fi] === '.' || file[fi] === '..' ||\n (!options.dot && file[fi].charAt(0) === '.')) return false\n }\n return true\n }\n\n // ok, let's see if we can swallow whatever we can.\n while (fr < fl) {\n var swallowee = file[fr]\n\n this.debug('\\nglobstar while', file, fr, pattern, pr, swallowee)\n\n // XXX remove this slice. Just pass the start index.\n if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {\n this.debug('globstar found match!', fr, fl, swallowee)\n // found a match.\n return true\n } else {\n // can't swallow \".\" or \"..\" ever.\n // can only swallow \".foo\" when explicitly asked.\n if (swallowee === '.' || swallowee === '..' ||\n (!options.dot && swallowee.charAt(0) === '.')) {\n this.debug('dot detected!', file, fr, pattern, pr)\n break\n }\n\n // ** swallows a segment, and continue.\n this.debug('globstar swallow a segment, and continue')\n fr++\n }\n }\n\n // no match was found.\n // However, in partial mode, we can't say this is necessarily over.\n // If there's more *pattern* left, then\n /* istanbul ignore if */\n if (partial) {\n // ran out of file\n this.debug('\\n>>> no match, partial?', file, fr, pattern, pr)\n if (fr === fl) return true\n }\n return false\n }\n\n // something other than **\n // non-magic patterns just have to match exactly\n // patterns with magic have been turned into regexps.\n var hit\n if (typeof p === 'string') {\n hit = f === p\n this.debug('string match', p, f, hit)\n } else {\n hit = f.match(p)\n this.debug('pattern match', p, f, hit)\n }\n\n if (!hit) return false\n }\n\n // Note: ending in / means that we'll get a final \"\"\n // at the end of the pattern. This can only match a\n // corresponding \"\" at the end of the file.\n // If the file ends in /, then it can only match a\n // a pattern that ends in /, unless the pattern just\n // doesn't have any more for it. But, a/b/ should *not*\n // match \"a/b/*\", even though \"\" matches against the\n // [^/]*? pattern, except in partial mode, where it might\n // simply not be reached yet.\n // However, a/b/ should still satisfy a/*\n\n // now either we fell off the end of the pattern, or we're done.\n if (fi === fl && pi === pl) {\n // ran out of pattern and filename at the same time.\n // an exact hit!\n return true\n } else if (fi === fl) {\n // ran out of file, but still had pattern left.\n // this is ok if we're doing the match as part of\n // a glob fs traversal.\n return partial\n } else /* istanbul ignore else */ if (pi === pl) {\n // ran out of pattern, still have file left.\n // this is only acceptable if we're on the very last\n // empty segment of a file with a trailing slash.\n // a/* should match a/b/\n return (fi === fl - 1) && (file[fi] === '')\n }\n\n // should be unreachable.\n /* istanbul ignore next */\n throw new Error('wtf?')\n}\n\n// replace stuff like \\* with *\nfunction globUnescape (s) {\n return s.replace(/\\\\(.)/g, '$1')\n}\n\nfunction regExpEscape (s) {\n return s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&')\n}\n\n\n//# sourceURL=webpack://open-lens/./node_modules/minimatch/minimatch.js?");
18308
18308
 
18309
18309
  /***/ }),
18310
18310
 
@@ -27590,7 +27590,7 @@ eval("\n\nif (typeof process === 'undefined' ||\n !process.version ||\n pr
27590
27590
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
27591
27591
 
27592
27592
  "use strict";
27593
- eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (true) {\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n var loggedTypeFailures = {};\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (true) {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/checkPropTypes.js?");
27593
+ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar printWarning = function() {};\n\nif (true) {\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\n var loggedTypeFailures = {};\n var has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (true) {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (true) {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/checkPropTypes.js?");
27594
27594
 
27595
27595
  /***/ }),
27596
27596
 
@@ -27601,7 +27601,7 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod
27601
27601
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
27602
27602
 
27603
27603
  "use strict";
27604
- eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/prop-types/node_modules/react-is/index.js\");\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar has = Function.call.bind(Object.prototype.hasOwnProperty);\nvar printWarning = function() {};\n\nif (true) {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if ( true && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (true) {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/factoryWithTypeCheckers.js?");
27604
+ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactIs = __webpack_require__(/*! react-is */ \"./node_modules/prop-types/node_modules/react-is/index.js\");\nvar assign = __webpack_require__(/*! object-assign */ \"./node_modules/object-assign/index.js\");\n\nvar ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\");\nvar has = __webpack_require__(/*! ./lib/has */ \"./node_modules/prop-types/lib/has.js\");\nvar checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ \"./node_modules/prop-types/checkPropTypes.js\");\n\nvar printWarning = function() {};\n\nif (true) {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (true) {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if ( true && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (true) {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/factoryWithTypeCheckers.js?");
27605
27605
 
27606
27606
  /***/ }),
27607
27607
 
@@ -27626,6 +27626,16 @@ eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source cod
27626
27626
 
27627
27627
  /***/ }),
27628
27628
 
27629
+ /***/ "./node_modules/prop-types/lib/has.js":
27630
+ /*!********************************************!*\
27631
+ !*** ./node_modules/prop-types/lib/has.js ***!
27632
+ \********************************************/
27633
+ /***/ ((module) => {
27634
+
27635
+ eval("module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n\n\n//# sourceURL=webpack://open-lens/./node_modules/prop-types/lib/has.js?");
27636
+
27637
+ /***/ }),
27638
+
27629
27639
  /***/ "./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
27630
27640
  /*!***********************************************************************************!*\
27631
27641
  !*** ./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
@@ -27742,7 +27752,7 @@ eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs
27742
27752
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
27743
27753
 
27744
27754
  "use strict";
27745
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BrowserRouter\": () => (/* binding */ BrowserRouter),\n/* harmony export */ \"HashRouter\": () => (/* binding */ HashRouter),\n/* harmony export */ \"Link\": () => (/* binding */ Link),\n/* harmony export */ \"MemoryRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.MemoryRouter),\n/* harmony export */ \"NavLink\": () => (/* binding */ NavLink),\n/* harmony export */ \"Prompt\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Prompt),\n/* harmony export */ \"Redirect\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Redirect),\n/* harmony export */ \"Route\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Route),\n/* harmony export */ \"Router\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Router),\n/* harmony export */ \"StaticRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.StaticRouter),\n/* harmony export */ \"Switch\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Switch),\n/* harmony export */ \"generatePath\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.generatePath),\n/* harmony export */ \"matchPath\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.matchPath),\n/* harmony export */ \"useHistory\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useHistory),\n/* harmony export */ \"useLocation\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useLocation),\n/* harmony export */ \"useParams\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useParams),\n/* harmony export */ \"useRouteMatch\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useRouteMatch),\n/* harmony export */ \"withRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.withRouter)\n/* harmony export */ });\n/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-router */ \"./node_modules/react-router/esm/react-router.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\n\nvar BrowserRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_6__.createBrowserHistory)(_this.props);\n return _this;\n }\n\n var _proto = BrowserRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return BrowserRouter;\n}(react__WEBPACK_IMPORTED_MODULE_2__.Component);\n\nif (true) {\n BrowserRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n forceRefresh: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n keyLength: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().number)\n };\n\n BrowserRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(!this.props.history, \"<BrowserRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\") : 0;\n };\n}\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\n\nvar HashRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(HashRouter, _React$Component);\n\n function HashRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_6__.createHashHistory)(_this.props);\n return _this;\n }\n\n var _proto = HashRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return HashRouter;\n}(react__WEBPACK_IMPORTED_MODULE_2__.Component);\n\nif (true) {\n HashRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().node),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n hashType: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(!this.props.history, \"<HashRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\") : 0;\n };\n}\n\nvar resolveToLocation = function resolveToLocation(to, currentLocation) {\n return typeof to === \"function\" ? to(currentLocation) : to;\n};\nvar normalizeToLocation = function normalizeToLocation(to, currentLocation) {\n return typeof to === \"string\" ? (0,history__WEBPACK_IMPORTED_MODULE_6__.createLocation)(to, null, null, currentLocation) : to;\n};\n\nvar forwardRefShim = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef = react__WEBPACK_IMPORTED_MODULE_2__.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nvar LinkAnchor = forwardRef(function (_ref, forwardedRef) {\n var innerRef = _ref.innerRef,\n navigate = _ref.navigate,\n _onClick = _ref.onClick,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_ref, [\"innerRef\", \"navigate\", \"onClick\"]);\n\n var target = rest.target;\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, rest, {\n onClick: function onClick(event) {\n try {\n if (_onClick) _onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && ( // ignore everything but left clicks\n !target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"a\", props);\n});\n\nif (true) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n/**\n * The public API for rendering a history-aware <a>.\n */\n\n\nvar Link = forwardRef(function (_ref2, forwardedRef) {\n var _ref2$component = _ref2.component,\n component = _ref2$component === void 0 ? LinkAnchor : _ref2$component,\n replace = _ref2.replace,\n to = _ref2.to,\n innerRef = _ref2.innerRef,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_ref2, [\"component\", \"replace\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.__RouterContext.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(false, \"You should not use <Link> outside a <Router>\") : 0 : void 0;\n var history = context.history;\n var location = normalizeToLocation(resolveToLocation(to, context.location), context.location);\n var href = location ? history.createHref(location) : \"\";\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, rest, {\n href: href,\n navigate: function navigate() {\n var location = resolveToLocation(to, context.location);\n var isDuplicateNavigation = (0,history__WEBPACK_IMPORTED_MODULE_6__.createPath)(context.location) === (0,history__WEBPACK_IMPORTED_MODULE_6__.createPath)(normalizeToLocation(location));\n var method = replace || isDuplicateNavigation ? history.replace : history.push;\n method(location);\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(component, props);\n });\n});\n\nif (true) {\n var toType = prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func)]);\n var refType = prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func), prop_types__WEBPACK_IMPORTED_MODULE_3___default().shape({\n current: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().any)\n })]);\n Link.displayName = \"Link\";\n Link.propTypes = {\n innerRef: refType,\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n replace: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n target: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n to: toType.isRequired\n };\n}\n\nvar forwardRefShim$1 = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef$1 = react__WEBPACK_IMPORTED_MODULE_2__.forwardRef;\n\nif (typeof forwardRef$1 === \"undefined\") {\n forwardRef$1 = forwardRefShim$1;\n}\n\nfunction joinClassnames() {\n for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) {\n classnames[_key] = arguments[_key];\n }\n\n return classnames.filter(function (i) {\n return i;\n }).join(\" \");\n}\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\n\n\nvar NavLink = forwardRef$1(function (_ref, forwardedRef) {\n var _ref$ariaCurrent = _ref[\"aria-current\"],\n ariaCurrent = _ref$ariaCurrent === void 0 ? \"page\" : _ref$ariaCurrent,\n _ref$activeClassName = _ref.activeClassName,\n activeClassName = _ref$activeClassName === void 0 ? \"active\" : _ref$activeClassName,\n activeStyle = _ref.activeStyle,\n classNameProp = _ref.className,\n exact = _ref.exact,\n isActiveProp = _ref.isActive,\n locationProp = _ref.location,\n sensitive = _ref.sensitive,\n strict = _ref.strict,\n styleProp = _ref.style,\n to = _ref.to,\n innerRef = _ref.innerRef,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(_ref, [\"aria-current\", \"activeClassName\", \"activeStyle\", \"className\", \"exact\", \"isActive\", \"location\", \"sensitive\", \"strict\", \"style\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.__RouterContext.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(false, \"You should not use <NavLink> outside a <Router>\") : 0 : void 0;\n var currentLocation = locationProp || context.location;\n var toLocation = normalizeToLocation(resolveToLocation(to, currentLocation), currentLocation);\n var path = toLocation.pathname; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n var match = escapedPath ? (0,react_router__WEBPACK_IMPORTED_MODULE_0__.matchPath)(currentLocation.pathname, {\n path: escapedPath,\n exact: exact,\n sensitive: sensitive,\n strict: strict\n }) : null;\n var isActive = !!(isActiveProp ? isActiveProp(match, currentLocation) : match);\n var className = typeof classNameProp === \"function\" ? classNameProp(isActive) : classNameProp;\n var style = typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, style, activeStyle);\n }\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({\n \"aria-current\": isActive && ariaCurrent || null,\n className: className,\n style: style,\n to: toLocation\n }, rest); // React 15 compat\n\n\n if (forwardRefShim$1 !== forwardRef$1) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Link, props);\n });\n});\n\nif (true) {\n NavLink.displayName = \"NavLink\";\n var ariaCurrentType = prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\", \"false\"]);\n NavLink.propTypes = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, Link.propTypes, {\n \"aria-current\": ariaCurrentType,\n activeClassName: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string),\n activeStyle: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n className: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func)]),\n exact: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n isActive: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().object),\n sensitive: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n strict: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().bool),\n style: prop_types__WEBPACK_IMPORTED_MODULE_3___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_3___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func)])\n });\n}\n\n\n//# sourceMappingURL=react-router-dom.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/react-router-dom/esm/react-router-dom.js?");
27755
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BrowserRouter\": () => (/* binding */ BrowserRouter),\n/* harmony export */ \"HashRouter\": () => (/* binding */ HashRouter),\n/* harmony export */ \"Link\": () => (/* binding */ Link),\n/* harmony export */ \"MemoryRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.MemoryRouter),\n/* harmony export */ \"NavLink\": () => (/* binding */ NavLink),\n/* harmony export */ \"Prompt\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Prompt),\n/* harmony export */ \"Redirect\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Redirect),\n/* harmony export */ \"Route\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Route),\n/* harmony export */ \"Router\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Router),\n/* harmony export */ \"StaticRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.StaticRouter),\n/* harmony export */ \"Switch\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.Switch),\n/* harmony export */ \"generatePath\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.generatePath),\n/* harmony export */ \"matchPath\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.matchPath),\n/* harmony export */ \"useHistory\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useHistory),\n/* harmony export */ \"useLocation\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useLocation),\n/* harmony export */ \"useParams\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useParams),\n/* harmony export */ \"useRouteMatch\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.useRouteMatch),\n/* harmony export */ \"withRouter\": () => (/* reexport safe */ react_router__WEBPACK_IMPORTED_MODULE_0__.withRouter)\n/* harmony export */ });\n/* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-router */ \"./node_modules/react-router/esm/react-router.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\n\nvar BrowserRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_5__.createBrowserHistory)(_this.props);\n return _this;\n }\n\n var _proto = BrowserRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return BrowserRouter;\n}(react__WEBPACK_IMPORTED_MODULE_2__.Component);\n\nif (true) {\n BrowserRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().node),\n forceRefresh: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n keyLength: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().number)\n };\n\n BrowserRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(!this.props.history, \"<BrowserRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\") : 0;\n };\n}\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\n\nvar HashRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(HashRouter, _React$Component);\n\n function HashRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_5__.createHashHistory)(_this.props);\n return _this;\n }\n\n var _proto = HashRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return HashRouter;\n}(react__WEBPACK_IMPORTED_MODULE_2__.Component);\n\nif (true) {\n HashRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().node),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n hashType: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(!this.props.history, \"<HashRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\") : 0;\n };\n}\n\nvar resolveToLocation = function resolveToLocation(to, currentLocation) {\n return typeof to === \"function\" ? to(currentLocation) : to;\n};\nvar normalizeToLocation = function normalizeToLocation(to, currentLocation) {\n return typeof to === \"string\" ? (0,history__WEBPACK_IMPORTED_MODULE_5__.createLocation)(to, null, null, currentLocation) : to;\n};\n\nvar forwardRefShim = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef = react__WEBPACK_IMPORTED_MODULE_2__.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nvar LinkAnchor = forwardRef(function (_ref, forwardedRef) {\n var innerRef = _ref.innerRef,\n navigate = _ref.navigate,\n _onClick = _ref.onClick,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_ref, [\"innerRef\", \"navigate\", \"onClick\"]);\n\n var target = rest.target;\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, rest, {\n onClick: function onClick(event) {\n try {\n if (_onClick) _onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && ( // ignore everything but left clicks\n !target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"a\", props);\n});\n\nif (true) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n/**\n * The public API for rendering a history-aware <a>.\n */\n\n\nvar Link = forwardRef(function (_ref2, forwardedRef) {\n var _ref2$component = _ref2.component,\n component = _ref2$component === void 0 ? LinkAnchor : _ref2$component,\n replace = _ref2.replace,\n to = _ref2.to,\n innerRef = _ref2.innerRef,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_ref2, [\"component\", \"replace\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.__RouterContext.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(false, \"You should not use <Link> outside a <Router>\") : 0 : void 0;\n var history = context.history;\n var location = normalizeToLocation(resolveToLocation(to, context.location), context.location);\n var href = location ? history.createHref(location) : \"\";\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, rest, {\n href: href,\n navigate: function navigate() {\n var location = resolveToLocation(to, context.location);\n var isDuplicateNavigation = (0,history__WEBPACK_IMPORTED_MODULE_5__.createPath)(context.location) === (0,history__WEBPACK_IMPORTED_MODULE_5__.createPath)(normalizeToLocation(location));\n var method = replace || isDuplicateNavigation ? history.replace : history.push;\n method(location);\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(component, props);\n });\n});\n\nif (true) {\n var toType = prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func)]);\n var refType = prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func), prop_types__WEBPACK_IMPORTED_MODULE_6___default().shape({\n current: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().any)\n })]);\n Link.displayName = \"Link\";\n Link.propTypes = {\n innerRef: refType,\n onClick: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n replace: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n target: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),\n to: toType.isRequired\n };\n}\n\nvar forwardRefShim$1 = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef$1 = react__WEBPACK_IMPORTED_MODULE_2__.forwardRef;\n\nif (typeof forwardRef$1 === \"undefined\") {\n forwardRef$1 = forwardRefShim$1;\n}\n\nfunction joinClassnames() {\n for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) {\n classnames[_key] = arguments[_key];\n }\n\n return classnames.filter(function (i) {\n return i;\n }).join(\" \");\n}\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\n\n\nvar NavLink = forwardRef$1(function (_ref, forwardedRef) {\n var _ref$ariaCurrent = _ref[\"aria-current\"],\n ariaCurrent = _ref$ariaCurrent === void 0 ? \"page\" : _ref$ariaCurrent,\n _ref$activeClassName = _ref.activeClassName,\n activeClassName = _ref$activeClassName === void 0 ? \"active\" : _ref$activeClassName,\n activeStyle = _ref.activeStyle,\n classNameProp = _ref.className,\n exact = _ref.exact,\n isActiveProp = _ref.isActive,\n locationProp = _ref.location,\n sensitive = _ref.sensitive,\n strict = _ref.strict,\n styleProp = _ref.style,\n to = _ref.to,\n innerRef = _ref.innerRef,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(_ref, [\"aria-current\", \"activeClassName\", \"activeStyle\", \"className\", \"exact\", \"isActive\", \"location\", \"sensitive\", \"strict\", \"style\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(react_router__WEBPACK_IMPORTED_MODULE_0__.__RouterContext.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(false, \"You should not use <NavLink> outside a <Router>\") : 0 : void 0;\n var currentLocation = locationProp || context.location;\n var toLocation = normalizeToLocation(resolveToLocation(to, currentLocation), currentLocation);\n var path = toLocation.pathname; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n var match = escapedPath ? (0,react_router__WEBPACK_IMPORTED_MODULE_0__.matchPath)(currentLocation.pathname, {\n path: escapedPath,\n exact: exact,\n sensitive: sensitive,\n strict: strict\n }) : null;\n var isActive = !!(isActiveProp ? isActiveProp(match, currentLocation) : match);\n var className = typeof classNameProp === \"function\" ? classNameProp(isActive) : classNameProp;\n var style = typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, style, activeStyle);\n }\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({\n \"aria-current\": isActive && ariaCurrent || null,\n className: className,\n style: style,\n to: toLocation\n }, rest); // React 15 compat\n\n\n if (forwardRefShim$1 !== forwardRef$1) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.createElement(Link, props);\n });\n});\n\nif (true) {\n NavLink.displayName = \"NavLink\";\n var ariaCurrentType = prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\", \"false\"]);\n NavLink.propTypes = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, Link.propTypes, {\n \"aria-current\": ariaCurrentType,\n activeClassName: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),\n activeStyle: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n className: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func)]),\n exact: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n isActive: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),\n sensitive: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n strict: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),\n style: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func)])\n });\n}\n\n\n//# sourceMappingURL=react-router-dom.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/react-router-dom/esm/react-router-dom.js?");
27746
27756
 
27747
27757
  /***/ }),
27748
27758
 
@@ -27753,7 +27763,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
27753
27763
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
27754
27764
 
27755
27765
  "use strict";
27756
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MemoryRouter\": () => (/* binding */ MemoryRouter),\n/* harmony export */ \"Prompt\": () => (/* binding */ Prompt),\n/* harmony export */ \"Redirect\": () => (/* binding */ Redirect),\n/* harmony export */ \"Route\": () => (/* binding */ Route),\n/* harmony export */ \"Router\": () => (/* binding */ Router),\n/* harmony export */ \"StaticRouter\": () => (/* binding */ StaticRouter),\n/* harmony export */ \"Switch\": () => (/* binding */ Switch),\n/* harmony export */ \"__HistoryContext\": () => (/* binding */ historyContext),\n/* harmony export */ \"__RouterContext\": () => (/* binding */ context),\n/* harmony export */ \"generatePath\": () => (/* binding */ generatePath),\n/* harmony export */ \"matchPath\": () => (/* binding */ matchPath),\n/* harmony export */ \"useHistory\": () => (/* binding */ useHistory),\n/* harmony export */ \"useLocation\": () => (/* binding */ useLocation),\n/* harmony export */ \"useParams\": () => (/* binding */ useParams),\n/* harmony export */ \"useRouteMatch\": () => (/* binding */ useRouteMatch),\n/* harmony export */ \"withRouter\": () => (/* binding */ withRouter)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n/* harmony import */ var mini_create_react_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mini-create-react-context */ \"./node_modules/mini-create-react-context/dist/esm/index.js\");\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/react-router/node_modules/path-to-regexp/index.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(path_to_regexp__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-is */ \"./node_modules/react-router/node_modules/react-is/index.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n// TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = (0,mini_create_react_context__WEBPACK_IMPORTED_MODULE_3__[\"default\"])();\n context.displayName = name;\n return context;\n};\n\nvar historyContext = /*#__PURE__*/createNamedContext(\"Router-History\");\n\nvar context = /*#__PURE__*/createNamedContext(\"Router\");\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Router, _React$Component);\n\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n function Router(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\n }; // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n if (_this._isMounted) {\n _this.setState({\n location: location\n });\n } else {\n _this._pendingLocation = location;\n }\n });\n }\n\n return _this;\n }\n\n var _proto = Router.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Provider, {\n value: {\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(historyContext.Provider, {\n children: this.props.children || null,\n value: this.props.history\n }));\n };\n\n return Router;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Router.propTypes = {\n children: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().node),\n history: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object.isRequired),\n staticContext: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)\n };\n\n Router.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(prevProps.history === this.props.history, \"You cannot change <Router history>\") : 0;\n };\n}\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\n\nvar MemoryRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_10__.createMemoryHistory)(_this.props);\n return _this;\n }\n\n var _proto = MemoryRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return MemoryRouter;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n MemoryRouter.propTypes = {\n initialEntries: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().array),\n initialIndex: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().number),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func),\n keyLength: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().number),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().node)\n };\n\n MemoryRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!this.props.history, \"<MemoryRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : 0;\n };\n}\n\nvar Lifecycle = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Lifecycle, _React$Component);\n\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Lifecycle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n\n _proto.render = function render() {\n return null;\n };\n\n return Lifecycle;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Prompt> outside a <Router>\") : 0 : void 0;\n if (!when || context.staticContext) return null;\n var method = context.history.block;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\n\nif (true) {\n var messageType = prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string)]);\n Prompt.propTypes = {\n when: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n message: messageType.isRequired\n };\n}\n\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = path_to_regexp__WEBPACK_IMPORTED_MODULE_5___default().compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n\n/**\n * The public API for navigating programmatically with a component.\n */\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Redirect> outside a <Router>\") : 0 : void 0;\n var history = context.history,\n staticContext = context.staticContext;\n var method = push ? history.push : history.replace;\n var location = (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(prevProps.to);\n\n if (!(0,history__WEBPACK_IMPORTED_MODULE_10__.locationsAreEqual)(prevLocation, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\n\nif (true) {\n Redirect.propTypes = {\n push: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n from: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),\n to: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)]).isRequired\n };\n}\n\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\n\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = path_to_regexp__WEBPACK_IMPORTED_MODULE_5___default()(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = {\n path: options\n };\n }\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nfunction isEmptyChildren(children) {\n return react__WEBPACK_IMPORTED_MODULE_1__.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n var value = children(props);\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(value !== undefined, \"You returned `undefined` from the `children` function of \" + (\"<Route\" + (path ? \" path=\\\"\" + path + \"\\\"\" : \"\") + \">, but you \") + \"should have returned a React element or `null`\") : 0;\n return value || null;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\n\nvar Route = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Route, _React$Component);\n\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Route.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context$1) {\n !context$1 ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Route> outside a <Router>\") : 0 : void 0;\n var location = _this.props.location || context$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, context$1, {\n location: location,\n match: match\n });\n\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Provider, {\n value: props\n }, props.match ? children ? typeof children === \"function\" ? true ? evalChildrenDev(children, props, _this.props.path) : 0 : children : component ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(component, props) : render ? render(props) : null : typeof children === \"function\" ? true ? evalChildrenDev(children, props, _this.props.path) : 0 : null);\n });\n };\n\n return Route;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Route.propTypes = {\n children: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().node)]),\n component: function component(props, propName) {\n if (props[propName] && !(0,react_is__WEBPACK_IMPORTED_MODULE_6__.isValidElementType)(props[propName])) {\n return new Error(\"Invalid prop 'component' supplied to 'Route': the prop is not a valid React component\");\n }\n },\n exact: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object),\n path: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().string), prop_types__WEBPACK_IMPORTED_MODULE_2___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_2___default().string))]),\n render: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func),\n sensitive: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool),\n strict: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().bool)\n };\n\n Route.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\") : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\") : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.component && this.props.render), \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\") : 0;\n };\n\n Route.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.location && !prevProps.location), '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(!this.props.location && prevProps.location), '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : 0;\n };\n}\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : (0,history__WEBPACK_IMPORTED_MODULE_10__.createPath)(location);\n}\n\nfunction staticHandler(methodName) {\n return function () {\n true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You cannot %s with <StaticRouter>\", methodName) : 0 ;\n };\n}\n\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\n\nvar StaticRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n\n _this.handleListen = function () {\n return noop;\n };\n\n _this.handleBlock = function () {\n return noop;\n };\n\n return _this;\n }\n\n var _proto = StaticRouter.prototype;\n\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(location));\n context.url = createURL(context.location);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(_this$props2, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\n action: \"POP\",\n location: stripBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Router, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n\n return StaticRouter;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n StaticRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().string),\n context: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object),\n location: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)])\n };\n\n StaticRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!this.props.history, \"<StaticRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : 0;\n };\n}\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\n\nvar Switch = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Switch, _React$Component);\n\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Switch.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Switch> outside a <Router>\") : 0 : void 0;\n var location = _this.props.location || context.location;\n var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n\n react__WEBPACK_IMPORTED_MODULE_1__.Children.forEach(_this.props.children, function (child) {\n if (match == null && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, child.props, {\n path: path\n })) : context.match;\n }\n });\n return match ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n\n return Switch;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Switch.propTypes = {\n children: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().node),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)\n };\n\n Switch.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.location && !prevProps.location), '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(!this.props.location && prevProps.location), '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : 0;\n };\n}\n\n/**\n * A public higher-order component to access the imperative API\n */\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(props, [\"wrappedComponentRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <\" + displayName + \" /> outside a <Router>\") : 0 : void 0;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_4__[\"default\"])({}, remainingProps, context, {\n ref: wrappedComponentRef\n }));\n });\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (true) {\n C.propTypes = {\n wrappedComponentRef: prop_types__WEBPACK_IMPORTED_MODULE_2___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_2___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object)])\n };\n }\n\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_8___default()(C, Component);\n}\n\nvar useContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext;\nfunction useHistory() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useHistory()\") : 0 : void 0;\n }\n\n return useContext(historyContext);\n}\nfunction useLocation() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useLocation()\") : 0 : void 0;\n }\n\n return useContext(context).location;\n}\nfunction useParams() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useParams()\") : 0 : void 0;\n }\n\n var match = useContext(context).match;\n return match ? match.params : {};\n}\nfunction useRouteMatch(path) {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useRouteMatch()\") : 0 : void 0;\n }\n\n var location = useLocation();\n var match = useContext(context).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n\nif (true) {\n if (typeof window !== \"undefined\") {\n var global = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n\n if (global[key] && global[key] !== \"esm\") {\n var initialBuildName = buildNames[global[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n\n global[key] = \"esm\";\n }\n}\n\n\n//# sourceMappingURL=react-router.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/react-router/esm/react-router.js?");
27766
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MemoryRouter\": () => (/* binding */ MemoryRouter),\n/* harmony export */ \"Prompt\": () => (/* binding */ Prompt),\n/* harmony export */ \"Redirect\": () => (/* binding */ Redirect),\n/* harmony export */ \"Route\": () => (/* binding */ Route),\n/* harmony export */ \"Router\": () => (/* binding */ Router),\n/* harmony export */ \"StaticRouter\": () => (/* binding */ StaticRouter),\n/* harmony export */ \"Switch\": () => (/* binding */ Switch),\n/* harmony export */ \"__HistoryContext\": () => (/* binding */ historyContext),\n/* harmony export */ \"__RouterContext\": () => (/* binding */ context),\n/* harmony export */ \"generatePath\": () => (/* binding */ generatePath),\n/* harmony export */ \"matchPath\": () => (/* binding */ matchPath),\n/* harmony export */ \"useHistory\": () => (/* binding */ useHistory),\n/* harmony export */ \"useLocation\": () => (/* binding */ useLocation),\n/* harmony export */ \"useParams\": () => (/* binding */ useParams),\n/* harmony export */ \"useRouteMatch\": () => (/* binding */ useRouteMatch),\n/* harmony export */ \"withRouter\": () => (/* binding */ withRouter)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var history__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! history */ \"./node_modules/history/esm/history.js\");\n/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! tiny-warning */ \"./node_modules/tiny-warning/dist/tiny-warning.esm.js\");\n/* harmony import */ var mini_create_react_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mini-create-react-context */ \"./node_modules/mini-create-react-context/dist/esm/index.js\");\n/* harmony import */ var tiny_invariant__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! tiny-invariant */ \"./node_modules/tiny-invariant/dist/tiny-invariant.esm.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! path-to-regexp */ \"./node_modules/react-router/node_modules/path-to-regexp/index.js\");\n/* harmony import */ var path_to_regexp__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(path_to_regexp__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-is */ \"./node_modules/react-router/node_modules/react-is/index.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! hoist-non-react-statics */ \"./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js\");\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n// TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = (0,mini_create_react_context__WEBPACK_IMPORTED_MODULE_2__[\"default\"])();\n context.displayName = name;\n return context;\n};\n\nvar historyContext = /*#__PURE__*/createNamedContext(\"Router-History\");\n\nvar context = /*#__PURE__*/createNamedContext(\"Router\");\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Router, _React$Component);\n\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n function Router(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\n }; // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n if (_this._isMounted) {\n _this.setState({\n location: location\n });\n } else {\n _this._pendingLocation = location;\n }\n });\n }\n\n return _this;\n }\n\n var _proto = Router.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Provider, {\n value: {\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(historyContext.Provider, {\n children: this.props.children || null,\n value: this.props.history\n }));\n };\n\n return Router;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Router.propTypes = {\n children: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node),\n history: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object.isRequired),\n staticContext: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n };\n\n Router.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(prevProps.history === this.props.history, \"You cannot change <Router history>\") : 0;\n };\n}\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\n\nvar MemoryRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = (0,history__WEBPACK_IMPORTED_MODULE_10__.createMemoryHistory)(_this.props);\n return _this;\n }\n\n var _proto = MemoryRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return MemoryRouter;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n MemoryRouter.propTypes = {\n initialEntries: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().array),\n initialIndex: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n getUserConfirmation: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n keyLength: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node)\n };\n\n MemoryRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!this.props.history, \"<MemoryRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : 0;\n };\n}\n\nvar Lifecycle = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Lifecycle, _React$Component);\n\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Lifecycle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n\n _proto.render = function render() {\n return null;\n };\n\n return Lifecycle;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Prompt> outside a <Router>\") : 0 : void 0;\n if (!when || context.staticContext) return null;\n var method = context.history.block;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\n\nif (true) {\n var messageType = prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)]);\n Prompt.propTypes = {\n when: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n message: messageType.isRequired\n };\n}\n\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = path_to_regexp__WEBPACK_IMPORTED_MODULE_4___default().compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n\n/**\n * The public API for navigating programmatically with a component.\n */\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Redirect> outside a <Router>\") : 0 : void 0;\n var history = context.history,\n staticContext = context.staticContext;\n var method = push ? history.push : history.replace;\n var location = (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(prevProps.to);\n\n if (!(0,history__WEBPACK_IMPORTED_MODULE_10__.locationsAreEqual)(prevLocation, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\n\nif (true) {\n Redirect.propTypes = {\n push: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n from: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n to: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)]).isRequired\n };\n}\n\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\n\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = path_to_regexp__WEBPACK_IMPORTED_MODULE_4___default()(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = {\n path: options\n };\n }\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nfunction isEmptyChildren(children) {\n return react__WEBPACK_IMPORTED_MODULE_1__.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n var value = children(props);\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(value !== undefined, \"You returned `undefined` from the `children` function of \" + (\"<Route\" + (path ? \" path=\\\"\" + path + \"\\\"\" : \"\") + \">, but you \") + \"should have returned a React element or `null`\") : 0;\n return value || null;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\n\nvar Route = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Route, _React$Component);\n\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Route.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context$1) {\n !context$1 ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Route> outside a <Router>\") : 0 : void 0;\n var location = _this.props.location || context$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;\n\n var props = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, context$1, {\n location: location,\n match: match\n });\n\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Provider, {\n value: props\n }, props.match ? children ? typeof children === \"function\" ? true ? evalChildrenDev(children, props, _this.props.path) : 0 : children : component ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(component, props) : render ? render(props) : null : typeof children === \"function\" ? true ? evalChildrenDev(children, props, _this.props.path) : 0 : null);\n });\n };\n\n return Route;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Route.propTypes = {\n children: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node)]),\n component: function component(props, propName) {\n if (props[propName] && !(0,react_is__WEBPACK_IMPORTED_MODULE_5__.isValidElementType)(props[propName])) {\n return new Error(\"Invalid prop 'component' supplied to 'Route': the prop is not a valid React component\");\n }\n },\n exact: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n path: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), prop_types__WEBPACK_IMPORTED_MODULE_8___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_8___default().string))]),\n render: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n sensitive: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n strict: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool)\n };\n\n Route.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\") : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\") : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.component && this.props.render), \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\") : 0;\n };\n\n Route.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.location && !prevProps.location), '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(!this.props.location && prevProps.location), '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : 0;\n };\n}\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : (0,history__WEBPACK_IMPORTED_MODULE_10__.createPath)(location);\n}\n\nfunction staticHandler(methodName) {\n return function () {\n true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You cannot %s with <StaticRouter>\", methodName) : 0 ;\n };\n}\n\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\n\nvar StaticRouter = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n\n _this.handleListen = function () {\n return noop;\n };\n\n _this.handleBlock = function () {\n return noop;\n };\n\n return _this;\n }\n\n var _proto = StaticRouter.prototype;\n\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(location));\n context.url = createURL(context.location);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_this$props2, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\n action: \"POP\",\n location: stripBasename(basename, (0,history__WEBPACK_IMPORTED_MODULE_10__.createLocation)(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Router, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n\n return StaticRouter;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n StaticRouter.propTypes = {\n basename: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n context: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n location: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)])\n };\n\n StaticRouter.prototype.componentDidMount = function () {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!this.props.history, \"<StaticRouter> ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : 0;\n };\n}\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\n\nvar Switch = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Switch, _React$Component);\n\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Switch.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <Switch> outside a <Router>\") : 0 : void 0;\n var location = _this.props.location || context.location;\n var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n\n react__WEBPACK_IMPORTED_MODULE_1__.Children.forEach(_this.props.children, function (child) {\n if (match == null && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, child.props, {\n path: path\n })) : context.match;\n }\n });\n return match ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n\n return Switch;\n}(react__WEBPACK_IMPORTED_MODULE_1__.Component);\n\nif (true) {\n Switch.propTypes = {\n children: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().node),\n location: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)\n };\n\n Switch.prototype.componentDidUpdate = function (prevProps) {\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(this.props.location && !prevProps.location), '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : 0;\n true ? (0,tiny_warning__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(!(!this.props.location && prevProps.location), '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : 0;\n };\n}\n\n/**\n * A public higher-order component to access the imperative API\n */\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(props, [\"wrappedComponentRef\"]);\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(context.Consumer, null, function (context) {\n !context ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You should not use <\" + displayName + \" /> outside a <Router>\") : 0 : void 0;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1__.createElement(Component, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({}, remainingProps, context, {\n ref: wrappedComponentRef\n }));\n });\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (true) {\n C.propTypes = {\n wrappedComponentRef: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_8___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object)])\n };\n }\n\n return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default()(C, Component);\n}\n\nvar useContext = react__WEBPACK_IMPORTED_MODULE_1__.useContext;\nfunction useHistory() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useHistory()\") : 0 : void 0;\n }\n\n return useContext(historyContext);\n}\nfunction useLocation() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useLocation()\") : 0 : void 0;\n }\n\n return useContext(context).location;\n}\nfunction useParams() {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useParams()\") : 0 : void 0;\n }\n\n var match = useContext(context).match;\n return match ? match.params : {};\n}\nfunction useRouteMatch(path) {\n if (true) {\n !(typeof useContext === \"function\") ? true ? (0,tiny_invariant__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(false, \"You must use React >= 16.8 in order to use useRouteMatch()\") : 0 : void 0;\n }\n\n var location = useLocation();\n var match = useContext(context).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n\nif (true) {\n if (typeof window !== \"undefined\") {\n var global = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n\n if (global[key] && global[key] !== \"esm\") {\n var initialBuildName = buildNames[global[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n\n global[key] = \"esm\";\n }\n}\n\n\n//# sourceMappingURL=react-router.js.map\n\n\n//# sourceURL=webpack://open-lens/./node_modules/react-router/esm/react-router.js?");
27757
27767
 
27758
27768
  /***/ }),
27759
27769
 
@@ -27851,7 +27861,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
27851
27861
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
27852
27862
 
27853
27863
  "use strict";
27854
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _TransitionGroupContext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./TransitionGroupContext */ \"./node_modules/react-transition-group/esm/TransitionGroupContext.js\");\n/* harmony import */ var _utils_ChildMapping__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/ChildMapping */ \"./node_modules/react-transition-group/esm/utils/ChildMapping.js\");\n\n\n\n\n\n\n\n\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind((0,_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_6__.getInitialChildMapping)(nextProps, handleExited) : (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_6__.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_6__.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5__.createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_7__[\"default\"].Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5__.createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_7__[\"default\"].Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5__.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(react__WEBPACK_IMPORTED_MODULE_5__.Component);\n\nTransitionGroup.propTypes = true ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().node),\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)\n} : 0;\nTransitionGroup.defaultProps = defaultProps;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TransitionGroup);\n\n//# sourceURL=webpack://open-lens/./node_modules/react-transition-group/esm/TransitionGroup.js?");
27864
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/esm/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/esm/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var _TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TransitionGroupContext */ \"./node_modules/react-transition-group/esm/TransitionGroupContext.js\");\n/* harmony import */ var _utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/ChildMapping */ \"./node_modules/react-transition-group/esm/utils/ChildMapping.js\");\n\n\n\n\n\n\n\n\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n (0,_babel_runtime_helpers_esm_inheritsLoose__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind((0,_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__.getInitialChildMapping)(nextProps, handleExited) : (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0,_utils_ChildMapping__WEBPACK_IMPORTED_MODULE_5__.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(_TransitionGroupContext__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4__.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(react__WEBPACK_IMPORTED_MODULE_4__.Component);\n\nTransitionGroup.propTypes = true ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().any),\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().node),\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().bool),\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: (prop_types__WEBPACK_IMPORTED_MODULE_7___default().func)\n} : 0;\nTransitionGroup.defaultProps = defaultProps;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TransitionGroup);\n\n//# sourceURL=webpack://open-lens/./node_modules/react-transition-group/esm/TransitionGroup.js?");
27855
27865
 
27856
27866
  /***/ }),
27857
27867
 
@@ -32800,7 +32810,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32800
32810
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32801
32811
 
32802
32812
  "use strict";
32803
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Cluster\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.Cluster),\n/* harmony export */ \"ClusterApi\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.ClusterApi),\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__.ClusterRoleBinding),\n/* harmony export */ \"ClusterStatus\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.ClusterStatus),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _configmap_api__WEBPACK_IMPORTED_MODULE_3__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.CronJob),\n/* harmony export */ \"CronJobApi\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.CronJobApi),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _crd_api__WEBPACK_IMPORTED_MODULE_4__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.DaemonSet),\n/* harmony export */ \"DaemonSetApi\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.DaemonSetApi),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.Endpoint),\n/* harmony export */ \"EndpointAddress\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.EndpointAddress),\n/* harmony export */ \"EndpointSubset\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.EndpointSubset),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.HorizontalPodAutoscaler),\n/* harmony export */ \"HpaMetricType\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.HpaMetricType),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.Job),\n/* harmony export */ \"JobApi\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.JobApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _events_api__WEBPACK_IMPORTED_MODULE_9__.KubeEvent),\n/* harmony export */ \"LimitPart\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitPart),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitRange),\n/* harmony export */ \"LimitType\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitType),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.Namespace),\n/* harmony export */ \"NamespaceApi\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.NamespaceApi),\n/* harmony export */ \"NamespaceStatus\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.NamespaceStatus),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _network_policy_api__WEBPACK_IMPORTED_MODULE_15__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__.PodDisruptionBudget),\n/* harmony export */ \"PodMetrics\": () => (/* reexport safe */ _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__.PodMetrics),\n/* harmony export */ \"PodSecurityPolicy\": () => (/* reexport safe */ _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__.PodSecurityPolicy),\n/* harmony export */ \"PodStatus\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.PodStatus),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.PodsApi),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.ReplicaSet),\n/* harmony export */ \"ReplicaSetApi\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.ReplicaSetApi),\n/* harmony export */ \"Resource\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.Resource),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__.ResourceQuota),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _role_api__WEBPACK_IMPORTED_MODULE_25__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _role_binding_api__WEBPACK_IMPORTED_MODULE_26__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.Secret),\n/* harmony export */ \"SecretType\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.SecretType),\n/* harmony export */ \"SelfSubjectRulesReview\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.SelfSubjectRulesReview),\n/* harmony export */ \"SelfSubjectRulesReviewApi\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.SelfSubjectRulesReviewApi),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__.ServiceAccount),\n/* harmony export */ \"ServicePort\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.ServicePort),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.StatefulSet),\n/* harmony export */ \"StatefulSetApi\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.StatefulSetApi),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _storage_class_api__WEBPACK_IMPORTED_MODULE_32__.StorageClass),\n/* harmony export */ \"clusterApi\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.clusterApi),\n/* harmony export */ \"clusterRoleApi\": () => (/* reexport safe */ _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__.clusterRoleApi),\n/* harmony export */ \"clusterRoleBindingApi\": () => (/* reexport safe */ _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__.clusterRoleBindingApi),\n/* harmony export */ \"configMapApi\": () => (/* reexport safe */ _configmap_api__WEBPACK_IMPORTED_MODULE_3__.configMapApi),\n/* harmony export */ \"crdApi\": () => (/* reexport safe */ _crd_api__WEBPACK_IMPORTED_MODULE_4__.crdApi),\n/* harmony export */ \"cronJobApi\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.cronJobApi),\n/* harmony export */ \"daemonSetApi\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.daemonSetApi),\n/* harmony export */ \"deploymentApi\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.deploymentApi),\n/* harmony export */ \"endpointApi\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.endpointApi),\n/* harmony export */ \"eventApi\": () => (/* reexport safe */ _events_api__WEBPACK_IMPORTED_MODULE_9__.eventApi),\n/* harmony export */ \"formatNodeTaint\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.formatNodeTaint),\n/* harmony export */ \"getBackendServiceNamePort\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.getBackendServiceNamePort),\n/* harmony export */ \"getMetricsByNodeNames\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.getMetricsByNodeNames),\n/* harmony export */ \"getMetricsForAllNodes\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.getMetricsForAllNodes),\n/* harmony export */ \"getMetricsForDaemonSets\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.getMetricsForDaemonSets),\n/* harmony export */ \"getMetricsForDeployments\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.getMetricsForDeployments),\n/* harmony export */ \"getMetricsForIngress\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.getMetricsForIngress),\n/* harmony export */ \"getMetricsForJobs\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.getMetricsForJobs),\n/* harmony export */ \"getMetricsForNamespace\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.getMetricsForNamespace),\n/* harmony export */ \"getMetricsForPods\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.getMetricsForPods),\n/* harmony export */ \"getMetricsForPvc\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.getMetricsForPvc),\n/* harmony export */ \"getMetricsForReplicaSets\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.getMetricsForReplicaSets),\n/* harmony export */ \"getMetricsForStatefulSets\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.getMetricsForStatefulSets),\n/* harmony export */ \"hpaApi\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.hpaApi),\n/* harmony export */ \"ingressApi\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.ingressApi),\n/* harmony export */ \"jobApi\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.jobApi),\n/* harmony export */ \"limitRangeApi\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.limitRangeApi),\n/* harmony export */ \"namespacesApi\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.namespacesApi),\n/* harmony export */ \"networkPolicyApi\": () => (/* reexport safe */ _network_policy_api__WEBPACK_IMPORTED_MODULE_15__.networkPolicyApi),\n/* harmony export */ \"nodesApi\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.nodesApi),\n/* harmony export */ \"pdbApi\": () => (/* reexport safe */ _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__.pdbApi),\n/* harmony export */ \"persistentVolumeApi\": () => (/* reexport safe */ _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__.persistentVolumeApi),\n/* harmony export */ \"podMetricsApi\": () => (/* reexport safe */ _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__.podMetricsApi),\n/* harmony export */ \"podsApi\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.podsApi),\n/* harmony export */ \"pspApi\": () => (/* reexport safe */ _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__.pspApi),\n/* harmony export */ \"pvcApi\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.pvcApi),\n/* harmony export */ \"replicaSetApi\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.replicaSetApi),\n/* harmony export */ \"resourceQuotaApi\": () => (/* reexport safe */ _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__.resourceQuotaApi),\n/* harmony export */ \"roleApi\": () => (/* reexport safe */ _role_api__WEBPACK_IMPORTED_MODULE_25__.roleApi),\n/* harmony export */ \"roleBindingApi\": () => (/* reexport safe */ _role_binding_api__WEBPACK_IMPORTED_MODULE_26__.roleBindingApi),\n/* harmony export */ \"secretsApi\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.secretsApi),\n/* harmony export */ \"selfSubjectRulesReviewApi\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.selfSubjectRulesReviewApi),\n/* harmony export */ \"serviceAccountsApi\": () => (/* reexport safe */ _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__.serviceAccountsApi),\n/* harmony export */ \"serviceApi\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.serviceApi),\n/* harmony export */ \"statefulSetApi\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.statefulSetApi),\n/* harmony export */ \"storageClassApi\": () => (/* reexport safe */ _storage_class_api__WEBPACK_IMPORTED_MODULE_32__.storageClassApi)\n/* harmony export */ });\n/* harmony import */ var _cluster_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cluster.api */ \"./src/common/k8s-api/endpoints/cluster.api.ts\");\n/* harmony import */ var _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cluster-role.api */ \"./src/common/k8s-api/endpoints/cluster-role.api.ts\");\n/* harmony import */ var _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cluster-role-binding.api */ \"./src/common/k8s-api/endpoints/cluster-role-binding.api.ts\");\n/* harmony import */ var _configmap_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./configmap.api */ \"./src/common/k8s-api/endpoints/configmap.api.ts\");\n/* harmony import */ var _crd_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./crd.api */ \"./src/common/k8s-api/endpoints/crd.api.ts\");\n/* harmony import */ var _cron_job_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cron-job.api */ \"./src/common/k8s-api/endpoints/cron-job.api.ts\");\n/* harmony import */ var _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./daemon-set.api */ \"./src/common/k8s-api/endpoints/daemon-set.api.ts\");\n/* harmony import */ var _deployment_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./deployment.api */ \"./src/common/k8s-api/endpoints/deployment.api.ts\");\n/* harmony import */ var _endpoint_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./endpoint.api */ \"./src/common/k8s-api/endpoints/endpoint.api.ts\");\n/* harmony import */ var _events_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./events.api */ \"./src/common/k8s-api/endpoints/events.api.ts\");\n/* harmony import */ var _hpa_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./hpa.api */ \"./src/common/k8s-api/endpoints/hpa.api.ts\");\n/* harmony import */ var _ingress_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ingress.api */ \"./src/common/k8s-api/endpoints/ingress.api.ts\");\n/* harmony import */ var _job_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./job.api */ \"./src/common/k8s-api/endpoints/job.api.ts\");\n/* harmony import */ var _limit_range_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./limit-range.api */ \"./src/common/k8s-api/endpoints/limit-range.api.ts\");\n/* harmony import */ var _namespaces_api__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./namespaces.api */ \"./src/common/k8s-api/endpoints/namespaces.api.ts\");\n/* harmony import */ var _network_policy_api__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./network-policy.api */ \"./src/common/k8s-api/endpoints/network-policy.api.ts\");\n/* harmony import */ var _nodes_api__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./nodes.api */ \"./src/common/k8s-api/endpoints/nodes.api.ts\");\n/* harmony import */ var _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./persistent-volume.api */ \"./src/common/k8s-api/endpoints/persistent-volume.api.ts\");\n/* harmony import */ var _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./persistent-volume-claims.api */ \"./src/common/k8s-api/endpoints/persistent-volume-claims.api.ts\");\n/* harmony import */ var _pods_api__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./pods.api */ \"./src/common/k8s-api/endpoints/pods.api.ts\");\n/* harmony import */ var _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./poddisruptionbudget.api */ \"./src/common/k8s-api/endpoints/poddisruptionbudget.api.ts\");\n/* harmony import */ var _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./pod-metrics.api */ \"./src/common/k8s-api/endpoints/pod-metrics.api.ts\");\n/* harmony import */ var _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./podsecuritypolicy.api */ \"./src/common/k8s-api/endpoints/podsecuritypolicy.api.ts\");\n/* harmony import */ var _replica_set_api__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./replica-set.api */ \"./src/common/k8s-api/endpoints/replica-set.api.ts\");\n/* harmony import */ var _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./resource-quota.api */ \"./src/common/k8s-api/endpoints/resource-quota.api.ts\");\n/* harmony import */ var _role_api__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./role.api */ \"./src/common/k8s-api/endpoints/role.api.ts\");\n/* harmony import */ var _role_binding_api__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./role-binding.api */ \"./src/common/k8s-api/endpoints/role-binding.api.ts\");\n/* harmony import */ var _secret_api__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./secret.api */ \"./src/common/k8s-api/endpoints/secret.api.ts\");\n/* harmony import */ var _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./selfsubjectrulesreviews.api */ \"./src/common/k8s-api/endpoints/selfsubjectrulesreviews.api.ts\");\n/* harmony import */ var _service_api__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./service.api */ \"./src/common/k8s-api/endpoints/service.api.ts\");\n/* harmony import */ var _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./service-accounts.api */ \"./src/common/k8s-api/endpoints/service-accounts.api.ts\");\n/* harmony import */ var _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./stateful-set.api */ \"./src/common/k8s-api/endpoints/stateful-set.api.ts\");\n/* harmony import */ var _storage_class_api__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./storage-class.api */ \"./src/common/k8s-api/endpoints/storage-class.api.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// Kubernetes apis\n// Docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/\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://open-lens/./src/common/k8s-api/endpoints/index.ts?");
32813
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Cluster\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.Cluster),\n/* harmony export */ \"ClusterApi\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.ClusterApi),\n/* harmony export */ \"ClusterRole\": () => (/* reexport safe */ _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__.ClusterRole),\n/* harmony export */ \"ClusterRoleBinding\": () => (/* reexport safe */ _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__.ClusterRoleBinding),\n/* harmony export */ \"ClusterStatus\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.ClusterStatus),\n/* harmony export */ \"ConfigMap\": () => (/* reexport safe */ _configmap_api__WEBPACK_IMPORTED_MODULE_3__.ConfigMap),\n/* harmony export */ \"CronJob\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.CronJob),\n/* harmony export */ \"CronJobApi\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.CronJobApi),\n/* harmony export */ \"CustomResourceDefinition\": () => (/* reexport safe */ _crd_api__WEBPACK_IMPORTED_MODULE_4__.CustomResourceDefinition),\n/* harmony export */ \"DaemonSet\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.DaemonSet),\n/* harmony export */ \"DaemonSetApi\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.DaemonSetApi),\n/* harmony export */ \"Deployment\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.Deployment),\n/* harmony export */ \"DeploymentApi\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.DeploymentApi),\n/* harmony export */ \"Endpoint\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.Endpoint),\n/* harmony export */ \"EndpointAddress\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.EndpointAddress),\n/* harmony export */ \"EndpointSubset\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.EndpointSubset),\n/* harmony export */ \"HorizontalPodAutoscaler\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.HorizontalPodAutoscaler),\n/* harmony export */ \"HpaMetricType\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.HpaMetricType),\n/* harmony export */ \"Ingress\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.Ingress),\n/* harmony export */ \"IngressApi\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.IngressApi),\n/* harmony export */ \"Job\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.Job),\n/* harmony export */ \"JobApi\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.JobApi),\n/* harmony export */ \"KubeEvent\": () => (/* reexport safe */ _events_api__WEBPACK_IMPORTED_MODULE_9__.KubeEvent),\n/* harmony export */ \"LimitPart\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitPart),\n/* harmony export */ \"LimitRange\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitRange),\n/* harmony export */ \"LimitType\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.LimitType),\n/* harmony export */ \"Namespace\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.Namespace),\n/* harmony export */ \"NamespaceApi\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.NamespaceApi),\n/* harmony export */ \"NamespaceStatus\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.NamespaceStatus),\n/* harmony export */ \"NetworkPolicy\": () => (/* reexport safe */ _network_policy_api__WEBPACK_IMPORTED_MODULE_15__.NetworkPolicy),\n/* harmony export */ \"Node\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.Node),\n/* harmony export */ \"NodesApi\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.NodesApi),\n/* harmony export */ \"PersistentVolume\": () => (/* reexport safe */ _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__.PersistentVolume),\n/* harmony export */ \"PersistentVolumeClaim\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.PersistentVolumeClaim),\n/* harmony export */ \"PersistentVolumeClaimsApi\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.PersistentVolumeClaimsApi),\n/* harmony export */ \"Pod\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.Pod),\n/* harmony export */ \"PodDisruptionBudget\": () => (/* reexport safe */ _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__.PodDisruptionBudget),\n/* harmony export */ \"PodMetrics\": () => (/* reexport safe */ _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__.PodMetrics),\n/* harmony export */ \"PodSecurityPolicy\": () => (/* reexport safe */ _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__.PodSecurityPolicy),\n/* harmony export */ \"PodStatus\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.PodStatus),\n/* harmony export */ \"PodsApi\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.PodsApi),\n/* harmony export */ \"ReplicaSet\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.ReplicaSet),\n/* harmony export */ \"ReplicaSetApi\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.ReplicaSetApi),\n/* harmony export */ \"Resource\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.Resource),\n/* harmony export */ \"ResourceQuota\": () => (/* reexport safe */ _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__.ResourceQuota),\n/* harmony export */ \"Role\": () => (/* reexport safe */ _role_api__WEBPACK_IMPORTED_MODULE_25__.Role),\n/* harmony export */ \"RoleBinding\": () => (/* reexport safe */ _role_binding_api__WEBPACK_IMPORTED_MODULE_26__.RoleBinding),\n/* harmony export */ \"Secret\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.Secret),\n/* harmony export */ \"SecretType\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.SecretType),\n/* harmony export */ \"SelfSubjectRulesReview\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.SelfSubjectRulesReview),\n/* harmony export */ \"SelfSubjectRulesReviewApi\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.SelfSubjectRulesReviewApi),\n/* harmony export */ \"Service\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.Service),\n/* harmony export */ \"ServiceAccount\": () => (/* reexport safe */ _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__.ServiceAccount),\n/* harmony export */ \"ServicePort\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.ServicePort),\n/* harmony export */ \"StatefulSet\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.StatefulSet),\n/* harmony export */ \"StatefulSetApi\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.StatefulSetApi),\n/* harmony export */ \"StorageClass\": () => (/* reexport safe */ _storage_class_api__WEBPACK_IMPORTED_MODULE_32__.StorageClass),\n/* harmony export */ \"clusterApi\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.clusterApi),\n/* harmony export */ \"clusterRoleApi\": () => (/* reexport safe */ _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__.clusterRoleApi),\n/* harmony export */ \"clusterRoleBindingApi\": () => (/* reexport safe */ _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__.clusterRoleBindingApi),\n/* harmony export */ \"computeRouteDeclarations\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.computeRouteDeclarations),\n/* harmony export */ \"computeRuleDeclarations\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.computeRuleDeclarations),\n/* harmony export */ \"configMapApi\": () => (/* reexport safe */ _configmap_api__WEBPACK_IMPORTED_MODULE_3__.configMapApi),\n/* harmony export */ \"crdApi\": () => (/* reexport safe */ _crd_api__WEBPACK_IMPORTED_MODULE_4__.crdApi),\n/* harmony export */ \"cronJobApi\": () => (/* reexport safe */ _cron_job_api__WEBPACK_IMPORTED_MODULE_5__.cronJobApi),\n/* harmony export */ \"daemonSetApi\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.daemonSetApi),\n/* harmony export */ \"deploymentApi\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.deploymentApi),\n/* harmony export */ \"endpointApi\": () => (/* reexport safe */ _endpoint_api__WEBPACK_IMPORTED_MODULE_8__.endpointApi),\n/* harmony export */ \"eventApi\": () => (/* reexport safe */ _events_api__WEBPACK_IMPORTED_MODULE_9__.eventApi),\n/* harmony export */ \"formatNodeTaint\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.formatNodeTaint),\n/* harmony export */ \"getBackendServiceNamePort\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.getBackendServiceNamePort),\n/* harmony export */ \"getMetricsByNodeNames\": () => (/* reexport safe */ _cluster_api__WEBPACK_IMPORTED_MODULE_0__.getMetricsByNodeNames),\n/* harmony export */ \"getMetricsForAllNodes\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.getMetricsForAllNodes),\n/* harmony export */ \"getMetricsForDaemonSets\": () => (/* reexport safe */ _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__.getMetricsForDaemonSets),\n/* harmony export */ \"getMetricsForDeployments\": () => (/* reexport safe */ _deployment_api__WEBPACK_IMPORTED_MODULE_7__.getMetricsForDeployments),\n/* harmony export */ \"getMetricsForIngress\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.getMetricsForIngress),\n/* harmony export */ \"getMetricsForJobs\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.getMetricsForJobs),\n/* harmony export */ \"getMetricsForNamespace\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.getMetricsForNamespace),\n/* harmony export */ \"getMetricsForPods\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.getMetricsForPods),\n/* harmony export */ \"getMetricsForPvc\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.getMetricsForPvc),\n/* harmony export */ \"getMetricsForReplicaSets\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.getMetricsForReplicaSets),\n/* harmony export */ \"getMetricsForStatefulSets\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.getMetricsForStatefulSets),\n/* harmony export */ \"hpaApi\": () => (/* reexport safe */ _hpa_api__WEBPACK_IMPORTED_MODULE_10__.hpaApi),\n/* harmony export */ \"ingressApi\": () => (/* reexport safe */ _ingress_api__WEBPACK_IMPORTED_MODULE_11__.ingressApi),\n/* harmony export */ \"jobApi\": () => (/* reexport safe */ _job_api__WEBPACK_IMPORTED_MODULE_12__.jobApi),\n/* harmony export */ \"limitRangeApi\": () => (/* reexport safe */ _limit_range_api__WEBPACK_IMPORTED_MODULE_13__.limitRangeApi),\n/* harmony export */ \"namespacesApi\": () => (/* reexport safe */ _namespaces_api__WEBPACK_IMPORTED_MODULE_14__.namespacesApi),\n/* harmony export */ \"networkPolicyApi\": () => (/* reexport safe */ _network_policy_api__WEBPACK_IMPORTED_MODULE_15__.networkPolicyApi),\n/* harmony export */ \"nodesApi\": () => (/* reexport safe */ _nodes_api__WEBPACK_IMPORTED_MODULE_16__.nodesApi),\n/* harmony export */ \"pdbApi\": () => (/* reexport safe */ _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__.pdbApi),\n/* harmony export */ \"persistentVolumeApi\": () => (/* reexport safe */ _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__.persistentVolumeApi),\n/* harmony export */ \"podMetricsApi\": () => (/* reexport safe */ _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__.podMetricsApi),\n/* harmony export */ \"podsApi\": () => (/* reexport safe */ _pods_api__WEBPACK_IMPORTED_MODULE_19__.podsApi),\n/* harmony export */ \"pspApi\": () => (/* reexport safe */ _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__.pspApi),\n/* harmony export */ \"pvcApi\": () => (/* reexport safe */ _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__.pvcApi),\n/* harmony export */ \"replicaSetApi\": () => (/* reexport safe */ _replica_set_api__WEBPACK_IMPORTED_MODULE_23__.replicaSetApi),\n/* harmony export */ \"resourceQuotaApi\": () => (/* reexport safe */ _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__.resourceQuotaApi),\n/* harmony export */ \"roleApi\": () => (/* reexport safe */ _role_api__WEBPACK_IMPORTED_MODULE_25__.roleApi),\n/* harmony export */ \"roleBindingApi\": () => (/* reexport safe */ _role_binding_api__WEBPACK_IMPORTED_MODULE_26__.roleBindingApi),\n/* harmony export */ \"secretsApi\": () => (/* reexport safe */ _secret_api__WEBPACK_IMPORTED_MODULE_27__.secretsApi),\n/* harmony export */ \"selfSubjectRulesReviewApi\": () => (/* reexport safe */ _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__.selfSubjectRulesReviewApi),\n/* harmony export */ \"serviceAccountsApi\": () => (/* reexport safe */ _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__.serviceAccountsApi),\n/* harmony export */ \"serviceApi\": () => (/* reexport safe */ _service_api__WEBPACK_IMPORTED_MODULE_29__.serviceApi),\n/* harmony export */ \"statefulSetApi\": () => (/* reexport safe */ _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__.statefulSetApi),\n/* harmony export */ \"storageClassApi\": () => (/* reexport safe */ _storage_class_api__WEBPACK_IMPORTED_MODULE_32__.storageClassApi)\n/* harmony export */ });\n/* harmony import */ var _cluster_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cluster.api */ \"./src/common/k8s-api/endpoints/cluster.api.ts\");\n/* harmony import */ var _cluster_role_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cluster-role.api */ \"./src/common/k8s-api/endpoints/cluster-role.api.ts\");\n/* harmony import */ var _cluster_role_binding_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./cluster-role-binding.api */ \"./src/common/k8s-api/endpoints/cluster-role-binding.api.ts\");\n/* harmony import */ var _configmap_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./configmap.api */ \"./src/common/k8s-api/endpoints/configmap.api.ts\");\n/* harmony import */ var _crd_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./crd.api */ \"./src/common/k8s-api/endpoints/crd.api.ts\");\n/* harmony import */ var _cron_job_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cron-job.api */ \"./src/common/k8s-api/endpoints/cron-job.api.ts\");\n/* harmony import */ var _daemon_set_api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./daemon-set.api */ \"./src/common/k8s-api/endpoints/daemon-set.api.ts\");\n/* harmony import */ var _deployment_api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./deployment.api */ \"./src/common/k8s-api/endpoints/deployment.api.ts\");\n/* harmony import */ var _endpoint_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./endpoint.api */ \"./src/common/k8s-api/endpoints/endpoint.api.ts\");\n/* harmony import */ var _events_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./events.api */ \"./src/common/k8s-api/endpoints/events.api.ts\");\n/* harmony import */ var _hpa_api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./hpa.api */ \"./src/common/k8s-api/endpoints/hpa.api.ts\");\n/* harmony import */ var _ingress_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ingress.api */ \"./src/common/k8s-api/endpoints/ingress.api.ts\");\n/* harmony import */ var _job_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./job.api */ \"./src/common/k8s-api/endpoints/job.api.ts\");\n/* harmony import */ var _limit_range_api__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./limit-range.api */ \"./src/common/k8s-api/endpoints/limit-range.api.ts\");\n/* harmony import */ var _namespaces_api__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./namespaces.api */ \"./src/common/k8s-api/endpoints/namespaces.api.ts\");\n/* harmony import */ var _network_policy_api__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./network-policy.api */ \"./src/common/k8s-api/endpoints/network-policy.api.ts\");\n/* harmony import */ var _nodes_api__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./nodes.api */ \"./src/common/k8s-api/endpoints/nodes.api.ts\");\n/* harmony import */ var _persistent_volume_api__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./persistent-volume.api */ \"./src/common/k8s-api/endpoints/persistent-volume.api.ts\");\n/* harmony import */ var _persistent_volume_claims_api__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./persistent-volume-claims.api */ \"./src/common/k8s-api/endpoints/persistent-volume-claims.api.ts\");\n/* harmony import */ var _pods_api__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./pods.api */ \"./src/common/k8s-api/endpoints/pods.api.ts\");\n/* harmony import */ var _poddisruptionbudget_api__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./poddisruptionbudget.api */ \"./src/common/k8s-api/endpoints/poddisruptionbudget.api.ts\");\n/* harmony import */ var _pod_metrics_api__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./pod-metrics.api */ \"./src/common/k8s-api/endpoints/pod-metrics.api.ts\");\n/* harmony import */ var _podsecuritypolicy_api__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./podsecuritypolicy.api */ \"./src/common/k8s-api/endpoints/podsecuritypolicy.api.ts\");\n/* harmony import */ var _replica_set_api__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./replica-set.api */ \"./src/common/k8s-api/endpoints/replica-set.api.ts\");\n/* harmony import */ var _resource_quota_api__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./resource-quota.api */ \"./src/common/k8s-api/endpoints/resource-quota.api.ts\");\n/* harmony import */ var _role_api__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./role.api */ \"./src/common/k8s-api/endpoints/role.api.ts\");\n/* harmony import */ var _role_binding_api__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./role-binding.api */ \"./src/common/k8s-api/endpoints/role-binding.api.ts\");\n/* harmony import */ var _secret_api__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./secret.api */ \"./src/common/k8s-api/endpoints/secret.api.ts\");\n/* harmony import */ var _selfsubjectrulesreviews_api__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./selfsubjectrulesreviews.api */ \"./src/common/k8s-api/endpoints/selfsubjectrulesreviews.api.ts\");\n/* harmony import */ var _service_api__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./service.api */ \"./src/common/k8s-api/endpoints/service.api.ts\");\n/* harmony import */ var _service_accounts_api__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./service-accounts.api */ \"./src/common/k8s-api/endpoints/service-accounts.api.ts\");\n/* harmony import */ var _stateful_set_api__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./stateful-set.api */ \"./src/common/k8s-api/endpoints/stateful-set.api.ts\");\n/* harmony import */ var _storage_class_api__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./storage-class.api */ \"./src/common/k8s-api/endpoints/storage-class.api.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// Kubernetes apis\n// Docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/\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://open-lens/./src/common/k8s-api/endpoints/index.ts?");
32804
32814
 
32805
32815
  /***/ }),
32806
32816
 
@@ -32811,7 +32821,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
32811
32821
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
32812
32822
 
32813
32823
  "use strict";
32814
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Ingress\": () => (/* binding */ Ingress),\n/* harmony export */ \"IngressApi\": () => (/* binding */ IngressApi),\n/* harmony export */ \"getBackendServiceNamePort\": () => (/* binding */ getBackendServiceNamePort),\n/* harmony export */ \"getMetricsForIngress\": () => (/* binding */ getMetricsForIngress),\n/* harmony export */ \"ingressApi\": () => (/* binding */ ingressApi)\n/* harmony export */ });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _metrics_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./metrics.api */ \"./src/common/k8s-api/endpoints/metrics.api.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.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\n\n\nclass IngressApi extends _kube_api__WEBPACK_IMPORTED_MODULE_3__.KubeApi {\n}\nfunction getMetricsForIngress(ingress, namespace) {\n const opts = { category: \"ingress\", ingress, namespace };\n return _metrics_api__WEBPACK_IMPORTED_MODULE_2__.metricsApi.getMetrics({\n bytesSentSuccess: opts,\n bytesSentFailure: opts,\n requestDurationSeconds: opts,\n responseDurationSeconds: opts,\n }, {\n namespace,\n });\n}\nconst getBackendServiceNamePort = (backend) => {\n var _a;\n // .service is available with networking.k8s.io/v1, otherwise using extensions/v1beta1 interface\n const serviceName = \"service\" in backend ? backend.service.name : backend.serviceName;\n // Port is specified either with a number or name\n const servicePort = \"service\" in backend ? (_a = backend.service.port.number) !== null && _a !== void 0 ? _a : backend.service.port.name : backend.servicePort;\n return { serviceName, servicePort };\n};\nclass Ingress extends _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeObject {\n constructor(data) {\n super(data);\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.autoBind)(this);\n }\n getRoutes() {\n const { spec: { tls, rules } } = this;\n if (!rules)\n return [];\n let protocol = \"http\";\n const routes = [];\n if (tls && tls.length > 0) {\n protocol += \"s\";\n }\n rules.map(rule => {\n const host = rule.host ? rule.host : \"*\";\n if (rule.http && rule.http.paths) {\n rule.http.paths.forEach(path => {\n const { serviceName, servicePort } = getBackendServiceNamePort(path.backend);\n routes.push(`${protocol}://${host}${path.path || \"/\"} ⇢ ${serviceName}:${servicePort}`);\n });\n }\n });\n return routes;\n }\n getServiceNamePort() {\n var _a, _b, _c, _d, _e, _f;\n const { spec: { backend, defaultBackend } = {} } = this;\n const serviceName = (_b = (_a = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : backend === null || backend === void 0 ? void 0 : backend.serviceName;\n const servicePort = (_f = (_d = (_c = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _c === void 0 ? void 0 : _c.port.number) !== null && _d !== void 0 ? _d : (_e = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _e === void 0 ? void 0 : _e.port.name) !== null && _f !== void 0 ? _f : backend === null || backend === void 0 ? void 0 : backend.servicePort;\n return {\n serviceName,\n servicePort,\n };\n }\n getHosts() {\n const { spec: { rules } } = this;\n if (!rules)\n return [];\n return rules.filter(rule => rule.host).map(rule => rule.host);\n }\n getPorts() {\n var _a;\n const ports = [];\n const { spec: { tls, rules, backend, defaultBackend } } = this;\n const httpPort = 80;\n const tlsPort = 443;\n // Note: not using the port name (string)\n const servicePort = (_a = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service.port.number) !== null && _a !== void 0 ? _a : backend === null || backend === void 0 ? void 0 : backend.servicePort;\n if (rules && rules.length > 0) {\n if (rules.some(rule => Object.prototype.hasOwnProperty.call(rule, \"http\"))) {\n ports.push(httpPort);\n }\n }\n else if (servicePort !== undefined) {\n ports.push(Number(servicePort));\n }\n if (tls && tls.length > 0) {\n ports.push(tlsPort);\n }\n return ports.join(\", \");\n }\n getLoadBalancers() {\n var _a;\n const { status: { loadBalancer = { ingress: [] } } } = this;\n return ((_a = loadBalancer.ingress) !== null && _a !== void 0 ? _a : []).map(address => (address.hostname || address.ip));\n }\n}\nObject.defineProperty(Ingress, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"Ingress\"\n});\nObject.defineProperty(Ingress, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n});\nObject.defineProperty(Ingress, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/networking.k8s.io/v1/ingresses\"\n});\nlet ingressApi;\nif ((0,_utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_4__.isClusterPageContext)()) {\n ingressApi = new IngressApi({\n objectConstructor: Ingress,\n // Add fallback for Kubernetes <1.19\n checkPreferredVersion: true,\n fallbackApiBases: [\"/apis/extensions/v1beta1/ingresses\"],\n });\n}\n\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/ingress.api.ts?");
32824
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Ingress\": () => (/* binding */ Ingress),\n/* harmony export */ \"IngressApi\": () => (/* binding */ IngressApi),\n/* harmony export */ \"computeRouteDeclarations\": () => (/* binding */ computeRouteDeclarations),\n/* harmony export */ \"computeRuleDeclarations\": () => (/* binding */ computeRuleDeclarations),\n/* harmony export */ \"getBackendServiceNamePort\": () => (/* binding */ getBackendServiceNamePort),\n/* harmony export */ \"getMetricsForIngress\": () => (/* binding */ getMetricsForIngress),\n/* harmony export */ \"ingressApi\": () => (/* binding */ ingressApi)\n/* harmony export */ });\n/* harmony import */ var _kube_object__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../kube-object */ \"./src/common/k8s-api/kube-object.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"./src/common/utils/index.ts\");\n/* harmony import */ var _metrics_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./metrics.api */ \"./src/common/k8s-api/endpoints/metrics.api.ts\");\n/* harmony import */ var _kube_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../kube-api */ \"./src/common/k8s-api/kube-api.ts\");\n/* harmony import */ var _utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/cluster-id-url-parsing */ \"./src/common/utils/cluster-id-url-parsing.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\n\n\nclass IngressApi extends _kube_api__WEBPACK_IMPORTED_MODULE_3__.KubeApi {\n}\nfunction getMetricsForIngress(ingress, namespace) {\n const opts = { category: \"ingress\", ingress, namespace };\n return _metrics_api__WEBPACK_IMPORTED_MODULE_2__.metricsApi.getMetrics({\n bytesSentSuccess: opts,\n bytesSentFailure: opts,\n requestDurationSeconds: opts,\n responseDurationSeconds: opts,\n }, {\n namespace,\n });\n}\nfunction isExtensionsBackend(backend) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_1__.hasTypedProperty)(backend, \"serviceName\", _utils__WEBPACK_IMPORTED_MODULE_1__.isString);\n}\n/**\n * Format an ingress backend into the name of the service and port\n * @param backend The ingress target\n */\nfunction getBackendServiceNamePort(backend) {\n var _a;\n if (isExtensionsBackend(backend)) {\n return `${backend.serviceName}:${backend.servicePort}`;\n }\n if (backend.service) {\n const { name, port } = backend.service;\n return `${name}:${(_a = port.number) !== null && _a !== void 0 ? _a : port.name}`;\n }\n return \"<unknown>\";\n}\nclass Ingress extends _kube_object__WEBPACK_IMPORTED_MODULE_0__.KubeObject {\n constructor(data) {\n super(data);\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.autoBind)(this);\n }\n getRules() {\n var _a;\n return (_a = this.spec.rules) !== null && _a !== void 0 ? _a : [];\n }\n getRoutes() {\n return computeRouteDeclarations(this).map(({ url, service }) => `${url} ⇢ ${service}`);\n }\n getServiceNamePort() {\n var _a, _b, _c, _d, _e, _f;\n const { spec: { backend, defaultBackend } = {} } = this;\n const serviceName = (_b = (_a = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : backend === null || backend === void 0 ? void 0 : backend.serviceName;\n const servicePort = (_f = (_d = (_c = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _c === void 0 ? void 0 : _c.port.number) !== null && _d !== void 0 ? _d : (_e = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _e === void 0 ? void 0 : _e.port.name) !== null && _f !== void 0 ? _f : backend === null || backend === void 0 ? void 0 : backend.servicePort;\n return {\n serviceName,\n servicePort,\n };\n }\n getHosts() {\n const { spec: { rules = [] } } = this;\n return [..._utils__WEBPACK_IMPORTED_MODULE_1__.iter.filterMap(rules, rule => rule.host)];\n }\n getPorts() {\n var _a, _b;\n const ports = [];\n const { spec: { tls, rules, backend, defaultBackend } } = this;\n const httpPort = 80;\n const tlsPort = 443;\n // Note: not using the port name (string)\n const servicePort = (_b = (_a = defaultBackend === null || defaultBackend === void 0 ? void 0 : defaultBackend.service) === null || _a === void 0 ? void 0 : _a.port.number) !== null && _b !== void 0 ? _b : backend === null || backend === void 0 ? void 0 : backend.servicePort;\n if (rules && rules.length > 0) {\n if (rules.some(rule => Object.prototype.hasOwnProperty.call(rule, \"http\"))) {\n ports.push(httpPort);\n }\n }\n else if (servicePort !== undefined) {\n ports.push(Number(servicePort));\n }\n if (tls && tls.length > 0) {\n ports.push(tlsPort);\n }\n return ports.join(\", \");\n }\n getLoadBalancers() {\n var _a;\n const { status: { loadBalancer = { ingress: [] } } } = this;\n return ((_a = loadBalancer.ingress) !== null && _a !== void 0 ? _a : []).map(address => (address.hostname || address.ip));\n }\n}\nObject.defineProperty(Ingress, \"kind\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"Ingress\"\n});\nObject.defineProperty(Ingress, \"namespaced\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n});\nObject.defineProperty(Ingress, \"apiBase\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: \"/apis/networking.k8s.io/v1/ingresses\"\n});\nfunction computeRuleDeclarations(ingress, rule) {\n var _a, _b, _c;\n const { host = \"*\", http: { paths } = { paths: [] } } = rule;\n const protocol = ((_c = (_b = (_a = ingress.spec) === null || _a === void 0 ? void 0 : _a.tls) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) === 0\n ? \"http\"\n : \"https\";\n return paths.map(({ path = \"/\", backend }) => ({\n displayAsLink: !host.includes(\"*\"),\n pathname: path,\n url: `${protocol}://${host}${path}`,\n service: getBackendServiceNamePort(backend),\n }));\n}\nfunction computeRouteDeclarations(ingress) {\n return ingress.getRules().flatMap(rule => computeRuleDeclarations(ingress, rule));\n}\nlet ingressApi;\nif ((0,_utils_cluster_id_url_parsing__WEBPACK_IMPORTED_MODULE_4__.isClusterPageContext)()) {\n ingressApi = new IngressApi({\n objectConstructor: Ingress,\n // Add fallback for Kubernetes <1.19\n checkPreferredVersion: true,\n fallbackApiBases: [\"/apis/extensions/v1beta1/ingresses\"],\n });\n}\n\n\n\n//# sourceURL=webpack://open-lens/./src/common/k8s-api/endpoints/ingress.api.ts?");
32815
32825
 
32816
32826
  /***/ }),
32817
32827
 
@@ -40916,7 +40926,7 @@ eval("module.exports = JSON.parse('{\"name\":\"winston\",\"description\":\"A log
40916
40926
  /***/ ((module) => {
40917
40927
 
40918
40928
  "use strict";
40919
- 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.5.0-alpha.0\",\"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 --progress\",\"dev:renderer\":\"yarn run ts-node webpack.dev-server.ts\",\"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\",\"test:unit\":\"jest --watch --testPathIgnorePatterns integration\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.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\":{\"k8sProxyVersion\":\"0.2.1\",\"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|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.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/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"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/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.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.3\",\"@ogre-tools/injectable\":\"5.1.2\",\"@ogre-tools/injectable-react\":\"5.1.2\",\"@sentry/electron\":\"^2.5.4\",\"@sentry/integrations\":\"^6.19.2\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"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.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"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.12\",\"joi\":\"^17.6.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.12\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.5.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.3.0\",\"mobx-utils\":\"^6.0.4\",\"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.16\",\"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.11\",\"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\",\"selfsigned\":\"^2.0.0\",\"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.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.6.0\",\"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.5.4\",\"@sentry/types\":\"^6.19.2\",\"@testing-library/jest-dom\":\"^5.16.3\",\"@testing-library/react\":\"^11.2.7\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.35\",\"@types/cli-progress\":\"^3.9.2\",\"@types/color\":\"^3.0.3\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.1\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.8\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/jsonpath\":\"^0.2.0\",\"@types/lodash\":\"^4.14.180\",\"@types/marked\":\"^4.0.3\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.18.12\",\"@types/node-fetch\":\"^2.6.1\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.40\",\"@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.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.30.0\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.3\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.15.0\",\"@typescript-eslint/parser\":\"^5.16.0\",\"ansi_up\":\"^5.1.0\",\"mock-http\":\"^1.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.10.0\",\"color\":\"^3.2.1\",\"concurrently\":\"^7.0.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.6\",\"electron\":\"^14.2.7\",\"electron-builder\":\"^22.14.13\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.27\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.11.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\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"gunzip-maybe\":\"^1.4.2\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"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\":\"^2.5.2\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.15\",\"playwright\":\"^1.20.1\",\"postcss\":\"^8.4.12\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.11.0\",\"react-refresh-typescript\":\"^2.0.3\",\"react-router-dom\":\"^5.3.0\",\"react-select\":\"3.2.0\",\"react-select-event\":\"^5.3.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.6\",\"sass\":\"^1.49.9\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.29.3\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.23\",\"tar-stream\":\"^2.2.0\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.8\",\"ts-node\":\"^10.7.0\",\"type-fest\":\"^2.12.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.10\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.5\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.69.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.7.4\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
40929
+ 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.5.0-alpha.0\",\"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 --progress\",\"dev:renderer\":\"yarn run ts-node webpack.dev-server.ts\",\"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\",\"test:unit\":\"jest --watch --testPathIgnorePatterns integration\",\"test:integration\":\"func() { jest ${1:-xyz} --watch --runInBand --detectOpenHandles --forceExit --modulePaths=[\\\\\"<rootDir>/integration/\\\\\"]; }; func\",\"dist\":\"yarn run compile && electron-builder --publish onTag\",\"dist:dir\":\"yarn run dist --dir -c.compression=store -c.mac.identity=null\",\"download:binaries\":\"yarn run ts-node build/download_binaries.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\":{\"k8sProxyVersion\":\"0.2.1\",\"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|png|jpg|eot|woff2?|ttf)$\":\"<rootDir>/__mocks__/assetMock.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/linux/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/linux/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"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/darwin/${arch}/lens-k8s-proxy\",\"to\":\"./${arch}/lens-k8s-proxy\"},{\"from\":\"binaries/client/darwin/${arch}/helm\",\"to\":\"./${arch}/helm\"}]},\"win\":{\"target\":[\"nsis\"],\"extraResources\":[{\"from\":\"binaries/client/windows/${arch}/kubectl.exe\",\"to\":\"./${arch}/kubectl.exe\"},{\"from\":\"binaries/client/windows/${arch}/lens-k8s-proxy.exe\",\"to\":\"./${arch}/lens-k8s-proxy.exe\"},{\"from\":\"binaries/client/windows/${arch}/helm.exe\",\"to\":\"./${arch}/helm.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.3\",\"@ogre-tools/injectable\":\"5.1.2\",\"@ogre-tools/injectable-react\":\"5.1.2\",\"@sentry/electron\":\"^2.5.4\",\"@sentry/integrations\":\"^6.19.2\",\"@types/circular-dependency-plugin\":\"5.0.5\",\"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.5.3\",\"conf\":\"^7.1.2\",\"crypto-js\":\"^4.1.1\",\"electron-devtools-installer\":\"^3.2.0\",\"electron-updater\":\"^4.6.5\",\"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.12\",\"joi\":\"^17.6.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.12\",\"md5-file\":\"^5.0.0\",\"mobx\":\"^6.5.0\",\"mobx-observable-history\":\"^2.0.3\",\"mobx-react\":\"^7.3.0\",\"mobx-utils\":\"^6.0.4\",\"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.16\",\"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.11\",\"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\",\"selfsigned\":\"^2.0.1\",\"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.10\",\"uuid\":\"^8.3.2\",\"win-ca\":\"^3.5.0\",\"winston\":\"^3.6.0\",\"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.5.4\",\"@sentry/types\":\"^6.19.2\",\"@testing-library/jest-dom\":\"^5.16.3\",\"@testing-library/react\":\"^11.2.7\",\"@testing-library/user-event\":\"^13.5.0\",\"@types/byline\":\"^4.2.33\",\"@types/chart.js\":\"^2.9.35\",\"@types/cli-progress\":\"^3.9.2\",\"@types/color\":\"^3.0.3\",\"@types/crypto-js\":\"^3.1.47\",\"@types/dompurify\":\"^2.3.1\",\"@types/electron-devtools-installer\":\"^2.2.1\",\"@types/fs-extra\":\"^9.0.13\",\"@types/glob-to-regexp\":\"^0.4.1\",\"@types/gunzip-maybe\":\"^1.4.0\",\"@types/hoist-non-react-statics\":\"^3.3.1\",\"@types/html-webpack-plugin\":\"^3.2.6\",\"@types/http-proxy\":\"^1.17.8\",\"@types/jest\":\"^26.0.24\",\"@types/js-yaml\":\"^4.0.5\",\"@types/jsdom\":\"^16.2.14\",\"@types/jsonpath\":\"^0.2.0\",\"@types/lodash\":\"^4.14.181\",\"@types/marked\":\"^4.0.3\",\"@types/md5-file\":\"^4.0.2\",\"@types/mini-css-extract-plugin\":\"^2.4.0\",\"@types/mock-fs\":\"^4.13.1\",\"@types/node\":\"14.18.12\",\"@types/node-fetch\":\"^2.6.1\",\"@types/npm\":\"^2.0.32\",\"@types/proper-lockfile\":\"^4.1.2\",\"@types/randomcolor\":\"^0.5.6\",\"@types/react\":\"^17.0.43\",\"@types/react-beautiful-dnd\":\"^13.1.2\",\"@types/react-dom\":\"^17.0.14\",\"@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.13\",\"@types/request\":\"^2.48.7\",\"@types/request-promise-native\":\"^1.0.18\",\"@types/semver\":\"^7.3.9\",\"@types/sharp\":\"^0.30.0\",\"@types/spdy\":\"^3.4.5\",\"@types/tar\":\"^4.0.5\",\"@types/tar-stream\":\"^2.2.2\",\"@types/tcp-port-used\":\"^1.0.1\",\"@types/tempy\":\"^0.3.0\",\"@types/triple-beam\":\"^1.3.2\",\"@types/url-parse\":\"^1.4.8\",\"@types/uuid\":\"^8.3.4\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-dev-server\":\"^4.7.2\",\"@types/webpack-env\":\"^1.16.3\",\"@types/webpack-node-externals\":\"^2.5.3\",\"@typescript-eslint/eslint-plugin\":\"^5.15.0\",\"@typescript-eslint/parser\":\"^5.16.0\",\"ansi_up\":\"^5.1.0\",\"mock-http\":\"^1.1.0\",\"chart.js\":\"^2.9.4\",\"circular-dependency-plugin\":\"^5.2.2\",\"cli-progress\":\"^3.10.0\",\"color\":\"^3.2.1\",\"concurrently\":\"^7.0.0\",\"css-loader\":\"^6.7.1\",\"deepdash\":\"^5.3.9\",\"dompurify\":\"^2.3.6\",\"electron\":\"^14.2.7\",\"electron-builder\":\"^22.14.13\",\"electron-notarize\":\"^0.3.0\",\"esbuild\":\"^0.14.27\",\"esbuild-loader\":\"^2.18.0\",\"eslint\":\"^8.11.0\",\"eslint-plugin-header\":\"^3.1.1\",\"eslint-plugin-import\":\"^2.25.4\",\"eslint-plugin-react\":\"^7.29.4\",\"eslint-plugin-react-hooks\":\"^4.3.0\",\"eslint-plugin-unused-imports\":\"^2.0.0\",\"flex.box\":\"^3.4.4\",\"fork-ts-checker-webpack-plugin\":\"^6.5.0\",\"gunzip-maybe\":\"^1.4.2\",\"hoist-non-react-statics\":\"^3.3.2\",\"html-webpack-plugin\":\"^5.5.0\",\"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\":\"^2.5.2\",\"node-gyp\":\"7.1.2\",\"node-loader\":\"^2.0.0\",\"nodemon\":\"^2.0.15\",\"playwright\":\"^1.20.1\",\"postcss\":\"^8.4.12\",\"postcss-loader\":\"^6.2.1\",\"randomcolor\":\"^0.6.2\",\"react-beautiful-dnd\":\"^13.1.0\",\"react-refresh\":\"^0.11.0\",\"react-refresh-typescript\":\"^2.0.3\",\"react-router-dom\":\"^5.3.0\",\"react-select\":\"3.2.0\",\"react-select-event\":\"^5.3.0\",\"react-table\":\"^7.7.0\",\"react-window\":\"^1.8.6\",\"sass\":\"^1.49.9\",\"sass-loader\":\"^12.6.0\",\"sharp\":\"^0.29.3\",\"style-loader\":\"^3.3.1\",\"tailwindcss\":\"^3.0.23\",\"tar-stream\":\"^2.2.0\",\"ts-jest\":\"26.5.6\",\"ts-loader\":\"^9.2.8\",\"ts-node\":\"^10.7.0\",\"type-fest\":\"^2.12.0\",\"typed-emitter\":\"^1.4.0\",\"typedoc\":\"0.22.10\",\"typedoc-plugin-markdown\":\"^3.11.12\",\"typeface-roboto\":\"^1.1.13\",\"typescript\":\"^4.5.5\",\"typescript-plugin-css-modules\":\"^3.4.0\",\"webpack\":\"^5.69.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-dev-server\":\"^4.7.4\",\"webpack-node-externals\":\"^3.0.0\",\"xterm\":\"^4.18.0\",\"xterm-addon-fit\":\"^0.5.0\"}}');\n\n//# sourceURL=webpack://open-lens/./package.json?");
40920
40930
 
40921
40931
  /***/ }),
40922
40932