\\` when using position:sticky */\n border-collapse: separate;\n width: 100%;\n overflow-wrap: break-word;\n}\n\n.jp-sortable-table > thead {\n box-shadow: var(--jp-toolbar-box-shadow);\n\n /* move to a new stacking context to exclude from \\`mix-blend-mode\\` */\n z-index: 1;\n}\n\n.jp-sortable-table > tbody {\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.jp-sortable-table-tr > th,\n.jp-sortable-table-tr > td {\n position: relative;\n padding: 4px 12px 2px;\n height: 18px;\n}\n\n.jp-sortable-table-tr > td::before,\n.jp-sortable-table-tr > th::before {\n border-left: var(--jp-border-width) solid var(--jp-border-color3);\n\n /* border is implemented via pseudo-element to enable selective blending */\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n\n /* this serves to boost border color when background changes on hover */\n mix-blend-mode: multiply;\n}\n\n.jp-sortable-table-tr > th {\n font-weight: 500;\n text-align: left;\n border-width: var(--jp-border-width) 0;\n margin-top: calc(var(--jp-border-width) * -1);\n border-style: solid;\n border-color: var(--jp-border-color1);\n background: var(--jp-layout-color1);\n position: sticky;\n top: 0;\n z-index: 2;\n white-space: nowrap;\n user-select: none;\n}\n\n.jp-sortable-table-tr > th:not(:first-child) {\n border-left-color: var(--jp-border-color2);\n}\n\n.jp-sortable-table-tr > th:hover {\n background: var(--jp-layout-color2);\n}\n\n.jp-sortable-table-tr:hover {\n background: var(--jp-layout-color2);\n}\n\n.jp-sortable-table-th-wrapper {\n flex-direction: row;\n display: flex;\n}\n\n.jp-sortable-table-th-wrapper > label {\n flex: 1;\n text-overflow: ellipsis;\n}\n\n.jp-sort-icon {\n flex: 0;\n height: var(--jp-ui-font-size1);\n width: var(--jp-ui-font-size1);\n}\n\n.jp-sort-icon > svg {\n display: inline;\n height: auto;\n}\n\n.jp-sortable-table-tr > th:not(.jp-sorted-header) .jp-sort-icon {\n opacity: 0;\n}\n\n.jp-sortable-table-tr > th:not(.jp-sorted-header):hover .jp-sort-icon {\n opacity: 0.5;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/ui-components/style/table.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/ui-components/style/toolbar.css":
+/*!*******************************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/ui-components/style/toolbar.css ***!
+ \*******************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n:root {\n --jp-private-toolbar-height: calc(\n 31px + var(--jp-border-width)\n ); /* leave 28px for content */\n}\n\n.jp-MainAreaWidget > .jp-Toolbar {\n border-radius: 0;\n}\n\n.jp-Toolbar {\n /* Increase density for toolbar */\n --design-unit: 3.5;\n --toolbar-item-gap: 0;\n\n color: var(--jp-ui-font-color1);\n border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n box-shadow: var(--jp-toolbar-box-shadow);\n background: var(--jp-toolbar-background);\n min-height: var(--jp-toolbar-micro-height);\n padding: 0 2px;\n z-index: 8;\n}\n\n/* Toolbar items */\n\n.jp-Toolbar > .jp-Toolbar-item {\n /* Center the items in toolbar */\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.jp-Toolbar::part(positioning-region) {\n align-items: center;\n}\n\n.jp-ToolbarLabelComponent {\n background: var(--jp-layout-color1);\n background-color: var(--jp-brand-color1);\n color: var(--jp-ui-inverse-font-color1);\n border: none;\n box-sizing: border-box;\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n padding: 0 6px;\n margin: 0;\n height: 24px;\n border-radius: var(--jp-border-radius);\n display: flex;\n align-items: center;\n text-align: center;\n font-size: var(--jp-ui-font-size0);\n min-width: unset;\n min-height: unset;\n user-select: none;\n}\n\nbutton.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {\n font-size: var(--jp-ui-font-size1);\n line-height: 100%;\n padding-left: 2px;\n color: var(--jp-ui-font-color1);\n font-family: var(--jp-ui-font-family);\n}\n\n.jp-Toolbar .jp-ToolbarButtonComponent {\n color: var(--jp-ui-font-color1);\n}\n\n.jp-ToolbarButtonComponent::part(content) {\n display: flex;\n align-items: center;\n}\n\n.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {\n flex-grow: 1;\n flex-shrink: 1;\n}\n\n.jp-Toolbar-responsive-popup.jp-ThemedContainer {\n position: absolute;\n height: fit-content;\n border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);\n box-shadow: var(--jp-toolbar-box-shadow);\n background: var(--jp-toolbar-background);\n z-index: 1;\n right: 0;\n top: 0;\n}\n\n#jp-main-dock-panel[data-mode='single-document']\n .jp-MainAreaWidget\n > .jp-Toolbar.jp-Toolbar-micro {\n padding: 0;\n min-height: 0;\n}\n\n#jp-main-dock-panel[data-mode='single-document']\n .jp-MainAreaWidget\n > .jp-Toolbar {\n border: none;\n box-shadow: none;\n}\n\n/* @deprecated dead code to be removed in JupyterLab 5\n Button in toolbar should use the ui-toolkit\n https://github.com/jupyterlab-contrib/jupyter-ui-toolkit.\n*/\nbutton.jp-ToolbarButtonComponent {\n background: var(--jp-layout-color1);\n border: none;\n box-sizing: border-box;\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n padding: 0 6px;\n margin: 0;\n height: 24px;\n border-radius: var(--jp-border-radius);\n display: flex;\n align-items: center;\n text-align: center;\n font-size: var(--jp-ui-font-size0);\n min-width: unset;\n min-height: unset;\n}\n\nbutton.jp-ToolbarButtonComponent:disabled {\n opacity: 0.4;\n}\n\nbutton.jp-ToolbarButtonComponent > span {\n padding: 0;\n flex: 0 0 auto;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/ui-components/style/toolbar.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/ui-components/style/toolkit.css":
+/*!*******************************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/ui-components/style/toolkit.css ***!
+ \*******************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-ThemedContainer {\n /* Decrease default density for Jupyter toolkit components */\n --density: -4;\n}\n\n/* Styles for tree view */\n.jp-TreeView {\n min-width: auto;\n}\n\n.jp-TreeView.jp-mod-flat > .jp-TreeItem::part(content-region) {\n margin-inline-start: calc(var(--design-unit) * 2px);\n}\n\n/* Styles for tree item */\n.jp-TreeItem::part(expand-collapse-button) {\n color: var(--jp-inverse-layout-color3);\n}\n\n/* Tune hover for stealth buttons otherwise they won't stand out */\n.jp-TreeItem jp-button[appearance='stealth']:hover {\n background: var(--tree-item-expand-collapse-hover);\n}\n\n.jp-TreeItem[selected] jp-button[appearance='stealth']:hover {\n background: var(--tree-item-expand-collapse-selected-hover);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/ui-components/style/toolkit.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/ui-components/style/windowedlist.css":
+/*!************************************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/ui-components/style/windowedlist.css ***!
+ \************************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jp-WindowedPanel-outer {\n height: 100%;\n position: relative;\n overflow: auto;\n overflow-anchor: none;\n}\n\n.jp-WindowedPanel-inner {\n position: relative;\n}\n\n.jp-WindowedPanel-viewport {\n position: absolute;\n left: 0;\n right: 0;\n overflow: visible;\n}\n\n.jp-WindowedPanel-scrollbar {\n display: none;\n position: relative;\n user-select: none;\n}\n\n.jp-WindowedPanel.jp-mod-virtual-scrollbar > .jp-WindowedPanel-scrollbar {\n background-color: inherit;\n border-left: 1px solid var(--jp-layout-color3);\n display: block;\n position: fixed;\n overflow-y: auto;\n overflow-x: hidden;\n top: 0;\n bottom: 0;\n right: 0;\n min-width: 35px;\n z-index: 1;\n}\n\n.jp-WindowedPanel-scrollbar-content {\n background-color: transparent;\n list-style-type: none;\n margin: 0;\n padding: 0;\n position: relative;\n z-index: 3;\n}\n\n.jp-WindowedPanel-scrollbar-content > .jp-WindowedPanel-scrollbar-item {\n border-bottom: 1px solid var(--jp-layout-color3);\n background-color: rgb(from var(--jp-layout-color1) r g b / 50%);\n padding: 2px;\n text-align: left;\n margin: 0 2px;\n}\n\n.jp-WindowedPanel-scrollbar-content > .jp-WindowedPanel-scrollbar-item:hover {\n cursor: pointer;\n background-color: var(--jp-layout-color3);\n}\n\n.jp-WindowedPanel-scrollbar-viewportIndicator {\n position: absolute;\n background: var(--jp-layout-color2);\n border: 1px solid var(--jp-layout-color4);\n width: 100%;\n z-index: 2;\n border-radius: 2px;\n box-sizing: border-box;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/ui-components/style/windowedlist.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/vega5-extension/style/base.css":
+/*!******************************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/vega5-extension/style/base.css ***!
+ \******************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n.jp-RenderedVegaCommon5 {\n margin-left: 8px;\n margin-top: 8px;\n}\n\n.jp-MimeDocument .jp-RenderedVegaCommon5 {\n padding: 16px;\n}\n\n.vega canvas {\n background: var(--jp-vega-background);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/vega5-extension/style/base.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/dragdrop/style/index.css":
+/*!********************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/dragdrop/style/index.css ***!
+ \********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-cursor-backdrop {\n top: 0px;\n left: 0px;\n position: fixed;\n width: 200px;\n height: 200px;\n margin-top: -100px;\n margin-left: -100px;\n will-change: transform;\n z-index: 100;\n scrollbar-width: none;\n -ms-overflow-style: none;\n overflow: scroll;\n}\n\n.lm-cursor-backdrop::after {\n content: '';\n height: 1200px;\n width: 1200px;\n display: block;\n}\n\n.lm-cursor-backdrop::-webkit-scrollbar {\n display: none;\n}\n\n.lm-mod-drag-image {\n top: 0px;\n left: 0px;\n will-change: transform;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/dragdrop/style/index.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/accordionpanel.css":
+/*!****************************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/accordionpanel.css ***!
+ \****************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {\n /* Title is rotated for horizontal accordion panel using CSS */\n display: block;\n transform-origin: top left;\n transform: rotate(-90deg) translate(-100%);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/accordionpanel.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/commandpalette.css":
+/*!****************************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/commandpalette.css ***!
+ \****************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-CommandPalette {\n display: flex;\n flex-direction: column;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-CommandPalette-search {\n flex: 0 0 auto;\n}\n\n.lm-CommandPalette-content {\n flex: 1 1 auto;\n margin: 0;\n padding: 0;\n min-height: 0;\n overflow: auto;\n list-style-type: none;\n}\n\n.lm-CommandPalette-header {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.lm-CommandPalette-item {\n display: flex;\n flex-direction: row;\n}\n\n.lm-CommandPalette-itemIcon {\n flex: 0 0 auto;\n}\n\n.lm-CommandPalette-itemContent {\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.lm-CommandPalette-itemShortcut {\n flex: 0 0 auto;\n}\n\n.lm-CommandPalette-itemLabel {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.lm-close-icon {\n border: 1px solid transparent;\n background-color: transparent;\n position: absolute;\n z-index: 1;\n right: 3%;\n top: 0;\n bottom: 0;\n margin: auto;\n padding: 7px 0;\n display: none;\n vertical-align: middle;\n outline: 0;\n cursor: pointer;\n}\n.lm-close-icon:after {\n content: 'X';\n display: block;\n width: 15px;\n height: 15px;\n text-align: center;\n color: #000;\n font-weight: normal;\n font-size: 12px;\n cursor: pointer;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/commandpalette.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/dockpanel.css":
+/*!***********************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/dockpanel.css ***!
+ \***********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-DockPanel {\n z-index: 0;\n}\n\n.lm-DockPanel-widget {\n z-index: 0;\n}\n\n.lm-DockPanel-tabBar {\n z-index: 1;\n}\n\n.lm-DockPanel-handle {\n z-index: 2;\n}\n\n.lm-DockPanel-handle.lm-mod-hidden {\n display: none !important;\n}\n\n.lm-DockPanel-handle:after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: '';\n}\n\n.lm-DockPanel-handle[data-orientation='horizontal'] {\n cursor: ew-resize;\n}\n\n.lm-DockPanel-handle[data-orientation='vertical'] {\n cursor: ns-resize;\n}\n\n.lm-DockPanel-handle[data-orientation='horizontal']:after {\n left: 50%;\n min-width: 8px;\n transform: translateX(-50%);\n}\n\n.lm-DockPanel-handle[data-orientation='vertical']:after {\n top: 50%;\n min-height: 8px;\n transform: translateY(-50%);\n}\n\n.lm-DockPanel-overlay {\n z-index: 3;\n box-sizing: border-box;\n pointer-events: none;\n}\n\n.lm-DockPanel-overlay.lm-mod-hidden {\n display: none !important;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/dockpanel.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/index.css":
+/*!*******************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/index.css ***!
+ \*******************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_widget_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./widget.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/widget.css\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_accordionpanel_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./accordionpanel.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/accordionpanel.css\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_commandpalette_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./commandpalette.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/commandpalette.css\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_dockpanel_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./dockpanel.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/dockpanel.css\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_menu_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./menu.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/menu.css\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_menubar_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./menubar.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/menubar.css\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_scrollbar_css__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./scrollbar.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/scrollbar.css\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_splitpanel_css__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./splitpanel.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/splitpanel.css\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_tabbar_css__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./tabbar.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/tabbar.css\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_tabpanel_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! -!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./tabpanel.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/tabpanel.css\");\n// Imports\n\n\n\n\n\n\n\n\n\n\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_widget_css__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_accordionpanel_css__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_commandpalette_css__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_dockpanel_css__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_menu_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_menubar_css__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_scrollbar_css__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_splitpanel_css__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_tabbar_css__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\n___CSS_LOADER_EXPORT___.i(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_tabpanel_css__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/index.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/menu.css":
+/*!******************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/menu.css ***!
+ \******************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-Menu {\n z-index: 10000;\n position: absolute;\n white-space: nowrap;\n overflow-x: hidden;\n overflow-y: auto;\n outline: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-Menu-content {\n margin: 0;\n padding: 0;\n display: table;\n list-style-type: none;\n}\n\n.lm-Menu-item {\n display: table-row;\n}\n\n.lm-Menu-item.lm-mod-hidden,\n.lm-Menu-item.lm-mod-collapsed {\n display: none !important;\n}\n\n.lm-Menu-itemIcon,\n.lm-Menu-itemSubmenuIcon {\n display: table-cell;\n text-align: center;\n}\n\n.lm-Menu-itemLabel {\n display: table-cell;\n text-align: left;\n}\n\n.lm-Menu-itemShortcut {\n display: table-cell;\n text-align: right;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/menu.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/menubar.css":
+/*!*********************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/menubar.css ***!
+ \*********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-MenuBar {\n outline: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-MenuBar-content {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: row;\n list-style-type: none;\n}\n\n.lm-MenuBar-item {\n box-sizing: border-box;\n}\n\n.lm-MenuBar-itemIcon,\n.lm-MenuBar-itemLabel {\n display: inline-block;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/menubar.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/scrollbar.css":
+/*!***********************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/scrollbar.css ***!
+ \***********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-ScrollBar {\n display: flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-ScrollBar[data-orientation='horizontal'] {\n flex-direction: row;\n}\n\n.lm-ScrollBar[data-orientation='vertical'] {\n flex-direction: column;\n}\n\n.lm-ScrollBar-button {\n box-sizing: border-box;\n flex: 0 0 auto;\n}\n\n.lm-ScrollBar-track {\n box-sizing: border-box;\n position: relative;\n overflow: hidden;\n flex: 1 1 auto;\n}\n\n.lm-ScrollBar-thumb {\n box-sizing: border-box;\n position: absolute;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/scrollbar.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/splitpanel.css":
+/*!************************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/splitpanel.css ***!
+ \************************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-SplitPanel-child {\n z-index: 0;\n}\n\n.lm-SplitPanel-handle {\n z-index: 1;\n}\n\n.lm-SplitPanel-handle.lm-mod-hidden {\n display: none !important;\n}\n\n.lm-SplitPanel-handle:after {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: '';\n}\n\n.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {\n cursor: ew-resize;\n}\n\n.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {\n cursor: ns-resize;\n}\n\n.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {\n left: 50%;\n min-width: 8px;\n transform: translateX(-50%);\n}\n\n.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {\n top: 50%;\n min-height: 8px;\n transform: translateY(-50%);\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/splitpanel.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/tabbar.css":
+/*!********************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/tabbar.css ***!
+ \********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-TabBar {\n display: flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.lm-TabBar[data-orientation='horizontal'] {\n flex-direction: row;\n align-items: flex-end;\n}\n\n.lm-TabBar[data-orientation='vertical'] {\n flex-direction: column;\n align-items: flex-end;\n}\n\n.lm-TabBar-content {\n margin: 0;\n padding: 0;\n display: flex;\n flex: 1 1 auto;\n list-style-type: none;\n}\n\n.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {\n flex-direction: row;\n}\n\n.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {\n flex-direction: column;\n}\n\n.lm-TabBar-tab {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n overflow: hidden;\n touch-action: none; /* Disable native Drag/Drop */\n}\n\n.lm-TabBar-tabIcon,\n.lm-TabBar-tabCloseIcon {\n flex: 0 0 auto;\n}\n\n.lm-TabBar-tabLabel {\n flex: 1 1 auto;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.lm-TabBar-tabInput {\n user-select: all;\n width: 100%;\n box-sizing: border-box;\n}\n\n.lm-TabBar-tab.lm-mod-hidden {\n display: none !important;\n}\n\n.lm-TabBar-addButton.lm-mod-hidden {\n display: none !important;\n}\n\n.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {\n position: relative;\n}\n\n.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {\n left: 0;\n transition: left 150ms ease;\n}\n\n.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {\n top: 0;\n transition: top 150ms ease;\n}\n\n.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {\n transition: none;\n}\n\n.lm-TabBar-tabLabel .lm-TabBar-tabInput {\n user-select: all;\n width: 100%;\n box-sizing: border-box;\n background: inherit;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/tabbar.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/tabpanel.css":
+/*!**********************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/tabpanel.css ***!
+ \**********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-TabPanel-tabBar {\n z-index: 1;\n}\n\n.lm-TabPanel-stackedPanel {\n z-index: 0;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/tabpanel.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/widget.css":
+/*!********************************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/widget.css ***!
+ \********************************************************************************************************************************/
+/***/ ((module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _jupyterlab_builder_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_jupyterlab_builder_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Copyright (c) 2014-2017, PhosphorJS Contributors\n|\n| Distributed under the terms of the BSD 3-Clause License.\n|\n| The full license is in the file LICENSE, distributed with this software.\n|----------------------------------------------------------------------------*/\n\n.lm-Widget {\n box-sizing: border-box;\n position: relative;\n}\n\n.lm-Widget.lm-mod-hidden {\n display: none !important;\n}\n`, \"\"]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/widget.css?../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js":
+/*!***************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js ***!
+ \***************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/api.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/getUrl.js":
+/*!******************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/getUrl.js ***!
+ \******************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/getUrl.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js":
+/*!************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js ***!
+ \************************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\nmodule.exports = function (i) {\n return i[1];\n};\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/runtime/noSourceMaps.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/application-extension/style/base.css":
+/*!************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/application-extension/style/base.css ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/application-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/application-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/application/style/base.css":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/application/style/base.css ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/application/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/application/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/apputils-extension/style/base.css":
+/*!*********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/apputils-extension/style/base.css ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/apputils-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/apputils-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/apputils/style/base.css":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/apputils/style/base.css ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/apputils/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/apputils/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cell-toolbar/style/base.css":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cell-toolbar/style/base.css ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/cell-toolbar/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cell-toolbar/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/style/base.css":
+/*!********************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/style/base.css ***!
+ \********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/cells/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/celltags-extension/style/base.css":
+/*!*********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/celltags-extension/style/base.css ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/celltags-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/celltags-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/style/base.css":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/style/base.css ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/codeeditor/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/style/base.css":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/style/base.css ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/codemirror/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/style/base.css":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/style/base.css ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/completer/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console-extension/style/base.css":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/console-extension/style/base.css ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/console-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console/style/base.css":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/console/style/base.css ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/console/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer/style/base.css":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer/style/base.css ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/csvviewer/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/style/base.css":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/style/base.css ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/debugger/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docregistry/style/base.css":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docregistry/style/base.css ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/docregistry/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docregistry/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/documentsearch/style/base.css":
+/*!*****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/documentsearch/style/base.css ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/documentsearch/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/documentsearch/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/extensionmanager/style/base.css":
+/*!*******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/extensionmanager/style/base.css ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/extensionmanager/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/extensionmanager/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/filebrowser-extension/style/base.css":
+/*!************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/filebrowser-extension/style/base.css ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/filebrowser-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/filebrowser-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/filebrowser/style/base.css":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/filebrowser/style/base.css ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/filebrowser/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/filebrowser/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/fileeditor/style/base.css":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/fileeditor/style/base.css ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/fileeditor/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/fileeditor/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/help-extension/style/base.css":
+/*!*****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/help-extension/style/base.css ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/help-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/help-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/htmlviewer/style/base.css":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/htmlviewer/style/base.css ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/htmlviewer/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/htmlviewer/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/imageviewer/style/base.css":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/imageviewer/style/base.css ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/imageviewer/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/imageviewer/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/inspector/style/base.css":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/inspector/style/base.css ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/inspector/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/inspector/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/javascript-extension/style/base.css":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/javascript-extension/style/base.css ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/javascript-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/javascript-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/json-extension/style/base.css":
+/*!*****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/json-extension/style/base.css ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/json-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/json-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/launcher/style/base.css":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/launcher/style/base.css ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/launcher/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/launcher/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/logconsole-extension/style/base.css":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/logconsole-extension/style/base.css ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/logconsole-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/logconsole-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/logconsole/style/base.css":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/logconsole/style/base.css ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/logconsole/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/logconsole/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/lsp-extension/style/base.css":
+/*!****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/lsp-extension/style/base.css ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/lsp-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/lsp-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/markdownviewer/style/base.css":
+/*!*****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/markdownviewer/style/base.css ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/markdownviewer/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/markdownviewer/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/markedparser-extension/style/base.css":
+/*!*************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/markedparser-extension/style/base.css ***!
+ \*************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/markedparser-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/markedparser-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/mathjax-extension/style/base.css":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/mathjax-extension/style/base.css ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/mathjax-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/mathjax-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/mermaid-extension/style/base.css":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/mermaid-extension/style/base.css ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/mermaid-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/mermaid-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/mermaid/style/base.css":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/mermaid/style/base.css ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/mermaid/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/mermaid/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/metadataform/style/base.css":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/metadataform/style/base.css ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/metadataform/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/metadataform/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/notebook/style/base.css":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/notebook/style/base.css ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/notebook/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/notebook/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/outputarea/style/base.css":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/outputarea/style/base.css ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/outputarea/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/outputarea/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/pdf-extension/style/base.css":
+/*!****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/pdf-extension/style/base.css ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/pdf-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/pdf-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/pluginmanager/style/base.css":
+/*!****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/pluginmanager/style/base.css ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/pluginmanager/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/pluginmanager/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/property-inspector/style/base.css":
+/*!*********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/property-inspector/style/base.css ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/property-inspector/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/property-inspector/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/rendermime/style/base.css":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/rendermime/style/base.css ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/rendermime/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/rendermime/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/running/style/base.css":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/running/style/base.css ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/running/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/running/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/settingeditor/style/base.css":
+/*!****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/settingeditor/style/base.css ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/settingeditor/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/settingeditor/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/shortcuts-extension/style/base.css":
+/*!**********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/shortcuts-extension/style/base.css ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/shortcuts-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/shortcuts-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/statusbar/style/base.css":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/statusbar/style/base.css ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/statusbar/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/statusbar/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/terminal/style/base.css":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/terminal/style/base.css ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/terminal/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/terminal/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/toc-extension/style/base.css":
+/*!****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/toc-extension/style/base.css ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/toc-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/toc-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/toc/style/base.css":
+/*!******************************************************!*\
+ !*** ../node_modules/@jupyterlab/toc/style/base.css ***!
+ \******************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/toc/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/toc/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/tooltip/style/base.css":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/tooltip/style/base.css ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/tooltip/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/tooltip/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/ui-components/style/base.css":
+/*!****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/ui-components/style/base.css ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/ui-components/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/ui-components/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/vega5-extension/style/base.css":
+/*!******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/vega5-extension/style/base.css ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../builder/node_modules/css-loader/dist/cjs.js!./base.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@jupyterlab/vega5-extension/style/base.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _builder_node_modules_css_loader_dist_cjs_js_base_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/vega5-extension/style/base.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@lumino/dragdrop/style/index.css":
+/*!********************************************************!*\
+ !*** ../node_modules/@lumino/dragdrop/style/index.css ***!
+ \********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./index.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/dragdrop/style/index.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_jupyterlab_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_jupyterlab_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_jupyterlab_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_jupyterlab_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _jupyterlab_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/dragdrop/style/index.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@lumino/widgets/style/index.css":
+/*!*******************************************************!*\
+ !*** ../node_modules/@lumino/widgets/style/index.css ***!
+ \*******************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js */ \"../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js\");\n/* harmony import */ var _jupyterlab_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!./index.css */ \"../node_modules/@jupyterlab/builder/node_modules/css-loader/dist/cjs.js!../node_modules/@lumino/widgets/style/index.css\");\n\n \n \n \n \n \n \n \n \n \n\nvar options = {};\n\noptions.styleTagTransform = (_jupyterlab_builder_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());\noptions.setAttributes = (_jupyterlab_builder_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());\n\n options.insert = _jupyterlab_builder_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, \"head\");\n \noptions.domAPI = (_jupyterlab_builder_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());\noptions.insertStyleElement = (_jupyterlab_builder_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());\n\nvar update = _jupyterlab_builder_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"], options);\n\n\n\n\n /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"] && _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals ? _jupyterlab_builder_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__[\"default\"].locals : undefined);\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@lumino/widgets/style/index.css?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
+/*!**************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
+ \**************************************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js":
+/*!******************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js ***!
+ \******************************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertBySelector.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js":
+/*!********************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js ***!
+ \********************************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/insertStyleElement.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":
+/*!********************************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***!
+ \********************************************************************************************************************/
+/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
+
+"use strict";
+eval("\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = true ? __webpack_require__.nc : 0;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js":
+/*!*************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js ***!
+ \*************************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleDomAPI.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js":
+/*!*******************************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js ***!
+ \*******************************************************************************************************/
+/***/ ((module) => {
+
+"use strict";
+eval("\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/builder/node_modules/style-loader/dist/runtime/styleTagTransform.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cell-toolbar-extension/lib/index.js":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cell-toolbar-extension/lib/index.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_cell_toolbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/cell-toolbar */ \"webpack/sharing/consume/default/@jupyterlab/cell-toolbar/@jupyterlab/cell-toolbar\");\n/* harmony import */ var _jupyterlab_cell_toolbar__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_cell_toolbar__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n/**\n * @packageDocumentation\n * @module cell-toolbar-extension\n */\n\n\n\n\nconst PLUGIN_ID = '@jupyterlab/cell-toolbar-extension:plugin';\nconst cellToolbar = {\n id: PLUGIN_ID,\n description: 'Add the cells toolbar.',\n autoStart: true,\n activate: async (app, settingRegistry, toolbarRegistry, translator) => {\n /**\n * Load the settings for this extension\n *\n * @param setting Extension settings\n */\n function loadSetting(setting) {\n // Read the setting and convert to the correct type\n const showCellToolbar = setting === null\n ? true\n : setting.get('showToolbar').composite;\n extension.enabled = showCellToolbar;\n }\n const toolbarItems = settingRegistry && toolbarRegistry\n ? (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_2__.createToolbarFactory)(toolbarRegistry, settingRegistry, _jupyterlab_cell_toolbar__WEBPACK_IMPORTED_MODULE_1__.CellBarExtension.FACTORY_NAME, cellToolbar.id, translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator)\n : undefined;\n const extension = new _jupyterlab_cell_toolbar__WEBPACK_IMPORTED_MODULE_1__.CellBarExtension(app.commands, toolbarItems);\n // Wait for the application to be restored and\n // for the settings for this plugin to be loaded\n if (settingRegistry !== null) {\n void Promise.all([app.restored, settingRegistry.load(PLUGIN_ID)]).then(([, setting]) => {\n // Read the settings\n loadSetting(setting);\n // Listen for your plugin setting changes using Signal\n setting.changed.connect(loadSetting);\n });\n }\n app.docRegistry.addWidgetExtension('Notebook', extension);\n },\n optional: [_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_0__.ISettingRegistry, _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_2__.IToolbarWidgetRegistry, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.ITranslator]\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (cellToolbar);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cell-toolbar-extension/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cell-toolbar-extension/style/index.js":
+/*!*************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cell-toolbar-extension/style/index.js ***!
+ \*************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_cell_toolbar_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/cell-toolbar/style/index.js */ \"../node_modules/@jupyterlab/cell-toolbar/style/index.js\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cell-toolbar-extension/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cell-toolbar/lib/celltoolbartracker.js":
+/*!**************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cell-toolbar/lib/celltoolbartracker.js ***!
+ \**************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellBarExtension: () => (/* binding */ CellBarExtension),\n/* harmony export */ CellToolbarTracker: () => (/* binding */ CellToolbarTracker)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/observables */ \"webpack/sharing/consume/default/@jupyterlab/observables/@jupyterlab/observables\");\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_observables__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n\n\n\n/*\n * Text mime types\n */\nconst TEXT_MIME_TYPES = [\n 'text/plain',\n 'application/vnd.jupyter.stdout',\n 'application/vnd.jupyter.stderr'\n];\n/**\n * Widget cell toolbar classes\n */\nconst CELL_TOOLBAR_CLASS = 'jp-cell-toolbar';\n// @deprecated to be removed\nconst CELL_MENU_CLASS = 'jp-cell-menu';\n/**\n * Class for a cell whose contents overlap with the cell toolbar\n */\nconst TOOLBAR_OVERLAP_CLASS = 'jp-toolbar-overlap';\n/**\n * Watch a notebook so that a cell toolbar appears on the active cell\n */\nclass CellToolbarTracker {\n /**\n * CellToolbarTracker constructor\n *\n * @param panel The notebook panel\n * @param toolbar The toolbar; deprecated use {@link toolbarFactory} instead\n * @param toolbarFactory The toolbar factory\n */\n constructor(panel, toolbar, toolbarFactory, translator) {\n this._isDisposed = false;\n this._toolbar = null;\n this._toolbarItems = null;\n this._toolbarFactory = null;\n this._panel = panel;\n this._previousActiveCell = this._panel.content.activeCell;\n this._toolbarItems = toolbar !== null && toolbar !== void 0 ? toolbar : null;\n this._toolbarFactory = toolbarFactory !== null && toolbarFactory !== void 0 ? toolbarFactory : null;\n this._enabled = true; // If this has been set to false, it will be modified after settings are available\n this._trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.nullTranslator).load('jupyterlab');\n if (this._toolbarItems === null && this._toolbarFactory === null) {\n throw Error('You must provide the toolbarFactory or the toolbar items.');\n }\n // deprecated to be removed when we remove toolbar from input arguments\n if (!this._toolbarFactory && this._toolbarItems) {\n this._onToolbarChanged();\n this._toolbarItems.changed.connect(this._onToolbarChanged, this);\n }\n // Only add the toolbar to the notebook's active cell (if any) once it has fully rendered and been revealed.\n void panel.revealed.then(() => {\n requestAnimationFrame(() => {\n const notebook = panel.content;\n this._onActiveCellChanged(notebook);\n // Handle subsequent changes of active cell.\n notebook.activeCellChanged.connect(this._onActiveCellChanged, this);\n // Check whether the toolbar should be rendered upon a layout change\n notebook.renderingLayoutChanged.connect(this._onActiveCellChanged, this);\n notebook.disposed.connect(() => {\n notebook.activeCellChanged.disconnect(this._onActiveCellChanged);\n });\n });\n });\n }\n /**\n * @deprecated Will become protected in JupyterLab 5\n */\n _onMetadataChanged(model, args) {\n if (args.key === 'jupyter') {\n if (typeof args.newValue === 'object' &&\n args.newValue.source_hidden === true &&\n (args.type === 'add' || args.type === 'change')) {\n // Cell just became hidden; remove toolbar\n this._removeToolbar(model);\n }\n // Check whether input visibility changed\n else if (typeof args.oldValue === 'object' &&\n args.oldValue.source_hidden === true) {\n // Cell just became visible; add toolbar\n this._addToolbar(model);\n }\n }\n }\n /**\n * @deprecated Will become protected in JupyterLab 5\n */\n _onActiveCellChanged(notebook) {\n if (this._previousActiveCell && !this._previousActiveCell.isDisposed) {\n // Disposed cells do not have a model anymore.\n this._removeToolbar(this._previousActiveCell.model);\n this._previousActiveCell.model.metadataChanged.disconnect(this._onMetadataChanged);\n }\n const activeCell = notebook.activeCell;\n // Change previously active cell.\n this._previousActiveCell = activeCell;\n if (activeCell === null || activeCell.inputHidden) {\n return;\n }\n activeCell.model.metadataChanged.connect(this._onMetadataChanged, this);\n this._addToolbar(activeCell.model);\n }\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Whether the cell toolbar is shown, if there is enough room\n */\n get enabled() {\n return this._enabled;\n }\n /**\n * Sets whether the cell toolbar is shown, if there is enough room\n */\n set enabled(value) {\n this._enabled = value;\n this._onToolbarChanged();\n }\n dispose() {\n var _a, _b;\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n (_a = this._toolbarItems) === null || _a === void 0 ? void 0 : _a.changed.disconnect(this._onToolbarChanged, this);\n (_b = this._toolbar) === null || _b === void 0 ? void 0 : _b.dispose();\n this._panel = null;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__.Signal.clearData(this);\n }\n _addToolbar(model) {\n // Do nothing if the toolbar shouldn't be visible.\n if (!this.enabled) {\n return;\n }\n const cell = this._getCell(model);\n if (cell && !cell.isDisposed) {\n const toolbarWidget = (this._toolbar = new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.Toolbar());\n // Note: CELL_MENU_CLASS is deprecated.\n toolbarWidget.addClass(CELL_MENU_CLASS);\n toolbarWidget.addClass(CELL_TOOLBAR_CLASS);\n toolbarWidget.node.setAttribute('aria-label', this._trans.__('Cell toolbar'));\n const promises = [cell.ready];\n if (this._toolbarFactory) {\n (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.setToolbar)(cell, this._toolbarFactory, toolbarWidget);\n // FIXME toolbarWidget.update() - strangely this does not work\n toolbarWidget.layout.widgets.forEach(w => {\n w.update();\n });\n }\n else {\n for (const { name, widget } of this._toolbarItems) {\n toolbarWidget.addItem(name, widget);\n if (widget instanceof _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.ReactWidget &&\n widget.renderPromise !== undefined) {\n widget.update();\n promises.push(widget.renderPromise);\n }\n }\n }\n promises.push(cell.ready);\n // Wait for all the buttons to be rendered before attaching the toolbar.\n Promise.all(promises)\n .then(() => {\n var _a;\n if (cell.isDisposed || ((_a = this._panel) === null || _a === void 0 ? void 0 : _a.content.activeCell) !== cell) {\n toolbarWidget.dispose();\n return;\n }\n // Hide the toolbar by default, to avoid temporary overlapping.\n cell.node.classList.add(TOOLBAR_OVERLAP_CLASS);\n cell.inputArea.layout.insertWidget(0, toolbarWidget);\n // For rendered markdown, watch for resize events.\n cell.displayChanged.connect(this._resizeEventCallback, this);\n // Watch for changes in the cell's contents.\n cell.model.contentChanged.connect(this._changedEventCallback, this);\n // Hide the cell toolbar if it overlaps with cell contents\n this._updateCellForToolbarOverlap(cell);\n })\n .catch(e => {\n console.error('Error rendering buttons of the cell toolbar: ', e);\n });\n }\n }\n _getCell(model) {\n var _a;\n return (_a = this._panel) === null || _a === void 0 ? void 0 : _a.content.widgets.find(widget => widget.model === model);\n }\n _removeToolbar(model) {\n var _a, _b;\n const cell = this._getCell(model);\n if (cell && !cell.isDisposed) {\n // Attempt to remove the resize and changed event handlers.\n cell.displayChanged.disconnect(this._resizeEventCallback, this);\n }\n model.contentChanged.disconnect(this._changedEventCallback, this);\n if (((_a = this._toolbar) === null || _a === void 0 ? void 0 : _a.parent) === (cell === null || cell === void 0 ? void 0 : cell.inputArea) &&\n ((_b = this._toolbar) === null || _b === void 0 ? void 0 : _b.isDisposed) === false) {\n this._toolbar.dispose();\n }\n }\n /**\n * Call back on settings changes\n *\n * @deprecated To remove when toolbar can not be provided directly to the tracker\n */\n _onToolbarChanged() {\n var _a;\n // Reset toolbar when settings changes\n const activeCell = (_a = this._panel) === null || _a === void 0 ? void 0 : _a.content.activeCell;\n if (activeCell) {\n this._removeToolbar(activeCell.model);\n this._addToolbar(activeCell.model);\n }\n }\n _changedEventCallback() {\n var _a;\n const activeCell = (_a = this._panel) === null || _a === void 0 ? void 0 : _a.content.activeCell;\n if (activeCell === null || activeCell === undefined) {\n return;\n }\n this._updateCellForToolbarOverlap(activeCell);\n }\n _resizeEventCallback() {\n var _a;\n const activeCell = (_a = this._panel) === null || _a === void 0 ? void 0 : _a.content.activeCell;\n if (activeCell === null || activeCell === undefined) {\n return;\n }\n this._updateCellForToolbarOverlap(activeCell);\n }\n _updateCellForToolbarOverlap(activeCell) {\n // When we do change in cell, the browser might not have completed the layout\n // update if we don't wait, resulting in the previous width being returned\n // using `getBoundingClientRect().width` in later functions. This also wait for\n // the toolbar to be rendered the first time (on page reload), allowing us to\n // retrieve the right widgets width.\n requestIdleCallback(() => {\n // Remove the \"toolbar overlap\" class from the cell, rendering the cell's toolbar\n const activeCellElement = activeCell.node;\n activeCellElement.classList.remove(TOOLBAR_OVERLAP_CLASS);\n if (this._cellToolbarOverlapsContents(activeCell)) {\n // Add the \"toolbar overlap\" class to the cell, completely concealing the toolbar,\n // if the first line of the content overlaps with it at all\n activeCellElement.classList.add(TOOLBAR_OVERLAP_CLASS);\n }\n });\n }\n _cellToolbarOverlapsContents(activeCell) {\n var _a, _b, _c, _d;\n // Fail safe when the active cell is not ready yet\n if (!activeCell.model) {\n return false;\n }\n const cellType = activeCell.model.type;\n // If the toolbar is too large for the current cell, hide it.\n const editorRect = (_a = activeCell.editorWidget) === null || _a === void 0 ? void 0 : _a.node.getBoundingClientRect();\n const cellLeft = (_b = editorRect === null || editorRect === void 0 ? void 0 : editorRect.left) !== null && _b !== void 0 ? _b : 0;\n const cellRight = (_c = editorRect === null || editorRect === void 0 ? void 0 : editorRect.right) !== null && _c !== void 0 ? _c : 0;\n const toolbarLeft = this._cellToolbarLeft(activeCell);\n if (toolbarLeft === null) {\n return false;\n }\n // The toolbar should not take up more than 50% of the cell.\n if ((cellLeft + cellRight) / 2 > toolbarLeft) {\n return true;\n }\n if (cellType === 'markdown' && activeCell.rendered) {\n // Check for overlap in rendered markdown content\n return this._markdownOverlapsToolbar(activeCell);\n }\n // Check for overlap in code content\n if (((_d = this._panel) === null || _d === void 0 ? void 0 : _d.content.renderingLayout) === 'default') {\n return this._codeOverlapsToolbar(activeCell);\n }\n else {\n return this._outputOverlapsToolbar(activeCell);\n }\n }\n /**\n * Check for overlap between rendered Markdown and the cell toolbar\n *\n * @param activeCell A rendered MarkdownCell\n * @returns `true` if the first line of the output overlaps with the cell toolbar, `false` otherwise\n */\n _markdownOverlapsToolbar(activeCell) {\n const markdownOutput = activeCell.inputArea; // Rendered markdown appears in the input area\n if (!markdownOutput) {\n return false;\n }\n // Get the rendered markdown as a widget.\n const markdownOutputWidget = markdownOutput.renderedInput;\n const markdownOutputElement = markdownOutputWidget.node;\n const firstOutputElementChild = markdownOutputElement.firstElementChild;\n if (firstOutputElementChild === null) {\n return false;\n }\n // Temporarily set the element's max width so that the bounding client rectangle only encompasses the content.\n const oldMaxWidth = firstOutputElementChild.style.maxWidth;\n firstOutputElementChild.style.maxWidth = 'max-content';\n const lineRight = firstOutputElementChild.getBoundingClientRect().right;\n // Reinstate the old max width.\n firstOutputElementChild.style.maxWidth = oldMaxWidth;\n const toolbarLeft = this._cellToolbarLeft(activeCell);\n return toolbarLeft === null ? false : lineRight > toolbarLeft;\n }\n _outputOverlapsToolbar(activeCell) {\n const outputArea = activeCell.outputArea.node;\n if (outputArea) {\n const outputs = outputArea.querySelectorAll('[data-mime-type]');\n const toolbarRect = this._cellToolbarRect(activeCell);\n if (toolbarRect) {\n const { left: toolbarLeft, bottom: toolbarBottom } = toolbarRect;\n return (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.some)(outputs, output => {\n const node = output.firstElementChild;\n if (node) {\n const range = new Range();\n if (TEXT_MIME_TYPES.includes(output.getAttribute('data-mime-type') || '')) {\n // If the node is plain text, it's in a . To get the true bounding box of the\n // text, the node contents need to be selected.\n range.selectNodeContents(node);\n }\n else {\n range.selectNode(node);\n }\n const { right: nodeRight, top: nodeTop } = range.getBoundingClientRect();\n // Note: y-coordinate increases toward the bottom of page\n return nodeRight > toolbarLeft && nodeTop < toolbarBottom;\n }\n return false;\n });\n }\n }\n return false;\n }\n _codeOverlapsToolbar(activeCell) {\n const editorWidget = activeCell.editorWidget;\n const editor = activeCell.editor;\n if (!editorWidget || !editor) {\n return false;\n }\n if (editor.lineCount < 1) {\n return false; // Nothing in the editor\n }\n const codeMirrorLines = editorWidget.node.getElementsByClassName('cm-line');\n if (codeMirrorLines.length < 1) {\n return false; // No lines present\n }\n let lineRight = codeMirrorLines[0].getBoundingClientRect().left;\n const range = document.createRange();\n range.selectNodeContents(codeMirrorLines[0]);\n lineRight += range.getBoundingClientRect().width;\n const toolbarLeft = this._cellToolbarLeft(activeCell);\n return toolbarLeft === null ? false : lineRight > toolbarLeft;\n }\n _cellToolbarRect(activeCell) {\n var _a;\n if (((_a = this._toolbar) === null || _a === void 0 ? void 0 : _a.parent) !== activeCell.inputArea) {\n return null;\n }\n const activeCellToolbar = this._toolbar.node;\n return activeCellToolbar.getBoundingClientRect();\n }\n _cellToolbarLeft(activeCell) {\n var _a;\n return ((_a = this._cellToolbarRect(activeCell)) === null || _a === void 0 ? void 0 : _a.left) || null;\n }\n}\nconst defaultToolbarItems = [\n {\n command: 'notebook:duplicate-below',\n name: 'duplicate-cell'\n },\n {\n command: 'notebook:move-cell-up',\n name: 'move-cell-up'\n },\n {\n command: 'notebook:move-cell-down',\n name: 'move-cell-down'\n },\n {\n command: 'notebook:insert-cell-above',\n name: 'insert-cell-above'\n },\n {\n command: 'notebook:insert-cell-below',\n name: 'insert-cell-below'\n },\n {\n command: 'notebook:delete-cell',\n name: 'delete-cell'\n }\n];\n/**\n * Widget extension that creates a CellToolbarTracker each time a notebook is\n * created.\n */\nclass CellBarExtension {\n constructor(commands, toolbarFactory) {\n this._commands = commands;\n this._toolbarFactory = toolbarFactory !== null && toolbarFactory !== void 0 ? toolbarFactory : this.defaultToolbarFactory;\n }\n get defaultToolbarFactory() {\n const itemFactory = (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.createDefaultFactory)(this._commands);\n return (widget) => new _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_1__.ObservableList({\n values: defaultToolbarItems.map(item => {\n return {\n name: item.name,\n widget: itemFactory(CellBarExtension.FACTORY_NAME, widget, item)\n };\n })\n });\n }\n createNew(panel) {\n return (this._tracker = new CellToolbarTracker(panel, undefined, this._toolbarFactory));\n }\n /**\n * Whether the cell toolbar is displayed, if there is enough room for it\n */\n get enabled() {\n return this._tracker.enabled;\n }\n /**\n * Sets whether the cell toolbar is displayed, if there is enough room for it\n */\n set enabled(value) {\n if (this._tracker) {\n this._tracker.enabled = value;\n }\n }\n}\nCellBarExtension.FACTORY_NAME = 'Cell';\n//# sourceMappingURL=celltoolbartracker.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cell-toolbar/lib/celltoolbartracker.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cell-toolbar/lib/index.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cell-toolbar/lib/index.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellBarExtension: () => (/* reexport safe */ _celltoolbartracker__WEBPACK_IMPORTED_MODULE_0__.CellBarExtension),\n/* harmony export */ CellToolbarTracker: () => (/* reexport safe */ _celltoolbartracker__WEBPACK_IMPORTED_MODULE_0__.CellToolbarTracker)\n/* harmony export */ });\n/* harmony import */ var _celltoolbartracker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./celltoolbartracker */ \"../node_modules/@jupyterlab/cell-toolbar/lib/celltoolbartracker.js\");\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n/**\n * @packageDocumentation\n * @module cell-toolbar\n */\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cell-toolbar/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cell-toolbar/style/index.js":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cell-toolbar/style/index.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_docregistry_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/docregistry/style/index.js */ \"../node_modules/@jupyterlab/docregistry/style/index.js\");\n/* harmony import */ var _jupyterlab_cells_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/cells/style/index.js */ \"../node_modules/@jupyterlab/cells/style/index.js\");\n/* harmony import */ var _jupyterlab_notebook_style_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/notebook/style/index.js */ \"../node_modules/@jupyterlab/notebook/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/cell-toolbar/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cell-toolbar/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/celldragutils.js":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/celldragutils.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellDragUtils: () => (/* binding */ CellDragUtils)\n/* harmony export */ });\n/* harmony import */ var _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/virtualdom */ \"webpack/sharing/consume/default/@lumino/virtualdom/@lumino/virtualdom\");\n/* harmony import */ var _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * Constants for drag\n */\n/**\n * The threshold in pixels to start a drag event.\n */\nconst DRAG_THRESHOLD = 5;\n/**\n * The class name added to drag images.\n */\nconst DRAG_IMAGE_CLASS = 'jp-dragImage';\n/**\n * The class name added to singular drag images\n */\nconst SINGLE_DRAG_IMAGE_CLASS = 'jp-dragImage-singlePrompt';\n/**\n * The class name added to the drag image cell content.\n */\nconst CELL_DRAG_CONTENT_CLASS = 'jp-dragImage-content';\n/**\n * The class name added to the drag image cell content.\n */\nconst CELL_DRAG_PROMPT_CLASS = 'jp-dragImage-prompt';\n/**\n * The class name added to the drag image cell content.\n */\nconst CELL_DRAG_MULTIPLE_BACK = 'jp-dragImage-multipleBack';\nvar CellDragUtils;\n(function (CellDragUtils) {\n /**\n * Find the cell index containing the target html element.\n * This function traces up the DOM hierarchy to find the root cell\n * node. Then find the corresponding child and select it.\n *\n * @param node - the cell node or a child of the cell node.\n * @param cells - an iterable of Cells\n * @param isCellNode - a function that takes in a node and checks if\n * it is a cell node.\n *\n * @returns index of the cell we're looking for. Returns -1 if\n * the cell is not founds\n */\n function findCell(node, cells, isCellNode) {\n let cellIndex = -1;\n while (node && node.parentElement) {\n if (isCellNode(node)) {\n let index = -1;\n for (const cell of cells) {\n if (cell.node === node) {\n cellIndex = ++index;\n break;\n }\n }\n break;\n }\n node = node.parentElement;\n }\n return cellIndex;\n }\n CellDragUtils.findCell = findCell;\n /**\n * Detect which part of the cell triggered the MouseEvent\n *\n * @param cell - The cell which contains the MouseEvent's target\n * @param target - The DOM node which triggered the MouseEvent\n */\n function detectTargetArea(cell, target) {\n var _a, _b;\n let targetArea;\n if (cell) {\n if ((_a = cell.editorWidget) === null || _a === void 0 ? void 0 : _a.node.contains(target)) {\n targetArea = 'input';\n }\n else if ((_b = cell.promptNode) === null || _b === void 0 ? void 0 : _b.contains(target)) {\n targetArea = 'prompt';\n }\n else {\n targetArea = 'cell';\n }\n }\n else {\n targetArea = 'unknown';\n }\n return targetArea;\n }\n CellDragUtils.detectTargetArea = detectTargetArea;\n /**\n * Detect if a drag event should be started. This is down if the\n * mouse is moved beyond a certain distance (DRAG_THRESHOLD).\n *\n * @param prevX - X Coordinate of the mouse pointer during the mousedown event\n * @param prevY - Y Coordinate of the mouse pointer during the mousedown event\n * @param nextX - Current X Coordinate of the mouse pointer\n * @param nextY - Current Y Coordinate of the mouse pointer\n */\n function shouldStartDrag(prevX, prevY, nextX, nextY) {\n const dx = Math.abs(nextX - prevX);\n const dy = Math.abs(nextY - prevY);\n return dx >= DRAG_THRESHOLD || dy >= DRAG_THRESHOLD;\n }\n CellDragUtils.shouldStartDrag = shouldStartDrag;\n /**\n * Create an image for the cell(s) to be dragged\n *\n * @param activeCell - The cell from where the drag event is triggered\n * @param selectedCells - The cells to be dragged\n */\n function createCellDragImage(activeCell, selectedCells) {\n const count = selectedCells.length;\n let promptNumber;\n if (activeCell.model.type === 'code') {\n const executionCount = activeCell.model\n .executionCount;\n promptNumber = ' ';\n if (executionCount) {\n promptNumber = executionCount.toString();\n }\n }\n else {\n promptNumber = '';\n }\n const cellContent = activeCell.model.sharedModel\n .getSource()\n .split('\\n')[0]\n .slice(0, 26);\n if (count > 1) {\n if (promptNumber !== '') {\n return _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.VirtualDOM.realize(_lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div(_lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div({ className: DRAG_IMAGE_CLASS }, _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.span({ className: CELL_DRAG_PROMPT_CLASS }, '[' + promptNumber + ']:'), _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.span({ className: CELL_DRAG_CONTENT_CLASS }, cellContent)), _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div({ className: CELL_DRAG_MULTIPLE_BACK }, '')));\n }\n else {\n return _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.VirtualDOM.realize(_lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div(_lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div({ className: DRAG_IMAGE_CLASS }, _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.span({ className: CELL_DRAG_PROMPT_CLASS }), _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.span({ className: CELL_DRAG_CONTENT_CLASS }, cellContent)), _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div({ className: CELL_DRAG_MULTIPLE_BACK }, '')));\n }\n }\n else {\n if (promptNumber !== '') {\n return _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.VirtualDOM.realize(_lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div(_lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div({ className: `${DRAG_IMAGE_CLASS} ${SINGLE_DRAG_IMAGE_CLASS}` }, _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.span({ className: CELL_DRAG_PROMPT_CLASS }, '[' + promptNumber + ']:'), _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.span({ className: CELL_DRAG_CONTENT_CLASS }, cellContent))));\n }\n else {\n return _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.VirtualDOM.realize(_lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div(_lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.div({ className: `${DRAG_IMAGE_CLASS} ${SINGLE_DRAG_IMAGE_CLASS}` }, _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.span({ className: CELL_DRAG_PROMPT_CLASS }), _lumino_virtualdom__WEBPACK_IMPORTED_MODULE_0__.h.span({ className: CELL_DRAG_CONTENT_CLASS }, cellContent))));\n }\n }\n }\n CellDragUtils.createCellDragImage = createCellDragImage;\n})(CellDragUtils || (CellDragUtils = {}));\n//# sourceMappingURL=celldragutils.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/celldragutils.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/collapser.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/collapser.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Collapser: () => (/* binding */ Collapser),\n/* harmony export */ InputCollapser: () => (/* binding */ InputCollapser),\n/* harmony export */ OutputCollapser: () => (/* binding */ OutputCollapser)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_domutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/domutils */ \"webpack/sharing/consume/default/@lumino/domutils/@lumino/domutils\");\n/* harmony import */ var _lumino_domutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_domutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n/**\n * The CSS class added to all collapsers.\n */\nconst COLLAPSER_CLASS = 'jp-Collapser';\n/**\n * The CSS class added to the collapser child.\n */\nconst COLLAPSER_CHILD_CLASS = 'jp-Collapser-child';\n/**\n * The CSS class added to input collapsers.\n */\nconst INPUT_COLLAPSER = 'jp-InputCollapser';\n/**\n * The CSS class added to output collapsers.\n */\nconst OUTPUT_COLLAPSER = 'jp-OutputCollapser';\n/**\n * Abstract collapser base class.\n *\n * ### Notes\n * A collapser is a visible div to the left of a cell's\n * input/output that a user can click on to collapse the\n * input/output.\n */\nclass Collapser extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.ReactWidget {\n /**\n * Construct a new collapser.\n */\n constructor() {\n super();\n this.addClass(COLLAPSER_CLASS);\n }\n /**\n * Is the input/output of the parent collapsed.\n */\n get collapsed() {\n return false;\n }\n /**\n * Render the collapser with the virtual DOM.\n */\n render() {\n const childClass = COLLAPSER_CHILD_CLASS;\n return react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"div\", { className: childClass, onClick: e => this.handleClick(e) });\n }\n}\n/**\n * A collapser subclass to collapse a cell's input area.\n */\nclass InputCollapser extends Collapser {\n /**\n * Construct a new input collapser.\n */\n constructor() {\n super();\n this.addClass(INPUT_COLLAPSER);\n }\n /**\n * Is the cell's input collapsed?\n */\n get collapsed() {\n var _a;\n const cell = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.parent;\n if (cell) {\n return cell.inputHidden;\n }\n else {\n return false;\n }\n }\n /**\n * Handle a click event for the user to collapse the cell's input.\n */\n handleClick(e) {\n var _a;\n const cell = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.parent;\n if (cell) {\n cell.inputHidden = !cell.inputHidden;\n }\n /* We need this until we watch the cell state */\n this.update();\n }\n}\n/**\n * A collapser subclass to collapse a cell's output area.\n */\nclass OutputCollapser extends Collapser {\n /**\n * Construct a new output collapser.\n */\n constructor() {\n super();\n this.addClass(OUTPUT_COLLAPSER);\n }\n /**\n * Is the cell's output collapsed?\n */\n get collapsed() {\n var _a;\n const cell = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.parent;\n if (cell) {\n return cell.outputHidden;\n }\n else {\n return false;\n }\n }\n /**\n * Handle a click event for the user to collapse the cell's output.\n */\n handleClick(e) {\n var _a, _b;\n const cell = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.parent;\n if (cell) {\n cell.outputHidden = !cell.outputHidden;\n /* Scroll cell into view after output collapse */\n if (cell.outputHidden) {\n let area = (_b = cell.parent) === null || _b === void 0 ? void 0 : _b.node;\n if (area) {\n _lumino_domutils__WEBPACK_IMPORTED_MODULE_1__.ElementExt.scrollIntoViewIfNeeded(area, cell.node);\n }\n }\n }\n /* We need this until we watch the cell state */\n this.update();\n }\n}\n//# sourceMappingURL=collapser.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/collapser.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/headerfooter.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/headerfooter.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellFooter: () => (/* binding */ CellFooter),\n/* harmony export */ CellHeader: () => (/* binding */ CellHeader)\n/* harmony export */ });\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_0__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/**\n * The CSS class added to the cell header.\n */\nconst CELL_HEADER_CLASS = 'jp-CellHeader';\n/**\n * The CSS class added to the cell footer.\n */\nconst CELL_FOOTER_CLASS = 'jp-CellFooter';\n/**\n * Default implementation of a cell header.\n */\nclass CellHeader extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__.Widget {\n /**\n * Construct a new cell header.\n */\n constructor() {\n super();\n this.addClass(CELL_HEADER_CLASS);\n }\n}\n/**\n * Default implementation of a cell footer.\n */\nclass CellFooter extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__.Widget {\n /**\n * Construct a new cell footer.\n */\n constructor() {\n super();\n this.addClass(CELL_FOOTER_CLASS);\n }\n}\n//# sourceMappingURL=headerfooter.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/headerfooter.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/index.js":
+/*!******************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/index.js ***!
+ \******************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AttachmentsCell: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_7__.AttachmentsCell),\n/* harmony export */ AttachmentsCellModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_4__.AttachmentsCellModel),\n/* harmony export */ Cell: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_7__.Cell),\n/* harmony export */ CellDragUtils: () => (/* reexport safe */ _celldragutils__WEBPACK_IMPORTED_MODULE_0__.CellDragUtils),\n/* harmony export */ CellFooter: () => (/* reexport safe */ _headerfooter__WEBPACK_IMPORTED_MODULE_2__.CellFooter),\n/* harmony export */ CellHeader: () => (/* reexport safe */ _headerfooter__WEBPACK_IMPORTED_MODULE_2__.CellHeader),\n/* harmony export */ CellModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_4__.CellModel),\n/* harmony export */ CellSearchProvider: () => (/* reexport safe */ _searchprovider__WEBPACK_IMPORTED_MODULE_6__.CellSearchProvider),\n/* harmony export */ CodeCell: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_7__.CodeCell),\n/* harmony export */ CodeCellLayout: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_7__.CodeCellLayout),\n/* harmony export */ CodeCellModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_4__.CodeCellModel),\n/* harmony export */ Collapser: () => (/* reexport safe */ _collapser__WEBPACK_IMPORTED_MODULE_1__.Collapser),\n/* harmony export */ InputArea: () => (/* reexport safe */ _inputarea__WEBPACK_IMPORTED_MODULE_3__.InputArea),\n/* harmony export */ InputCollapser: () => (/* reexport safe */ _collapser__WEBPACK_IMPORTED_MODULE_1__.InputCollapser),\n/* harmony export */ InputPlaceholder: () => (/* reexport safe */ _placeholder__WEBPACK_IMPORTED_MODULE_5__.InputPlaceholder),\n/* harmony export */ InputPrompt: () => (/* reexport safe */ _inputarea__WEBPACK_IMPORTED_MODULE_3__.InputPrompt),\n/* harmony export */ MarkdownCell: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_7__.MarkdownCell),\n/* harmony export */ MarkdownCellModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_4__.MarkdownCellModel),\n/* harmony export */ OutputCollapser: () => (/* reexport safe */ _collapser__WEBPACK_IMPORTED_MODULE_1__.OutputCollapser),\n/* harmony export */ OutputPlaceholder: () => (/* reexport safe */ _placeholder__WEBPACK_IMPORTED_MODULE_5__.OutputPlaceholder),\n/* harmony export */ Placeholder: () => (/* reexport safe */ _placeholder__WEBPACK_IMPORTED_MODULE_5__.Placeholder),\n/* harmony export */ RawCell: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_7__.RawCell),\n/* harmony export */ RawCellModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_4__.RawCellModel),\n/* harmony export */ SELECTED_HIGHLIGHT_CLASS: () => (/* reexport safe */ _searchprovider__WEBPACK_IMPORTED_MODULE_6__.SELECTED_HIGHLIGHT_CLASS),\n/* harmony export */ createCellSearchProvider: () => (/* reexport safe */ _searchprovider__WEBPACK_IMPORTED_MODULE_6__.createCellSearchProvider),\n/* harmony export */ isCodeCellModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_4__.isCodeCellModel),\n/* harmony export */ isMarkdownCellModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_4__.isMarkdownCellModel),\n/* harmony export */ isRawCellModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_4__.isRawCellModel)\n/* harmony export */ });\n/* harmony import */ var _celldragutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./celldragutils */ \"../node_modules/@jupyterlab/cells/lib/celldragutils.js\");\n/* harmony import */ var _collapser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./collapser */ \"../node_modules/@jupyterlab/cells/lib/collapser.js\");\n/* harmony import */ var _headerfooter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./headerfooter */ \"../node_modules/@jupyterlab/cells/lib/headerfooter.js\");\n/* harmony import */ var _inputarea__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./inputarea */ \"../node_modules/@jupyterlab/cells/lib/inputarea.js\");\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./model */ \"../node_modules/@jupyterlab/cells/lib/model.js\");\n/* harmony import */ var _placeholder__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./placeholder */ \"../node_modules/@jupyterlab/cells/lib/placeholder.js\");\n/* harmony import */ var _searchprovider__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./searchprovider */ \"../node_modules/@jupyterlab/cells/lib/searchprovider.js\");\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/cells/lib/widget.js\");\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n/**\n * @packageDocumentation\n * @module cells\n */\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/inputarea.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/inputarea.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InputArea: () => (/* binding */ InputArea),\n/* harmony export */ InputPrompt: () => (/* binding */ InputPrompt)\n/* harmony export */ });\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n/**\n * The class name added to input area widgets.\n */\nconst INPUT_AREA_CLASS = 'jp-InputArea';\n/**\n * The class name added to the prompt area of cell.\n */\nconst INPUT_AREA_PROMPT_CLASS = 'jp-InputArea-prompt';\n/**\n * The class name added to OutputPrompt.\n */\nconst INPUT_PROMPT_CLASS = 'jp-InputPrompt';\n/**\n * The class name added to the editor area of the cell.\n */\nconst INPUT_AREA_EDITOR_CLASS = 'jp-InputArea-editor';\n/** ****************************************************************************\n * InputArea\n ******************************************************************************/\n/**\n * An input area widget, which hosts a prompt and an editor widget.\n */\nclass InputArea extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__.Widget {\n /**\n * Construct an input area widget.\n */\n constructor(options) {\n super();\n this.addClass(INPUT_AREA_CLASS);\n const { contentFactory, editorOptions, model } = options;\n this.model = model;\n this.contentFactory = contentFactory;\n // Prompt\n const prompt = (this._prompt = contentFactory.createInputPrompt());\n prompt.addClass(INPUT_AREA_PROMPT_CLASS);\n // Editor\n const editor = (this._editor = new _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.CodeEditorWrapper({\n factory: contentFactory.editorFactory,\n model,\n editorOptions\n }));\n editor.addClass(INPUT_AREA_EDITOR_CLASS);\n const layout = (this.layout = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__.PanelLayout());\n layout.addWidget(prompt);\n layout.addWidget(editor);\n }\n /**\n * Get the CodeEditorWrapper used by the cell.\n */\n get editorWidget() {\n return this._editor;\n }\n /**\n * Get the CodeEditor used by the cell.\n */\n get editor() {\n return this._editor.editor;\n }\n /**\n * Get the prompt node used by the cell.\n */\n get promptNode() {\n return this._prompt.node;\n }\n /**\n * Get the rendered input area widget, if any.\n */\n get renderedInput() {\n return this._rendered;\n }\n /**\n * Render an input instead of the text editor.\n */\n renderInput(widget) {\n const layout = this.layout;\n if (this._rendered) {\n this._rendered.parent = null;\n }\n this._editor.hide();\n this._rendered = widget;\n layout.addWidget(widget);\n }\n /**\n * Show the text editor.\n */\n showEditor() {\n if (this._rendered) {\n this._rendered.parent = null;\n }\n this._editor.show();\n }\n /**\n * Set the prompt of the input area.\n */\n setPrompt(value) {\n this._prompt.executionCount = value;\n }\n /**\n * Dispose of the resources held by the widget.\n */\n dispose() {\n // Do nothing if already disposed.\n if (this.isDisposed) {\n return;\n }\n this._prompt = null;\n this._editor = null;\n this._rendered = null;\n super.dispose();\n }\n}\n/**\n * A namespace for `InputArea` statics.\n */\n(function (InputArea) {\n /**\n * Default implementation of `IContentFactory`.\n *\n * This defaults to using an `editorFactory` based on CodeMirror.\n */\n class ContentFactory {\n /**\n * Construct a `ContentFactory`.\n */\n constructor(options) {\n this._editor = options.editorFactory;\n }\n /**\n * Return the `CodeEditor.Factory` being used.\n */\n get editorFactory() {\n return this._editor;\n }\n /**\n * Create an input prompt.\n */\n createInputPrompt() {\n return new InputPrompt();\n }\n }\n InputArea.ContentFactory = ContentFactory;\n})(InputArea || (InputArea = {}));\n/**\n * The default input prompt implementation.\n */\nclass InputPrompt extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__.Widget {\n /*\n * Create an output prompt widget.\n */\n constructor() {\n super();\n this._executionCount = null;\n this.addClass(INPUT_PROMPT_CLASS);\n }\n /**\n * The execution count for the prompt.\n */\n get executionCount() {\n return this._executionCount;\n }\n set executionCount(value) {\n this._executionCount = value;\n if (value === null) {\n this.node.textContent = ' ';\n }\n else {\n this.node.textContent = `[${value || ' '}]:`;\n }\n }\n}\n//# sourceMappingURL=inputarea.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/inputarea.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/model.js":
+/*!******************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/model.js ***!
+ \******************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AttachmentsCellModel: () => (/* binding */ AttachmentsCellModel),\n/* harmony export */ CellModel: () => (/* binding */ CellModel),\n/* harmony export */ CodeCellModel: () => (/* binding */ CodeCellModel),\n/* harmony export */ MarkdownCellModel: () => (/* binding */ MarkdownCellModel),\n/* harmony export */ RawCellModel: () => (/* binding */ RawCellModel),\n/* harmony export */ isCodeCellModel: () => (/* binding */ isCodeCellModel),\n/* harmony export */ isMarkdownCellModel: () => (/* binding */ isMarkdownCellModel),\n/* harmony export */ isRawCellModel: () => (/* binding */ isRawCellModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_attachments__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/attachments */ \"webpack/sharing/consume/default/@jupyterlab/attachments/@jupyterlab/attachments\");\n/* harmony import */ var _jupyterlab_attachments__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_attachments__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/outputarea */ \"webpack/sharing/consume/default/@jupyterlab/outputarea/@jupyterlab/outputarea\");\n/* harmony import */ var _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyter_ydoc__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyter/ydoc */ \"webpack/sharing/consume/default/@jupyter/ydoc/@jupyter/ydoc\");\n/* harmony import */ var _jupyter_ydoc__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyter_ydoc__WEBPACK_IMPORTED_MODULE_4__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n\n\nconst globalModelDBMutex = (0,_jupyter_ydoc__WEBPACK_IMPORTED_MODULE_4__.createMutex)();\nfunction isCodeCellModel(model) {\n return model.type === 'code';\n}\nfunction isMarkdownCellModel(model) {\n return model.type === 'markdown';\n}\nfunction isRawCellModel(model) {\n return model.type === 'raw';\n}\n/**\n * An implementation of the cell model.\n */\nclass CellModel extends _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2__.CodeEditor.Model {\n constructor(options = {}) {\n const { cell_type, sharedModel, ...others } = options;\n super({\n sharedModel: sharedModel !== null && sharedModel !== void 0 ? sharedModel : (0,_jupyter_ydoc__WEBPACK_IMPORTED_MODULE_4__.createStandaloneCell)({\n cell_type: cell_type !== null && cell_type !== void 0 ? cell_type : 'raw',\n id: options.id\n }),\n ...others\n });\n /**\n * A signal emitted when the state of the model changes.\n */\n this.contentChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n /**\n * A signal emitted when a model state changes.\n */\n this.stateChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._metadataChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._trusted = false;\n this.standaloneModel = typeof options.sharedModel === 'undefined';\n this.trusted = !!this.getMetadata('trusted') || !!options.trusted;\n this.sharedModel.changed.connect(this.onGenericChange, this);\n this.sharedModel.metadataChanged.connect(this._onMetadataChanged, this);\n }\n /**\n * Signal emitted when cell metadata changes.\n */\n get metadataChanged() {\n return this._metadataChanged;\n }\n /**\n * The id for the cell.\n */\n get id() {\n return this.sharedModel.getId();\n }\n /**\n * The metadata associated with the cell.\n */\n get metadata() {\n return this.sharedModel.metadata;\n }\n /**\n * The trusted state of the model.\n */\n get trusted() {\n return this._trusted;\n }\n set trusted(newValue) {\n const oldValue = this.trusted;\n if (oldValue !== newValue) {\n this._trusted = newValue;\n this.onTrustedChanged(this, { newValue, oldValue });\n }\n }\n /**\n * Dispose of the resources held by the model.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this.sharedModel.changed.disconnect(this.onGenericChange, this);\n this.sharedModel.metadataChanged.disconnect(this._onMetadataChanged, this);\n super.dispose();\n }\n /**\n * Handle a change to the trusted state.\n *\n * The default implementation is a no-op.\n */\n onTrustedChanged(trusted, args) {\n /* no-op */\n }\n /**\n * Delete a metadata\n *\n * @param key Metadata key\n */\n deleteMetadata(key) {\n return this.sharedModel.deleteMetadata(key);\n }\n /**\n * Get a metadata\n *\n * ### Notes\n * This returns a copy of the key value.\n *\n * @param key Metadata key\n */\n getMetadata(key) {\n return this.sharedModel.getMetadata(key);\n }\n /**\n * Set a metadata\n *\n * @param key Metadata key\n * @param value Metadata value\n */\n setMetadata(key, value) {\n if (typeof value === 'undefined') {\n this.sharedModel.deleteMetadata(key);\n }\n else {\n this.sharedModel.setMetadata(key, value);\n }\n }\n /**\n * Serialize the model to JSON.\n */\n toJSON() {\n return this.sharedModel.toJSON();\n }\n /**\n * Handle a change to the observable value.\n */\n onGenericChange() {\n this.contentChanged.emit(void 0);\n }\n _onMetadataChanged(sender, change) {\n this._metadataChanged.emit(change);\n }\n}\n/**\n * A base implementation for cell models with attachments.\n */\nclass AttachmentsCellModel extends CellModel {\n /**\n * Construct a new cell with optional attachments.\n */\n constructor(options) {\n var _a;\n super(options);\n const factory = (_a = options.contentFactory) !== null && _a !== void 0 ? _a : AttachmentsCellModel.defaultContentFactory;\n const values = this.sharedModel.getAttachments();\n this._attachments = factory.createAttachmentsModel({ values });\n this._attachments.stateChanged.connect(this.onGenericChange, this);\n this._attachments.changed.connect(this._onAttachmentsChange, this);\n this.sharedModel.changed.connect(this._onSharedModelChanged, this);\n }\n /**\n * Get the attachments of the model.\n */\n get attachments() {\n return this._attachments;\n }\n /**\n * Dispose of the resources held by the model.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._attachments.stateChanged.disconnect(this.onGenericChange, this);\n this._attachments.changed.disconnect(this._onAttachmentsChange, this);\n this._attachments.dispose();\n this.sharedModel.changed.disconnect(this._onSharedModelChanged, this);\n super.dispose();\n }\n /**\n * Serialize the model to JSON.\n */\n toJSON() {\n return super.toJSON();\n }\n /**\n * Handle a change to the cell outputs modelDB and reflect it in the shared model.\n */\n _onAttachmentsChange(sender, event) {\n const cell = this.sharedModel;\n globalModelDBMutex(() => cell.setAttachments(sender.toJSON()));\n }\n /**\n * Handle a change to the code cell value.\n */\n _onSharedModelChanged(slot, change) {\n if (change.attachmentsChange) {\n const cell = this.sharedModel;\n globalModelDBMutex(() => { var _a; return this._attachments.fromJSON((_a = cell.getAttachments()) !== null && _a !== void 0 ? _a : {}); });\n }\n }\n}\n/**\n * The namespace for `AttachmentsCellModel` statics.\n */\n(function (AttachmentsCellModel) {\n /**\n * The default implementation of an `IContentFactory`.\n */\n class ContentFactory {\n /**\n * Create an attachments model.\n */\n createAttachmentsModel(options) {\n return new _jupyterlab_attachments__WEBPACK_IMPORTED_MODULE_1__.AttachmentsModel(options);\n }\n }\n AttachmentsCellModel.ContentFactory = ContentFactory;\n /**\n * The shared `ContentFactory` instance.\n */\n AttachmentsCellModel.defaultContentFactory = new ContentFactory();\n})(AttachmentsCellModel || (AttachmentsCellModel = {}));\n/**\n * An implementation of a raw cell model.\n */\nclass RawCellModel extends AttachmentsCellModel {\n /**\n * Construct a raw cell model from optional shared model.\n */\n constructor(options = {}) {\n super({\n cell_type: 'raw',\n ...options\n });\n }\n /**\n * The type of the cell.\n */\n get type() {\n return 'raw';\n }\n /**\n * Serialize the model to JSON.\n */\n toJSON() {\n return super.toJSON();\n }\n}\n/**\n * An implementation of a markdown cell model.\n */\nclass MarkdownCellModel extends AttachmentsCellModel {\n /**\n * Construct a markdown cell model from optional shared model.\n */\n constructor(options = {}) {\n super({\n cell_type: 'markdown',\n ...options\n });\n // Use the Github-flavored markdown mode.\n this.mimeType = 'text/x-ipythongfm';\n }\n /**\n * The type of the cell.\n */\n get type() {\n return 'markdown';\n }\n /**\n * Serialize the model to JSON.\n */\n toJSON() {\n return super.toJSON();\n }\n}\n/**\n * An implementation of a code cell Model.\n */\nclass CodeCellModel extends CellModel {\n /**\n * Construct a new code cell with optional original cell content.\n */\n constructor(options = {}) {\n var _a;\n super({\n cell_type: 'code',\n ...options\n });\n this._executedCode = '';\n this._isDirty = false;\n const factory = (_a = options === null || options === void 0 ? void 0 : options.contentFactory) !== null && _a !== void 0 ? _a : CodeCellModel.defaultContentFactory;\n const trusted = this.trusted;\n const outputs = this.sharedModel.getOutputs();\n this._outputs = factory.createOutputArea({ trusted, values: outputs });\n this.sharedModel.changed.connect(this._onSharedModelChanged, this);\n this._outputs.changed.connect(this.onGenericChange, this);\n this._outputs.changed.connect(this.onOutputsChange, this);\n }\n /**\n * The type of the cell.\n */\n get type() {\n return 'code';\n }\n /**\n * The execution count of the cell.\n */\n get executionCount() {\n return this.sharedModel.execution_count || null;\n }\n set executionCount(newValue) {\n this.sharedModel.execution_count = newValue || null;\n }\n /**\n * The execution state of the cell.\n */\n get executionState() {\n return this.sharedModel.executionState;\n }\n set executionState(newValue) {\n this.sharedModel.executionState = newValue;\n }\n /**\n * Whether the cell is dirty or not.\n *\n * A cell is dirty if it is output is not empty and does not\n * result of the input code execution.\n */\n get isDirty() {\n // Test could be done dynamically with this._executedCode\n // but for performance reason, the diff status is stored in a boolean.\n return this._isDirty;\n }\n /**\n * Public Set whether the cell is dirty or not.\n */\n set isDirty(dirty) {\n this._setDirty(dirty);\n }\n /**\n * The cell outputs.\n */\n get outputs() {\n return this._outputs;\n }\n clearExecution() {\n this.outputs.clear();\n this.executionCount = null;\n this.executionState = 'idle';\n this._setDirty(false);\n this.sharedModel.deleteMetadata('execution');\n // We trust this cell as it no longer has any outputs.\n this.trusted = true;\n }\n /**\n * Dispose of the resources held by the model.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this.sharedModel.changed.disconnect(this._onSharedModelChanged, this);\n this._outputs.changed.disconnect(this.onGenericChange, this);\n this._outputs.changed.disconnect(this.onOutputsChange, this);\n this._outputs.dispose();\n this._outputs = null;\n super.dispose();\n }\n /**\n * Handle a change to the trusted state.\n */\n onTrustedChanged(trusted, args) {\n const newTrusted = args.newValue;\n if (this._outputs) {\n this._outputs.trusted = newTrusted;\n }\n if (newTrusted) {\n const codeCell = this.sharedModel;\n const metadata = codeCell.getMetadata();\n metadata.trusted = true;\n codeCell.setMetadata(metadata);\n }\n this.stateChanged.emit({\n name: 'trusted',\n oldValue: args.oldValue,\n newValue: newTrusted\n });\n }\n /**\n * Serialize the model to JSON.\n */\n toJSON() {\n return super.toJSON();\n }\n /**\n * Handle a change to the cell outputs modelDB and reflect it in the shared model.\n */\n onOutputsChange(sender, event) {\n const codeCell = this.sharedModel;\n globalModelDBMutex(() => {\n switch (event.type) {\n case 'add': {\n for (const output of event.newValues) {\n if (output.type === 'stream') {\n output.streamText.changed.connect((sender, textEvent) => {\n if (textEvent.options !== undefined &&\n textEvent.options['silent']) {\n return;\n }\n const codeCell = this.sharedModel;\n if (textEvent.type === 'remove') {\n codeCell.removeStreamOutput(event.newIndex, textEvent.start, 'silent-change');\n }\n else {\n codeCell.appendStreamOutput(event.newIndex, textEvent.value, 'silent-change');\n }\n }, this);\n }\n }\n const outputs = event.newValues.map(output => output.toJSON());\n codeCell.updateOutputs(event.newIndex, event.newIndex, outputs, 'silent-change');\n break;\n }\n case 'set': {\n const newValues = event.newValues.map(output => output.toJSON());\n codeCell.updateOutputs(event.oldIndex, event.oldIndex + newValues.length, newValues, 'silent-change');\n break;\n }\n case 'remove':\n codeCell.updateOutputs(event.oldIndex, event.oldValues.length, [], 'silent-change');\n break;\n default:\n throw new Error(`Invalid event type: ${event.type}`);\n }\n });\n }\n /**\n * Handle a change to the code cell value.\n */\n _onSharedModelChanged(slot, change) {\n if (change.streamOutputChange) {\n globalModelDBMutex(() => {\n for (const streamOutputChange of change.streamOutputChange) {\n if ('delete' in streamOutputChange) {\n this._outputs.removeStreamOutput(streamOutputChange.delete);\n }\n if ('insert' in streamOutputChange) {\n this._outputs.appendStreamOutput(streamOutputChange.insert.toString());\n }\n }\n });\n }\n if (change.outputsChange) {\n globalModelDBMutex(() => {\n let retain = 0;\n for (const outputsChange of change.outputsChange) {\n if ('retain' in outputsChange) {\n retain += outputsChange.retain;\n }\n if ('delete' in outputsChange) {\n for (let i = 0; i < outputsChange.delete; i++) {\n this._outputs.remove(retain);\n }\n }\n if ('insert' in outputsChange) {\n // Inserting an output always results in appending it.\n for (const output of outputsChange.insert) {\n // For compatibility with older ydoc where a plain object,\n // (rather than a Map instance) could be provided.\n // In a future major release the use of Map will be required.\n this._outputs.add('toJSON' in output ? output.toJSON() : output);\n }\n }\n }\n });\n }\n if (change.executionCountChange) {\n if (change.executionCountChange.newValue &&\n (this.isDirty || !change.executionCountChange.oldValue)) {\n this._setDirty(false);\n }\n this.stateChanged.emit({\n name: 'executionCount',\n oldValue: change.executionCountChange.oldValue,\n newValue: change.executionCountChange.newValue\n });\n }\n if (change.executionStateChange) {\n this.stateChanged.emit({\n name: 'executionState',\n oldValue: change.executionStateChange.oldValue,\n newValue: change.executionStateChange.newValue\n });\n }\n if (change.sourceChange && this.executionCount !== null) {\n this._setDirty(this._executedCode !== this.sharedModel.getSource().trim());\n }\n }\n /**\n * Set whether the cell is dirty or not.\n */\n _setDirty(v) {\n if (!v) {\n this._executedCode = this.sharedModel.getSource().trim();\n }\n if (v !== this._isDirty) {\n this._isDirty = v;\n this.stateChanged.emit({\n name: 'isDirty',\n oldValue: !v,\n newValue: v\n });\n }\n }\n}\n/**\n * The namespace for `CodeCellModel` statics.\n */\n(function (CodeCellModel) {\n /**\n * The default implementation of an `IContentFactory`.\n */\n class ContentFactory {\n /**\n * Create an output area.\n */\n createOutputArea(options) {\n return new _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_3__.OutputAreaModel(options);\n }\n }\n CodeCellModel.ContentFactory = ContentFactory;\n /**\n * The shared `ContentFactory` instance.\n */\n CodeCellModel.defaultContentFactory = new ContentFactory();\n})(CodeCellModel || (CodeCellModel = {}));\n//# sourceMappingURL=model.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/model.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/placeholder.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/placeholder.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InputPlaceholder: () => (/* binding */ InputPlaceholder),\n/* harmony export */ OutputPlaceholder: () => (/* binding */ OutputPlaceholder),\n/* harmony export */ Placeholder: () => (/* binding */ Placeholder)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__);\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n/**\n * The CSS class added to placeholders.\n */\nconst PLACEHOLDER_CLASS = 'jp-Placeholder';\n/**\n * The CSS classes added to input placeholder prompts.\n */\nconst INPUT_PROMPT_CLASS = 'jp-Placeholder-prompt jp-InputPrompt';\n/**\n * The CSS classes added to output placeholder prompts.\n */\nconst OUTPUT_PROMPT_CLASS = 'jp-Placeholder-prompt jp-OutputPrompt';\n/**\n * The CSS class added to placeholder content.\n */\nconst CONTENT_CLASS = 'jp-Placeholder-content';\n/**\n * The CSS class added to input placeholders.\n */\nconst INPUT_PLACEHOLDER_CLASS = 'jp-InputPlaceholder';\n/**\n * The CSS class added to output placeholders.\n */\nconst OUTPUT_PLACEHOLDER_CLASS = 'jp-OutputPlaceholder';\n/**\n * An base class for placeholders\n *\n * ### Notes\n * A placeholder is the element that is shown when input/output\n * is hidden.\n */\nclass Placeholder extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__.Widget {\n /**\n * Construct a new placeholder.\n */\n constructor(options) {\n var _a, _b, _c;\n const node = document.createElement('div');\n super({ node });\n const trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator).load('jupyterlab');\n const innerNode = document.createElement('div');\n innerNode.className = (_b = options.promptClass) !== null && _b !== void 0 ? _b : '';\n node.insertAdjacentHTML('afterbegin', innerNode.outerHTML);\n this._cell = document.createElement('div');\n this._cell.classList.add(CONTENT_CLASS);\n this._cell.title = trans.__('Click to expand');\n const container = this._cell.appendChild(document.createElement('div'));\n container.classList.add('jp-Placeholder-contentContainer');\n this._textContent = container.appendChild(document.createElement('span'));\n this._textContent.className = 'jp-PlaceholderText';\n this._textContent.innerText = (_c = options.text) !== null && _c !== void 0 ? _c : '';\n node.appendChild(this._cell);\n _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.ellipsesIcon.element({\n container: container.appendChild(document.createElement('span')),\n className: 'jp-MoreHorizIcon',\n elementPosition: 'center',\n height: 'auto',\n width: '32px'\n });\n this.addClass(PLACEHOLDER_CLASS);\n this._callback = options.callback;\n }\n /**\n * The text displayed in the placeholder.\n */\n set text(t) {\n this._textContent.innerText = t;\n }\n get text() {\n return this._textContent.innerText;\n }\n onAfterAttach(msg) {\n super.onAfterAttach(msg);\n this.node.addEventListener('click', this._callback);\n }\n onBeforeDetach(msg) {\n this.node.removeEventListener('click', this._callback);\n super.onBeforeDetach(msg);\n }\n}\n/**\n * The input placeholder class.\n */\nclass InputPlaceholder extends Placeholder {\n /**\n * Construct a new input placeholder.\n */\n constructor(options) {\n super({ ...options, promptClass: INPUT_PROMPT_CLASS });\n this.addClass(INPUT_PLACEHOLDER_CLASS);\n }\n}\n/**\n * The output placeholder class.\n */\nclass OutputPlaceholder extends Placeholder {\n /**\n * Construct a new output placeholder.\n */\n constructor(options) {\n super({ ...options, promptClass: OUTPUT_PROMPT_CLASS });\n this.addClass(OUTPUT_PLACEHOLDER_CLASS);\n }\n}\n//# sourceMappingURL=placeholder.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/placeholder.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/resizeHandle.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/resizeHandle.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResizeHandle: () => (/* binding */ ResizeHandle)\n/* harmony export */ });\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/polling */ \"webpack/sharing/consume/default/@lumino/polling/@lumino/polling\");\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_polling__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_2__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\nconst RESIZE_HANDLE_CLASS = 'jp-CellResizeHandle';\nconst CELL_RESIZED_CLASS = 'jp-mod-resizedCell';\n/**\n * A handle that allows to change input/output proportions in side-by-side mode.\n */\nclass ResizeHandle extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__.Widget {\n constructor(targetNode) {\n super();\n this.targetNode = targetNode;\n this._isActive = false;\n this._isDragging = false;\n /**\n * A public signal used to indicate the size of the cell and output has changed.\n */\n this.sizeChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal(this);\n this.addClass(RESIZE_HANDLE_CLASS);\n this._resizer = new _lumino_polling__WEBPACK_IMPORTED_MODULE_0__.Throttler(event => this._resize(event), 50);\n }\n /**\n * Dispose the resizer handle.\n */\n dispose() {\n this._resizer.dispose();\n super.dispose();\n }\n /**\n * Handle the DOM events for the widget.\n *\n * @param event - The DOM event sent to the widget.\n *\n */\n handleEvent(event) {\n var _a, _b;\n switch (event.type) {\n case 'dblclick':\n (_a = this.targetNode.parentNode) === null || _a === void 0 ? void 0 : _a.childNodes.forEach(node => {\n node.classList.remove(CELL_RESIZED_CLASS);\n });\n document.documentElement.style.setProperty('--jp-side-by-side-output-size', `1fr`);\n this._isActive = false;\n break;\n case 'mousedown':\n this._isDragging = true;\n if (!this._isActive) {\n (_b = this.targetNode.parentNode) === null || _b === void 0 ? void 0 : _b.childNodes.forEach(node => {\n node.classList.add(CELL_RESIZED_CLASS);\n });\n this._isActive = true;\n }\n window.addEventListener('mousemove', this);\n window.addEventListener('mouseup', this);\n break;\n case 'mousemove': {\n if (this._isActive && this._isDragging) {\n void this._resizer.invoke(event);\n }\n break;\n }\n case 'mouseup':\n this._isDragging = false;\n window.removeEventListener('mousemove', this);\n window.removeEventListener('mouseup', this);\n break;\n default:\n break;\n }\n }\n /**\n * Handle `after-attach` messages.\n */\n onAfterAttach(msg) {\n this.node.addEventListener('dblclick', this);\n this.node.addEventListener('mousedown', this);\n super.onAfterAttach(msg);\n }\n /**\n * Handle `before-detach` messages.\n */\n onBeforeDetach(msg) {\n this.node.removeEventListener('dblclick', this);\n this.node.removeEventListener('mousedown', this);\n super.onBeforeDetach(msg);\n }\n _resize(event) {\n // Gate the output size ratio between {0.05, 50} as sensible defaults.\n const { width, x } = this.targetNode.getBoundingClientRect();\n const position = event.clientX - x;\n const ratio = width / position - 1;\n if (0 < ratio) {\n const normalized = Math.max(Math.min(Math.abs(ratio), 50), 0.05);\n document.documentElement.style.setProperty('--jp-side-by-side-output-size', `${normalized}fr`);\n this.sizeChanged.emit(normalized);\n }\n }\n}\n//# sourceMappingURL=resizeHandle.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/resizeHandle.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/searchprovider.js":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/searchprovider.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellSearchProvider: () => (/* binding */ CellSearchProvider),\n/* harmony export */ SELECTED_HIGHLIGHT_CLASS: () => (/* binding */ SELECTED_HIGHLIGHT_CLASS),\n/* harmony export */ createCellSearchProvider: () => (/* binding */ createCellSearchProvider)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/codemirror */ \"webpack/sharing/consume/default/@jupyterlab/codemirror/@jupyterlab/codemirror\");\n/* harmony import */ var _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/documentsearch */ \"webpack/sharing/consume/default/@jupyterlab/documentsearch/@jupyterlab/documentsearch\");\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * Class applied on highlighted search matches\n */\nconst SELECTED_HIGHLIGHT_CLASS = 'jp-mod-selected';\n/**\n * Search provider for cells.\n */\nclass CellSearchProvider extends _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_0__.EditorSearchProvider {\n constructor(cell) {\n super();\n this.cell = cell;\n if (!this.cell.inViewport && !this.cell.editor) {\n void (0,_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.signalToPromise)(cell.inViewportChanged).then(([, inViewport]) => {\n if (inViewport) {\n this.cmHandler.setEditor(this.editor);\n }\n });\n }\n }\n /**\n * Text editor\n */\n get editor() {\n return this.cell.editor;\n }\n /**\n * Editor content model\n */\n get model() {\n return this.cell.model;\n }\n}\n/**\n * Code cell search provider\n */\nclass CodeCellSearchProvider extends CellSearchProvider {\n /**\n * Constructor\n *\n * @param cell Cell widget\n */\n constructor(cell) {\n super(cell);\n this.currentProviderIndex = -1;\n this.outputsProvider = [];\n const outputs = this.cell.outputArea;\n this._onOutputsChanged(outputs, outputs.widgets.length).catch(reason => {\n console.error(`Failed to initialize search on cell outputs.`, reason);\n });\n outputs.outputLengthChanged.connect(this._onOutputsChanged, this);\n outputs.disposed.connect(() => {\n outputs.outputLengthChanged.disconnect(this._onOutputsChanged);\n }, this);\n }\n /**\n * Number of matches in the cell.\n */\n get matchesCount() {\n if (!this.isActive) {\n return 0;\n }\n return (super.matchesCount +\n this.outputsProvider.reduce((sum, provider) => { var _a; return sum + ((_a = provider.matchesCount) !== null && _a !== void 0 ? _a : 0); }, 0));\n }\n /**\n * Clear currently highlighted match.\n */\n async clearHighlight() {\n await super.clearHighlight();\n await Promise.all(this.outputsProvider.map(provider => provider.clearHighlight()));\n }\n /**\n * Dispose the search provider\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n super.dispose();\n this.outputsProvider.map(provider => {\n provider.dispose();\n });\n this.outputsProvider.length = 0;\n }\n /**\n * Highlight the next match.\n *\n * @returns The next match if there is one.\n */\n async highlightNext(loop, options) {\n var _a;\n // If we're scanning from the previous match, test whether we're\n // at the end of the matches list.\n const from = (_a = options === null || options === void 0 ? void 0 : options.from) !== null && _a !== void 0 ? _a : '';\n if (this.matchesCount === 0 ||\n (from === 'previous-match' &&\n this.currentIndex !== null &&\n this.currentIndex + 1 >= this.cmHandler.matches.length) ||\n !this.isActive) {\n this.currentIndex = null;\n }\n else {\n if (this.currentProviderIndex === -1) {\n const match = await super.highlightNext(loop, options);\n if (match) {\n this.currentIndex = this.cmHandler.currentIndex;\n return match;\n }\n else {\n this.currentProviderIndex = 0;\n }\n }\n while (this.currentProviderIndex < this.outputsProvider.length) {\n const provider = this.outputsProvider[this.currentProviderIndex];\n const match = await provider.highlightNext(false);\n if (match) {\n this.currentIndex =\n super.matchesCount +\n this.outputsProvider\n .slice(0, this.currentProviderIndex)\n .reduce((sum, provider) => { var _a; return (sum += (_a = provider.matchesCount) !== null && _a !== void 0 ? _a : 0); }, 0) +\n provider.currentMatchIndex;\n return match;\n }\n else {\n this.currentProviderIndex += 1;\n }\n }\n this.currentProviderIndex = -1;\n this.currentIndex = null;\n return undefined;\n }\n }\n /**\n * Highlight the previous match.\n *\n * @returns The previous match if there is one.\n */\n async highlightPrevious() {\n if (this.matchesCount === 0 || !this.isActive) {\n this.currentIndex = null;\n }\n else {\n if (this.currentIndex === null) {\n this.currentProviderIndex = this.outputsProvider.length - 1;\n }\n while (this.currentProviderIndex >= 0) {\n const provider = this.outputsProvider[this.currentProviderIndex];\n const match = await provider.highlightPrevious(false);\n if (match) {\n this.currentIndex =\n super.matchesCount +\n this.outputsProvider\n .slice(0, this.currentProviderIndex)\n .reduce((sum, provider) => { var _a; return (sum += (_a = provider.matchesCount) !== null && _a !== void 0 ? _a : 0); }, 0) +\n provider.currentMatchIndex;\n return match;\n }\n else {\n this.currentProviderIndex -= 1;\n }\n }\n const match = await super.highlightPrevious();\n if (match) {\n this.currentIndex = this.cmHandler.currentIndex;\n return match;\n }\n else {\n this.currentIndex = null;\n return undefined;\n }\n }\n }\n /**\n * Initialize the search using the provided options. Should update the UI to highlight\n * all matches and \"select\" the first match.\n *\n * @param query A RegExp to be use to perform the search\n * @param filters Filter parameters to pass to provider\n */\n async startQuery(query, filters) {\n await super.startQuery(query, filters);\n // Search outputs\n if ((filters === null || filters === void 0 ? void 0 : filters.output) !== false && this.isActive) {\n await Promise.all(this.outputsProvider.map(provider => provider.startQuery(query)));\n }\n }\n async endQuery() {\n var _a;\n await super.endQuery();\n if (((_a = this.filters) === null || _a === void 0 ? void 0 : _a.output) !== false && this.isActive) {\n await Promise.all(this.outputsProvider.map(provider => provider.endQuery()));\n }\n }\n /**\n * Replace all matches in the cell source with the provided text\n *\n * @param newText The replacement text.\n * @returns Whether a replace occurred.\n */\n async replaceAllMatches(newText, options) {\n if (this.model.getMetadata('editable') === false)\n return Promise.resolve(false);\n const result = await super.replaceAllMatches(newText, options);\n return result;\n }\n /**\n * Replace the currently selected match with the provided text.\n * If no match is selected, it won't do anything.\n *\n * @param newText The replacement text.\n * @returns Whether a replace occurred.\n */\n async replaceCurrentMatch(newText, loop, options) {\n if (this.model.getMetadata('editable') === false)\n return Promise.resolve(false);\n const result = await super.replaceCurrentMatch(newText, loop, options);\n return result;\n }\n async _onOutputsChanged(outputArea, changes) {\n var _a;\n this.outputsProvider.forEach(provider => {\n provider.dispose();\n });\n this.outputsProvider.length = 0;\n this.currentProviderIndex = -1;\n this.outputsProvider = this.cell.outputArea.widgets.map(output => new _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.GenericSearchProvider(output));\n if (this.isActive && this.query && ((_a = this.filters) === null || _a === void 0 ? void 0 : _a.output) !== false) {\n await Promise.all([\n this.outputsProvider.map(provider => {\n void provider.startQuery(this.query);\n })\n ]);\n }\n this._stateChanged.emit();\n }\n}\n/**\n * Markdown cell search provider\n */\nclass MarkdownCellSearchProvider extends CellSearchProvider {\n /**\n * Constructor\n *\n * @param cell Cell widget\n */\n constructor(cell) {\n super(cell);\n this._unrenderedByHighlight = false;\n this.renderedProvider = new _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.GenericSearchProvider(cell.renderer);\n }\n /**\n * Clear currently highlighted match\n */\n async clearHighlight() {\n await super.clearHighlight();\n await this.renderedProvider.clearHighlight();\n }\n /**\n * Dispose the search provider\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n super.dispose();\n this.renderedProvider.dispose();\n }\n /**\n * Stop the search and clean any UI elements.\n */\n async endQuery() {\n await super.endQuery();\n await this.renderedProvider.endQuery();\n }\n /**\n * Highlight the next match.\n *\n * @returns The next match if there is one.\n */\n async highlightNext(loop = true, options) {\n let match = undefined;\n if (!this.isActive) {\n return match;\n }\n const cell = this.cell;\n if (cell.rendered && this.matchesCount > 0) {\n // Unrender the cell\n this._unrenderedByHighlight = true;\n const waitForRendered = (0,_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.signalToPromise)(cell.renderedChanged);\n cell.rendered = false;\n await waitForRendered;\n }\n match = await super.highlightNext(loop, options);\n return match;\n }\n /**\n * Highlight the previous match.\n *\n * @returns The previous match if there is one.\n */\n async highlightPrevious() {\n let match = undefined;\n const cell = this.cell;\n if (cell.rendered && this.matchesCount > 0) {\n // Unrender the cell if there are matches within the cell\n this._unrenderedByHighlight = true;\n const waitForRendered = (0,_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.signalToPromise)(cell.renderedChanged);\n cell.rendered = false;\n await waitForRendered;\n }\n match = await super.highlightPrevious();\n return match;\n }\n /**\n * Initialize the search using the provided options. Should update the UI\n * to highlight all matches and \"select\" the first match.\n *\n * @param query A RegExp to be use to perform the search\n * @param filters Filter parameters to pass to provider\n */\n async startQuery(query, filters) {\n await super.startQuery(query, filters);\n const cell = this.cell;\n if (cell.rendered) {\n this.onRenderedChanged(cell, cell.rendered);\n }\n cell.renderedChanged.connect(this.onRenderedChanged, this);\n }\n /**\n * Replace all matches in the cell source with the provided text\n *\n * @param newText The replacement text.\n * @returns Whether a replace occurred.\n */\n async replaceAllMatches(newText, options) {\n if (this.model.getMetadata('editable') === false)\n return Promise.resolve(false);\n const result = await super.replaceAllMatches(newText, options);\n // if the cell is rendered force update\n if (this.cell.rendered) {\n this.cell.update();\n }\n return result;\n }\n /**\n * Replace the currently selected match with the provided text.\n * If no match is selected, it won't do anything.\n *\n * @param newText The replacement text.\n * @returns Whether a replace occurred.\n */\n async replaceCurrentMatch(newText, loop, options) {\n if (this.model.getMetadata('editable') === false)\n return Promise.resolve(false);\n const result = await super.replaceCurrentMatch(newText, loop, options);\n return result;\n }\n /**\n * Callback on rendered state change\n *\n * @param cell Cell that emitted the change\n * @param rendered New rendered value\n */\n onRenderedChanged(cell, rendered) {\n var _a;\n if (!this._unrenderedByHighlight) {\n this.currentIndex = null;\n }\n this._unrenderedByHighlight = false;\n if (this.isActive) {\n if (rendered) {\n void this.renderedProvider.startQuery(this.query);\n }\n else {\n // Force cursor position to ensure reverse search is working as expected\n (_a = cell.editor) === null || _a === void 0 ? void 0 : _a.setCursorPosition({ column: 0, line: 0 });\n void this.renderedProvider.endQuery();\n }\n }\n }\n}\n/**\n * Factory to create a cell search provider\n *\n * @param cell Cell widget\n * @returns Cell search provider\n */\nfunction createCellSearchProvider(cell) {\n if (cell.isPlaceholder()) {\n return new CellSearchProvider(cell);\n }\n switch (cell.model.type) {\n case 'code':\n return new CodeCellSearchProvider(cell);\n case 'markdown':\n return new MarkdownCellSearchProvider(cell);\n default:\n return new CellSearchProvider(cell);\n }\n}\n//# sourceMappingURL=searchprovider.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/searchprovider.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/lib/widget.js":
+/*!*******************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/lib/widget.js ***!
+ \*******************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AttachmentsCell: () => (/* binding */ AttachmentsCell),\n/* harmony export */ Cell: () => (/* binding */ Cell),\n/* harmony export */ CodeCell: () => (/* binding */ CodeCell),\n/* harmony export */ CodeCellLayout: () => (/* binding */ CodeCellLayout),\n/* harmony export */ MarkdownCell: () => (/* binding */ MarkdownCell),\n/* harmony export */ RawCell: () => (/* binding */ RawCell)\n/* harmony export */ });\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_domutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/domutils */ \"webpack/sharing/consume/default/@lumino/domutils/@lumino/domutils\");\n/* harmony import */ var _lumino_domutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_domutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_attachments__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/attachments */ \"webpack/sharing/consume/default/@jupyterlab/attachments/@jupyterlab/attachments\");\n/* harmony import */ var _jupyterlab_attachments__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_attachments__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/outputarea */ \"webpack/sharing/consume/default/@jupyterlab/outputarea/@jupyterlab/outputarea\");\n/* harmony import */ var _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/rendermime */ \"webpack/sharing/consume/default/@jupyterlab/rendermime/@jupyterlab/rendermime\");\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @jupyterlab/toc */ \"webpack/sharing/consume/default/@jupyterlab/toc/@jupyterlab/toc\");\n/* harmony import */ var _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_toc__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _lumino_messaging__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @lumino/messaging */ \"webpack/sharing/consume/default/@lumino/messaging/@lumino/messaging\");\n/* harmony import */ var _lumino_messaging__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_lumino_messaging__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @lumino/polling */ \"webpack/sharing/consume/default/@lumino/polling/@lumino/polling\");\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_lumino_polling__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _collapser__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./collapser */ \"../node_modules/@jupyterlab/cells/lib/collapser.js\");\n/* harmony import */ var _headerfooter__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./headerfooter */ \"../node_modules/@jupyterlab/cells/lib/headerfooter.js\");\n/* harmony import */ var _inputarea__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./inputarea */ \"../node_modules/@jupyterlab/cells/lib/inputarea.js\");\n/* harmony import */ var _placeholder__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./placeholder */ \"../node_modules/@jupyterlab/cells/lib/placeholder.js\");\n/* harmony import */ var _resizeHandle__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./resizeHandle */ \"../node_modules/@jupyterlab/cells/lib/resizeHandle.js\");\n/* -----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The CSS class added to cell widgets.\n */\nconst CELL_CLASS = 'jp-Cell';\n/**\n * The CSS class added to the cell header.\n */\nconst CELL_HEADER_CLASS = 'jp-Cell-header';\n/**\n * The CSS class added to the cell footer.\n */\nconst CELL_FOOTER_CLASS = 'jp-Cell-footer';\n/**\n * The CSS class added to the cell input wrapper.\n */\nconst CELL_INPUT_WRAPPER_CLASS = 'jp-Cell-inputWrapper';\n/**\n * The CSS class added to the cell output wrapper.\n */\nconst CELL_OUTPUT_WRAPPER_CLASS = 'jp-Cell-outputWrapper';\n/**\n * The CSS class added to the cell input area.\n */\nconst CELL_INPUT_AREA_CLASS = 'jp-Cell-inputArea';\n/**\n * The CSS class added to the cell output area.\n */\nconst CELL_OUTPUT_AREA_CLASS = 'jp-Cell-outputArea';\n/**\n * The CSS class added to the cell input collapser.\n */\nconst CELL_INPUT_COLLAPSER_CLASS = 'jp-Cell-inputCollapser';\n/**\n * The CSS class added to the cell output collapser.\n */\nconst CELL_OUTPUT_COLLAPSER_CLASS = 'jp-Cell-outputCollapser';\n/**\n * The class name added to the cell when dirty.\n */\nconst DIRTY_CLASS = 'jp-mod-dirty';\n/**\n * The class name added to code cells.\n */\nconst CODE_CELL_CLASS = 'jp-CodeCell';\n/**\n * The class name added to markdown cells.\n */\nconst MARKDOWN_CELL_CLASS = 'jp-MarkdownCell';\n/**\n * The class name added to rendered markdown output widgets.\n */\nconst MARKDOWN_OUTPUT_CLASS = 'jp-MarkdownOutput';\nconst MARKDOWN_HEADING_COLLAPSED = 'jp-MarkdownHeadingCollapsed';\nconst HEADING_COLLAPSER_CLASS = 'jp-collapseHeadingButton';\nconst SHOW_HIDDEN_CELLS_CLASS = 'jp-showHiddenCellsButton';\n/**\n * The class name added to raw cells.\n */\nconst RAW_CELL_CLASS = 'jp-RawCell';\n/**\n * The class name added to a rendered input area.\n */\nconst RENDERED_CLASS = 'jp-mod-rendered';\nconst NO_OUTPUTS_CLASS = 'jp-mod-noOutputs';\n/**\n * The text applied to an empty markdown cell.\n */\nconst DEFAULT_MARKDOWN_TEXT = 'Type Markdown and LaTeX: $ α^2 $';\n/**\n * The timeout to wait for change activity to have ceased before rendering.\n */\nconst RENDER_TIMEOUT = 1000;\n/**\n * The mime type for a rich contents drag object.\n */\nconst CONTENTS_MIME_RICH = 'application/x-jupyter-icontentsrich';\n/** ****************************************************************************\n * Cell\n ******************************************************************************/\n/**\n * A base cell widget.\n */\nclass Cell extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__.Widget {\n /**\n * Construct a new base cell widget.\n */\n constructor(options) {\n var _a, _b, _c, _d;\n super();\n this.prompt = '';\n this._displayChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_14__.Signal(this);\n this._scrollRequested = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_14__.Signal(this);\n /**\n * Editor extension emitting `scrollRequested` signal on scroll.\n *\n * Scrolling within editor will be prevented when a cell is out out viewport.\n * Windowed containers including cells should listen to the scroll request\n * signal and invoke the `scrollWithinCell()` callback after scrolling the cell\n * back into the view (and after updating the `inViewport` property).\n */\n this._scrollHandlerExtension = _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.EditorView.scrollHandler.of((view, range, options) => {\n // When cell is in the viewport we can scroll within the editor immediately.\n // When cell is out of viewport, the windowed container needs to first\n // scroll the cell into the viewport (otherwise CodeMirror is unable to\n // calculate the correct scroll delta) before invoking scrolling in editor.\n const inWindowedContainer = this._inViewport !== null;\n const preventDefault = inWindowedContainer && !this._inViewport;\n this._scrollRequested.emit({\n defaultPrevented: preventDefault,\n scrollWithinCell: () => {\n view.dispatch({\n effects: _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.EditorView.scrollIntoView(range, options)\n });\n }\n });\n return preventDefault;\n });\n this._editorConfig = {};\n this._editorExtensions = [];\n this._inputHidden = false;\n this._inViewportChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_14__.Signal(this);\n this._readOnly = false;\n this._ready = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_10__.PromiseDelegate();\n this._resizeDebouncer = new _lumino_polling__WEBPACK_IMPORTED_MODULE_13__.Debouncer(() => {\n this._displayChanged.emit();\n }, 0);\n this._syncCollapse = false;\n this._syncEditable = false;\n this.addClass(CELL_CLASS);\n const model = (this._model = options.model);\n this.contentFactory = options.contentFactory;\n this.layout = (_a = options.layout) !== null && _a !== void 0 ? _a : new _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__.PanelLayout();\n // Set up translator for aria labels\n this.translator = (_b = options.translator) !== null && _b !== void 0 ? _b : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_8__.nullTranslator;\n // For cells disable searching with CodeMirror search panel.\n this._editorConfig = { searchWithCM: false, ...options.editorConfig };\n this._editorExtensions = (_c = options.editorExtensions) !== null && _c !== void 0 ? _c : [];\n this._editorExtensions.push(this._scrollHandlerExtension);\n this._placeholder = true;\n this._inViewport = null;\n this.placeholder = (_d = options.placeholder) !== null && _d !== void 0 ? _d : true;\n model.metadataChanged.connect(this.onMetadataChanged, this);\n }\n /**\n * Initialize view state from model.\n *\n * #### Notes\n * Should be called after construction. For convenience, returns this, so it\n * can be chained in the construction, like `new Foo().initializeState();`\n */\n initializeState() {\n this.loadCollapseState();\n this.loadEditableState();\n return this;\n }\n /**\n * Signal to indicate that widget has changed visibly (in size, in type, etc)\n */\n get displayChanged() {\n return this._displayChanged;\n }\n /**\n * Whether the cell is in viewport or not.\n *\n * #### Notes\n * This property is managed by the windowed container which holds the cell.\n * When a cell is not in a windowed container, it always returns `false`,\n * but this may change in the future major version.\n */\n get inViewport() {\n var _a;\n return (_a = this._inViewport) !== null && _a !== void 0 ? _a : false;\n }\n set inViewport(v) {\n if (this._inViewport !== v) {\n this._inViewport = v;\n this._inViewportChanged.emit(this._inViewport);\n }\n }\n /**\n * Will emit true just after the node is attached to the DOM\n * Will emit false just before the node is detached of the DOM\n */\n get inViewportChanged() {\n return this._inViewportChanged;\n }\n /**\n * Whether the cell is a placeholder not yet fully rendered or not.\n */\n get placeholder() {\n return this._placeholder;\n }\n set placeholder(v) {\n if (this._placeholder !== v && v === false) {\n this.initializeDOM();\n this._placeholder = v;\n this._ready.resolve();\n }\n }\n /**\n * Get the prompt node used by the cell.\n */\n get promptNode() {\n if (this.placeholder) {\n return null;\n }\n if (!this._inputHidden) {\n return this._input.promptNode;\n }\n else {\n return this._inputPlaceholder.node\n .firstElementChild;\n }\n }\n /**\n * Get the CodeEditorWrapper used by the cell.\n */\n get editorWidget() {\n var _a, _b;\n return (_b = (_a = this._input) === null || _a === void 0 ? void 0 : _a.editorWidget) !== null && _b !== void 0 ? _b : null;\n }\n /**\n * Get the CodeEditor used by the cell.\n */\n get editor() {\n var _a, _b;\n return (_b = (_a = this._input) === null || _a === void 0 ? void 0 : _a.editor) !== null && _b !== void 0 ? _b : null;\n }\n /**\n * Editor configuration\n */\n get editorConfig() {\n return this._editorConfig;\n }\n /**\n * Cell headings\n */\n get headings() {\n return new Array();\n }\n /**\n * Get the model used by the cell.\n */\n get model() {\n return this._model;\n }\n /**\n * Get the input area for the cell.\n */\n get inputArea() {\n return this._input;\n }\n /**\n * The read only state of the cell.\n */\n get readOnly() {\n return this._readOnly;\n }\n set readOnly(value) {\n if (value === this._readOnly) {\n return;\n }\n this._readOnly = value;\n if (this.syncEditable) {\n this.saveEditableState();\n }\n this.update();\n }\n /**\n * Whether the cell is a placeholder that defer rendering\n *\n * #### Notes\n * You can wait for the promise `Cell.ready` to wait for the\n * cell to be rendered.\n */\n isPlaceholder() {\n return this.placeholder;\n }\n /**\n * Save view editable state to model\n */\n saveEditableState() {\n const { sharedModel } = this.model;\n const current = sharedModel.getMetadata('editable');\n if ((this.readOnly && current === false) ||\n (!this.readOnly && current === undefined)) {\n return;\n }\n if (this.readOnly) {\n sharedModel.setMetadata('editable', false);\n }\n else {\n sharedModel.deleteMetadata('editable');\n }\n }\n /**\n * Load view editable state from model.\n */\n loadEditableState() {\n this.readOnly =\n this.model.sharedModel.getMetadata('editable') ===\n false;\n }\n /**\n * A promise that resolves when the widget renders for the first time.\n */\n get ready() {\n return this._ready.promise;\n }\n /**\n * Set the prompt for the widget.\n * @deprecated - set the `executionState` on the model instead.\n */\n setPrompt(value) {\n return this._setPrompt(value);\n }\n /**\n * Set the prompt for the widget.\n *\n * Note: this method is protected because it is needed in the CodeCell subclass,\n * but it cannot be defined there because input is private to Cell class.\n */\n _setPrompt(value) {\n var _a;\n this.prompt = value;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.setPrompt(value);\n }\n /**\n * The view state of input being hidden.\n */\n get inputHidden() {\n return this._inputHidden;\n }\n set inputHidden(value) {\n var _a;\n if (this._inputHidden === value) {\n return;\n }\n if (!this.placeholder) {\n const layout = this._inputWrapper.layout;\n if (value) {\n this._input.parent = null;\n if (this._inputPlaceholder) {\n this._inputPlaceholder.text = (_a = this.model.sharedModel\n .getSource()\n .split('\\n')) === null || _a === void 0 ? void 0 : _a[0];\n }\n layout.addWidget(this._inputPlaceholder);\n }\n else {\n this._inputPlaceholder.parent = null;\n layout.addWidget(this._input);\n }\n }\n this._inputHidden = value;\n if (this.syncCollapse) {\n this.saveCollapseState();\n }\n this.handleInputHidden(value);\n }\n /**\n * Save view collapse state to model\n */\n saveCollapseState() {\n const jupyter = { ...this.model.getMetadata('jupyter') };\n if ((this.inputHidden && jupyter.source_hidden === true) ||\n (!this.inputHidden && jupyter.source_hidden === undefined)) {\n return;\n }\n if (this.inputHidden) {\n jupyter.source_hidden = true;\n }\n else {\n delete jupyter.source_hidden;\n }\n if (Object.keys(jupyter).length === 0) {\n this.model.deleteMetadata('jupyter');\n }\n else {\n this.model.setMetadata('jupyter', jupyter);\n }\n }\n /**\n * Revert view collapse state from model.\n */\n loadCollapseState() {\n var _a;\n const jupyter = (_a = this.model.getMetadata('jupyter')) !== null && _a !== void 0 ? _a : {};\n this.inputHidden = !!jupyter.source_hidden;\n }\n /**\n * Handle the input being hidden.\n *\n * #### Notes\n * This is called by the `inputHidden` setter so that subclasses\n * can perform actions upon the input being hidden without accessing\n * private state.\n */\n handleInputHidden(value) {\n return;\n }\n /**\n * Whether to sync the collapse state to the cell model.\n */\n get syncCollapse() {\n return this._syncCollapse;\n }\n set syncCollapse(value) {\n if (this._syncCollapse === value) {\n return;\n }\n this._syncCollapse = value;\n if (value) {\n this.loadCollapseState();\n }\n }\n /**\n * Whether to sync the editable state to the cell model.\n */\n get syncEditable() {\n return this._syncEditable;\n }\n set syncEditable(value) {\n if (this._syncEditable === value) {\n return;\n }\n this._syncEditable = value;\n if (value) {\n this.loadEditableState();\n }\n }\n /**\n * Clone the cell, using the same model.\n */\n clone() {\n const constructor = this.constructor;\n return new constructor({\n model: this.model,\n contentFactory: this.contentFactory,\n placeholder: false,\n translator: this.translator\n });\n }\n /**\n * Dispose of the resources held by the widget.\n */\n dispose() {\n // Do nothing if already disposed.\n if (this.isDisposed) {\n return;\n }\n this._resizeDebouncer.dispose();\n this._input = null;\n this._model = null;\n this._inputWrapper = null;\n this._inputPlaceholder = null;\n super.dispose();\n }\n /**\n * Update the editor configuration with the partial provided dictionary.\n *\n * @param v Partial editor configuration\n */\n updateEditorConfig(v) {\n this._editorConfig = { ...this._editorConfig, ...v };\n if (this.editor) {\n this.editor.setBaseOptions(this._editorConfig);\n }\n }\n /**\n * Signal emitted when cell requests scrolling to its element.\n */\n get scrollRequested() {\n return this._scrollRequested;\n }\n /**\n * Create children widgets.\n */\n initializeDOM() {\n if (!this.placeholder) {\n return;\n }\n const contentFactory = this.contentFactory;\n const model = this._model;\n // Header\n const header = contentFactory.createCellHeader();\n header.addClass(CELL_HEADER_CLASS);\n this.layout.addWidget(header);\n // Input\n const inputWrapper = (this._inputWrapper = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__.Panel());\n inputWrapper.addClass(CELL_INPUT_WRAPPER_CLASS);\n const inputCollapser = new _collapser__WEBPACK_IMPORTED_MODULE_16__.InputCollapser();\n inputCollapser.addClass(CELL_INPUT_COLLAPSER_CLASS);\n const input = (this._input = new _inputarea__WEBPACK_IMPORTED_MODULE_17__.InputArea({\n model,\n contentFactory,\n editorOptions: this.getEditorOptions()\n }));\n input.addClass(CELL_INPUT_AREA_CLASS);\n inputWrapper.addWidget(inputCollapser);\n inputWrapper.addWidget(input);\n this.layout.addWidget(inputWrapper);\n this._inputPlaceholder = new _placeholder__WEBPACK_IMPORTED_MODULE_18__.InputPlaceholder({\n callback: () => {\n this.inputHidden = !this.inputHidden;\n },\n text: input.model.sharedModel.getSource().split('\\n')[0],\n translator: this.translator\n });\n input.model.contentChanged.connect((sender, args) => {\n var _a;\n if (this._inputPlaceholder && this.inputHidden) {\n this._inputPlaceholder.text = (_a = sender.sharedModel\n .getSource()\n .split('\\n')) === null || _a === void 0 ? void 0 : _a[0];\n }\n });\n if (this.inputHidden) {\n input.parent = null;\n inputWrapper.layout.addWidget(this._inputPlaceholder);\n }\n // Footer\n const footer = this.contentFactory.createCellFooter();\n footer.addClass(CELL_FOOTER_CLASS);\n this.layout.addWidget(footer);\n }\n /**\n * Get the editor options at initialization.\n *\n * @returns Editor options\n */\n getEditorOptions() {\n return { config: this.editorConfig, extensions: this._editorExtensions };\n }\n /**\n * Handle `before-attach` messages.\n */\n onBeforeAttach(msg) {\n if (this.placeholder) {\n this.placeholder = false;\n }\n }\n /**\n * Handle `after-attach` messages.\n */\n onAfterAttach(msg) {\n this.update();\n }\n /**\n * Handle `'activate-request'` messages.\n */\n onActivateRequest(msg) {\n var _a;\n (_a = this.editor) === null || _a === void 0 ? void 0 : _a.focus();\n }\n /**\n * Handle `resize` messages.\n */\n onResize(msg) {\n void this._resizeDebouncer.invoke();\n }\n /**\n * Handle `update-request` messages.\n */\n onUpdateRequest(msg) {\n var _a, _b;\n if (!this._model) {\n return;\n }\n // Handle read only state.\n if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.getOption('readOnly')) !== this._readOnly) {\n (_b = this.editor) === null || _b === void 0 ? void 0 : _b.setOption('readOnly', this._readOnly);\n }\n }\n onContentChanged() {\n var _a;\n if (this.inputHidden && this._inputPlaceholder) {\n this._inputPlaceholder.text = (_a = this.model.sharedModel\n .getSource()\n .split('\\n')) === null || _a === void 0 ? void 0 : _a[0];\n }\n }\n /**\n * Handle changes in the metadata.\n */\n onMetadataChanged(model, args) {\n switch (args.key) {\n case 'jupyter':\n if (this.syncCollapse) {\n this.loadCollapseState();\n }\n break;\n case 'editable':\n if (this.syncEditable) {\n this.loadEditableState();\n }\n break;\n default:\n break;\n }\n }\n}\n/**\n * The namespace for the `Cell` class statics.\n */\n(function (Cell) {\n /**\n * Type of headings\n */\n let HeadingType;\n (function (HeadingType) {\n /**\n * Heading from HTML output\n */\n HeadingType[HeadingType[\"HTML\"] = 0] = \"HTML\";\n /**\n * Heading from Markdown cell or Markdown output\n */\n HeadingType[HeadingType[\"Markdown\"] = 1] = \"Markdown\";\n })(HeadingType = Cell.HeadingType || (Cell.HeadingType = {}));\n /**\n * The default implementation of an `IContentFactory`.\n *\n * This includes a CodeMirror editor factory to make it easy to use out of the box.\n */\n class ContentFactory {\n /**\n * Create a content factory for a cell.\n */\n constructor(options) {\n this._editorFactory = options.editorFactory;\n }\n /**\n * The readonly editor factory that create code editors\n */\n get editorFactory() {\n return this._editorFactory;\n }\n /**\n * Create a new cell header for the parent widget.\n */\n createCellHeader() {\n return new _headerfooter__WEBPACK_IMPORTED_MODULE_19__.CellHeader();\n }\n /**\n * Create a new cell footer for the parent widget.\n */\n createCellFooter() {\n return new _headerfooter__WEBPACK_IMPORTED_MODULE_19__.CellFooter();\n }\n /**\n * Create an input prompt.\n */\n createInputPrompt() {\n return new _inputarea__WEBPACK_IMPORTED_MODULE_17__.InputPrompt();\n }\n /**\n * Create the output prompt for the widget.\n */\n createOutputPrompt() {\n return new _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_5__.OutputPrompt();\n }\n /**\n * Create an stdin widget.\n */\n createStdin(options) {\n return new _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_5__.Stdin(options);\n }\n }\n Cell.ContentFactory = ContentFactory;\n})(Cell || (Cell = {}));\n/** ****************************************************************************\n * CodeCell\n ******************************************************************************/\n/**\n * Code cell layout\n *\n * It will not detached the output area when the cell is detached.\n */\nclass CodeCellLayout extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__.PanelLayout {\n /**\n * A message handler invoked on a `'before-attach'` message.\n *\n * #### Notes\n * The default implementation of this method forwards the message\n * to all widgets. It assumes all widget nodes are attached to the\n * parent widget node.\n *\n * This may be reimplemented by subclasses as needed.\n */\n onBeforeAttach(msg) {\n let beforeOutputArea = true;\n const outputAreaWrapper = this.parent.node.firstElementChild;\n for (const widget of this) {\n if (outputAreaWrapper) {\n if (widget.node === outputAreaWrapper) {\n beforeOutputArea = false;\n }\n else {\n _lumino_messaging__WEBPACK_IMPORTED_MODULE_12__.MessageLoop.sendMessage(widget, msg);\n if (beforeOutputArea) {\n this.parent.node.insertBefore(widget.node, outputAreaWrapper);\n }\n else {\n this.parent.node.appendChild(widget.node);\n }\n // Force setting isVisible to true as it requires the parent widget to be\n // visible. But that flag will be set only during the `onAfterAttach` call.\n if (!this.parent.isHidden) {\n widget.setFlag(_lumino_widgets__WEBPACK_IMPORTED_MODULE_15__.Widget.Flag.IsVisible);\n }\n // Not called in NotebookWindowedLayout to avoid outputArea\n // widgets unwanted update or reset.\n _lumino_messaging__WEBPACK_IMPORTED_MODULE_12__.MessageLoop.sendMessage(widget, _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__.Widget.Msg.AfterAttach);\n }\n }\n }\n }\n /**\n * A message handler invoked on an `'after-detach'` message.\n *\n * #### Notes\n * The default implementation of this method forwards the message\n * to all widgets. It assumes all widget nodes are attached to the\n * parent widget node.\n *\n * This may be reimplemented by subclasses as needed.\n */\n onAfterDetach(msg) {\n for (const widget of this) {\n // TODO we could improve this further by removing outputs based\n // on their mime type (for example plain/text or markdown could safely be detached)\n // If the cell is out of the view port, its children are already detached -> skip detaching\n if (!widget.hasClass(CELL_OUTPUT_WRAPPER_CLASS) &&\n widget.node.isConnected) {\n // Not called in NotebookWindowedLayout for windowed notebook\n _lumino_messaging__WEBPACK_IMPORTED_MODULE_12__.MessageLoop.sendMessage(widget, _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__.Widget.Msg.BeforeDetach);\n this.parent.node.removeChild(widget.node);\n _lumino_messaging__WEBPACK_IMPORTED_MODULE_12__.MessageLoop.sendMessage(widget, msg);\n }\n }\n }\n}\n/**\n * A widget for a code cell.\n */\nclass CodeCell extends Cell {\n /**\n * Construct a code cell widget.\n */\n constructor(options) {\n var _a;\n super({ layout: new CodeCellLayout(), ...options, placeholder: true });\n /**\n * Detect the movement of the caret in the output area.\n *\n * Emits scroll request if the caret moved.\n */\n this._detectCaretMovementInOuput = (e) => {\n const inWindowedContainer = this._inViewport !== null;\n const defaultPrevented = inWindowedContainer && !this._inViewport;\n // Because we do not want to scroll on any key, but only on keys which\n // move the caret (this on keys which cause input and on keys like left,\n // right, top, bottom arrow, home, end, page down/up - but only if the\n // cursor is not at the respective end of the input) we need to listen\n // to the `selectionchange` event on target inputs/textareas, etc.\n const target = e.target;\n if (!target || !(target instanceof HTMLElement)) {\n return;\n }\n // Make sure the previous listener gets disconnected\n if (this._lastTarget) {\n this._lastTarget.removeEventListener('selectionchange', this._lastOnCaretMovedHandler);\n document.removeEventListener('selectionchange', this._lastOnCaretMovedHandler);\n }\n const onCaretMoved = () => {\n this._scrollRequested.emit({\n scrollWithinCell: ({ scroller }) => {\n _lumino_domutils__WEBPACK_IMPORTED_MODULE_1__.ElementExt.scrollIntoViewIfNeeded(scroller, target);\n },\n defaultPrevented\n });\n };\n // Remember the most recent target/handler to disconnect them next time.\n this._lastTarget = target;\n this._lastOnCaretMovedHandler = onCaretMoved;\n // Firefox only supports `selectionchange` on the actual input element,\n // all other browsers only support it on the top-level document.\n target.addEventListener('selectionchange', onCaretMoved, { once: true });\n document.addEventListener('selectionchange', onCaretMoved, {\n once: true\n });\n // Schedule removal of the listener.\n setTimeout(() => {\n target.removeEventListener('selectionchange', onCaretMoved);\n document.removeEventListener('selectionchange', onCaretMoved);\n }, 250);\n };\n this._headingsCache = null;\n this._outputHidden = false;\n this._outputWrapper = null;\n this._outputPlaceholder = null;\n this._syncScrolled = false;\n this._lastTarget = null;\n this._lastOutputHeight = '';\n this.addClass(CODE_CELL_CLASS);\n const trans = this.translator.load('jupyterlab');\n // Only save options not handled by parent constructor.\n const rendermime = (this._rendermime = options.rendermime);\n const contentFactory = this.contentFactory;\n const model = this.model;\n this.maxNumberOutputs = options.maxNumberOutputs;\n // Note that modifying the below label warrants one to also modify\n // the same in this._outputLengthHandler. Ideally, this label must\n // have been a constant and used in both places but it is not done\n // so because of limitations in the translation manager.\n const ariaLabel = model.outputs.length === 0\n ? trans.__('Code Cell Content')\n : trans.__('Code Cell Content with Output');\n this.node.setAttribute('aria-label', ariaLabel);\n const output = (this._output = new _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_5__.OutputArea({\n model: this.model.outputs,\n rendermime,\n contentFactory: contentFactory,\n maxNumberOutputs: this.maxNumberOutputs,\n translator: this.translator,\n promptOverlay: true,\n inputHistoryScope: options.inputHistoryScope,\n showInputPlaceholder: options.showInputPlaceholder\n }));\n output.node.addEventListener('keydown', this._detectCaretMovementInOuput);\n output.addClass(CELL_OUTPUT_AREA_CLASS);\n output.toggleScrolling.connect(() => {\n this.outputsScrolled = !this.outputsScrolled;\n });\n output.initialize.connect(() => {\n this.updatePromptOverlayIcon();\n });\n // Defer setting placeholder as OutputArea must be instantiated before initializing the DOM\n this.placeholder = (_a = options.placeholder) !== null && _a !== void 0 ? _a : true;\n model.outputs.changed.connect(this.onOutputChanged, this);\n model.outputs.stateChanged.connect(this.onOutputChanged, this);\n model.stateChanged.connect(this.onStateChanged, this);\n }\n /**\n * Create children widgets.\n */\n initializeDOM() {\n if (!this.placeholder) {\n return;\n }\n super.initializeDOM();\n this._updatePrompt();\n // Insert the output before the cell footer.\n const outputWrapper = (this._outputWrapper = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__.Panel());\n outputWrapper.addClass(CELL_OUTPUT_WRAPPER_CLASS);\n const outputCollapser = new _collapser__WEBPACK_IMPORTED_MODULE_16__.OutputCollapser();\n outputCollapser.addClass(CELL_OUTPUT_COLLAPSER_CLASS);\n outputWrapper.addWidget(outputCollapser);\n // Set a CSS if there are no outputs, and connect a signal for future\n // changes to the number of outputs. This is for conditional styling\n // if there are no outputs.\n if (this.model.outputs.length === 0) {\n this.addClass(NO_OUTPUTS_CLASS);\n }\n this._output.outputLengthChanged.connect(this._outputLengthHandler, this);\n outputWrapper.addWidget(this._output);\n const layout = this.layout;\n const resizeHandle = new _resizeHandle__WEBPACK_IMPORTED_MODULE_20__.ResizeHandle(this.node);\n resizeHandle.sizeChanged.connect(this._sizeChangedHandler, this);\n layout.insertWidget(layout.widgets.length - 1, resizeHandle);\n layout.insertWidget(layout.widgets.length - 1, outputWrapper);\n if (this.model.isDirty) {\n this.addClass(DIRTY_CLASS);\n }\n this._outputPlaceholder = new _placeholder__WEBPACK_IMPORTED_MODULE_18__.OutputPlaceholder({\n callback: () => {\n this.outputHidden = !this.outputHidden;\n },\n text: this.getOutputPlaceholderText(),\n translator: this.translator\n });\n const layoutWrapper = outputWrapper.layout;\n if (this.outputHidden) {\n layoutWrapper.removeWidget(this._output);\n layoutWrapper.addWidget(this._outputPlaceholder);\n if (this.inputHidden && !outputWrapper.isHidden) {\n this._outputWrapper.hide();\n }\n }\n const trans = this.translator.load('jupyterlab');\n const ariaLabel = this.model.outputs.length === 0\n ? trans.__('Code Cell Content')\n : trans.__('Code Cell Content with Output');\n this.node.setAttribute('aria-label', ariaLabel);\n }\n getOutputPlaceholderText() {\n var _a;\n const firstOutput = this.model.outputs.get(0);\n const outputData = firstOutput === null || firstOutput === void 0 ? void 0 : firstOutput.data;\n if (!outputData) {\n return undefined;\n }\n const supportedOutputTypes = [\n 'text/html',\n 'image/svg+xml',\n 'application/pdf',\n 'text/markdown',\n 'text/plain',\n 'application/vnd.jupyter.stderr',\n 'application/vnd.jupyter.stdout',\n 'text'\n ];\n const preferredOutput = supportedOutputTypes.find(mt => {\n const data = firstOutput.data[mt];\n return (Array.isArray(data) ? typeof data[0] : typeof data) === 'string';\n });\n const dataToDisplay = firstOutput.data[preferredOutput !== null && preferredOutput !== void 0 ? preferredOutput : ''];\n if (dataToDisplay !== undefined) {\n return (_a = (Array.isArray(dataToDisplay)\n ? dataToDisplay\n : dataToDisplay === null || dataToDisplay === void 0 ? void 0 : dataToDisplay.split('\\n'))) === null || _a === void 0 ? void 0 : _a.find(part => part !== '');\n }\n return undefined;\n }\n /**\n * Initialize view state from model.\n *\n * #### Notes\n * Should be called after construction. For convenience, returns this, so it\n * can be chained in the construction, like `new Foo().initializeState();`\n */\n initializeState() {\n super.initializeState();\n this.loadScrolledState();\n this._updatePrompt();\n return this;\n }\n get headings() {\n if (!this._headingsCache) {\n const headings = [];\n // Iterate over the code cell outputs to check for Markdown or HTML from which we can generate ToC headings...\n const outputs = this.model.outputs;\n for (let j = 0; j < outputs.length; j++) {\n const m = outputs.get(j);\n let htmlType = null;\n let mdType = null;\n Object.keys(m.data).forEach(t => {\n if (!mdType && _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_7__.TableOfContentsUtils.Markdown.isMarkdown(t)) {\n mdType = t;\n }\n else if (!htmlType && _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_7__.TableOfContentsUtils.isHTML(t)) {\n htmlType = t;\n }\n });\n // Parse HTML output\n if (htmlType) {\n let htmlData = m.data[htmlType];\n if (typeof htmlData !== 'string') {\n htmlData = htmlData.join('\\n');\n }\n headings.push(..._jupyterlab_toc__WEBPACK_IMPORTED_MODULE_7__.TableOfContentsUtils.getHTMLHeadings(this._rendermime.sanitizer.sanitize(htmlData)).map(heading => {\n return {\n ...heading,\n outputIndex: j,\n type: Cell.HeadingType.HTML\n };\n }));\n }\n else if (mdType) {\n headings.push(..._jupyterlab_toc__WEBPACK_IMPORTED_MODULE_7__.TableOfContentsUtils.Markdown.getHeadings(m.data[mdType]).map(heading => {\n return {\n ...heading,\n outputIndex: j,\n type: Cell.HeadingType.Markdown\n };\n }));\n }\n }\n this._headingsCache = headings;\n }\n return [...this._headingsCache];\n }\n /**\n * Get the output area for the cell.\n */\n get outputArea() {\n return this._output;\n }\n /**\n * The view state of output being collapsed.\n */\n get outputHidden() {\n return this._outputHidden;\n }\n set outputHidden(value) {\n var _a;\n if (this._outputHidden === value) {\n return;\n }\n if (!this.placeholder) {\n const layout = this._outputWrapper.layout;\n if (value) {\n layout.removeWidget(this._output);\n layout.addWidget(this._outputPlaceholder);\n if (this.inputHidden && !this._outputWrapper.isHidden) {\n this._outputWrapper.hide();\n }\n if (this._outputPlaceholder) {\n this._outputPlaceholder.text = (_a = this.getOutputPlaceholderText()) !== null && _a !== void 0 ? _a : '';\n }\n }\n else {\n if (this._outputWrapper.isHidden) {\n this._outputWrapper.show();\n }\n layout.removeWidget(this._outputPlaceholder);\n layout.addWidget(this._output);\n }\n }\n this._outputHidden = value;\n if (this.syncCollapse) {\n this.saveCollapseState();\n }\n }\n /**\n * Save view collapse state to model\n */\n saveCollapseState() {\n // Because collapse state for a code cell involves two different pieces of\n // metadata (the `collapsed` and `jupyter` metadata keys), we block reacting\n // to changes in metadata until we have fully committed our changes.\n // Otherwise setting one key can trigger a write to the other key to\n // maintain the synced consistency.\n this.model.sharedModel.transact(() => {\n super.saveCollapseState();\n const collapsed = this.model.getMetadata('collapsed');\n if ((this.outputHidden && collapsed === true) ||\n (!this.outputHidden && collapsed === undefined)) {\n return;\n }\n // Do not set jupyter.outputs_hidden since it is redundant. See\n // and https://github.com/jupyter/nbformat/issues/137\n if (this.outputHidden) {\n this.model.setMetadata('collapsed', true);\n }\n else {\n this.model.deleteMetadata('collapsed');\n }\n }, false, 'silent-change');\n }\n /**\n * Revert view collapse state from model.\n *\n * We consider the `collapsed` metadata key as the source of truth for outputs\n * being hidden.\n */\n loadCollapseState() {\n super.loadCollapseState();\n this.outputHidden = !!this.model.getMetadata('collapsed');\n }\n /**\n * Whether the output is in a scrolled state?\n */\n get outputsScrolled() {\n return this._outputsScrolled;\n }\n set outputsScrolled(value) {\n this.toggleClass('jp-mod-outputsScrolled', value);\n this._outputsScrolled = value;\n if (this.syncScrolled) {\n this.saveScrolledState();\n }\n this.updatePromptOverlayIcon();\n }\n /**\n * Update the Prompt Overlay Icon\n */\n updatePromptOverlayIcon() {\n var _a;\n const overlay = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_3__.DOMUtils.findElement(this.node, 'jp-OutputArea-promptOverlay');\n if (!overlay) {\n return;\n }\n // If you are changing this, don't forget about svg.\n const ICON_HEIGHT = 16 + 4 + 4; // 4px for padding\n if (overlay.clientHeight <= ICON_HEIGHT) {\n (_a = overlay.firstChild) === null || _a === void 0 ? void 0 : _a.remove();\n return;\n }\n let overlayTitle;\n if (this._outputsScrolled) {\n _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_9__.expandIcon.element({\n container: overlay\n });\n overlayTitle = 'Expand Output';\n }\n else {\n _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_9__.collapseIcon.element({\n container: overlay\n });\n overlayTitle = 'Collapse Output';\n }\n const trans = this.translator.load('jupyterlab');\n overlay.title = trans.__(overlayTitle);\n }\n /**\n * Save view collapse state to model\n */\n saveScrolledState() {\n const current = this.model.getMetadata('scrolled');\n if ((this.outputsScrolled && current === true) ||\n (!this.outputsScrolled && current === undefined)) {\n return;\n }\n if (this.outputsScrolled) {\n this.model.setMetadata('scrolled', true);\n }\n else {\n this.outputArea.node.style.height = '';\n this.model.deleteMetadata('scrolled');\n }\n }\n /**\n * Revert view collapse state from model.\n */\n loadScrolledState() {\n // We don't have the notion of 'auto' scrolled, so we make it false.\n if (this.model.getMetadata('scrolled') === 'auto') {\n this.outputsScrolled = false;\n }\n else {\n this.outputsScrolled = !!this.model.getMetadata('scrolled');\n }\n }\n /**\n * Whether to sync the scrolled state to the cell model.\n */\n get syncScrolled() {\n return this._syncScrolled;\n }\n set syncScrolled(value) {\n if (this._syncScrolled === value) {\n return;\n }\n this._syncScrolled = value;\n if (value) {\n this.loadScrolledState();\n }\n }\n /**\n * Handle the input being hidden.\n *\n * #### Notes\n * This method is called by the case cell implementation and is\n * subclasses here so the code cell can watch to see when input\n * is hidden without accessing private state.\n */\n handleInputHidden(value) {\n if (this.placeholder) {\n return;\n }\n if (!value && this._outputWrapper.isHidden) {\n this._outputWrapper.show();\n }\n else if (value && !this._outputWrapper.isHidden && this._outputHidden) {\n this._outputWrapper.hide();\n }\n }\n /**\n * Clone the cell, using the same model.\n */\n clone() {\n const constructor = this.constructor;\n return new constructor({\n model: this.model,\n contentFactory: this.contentFactory,\n rendermime: this._rendermime,\n placeholder: false,\n translator: this.translator\n });\n }\n /**\n * Clone the OutputArea alone, returning a simplified output area, using the same model.\n */\n cloneOutputArea() {\n return new _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_5__.SimplifiedOutputArea({\n model: this.model.outputs,\n contentFactory: this.contentFactory,\n rendermime: this._rendermime\n });\n }\n /**\n * Dispose of the resources used by the widget.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._output.outputLengthChanged.disconnect(this._outputLengthHandler, this);\n this._output.node.removeEventListener('keydown', this._detectCaretMovementInOuput);\n this._rendermime = null;\n this._output = null;\n this._outputWrapper = null;\n this._outputPlaceholder = null;\n super.dispose();\n }\n /**\n * Handle changes in the model.\n */\n onStateChanged(model, args) {\n switch (args.name) {\n case 'executionCount':\n if (args.newValue !== null) {\n // Mark execution state if execution count was set.\n this.model.executionState = 'idle';\n }\n this._updatePrompt();\n break;\n case 'executionState':\n this._updatePrompt();\n break;\n case 'isDirty':\n if (model.isDirty) {\n this.addClass(DIRTY_CLASS);\n }\n else {\n this.removeClass(DIRTY_CLASS);\n }\n break;\n default:\n break;\n }\n }\n /**\n * Callback on output changes\n */\n onOutputChanged() {\n var _a;\n this._headingsCache = null;\n if (this._outputPlaceholder && this.outputHidden) {\n this._outputPlaceholder.text = (_a = this.getOutputPlaceholderText()) !== null && _a !== void 0 ? _a : '';\n }\n // This is to hide/show icon on single line output.\n this.updatePromptOverlayIcon();\n // Clear output area when empty\n const height = this.outputArea.node.style.height;\n if (this.model.outputs.length === 0 && height !== '') {\n this._lastOutputHeight = height;\n this.outputArea.node.style.height = '';\n }\n else if (this.model.outputs.length > 0 && height === '') {\n this.outputArea.node.style.height = this._lastOutputHeight;\n }\n }\n /**\n * Handle changes in the metadata.\n */\n onMetadataChanged(model, args) {\n switch (args.key) {\n case 'scrolled':\n if (this.syncScrolled) {\n this.loadScrolledState();\n }\n break;\n case 'collapsed':\n if (this.syncCollapse) {\n this.loadCollapseState();\n }\n break;\n default:\n break;\n }\n super.onMetadataChanged(model, args);\n }\n _updatePrompt() {\n let prompt;\n if (this.model.executionState == 'running') {\n prompt = '*';\n }\n else {\n prompt = `${this.model.executionCount || ''}`;\n }\n this._setPrompt(prompt);\n }\n /**\n * Handle changes in the number of outputs in the output area.\n */\n _outputLengthHandler(sender, args) {\n const force = args === 0 ? true : false;\n this.toggleClass(NO_OUTPUTS_CLASS, force);\n const trans = this.translator.load('jupyterlab');\n const ariaLabel = force\n ? trans.__('Code Cell Content')\n : trans.__('Code Cell Content with Output');\n this.node.setAttribute('aria-label', ariaLabel);\n }\n /**\n * Handle changes in input/output proportions in side-by-side mode.\n */\n _sizeChangedHandler(sender) {\n this._displayChanged.emit();\n }\n}\n/**\n * The namespace for the `CodeCell` class statics.\n */\n(function (CodeCell) {\n /**\n * Execute a cell given a client session.\n */\n async function execute(cell, sessionContext, metadata) {\n var _a;\n const model = cell.model;\n const code = model.sharedModel.getSource();\n if (!code.trim() || !((_a = sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel)) {\n model.sharedModel.transact(() => {\n model.clearExecution();\n }, false, 'silent-change');\n return;\n }\n const cellId = { cellId: model.sharedModel.getId() };\n metadata = {\n ...model.metadata,\n ...metadata,\n ...cellId\n };\n const { recordTiming } = metadata;\n model.sharedModel.transact(() => {\n model.clearExecution();\n cell.outputHidden = false;\n }, false, 'silent-change');\n // note: in future we would like to distinguish running from scheduled\n model.executionState = 'running';\n model.trusted = true;\n let future;\n try {\n const msgPromise = _jupyterlab_outputarea__WEBPACK_IMPORTED_MODULE_5__.OutputArea.execute(code, cell.outputArea, sessionContext, metadata);\n // cell.outputArea.future assigned synchronously in `execute`\n if (recordTiming) {\n const recordTimingHook = (msg) => {\n let label;\n switch (msg.header.msg_type) {\n case 'status':\n label = `status.${msg.content.execution_state}`;\n break;\n case 'execute_input':\n label = 'execute_input';\n break;\n default:\n return true;\n }\n // If the data is missing, estimate it to now\n // Date was added in 5.1: https://jupyter-client.readthedocs.io/en/stable/messaging.html#message-header\n const value = msg.header.date || new Date().toISOString();\n const timingInfo = Object.assign({}, model.getMetadata('execution'));\n timingInfo[`iopub.${label}`] = value;\n model.setMetadata('execution', timingInfo);\n return true;\n };\n cell.outputArea.future.registerMessageHook(recordTimingHook);\n }\n else {\n model.deleteMetadata('execution');\n }\n // Save this execution's future so we can compare in the catch below.\n future = cell.outputArea.future;\n const msg = (await msgPromise);\n model.executionCount = msg.content.execution_count;\n if (recordTiming) {\n const timingInfo = Object.assign({}, model.getMetadata('execution'));\n const started = msg.metadata.started;\n // Started is not in the API, but metadata IPyKernel sends\n if (started) {\n timingInfo['shell.execute_reply.started'] = started;\n }\n // Per above, the 5.0 spec does not assume date, so we estimate is required\n const finished = msg.header.date;\n timingInfo['shell.execute_reply'] =\n finished || new Date().toISOString();\n model.setMetadata('execution', timingInfo);\n }\n return msg;\n }\n catch (e) {\n // If we started executing, and the cell is still indicating this\n // execution, clear the prompt.\n if (future && !cell.isDisposed && cell.outputArea.future === future) {\n cell.model.executionState = 'idle';\n if (recordTiming && future.isDisposed) {\n // Record the time when the cell execution was aborted\n const timingInfo = Object.assign({}, model.getMetadata('execution'));\n timingInfo['execution_failed'] = new Date().toISOString();\n model.setMetadata('execution', timingInfo);\n }\n }\n throw e;\n }\n }\n CodeCell.execute = execute;\n})(CodeCell || (CodeCell = {}));\n/**\n * `AttachmentsCell` - A base class for a cell widget that allows\n * attachments to be drag/drop'd or pasted onto it\n */\nclass AttachmentsCell extends Cell {\n /**\n * Handle the DOM events for the widget.\n *\n * @param event - The DOM event sent to the widget.\n *\n * #### Notes\n * This method implements the DOM `EventListener` interface and is\n * called in response to events on the notebook panel's node. It should\n * not be called directly by user code.\n */\n handleEvent(event) {\n switch (event.type) {\n case 'lm-dragover':\n this._evtDragOver(event);\n break;\n case 'lm-drop':\n this._evtDrop(event);\n break;\n default:\n break;\n }\n }\n /**\n * Get the editor options at initialization.\n *\n * @returns Editor options\n */\n getEditorOptions() {\n var _a, _b;\n const base = (_a = super.getEditorOptions()) !== null && _a !== void 0 ? _a : {};\n base.extensions = [\n ...((_b = base.extensions) !== null && _b !== void 0 ? _b : []),\n _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.EditorView.domEventHandlers({\n dragenter: (event) => {\n event.preventDefault();\n },\n dragover: (event) => {\n event.preventDefault();\n },\n drop: (event) => {\n this._evtNativeDrop(event);\n },\n paste: (event) => {\n this._evtPaste(event);\n }\n })\n ];\n return base;\n }\n /**\n * Handle `after-attach` messages for the widget.\n */\n onAfterAttach(msg) {\n super.onAfterAttach(msg);\n const node = this.node;\n node.addEventListener('lm-dragover', this);\n node.addEventListener('lm-drop', this);\n }\n /**\n * A message handler invoked on a `'before-detach'`\n * message\n */\n onBeforeDetach(msg) {\n const node = this.node;\n node.removeEventListener('lm-dragover', this);\n node.removeEventListener('lm-drop', this);\n super.onBeforeDetach(msg);\n }\n _evtDragOver(event) {\n const supportedMimeType = (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_11__.some)(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_6__.imageRendererFactory.mimeTypes, mimeType => {\n if (!event.mimeData.hasData(CONTENTS_MIME_RICH)) {\n return false;\n }\n const data = event.mimeData.getData(CONTENTS_MIME_RICH);\n return data.model.mimetype === mimeType;\n });\n if (!supportedMimeType) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n event.dropAction = event.proposedAction;\n }\n /**\n * Handle the `paste` event for the widget\n */\n _evtPaste(event) {\n var _a;\n const isEditable = (_a = this.model.getMetadata('editable')) !== null && _a !== void 0 ? _a : true;\n if (event.clipboardData && isEditable) {\n const items = event.clipboardData.items;\n for (let i = 0; i < items.length; i++) {\n if (items[i].type === 'text/plain') {\n // Skip if this text is the path to a file\n if (i < items.length - 1 && items[i + 1].kind === 'file') {\n continue;\n }\n items[i].getAsString(text => {\n var _a, _b;\n (_b = (_a = this.editor).replaceSelection) === null || _b === void 0 ? void 0 : _b.call(_a, text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n'));\n });\n }\n this._attachFiles(event.clipboardData.items);\n }\n }\n event.preventDefault();\n }\n /**\n * Handle the `drop` event for the widget\n */\n _evtNativeDrop(event) {\n if (event.dataTransfer) {\n this._attachFiles(event.dataTransfer.items);\n }\n event.preventDefault();\n }\n /**\n * Handle the `'lm-drop'` event for the widget.\n */\n _evtDrop(event) {\n const supportedMimeTypes = event.mimeData.types().filter(mimeType => {\n if (mimeType === CONTENTS_MIME_RICH) {\n const data = event.mimeData.getData(CONTENTS_MIME_RICH);\n return (_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_6__.imageRendererFactory.mimeTypes.indexOf(data.model.mimetype) !== -1);\n }\n return _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_6__.imageRendererFactory.mimeTypes.indexOf(mimeType) !== -1;\n });\n if (supportedMimeTypes.length === 0) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n if (event.proposedAction === 'none') {\n event.dropAction = 'none';\n return;\n }\n event.dropAction = 'copy';\n for (const mimeType of supportedMimeTypes) {\n if (mimeType === CONTENTS_MIME_RICH) {\n const { model, withContent } = event.mimeData.getData(CONTENTS_MIME_RICH);\n if (model.type === 'file') {\n const URI = this._generateURI(model.name);\n this.updateCellSourceWithAttachment(model.name, URI);\n void withContent().then(fullModel => {\n this.model.attachments.set(URI, {\n [fullModel.mimetype]: fullModel.content\n });\n });\n }\n }\n else {\n // Pure mimetype, no useful name to infer\n const URI = this._generateURI();\n this.model.attachments.set(URI, {\n [mimeType]: event.mimeData.getData(mimeType)\n });\n this.updateCellSourceWithAttachment(URI, URI);\n }\n }\n }\n /**\n * Attaches all DataTransferItems (obtained from\n * clipboard or native drop events) to the cell\n */\n _attachFiles(items) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n if (item.kind === 'file') {\n const blob = item.getAsFile();\n if (blob) {\n this._attachFile(blob);\n }\n }\n }\n }\n /**\n * Takes in a file object and adds it to\n * the cell attachments\n */\n _attachFile(blob) {\n const reader = new FileReader();\n reader.onload = evt => {\n const { href, protocol } = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_4__.URLExt.parse(reader.result);\n if (protocol !== 'data:') {\n return;\n }\n const dataURIRegex = /([\\w+\\/\\+]+)?(?:;(charset=[\\w\\d-]*|base64))?,(.*)/;\n const matches = dataURIRegex.exec(href);\n if (!matches || matches.length !== 4) {\n return;\n }\n const mimeType = matches[1];\n const encodedData = matches[3];\n const bundle = { [mimeType]: encodedData };\n const URI = this._generateURI(blob.name);\n if (mimeType.startsWith('image/')) {\n this.model.attachments.set(URI, bundle);\n this.updateCellSourceWithAttachment(blob.name, URI);\n }\n };\n reader.onerror = evt => {\n console.error(`Failed to attach ${blob.name}` + evt);\n };\n reader.readAsDataURL(blob);\n }\n /**\n * Generates a unique URI for a file\n * while preserving the file extension.\n */\n _generateURI(name = '') {\n const lastIndex = name.lastIndexOf('.');\n return lastIndex !== -1\n ? _lumino_coreutils__WEBPACK_IMPORTED_MODULE_10__.UUID.uuid4().concat(name.substring(lastIndex))\n : _lumino_coreutils__WEBPACK_IMPORTED_MODULE_10__.UUID.uuid4();\n }\n}\n/** ****************************************************************************\n * MarkdownCell\n ******************************************************************************/\n/**\n * A widget for a Markdown cell.\n *\n * #### Notes\n * Things get complicated if we want the rendered text to update\n * any time the text changes, the text editor model changes,\n * or the input area model changes. We don't support automatically\n * updating the rendered text in all of these cases.\n */\nclass MarkdownCell extends AttachmentsCell {\n /**\n * Construct a Markdown cell widget.\n */\n constructor(options) {\n var _a, _b, _c, _d;\n super({ ...options, placeholder: true });\n this._headingsCache = null;\n this._headingCollapsedChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_14__.Signal(this);\n this._prevText = '';\n this._rendered = true;\n this._renderedChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_14__.Signal(this);\n this._showEditorForReadOnlyMarkdown = true;\n this.addClass(MARKDOWN_CELL_CLASS);\n this.model.contentChanged.connect(this.onContentChanged, this);\n const trans = this.translator.load('jupyterlab');\n this.node.setAttribute('aria-label', trans.__('Markdown Cell Content'));\n // Ensure we can resolve attachments:\n this._rendermime = options.rendermime.clone({\n resolver: new _jupyterlab_attachments__WEBPACK_IMPORTED_MODULE_2__.AttachmentsResolver({\n parent: (_a = options.rendermime.resolver) !== null && _a !== void 0 ? _a : undefined,\n model: this.model.attachments\n })\n });\n this._renderer = this._rendermime.createRenderer('text/markdown');\n this._renderer.addClass(MARKDOWN_OUTPUT_CLASS);\n // Check if heading cell is set to be collapsed\n this._headingCollapsed = ((_b = this.model.getMetadata(MARKDOWN_HEADING_COLLAPSED)) !== null && _b !== void 0 ? _b : false);\n this._showEditorForReadOnlyMarkdown =\n (_c = options.showEditorForReadOnlyMarkdown) !== null && _c !== void 0 ? _c : MarkdownCell.defaultShowEditorForReadOnlyMarkdown;\n // Defer setting placeholder as the renderer must be instantiated before initializing the DOM\n this.placeholder = (_d = options.placeholder) !== null && _d !== void 0 ? _d : true;\n this._monitor = new _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_4__.ActivityMonitor({\n signal: this.model.contentChanged,\n timeout: RENDER_TIMEOUT\n });\n // Throttle the rendering rate of the widget.\n this.ready\n .then(() => {\n if (this.isDisposed) {\n // Bail early\n return;\n }\n this._monitor.activityStopped.connect(() => {\n if (this._rendered) {\n this.update();\n }\n }, this);\n })\n .catch(reason => {\n console.error('Failed to be ready', reason);\n });\n }\n /**\n * Text that represents the highest heading (i.e. lowest level) if cell is a heading.\n * Returns empty string if not a heading.\n */\n get headingInfo() {\n // Use table of content algorithm for consistency\n const headings = this.headings;\n if (headings.length > 0) {\n // Return the highest level\n const { text, level } = headings.reduce((prev, curr) => (prev.level <= curr.level ? prev : curr), headings[0]);\n return { text, level };\n }\n else {\n return { text: '', level: -1 };\n }\n }\n get headings() {\n if (!this._headingsCache) {\n // Use table of content algorithm for consistency\n const headings = _jupyterlab_toc__WEBPACK_IMPORTED_MODULE_7__.TableOfContentsUtils.Markdown.getHeadings(this.model.sharedModel.getSource());\n this._headingsCache = headings.map(h => {\n return { ...h, type: Cell.HeadingType.Markdown };\n });\n }\n return [...this._headingsCache];\n }\n /**\n * Whether the heading is collapsed or not.\n */\n get headingCollapsed() {\n return this._headingCollapsed;\n }\n set headingCollapsed(value) {\n var _a;\n if (this._headingCollapsed !== value) {\n this._headingCollapsed = value;\n if (value) {\n this.model.setMetadata(MARKDOWN_HEADING_COLLAPSED, value);\n }\n else if (this.model.getMetadata(MARKDOWN_HEADING_COLLAPSED) !== 'undefined') {\n this.model.deleteMetadata(MARKDOWN_HEADING_COLLAPSED);\n }\n const collapseButton = (_a = this.inputArea) === null || _a === void 0 ? void 0 : _a.promptNode.getElementsByClassName(HEADING_COLLAPSER_CLASS)[0];\n if (collapseButton) {\n if (value) {\n collapseButton.classList.add('jp-mod-collapsed');\n }\n else {\n collapseButton.classList.remove('jp-mod-collapsed');\n }\n }\n this.renderCollapseButtons(this._renderer);\n this._headingCollapsedChanged.emit(this._headingCollapsed);\n }\n }\n /**\n * Number of collapsed sub cells.\n */\n get numberChildNodes() {\n return this._numberChildNodes;\n }\n set numberChildNodes(value) {\n this._numberChildNodes = value;\n this.renderCollapseButtons(this._renderer);\n }\n /**\n * Signal emitted when the cell collapsed state changes.\n */\n get headingCollapsedChanged() {\n return this._headingCollapsedChanged;\n }\n /**\n * Whether the cell is rendered.\n */\n get rendered() {\n return this._rendered;\n }\n set rendered(value) {\n // Show cell as rendered when cell is not editable\n if (this.readOnly && this._showEditorForReadOnlyMarkdown === false) {\n value = true;\n }\n if (value === this._rendered) {\n return;\n }\n this._rendered = value;\n this._handleRendered()\n .then(() => {\n // If the rendered state changed, raise an event.\n this._displayChanged.emit();\n this._renderedChanged.emit(this._rendered);\n })\n .catch(reason => {\n console.error('Failed to render', reason);\n });\n }\n /**\n * Signal emitted when the markdown cell rendered state changes\n */\n get renderedChanged() {\n return this._renderedChanged;\n }\n /*\n * Whether the Markdown editor is visible in read-only mode.\n */\n get showEditorForReadOnly() {\n return this._showEditorForReadOnlyMarkdown;\n }\n set showEditorForReadOnly(value) {\n this._showEditorForReadOnlyMarkdown = value;\n if (value === false) {\n this.rendered = true;\n }\n }\n /**\n * Renderer\n */\n get renderer() {\n return this._renderer;\n }\n /**\n * Dispose of the resources held by the widget.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._monitor.dispose();\n super.dispose();\n }\n /**\n * Create children widgets.\n */\n initializeDOM() {\n if (!this.placeholder) {\n return;\n }\n super.initializeDOM();\n this.renderCollapseButtons(this._renderer);\n this._handleRendered().catch(reason => {\n console.error('Failed to render', reason);\n });\n }\n maybeCreateCollapseButton() {\n var _a;\n const { level } = this.headingInfo;\n if (level > 0 &&\n ((_a = this.inputArea) === null || _a === void 0 ? void 0 : _a.promptNode.getElementsByClassName(HEADING_COLLAPSER_CLASS).length) == 0) {\n let collapseButton = this.inputArea.promptNode.appendChild(document.createElement('button'));\n collapseButton.className = `jp-Button ${HEADING_COLLAPSER_CLASS}`;\n collapseButton.setAttribute('data-heading-level', level.toString());\n if (this._headingCollapsed) {\n collapseButton.classList.add('jp-mod-collapsed');\n }\n else {\n collapseButton.classList.remove('jp-mod-collapsed');\n }\n collapseButton.onclick = (event) => {\n this.headingCollapsed = !this.headingCollapsed;\n };\n }\n }\n /**\n * Create, update or remove the hidden cells button.\n * Note that the actual visibility is controlled in Static Notebook by toggling jp-mod-showHiddenCellsButton class.\n */\n maybeCreateOrUpdateExpandButton() {\n const showHiddenCellsButtonList = this.node.getElementsByClassName(SHOW_HIDDEN_CELLS_CLASS);\n let trans = this.translator.load('jupyterlab');\n let buttonText = trans._n('%1 cell hidden', '%1 cells hidden', this._numberChildNodes);\n let needToCreateButton = this.headingCollapsed &&\n this._numberChildNodes > 0 &&\n showHiddenCellsButtonList.length == 0;\n if (needToCreateButton) {\n const newShowHiddenCellsButton = document.createElement('button');\n newShowHiddenCellsButton.className = `jp-mod-minimal jp-Button ${SHOW_HIDDEN_CELLS_CLASS}`;\n _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_9__.addIcon.render(newShowHiddenCellsButton);\n const buttonTextElement = document.createElement('div');\n buttonTextElement.textContent = buttonText;\n newShowHiddenCellsButton.appendChild(buttonTextElement);\n newShowHiddenCellsButton.onclick = () => {\n this.headingCollapsed = false;\n };\n this.node.appendChild(newShowHiddenCellsButton);\n }\n let needToUpdateButtonText = this.headingCollapsed &&\n this._numberChildNodes > 0 &&\n showHiddenCellsButtonList.length == 1;\n if (needToUpdateButtonText) {\n showHiddenCellsButtonList[0].childNodes[1].textContent = buttonText;\n }\n let needToRemoveButton = !(this.headingCollapsed && this._numberChildNodes > 0);\n if (needToRemoveButton) {\n for (const button of showHiddenCellsButtonList) {\n this.node.removeChild(button);\n }\n }\n }\n /**\n * Callback on content changed\n */\n onContentChanged() {\n super.onContentChanged();\n this._headingsCache = null;\n }\n /**\n * Render the collapse button for heading cells,\n * and for collapsed heading cells render the \"expand hidden cells\"\n * button.\n */\n renderCollapseButtons(widget) {\n this.node.classList.toggle(MARKDOWN_HEADING_COLLAPSED, this._headingCollapsed);\n this.maybeCreateCollapseButton();\n this.maybeCreateOrUpdateExpandButton();\n }\n /**\n * Render an input instead of the text editor.\n */\n renderInput(widget) {\n this.addClass(RENDERED_CLASS);\n if (!this.placeholder && !this.isDisposed) {\n this.renderCollapseButtons(widget);\n this.inputArea.renderInput(widget);\n }\n }\n /**\n * Show the text editor instead of rendered input.\n */\n showEditor() {\n this.removeClass(RENDERED_CLASS);\n if (!this.placeholder && !this.isDisposed) {\n this.inputArea.showEditor();\n // if this is going to be a heading, place the cursor accordingly\n let numHashAtStart = (this.model.sharedModel\n .getSource()\n .match(/^#+/g) || [''])[0].length;\n if (numHashAtStart > 0) {\n this.inputArea.editor.setCursorPosition({\n column: numHashAtStart + 1,\n line: 0\n }, { scroll: false });\n }\n }\n }\n /*\n * Handle `update-request` messages.\n */\n onUpdateRequest(msg) {\n // Make sure we are properly rendered.\n this._handleRendered().catch(reason => {\n console.error('Failed to render', reason);\n });\n super.onUpdateRequest(msg);\n }\n /**\n * Modify the cell source to include a reference to the attachment.\n */\n updateCellSourceWithAttachment(attachmentName, URI) {\n var _a, _b;\n const textToBeAppended = ``;\n // TODO this should be done on the model...\n (_b = (_a = this.editor) === null || _a === void 0 ? void 0 : _a.replaceSelection) === null || _b === void 0 ? void 0 : _b.call(_a, textToBeAppended);\n }\n /**\n * Handle the rendered state.\n */\n async _handleRendered() {\n if (!this._rendered) {\n this.showEditor();\n }\n else {\n // TODO: It would be nice for the cell to provide a way for\n // its consumers to hook into when the rendering is done.\n await this._updateRenderedInput();\n if (this._rendered) {\n // The rendered flag may be updated in the mean time\n this.renderInput(this._renderer);\n }\n }\n }\n /**\n * Update the rendered input.\n */\n _updateRenderedInput() {\n if (this.placeholder) {\n return Promise.resolve();\n }\n const model = this.model;\n const text = (model && model.sharedModel.getSource()) || DEFAULT_MARKDOWN_TEXT;\n // Do not re-render if the text has not changed.\n if (text !== this._prevText) {\n const mimeModel = new _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_6__.MimeModel({ data: { 'text/markdown': text } });\n this._prevText = text;\n return this._renderer.renderModel(mimeModel);\n }\n return Promise.resolve();\n }\n /**\n * Clone the cell, using the same model.\n */\n clone() {\n const constructor = this.constructor;\n return new constructor({\n model: this.model,\n contentFactory: this.contentFactory,\n rendermime: this._rendermime,\n placeholder: false,\n translator: this.translator\n });\n }\n}\n/**\n * The namespace for the `CodeCell` class statics.\n */\n(function (MarkdownCell) {\n /**\n * Default value for showEditorForReadOnlyMarkdown.\n */\n MarkdownCell.defaultShowEditorForReadOnlyMarkdown = true;\n})(MarkdownCell || (MarkdownCell = {}));\n/** ****************************************************************************\n * RawCell\n ******************************************************************************/\n/**\n * A widget for a raw cell.\n */\nclass RawCell extends Cell {\n /**\n * Construct a raw cell widget.\n */\n constructor(options) {\n super(options);\n this.addClass(RAW_CELL_CLASS);\n const trans = this.translator.load('jupyterlab');\n this.node.setAttribute('aria-label', trans.__('Raw Cell Content'));\n }\n /**\n * Clone the cell, using the same model.\n */\n clone() {\n const constructor = this.constructor;\n return new constructor({\n model: this.model,\n contentFactory: this.contentFactory,\n placeholder: false,\n translator: this.translator\n });\n }\n}\n//# sourceMappingURL=widget.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/lib/widget.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/cells/style/index.js":
+/*!********************************************************!*\
+ !*** ../node_modules/@jupyterlab/cells/style/index.js ***!
+ \********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_rendermime_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/rendermime/style/index.js */ \"../node_modules/@jupyterlab/rendermime/style/index.js\");\n/* harmony import */ var _jupyterlab_attachments_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/attachments/style/index.js */ \"../node_modules/@jupyterlab/attachments/style/index.js\");\n/* harmony import */ var _lumino_dragdrop_style_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/dragdrop/style/index.js */ \"../node_modules/@lumino/dragdrop/style/index.js\");\n/* harmony import */ var _jupyterlab_codeeditor_style_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/codeeditor/style/index.js */ \"../node_modules/@jupyterlab/codeeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_documentsearch_style_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @jupyterlab/documentsearch/style/index.js */ \"../node_modules/@jupyterlab/documentsearch/style/index.js\");\n/* harmony import */ var _jupyterlab_codemirror_style_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @jupyterlab/codemirror/style/index.js */ \"../node_modules/@jupyterlab/codemirror/style/index.js\");\n/* harmony import */ var _jupyterlab_filebrowser_style_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @jupyterlab/filebrowser/style/index.js */ \"../node_modules/@jupyterlab/filebrowser/style/index.js\");\n/* harmony import */ var _jupyterlab_outputarea_style_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @jupyterlab/outputarea/style/index.js */ \"../node_modules/@jupyterlab/outputarea/style/index.js\");\n/* harmony import */ var _jupyterlab_toc_style_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @jupyterlab/toc/style/index.js */ \"../node_modules/@jupyterlab/toc/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/cells/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/cells/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/celltags-extension/lib/celltag.js":
+/*!*********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/celltags-extension/lib/celltag.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CellTagField: () => (/* binding */ CellTagField)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n\n/**\n * The class name added to the cell-tags field.\n */\nconst CELL_TAGS_WIDGET_CLASS = 'jp-CellTags';\n/**\n * The class name added to each tag element.\n */\nconst CELL_TAGS_ELEMENT_CLASS = 'jp-CellTags-Tag';\n/**\n * The class name added to each applied tag element.\n */\nconst CELL_TAGS_ELEMENT_APPLIED_CLASS = 'jp-CellTags-Applied';\n/**\n * The class name added to each unapplied tag element.\n */\nconst CELL_TAGS_ELEMENT_UNAPPLIED_CLASS = 'jp-CellTags-Unapplied';\n/**\n * The class name added to the tag holder.\n */\nconst CELL_TAGS_HOLDER_CLASS = 'jp-CellTags-Holder';\n/**\n * The class name added to the add-tag input.\n */\nconst CELL_TAGS_ADD_CLASS = 'jp-CellTags-Add';\n/**\n * The class name added to an empty input.\n */\nconst CELL_TAGS_EMPTY_CLASS = 'jp-CellTags-Empty';\nclass CellTagField {\n constructor(tracker, translator) {\n this._tracker = tracker;\n this._translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator;\n this._trans = this._translator.load('jupyterlab');\n this._editing = false;\n }\n addTag(props, tag) {\n const data = props.formData;\n if (tag && !data.includes(tag)) {\n data.push(tag);\n props.formContext.updateMetadata({ [props.name]: data }, true);\n }\n }\n /**\n * Pull from cell metadata all the tags used in the notebook and update the\n * stored tag list.\n */\n pullTags() {\n var _a, _b;\n const notebook = (_a = this._tracker) === null || _a === void 0 ? void 0 : _a.currentWidget;\n const cells = (_b = notebook === null || notebook === void 0 ? void 0 : notebook.model) === null || _b === void 0 ? void 0 : _b.cells;\n if (cells === undefined) {\n return [];\n }\n const allTags = (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_2__.reduce)(cells, (allTags, cell) => {\n var _a;\n const tags = (_a = cell.getMetadata('tags')) !== null && _a !== void 0 ? _a : [];\n return [...allTags, ...tags];\n }, []);\n return [...new Set(allTags)].filter(tag => tag !== '');\n }\n _emptyAddTag(target) {\n target.value = '';\n target.style.width = '';\n target.classList.add(CELL_TAGS_EMPTY_CLASS);\n }\n _onAddTagKeyDown(props, event) {\n const input = event.target;\n if (event.ctrlKey)\n return;\n if (event.key === 'Enter') {\n this.addTag(props, input.value);\n }\n else if (event.key === 'Escape') {\n this._emptyAddTag(input);\n }\n }\n _onAddTagFocus(event) {\n if (!this._editing) {\n event.target.blur();\n }\n }\n _onAddTagBlur(input) {\n if (this._editing) {\n this._editing = false;\n this._emptyAddTag(input);\n }\n }\n _onChange(event) {\n if (!event.target.value) {\n this._emptyAddTag(event.target);\n }\n else {\n event.target.classList.remove(CELL_TAGS_EMPTY_CLASS);\n const tmp = document.createElement('span');\n tmp.className = CELL_TAGS_ADD_CLASS;\n tmp.textContent = event.target.value;\n // set width to the pixel length of the text\n document.body.appendChild(tmp);\n event.target.style.setProperty('width', `calc(${tmp.getBoundingClientRect().width}px + var(--jp-add-tag-extra-width))`);\n document.body.removeChild(tmp);\n }\n }\n _onAddTagClick(props, event) {\n const elem = event.target.closest('div');\n const input = elem === null || elem === void 0 ? void 0 : elem.childNodes[0];\n if (!this._editing) {\n this._editing = true;\n input.value = '';\n input.focus();\n }\n else if (event.target !== input) {\n this.addTag(props, input.value);\n }\n event.preventDefault();\n }\n _onTagClick(props, tag) {\n const data = props.formData;\n if (data.includes(tag)) {\n data.splice(data.indexOf(tag), 1);\n }\n else {\n data.push(tag);\n }\n props.formContext.updateMetadata({ [props.name]: data }, true);\n }\n render(props) {\n const allTags = this.pullTags();\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: CELL_TAGS_WIDGET_CLASS },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"jp-FormGroup-fieldLabel jp-FormGroup-contentItem\" }, \"Cell Tags\"),\n allTags &&\n allTags.map((tag, i) => (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { key: i, className: `${CELL_TAGS_ELEMENT_CLASS} ${props.formData.includes(tag)\n ? CELL_TAGS_ELEMENT_APPLIED_CLASS\n : CELL_TAGS_ELEMENT_UNAPPLIED_CLASS}`, onClick: () => this._onTagClick(props, tag) },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: CELL_TAGS_HOLDER_CLASS },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"span\", null, tag),\n props.formData.includes(tag) && (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.LabIcon.resolveReact, { icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.checkIcon, tag: \"span\", elementPosition: \"center\", height: \"18px\", width: \"18px\", marginLeft: \"5px\", marginRight: \"-3px\" })))))),\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: `${CELL_TAGS_ELEMENT_CLASS} ${CELL_TAGS_ELEMENT_UNAPPLIED_CLASS}` },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: CELL_TAGS_HOLDER_CLASS, onMouseDown: (e) => this._onAddTagClick(props, e) },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", { className: `${CELL_TAGS_ADD_CLASS} ${CELL_TAGS_EMPTY_CLASS}`, type: \"text\", placeholder: this._trans.__('Add Tag'), onKeyDown: (e) => this._onAddTagKeyDown(props, e), onFocus: (e) => this._onAddTagFocus(e), onBlur: (e) => this._onAddTagBlur(e.target), onChange: (e) => {\n this._onChange(e);\n } }),\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.LabIcon.resolveReact, { icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.addIcon, tag: \"span\", height: \"18px\", width: \"18px\", className: CELL_TAGS_HOLDER_CLASS })))));\n }\n}\n//# sourceMappingURL=celltag.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/celltags-extension/lib/celltag.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/celltags-extension/lib/index.js":
+/*!*******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/celltags-extension/lib/index.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/notebook */ \"webpack/sharing/consume/default/@jupyterlab/notebook/@jupyterlab/notebook\");\n/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _celltag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./celltag */ \"../node_modules/@jupyterlab/celltags-extension/lib/celltag.js\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module celltags-extension\n */\n\n\n\n/**\n * Registering cell tag field.\n */\nconst customCellTag = {\n id: '@jupyterlab/celltags-extension:plugin',\n description: 'Adds the cell tags editor.',\n autoStart: true,\n requires: [_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_0__.INotebookTracker],\n optional: [_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.IFormRendererRegistry],\n activate: (app, tracker, formRegistry) => {\n // Register the custom field\n if (formRegistry) {\n const component = {\n fieldRenderer: (props) => {\n return new _celltag__WEBPACK_IMPORTED_MODULE_2__.CellTagField(tracker).render(props);\n }\n };\n formRegistry.addRenderer('@jupyterlab/celltags-extension:plugin.renderer', component);\n }\n }\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([customCellTag]);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/celltags-extension/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/celltags-extension/style/index.js":
+/*!*********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/celltags-extension/style/index.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_notebook_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/notebook/style/index.js */ \"../node_modules/@jupyterlab/notebook/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/celltags-extension/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/celltags-extension/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/lib/editor.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/lib/editor.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeEditor: () => (/* binding */ CodeEditor)\n/* harmony export */ });\n/* harmony import */ var _jupyter_ydoc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyter/ydoc */ \"webpack/sharing/consume/default/@jupyter/ydoc/@jupyter/ydoc\");\n/* harmony import */ var _jupyter_ydoc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyter_ydoc__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/observables */ \"webpack/sharing/consume/default/@jupyterlab/observables/@jupyterlab/observables\");\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_observables__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _mimetype__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimetype */ \"../node_modules/@jupyterlab/codeeditor/lib/mimetype.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n/**\n * A namespace for code editors.\n *\n * #### Notes\n * - A code editor is a set of common assumptions which hold for all concrete editors.\n * - Changes in implementations of the code editor should only be caused by changes in concrete editors.\n * - Common JLab services which are based on the code editor should belong to `IEditorServices`.\n */\nvar CodeEditor;\n(function (CodeEditor) {\n /**\n * The default implementation of the editor model.\n */\n class Model {\n /**\n * Construct a new Model.\n */\n constructor(options = {}) {\n var _a, _b;\n /**\n * Whether the model should disposed the shared model on disposal or not.\n */\n this.standaloneModel = false;\n this._isDisposed = false;\n this._selections = new _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_1__.ObservableMap();\n this._mimeType = _mimetype__WEBPACK_IMPORTED_MODULE_3__.IEditorMimeTypeService.defaultMimeType;\n this._mimeTypeChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal(this);\n // Track if we need to dispose the model or not.\n this.standaloneModel = typeof options.sharedModel === 'undefined';\n this.sharedModel = (_a = options.sharedModel) !== null && _a !== void 0 ? _a : new _jupyter_ydoc__WEBPACK_IMPORTED_MODULE_0__.YFile();\n this._mimeType =\n (_b = options.mimeType) !== null && _b !== void 0 ? _b : _mimetype__WEBPACK_IMPORTED_MODULE_3__.IEditorMimeTypeService.defaultMimeType;\n }\n /**\n * A signal emitted when a mimetype changes.\n */\n get mimeTypeChanged() {\n return this._mimeTypeChanged;\n }\n /**\n * Get the selections for the model.\n */\n get selections() {\n return this._selections;\n }\n /**\n * A mime type of the model.\n */\n get mimeType() {\n return this._mimeType;\n }\n set mimeType(newValue) {\n const oldValue = this.mimeType;\n if (oldValue === newValue) {\n return;\n }\n this._mimeType = newValue;\n this._mimeTypeChanged.emit({\n name: 'mimeType',\n oldValue: oldValue,\n newValue: newValue\n });\n }\n /**\n * Whether the model is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources used by the model.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._selections.dispose();\n if (this.standaloneModel) {\n this.sharedModel.dispose();\n }\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal.clearData(this);\n }\n }\n CodeEditor.Model = Model;\n})(CodeEditor || (CodeEditor = {}));\n//# sourceMappingURL=editor.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/lib/editor.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/lib/index.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/lib/index.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ COMPLETER_ACTIVE_CLASS: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_4__.COMPLETER_ACTIVE_CLASS),\n/* harmony export */ COMPLETER_ENABLED_CLASS: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_4__.COMPLETER_ENABLED_CLASS),\n/* harmony export */ COMPLETER_LINE_BEGINNING_CLASS: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_4__.COMPLETER_LINE_BEGINNING_CLASS),\n/* harmony export */ CodeEditor: () => (/* reexport safe */ _editor__WEBPACK_IMPORTED_MODULE_0__.CodeEditor),\n/* harmony export */ CodeEditorWrapper: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_6__.CodeEditorWrapper),\n/* harmony export */ CodeViewerWidget: () => (/* reexport safe */ _viewer__WEBPACK_IMPORTED_MODULE_5__.CodeViewerWidget),\n/* harmony export */ IEditorMimeTypeService: () => (/* reexport safe */ _mimetype__WEBPACK_IMPORTED_MODULE_3__.IEditorMimeTypeService),\n/* harmony export */ IEditorServices: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_4__.IEditorServices),\n/* harmony export */ IPositionModel: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_4__.IPositionModel),\n/* harmony export */ JSONEditor: () => (/* reexport safe */ _jsoneditor__WEBPACK_IMPORTED_MODULE_1__.JSONEditor),\n/* harmony export */ LineCol: () => (/* reexport safe */ _lineCol__WEBPACK_IMPORTED_MODULE_2__.LineCol)\n/* harmony export */ });\n/* harmony import */ var _editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./editor */ \"../node_modules/@jupyterlab/codeeditor/lib/editor.js\");\n/* harmony import */ var _jsoneditor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsoneditor */ \"../node_modules/@jupyterlab/codeeditor/lib/jsoneditor.js\");\n/* harmony import */ var _lineCol__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lineCol */ \"../node_modules/@jupyterlab/codeeditor/lib/lineCol.js\");\n/* harmony import */ var _mimetype__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimetype */ \"../node_modules/@jupyterlab/codeeditor/lib/mimetype.js\");\n/* harmony import */ var _tokens__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tokens */ \"../node_modules/@jupyterlab/codeeditor/lib/tokens.js\");\n/* harmony import */ var _viewer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./viewer */ \"../node_modules/@jupyterlab/codeeditor/lib/viewer.js\");\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/codeeditor/lib/widget.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module codeeditor\n */\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/lib/jsoneditor.js":
+/*!****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/lib/jsoneditor.js ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ JSONEditor: () => (/* binding */ JSONEditor)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _editor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor */ \"../node_modules/@jupyterlab/codeeditor/lib/editor.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n/**\n * The class name added to a JSONEditor instance.\n */\nconst JSONEDITOR_CLASS = 'jp-JSONEditor';\n/**\n * The class name added when the Metadata editor contains invalid JSON.\n */\nconst ERROR_CLASS = 'jp-mod-error';\n/**\n * The class name added to the editor host node.\n */\nconst HOST_CLASS = 'jp-JSONEditor-host';\n/**\n * The class name added to the header area.\n */\nconst HEADER_CLASS = 'jp-JSONEditor-header';\n/**\n * A widget for editing observable JSON.\n */\nclass JSONEditor extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__.Widget {\n /**\n * Construct a new JSON editor.\n */\n constructor(options) {\n super();\n this._dataDirty = false;\n this._inputDirty = false;\n this._source = null;\n this._originalValue = _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__.JSONExt.emptyObject;\n this._changeGuard = false;\n this.translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator;\n this._trans = this.translator.load('jupyterlab');\n this.addClass(JSONEDITOR_CLASS);\n this.headerNode = document.createElement('div');\n this.headerNode.className = HEADER_CLASS;\n this.revertButtonNode = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.undoIcon.element({\n tag: 'span',\n title: this._trans.__('Revert changes to data')\n });\n this.commitButtonNode = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.checkIcon.element({\n tag: 'span',\n title: this._trans.__('Commit changes to data'),\n marginLeft: '8px'\n });\n this.editorHostNode = document.createElement('div');\n this.editorHostNode.className = HOST_CLASS;\n this.headerNode.appendChild(this.revertButtonNode);\n this.headerNode.appendChild(this.commitButtonNode);\n this.node.appendChild(this.headerNode);\n this.node.appendChild(this.editorHostNode);\n const model = new _editor__WEBPACK_IMPORTED_MODULE_4__.CodeEditor.Model({ mimeType: 'application/json' });\n model.sharedModel.changed.connect(this._onModelChanged, this);\n this.model = model;\n this.editor = options.editorFactory({\n host: this.editorHostNode,\n model,\n config: {\n readOnly: true\n }\n });\n }\n /**\n * The observable source.\n */\n get source() {\n return this._source;\n }\n set source(value) {\n if (this._source === value) {\n return;\n }\n if (this._source) {\n this._source.changed.disconnect(this._onSourceChanged, this);\n }\n this._source = value;\n this.editor.setOption('readOnly', value === null);\n if (value) {\n value.changed.connect(this._onSourceChanged, this);\n }\n this._setValue();\n }\n /**\n * Get whether the editor is dirty.\n */\n get isDirty() {\n return this._dataDirty || this._inputDirty;\n }\n /**\n * Dispose of the editor.\n */\n dispose() {\n var _a;\n if (this.isDisposed) {\n return;\n }\n (_a = this.source) === null || _a === void 0 ? void 0 : _a.dispose();\n this.model.dispose();\n this.editor.dispose();\n super.dispose();\n }\n /**\n * Handle the DOM events for the widget.\n *\n * @param event - The DOM event sent to the widget.\n *\n * #### Notes\n * This method implements the DOM `EventListener` interface and is\n * called in response to events on the notebook panel's node. It should\n * not be called directly by user code.\n */\n handleEvent(event) {\n switch (event.type) {\n case 'blur':\n this._evtBlur(event);\n break;\n case 'click':\n this._evtClick(event);\n break;\n default:\n break;\n }\n }\n /**\n * Handle `after-attach` messages for the widget.\n */\n onAfterAttach(msg) {\n const node = this.editorHostNode;\n node.addEventListener('blur', this, true);\n node.addEventListener('click', this, true);\n this.revertButtonNode.hidden = true;\n this.commitButtonNode.hidden = true;\n this.headerNode.addEventListener('click', this);\n }\n /**\n * Handle `before-detach` messages for the widget.\n */\n onBeforeDetach(msg) {\n const node = this.editorHostNode;\n node.removeEventListener('blur', this, true);\n node.removeEventListener('click', this, true);\n this.headerNode.removeEventListener('click', this);\n }\n /**\n * Handle a change to the metadata of the source.\n */\n _onSourceChanged(sender, args) {\n if (this._changeGuard) {\n return;\n }\n if (this._inputDirty || this.editor.hasFocus()) {\n this._dataDirty = true;\n return;\n }\n this._setValue();\n }\n /**\n * Handle change events.\n */\n _onModelChanged(model, change) {\n if (change.sourceChange) {\n let valid = true;\n try {\n const value = JSON.parse(this.editor.model.sharedModel.getSource());\n this.removeClass(ERROR_CLASS);\n this._inputDirty =\n !this._changeGuard && !_lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__.JSONExt.deepEqual(value, this._originalValue);\n }\n catch (err) {\n this.addClass(ERROR_CLASS);\n this._inputDirty = true;\n valid = false;\n }\n this.revertButtonNode.hidden = !this._inputDirty;\n this.commitButtonNode.hidden = !valid || !this._inputDirty;\n }\n }\n /**\n * Handle blur events for the text area.\n */\n _evtBlur(event) {\n // Update the metadata if necessary.\n if (!this._inputDirty && this._dataDirty) {\n this._setValue();\n }\n }\n /**\n * Handle click events for the buttons.\n */\n _evtClick(event) {\n const target = event.target;\n if (this.revertButtonNode.contains(target)) {\n this._setValue();\n }\n else if (this.commitButtonNode.contains(target)) {\n if (!this.commitButtonNode.hidden && !this.hasClass(ERROR_CLASS)) {\n this._changeGuard = true;\n this._mergeContent();\n this._changeGuard = false;\n this._setValue();\n }\n }\n else if (this.editorHostNode.contains(target)) {\n this.editor.focus();\n }\n }\n /**\n * Merge the user content.\n */\n _mergeContent() {\n const model = this.editor.model;\n const old = this._originalValue;\n const user = JSON.parse(model.sharedModel.getSource());\n const source = this.source;\n if (!source) {\n return;\n }\n // If it is in user and has changed from old, set in new.\n for (const key in user) {\n if (!_lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__.JSONExt.deepEqual(user[key], old[key] || null)) {\n source.set(key, user[key]);\n }\n }\n // If it was in old and is not in user, remove from source.\n for (const key in old) {\n if (!(key in user)) {\n source.delete(key);\n }\n }\n }\n /**\n * Set the value given the owner contents.\n */\n _setValue() {\n this._dataDirty = false;\n this._inputDirty = false;\n this.revertButtonNode.hidden = true;\n this.commitButtonNode.hidden = true;\n this.removeClass(ERROR_CLASS);\n const model = this.editor.model;\n const content = this._source ? this._source.toJSON() : {};\n this._changeGuard = true;\n if (content === void 0) {\n model.sharedModel.setSource(this._trans.__('No data!'));\n this._originalValue = _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__.JSONExt.emptyObject;\n }\n else {\n const value = JSON.stringify(content, null, 4);\n model.sharedModel.setSource(value);\n this._originalValue = content;\n // Move the cursor to within the brace.\n if (value.length > 1 && value[0] === '{') {\n this.editor.setCursorPosition({ line: 0, column: 1 });\n }\n }\n this._changeGuard = false;\n this.commitButtonNode.hidden = true;\n this.revertButtonNode.hidden = true;\n }\n}\n//# sourceMappingURL=jsoneditor.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/lib/jsoneditor.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/lib/lineCol.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/lib/lineCol.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LineCol: () => (/* binding */ LineCol)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/statusbar */ \"webpack/sharing/consume/default/@jupyterlab/statusbar/@jupyterlab/statusbar\");\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_4__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n/**\n * A component for rendering a \"go-to-line\" form.\n */\nclass LineFormComponent extends (react__WEBPACK_IMPORTED_MODULE_3___default().Component) {\n /**\n * Construct a new LineFormComponent.\n */\n constructor(props) {\n super(props);\n /**\n * Handle a change to the value in the input field.\n */\n this._handleChange = (event) => {\n this.setState({ value: event.currentTarget.value });\n };\n /**\n * Handle submission of the input field.\n */\n this._handleSubmit = (event) => {\n event.preventDefault();\n const value = parseInt(this._textInput.value, 10);\n if (!isNaN(value) &&\n isFinite(value) &&\n 1 <= value &&\n value <= this.props.maxLine) {\n this.props.handleSubmit(value);\n }\n return false;\n };\n /**\n * Handle focusing of the input field.\n */\n this._handleFocus = () => {\n this.setState({ hasFocus: true });\n };\n /**\n * Handle blurring of the input field.\n */\n this._handleBlur = () => {\n this.setState({ hasFocus: false });\n };\n this._textInput = null;\n this.translator = props.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n this._trans = this.translator.load('jupyterlab');\n this.state = {\n value: '',\n hasFocus: false,\n textInputId: _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_4__.DOMUtils.createDomID() + '-line-number-input'\n };\n }\n /**\n * Focus the element on mount.\n */\n componentDidMount() {\n this._textInput.focus();\n }\n /**\n * Render the LineFormComponent.\n */\n render() {\n return (react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", { className: \"jp-lineFormSearch\" },\n react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"form\", { name: \"lineColumnForm\", onSubmit: this._handleSubmit, noValidate: true },\n react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", { className: (0,_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.classes)('jp-lineFormWrapper', 'lm-lineForm-wrapper', this.state.hasFocus ? 'jp-lineFormWrapperFocusWithin' : undefined) },\n react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"input\", { type: \"text\", id: this.state.textInputId, className: \"jp-lineFormInput\", onChange: this._handleChange, onFocus: this._handleFocus, onBlur: this._handleBlur, value: this.state.value, ref: input => {\n this._textInput = input;\n } }),\n react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"div\", { className: \"jp-baseLineForm jp-lineFormButtonContainer\" },\n react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.lineFormIcon.react, { className: \"jp-baseLineForm jp-lineFormButtonIcon\", elementPosition: \"center\" }),\n react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"input\", { type: \"submit\", className: \"jp-baseLineForm jp-lineFormButton\", value: \"\" }))),\n react__WEBPACK_IMPORTED_MODULE_3___default().createElement(\"label\", { className: \"jp-lineFormCaption\", htmlFor: this.state.textInputId }, this._trans.__('Go to line number between 1 and %1', this.props.maxLine)))));\n }\n}\n/**\n * A pure functional component for rendering a line/column\n * status item.\n */\nfunction LineColComponent(props) {\n const translator = props.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n const trans = translator.load('jupyterlab');\n const keydownHandler = (event) => {\n if (event.key === 'Enter' ||\n event.key === 'Spacebar' ||\n event.key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n props.handleClick();\n }\n else {\n return;\n }\n };\n return (react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__.TextItem, { onClick: props.handleClick, source: trans.__('Ln %1, Col %2', props.line, props.column), title: trans.__('Go to line number…'), tabIndex: 0, onKeyDown: keydownHandler }));\n}\n/**\n * A widget implementing a line/column status item.\n */\nclass LineCol extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.VDomRenderer {\n /**\n * Construct a new LineCol status item.\n */\n constructor(translator) {\n super(new LineCol.Model());\n this._popup = null;\n this.addClass('jp-mod-highlighted');\n this.translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n }\n /**\n * Render the status item.\n */\n render() {\n if (this.model === null) {\n return null;\n }\n else {\n return (react__WEBPACK_IMPORTED_MODULE_3___default().createElement(LineColComponent, { line: this.model.line, column: this.model.column, translator: this.translator, handleClick: () => this._handleClick() }));\n }\n }\n /**\n * A click handler for the widget.\n */\n _handleClick() {\n if (this._popup) {\n this._popup.dispose();\n }\n const body = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.ReactWidget.create(react__WEBPACK_IMPORTED_MODULE_3___default().createElement(LineFormComponent, { handleSubmit: val => this._handleSubmit(val), currentLine: this.model.line, maxLine: this.model.editor.lineCount, translator: this.translator }));\n this._popup = (0,_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__.showPopup)({\n body: body,\n anchor: this,\n align: 'right'\n });\n }\n /**\n * Handle submission for the widget.\n */\n _handleSubmit(value) {\n this.model.editor.setCursorPosition({ line: value - 1, column: 0 });\n this._popup.dispose();\n this.model.editor.focus();\n }\n}\n/**\n * A namespace for LineCol statics.\n */\n(function (LineCol) {\n /**\n * A VDom model for a status item tracking the line/column of an editor.\n */\n class Model extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.VDomModel {\n constructor() {\n super(...arguments);\n /**\n * React to a change in the cursors of the current editor.\n */\n this._onSelectionChanged = () => {\n const oldState = this._getAllState();\n const pos = this.editor.getCursorPosition();\n this._line = pos.line + 1;\n this._column = pos.column + 1;\n this._triggerChange(oldState, this._getAllState());\n };\n this._line = 1;\n this._column = 1;\n this._editor = null;\n }\n /**\n * The current editor of the model.\n */\n get editor() {\n return this._editor;\n }\n set editor(editor) {\n var _a;\n const oldEditor = this._editor;\n if ((_a = oldEditor === null || oldEditor === void 0 ? void 0 : oldEditor.model) === null || _a === void 0 ? void 0 : _a.selections) {\n oldEditor.model.selections.changed.disconnect(this._onSelectionChanged);\n }\n const oldState = this._getAllState();\n this._editor = editor;\n if (!this._editor) {\n this._column = 1;\n this._line = 1;\n }\n else {\n this._editor.model.selections.changed.connect(this._onSelectionChanged);\n const pos = this._editor.getCursorPosition();\n this._column = pos.column + 1;\n this._line = pos.line + 1;\n }\n this._triggerChange(oldState, this._getAllState());\n }\n /**\n * The current line of the model.\n */\n get line() {\n return this._line;\n }\n /**\n * The current column of the model.\n */\n get column() {\n return this._column;\n }\n _getAllState() {\n return [this._line, this._column];\n }\n _triggerChange(oldState, newState) {\n if (oldState[0] !== newState[0] || oldState[1] !== newState[1]) {\n this.stateChanged.emit(void 0);\n }\n }\n }\n LineCol.Model = Model;\n})(LineCol || (LineCol = {}));\n//# sourceMappingURL=lineCol.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/lib/lineCol.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/lib/mimetype.js":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/lib/mimetype.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IEditorMimeTypeService: () => (/* binding */ IEditorMimeTypeService)\n/* harmony export */ });\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * A namespace for `IEditorMimeTypeService`.\n */\nvar IEditorMimeTypeService;\n(function (IEditorMimeTypeService) {\n /**\n * The default mime type.\n */\n IEditorMimeTypeService.defaultMimeType = 'text/plain';\n})(IEditorMimeTypeService || (IEditorMimeTypeService = {}));\n//# sourceMappingURL=mimetype.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/lib/mimetype.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/lib/tokens.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/lib/tokens.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ COMPLETER_ACTIVE_CLASS: () => (/* binding */ COMPLETER_ACTIVE_CLASS),\n/* harmony export */ COMPLETER_ENABLED_CLASS: () => (/* binding */ COMPLETER_ENABLED_CLASS),\n/* harmony export */ COMPLETER_LINE_BEGINNING_CLASS: () => (/* binding */ COMPLETER_LINE_BEGINNING_CLASS),\n/* harmony export */ IEditorServices: () => (/* binding */ IEditorServices),\n/* harmony export */ IPositionModel: () => (/* binding */ IPositionModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * A class added to editors that can host a completer.\n */\nconst COMPLETER_ENABLED_CLASS = 'jp-mod-completer-enabled';\n/**\n * A class added to editors that have an active completer.\n */\nconst COMPLETER_ACTIVE_CLASS = 'jp-mod-completer-active';\n/**\n * A class added to editors that have a cursor at the beginning of the line.\n */\nconst COMPLETER_LINE_BEGINNING_CLASS = 'jp-mod-at-line-beginning';\n/**\n * Code editor services token.\n */\nconst IEditorServices = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/codeeditor:IEditorServices', `A service for the text editor provider\n for the application. Use this to create new text editors and host them in your\n UI elements.`);\n/**\n * Code editor cursor position token.\n */\nconst IPositionModel = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/codeeditor:IPositionModel', `A service to handle an code editor cursor position.`);\n//# sourceMappingURL=tokens.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/lib/tokens.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/lib/viewer.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/lib/viewer.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeViewerWidget: () => (/* binding */ CodeViewerWidget)\n/* harmony export */ });\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./editor */ \"../node_modules/@jupyterlab/codeeditor/lib/editor.js\");\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/codeeditor/lib/widget.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\nclass CodeViewerWidget extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__.Widget {\n /**\n * Construct a new code viewer widget.\n */\n constructor(options) {\n var _a;\n super();\n this.model = options.model;\n const editorWidget = new _widget__WEBPACK_IMPORTED_MODULE_1__.CodeEditorWrapper({\n factory: options.factory,\n model: this.model,\n editorOptions: {\n ...options.editorOptions,\n config: { ...(_a = options.editorOptions) === null || _a === void 0 ? void 0 : _a.config, readOnly: true }\n }\n });\n this.editor = editorWidget.editor;\n const layout = (this.layout = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__.StackedLayout());\n layout.addWidget(editorWidget);\n }\n static createCodeViewer(options) {\n const { content, mimeType, ...others } = options;\n const model = new _editor__WEBPACK_IMPORTED_MODULE_2__.CodeEditor.Model({\n mimeType\n });\n model.sharedModel.setSource(content);\n const widget = new CodeViewerWidget({ ...others, model });\n widget.disposed.connect(() => {\n model.dispose();\n });\n return widget;\n }\n get content() {\n return this.model.sharedModel.getSource();\n }\n get mimeType() {\n return this.model.mimeType;\n }\n}\n//# sourceMappingURL=viewer.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/lib/viewer.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/lib/widget.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/lib/widget.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeEditorWrapper: () => (/* binding */ CodeEditorWrapper)\n/* harmony export */ });\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * The class name added to an editor widget that has a primary selection.\n */\nconst HAS_SELECTION_CLASS = 'jp-mod-has-primary-selection';\n/**\n * The class name added to an editor widget that has a cursor/selection\n * within the whitespace at the beginning of a line\n */\nconst HAS_IN_LEADING_WHITESPACE_CLASS = 'jp-mod-in-leading-whitespace';\n/**\n * A class used to indicate a drop target.\n */\nconst DROP_TARGET_CLASS = 'jp-mod-dropTarget';\n/**\n * RegExp to test for leading whitespace\n */\nconst leadingWhitespaceRe = /^\\s+$/;\n/**\n * A widget which hosts a code editor.\n */\nclass CodeEditorWrapper extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__.Widget {\n /**\n * Construct a new code editor widget.\n */\n constructor(options) {\n super();\n const { factory, model, editorOptions } = options;\n const editor = (this.editor = factory({\n host: this.node,\n model,\n ...editorOptions\n }));\n editor.model.selections.changed.connect(this._onSelectionsChanged, this);\n }\n /**\n * Get the model used by the widget.\n */\n get model() {\n return this.editor.model;\n }\n /**\n * Dispose of the resources held by the widget.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this.editor.dispose();\n super.dispose();\n }\n /**\n * Handle the DOM events for the widget.\n *\n * @param event - The DOM event sent to the widget.\n *\n * #### Notes\n * This method implements the DOM `EventListener` interface and is\n * called in response to events on the notebook panel's node. It should\n * not be called directly by user code.\n */\n handleEvent(event) {\n switch (event.type) {\n case 'lm-dragenter':\n this._evtDragEnter(event);\n break;\n case 'lm-dragleave':\n this._evtDragLeave(event);\n break;\n case 'lm-dragover':\n this._evtDragOver(event);\n break;\n case 'lm-drop':\n this._evtDrop(event);\n break;\n default:\n break;\n }\n }\n /**\n * Handle `'activate-request'` messages.\n */\n onActivateRequest(msg) {\n this.editor.focus();\n }\n /**\n * A message handler invoked on an `'after-attach'` message.\n */\n onAfterAttach(msg) {\n super.onAfterAttach(msg);\n const node = this.node;\n node.addEventListener('lm-dragenter', this);\n node.addEventListener('lm-dragleave', this);\n node.addEventListener('lm-dragover', this);\n node.addEventListener('lm-drop', this);\n }\n /**\n * Handle `before-detach` messages for the widget.\n */\n onBeforeDetach(msg) {\n const node = this.node;\n node.removeEventListener('lm-dragenter', this);\n node.removeEventListener('lm-dragleave', this);\n node.removeEventListener('lm-dragover', this);\n node.removeEventListener('lm-drop', this);\n }\n /**\n * Handle a change in model selections.\n */\n _onSelectionsChanged() {\n const { start, end } = this.editor.getSelection();\n if (start.column !== end.column || start.line !== end.line) {\n // a selection was made\n this.addClass(HAS_SELECTION_CLASS);\n this.removeClass(HAS_IN_LEADING_WHITESPACE_CLASS);\n }\n else {\n // the cursor was placed\n this.removeClass(HAS_SELECTION_CLASS);\n if (this.editor\n .getLine(end.line)\n .slice(0, end.column)\n .match(leadingWhitespaceRe)) {\n this.addClass(HAS_IN_LEADING_WHITESPACE_CLASS);\n }\n else {\n this.removeClass(HAS_IN_LEADING_WHITESPACE_CLASS);\n }\n }\n }\n /**\n * Handle the `'lm-dragenter'` event for the widget.\n */\n _evtDragEnter(event) {\n if (this.editor.getOption('readOnly') === true) {\n return;\n }\n const data = Private.findTextData(event.mimeData);\n if (data === undefined) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this.addClass('jp-mod-dropTarget');\n }\n /**\n * Handle the `'lm-dragleave'` event for the widget.\n */\n _evtDragLeave(event) {\n this.removeClass(DROP_TARGET_CLASS);\n if (this.editor.getOption('readOnly') === true) {\n return;\n }\n const data = Private.findTextData(event.mimeData);\n if (data === undefined) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n }\n /**\n * Handle the `'lm-dragover'` event for the widget.\n */\n _evtDragOver(event) {\n this.removeClass(DROP_TARGET_CLASS);\n if (this.editor.getOption('readOnly') === true) {\n return;\n }\n const data = Private.findTextData(event.mimeData);\n if (data === undefined) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n event.dropAction = 'copy';\n this.addClass(DROP_TARGET_CLASS);\n }\n /**\n * Handle the `'lm-drop'` event for the widget.\n */\n _evtDrop(event) {\n if (this.editor.getOption('readOnly') === true) {\n return;\n }\n const data = Private.findTextData(event.mimeData);\n if (data === undefined) {\n return;\n }\n const coordinate = {\n top: event.y,\n bottom: event.y,\n left: event.x,\n right: event.x\n };\n const position = this.editor.getPositionForCoordinate(coordinate);\n if (position === null) {\n return;\n }\n this.removeClass(DROP_TARGET_CLASS);\n event.preventDefault();\n event.stopPropagation();\n if (event.proposedAction === 'none') {\n event.dropAction = 'none';\n return;\n }\n const offset = this.editor.getOffsetAt(position);\n this.model.sharedModel.updateSource(offset, offset, data);\n }\n}\n/**\n * A namespace for private functionality.\n */\nvar Private;\n(function (Private) {\n /**\n * Given a MimeData instance, extract the first text data, if any.\n */\n function findTextData(mime) {\n const types = mime.types();\n const textType = types.find(t => t.indexOf('text') === 0);\n if (textType === undefined) {\n return undefined;\n }\n return mime.getData(textType);\n }\n Private.findTextData = findTextData;\n})(Private || (Private = {}));\n//# sourceMappingURL=widget.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/lib/widget.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codeeditor/style/index.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codeeditor/style/index.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_statusbar_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/statusbar/style/index.js */ \"../node_modules/@jupyterlab/statusbar/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _lumino_dragdrop_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/dragdrop/style/index.js */ \"../node_modules/@lumino/dragdrop/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/codeeditor/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codeeditor/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror-extension/lib/commands.js":
+/*!************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror-extension/lib/commands.js ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ commandsPlugin: () => (/* binding */ commandsPlugin)\n/* harmony export */ });\n/* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/commands */ \"webpack/sharing/consume/default/@codemirror/commands/@codemirror/commands\");\n/* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_search__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/search */ \"webpack/sharing/consume/default/@codemirror/search/@codemirror/search\");\n/* harmony import */ var _codemirror_search__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_search__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n/**\n * Identifiers of commands.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n CommandIDs.deleteLine = 'codemirror:delete-line';\n CommandIDs.toggleBlockComment = 'codemirror:toggle-block-comment';\n CommandIDs.toggleComment = 'codemirror:toggle-comment';\n CommandIDs.selectNextOccurrence = 'codemirror:select-next-occurrence';\n CommandIDs.toggleTabFocusMode = 'codemirror:toggle-tab-focus-mode';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * Selector for CodeMirror editor with `cmView` attribute.\n */\nconst CODE_MIRROR_SELECTOR = '.cm-content';\n/**\n * The editor commands.\n */\nconst commandsPlugin = {\n id: '@jupyterlab/codemirror-extension:commands',\n description: 'Registers commands acting on selected/active CodeMirror editor.',\n autoStart: true,\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.ITranslator],\n activate: (app, translator) => {\n translator = translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator;\n const trans = translator.load('jupyterlab');\n const isCodeMirror = (node) => node.classList.contains(CODE_MIRROR_SELECTOR);\n const findEditorView = () => {\n var _a, _b;\n const node = (_a = app.contextMenuHitTest(isCodeMirror)) !== null && _a !== void 0 ? _a : (_b = document.activeElement) === null || _b === void 0 ? void 0 : _b.closest(CODE_MIRROR_SELECTOR);\n if (!node) {\n return;\n }\n if (!('cmView' in node)) {\n return;\n }\n return node.cmView.view;\n };\n const isEnabled = () => {\n return !!findEditorView();\n };\n app.commands.addCommand(CommandIDs.deleteLine, {\n label: trans.__('Delete the current line'),\n execute: () => {\n const view = findEditorView();\n if (!view) {\n return;\n }\n (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.deleteLine)(view);\n },\n isEnabled\n });\n app.commands.addCommand(CommandIDs.toggleBlockComment, {\n label: trans.__('Toggle Block Comment'),\n caption: trans.__('Toggles block comments in languages which support it (e.g. C, JavaScript)'),\n execute: () => {\n const view = findEditorView();\n if (!view) {\n return;\n }\n (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.toggleBlockComment)(view);\n },\n isEnabled\n });\n app.commands.addCommand(CommandIDs.toggleComment, {\n label: trans.__('Toggle Comment'),\n execute: () => {\n const view = findEditorView();\n if (!view) {\n return;\n }\n (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.toggleComment)(view);\n },\n isEnabled\n });\n app.commands.addCommand(CommandIDs.toggleTabFocusMode, {\n label: trans.__('Toggle Tab Focus Mode'),\n caption: trans.__('Toggles behavior of Tab key between inserting indentation and moving to next focusable element'),\n execute: () => {\n const view = findEditorView();\n if (!view) {\n return;\n }\n (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.toggleTabFocusMode)(view);\n },\n isEnabled\n });\n app.commands.addCommand(CommandIDs.selectNextOccurrence, {\n label: trans.__('Select Next Occurrence'),\n execute: () => {\n const view = findEditorView();\n if (!view) {\n return;\n }\n (0,_codemirror_search__WEBPACK_IMPORTED_MODULE_1__.selectNextOccurrence)(view);\n },\n isEnabled\n });\n }\n};\n//# sourceMappingURL=commands.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror-extension/lib/commands.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror-extension/lib/index.js":
+/*!*********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror-extension/lib/index.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ lineColItem: () => (/* binding */ lineColItem)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/application */ \"webpack/sharing/consume/default/@jupyterlab/application/@jupyterlab/application\");\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/statusbar */ \"webpack/sharing/consume/default/@jupyterlab/statusbar/@jupyterlab/statusbar\");\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _commands__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./commands */ \"../node_modules/@jupyterlab/codemirror-extension/lib/commands.js\");\n/* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./services */ \"../node_modules/@jupyterlab/codemirror-extension/lib/services.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module codemirror-extension\n */\n\n\n\n\n\n\n/**\n * A plugin providing a line/column status item to the application.\n */\nconst lineColItem = {\n id: '@jupyterlab/codemirror-extension:line-col-status',\n description: 'Provides the code editor cursor position model.',\n autoStart: true,\n requires: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.ITranslator],\n optional: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabShell, _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_2__.IStatusBar],\n provides: _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.IPositionModel,\n activate: (app, translator, labShell, statusBar) => {\n const item = new _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.LineCol(translator);\n const providers = new Set();\n if (statusBar) {\n // Add the status item to the status bar.\n statusBar.registerStatusItem(lineColItem.id, {\n priority: 1,\n item,\n align: 'right',\n rank: 2,\n isActive: () => !!item.model.editor\n });\n }\n const addEditorProvider = (provider) => {\n providers.add(provider);\n if (app.shell.currentWidget) {\n updateEditor(app.shell, {\n newValue: app.shell.currentWidget,\n oldValue: null\n });\n }\n };\n const update = () => {\n updateEditor(app.shell, {\n oldValue: app.shell.currentWidget,\n newValue: app.shell.currentWidget\n });\n };\n function updateEditor(shell, changes) {\n Promise.all([...providers].map(provider => provider(changes.newValue)))\n .then(editors => {\n var _a;\n item.model.editor =\n (_a = editors.filter(editor => editor !== null)[0]) !== null && _a !== void 0 ? _a : null;\n })\n .catch(reason => {\n console.error('Get editors', reason);\n });\n }\n if (labShell) {\n labShell.currentChanged.connect(updateEditor);\n }\n return { addEditorProvider, update };\n }\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n _commands__WEBPACK_IMPORTED_MODULE_4__.commandsPlugin,\n _services__WEBPACK_IMPORTED_MODULE_5__.languagePlugin,\n _services__WEBPACK_IMPORTED_MODULE_5__.themePlugin,\n _services__WEBPACK_IMPORTED_MODULE_5__.bindingPlugin,\n _services__WEBPACK_IMPORTED_MODULE_5__.extensionPlugin,\n _services__WEBPACK_IMPORTED_MODULE_5__.servicesPlugin,\n lineColItem\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugins);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror-extension/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror-extension/lib/services.js":
+/*!************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror-extension/lib/services.js ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bindingPlugin: () => (/* binding */ bindingPlugin),\n/* harmony export */ extensionPlugin: () => (/* binding */ extensionPlugin),\n/* harmony export */ languagePlugin: () => (/* binding */ languagePlugin),\n/* harmony export */ servicesPlugin: () => (/* binding */ servicesPlugin),\n/* harmony export */ themePlugin: () => (/* binding */ themePlugin)\n/* harmony export */ });\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/language */ \"webpack/sharing/consume/default/@codemirror/language/@codemirror/language\");\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_language__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/codemirror */ \"webpack/sharing/consume/default/@jupyterlab/codemirror/@jupyterlab/codemirror\");\n/* harmony import */ var _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _rjsf_validator_ajv8__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @rjsf/validator-ajv8 */ \"webpack/sharing/consume/default/@rjsf/validator-ajv8/@rjsf/validator-ajv8\");\n/* harmony import */ var _rjsf_validator_ajv8__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_rjsf_validator_ajv8__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n\n\n\n\n\n\n/**\n * CodeMirror settings plugin ID\n */\nconst SETTINGS_ID = '@jupyterlab/codemirror-extension:plugin';\n/**\n * CodeMirror language registry provider.\n */\nconst languagePlugin = {\n id: '@jupyterlab/codemirror-extension:languages',\n description: 'Provides the CodeMirror languages registry.',\n provides: _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.IEditorLanguageRegistry,\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.ITranslator],\n activate: (app, translator) => {\n const languages = new _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.EditorLanguageRegistry();\n // Register default languages\n for (const language of _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.EditorLanguageRegistry.getDefaultLanguages(translator)) {\n languages.addLanguage(language);\n }\n // Add Jupyter Markdown flavor here to support\n // code block highlighting.\n languages.addLanguage({\n name: 'ipythongfm',\n mime: 'text/x-ipythongfm',\n load: async () => {\n const [m, py, tex] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"webpack_sharing_consume_default_codemirror_lang-markdown_codemirror_lang-markdown\").then(__webpack_require__.t.bind(__webpack_require__, /*! @codemirror/lang-markdown */ \"webpack/sharing/consume/default/@codemirror/lang-markdown/@codemirror/lang-markdown\", 23)),\n Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_codemirror_autocomplete_dist_index_js-node_modules_lezer_lr_dist_index_js\"), __webpack_require__.e(\"vendors-node_modules_codemirror_lang-python_dist_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_codemirror_view_codemirror_view\"), __webpack_require__.e(\"webpack_sharing_consume_default_codemirror_state_codemirror_state\"), __webpack_require__.e(\"webpack_sharing_consume_default_lezer_common_lezer_common\"), __webpack_require__.e(\"webpack_sharing_consume_default_lezer_highlight_lezer_highlight\")]).then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-python */ \"../node_modules/@codemirror/lang-python/dist/index.js\")),\n __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_stex_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/stex */ \"../node_modules/@codemirror/legacy-modes/mode/stex.js\"))\n ]);\n const mdlang = m.markdown({\n base: m.markdownLanguage,\n codeLanguages: (info) => languages.findBest(info),\n extensions: [\n (0,_jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.parseMathIPython)(_codemirror_language__WEBPACK_IMPORTED_MODULE_0__.StreamLanguage.define(tex.stexMath).parser)\n ]\n });\n return new _codemirror_language__WEBPACK_IMPORTED_MODULE_0__.LanguageSupport(mdlang.language, [\n mdlang.support,\n (0,_jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.pythonBuiltin)(py.pythonLanguage)\n ]);\n }\n });\n return languages;\n }\n};\n/**\n * CodeMirror theme registry provider.\n */\nconst themePlugin = {\n id: '@jupyterlab/codemirror-extension:themes',\n description: 'Provides the CodeMirror theme registry',\n provides: _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.IEditorThemeRegistry,\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.ITranslator],\n activate: (app, translator) => {\n const themes = new _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.EditorThemeRegistry();\n // Register default themes\n for (const theme of _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.EditorThemeRegistry.getDefaultThemes(translator)) {\n themes.addTheme(theme);\n }\n return themes;\n }\n};\n/**\n * CodeMirror editor extensions registry provider.\n */\nconst extensionPlugin = {\n id: '@jupyterlab/codemirror-extension:extensions',\n description: 'Provides the CodeMirror extension factory registry.',\n provides: _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.IEditorExtensionRegistry,\n requires: [_jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.IEditorThemeRegistry],\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.ITranslator, _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__.ISettingRegistry, _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_5__.IFormRendererRegistry],\n activate: (app, themes, translator, settingRegistry, formRegistry) => {\n const registry = new _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.EditorExtensionRegistry();\n // Register default extensions\n for (const extensionFactory of _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.EditorExtensionRegistry.getDefaultExtensions({\n themes,\n translator\n })) {\n registry.addExtension(extensionFactory);\n }\n if (settingRegistry) {\n const updateSettings = (settings) => {\n var _a;\n registry.baseConfiguration =\n (_a = settings.get('defaultConfig').composite) !== null && _a !== void 0 ? _a : {};\n };\n void Promise.all([\n settingRegistry.load(SETTINGS_ID),\n app.restored\n ]).then(([settings]) => {\n updateSettings(settings);\n settings.changed.connect(updateSettings);\n });\n formRegistry === null || formRegistry === void 0 ? void 0 : formRegistry.addRenderer(`${SETTINGS_ID}.defaultConfig`, {\n fieldRenderer: (props) => {\n const properties = react__WEBPACK_IMPORTED_MODULE_8___default().useMemo(() => registry.settingsSchema, []);\n const defaultFormData = {};\n // Only provide customizable options\n for (const [key, value] of Object.entries(registry.defaultConfiguration)) {\n if (typeof properties[key] !== 'undefined') {\n defaultFormData[key] = value;\n }\n }\n return (react__WEBPACK_IMPORTED_MODULE_8___default().createElement(\"div\", { className: \"jp-FormGroup-contentNormal\" },\n react__WEBPACK_IMPORTED_MODULE_8___default().createElement(\"h3\", { className: \"jp-FormGroup-fieldLabel jp-FormGroup-contentItem\" }, props.schema.title),\n props.schema.description && (react__WEBPACK_IMPORTED_MODULE_8___default().createElement(\"div\", { className: \"jp-FormGroup-description\" }, props.schema.description)),\n react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_5__.FormComponent, { schema: {\n title: props.schema.title,\n description: props.schema.description,\n type: 'object',\n properties,\n additionalProperties: false\n }, validator: (_rjsf_validator_ajv8__WEBPACK_IMPORTED_MODULE_7___default()), formData: { ...defaultFormData, ...props.formData }, formContext: { defaultFormData }, liveValidate: true, onChange: e => {\n var _a;\n // Only save non-default values\n const nonDefault = {};\n for (const [property, value] of Object.entries((_a = e.formData) !== null && _a !== void 0 ? _a : {})) {\n const default_ = defaultFormData[property];\n if (default_ === undefined ||\n !_lumino_coreutils__WEBPACK_IMPORTED_MODULE_6__.JSONExt.deepEqual(value, default_)) {\n nonDefault[property] = value;\n }\n }\n props.onChange(nonDefault);\n }, tagName: \"div\", translator: translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.nullTranslator })));\n }\n });\n }\n return registry;\n }\n};\n/**\n * CodeMirror shared model binding provider.\n */\nconst bindingPlugin = {\n id: '@jupyterlab/codemirror-extension:binding',\n description: 'Register the CodeMirror extension factory binding the editor and the shared model.',\n autoStart: true,\n requires: [_jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.IEditorExtensionRegistry],\n activate: (app, extensions) => {\n extensions.addExtension({\n name: 'shared-model-binding',\n factory: options => {\n var _a;\n const sharedModel = options.model.sharedModel;\n return _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.EditorExtensionRegistry.createImmutableExtension((0,_jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.ybinding)({\n ytext: sharedModel.ysource,\n undoManager: (_a = sharedModel.undoManager) !== null && _a !== void 0 ? _a : undefined\n }));\n }\n });\n }\n};\n/**\n * The editor services.\n */\nconst servicesPlugin = {\n id: '@jupyterlab/codemirror-extension:services',\n description: 'Provides the service to instantiate CodeMirror editors.',\n provides: _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.IEditorServices,\n requires: [_jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.IEditorLanguageRegistry, _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.IEditorExtensionRegistry],\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.ITranslator],\n activate: (app, languages, extensions, translator) => {\n const factory = new _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.CodeMirrorEditorFactory({\n extensions,\n languages,\n translator: translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.nullTranslator\n });\n return {\n factoryService: factory,\n mimeTypeService: new _jupyterlab_codemirror__WEBPACK_IMPORTED_MODULE_2__.CodeMirrorMimeTypeService(languages)\n };\n }\n};\n//# sourceMappingURL=services.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror-extension/lib/services.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror-extension/style/index.js":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror-extension/style/index.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_statusbar_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/statusbar/style/index.js */ \"../node_modules/@jupyterlab/statusbar/style/index.js\");\n/* harmony import */ var _jupyterlab_codeeditor_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/codeeditor/style/index.js */ \"../node_modules/@jupyterlab/codeeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_codemirror_style_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/codemirror/style/index.js */ \"../node_modules/@jupyterlab/codemirror/style/index.js\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror-extension/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/commands.js":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/commands.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StateCommands: () => (/* binding */ StateCommands)\n/* harmony export */ });\n/* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/commands */ \"webpack/sharing/consume/default/@codemirror/commands/@codemirror/commands\");\n/* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n/**\n * Selector for a widget that can run code.\n */\nconst CODE_RUNNER_SELECTOR = '[data-jp-code-runner]';\n/**\n * Selector for a widget that can run code in terminal mode.\n */\nconst TERMINAL_CODE_RUNNER_SELECTOR = '[data-jp-interaction-mode=\"terminal\"]';\n/**\n * Selector for a widget that can open a tooltip.\n */\nconst TOOLTIP_OPENER_SELECTOR = '.jp-CodeMirrorEditor:not(.jp-mod-has-primary-selection):not(.jp-mod-in-leading-whitespace):not(.jp-mod-completer-active)';\n/**\n * Selector for an active cell in edit mode.\n */\nconst ACTIVE_CELL_IN_EDIT_MODE_SELECTOR = '.jp-mod-editMode .jp-Cell.jp-mod-active';\n/**\n * CodeMirror commands namespace\n */\nvar StateCommands;\n(function (StateCommands) {\n /**\n * Indent or insert a tab as appropriate.\n */\n function indentMoreOrInsertTab(target) {\n var _a;\n let classList = (_a = target.dom.parentElement) === null || _a === void 0 ? void 0 : _a.classList;\n let completerEnabled = classList === null || classList === void 0 ? void 0 : classList.contains(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.COMPLETER_ENABLED_CLASS);\n let lineBeggining = classList === null || classList === void 0 ? void 0 : classList.contains(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.COMPLETER_LINE_BEGINNING_CLASS);\n if (completerEnabled && !lineBeggining) {\n return false;\n }\n const arg = { state: target.state, dispatch: target.dispatch };\n const from = target.state.selection.main.from;\n const to = target.state.selection.main.to;\n if (from != to) {\n return (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.indentMore)(arg);\n }\n const line = target.state.doc.lineAt(from);\n const before = target.state.doc.slice(line.from, from).toString();\n if (/^\\s*$/.test(before)) {\n return (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.indentMore)(arg);\n }\n else {\n return (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.insertTab)(arg);\n }\n }\n StateCommands.indentMoreOrInsertTab = indentMoreOrInsertTab;\n /**\n * Insert new line if completer is not active.\n */\n function completerOrInsertNewLine(target) {\n var _a;\n if ((_a = target.dom.parentElement) === null || _a === void 0 ? void 0 : _a.classList.contains(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.COMPLETER_ACTIVE_CLASS)) {\n // do not prevent default to allow completer `enter` action\n return false;\n }\n if (target.dom.closest(TERMINAL_CODE_RUNNER_SELECTOR)) {\n // do not prevent default to allow for the cell to run\n return false;\n }\n const arg = { state: target.state, dispatch: target.dispatch };\n return (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.insertNewlineAndIndent)(arg);\n }\n StateCommands.completerOrInsertNewLine = completerOrInsertNewLine;\n /**\n * Prevent insertion of new line when running cell with Ctrl/Command + Enter\n * @deprecated\n */\n function preventNewLineOnRun(target) {\n if (target.dom.closest(CODE_RUNNER_SELECTOR)) {\n return true;\n }\n return false;\n }\n StateCommands.preventNewLineOnRun = preventNewLineOnRun;\n /**\n * Insert a new line or run a cell with Ctrl/Command + Enter\n */\n function insertBlankLineOnRun(target) {\n if (target.dom.closest(CODE_RUNNER_SELECTOR)) {\n // do not prevent default to allow `run` action to be handled by lumino\n return false;\n }\n else {\n const arg = { state: target.state, dispatch: target.dispatch };\n return (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.insertBlankLine)(arg);\n }\n }\n StateCommands.insertBlankLineOnRun = insertBlankLineOnRun;\n /**\n * Simplify selection but do not prevent default to allow switching to command mode.\n */\n function simplifySelectionAndMaybeSwitchToCommandMode(target) {\n const arg = { state: target.state, dispatch: target.dispatch };\n const preventDefault = (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.simplifySelection)(arg);\n if (target.dom.closest(ACTIVE_CELL_IN_EDIT_MODE_SELECTOR)) {\n // do not prevent default to allow switching to command mode\n return false;\n }\n else {\n return preventDefault;\n }\n }\n StateCommands.simplifySelectionAndMaybeSwitchToCommandMode = simplifySelectionAndMaybeSwitchToCommandMode;\n /**\n * Prevent dedenting when launching inspection request (a.k.a tooltip).\n *\n * This function should be removed once a better way to prevent default\n * CodeMirror commands is implemented, as tracked in\n * https://github.com/jupyterlab/jupyterlab/issues/15897\n */\n function dedentIfNotLaunchingTooltip(target) {\n if (target.dom.closest(TOOLTIP_OPENER_SELECTOR)) {\n return false;\n }\n return (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.indentLess)(target);\n }\n StateCommands.dedentIfNotLaunchingTooltip = dedentIfNotLaunchingTooltip;\n})(StateCommands || (StateCommands = {}));\n//# sourceMappingURL=commands.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/commands.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/editor.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/editor.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeMirrorEditor: () => (/* binding */ CodeMirrorEditor)\n/* harmony export */ });\n/* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/commands */ \"webpack/sharing/consume/default/@codemirror/commands/@codemirror/commands\");\n/* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/language */ \"webpack/sharing/consume/default/@codemirror/language/@codemirror/language\");\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_language__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _extension__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./extension */ \"../node_modules/@jupyterlab/codemirror/lib/extension.js\");\n/* harmony import */ var _language__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./language */ \"../node_modules/@jupyterlab/codemirror/lib/language.js\");\n/* eslint-disable @typescript-eslint/ban-types */\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n/**\n * The class name added to CodeMirrorWidget instances.\n */\nconst EDITOR_CLASS = 'jp-CodeMirrorEditor';\n/**\n * The key code for the up arrow key.\n */\nconst UP_ARROW = 38;\n/**\n * The key code for the down arrow key.\n */\nconst DOWN_ARROW = 40;\n/**\n * CodeMirror editor.\n */\nclass CodeMirrorEditor {\n /**\n * Construct a CodeMirror editor.\n */\n constructor(options) {\n var _a, _b, _c, _d, _e, _f;\n /**\n * A signal emitted when either the top or bottom edge is requested.\n */\n this.edgeRequested = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_5__.Signal(this);\n this._isDisposed = false;\n this._language = new _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.Compartment();\n this._uuid = '';\n this._languages = (_a = options.languages) !== null && _a !== void 0 ? _a : new _language__WEBPACK_IMPORTED_MODULE_7__.EditorLanguageRegistry();\n this._configurator =\n (_d = (_b = options.extensionsRegistry) === null || _b === void 0 ? void 0 : _b.createNew({\n ...options,\n inline: (_c = options.inline) !== null && _c !== void 0 ? _c : false\n })) !== null && _d !== void 0 ? _d : new _extension__WEBPACK_IMPORTED_MODULE_6__.ExtensionsHandler();\n const host = (this.host = options.host);\n host.classList.add(EDITOR_CLASS);\n host.classList.add('jp-Editor');\n host.addEventListener('focus', this, true);\n host.addEventListener('blur', this, true);\n host.addEventListener('scroll', this, true);\n this._uuid = (_e = options.uuid) !== null && _e !== void 0 ? _e : _lumino_coreutils__WEBPACK_IMPORTED_MODULE_4__.UUID.uuid4();\n const model = (this._model = options.model);\n // Default keydown handler - it will have low priority\n const onKeyDown = _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.domEventHandlers({\n keydown: (event, view) => {\n return this.onKeydown(event);\n }\n });\n const updateListener = _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.updateListener.of((update) => {\n this._onDocChanged(update);\n });\n this._editor = Private.createEditor(host, this._configurator, [\n // We need to set the order to high, otherwise the keybinding for ArrowUp/ArrowDown\n // will process the event shunting our edge detection code.\n _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.Prec.high(onKeyDown),\n updateListener,\n // Initialize with empty extension\n this._language.of([]),\n ...((_f = options.extensions) !== null && _f !== void 0 ? _f : [])\n ], model.sharedModel.source);\n this._onMimeTypeChanged();\n this._onCursorActivity();\n this._configurator.configChanged.connect(this.onConfigChanged, this);\n model.mimeTypeChanged.connect(this._onMimeTypeChanged, this);\n }\n /**\n * The uuid of this editor;\n */\n get uuid() {\n return this._uuid;\n }\n set uuid(value) {\n this._uuid = value;\n }\n /**\n * Get the codemirror editor wrapped by the editor.\n */\n get editor() {\n return this._editor;\n }\n /**\n * Get the codemirror doc wrapped by the widget.\n */\n get doc() {\n return this._editor.state.doc;\n }\n /**\n * Get the number of lines in the editor.\n */\n get lineCount() {\n return this.doc.lines;\n }\n /**\n * Returns a model for this editor.\n */\n get model() {\n return this._model;\n }\n /**\n * The height of a line in the editor in pixels.\n */\n get lineHeight() {\n return this._editor.defaultLineHeight;\n }\n /**\n * The widget of a character in the editor in pixels.\n */\n get charWidth() {\n return this._editor.defaultCharacterWidth;\n }\n /**\n * Tests whether the editor is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the widget.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n this.host.removeEventListener('focus', this, true);\n this.host.removeEventListener('blur', this, true);\n this.host.removeEventListener('scroll', this, true);\n this._configurator.dispose();\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_5__.Signal.clearData(this);\n this.editor.destroy();\n }\n /**\n * Get a config option for the editor.\n */\n getOption(option) {\n return this._configurator.getOption(option);\n }\n /**\n * Whether the option exists or not.\n */\n hasOption(option) {\n return this._configurator.hasOption(option);\n }\n /**\n * Set a config option for the editor.\n */\n setOption(option, value) {\n this._configurator.setOption(option, value);\n }\n /**\n * Set config options for the editor.\n *\n * This method is preferred when setting several options. The\n * options are set within an operation, which only performs\n * the costly update at the end, and not after every option\n * is set.\n */\n setOptions(options) {\n this._configurator.setOptions(options);\n }\n /**\n * Set a base config options for the editor.\n */\n setBaseOptions(options) {\n this._configurator.setBaseOptions(options);\n }\n /**\n * Inject an extension into the editor\n *\n * @alpha\n * @experimental\n * @param ext CodeMirror 6 extension\n */\n injectExtension(ext) {\n this._configurator.injectExtension(this._editor, ext);\n }\n /**\n * Returns the content for the given line number.\n */\n getLine(line) {\n // TODO: CM6 remove +1 when CM6 first line number has propagated\n line = line + 1;\n return line <= this.doc.lines ? this.doc.line(line).text : undefined;\n }\n /**\n * Find an offset for the given position.\n */\n getOffsetAt(position) {\n // TODO: CM6 remove +1 when CM6 first line number has propagated\n return this.doc.line(position.line + 1).from + position.column;\n }\n /**\n * Find a position for the given offset.\n */\n getPositionAt(offset) {\n // TODO: CM6 remove -1 when CM6 first line number has propagated\n const line = this.doc.lineAt(offset);\n return { line: line.number - 1, column: offset - line.from };\n }\n /**\n * Undo one edit (if any undo events are stored).\n */\n undo() {\n this.model.sharedModel.undo();\n }\n /**\n * Redo one undone edit.\n */\n redo() {\n this.model.sharedModel.redo();\n }\n /**\n * Clear the undo history.\n */\n clearHistory() {\n this.model.sharedModel.clearUndoHistory();\n }\n /**\n * Brings browser focus to this editor text.\n */\n focus() {\n this._editor.focus();\n }\n /**\n * Test whether the editor has keyboard focus.\n */\n hasFocus() {\n return this._editor.hasFocus;\n }\n /**\n * Explicitly blur the editor.\n */\n blur() {\n this._editor.contentDOM.blur();\n }\n get state() {\n return this._editor.state;\n }\n firstLine() {\n // TODO: return 1 when CM6 first line number has propagated\n return 0;\n }\n lastLine() {\n return this.doc.lines - 1;\n }\n cursorCoords(where, mode) {\n const selection = this.state.selection.main;\n const pos = where ? selection.from : selection.to;\n const rect = this.editor.coordsAtPos(pos);\n return rect;\n }\n getRange(from, to, separator) {\n const fromOffset = this.getOffsetAt(this._toPosition(from));\n const toOffset = this.getOffsetAt(this._toPosition(to));\n return this.state.sliceDoc(fromOffset, toOffset);\n }\n /**\n * Reveal the given position in the editor.\n */\n revealPosition(position) {\n const offset = this.getOffsetAt(position);\n this._editor.dispatch({\n effects: _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.scrollIntoView(offset)\n });\n }\n /**\n * Reveal the given selection in the editor.\n */\n revealSelection(selection) {\n const start = this.getOffsetAt(selection.start);\n const end = this.getOffsetAt(selection.end);\n this._editor.dispatch({\n effects: _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.scrollIntoView(_codemirror_state__WEBPACK_IMPORTED_MODULE_2__.EditorSelection.range(start, end))\n });\n }\n /**\n * Get the window coordinates given a cursor position.\n */\n getCoordinateForPosition(position) {\n const offset = this.getOffsetAt(position);\n const rect = this.editor.coordsAtPos(offset);\n return rect;\n }\n /**\n * Get the cursor position given window coordinates.\n *\n * @param coordinate - The desired coordinate.\n *\n * @returns The position of the coordinates, or null if not\n * contained in the editor.\n */\n getPositionForCoordinate(coordinate) {\n const offset = this.editor.posAtCoords({\n x: coordinate.left,\n y: coordinate.top\n });\n return this.getPositionAt(offset) || null;\n }\n /**\n * Returns the primary position of the cursor, never `null`.\n */\n getCursorPosition() {\n const offset = this.state.selection.main.head;\n return this.getPositionAt(offset);\n }\n /**\n * Set the primary position of the cursor.\n *\n * #### Notes\n * This will remove any secondary cursors.\n *\n * @deprecated options bias and origin are not used\n */\n setCursorPosition(position, options = {}) {\n const offset = this.getOffsetAt(position);\n this.editor.dispatch({\n selection: { anchor: offset },\n scrollIntoView: options.scroll === false ? false : true\n });\n // If the editor does not have focus, this cursor change\n // will get screened out in _onCursorsChanged(). Make an\n // exception for this method.\n if (!this.editor.hasFocus) {\n this.model.selections.set(this.uuid, this.getSelections());\n }\n }\n /**\n * Returns the primary selection, never `null`.\n */\n getSelection() {\n return this.getSelections()[0];\n }\n /**\n * Set the primary selection. This will remove any secondary cursors.\n */\n setSelection(selection) {\n this.setSelections([selection]);\n }\n /**\n * Gets the selections for all the cursors, never `null` or empty.\n */\n getSelections() {\n const selections = this.state.selection.ranges; //= [{anchor: number, head: number}]\n if (selections.length > 0) {\n const sel = selections.map(r => ({\n anchor: this._toCodeMirrorPosition(this.getPositionAt(r.from)),\n head: this._toCodeMirrorPosition(this.getPositionAt(r.to))\n }));\n return sel.map(selection => this._toSelection(selection));\n }\n const cursor = this._toCodeMirrorPosition(this.getPositionAt(this.state.selection.main.head));\n const selection = this._toSelection({ anchor: cursor, head: cursor });\n return [selection];\n }\n /**\n * Sets the selections for all the cursors, should not be empty.\n * Cursors will be removed or added, as necessary.\n * Passing an empty array resets a cursor position to the start of a document.\n */\n setSelections(selections) {\n const sel = selections.length\n ? selections.map(r => _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.EditorSelection.range(this.getOffsetAt(r.start), this.getOffsetAt(r.end)))\n : [_codemirror_state__WEBPACK_IMPORTED_MODULE_2__.EditorSelection.range(0, 0)];\n this.editor.dispatch({ selection: _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.EditorSelection.create(sel) });\n }\n /**\n * Replaces the current selection with the given text.\n *\n * Behaviour for multiple selections is undefined.\n *\n * @param text The text to be inserted.\n */\n replaceSelection(text) {\n const firstSelection = this.getSelections()[0];\n this.model.sharedModel.updateSource(this.getOffsetAt(firstSelection.start), this.getOffsetAt(firstSelection.end), text);\n const newPosition = this.getPositionAt(this.getOffsetAt(firstSelection.start) + text.length);\n this.setSelection({ start: newPosition, end: newPosition });\n }\n /**\n * Get a list of tokens for the current editor text content.\n */\n getTokens() {\n const tokens = [];\n const tree = (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_1__.ensureSyntaxTree)(this.state, this.doc.length);\n if (tree) {\n tree.iterate({\n enter: (ref) => {\n if (ref.node.firstChild === null) {\n tokens.push({\n value: this.state.sliceDoc(ref.from, ref.to),\n offset: ref.from,\n type: ref.name\n });\n }\n return true;\n }\n });\n }\n return tokens;\n }\n /**\n * Get the token at a given editor position.\n */\n getTokenAt(offset) {\n const tree = (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_1__.ensureSyntaxTree)(this.state, offset);\n let token = null;\n if (tree) {\n tree.iterate({\n enter: (ref) => {\n // If a token has already been discovered, stop iterating.\n if (token) {\n return false;\n }\n // If it is not a leaf, keep iterating.\n if (ref.node.firstChild) {\n return true;\n }\n // If the relevant leaf token has been found, stop iterating.\n if (offset >= ref.from && offset <= ref.to) {\n let currentNode = ref;\n // The syntax tree of the code lines ending with an incomplete string creates an erronous\n // child of the last node, in this case the parent should be considered for the token.\n if (ref.name === '⚠' && ref.from === ref.to && ref.node.parent) {\n currentNode = ref.node.parent;\n }\n token = {\n value: this.state.sliceDoc(currentNode.from, currentNode.to),\n offset: currentNode.from,\n type: currentNode.name\n };\n return false;\n }\n return true;\n }\n });\n }\n return token || { offset, value: '' };\n }\n /**\n * Get the token a the cursor position.\n */\n getTokenAtCursor() {\n return this.getTokenAt(this.state.selection.main.head);\n }\n /**\n * Insert a new indented line at the current cursor position.\n */\n newIndentedLine() {\n (0,_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.insertNewlineAndIndent)({\n state: this.state,\n dispatch: this.editor.dispatch\n });\n }\n /**\n * Execute a codemirror command on the editor.\n *\n * @param command - The name of the command to execute.\n */\n execCommand(command) {\n command(this.editor);\n }\n onConfigChanged(configurator, changes) {\n const definedChanges = Object.keys(changes).reduce((agg, key) => {\n if (changes[key] != undefined) {\n agg[key] = changes[key];\n }\n return agg;\n }, {});\n configurator.reconfigureExtensions(this._editor, definedChanges);\n // when customStyles change and the editor is not initialized\n if (changes['customStyles'] && !changes['fontSize']) {\n // update the state to change the gutter height\n this.editor.setState(this.editor.state);\n }\n }\n /**\n * Handle keydown events from the editor.\n */\n onKeydown(event) {\n const position = this.state.selection.main.head;\n if (position === 0 && event.keyCode === UP_ARROW) {\n if (!event.shiftKey) {\n this.edgeRequested.emit('top');\n }\n return false;\n }\n const line = this.doc.lineAt(position).number;\n if (line === 1 && event.keyCode === UP_ARROW) {\n if (!event.shiftKey) {\n this.edgeRequested.emit('topLine');\n }\n return false;\n }\n const length = this.doc.length;\n if (position === length && event.keyCode === DOWN_ARROW) {\n if (!event.shiftKey) {\n this.edgeRequested.emit('bottom');\n }\n return false;\n }\n return false;\n }\n /**\n * Handles a mime type change.\n */\n _onMimeTypeChanged() {\n // TODO: should we provide a hook for when the mode is done being set?\n this._languages\n .getLanguage(this._model.mimeType)\n .then(language => {\n var _a;\n this._editor.dispatch({\n effects: this._language.reconfigure((_a = language === null || language === void 0 ? void 0 : language.support) !== null && _a !== void 0 ? _a : [])\n });\n })\n .catch(reason => {\n console.log(`Failed to load language for '${this._model.mimeType}'.`, reason);\n this._editor.dispatch({\n effects: this._language.reconfigure([])\n });\n });\n }\n /**\n * Handles a cursor activity event.\n */\n _onCursorActivity() {\n // Only add selections if the editor has focus. This avoids unwanted\n // triggering of cursor activity due to collaborator actions.\n if (this._editor.hasFocus) {\n const selections = this.getSelections();\n this.model.selections.set(this.uuid, selections);\n }\n }\n /**\n * Converts a code mirror selection to an editor selection.\n */\n _toSelection(selection) {\n return {\n uuid: this.uuid,\n start: this._toPosition(selection.anchor),\n end: this._toPosition(selection.head)\n };\n }\n /**\n * Convert a code mirror position to an editor position.\n */\n _toPosition(position) {\n return {\n line: position.line,\n column: position.ch\n };\n }\n /**\n * Convert an editor position to a code mirror position.\n */\n _toCodeMirrorPosition(position) {\n return {\n line: position.line,\n ch: position.column\n };\n }\n /**\n * Handles document changes.\n */\n _onDocChanged(update) {\n if (update.transactions.length && update.transactions[0].selection) {\n this._onCursorActivity();\n }\n }\n /**\n * Handle the DOM events for the editor.\n *\n * @param event - The DOM event sent to the editor.\n *\n * #### Notes\n * This method implements the DOM `EventListener` interface and is\n * called in response to events on the editor's DOM node. It should\n * not be called directly by user code.\n */\n handleEvent(event) {\n switch (event.type) {\n case 'focus':\n this._evtFocus(event);\n break;\n case 'blur':\n this._evtBlur(event);\n break;\n default:\n break;\n }\n }\n /**\n * Handle `focus` events for the editor.\n */\n _evtFocus(event) {\n this.host.classList.add('jp-mod-focused');\n // Update the selections on editor gaining focus because\n // the onCursorActivity function filters usual cursor events\n // based on the editor's focus.\n this._onCursorActivity();\n }\n /**\n * Handle `blur` events for the editor.\n */\n _evtBlur(event) {\n this.host.classList.remove('jp-mod-focused');\n }\n}\n/**\n * The namespace for module private data.\n */\nvar Private;\n(function (Private) {\n function createEditor(host, editorConfig, additionalExtensions, doc) {\n const extensions = editorConfig.getInitialExtensions();\n extensions.push(...additionalExtensions);\n const view = new _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView({\n state: _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.EditorState.create({\n doc,\n extensions\n }),\n parent: host\n });\n return view;\n }\n Private.createEditor = createEditor;\n})(Private || (Private = {}));\n//# sourceMappingURL=editor.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/editor.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/extension.js":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/extension.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EditorExtensionRegistry: () => (/* binding */ EditorExtensionRegistry),\n/* harmony export */ ExtensionsHandler: () => (/* binding */ ExtensionsHandler)\n/* harmony export */ });\n/* harmony import */ var _codemirror_autocomplete__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @codemirror/autocomplete */ \"../node_modules/@codemirror/autocomplete/dist/index.js\");\n/* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/commands */ \"webpack/sharing/consume/default/@codemirror/commands/@codemirror/commands\");\n/* harmony import */ var _codemirror_commands__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_commands__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/language */ \"webpack/sharing/consume/default/@codemirror/language/@codemirror/language\");\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_language__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _commands__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./commands */ \"../node_modules/@jupyterlab/codemirror/lib/commands.js\");\n/* harmony import */ var _extensions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./extensions */ \"../node_modules/@jupyterlab/codemirror/lib/extensions/index.js\");\n/* harmony import */ var _codemirror_search__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @codemirror/search */ \"webpack/sharing/consume/default/@codemirror/search/@codemirror/search\");\n/* harmony import */ var _codemirror_search__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_codemirror_search__WEBPACK_IMPORTED_MODULE_9__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The class name added to read only editor widgets.\n */\nconst READ_ONLY_CLASS = 'jp-mod-readOnly';\n/**\n * Editor configuration handler\n *\n * It stores the editor configuration and the editor extensions.\n * It also allows to inject new extensions into an editor.\n */\nclass ExtensionsHandler {\n constructor({ baseConfiguration, config, defaultExtensions } = {}) {\n this._configChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__.Signal(this);\n this._disposed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__.Signal(this);\n this._isDisposed = false;\n this._immutables = new Set();\n this._baseConfig = baseConfiguration !== null && baseConfiguration !== void 0 ? baseConfiguration : {};\n this._config = config !== null && config !== void 0 ? config : {};\n this._configurableBuilderMap = new Map(defaultExtensions);\n const configurables = Object.keys(this._config).concat(Object.keys(this._baseConfig));\n this._immutables = new Set([...this._configurableBuilderMap.keys()].filter(key => !configurables.includes(key)));\n }\n /**\n * Signal triggered when the editor configuration changes.\n * It provides the mapping of the new configuration (only those that changed).\n *\n * It should result in a call to `IExtensionsHandler.reconfigureExtensions`.\n */\n get configChanged() {\n return this._configChanged;\n }\n /**\n * A signal emitted when the object is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * Tests whether the object is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the object.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._disposed.emit();\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__.Signal.clearData(this);\n }\n /**\n * Get a config option for the editor.\n */\n getOption(option) {\n var _a;\n return (_a = this._config[option]) !== null && _a !== void 0 ? _a : this._baseConfig[option];\n }\n /**\n * Whether the option exists or not.\n */\n hasOption(option) {\n return (Object.keys(this._config).includes(option) ||\n Object.keys(this._baseConfig).includes(option));\n }\n /**\n * Set a config option for the editor.\n *\n * You will need to reconfigure the editor extensions by listening\n * to `IExtensionsHandler.configChanged`.\n */\n setOption(option, value) {\n // Don't bother setting the option if it is already the same.\n if (this._config[option] !== value) {\n this._config[option] = value;\n this._configChanged.emit({ [option]: value });\n }\n }\n /**\n * Set a base config option for the editor.\n *\n * You will need to reconfigure the editor extensions by listening\n * to `IExtensionsHandler.configChanged`.\n */\n setBaseOptions(options) {\n // Change values of baseConfig\n const changed = this._getChangedOptions(options, this._baseConfig);\n if (changed.length > 0) {\n this._baseConfig = options;\n const customizedKeys = Object.keys(this._config);\n const notOverridden = changed.filter(k => !customizedKeys.includes(k));\n if (notOverridden.length > 0) {\n this._configChanged.emit(notOverridden.reduce((agg, key) => {\n agg[key] = this._baseConfig[key];\n return agg;\n }, {}));\n }\n }\n // Change values of config keys if present in options\n for (const key of Object.keys(options)) {\n if (key in this._config && this._config[key] != options[key]) {\n this.setOption(key, options[key]);\n }\n }\n }\n /**\n * Set config options for the editor.\n *\n * You will need to reconfigure the editor extensions by listening\n * to `EditorHandler.configChanged`.\n *\n * This method is preferred when setting several options. The\n * options are set within an operation, which only performs\n * the costly update at the end, and not after every option\n * is set.\n */\n setOptions(options) {\n const changed = this._getChangedOptions(options, this._config);\n if (changed.length > 0) {\n this._config = { ...options };\n this._configChanged.emit(changed.reduce((agg, key) => {\n var _a;\n agg[key] = (_a = this._config[key]) !== null && _a !== void 0 ? _a : this._baseConfig[key];\n return agg;\n }, {}));\n }\n }\n /**\n * Reconfigures the extension mapped with key with the provided value.\n *\n * @param view Editor view\n * @param key Parameter unique key\n * @param value Parameter value to be applied\n */\n reconfigureExtension(view, key, value) {\n const effect = this.getEffect(view.state, key, value);\n if (effect) {\n view.dispatch({\n effects: [effect]\n });\n }\n }\n /**\n * Reconfigures all the extensions mapped with the options from the\n * provided partial configuration.\n *\n * @param view Editor view\n * @param configuration Editor configuration\n */\n reconfigureExtensions(view, configuration) {\n const effects = Object.keys(configuration)\n .filter(key => this.has(key))\n .map(key => this.getEffect(view.state, key, configuration[key]));\n view.dispatch({\n effects: effects.filter(effect => effect !== null)\n });\n }\n /**\n * Appends extensions to the top-level configuration of the\n * editor.\n *\n * Injected extension cannot be removed.\n *\n * ### Notes\n * You should prefer registering a IEditorExtensionFactory instead\n * of this feature.\n *\n * @alpha\n * @param view Editor view\n * @param extension Editor extension to inject\n */\n injectExtension(view, extension) {\n view.dispatch({\n effects: _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.StateEffect.appendConfig.of(extension)\n });\n }\n /**\n * Returns the list of initial extensions of an editor\n * based on the configuration.\n *\n * @returns The initial editor extensions\n */\n getInitialExtensions() {\n const configuration = { ...this._baseConfig, ...this._config };\n const extensions = [...this._immutables]\n .map(key => { var _a; return (_a = this.get(key)) === null || _a === void 0 ? void 0 : _a.instance(undefined); })\n .filter(ext => ext);\n for (const k of Object.keys(configuration)) {\n const builder = this.get(k);\n if (builder) {\n const value = configuration[k];\n extensions.push(builder.instance(value));\n }\n }\n return extensions;\n }\n /**\n * Get a extension builder\n * @param key Extension unique identifier\n * @returns The extension builder\n */\n get(key) {\n return this._configurableBuilderMap.get(key);\n }\n /**\n * Whether the editor has an extension for the identifier.\n *\n * @param key Extension unique identifier\n * @returns Extension existence\n */\n has(key) {\n return this._configurableBuilderMap.has(key);\n }\n getEffect(state, key, value) {\n var _a;\n const builder = this.get(key);\n return (_a = builder === null || builder === void 0 ? void 0 : builder.reconfigure(value)) !== null && _a !== void 0 ? _a : null;\n }\n _getChangedOptions(newConfig, oldConfig) {\n const changed = new Array();\n const newKeys = new Array();\n for (const [key, value] of Object.entries(newConfig)) {\n newKeys.push(key);\n if (oldConfig[key] !== value) {\n changed.push(key);\n }\n }\n // Add removed old keys\n changed.push(...Object.keys(oldConfig).filter(k => !newKeys.includes(k)));\n return changed;\n }\n}\n/**\n * CodeMirror extensions registry\n */\nclass EditorExtensionRegistry {\n constructor() {\n this.configurationBuilder = new Map();\n this.configurationSchema = {};\n this.defaultOptions = {};\n this.handlers = new Set();\n this.immutableExtensions = new Set();\n this._baseConfiguration = {};\n }\n /**\n * Base editor configuration\n *\n * This is the default configuration optionally modified by the user;\n * e.g. through user settings.\n */\n get baseConfiguration() {\n return { ...this.defaultOptions, ...this._baseConfiguration };\n }\n set baseConfiguration(v) {\n if (!_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__.JSONExt.deepEqual(v, this._baseConfiguration)) {\n this._baseConfiguration = v;\n for (const handler of this.handlers) {\n handler.setBaseOptions(this.baseConfiguration);\n }\n }\n }\n /**\n * Default editor configuration\n *\n * This is the default configuration as defined when extensions\n * are registered.\n */\n get defaultConfiguration() {\n // Only options with schema should be JSON serializable\n // So we cannot use `JSONExt.deepCopy` on the default options.\n return Object.freeze({ ...this.defaultOptions });\n }\n /**\n * Editor configuration JSON schema\n */\n get settingsSchema() {\n return Object.freeze(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__.JSONExt.deepCopy(this.configurationSchema));\n }\n /**\n * Add a default editor extension\n *\n * @template T Extension parameter type\n * @param factory Extension factory\n */\n addExtension(factory) {\n var _a;\n if (this.configurationBuilder.has(factory.name)) {\n throw new Error(`Extension named ${factory.name} is already registered.`);\n }\n this.configurationBuilder.set(factory.name, factory);\n if (typeof factory.default != 'undefined') {\n this.defaultOptions[factory.name] = factory.default;\n }\n if (factory.schema) {\n this.configurationSchema[factory.name] = {\n default: (_a = factory.default) !== null && _a !== void 0 ? _a : null,\n ...factory.schema\n };\n this.defaultOptions[factory.name] =\n this.configurationSchema[factory.name].default;\n }\n }\n /**\n * Create a new extensions handler for an editor\n *\n * @param options Extensions options and initial editor configuration\n */\n createNew(options) {\n const configuration = new Array();\n for (const [key, builder] of this.configurationBuilder.entries()) {\n const extension = builder.factory(options);\n if (extension) {\n configuration.push([key, extension]);\n }\n }\n const handler = new ExtensionsHandler({\n baseConfiguration: this.baseConfiguration,\n config: options.config,\n defaultExtensions: configuration\n });\n this.handlers.add(handler);\n handler.disposed.connect(() => {\n this.handlers.delete(handler);\n });\n return handler;\n }\n}\n/**\n * Editor extension registry namespace\n */\n(function (EditorExtensionRegistry) {\n /**\n * Dynamically configurable editor extension.\n */\n class ConfigurableExtension {\n /**\n * Create a dynamic editor extension.\n *\n * @param builder Extension builder\n */\n constructor(builder) {\n this._compartment = new _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.Compartment();\n this._builder = builder;\n }\n /**\n * Create an editor extension for the provided value.\n *\n * @param value Editor extension parameter value\n * @returns The editor extension\n */\n instance(value) {\n return this._compartment.of(this._builder(value));\n }\n /**\n * Reconfigure an editor extension.\n *\n * @param value Editor extension value\n * @returns Editor state effect\n */\n reconfigure(value) {\n return this._compartment.reconfigure(this._builder(value));\n }\n }\n /**\n * Immutable editor extension class\n */\n class ImmutableExtension {\n /**\n * Create an immutable editor extension.\n *\n * @param extension Extension\n */\n constructor(extension) {\n this._extension = extension;\n }\n /**\n * Create an editor extension.\n *\n * @returns The editor extension\n */\n instance() {\n return this._extension;\n }\n /**\n * Reconfigure an editor extension.\n *\n * This is a no-op\n */\n reconfigure() {\n // This is a no-op\n return null;\n }\n }\n /**\n * Creates a dynamically configurable editor extension.\n *\n * @param builder Extension builder\n * @return The extension\n */\n function createConfigurableExtension(builder) {\n return new ConfigurableExtension(builder);\n }\n EditorExtensionRegistry.createConfigurableExtension = createConfigurableExtension;\n /**\n * Creates a configurable extension returning\n * one of two extensions depending on a boolean value.\n *\n * @param truthy Extension to apply when the parameter is true\n * @param falsy Extension to apply when the parameter is false\n * @return The extension\n */\n function createConditionalExtension(truthy, falsy = []) {\n return new ConfigurableExtension(value => value ? truthy : falsy);\n }\n EditorExtensionRegistry.createConditionalExtension = createConditionalExtension;\n /**\n * Creates an immutable extension.\n *\n * @param extension Immutable extension\n * @return The extension\n */\n function createImmutableExtension(extension) {\n return new ImmutableExtension(extension);\n }\n EditorExtensionRegistry.createImmutableExtension = createImmutableExtension;\n /**\n * Get the default editor extensions.\n *\n * @returns CodeMirror 6 extension factories\n */\n function getDefaultExtensions(options = {}) {\n const { themes, translator } = options;\n const trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.nullTranslator).load('jupyterlab');\n const extensions = [\n Object.freeze({\n name: 'autoClosingBrackets',\n default: false,\n factory: () => createConditionalExtension((0,_codemirror_autocomplete__WEBPACK_IMPORTED_MODULE_10__.closeBrackets)()),\n schema: {\n type: 'boolean',\n title: trans.__('Auto Closing Brackets')\n }\n }),\n Object.freeze({\n name: 'codeFolding',\n default: false,\n factory: () => createConditionalExtension((0,_codemirror_language__WEBPACK_IMPORTED_MODULE_1__.foldGutter)()),\n schema: {\n type: 'boolean',\n title: trans.__('Code Folding')\n }\n }),\n Object.freeze({\n name: 'cursorBlinkRate',\n default: 1200,\n factory: () => createConfigurableExtension((value) => (0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.drawSelection)({ cursorBlinkRate: value })),\n schema: {\n type: 'number',\n title: trans.__('Cursor blinking rate'),\n description: trans.__('Half-period in milliseconds used for cursor blinking. The default blink rate is 1200ms. By setting this to zero, blinking can be disabled.')\n }\n }),\n Object.freeze({\n name: 'highlightActiveLine',\n default: false,\n factory: () => createConditionalExtension((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.highlightActiveLine)()),\n schema: {\n type: 'boolean',\n title: trans.__('Highlight the active line')\n }\n }),\n Object.freeze({\n name: 'highlightSpecialCharacters',\n default: true,\n factory: () => createConditionalExtension((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.highlightSpecialChars)()),\n schema: {\n type: 'boolean',\n title: trans.__('Highlight special characters')\n }\n }),\n Object.freeze({\n name: 'highlightTrailingWhitespace',\n default: false,\n factory: () => createConditionalExtension((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.highlightTrailingWhitespace)()),\n schema: {\n type: 'boolean',\n title: trans.__('Highlight trailing white spaces')\n }\n }),\n Object.freeze({\n name: 'highlightWhitespace',\n default: false,\n factory: () => createConditionalExtension((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.highlightWhitespace)()),\n schema: {\n type: 'boolean',\n title: trans.__('Highlight white spaces')\n }\n }),\n Object.freeze({\n name: 'indentUnit',\n default: '4',\n factory: () => createConfigurableExtension((value) => value == 'Tab'\n ? _codemirror_language__WEBPACK_IMPORTED_MODULE_1__.indentUnit.of('\\t')\n : _codemirror_language__WEBPACK_IMPORTED_MODULE_1__.indentUnit.of(' '.repeat(parseInt(value, 10)))),\n schema: {\n type: 'string',\n title: trans.__('Indentation unit'),\n description: trans.__('The indentation is a `Tab` or the number of spaces. This defaults to 4 spaces.'),\n enum: ['Tab', '1', '2', '4', '8']\n }\n }),\n // Default keyboard shortcuts\n // TODO at some point we may want to get this configurable\n Object.freeze({\n name: 'keymap',\n default: [\n {\n key: 'Mod-Enter',\n run: _commands__WEBPACK_IMPORTED_MODULE_7__.StateCommands.insertBlankLineOnRun\n },\n {\n key: 'Enter',\n run: _commands__WEBPACK_IMPORTED_MODULE_7__.StateCommands.completerOrInsertNewLine\n },\n {\n key: 'Escape',\n run: _commands__WEBPACK_IMPORTED_MODULE_7__.StateCommands.simplifySelectionAndMaybeSwitchToCommandMode\n },\n ..._codemirror_commands__WEBPACK_IMPORTED_MODULE_0__.defaultKeymap.filter(binding => {\n // - Disable the default Mod-Enter handler as it always prevents default,\n // preventing us from running cells with Ctrl + Enter. Instead we provide\n // our own handler (insertBlankLineOnRun) which does not prevent default\n // when used in code runner editors.\n // - Disable the default Shift-Mod-k handler because users prefer Ctrl+D\n // for deleting lines, and because it prevents opening Table of Contents\n // with Ctrl+Shift+K.\n // - Disable shortcuts for toggling comments (\"Mod-/\" and \"Alt-A\")\n // as these as handled by lumino command\n // - Disable Escape handler because it prevents default and we\n // want to run a cell action (switch to command mode) on Esc\n // - Disable default Enter handler because it prevents us from\n // accepting a completer suggestion with Enter.\n // - Disable Ctrl-m (Shift-Alt-m on Mac) which toggles tab focus mode;\n // JupyterLab binds `Esc` to an equivalent behavior (switching\n // between command end edit mode) in notebooks, but has no equivalent\n // in the File Editor; instead, a `codemirror:toggle-tab-focus-mode`\n // command can be bound to invoke this behaviour.\n return ![\n 'Ctrl-m',\n 'Mod-Enter',\n 'Shift-Mod-k',\n 'Mod-/',\n 'Alt-A',\n 'Escape',\n 'Enter'\n ].includes(binding.key);\n }),\n {\n key: 'Tab',\n run: _commands__WEBPACK_IMPORTED_MODULE_7__.StateCommands.indentMoreOrInsertTab,\n shift: _commands__WEBPACK_IMPORTED_MODULE_7__.StateCommands.dedentIfNotLaunchingTooltip\n }\n ],\n factory: () => createConfigurableExtension(value => _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.keymap.of(value))\n }),\n Object.freeze({\n name: 'lineNumbers',\n default: true,\n factory: () => createConditionalExtension((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.lineNumbers)()),\n schema: {\n type: 'boolean',\n title: trans.__('Line Numbers')\n }\n }),\n Object.freeze({\n name: 'lineWrap',\n factory: () => createConditionalExtension(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.lineWrapping),\n default: true,\n schema: {\n type: 'boolean',\n title: trans.__('Line Wrap')\n }\n }),\n Object.freeze({\n name: 'dropCursor',\n default: true,\n factory: () => createConditionalExtension((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.dropCursor)()),\n schema: {\n type: 'boolean',\n title: trans.__('Drop Cursor')\n }\n }),\n Object.freeze({\n name: 'matchBrackets',\n default: true,\n factory: () => createConditionalExtension([\n (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_1__.bracketMatching)(),\n // closeBracketsKeymap must have higher precedence over defaultKeymap\n _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.Prec.high(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.keymap.of(_codemirror_autocomplete__WEBPACK_IMPORTED_MODULE_10__.closeBracketsKeymap))\n ]),\n schema: {\n type: 'boolean',\n title: trans.__('Match Brackets')\n }\n }),\n Object.freeze({\n name: 'rectangularSelection',\n default: true,\n factory: () => createConditionalExtension([\n (0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.rectangularSelection)(),\n (0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.crosshairCursor)()\n ]),\n schema: {\n type: 'boolean',\n title: trans.__('Rectangular selection'),\n description: trans.__('Rectangular (block) selection can be created by dragging the mouse pointer while holding the left mouse button and the Alt key. When the Alt key is pressed, a crosshair cursor will appear, indicating that the rectangular selection mode is active.')\n }\n }),\n Object.freeze({\n name: 'readOnly',\n default: false,\n factory: () => createConfigurableExtension((value) => [\n _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.EditorState.readOnly.of(value),\n value\n ? _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.editorAttributes.of({ class: READ_ONLY_CLASS })\n : []\n ])\n }),\n Object.freeze({\n name: 'rulers',\n default: [],\n factory: () => createConfigurableExtension((value) => value.length > 0 ? (0,_extensions__WEBPACK_IMPORTED_MODULE_8__.rulers)(value) : []),\n schema: {\n type: 'array',\n title: trans.__('Rulers'),\n items: {\n type: 'number',\n minimum: 0\n }\n }\n }),\n Object.freeze({\n name: 'extendSelection',\n default: true,\n factory: () => createConditionalExtension(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.keymap.of([\n {\n key: 'Mod-Shift-l',\n run: _codemirror_search__WEBPACK_IMPORTED_MODULE_9__.selectSelectionMatches,\n preventDefault: true\n }\n ]))\n }),\n Object.freeze({\n // Whether to activate the native CodeMirror search panel or not.\n name: 'searchWithCM',\n default: false,\n factory: () => createConditionalExtension(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.keymap.of([\n {\n key: 'Mod-f',\n run: _codemirror_search__WEBPACK_IMPORTED_MODULE_9__.openSearchPanel,\n scope: 'editor search-panel'\n },\n {\n key: 'F3',\n run: _codemirror_search__WEBPACK_IMPORTED_MODULE_9__.findNext,\n shift: _codemirror_search__WEBPACK_IMPORTED_MODULE_9__.findPrevious,\n scope: 'editor search-panel',\n preventDefault: true\n },\n {\n key: 'Mod-g',\n run: _codemirror_search__WEBPACK_IMPORTED_MODULE_9__.findNext,\n shift: _codemirror_search__WEBPACK_IMPORTED_MODULE_9__.findPrevious,\n scope: 'editor search-panel',\n preventDefault: true\n },\n {\n key: 'Escape',\n run: _codemirror_search__WEBPACK_IMPORTED_MODULE_9__.closeSearchPanel,\n scope: 'editor search-panel'\n }\n ]))\n }),\n Object.freeze({\n name: 'scrollPastEnd',\n default: false,\n factory: (options) => options.inline ? null : createConditionalExtension((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.scrollPastEnd)())\n }),\n Object.freeze({\n name: 'smartIndent',\n default: true,\n factory: () => createConditionalExtension((0,_codemirror_language__WEBPACK_IMPORTED_MODULE_1__.indentOnInput)()),\n schema: {\n type: 'boolean',\n title: trans.__('Smart Indentation')\n }\n }),\n /**\n * tabFocusable\n *\n * Can the user use the tab key to focus on / enter the CodeMirror editor?\n * If this is false, the CodeMirror editor can still be focused (via\n * mouse-click, for example), just not via tab key navigation.\n *\n * It can be useful to set tabFocusable to false when the editor is\n * embedded in a context that provides an alternative to the tab key for\n * navigation. For example, the Notebook widget allows the user to move\n * from one cell to another using the up and down arrow keys and to enter\n * and exit the CodeMirror editor associated with that cell by pressing\n * the enter and escape keys, respectively.\n */\n Object.freeze({\n name: 'tabFocusable',\n // The default for this needs to be true because the CodeMirror editor\n // is used in lots of different places. By default, a user should be\n // able to tab into a CodeMirror editor on the page, and by default, the\n // user should be able to get out of the editor by pressing the escape\n // key then immediately pressing the tab key (or shift+tab to go\n // backwards on the page). If there are places in the app where this\n // model of user interaction doesn't make sense or is broken, those\n // places should be remedied on a case-by-case basis, **not** by making\n // `tabFocusable` false by default.\n default: true,\n factory: () => createConditionalExtension(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.contentAttributes.of({\n tabIndex: '0'\n }), _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.contentAttributes.of({\n tabIndex: '-1'\n }))\n }),\n Object.freeze({\n name: 'tabSize',\n default: 4,\n factory: () => createConfigurableExtension((value) => _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.EditorState.tabSize.of(value)),\n schema: {\n type: 'number',\n title: trans.__('Tab size')\n }\n }),\n Object.freeze({\n name: 'tooltips',\n factory: () => \n // we need `absolute` due to use of `contain: layout` in lumino;\n // we attach to body to ensure cursor collaboration tooltip is\n // visible in first line of the editor.\n createImmutableExtension((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.tooltips)({\n position: 'absolute',\n parent: document.body\n }))\n }),\n Object.freeze({\n name: 'allowMultipleSelections',\n default: true,\n factory: () => createConfigurableExtension((value) => _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.EditorState.allowMultipleSelections.of(value)),\n schema: {\n type: 'boolean',\n title: trans.__('Multiple selections')\n }\n }),\n Object.freeze({\n name: 'customStyles',\n factory: () => createConfigurableExtension(config => (0,_extensions__WEBPACK_IMPORTED_MODULE_8__.customTheme)(config)),\n default: {\n fontFamily: null,\n fontSize: null,\n lineHeight: null\n },\n schema: {\n title: trans.__('Custom editor styles'),\n type: 'object',\n properties: {\n fontFamily: {\n type: ['string', 'null'],\n title: trans.__('Font Family')\n },\n fontSize: {\n type: ['number', 'null'],\n minimum: 1,\n maximum: 100,\n title: trans.__('Font Size')\n },\n lineHeight: {\n type: ['number', 'null'],\n title: trans.__('Line Height')\n }\n },\n additionalProperties: false\n }\n })\n ];\n if (themes) {\n extensions.push(Object.freeze({\n name: 'theme',\n default: 'jupyter',\n factory: () => createConfigurableExtension(value => themes.getTheme(value)),\n schema: {\n type: 'string',\n title: trans.__('Theme'),\n description: trans.__('CodeMirror theme')\n }\n }));\n }\n if (translator) {\n extensions.push(Object.freeze({\n name: 'translation',\n // The list of internal strings is available at https://codemirror.net/examples/translate/\n default: {\n // @codemirror/view\n 'Control character': trans.__('Control character'),\n // @codemirror/commands\n 'Selection deleted': trans.__('Selection deleted'),\n // @codemirror/language\n 'Folded lines': trans.__('Folded lines'),\n 'Unfolded lines': trans.__('Unfolded lines'),\n to: trans.__('to'),\n 'folded code': trans.__('folded code'),\n unfold: trans.__('unfold'),\n 'Fold line': trans.__('Fold line'),\n 'Unfold line': trans.__('Unfold line'),\n // @codemirror/search\n 'Go to line': trans.__('Go to line'),\n go: trans.__('go'),\n Find: trans.__('Find'),\n Replace: trans.__('Replace'),\n next: trans.__('next'),\n previous: trans.__('previous'),\n all: trans.__('all'),\n 'match case': trans.__('match case'),\n replace: trans.__('replace'),\n 'replace all': trans.__('replace all'),\n close: trans.__('close'),\n 'current match': trans.__('current match'),\n 'replaced $ matches': trans.__('replaced $ matches'),\n 'replaced match on line $': trans.__('replaced match on line $'),\n 'on line': trans.__('on line'),\n // @codemirror/autocomplete\n Completions: trans.__('Completions'),\n // @codemirror/lint\n Diagnostics: trans.__('Diagnostics'),\n 'No diagnostics': trans.__('No diagnostics')\n },\n factory: () => createConfigurableExtension(value => _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.EditorState.phrases.of(value))\n }));\n }\n return extensions;\n }\n EditorExtensionRegistry.getDefaultExtensions = getDefaultExtensions;\n})(EditorExtensionRegistry || (EditorExtensionRegistry = {}));\n//# sourceMappingURL=extension.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/extension.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/extensions/customStyle.js":
+/*!****************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/extensions/customStyle.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ customTheme: () => (/* binding */ customTheme)\n/* harmony export */ });\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n/**\n * Custom theme configuration\n *\n * The first non-null value takes precedence\n */\nconst customThemeConfig = _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.Facet.define({\n combine(configs) {\n return (0,_codemirror_state__WEBPACK_IMPORTED_MODULE_0__.combineConfig)(configs, {\n fontFamily: null,\n fontSize: null,\n lineHeight: null\n }, {\n fontFamily: (a, b) => a !== null && a !== void 0 ? a : b,\n fontSize: (a, b) => a !== null && a !== void 0 ? a : b,\n lineHeight: (a, b) => a !== null && a !== void 0 ? a : b\n });\n }\n});\nfunction setEditorStyle(view) {\n const { fontFamily, fontSize, lineHeight } = view.state.facet(customThemeConfig);\n let style = '';\n if (fontSize) {\n style += `font-size: ${fontSize}px !important;`;\n }\n if (fontFamily) {\n style += `font-family: ${fontFamily} !important;`;\n }\n if (lineHeight) {\n style += `line-height: ${lineHeight.toString()} !important`;\n }\n return { style: style };\n}\n/**\n * Get the extension to customize an editor theme.\n *\n * @param config Theme customization\n * @returns Editor extension\n */\nfunction customTheme(config) {\n return [\n customThemeConfig.of(config),\n _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.editorAttributes.of(setEditorStyle)\n ];\n}\n//# sourceMappingURL=customStyle.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/extensions/customStyle.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/extensions/index.js":
+/*!**********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/extensions/index.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ YRange: () => (/* reexport safe */ _ybinding__WEBPACK_IMPORTED_MODULE_3__.YRange),\n/* harmony export */ YSyncConfig: () => (/* reexport safe */ _ybinding__WEBPACK_IMPORTED_MODULE_3__.YSyncConfig),\n/* harmony export */ customTheme: () => (/* reexport safe */ _customStyle__WEBPACK_IMPORTED_MODULE_0__.customTheme),\n/* harmony export */ parseMathIPython: () => (/* reexport safe */ _ipython_md__WEBPACK_IMPORTED_MODULE_1__.parseMathIPython),\n/* harmony export */ rulers: () => (/* reexport safe */ _rulers__WEBPACK_IMPORTED_MODULE_2__.rulers),\n/* harmony export */ ySync: () => (/* reexport safe */ _ybinding__WEBPACK_IMPORTED_MODULE_3__.ySync),\n/* harmony export */ ySyncAnnotation: () => (/* reexport safe */ _ybinding__WEBPACK_IMPORTED_MODULE_3__.ySyncAnnotation),\n/* harmony export */ ySyncFacet: () => (/* reexport safe */ _ybinding__WEBPACK_IMPORTED_MODULE_3__.ySyncFacet),\n/* harmony export */ ybinding: () => (/* reexport safe */ _ybinding__WEBPACK_IMPORTED_MODULE_3__.ybinding)\n/* harmony export */ });\n/* harmony import */ var _customStyle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./customStyle */ \"../node_modules/@jupyterlab/codemirror/lib/extensions/customStyle.js\");\n/* harmony import */ var _ipython_md__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ipython-md */ \"../node_modules/@jupyterlab/codemirror/lib/extensions/ipython-md.js\");\n/* harmony import */ var _rulers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./rulers */ \"../node_modules/@jupyterlab/codemirror/lib/extensions/rulers.js\");\n/* harmony import */ var _ybinding__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ybinding */ \"../node_modules/@jupyterlab/codemirror/lib/extensions/ybinding.js\");\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/extensions/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/extensions/ipython-md.js":
+/*!***************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/extensions/ipython-md.js ***!
+ \***************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseMathIPython: () => (/* binding */ parseMathIPython)\n/* harmony export */ });\n/* harmony import */ var _lezer_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lezer/common */ \"webpack/sharing/consume/default/@lezer/common/@lezer/common\");\n/* harmony import */ var _lezer_common__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lezer_common__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lezer_highlight__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lezer/highlight */ \"webpack/sharing/consume/default/@lezer/highlight/@lezer/highlight\");\n/* harmony import */ var _lezer_highlight__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lezer_highlight__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n// Mathematical expression delimiters\nconst INLINE_MATH_DOLLAR = 'InlineMathDollar';\nconst INLINE_MATH_BRACKET = 'InlineMathBracket';\nconst BLOCK_MATH_DOLLAR = 'BlockMathDollar';\nconst BLOCK_MATH_BRACKET = 'BlockMathBracket';\n/**\n * Length of the delimiter for a math expression\n */\nconst DELIMITER_LENGTH = {\n [INLINE_MATH_DOLLAR]: 1,\n [INLINE_MATH_BRACKET]: 3,\n [BLOCK_MATH_DOLLAR]: 2,\n [BLOCK_MATH_BRACKET]: 3\n};\n/**\n * Delimiters for math expressions\n */\n// Delimiters must be defined as constant because they are used in object match tests\nconst DELIMITERS = Object.keys(DELIMITER_LENGTH).reduce((agg, name) => {\n agg[name] = { mark: `${name}Mark`, resolve: name };\n return agg;\n}, {});\n/**\n * Define an IPython mathematical expression parser for Markdown.\n *\n * @param latexParser CodeMirror {@link Parser} for LaTeX mathematical expression\n * @returns Markdown extension\n */\nfunction parseMathIPython(latexParser) {\n const defineNodes = new Array();\n Object.keys(DELIMITER_LENGTH).forEach(name => {\n defineNodes.push({\n name,\n style: _lezer_highlight__WEBPACK_IMPORTED_MODULE_1__.tags.emphasis\n }, { name: `${name}Mark`, style: _lezer_highlight__WEBPACK_IMPORTED_MODULE_1__.tags.processingInstruction });\n });\n return {\n defineNodes,\n parseInline: [\n {\n name: BLOCK_MATH_DOLLAR,\n parse(cx, next, pos) {\n if (next != 36 /* '$' */ || cx.char(pos + 1) != 36) {\n return -1;\n }\n return cx.addDelimiter(DELIMITERS[BLOCK_MATH_DOLLAR], pos, pos + DELIMITER_LENGTH[BLOCK_MATH_DOLLAR], true, true);\n }\n },\n {\n name: INLINE_MATH_DOLLAR,\n parse(cx, next, pos) {\n if (next != 36 /* '$' */ || cx.char(pos + 1) == 36) {\n return -1;\n }\n return cx.addDelimiter(DELIMITERS[INLINE_MATH_DOLLAR], pos, pos + DELIMITER_LENGTH[INLINE_MATH_DOLLAR], true, true);\n }\n },\n // Inline expression wrapped in \\\\( ... \\\\)\n {\n name: INLINE_MATH_BRACKET,\n before: 'Escape', // Search for this delimiter before the escape character\n parse(cx, next, pos) {\n if (next != 92 /* '\\' */ ||\n cx.char(pos + 1) != 92 ||\n ![40 /* '(' */, 41 /* ')' */].includes(cx.char(pos + 2))) {\n return -1;\n }\n return cx.addDelimiter(DELIMITERS[INLINE_MATH_BRACKET], pos, pos + DELIMITER_LENGTH[INLINE_MATH_BRACKET], cx.char(pos + 2) == 40, cx.char(pos + 2) == 41);\n }\n },\n // Block expression wrapped in \\\\[ ... \\\\]\n {\n name: BLOCK_MATH_BRACKET,\n before: 'Escape', // Search for this delimiter before the escape character\n parse(cx, next, pos) {\n if (next != 92 /* '\\' */ ||\n cx.char(pos + 1) != 92 ||\n ![91 /* '[' */, 93 /* ']' */].includes(cx.char(pos + 2))) {\n return -1;\n }\n return cx.addDelimiter(DELIMITERS[BLOCK_MATH_BRACKET], pos, pos + DELIMITER_LENGTH[BLOCK_MATH_BRACKET], cx.char(pos + 2) == 91, cx.char(pos + 2) == 93);\n }\n }\n ],\n wrap: latexParser\n ? (0,_lezer_common__WEBPACK_IMPORTED_MODULE_0__.parseMixed)((node, input) => {\n // Test if the node type is one of the math expression\n const delimiterLength = DELIMITER_LENGTH[node.type.name];\n if (delimiterLength) {\n return {\n parser: latexParser,\n // Remove delimiter from LaTeX parser otherwise it won't be highlighted\n overlay: [\n {\n from: node.from + delimiterLength,\n to: node.to - delimiterLength\n }\n ]\n };\n }\n return null;\n })\n : undefined\n };\n}\n//# sourceMappingURL=ipython-md.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/extensions/ipython-md.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/extensions/rulers.js":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/extensions/rulers.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ rulers: () => (/* binding */ rulers)\n/* harmony export */ });\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n// Inspired by https://discuss.codemirror.net/t/how-to-implement-ruler/4616/\n\n\n\nconst RULERS_CLASSNAME = 'cm-rulers';\n/**\n * Rulers style\n */\nconst baseTheme = _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.baseTheme({\n [`.${RULERS_CLASSNAME}`]: { borderRight: '1px dotted gray', opacity: 0.7 }\n});\n/**\n * Rulers facet\n */\nconst rulerConfig = _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.Facet.define({\n // Merge all unique values\n combine(value) {\n const final = value.reduce((agg, arr) => agg.concat(\n // Check value is not in aggregate nor multiple time in the array.\n arr.filter((v, idx) => !agg.includes(v) && idx == arr.lastIndexOf(v))), []);\n return final;\n }\n});\n/**\n * View plugin displaying the rulers\n */\nconst plugin = _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.ViewPlugin.fromClass(class {\n constructor(view) {\n var _a, _b;\n this.rulersContainer = view.dom.appendChild(document.createElement('div'));\n this.rulersContainer.style.cssText = `\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n `;\n const defaultCharacterWidth = view.defaultCharacterWidth;\n const widths = view.state.facet(rulerConfig);\n const guttersWidths = (_b = (_a = view.scrollDOM.querySelector('.cm-gutters')) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : 0;\n this.rulers = widths.map(width => {\n const ruler = this.rulersContainer.appendChild(document.createElement('div'));\n ruler.classList.add(RULERS_CLASSNAME);\n ruler.style.cssText = `\n position: absolute;\n left: ${guttersWidths + width * defaultCharacterWidth}px;\n height: 100%;\n `;\n // FIXME: This should be equal to the amount of padding on a line.\n // This value should be extracted from CodeMirror rather than hardcoded.\n ruler.style.width = '6px';\n return ruler;\n });\n }\n update(update) {\n var _a, _b;\n const widths = update.view.state.facet(rulerConfig);\n if (update.viewportChanged ||\n update.geometryChanged ||\n !_lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__.JSONExt.deepEqual(widths, update.startState.facet(rulerConfig))) {\n const guttersWidth = (_b = (_a = update.view.scrollDOM.querySelector('.cm-gutters')) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : 0;\n const defaultCharacterWidth = update.view.defaultCharacterWidth;\n this.rulers.forEach((ruler, rulerIdx) => {\n ruler.style.left = `${guttersWidth + widths[rulerIdx] * defaultCharacterWidth}px`;\n });\n }\n }\n destroy() {\n this.rulers.forEach(ruler => {\n ruler.remove();\n });\n this.rulersContainer.remove();\n }\n});\n/**\n * Extension for CodeMirror 6 displaying rulers.\n *\n * @param value Rulers position\n * @returns CodeMirror 6 extension\n */\nfunction rulers(value) {\n return [baseTheme, rulerConfig.of(value), plugin];\n}\n//# sourceMappingURL=rulers.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/extensions/rulers.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/extensions/ybinding.js":
+/*!*************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/extensions/ybinding.js ***!
+ \*************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ YRange: () => (/* binding */ YRange),\n/* harmony export */ YSyncConfig: () => (/* binding */ YSyncConfig),\n/* harmony export */ ySync: () => (/* binding */ ySync),\n/* harmony export */ ySyncAnnotation: () => (/* binding */ ySyncAnnotation),\n/* harmony export */ ySyncFacet: () => (/* binding */ ySyncFacet),\n/* harmony export */ ybinding: () => (/* binding */ ybinding)\n/* harmony export */ });\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _yundomanager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./yundomanager */ \"../node_modules/@jupyterlab/codemirror/lib/extensions/yundomanager.js\");\n/* harmony import */ var yjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! yjs */ \"webpack/sharing/consume/default/yjs/yjs\");\n/* harmony import */ var yjs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(yjs__WEBPACK_IMPORTED_MODULE_3__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n *\n * Binding for yjs and codemirror\n *\n * It is a simplification of https://github.com/yjs/y-codemirror.next\n * licensed under MIT License by Kevin Jahns\n */\n\n\n\n\n/**\n * Defines a range on text using relative positions that can be transformed back to\n * absolute positions. (https://docs.yjs.dev/api/relative-positions)\n */\nclass YRange {\n /**\n * @param yanchor\n * @param yhead\n */\n constructor(yanchor, yhead) {\n this.yanchor = yanchor;\n this.yhead = yhead;\n }\n /**\n * Convert the position to JSON\n */\n toJSON() {\n return {\n yanchor: (0,yjs__WEBPACK_IMPORTED_MODULE_3__.relativePositionToJSON)(this.yanchor),\n yhead: (0,yjs__WEBPACK_IMPORTED_MODULE_3__.relativePositionToJSON)(this.yhead)\n };\n }\n /**\n * Convert a JSON range to a YRange\n * @param json Range to convert\n * @return The range as YRange\n */\n static fromJSON(json) {\n return new YRange((0,yjs__WEBPACK_IMPORTED_MODULE_3__.createRelativePositionFromJSON)(json.yanchor), (0,yjs__WEBPACK_IMPORTED_MODULE_3__.createRelativePositionFromJSON)(json.yhead));\n }\n}\n/**\n * Yjs binding configuration\n */\nclass YSyncConfig {\n /**\n * Create a new binding configuration\n *\n * @param ytext Yjs text to synchronize\n */\n constructor(ytext) {\n this.ytext = ytext;\n }\n /**\n * Helper function to transform an absolute index position to a Yjs-based relative position\n * (https://docs.yjs.dev/api/relative-positions).\n *\n * A relative position can be transformed back to an absolute position even after the document has changed. The position is\n * automatically adapted. This does not require any position transformations. Relative positions are computed based on\n * the internal Yjs document model. Peers that share content through Yjs are guaranteed that their positions will always\n * synced up when using relative positions.\n *\n * ```js\n * import { ySyncFacet } from 'y-codemirror'\n *\n * ..\n * const ysync = view.state.facet(ySyncFacet)\n * // transform an absolute index position to a ypos\n * const ypos = ysync.getYPos(3)\n * // transform the ypos back to an absolute position\n * ysync.fromYPos(ypos) // => 3\n * ```\n *\n * It cannot be guaranteed that absolute index positions can be synced up between peers.\n * This might lead to undesired behavior when implementing features that require that all peers see the\n * same marked range (e.g. a comment plugin).\n *\n * @param pos\n * @param assoc\n */\n toYPos(pos, assoc = 0) {\n return (0,yjs__WEBPACK_IMPORTED_MODULE_3__.createRelativePositionFromTypeIndex)(this.ytext, pos, assoc);\n }\n /**\n * @param rpos\n */\n fromYPos(rpos) {\n const pos = (0,yjs__WEBPACK_IMPORTED_MODULE_3__.createAbsolutePositionFromRelativePosition)((0,yjs__WEBPACK_IMPORTED_MODULE_3__.createRelativePositionFromJSON)(rpos), this.ytext.doc);\n if (pos == null || pos.type !== this.ytext) {\n throw new Error('[y-codemirror] The position you want to retrieve was created by a different document');\n }\n return {\n pos: pos.index,\n assoc: pos.assoc\n };\n }\n /**\n * @param range\n * @return\n */\n toYRange(range) {\n const assoc = range.assoc;\n const yanchor = this.toYPos(range.anchor, assoc);\n const yhead = this.toYPos(range.head, assoc);\n return new YRange(yanchor, yhead);\n }\n /**\n * @param yrange\n */\n fromYRange(yrange) {\n const anchor = this.fromYPos(yrange.yanchor);\n const head = this.fromYPos(yrange.yhead);\n if (anchor.pos === head.pos) {\n return _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.EditorSelection.cursor(head.pos, head.assoc);\n }\n return _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.EditorSelection.range(anchor.pos, head.pos);\n }\n}\n/**\n * Yjs binding facet\n */\nconst ySyncFacet = _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.Facet.define({\n combine(inputs) {\n return inputs[inputs.length - 1];\n }\n});\n/**\n * Yjs binding annotation\n *\n * It is used to track the origin of the document changes\n */\nconst ySyncAnnotation = _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.Annotation.define();\n/**\n * Yjs binding view plugin to synchronize the\n * editor state with the Yjs document.\n */\nconst ySync = _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.ViewPlugin.fromClass(class {\n constructor(view) {\n this.conf = view.state.facet(ySyncFacet);\n this._observer = (event, tr) => {\n var _a;\n if (tr.origin !== this.conf) {\n const delta = event.delta;\n const changes = [];\n let pos = 0;\n for (let i = 0; i < delta.length; i++) {\n const d = delta[i];\n if (d.insert != null) {\n changes.push({ from: pos, to: pos, insert: d.insert });\n }\n else if (d.delete != null) {\n changes.push({ from: pos, to: pos + d.delete, insert: '' });\n pos += d.delete;\n }\n else {\n pos += (_a = d.retain) !== null && _a !== void 0 ? _a : 0;\n }\n }\n view.dispatch({\n changes,\n // Specified the changes origin to not loop when synchronizing\n annotations: [ySyncAnnotation.of(this.conf)]\n });\n }\n };\n this._ytext = this.conf.ytext;\n this._ytext.observe(this._observer);\n }\n update(update) {\n if (!update.docChanged ||\n (update.transactions.length > 0 &&\n update.transactions[0].annotation(ySyncAnnotation) === this.conf)) {\n return;\n }\n const ytext = this.conf.ytext;\n ytext.doc.transact(() => {\n /**\n * This variable adjusts the fromA position to the current position in the Y.Text type.\n */\n let adj = 0;\n update.changes.iterChanges((fromA, toA, fromB, toB, insert) => {\n const insertText = insert.sliceString(0, insert.length, '\\n');\n if (fromA !== toA) {\n ytext.delete(fromA + adj, toA - fromA);\n }\n if (insertText.length > 0) {\n ytext.insert(fromA + adj, insertText);\n }\n adj += insertText.length - (toA - fromA);\n });\n // Set the configuration as origin to not loop when synchronizing\n }, this.conf);\n }\n destroy() {\n this._ytext.unobserve(this._observer);\n }\n});\n/**\n * Extension for CodeMirror 6 binding the Yjs text (source of truth)\n * and the editor state.\n *\n * @param ytext Yjs text to bind\n * @param undoManager Yjs text undo manager\n * @returns CodeMirror 6 extension\n */\nfunction ybinding({ ytext, undoManager }) {\n const ySyncConfig = new YSyncConfig(ytext);\n const plugins = [ySyncFacet.of(ySyncConfig), ySync];\n if (undoManager) {\n plugins.push(\n // We need to add a new origin to the undo manager to ensure text updates\n // are tracked; we also need to restore selection after undo/redo.\n _yundomanager__WEBPACK_IMPORTED_MODULE_2__.yUndoManagerFacet.of(new _yundomanager__WEBPACK_IMPORTED_MODULE_2__.YUndoManagerConfig(undoManager)), _yundomanager__WEBPACK_IMPORTED_MODULE_2__.yUndoManager);\n }\n return plugins;\n}\n//# sourceMappingURL=ybinding.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/extensions/ybinding.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/extensions/yundomanager.js":
+/*!*****************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/extensions/yundomanager.js ***!
+ \*****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ YUndoManagerConfig: () => (/* binding */ YUndoManagerConfig),\n/* harmony export */ yUndoManager: () => (/* binding */ yUndoManager),\n/* harmony export */ yUndoManagerFacet: () => (/* binding */ yUndoManagerFacet)\n/* harmony export */ });\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ybinding__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ybinding */ \"../node_modules/@jupyterlab/codemirror/lib/extensions/ybinding.js\");\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n *\n * Vendored from https://github.com/yjs/y-codemirror.next\n * licensed under MIT License by Kevin Jahns.\n *\n * Ideally we would depend on the y-codemirror.next, but it is impractical\n * until https://github.com/yjs/y-codemirror.next/issues/27 is resolved.\n *\n * Modifications compared to upstream:\n * - removed spurious mutex (https://github.com/yjs/y-codemirror.next/issues/15)\n * - added TypeScript types\n * - simplified `YUndoManagerConfig` by removing public methods\n * - moved `_onStackItemAdded`, `_onStackItemPopped` and `_storeSelection` definitions out of constructor\n */\n\n\n\nclass YUndoManagerConfig {\n constructor(undoManager) {\n this.undoManager = undoManager;\n }\n}\nconst yUndoManagerFacet = _codemirror_state__WEBPACK_IMPORTED_MODULE_1__.Facet.define({\n combine(inputs) {\n return inputs[inputs.length - 1];\n }\n});\nclass YUndoManagerPluginValue {\n constructor(view) {\n this._onStackItemAdded = ({ stackItem, changedParentTypes }) => {\n // only store metadata if this type was affected\n if (changedParentTypes.has(this._syncConf.ytext) &&\n this._beforeChangeSelection &&\n !stackItem.meta.has(this)) {\n // do not overwrite previous stored selection\n stackItem.meta.set(this, this._beforeChangeSelection);\n }\n };\n this._onStackItemPopped = ({ stackItem }) => {\n const sel = stackItem.meta.get(this);\n if (sel) {\n const selection = this._syncConf.fromYRange(sel);\n this._view.dispatch(this._view.state.update({\n selection,\n effects: [_codemirror_view__WEBPACK_IMPORTED_MODULE_0__.EditorView.scrollIntoView(selection)]\n }));\n this._storeSelection();\n }\n };\n this._storeSelection = () => {\n // store the selection before the change is applied so we can restore it with the undo manager.\n this._beforeChangeSelection = this._syncConf.toYRange(this._view.state.selection.main);\n };\n this._view = view;\n this._conf = view.state.facet(yUndoManagerFacet);\n this._undoManager = this._conf.undoManager;\n this._syncConf = view.state.facet(_ybinding__WEBPACK_IMPORTED_MODULE_2__.ySyncFacet);\n this._beforeChangeSelection = null;\n this._undoManager.on('stack-item-added', this._onStackItemAdded);\n this._undoManager.on('stack-item-popped', this._onStackItemPopped);\n this._undoManager.addTrackedOrigin(this._syncConf);\n }\n update(update) {\n if (update.selectionSet &&\n (update.transactions.length === 0 ||\n update.transactions[0].annotation(_ybinding__WEBPACK_IMPORTED_MODULE_2__.ySyncAnnotation) !== this._syncConf)) {\n // This only works when YUndoManagerPlugin is included before the sync plugin\n this._storeSelection();\n }\n }\n destroy() {\n this._undoManager.off('stack-item-added', this._onStackItemAdded);\n this._undoManager.off('stack-item-popped', this._onStackItemPopped);\n this._undoManager.removeTrackedOrigin(this._syncConf);\n }\n}\nconst yUndoManager = _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.ViewPlugin.fromClass(YUndoManagerPluginValue);\n//# sourceMappingURL=yundomanager.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/extensions/yundomanager.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/factory.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/factory.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeMirrorEditorFactory: () => (/* binding */ CodeMirrorEditorFactory)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _extension__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extension */ \"../node_modules/@jupyterlab/codemirror/lib/extension.js\");\n/* harmony import */ var _editor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./editor */ \"../node_modules/@jupyterlab/codemirror/lib/editor.js\");\n/* harmony import */ var _language__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./language */ \"../node_modules/@jupyterlab/codemirror/lib/language.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n/**\n * CodeMirror editor factory.\n */\nclass CodeMirrorEditorFactory {\n /**\n * Construct an IEditorFactoryService for CodeMirrorEditors.\n */\n constructor(options = {}) {\n var _a, _b, _c;\n /**\n * Create a new editor for inline code.\n */\n this.newInlineEditor = (options) => {\n options.host.dataset.type = 'inline';\n return this.newEditor({\n ...options,\n config: { ...this.inlineCodeMirrorConfig, ...(options.config || {}) },\n inline: true\n });\n };\n /**\n * Create a new editor for a full document.\n */\n this.newDocumentEditor = (options) => {\n var _a, _b;\n options.host.dataset.type = 'document';\n return this.newEditor({\n ...options,\n config: { ...this.documentCodeMirrorConfig, ...((_a = options.config) !== null && _a !== void 0 ? _a : {}) },\n inline: false,\n extensions: [\n _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.keymap.of([\n {\n key: 'Shift-Enter',\n run: (target) => {\n return true;\n }\n }\n ])\n ].concat((_b = options.extensions) !== null && _b !== void 0 ? _b : [])\n });\n };\n this.languages = (_a = options.languages) !== null && _a !== void 0 ? _a : new _language__WEBPACK_IMPORTED_MODULE_4__.EditorLanguageRegistry();\n this.extensions = (_b = options.extensions) !== null && _b !== void 0 ? _b : new _extension__WEBPACK_IMPORTED_MODULE_2__.EditorExtensionRegistry();\n this.translator = (_c = options.translator) !== null && _c !== void 0 ? _c : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator;\n this.inlineCodeMirrorConfig = {\n searchWithCM: true\n };\n this.documentCodeMirrorConfig = {\n lineNumbers: true,\n scrollPastEnd: true\n };\n }\n /**\n * Create a new editor\n *\n * @param options Editor options\n * @returns The editor\n */\n newEditor(options) {\n const editor = new _editor__WEBPACK_IMPORTED_MODULE_3__.CodeMirrorEditor({\n extensionsRegistry: this.extensions,\n languages: this.languages,\n translator: this.translator,\n ...options\n });\n return editor;\n }\n}\n//# sourceMappingURL=factory.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/factory.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/index.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/index.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeMirrorEditor: () => (/* reexport safe */ _editor__WEBPACK_IMPORTED_MODULE_1__.CodeMirrorEditor),\n/* harmony export */ CodeMirrorEditorFactory: () => (/* reexport safe */ _factory__WEBPACK_IMPORTED_MODULE_4__.CodeMirrorEditorFactory),\n/* harmony export */ CodeMirrorMimeTypeService: () => (/* reexport safe */ _mimetype__WEBPACK_IMPORTED_MODULE_6__.CodeMirrorMimeTypeService),\n/* harmony export */ CodeMirrorSearchHighlighter: () => (/* reexport safe */ _searchprovider__WEBPACK_IMPORTED_MODULE_7__.CodeMirrorSearchHighlighter),\n/* harmony export */ EditorExtensionRegistry: () => (/* reexport safe */ _extension__WEBPACK_IMPORTED_MODULE_2__.EditorExtensionRegistry),\n/* harmony export */ EditorLanguageRegistry: () => (/* reexport safe */ _language__WEBPACK_IMPORTED_MODULE_5__.EditorLanguageRegistry),\n/* harmony export */ EditorSearchProvider: () => (/* reexport safe */ _searchprovider__WEBPACK_IMPORTED_MODULE_7__.EditorSearchProvider),\n/* harmony export */ EditorThemeRegistry: () => (/* reexport safe */ _theme__WEBPACK_IMPORTED_MODULE_8__.EditorThemeRegistry),\n/* harmony export */ ExtensionsHandler: () => (/* reexport safe */ _extension__WEBPACK_IMPORTED_MODULE_2__.ExtensionsHandler),\n/* harmony export */ IEditorExtensionRegistry: () => (/* reexport safe */ _token__WEBPACK_IMPORTED_MODULE_9__.IEditorExtensionRegistry),\n/* harmony export */ IEditorLanguageRegistry: () => (/* reexport safe */ _token__WEBPACK_IMPORTED_MODULE_9__.IEditorLanguageRegistry),\n/* harmony export */ IEditorThemeRegistry: () => (/* reexport safe */ _token__WEBPACK_IMPORTED_MODULE_9__.IEditorThemeRegistry),\n/* harmony export */ PythonBuiltin: () => (/* reexport safe */ _pythonBuiltin__WEBPACK_IMPORTED_MODULE_10__.PythonBuiltin),\n/* harmony export */ StateCommands: () => (/* reexport safe */ _commands__WEBPACK_IMPORTED_MODULE_0__.StateCommands),\n/* harmony export */ YRange: () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_3__.YRange),\n/* harmony export */ YSyncConfig: () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_3__.YSyncConfig),\n/* harmony export */ customTheme: () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_3__.customTheme),\n/* harmony export */ jupyterEditorTheme: () => (/* reexport safe */ _theme__WEBPACK_IMPORTED_MODULE_8__.jupyterEditorTheme),\n/* harmony export */ jupyterHighlightStyle: () => (/* reexport safe */ _theme__WEBPACK_IMPORTED_MODULE_8__.jupyterHighlightStyle),\n/* harmony export */ jupyterTheme: () => (/* reexport safe */ _theme__WEBPACK_IMPORTED_MODULE_8__.jupyterTheme),\n/* harmony export */ parseMathIPython: () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_3__.parseMathIPython),\n/* harmony export */ pythonBuiltin: () => (/* reexport safe */ _pythonBuiltin__WEBPACK_IMPORTED_MODULE_10__.pythonBuiltin),\n/* harmony export */ rulers: () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_3__.rulers),\n/* harmony export */ ySync: () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_3__.ySync),\n/* harmony export */ ySyncAnnotation: () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_3__.ySyncAnnotation),\n/* harmony export */ ySyncFacet: () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_3__.ySyncFacet),\n/* harmony export */ ybinding: () => (/* reexport safe */ _extensions__WEBPACK_IMPORTED_MODULE_3__.ybinding)\n/* harmony export */ });\n/* harmony import */ var _commands__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./commands */ \"../node_modules/@jupyterlab/codemirror/lib/commands.js\");\n/* harmony import */ var _editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./editor */ \"../node_modules/@jupyterlab/codemirror/lib/editor.js\");\n/* harmony import */ var _extension__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./extension */ \"../node_modules/@jupyterlab/codemirror/lib/extension.js\");\n/* harmony import */ var _extensions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./extensions */ \"../node_modules/@jupyterlab/codemirror/lib/extensions/index.js\");\n/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./factory */ \"../node_modules/@jupyterlab/codemirror/lib/factory.js\");\n/* harmony import */ var _language__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./language */ \"../node_modules/@jupyterlab/codemirror/lib/language.js\");\n/* harmony import */ var _mimetype__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mimetype */ \"../node_modules/@jupyterlab/codemirror/lib/mimetype.js\");\n/* harmony import */ var _searchprovider__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./searchprovider */ \"../node_modules/@jupyterlab/codemirror/lib/searchprovider.js\");\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./theme */ \"../node_modules/@jupyterlab/codemirror/lib/theme.js\");\n/* harmony import */ var _token__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./token */ \"../node_modules/@jupyterlab/codemirror/lib/token.js\");\n/* harmony import */ var _pythonBuiltin__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./pythonBuiltin */ \"../node_modules/@jupyterlab/codemirror/lib/pythonBuiltin.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module codemirror\n */\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/language.js":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/language.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EditorLanguageRegistry: () => (/* binding */ EditorLanguageRegistry)\n/* harmony export */ });\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/language */ \"webpack/sharing/consume/default/@codemirror/language/@codemirror/language\");\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_language__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lezer_generator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lezer/generator */ \"../node_modules/@lezer/generator/dist/index.js\");\n/* harmony import */ var _lezer_highlight__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lezer/highlight */ \"webpack/sharing/consume/default/@lezer/highlight/@lezer/highlight\");\n/* harmony import */ var _lezer_highlight__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lezer_highlight__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./theme */ \"../node_modules/@jupyterlab/codemirror/lib/theme.js\");\n/* harmony import */ var _pythonBuiltin__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./pythonBuiltin */ \"../node_modules/@jupyterlab/codemirror/lib/pythonBuiltin.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n/**\n * CodeMirror language registry\n */\nclass EditorLanguageRegistry {\n constructor() {\n this._modeList = [];\n // Add default language text/plain -> No expressions to parse\n this.addLanguage({\n name: 'none',\n mime: 'text/plain',\n support: new _codemirror_language__WEBPACK_IMPORTED_MODULE_0__.LanguageSupport(\n // Create a dummy parser that as no expression to parse\n _codemirror_language__WEBPACK_IMPORTED_MODULE_0__.LRLanguage.define({ parser: (0,_lezer_generator__WEBPACK_IMPORTED_MODULE_4__.buildParser)('@top Program { }') }))\n });\n }\n /**\n * Register a new language for CodeMirror\n *\n * @param language Language to register\n */\n addLanguage(language) {\n var _a;\n const info = (_a = this.findByName(language.name)) !== null && _a !== void 0 ? _a : this.findByMIME(language.mime, true);\n if (info) {\n throw new Error(`${language.mime} already registered`);\n }\n this._modeList.push(this.makeSpec(language));\n }\n /**\n * Ensure a codemirror mode is available by name or Codemirror spec.\n *\n * @param language - The mode to ensure. If it is a string, uses [findBest]\n * to get the appropriate spec.\n *\n * @returns A promise that resolves when the mode is available.\n */\n async getLanguage(language) {\n const spec = this.findBest(language);\n if (spec && !spec.support) {\n spec.support = await spec.load();\n }\n return spec;\n }\n /**\n * Get the raw list of available modes specs.\n *\n * @returns The available modes\n */\n getLanguages() {\n return [...this._modeList];\n }\n /**\n * Find a codemirror mode by MIME.\n *\n * @param mime Mime type to look for\n * @param strict Whether xml and json should be assimilated to the generic mimetype\n * @returns The mode or null\n */\n findByMIME(mime, strict = false) {\n if (Array.isArray(mime)) {\n for (let i = 0; i < mime.length; i++) {\n const spec = this.findByMIME(mime[i]);\n if (spec)\n return spec;\n }\n return null;\n }\n mime = mime.toLowerCase();\n for (let i = 0; i < this._modeList.length; i++) {\n let info = this._modeList[i];\n if (Array.isArray(info.mime)) {\n for (let j = 0; j < info.mime.length; j++) {\n if (info.mime[j] == mime) {\n return info;\n }\n }\n }\n else if (info.mime == mime) {\n return info;\n }\n }\n if (!strict) {\n if (/\\+xml$/.test(mime))\n return this.findByMIME('application/xml');\n if (/\\+json$/.test(mime))\n return this.findByMIME('application/json');\n }\n return null;\n }\n /**\n * Find a codemirror mode by name.\n *\n * @param name The mode name\n * @returns The mode or null\n */\n findByName(name) {\n name = name.toLowerCase();\n for (let i = 0; i < this._modeList.length; i++) {\n let info = this._modeList[i];\n if (info.name.toLowerCase() == name)\n return info;\n if (info.alias) {\n for (let j = 0; j < info.alias.length; j++) {\n if (info.alias[j].toLowerCase() == name) {\n return info;\n }\n }\n }\n }\n return null;\n }\n /**\n * Find a codemirror mode by extension.\n *\n * @param ext The extension name\n * @returns The mode or null\n */\n findByExtension(ext) {\n if (Array.isArray(ext)) {\n for (let i = 0; i < ext.length; i++) {\n const spec = this.findByExtension(ext[i]);\n if (spec)\n return spec;\n }\n return null;\n }\n ext = ext.toLowerCase();\n for (let i = 0; i < this._modeList.length; i++) {\n let info = this._modeList[i];\n for (let j = 0; j < info.extensions.length; j++) {\n if (info.extensions[j].toLowerCase() == ext) {\n return info;\n }\n }\n }\n return null;\n }\n /**\n * Find a codemirror mode by filename.\n *\n * @param name File name\n * @returns The mode or null\n */\n findByFileName(name) {\n const basename = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PathExt.basename(name);\n for (let i = 0; i < this._modeList.length; i++) {\n let info = this._modeList[i];\n if (info.filename && info.filename.test(basename)) {\n return info;\n }\n }\n let dot = basename.lastIndexOf('.');\n let ext = dot > -1 && basename.substring(dot + 1, basename.length);\n if (ext) {\n return this.findByExtension(ext);\n }\n return null;\n }\n /**\n * Find a codemirror mode by name or CodeMirror spec.\n *\n * @param language The CodeMirror mode\n * @param fallback Whether to fallback to default mimetype spec or not\n * @returns The mode or null\n */\n findBest(language, fallback = true) {\n var _a, _b, _c, _d;\n const modename = typeof language === 'string' ? language : language.name;\n const mimetype = typeof language !== 'string' ? language.mime : modename;\n const ext = typeof language !== 'string' ? (_a = language.extensions) !== null && _a !== void 0 ? _a : [] : [];\n return ((_d = (_c = (_b = (modename ? this.findByName(modename) : null)) !== null && _b !== void 0 ? _b : (mimetype ? this.findByMIME(mimetype) : null)) !== null && _c !== void 0 ? _c : this.findByExtension(ext)) !== null && _d !== void 0 ? _d : (fallback\n ? this.findByMIME(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.IEditorMimeTypeService.defaultMimeType)\n : null));\n }\n /**\n * Parse and style a string.\n *\n * @param code Code to highlight\n * @param language Code language\n * @param el HTML element into which the highlighted code will be inserted\n */\n async highlight(code, language, el) {\n var _a;\n if (language) {\n await this.getLanguage(language);\n }\n const language_ = (_a = language === null || language === void 0 ? void 0 : language.support) === null || _a === void 0 ? void 0 : _a.language;\n if (!language_) {\n el.appendChild(document.createTextNode(code));\n return;\n }\n const tree = language_.parser.parse(code);\n // position state required because unstyled tokens are not emitted\n // in highlightTree\n let pos = 0;\n (0,_lezer_highlight__WEBPACK_IMPORTED_MODULE_5__.highlightTree)(tree, _theme__WEBPACK_IMPORTED_MODULE_6__.jupyterHighlightStyle, (from, to, classes) => {\n if (from > pos) {\n // No style applied to the token between pos and from\n el.appendChild(document.createTextNode(code.slice(pos, from)));\n }\n const sp = el.appendChild(document.createElement('span'));\n sp.className = classes;\n sp.appendChild(document.createTextNode(code.slice(from, to)));\n pos = to;\n });\n if (pos < tree.length - 1) {\n // No style applied on the trailing text\n el.appendChild(document.createTextNode(code.slice(pos, tree.length)));\n }\n }\n // Code mirror uses two similar structures, a plain object with optional fields,\n // and a class with the same fields but all mandatory. Maybe adopting the same\n // pattern would be less confusing (although far more verbose)\n makeSpec(spec) {\n let res = _codemirror_language__WEBPACK_IMPORTED_MODULE_0__.LanguageDescription.of(spec);\n // CodeMirror does not store/use mime type of a language\n res.mime = spec.mime;\n res.displayName = spec.displayName;\n return res;\n }\n}\n/**\n * EditorLanguageRegistry namespace\n */\n(function (EditorLanguageRegistry) {\n /**\n * Convert an CodeMirror 5 language parser to CodeMirror 6\n *\n * @param parser Legacy parser\n * @returns Language object\n */\n function legacy(parser) {\n return new _codemirror_language__WEBPACK_IMPORTED_MODULE_0__.LanguageSupport(_codemirror_language__WEBPACK_IMPORTED_MODULE_0__.StreamLanguage.define(parser));\n }\n EditorLanguageRegistry.legacy = legacy;\n /**\n * Create a dialect of SQL\n *\n * @param dialectName SQL dialect\n * @returns Language object\n */\n async function sql(dialectName) {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-sql_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-sql */ \"../node_modules/@codemirror/lang-sql/dist/index.js\"));\n return m.sql({ dialect: m[dialectName] });\n }\n /**\n * Get the default editor languages\n *\n * @param translator Application translator\n * @returns Default CodeMirror 6 languages\n */\n function getDefaultLanguages(translator) {\n const trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator).load('jupyterlab');\n return [\n {\n name: 'C',\n displayName: trans.__('C'),\n mime: 'text/x-csrc',\n extensions: ['c', 'h', 'ino'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-cpp_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-cpp */ \"../node_modules/@codemirror/lang-cpp/dist/index.js\"));\n return m.cpp();\n }\n },\n {\n name: 'C++',\n displayName: trans.__('C++'),\n mime: 'text/x-c++src',\n extensions: ['cpp', 'c++', 'cc', 'cxx', 'hpp', 'h++', 'hh', 'hxx'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-cpp_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-cpp */ \"../node_modules/@codemirror/lang-cpp/dist/index.js\"));\n return m.cpp();\n }\n },\n {\n name: 'CQL',\n displayName: trans.__('CQL'),\n mime: 'text/x-cassandra',\n extensions: ['cql'],\n load() {\n return sql('Cassandra');\n }\n },\n {\n name: 'CSS',\n displayName: trans.__('CSS'),\n mime: 'text/css',\n extensions: ['css'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-css_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-css */ \"../node_modules/@codemirror/lang-css/dist/index.js\"));\n return m.css();\n }\n },\n {\n name: 'HTML',\n displayName: trans.__('HTML'),\n alias: ['xhtml'],\n mime: 'text/html',\n extensions: ['html', 'htm', 'handlebars', 'hbs'],\n async load() {\n const m = await Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_codemirror_lang-javascript_dist_index_js\"), __webpack_require__.e(\"vendors-node_modules_codemirror_lang-css_dist_index_js\"), __webpack_require__.e(\"vendors-node_modules_codemirror_lang-html_dist_index_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-html */ \"../node_modules/@codemirror/lang-html/dist/index.js\"));\n return m.html();\n }\n },\n {\n name: 'Java',\n displayName: trans.__('Java'),\n mime: 'text/x-java',\n extensions: ['java'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-java_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-java */ \"../node_modules/@codemirror/lang-java/dist/index.js\"));\n return m.java();\n }\n },\n {\n name: 'Javascript',\n displayName: trans.__('Javascript'),\n alias: ['ecmascript', 'js', 'node'],\n mime: [\n 'text/javascript',\n 'text/ecmascript',\n 'application/javascript',\n 'application/x-javascript',\n 'application/ecmascript'\n ],\n extensions: ['js', 'mjs', 'cjs'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-javascript_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-javascript */ \"../node_modules/@codemirror/lang-javascript/dist/index.js\"));\n return m.javascript();\n }\n },\n {\n name: 'JSON',\n displayName: trans.__('JSON'),\n alias: ['json5'],\n mime: ['application/json', 'application/x-json'],\n extensions: ['json', 'map'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_lang-json_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-json */ \"../node_modules/@codemirror/lang-json/dist/index.js\"));\n return m.json();\n }\n },\n {\n name: 'JSX',\n displayName: trans.__('JSX'),\n mime: 'text/jsx',\n extensions: ['jsx'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-javascript_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-javascript */ \"../node_modules/@codemirror/lang-javascript/dist/index.js\"));\n return m.javascript({ jsx: true });\n }\n },\n {\n name: 'MariaDB SQL',\n displayName: trans.__('MariaDB SQL'),\n mime: 'text/x-mariadb',\n load() {\n return sql('MariaSQL');\n }\n },\n {\n name: 'Markdown',\n displayName: trans.__('Markdown'),\n mime: 'text/x-markdown',\n extensions: ['md', 'markdown', 'mkd'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"webpack_sharing_consume_default_codemirror_lang-markdown_codemirror_lang-markdown\").then(__webpack_require__.t.bind(__webpack_require__, /*! @codemirror/lang-markdown */ \"webpack/sharing/consume/default/@codemirror/lang-markdown/@codemirror/lang-markdown\", 23));\n return m.markdown({ codeLanguages: this._modeList });\n }\n },\n {\n name: 'MS SQL',\n displayName: trans.__('MS SQL'),\n mime: 'text/x-mssql',\n load() {\n return sql('MSSQL');\n }\n },\n {\n name: 'MySQL',\n displayName: trans.__('MySQL'),\n mime: 'text/x-mysql',\n load() {\n return sql('MySQL');\n }\n },\n {\n name: 'PHP',\n displayName: trans.__('PHP'),\n mime: [\n 'text/x-php',\n 'application/x-httpd-php',\n 'application/x-httpd-php-open'\n ],\n extensions: ['php', 'php3', 'php4', 'php5', 'php7', 'phtml'],\n async load() {\n const m = await Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_codemirror_lang-javascript_dist_index_js\"), __webpack_require__.e(\"vendors-node_modules_codemirror_lang-css_dist_index_js\"), __webpack_require__.e(\"vendors-node_modules_codemirror_lang-html_dist_index_js\"), __webpack_require__.e(\"vendors-node_modules_codemirror_lang-php_dist_index_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-php */ \"../node_modules/@codemirror/lang-php/dist/index.js\"));\n return m.php();\n }\n },\n {\n name: 'PLSQL',\n displayName: trans.__('PLSQL'),\n mime: 'text/x-plsql',\n extensions: ['pls'],\n load() {\n return sql('PLSQL');\n }\n },\n {\n name: 'PostgreSQL',\n displayName: trans.__('PostgreSQL'),\n mime: 'text/x-pgsql',\n load() {\n return sql('PostgreSQL');\n }\n },\n {\n name: 'Python',\n displayName: trans.__('Python'),\n mime: 'text/x-python',\n extensions: ['BUILD', 'bzl', 'py', 'pyw'],\n filename: /^(BUCK|BUILD)$/,\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-python_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-python */ \"../node_modules/@codemirror/lang-python/dist/index.js\"));\n return new _codemirror_language__WEBPACK_IMPORTED_MODULE_0__.LanguageSupport(m.pythonLanguage, (0,_pythonBuiltin__WEBPACK_IMPORTED_MODULE_7__.pythonBuiltin)(m.pythonLanguage));\n }\n },\n {\n name: 'ipython',\n displayName: trans.__('ipython'),\n mime: 'text/x-ipython',\n async load() {\n // FIXME Restore '?' operator - using the default python LanguageSupport allows\n // to activate feature such as code folding.\n // return Promise.resolve(legacy(mkPython({ singleOperators: /\\?/ })));\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-python_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-python */ \"../node_modules/@codemirror/lang-python/dist/index.js\"));\n return new _codemirror_language__WEBPACK_IMPORTED_MODULE_0__.LanguageSupport(m.pythonLanguage, (0,_pythonBuiltin__WEBPACK_IMPORTED_MODULE_7__.pythonBuiltin)(m.pythonLanguage));\n }\n },\n {\n name: 'Rust',\n displayName: trans.__('Rust'),\n mime: 'text/x-rustsrc',\n extensions: ['rs'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-rust_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-rust */ \"../node_modules/@codemirror/lang-rust/dist/index.js\"));\n return m.rust();\n }\n },\n {\n name: 'SQL',\n displayName: trans.__('SQL'),\n mime: ['application/sql', 'text/x-sql'],\n extensions: ['sql'],\n load() {\n return sql('StandardSQL');\n }\n },\n {\n name: 'SQLite',\n displayName: trans.__('SQLite'),\n mime: 'text/x-sqlite',\n load() {\n return sql('SQLite');\n }\n },\n {\n name: 'TSX',\n displayName: trans.__('TSX'),\n alias: ['TypeScript-JSX'],\n mime: 'text/typescript-jsx',\n extensions: ['tsx'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-javascript_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-javascript */ \"../node_modules/@codemirror/lang-javascript/dist/index.js\"));\n return m.javascript({ jsx: true, typescript: true });\n }\n },\n {\n name: 'TypeScript',\n displayName: trans.__('TypeScript'),\n alias: ['ts'],\n mime: 'application/typescript',\n extensions: ['ts'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-javascript_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-javascript */ \"../node_modules/@codemirror/lang-javascript/dist/index.js\"));\n return m.javascript({ typescript: true });\n }\n },\n {\n name: 'WebAssembly',\n displayName: trans.__('WebAssembly'),\n mime: 'text/webassembly',\n extensions: ['wat', 'wast'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_lang-wast_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-wast */ \"../node_modules/@codemirror/lang-wast/dist/index.js\"));\n return m.wast();\n }\n },\n {\n name: 'XML',\n displayName: trans.__('XML'),\n alias: ['rss', 'wsdl', 'xsd'],\n mime: ['application/xml', 'text/xml'],\n extensions: ['xml', 'xsl', 'xsd', 'svg'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_lang-xml_dist_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/lang-xml */ \"../node_modules/@codemirror/lang-xml/dist/index.js\"));\n return m.xml();\n }\n },\n // Legacy modes ported from CodeMirror 5\n {\n name: 'APL',\n displayName: trans.__('APL'),\n mime: 'text/apl',\n extensions: ['dyalog', 'apl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_apl_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/apl */ \"../node_modules/@codemirror/legacy-modes/mode/apl.js\"));\n return legacy(m.apl);\n }\n },\n {\n name: 'PGP',\n displayName: trans.__('PGP'),\n alias: ['asciiarmor'],\n mime: [\n 'application/pgp',\n 'application/pgp-encrypted',\n 'application/pgp-keys',\n 'application/pgp-signature'\n ],\n extensions: ['asc', 'pgp', 'sig'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_asciiarmor_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/asciiarmor */ \"../node_modules/@codemirror/legacy-modes/mode/asciiarmor.js\"));\n return legacy(m.asciiArmor);\n }\n },\n {\n name: 'ASN.1',\n displayName: trans.__('ASN.1'),\n mime: 'text/x-ttcn-asn',\n extensions: ['asn', 'asn1'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_asn1_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/asn1 */ \"../node_modules/@codemirror/legacy-modes/mode/asn1.js\"));\n return legacy(m.asn1({}));\n }\n },\n {\n name: 'Asterisk',\n displayName: trans.__('Asterisk'),\n mime: 'text/x-asterisk',\n filename: /^extensions\\.conf$/i,\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_asterisk_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/asterisk */ \"../node_modules/@codemirror/legacy-modes/mode/asterisk.js\"));\n return legacy(m.asterisk);\n }\n },\n {\n name: 'Brainfuck',\n displayName: trans.__('Brainfuck'),\n mime: 'text/x-brainfuck',\n extensions: ['b', 'bf'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_brainfuck_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/brainfuck */ \"../node_modules/@codemirror/legacy-modes/mode/brainfuck.js\"));\n return legacy(m.brainfuck);\n }\n },\n {\n name: 'Cobol',\n displayName: trans.__('Cobol'),\n mime: 'text/x-cobol',\n extensions: ['cob', 'cpy'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_cobol_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/cobol */ \"../node_modules/@codemirror/legacy-modes/mode/cobol.js\"));\n return legacy(m.cobol);\n }\n },\n {\n name: 'C#',\n displayName: trans.__('C#'),\n alias: ['csharp', 'cs'],\n mime: 'text/x-csharp',\n extensions: ['cs'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clike */ \"../node_modules/@codemirror/legacy-modes/mode/clike.js\"));\n return legacy(m.csharp);\n }\n },\n {\n name: 'Clojure',\n displayName: trans.__('Clojure'),\n mime: 'text/x-clojure',\n extensions: ['clj', 'cljc', 'cljx'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clojure_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clojure */ \"../node_modules/@codemirror/legacy-modes/mode/clojure.js\"));\n return legacy(m.clojure);\n }\n },\n {\n name: 'ClojureScript',\n displayName: trans.__('ClojureScript'),\n mime: 'text/x-clojurescript',\n extensions: ['cljs'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clojure_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clojure */ \"../node_modules/@codemirror/legacy-modes/mode/clojure.js\"));\n return legacy(m.clojure);\n }\n },\n {\n name: 'Closure Stylesheets (GSS)',\n displayName: trans.__('Closure Stylesheets (GSS)'),\n mime: 'text/x-gss',\n extensions: ['gss'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_css_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/css */ \"../node_modules/@codemirror/legacy-modes/mode/css.js\"));\n return legacy(m.gss);\n }\n },\n {\n name: 'CMake',\n displayName: trans.__('CMake'),\n mime: 'text/x-cmake',\n extensions: ['cmake', 'cmake.in'],\n filename: /^CMakeLists\\.txt$/,\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_cmake_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/cmake */ \"../node_modules/@codemirror/legacy-modes/mode/cmake.js\"));\n return legacy(m.cmake);\n }\n },\n {\n name: 'CoffeeScript',\n displayName: trans.__('CoffeeScript'),\n alias: ['coffee', 'coffee-script'],\n mime: [\n 'application/vnd.coffeescript',\n 'text/coffeescript',\n 'text/x-coffeescript'\n ],\n extensions: ['coffee'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_coffeescript_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/coffeescript */ \"../node_modules/@codemirror/legacy-modes/mode/coffeescript.js\"));\n return legacy(m.coffeeScript);\n }\n },\n {\n name: 'Common Lisp',\n displayName: trans.__('Common Lisp'),\n alias: ['lisp'],\n mime: 'text/x-common-lisp',\n extensions: ['cl', 'lisp', 'el'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_commonlisp_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/commonlisp */ \"../node_modules/@codemirror/legacy-modes/mode/commonlisp.js\"));\n return legacy(m.commonLisp);\n }\n },\n {\n name: 'Cypher',\n displayName: trans.__('Cypher'),\n mime: 'application/x-cypher-query',\n extensions: ['cyp', 'cypher'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_cypher_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/cypher */ \"../node_modules/@codemirror/legacy-modes/mode/cypher.js\"));\n return legacy(m.cypher);\n }\n },\n {\n name: 'Cython',\n displayName: trans.__('Cython'),\n mime: 'text/x-cython',\n extensions: ['pyx', 'pxd', 'pxi'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_python_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/python */ \"../node_modules/@codemirror/legacy-modes/mode/python.js\"));\n return legacy(m.cython);\n }\n },\n {\n name: 'Crystal',\n displayName: trans.__('Crystal'),\n mime: 'text/x-crystal',\n extensions: ['cr'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_crystal_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/crystal */ \"../node_modules/@codemirror/legacy-modes/mode/crystal.js\"));\n return legacy(m.crystal);\n }\n },\n {\n name: 'D',\n displayName: trans.__('D'),\n mime: 'text/x-d',\n extensions: ['d'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_d_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/d */ \"../node_modules/@codemirror/legacy-modes/mode/d.js\"));\n return legacy(m.d);\n }\n },\n {\n name: 'Dart',\n displayName: trans.__('Dart'),\n mime: ['application/dart', 'text/x-dart'],\n extensions: ['dart'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clike */ \"../node_modules/@codemirror/legacy-modes/mode/clike.js\"));\n return legacy(m.dart);\n }\n },\n {\n name: 'diff',\n displayName: trans.__('diff'),\n mime: 'text/x-diff',\n extensions: ['diff', 'patch'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_diff_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/diff */ \"../node_modules/@codemirror/legacy-modes/mode/diff.js\"));\n return legacy(m.diff);\n }\n },\n {\n name: 'Dockerfile',\n displayName: trans.__('Dockerfile'),\n mime: 'text/x-dockerfile',\n filename: /^Dockerfile$/,\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_dockerfile_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/dockerfile */ \"../node_modules/@codemirror/legacy-modes/mode/dockerfile.js\"));\n return legacy(m.dockerFile);\n }\n },\n {\n name: 'DTD',\n displayName: trans.__('DTD'),\n mime: 'application/xml-dtd',\n extensions: ['dtd'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_dtd_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/dtd */ \"../node_modules/@codemirror/legacy-modes/mode/dtd.js\"));\n return legacy(m.dtd);\n }\n },\n {\n name: 'Dylan',\n displayName: trans.__('Dylan'),\n mime: 'text/x-dylan',\n extensions: ['dylan', 'dyl', 'intr'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_dylan_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/dylan */ \"../node_modules/@codemirror/legacy-modes/mode/dylan.js\"));\n return legacy(m.dylan);\n }\n },\n {\n name: 'EBNF',\n displayName: trans.__('EBNF'),\n mime: 'text/x-ebnf',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_ebnf_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/ebnf */ \"../node_modules/@codemirror/legacy-modes/mode/ebnf.js\"));\n return legacy(m.ebnf);\n }\n },\n {\n name: 'ECL',\n displayName: trans.__('ECL'),\n mime: 'text/x-ecl',\n extensions: ['ecl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_ecl_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/ecl */ \"../node_modules/@codemirror/legacy-modes/mode/ecl.js\"));\n return legacy(m.ecl);\n }\n },\n {\n name: 'edn',\n displayName: trans.__('edn'),\n mime: 'application/edn',\n extensions: ['edn'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clojure_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clojure */ \"../node_modules/@codemirror/legacy-modes/mode/clojure.js\"));\n return legacy(m.clojure);\n }\n },\n {\n name: 'Eiffel',\n displayName: trans.__('Eiffel'),\n mime: 'text/x-eiffel',\n extensions: ['e'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_eiffel_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/eiffel */ \"../node_modules/@codemirror/legacy-modes/mode/eiffel.js\"));\n return legacy(m.eiffel);\n }\n },\n {\n name: 'Elm',\n displayName: trans.__('Elm'),\n mime: 'text/x-elm',\n extensions: ['elm'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_elm_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/elm */ \"../node_modules/@codemirror/legacy-modes/mode/elm.js\"));\n return legacy(m.elm);\n }\n },\n {\n name: 'Erlang',\n displayName: trans.__('Erlang'),\n mime: 'text/x-erlang',\n extensions: ['erl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_erlang_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/erlang */ \"../node_modules/@codemirror/legacy-modes/mode/erlang.js\"));\n return legacy(m.erlang);\n }\n },\n {\n name: 'Esper',\n displayName: trans.__('Esper'),\n mime: 'text/x-esper',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_sql_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/sql */ \"../node_modules/@codemirror/legacy-modes/mode/sql.js\"));\n return legacy(m.esper);\n }\n },\n {\n name: 'Factor',\n displayName: trans.__('Factor'),\n mime: 'text/x-factor',\n extensions: ['factor'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_factor_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/factor */ \"../node_modules/@codemirror/legacy-modes/mode/factor.js\"));\n return legacy(m.factor);\n }\n },\n {\n name: 'FCL',\n displayName: trans.__('FCL'),\n mime: 'text/x-fcl',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_fcl_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/fcl */ \"../node_modules/@codemirror/legacy-modes/mode/fcl.js\"));\n return legacy(m.fcl);\n }\n },\n {\n name: 'Forth',\n displayName: trans.__('Forth'),\n mime: 'text/x-forth',\n extensions: ['forth', 'fth', '4th'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_forth_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/forth */ \"../node_modules/@codemirror/legacy-modes/mode/forth.js\"));\n return legacy(m.forth);\n }\n },\n {\n name: 'Fortran',\n displayName: trans.__('Fortran'),\n mime: 'text/x-fortran',\n extensions: ['f', 'for', 'f77', 'f90', 'f95'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_fortran_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/fortran */ \"../node_modules/@codemirror/legacy-modes/mode/fortran.js\"));\n return legacy(m.fortran);\n }\n },\n {\n name: 'F#',\n displayName: trans.__('F#'),\n alias: ['fsharp'],\n mime: 'text/x-fsharp',\n extensions: ['fs'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mllike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mllike */ \"../node_modules/@codemirror/legacy-modes/mode/mllike.js\"));\n return legacy(m.fSharp);\n }\n },\n {\n name: 'Gas',\n displayName: trans.__('Gas'),\n mime: 'text/x-gas',\n extensions: ['s'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_gas_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/gas */ \"../node_modules/@codemirror/legacy-modes/mode/gas.js\"));\n return legacy(m.gas);\n }\n },\n {\n name: 'Gherkin',\n displayName: trans.__('Gherkin'),\n mime: 'text/x-feature',\n extensions: ['feature'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_gherkin_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/gherkin */ \"../node_modules/@codemirror/legacy-modes/mode/gherkin.js\"));\n return legacy(m.gherkin);\n }\n },\n {\n name: 'Go',\n displayName: trans.__('Go'),\n mime: 'text/x-go',\n extensions: ['go'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_go_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/go */ \"../node_modules/@codemirror/legacy-modes/mode/go.js\"));\n return legacy(m.go);\n }\n },\n {\n name: 'Groovy',\n displayName: trans.__('Groovy'),\n mime: 'text/x-groovy',\n extensions: ['groovy', 'gradle'],\n filename: /^Jenkinsfile$/,\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_groovy_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/groovy */ \"../node_modules/@codemirror/legacy-modes/mode/groovy.js\"));\n return legacy(m.groovy);\n }\n },\n {\n name: 'Haskell',\n displayName: trans.__('Haskell'),\n mime: 'text/x-haskell',\n extensions: ['hs'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_haskell_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/haskell */ \"../node_modules/@codemirror/legacy-modes/mode/haskell.js\"));\n return legacy(m.haskell);\n }\n },\n {\n name: 'Haxe',\n displayName: trans.__('Haxe'),\n mime: 'text/x-haxe',\n extensions: ['hx'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_haxe_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/haxe */ \"../node_modules/@codemirror/legacy-modes/mode/haxe.js\"));\n return legacy(m.haxe);\n }\n },\n {\n name: 'HXML',\n displayName: trans.__('HXML'),\n mime: 'text/x-hxml',\n extensions: ['hxml'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_haxe_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/haxe */ \"../node_modules/@codemirror/legacy-modes/mode/haxe.js\"));\n return legacy(m.hxml);\n }\n },\n {\n name: 'HTTP',\n displayName: trans.__('HTTP'),\n mime: 'message/http',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_http_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/http */ \"../node_modules/@codemirror/legacy-modes/mode/http.js\"));\n return legacy(m.http);\n }\n },\n {\n name: 'IDL',\n displayName: trans.__('IDL'),\n mime: 'text/x-idl',\n extensions: ['pro'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_idl_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/idl */ \"../node_modules/@codemirror/legacy-modes/mode/idl.js\"));\n return legacy(m.idl);\n }\n },\n {\n name: 'JSON-LD',\n displayName: trans.__('JSON-LD'),\n alias: ['jsonld'],\n mime: 'application/ld+json',\n extensions: ['jsonld'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_javascript_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/javascript */ \"../node_modules/@codemirror/legacy-modes/mode/javascript.js\"));\n return legacy(m.jsonld);\n }\n },\n {\n name: 'Jinja2',\n displayName: trans.__('Jinja2'),\n mime: 'text/jinja2',\n extensions: ['j2', 'jinja', 'jinja2'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_jinja2_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/jinja2 */ \"../node_modules/@codemirror/legacy-modes/mode/jinja2.js\"));\n return legacy(m.jinja2);\n }\n },\n {\n name: 'Julia',\n displayName: trans.__('Julia'),\n mime: 'text/x-julia',\n extensions: ['jl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_julia_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/julia */ \"../node_modules/@codemirror/legacy-modes/mode/julia.js\"));\n return legacy(m.julia);\n }\n },\n {\n name: 'Kotlin',\n displayName: trans.__('Kotlin'),\n mime: 'text/x-kotlin',\n extensions: ['kt'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clike */ \"../node_modules/@codemirror/legacy-modes/mode/clike.js\"));\n return legacy(m.kotlin);\n }\n },\n {\n name: 'LESS',\n displayName: trans.__('LESS'),\n mime: 'text/x-less',\n extensions: ['less'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_css_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/css */ \"../node_modules/@codemirror/legacy-modes/mode/css.js\"));\n return legacy(m.less);\n }\n },\n {\n name: 'LiveScript',\n displayName: trans.__('LiveScript'),\n alias: ['ls'],\n mime: 'text/x-livescript',\n extensions: ['ls'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_livescript_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/livescript */ \"../node_modules/@codemirror/legacy-modes/mode/livescript.js\"));\n return legacy(m.liveScript);\n }\n },\n {\n name: 'Lua',\n displayName: trans.__('Lua'),\n mime: 'text/x-lua',\n extensions: ['lua'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_lua_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/lua */ \"../node_modules/@codemirror/legacy-modes/mode/lua.js\"));\n return legacy(m.lua);\n }\n },\n {\n name: 'mIRC',\n displayName: trans.__('mIRC'),\n mime: 'text/mirc',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mirc_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mirc */ \"../node_modules/@codemirror/legacy-modes/mode/mirc.js\"));\n return legacy(m.mirc);\n }\n },\n {\n name: 'Mathematica',\n displayName: trans.__('Mathematica'),\n mime: 'text/x-mathematica',\n extensions: ['m', 'nb', 'wl', 'wls'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mathematica_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mathematica */ \"../node_modules/@codemirror/legacy-modes/mode/mathematica.js\"));\n return legacy(m.mathematica);\n }\n },\n {\n name: 'Modelica',\n displayName: trans.__('Modelica'),\n mime: 'text/x-modelica',\n extensions: ['mo'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_modelica_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/modelica */ \"../node_modules/@codemirror/legacy-modes/mode/modelica.js\"));\n return legacy(m.modelica);\n }\n },\n {\n name: 'MUMPS',\n displayName: trans.__('MUMPS'),\n mime: 'text/x-mumps',\n extensions: ['mps'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mumps_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mumps */ \"../node_modules/@codemirror/legacy-modes/mode/mumps.js\"));\n return legacy(m.mumps);\n }\n },\n {\n name: 'mbox',\n displayName: trans.__('mbox'),\n mime: 'application/mbox',\n extensions: ['mbox'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mbox_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mbox */ \"../node_modules/@codemirror/legacy-modes/mode/mbox.js\"));\n return legacy(m.mbox);\n }\n },\n {\n name: 'Nginx',\n displayName: trans.__('Nginx'),\n mime: 'text/x-nginx-conf',\n filename: /nginx.*\\.conf$/i,\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_nginx_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/nginx */ \"../node_modules/@codemirror/legacy-modes/mode/nginx.js\"));\n return legacy(m.nginx);\n }\n },\n {\n name: 'NSIS',\n displayName: trans.__('NSIS'),\n mime: 'text/x-nsis',\n extensions: ['nsh', 'nsi'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_nsis_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/nsis */ \"../node_modules/@codemirror/legacy-modes/mode/nsis.js\"));\n return legacy(m.nsis);\n }\n },\n {\n name: 'NTriples',\n displayName: trans.__('NTriples'),\n mime: [\n 'application/n-triples',\n 'application/n-quads',\n 'text/n-triples'\n ],\n extensions: ['nt', 'nq'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_ntriples_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/ntriples */ \"../node_modules/@codemirror/legacy-modes/mode/ntriples.js\"));\n return legacy(m.ntriples);\n }\n },\n {\n name: 'Objective-C',\n displayName: trans.__('Objective-C'),\n alias: ['objective-c', 'objc'],\n mime: 'text/x-objectivec',\n extensions: ['m'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clike */ \"../node_modules/@codemirror/legacy-modes/mode/clike.js\"));\n return legacy(m.objectiveC);\n }\n },\n {\n name: 'Objective-C++',\n displayName: trans.__('Objective-C++'),\n alias: ['objective-c++', 'objc++'],\n mime: 'text/x-objectivec++',\n extensions: ['mm'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clike */ \"../node_modules/@codemirror/legacy-modes/mode/clike.js\"));\n return legacy(m.objectiveCpp);\n }\n },\n {\n name: 'OCaml',\n displayName: trans.__('OCaml'),\n mime: 'text/x-ocaml',\n extensions: ['ml', 'mli', 'mll', 'mly'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mllike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mllike */ \"../node_modules/@codemirror/legacy-modes/mode/mllike.js\"));\n return legacy(m.oCaml);\n }\n },\n {\n name: 'Octave',\n displayName: trans.__('Octave'),\n mime: 'text/x-octave',\n extensions: ['m'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_octave_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/octave */ \"../node_modules/@codemirror/legacy-modes/mode/octave.js\"));\n return legacy(m.octave);\n }\n },\n {\n name: 'Oz',\n displayName: trans.__('Oz'),\n mime: 'text/x-oz',\n extensions: ['oz'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_oz_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/oz */ \"../node_modules/@codemirror/legacy-modes/mode/oz.js\"));\n return legacy(m.oz);\n }\n },\n {\n name: 'Pascal',\n displayName: trans.__('Pascal'),\n mime: 'text/x-pascal',\n extensions: ['p', 'pas'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_pascal_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/pascal */ \"../node_modules/@codemirror/legacy-modes/mode/pascal.js\"));\n return legacy(m.pascal);\n }\n },\n {\n name: 'Perl',\n displayName: trans.__('Perl'),\n mime: 'text/x-perl',\n extensions: ['pl', 'pm'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_perl_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/perl */ \"../node_modules/@codemirror/legacy-modes/mode/perl.js\"));\n return legacy(m.perl);\n }\n },\n {\n name: 'Pig',\n displayName: trans.__('Pig'),\n mime: 'text/x-pig',\n extensions: ['pig'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_pig_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/pig */ \"../node_modules/@codemirror/legacy-modes/mode/pig.js\"));\n return legacy(m.pig);\n }\n },\n {\n name: 'PowerShell',\n displayName: trans.__('PowerShell'),\n mime: 'application/x-powershell',\n extensions: ['ps1', 'psd1', 'psm1'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_powershell_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/powershell */ \"../node_modules/@codemirror/legacy-modes/mode/powershell.js\"));\n return legacy(m.powerShell);\n }\n },\n {\n name: 'Properties files',\n displayName: trans.__('Properties files'),\n alias: ['ini', 'properties'],\n mime: 'text/x-properties',\n extensions: ['properties', 'ini', 'in'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_properties_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/properties */ \"../node_modules/@codemirror/legacy-modes/mode/properties.js\"));\n return legacy(m.properties);\n }\n },\n {\n name: 'ProtoBuf',\n displayName: trans.__('ProtoBuf'),\n mime: 'text/x-protobuf',\n extensions: ['proto'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_protobuf_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/protobuf */ \"../node_modules/@codemirror/legacy-modes/mode/protobuf.js\"));\n return legacy(m.protobuf);\n }\n },\n {\n name: 'Pug',\n displayName: trans.__('Pug'),\n mime: 'text/x-pug',\n extensions: ['pug'],\n async load() {\n const m = await Promise.all(/*! import() */[__webpack_require__.e(\"vendors-node_modules_codemirror_legacy-modes_mode_javascript_js\"), __webpack_require__.e(\"vendors-node_modules_codemirror_legacy-modes_mode_pug_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/pug */ \"../node_modules/@codemirror/legacy-modes/mode/pug.js\"));\n return legacy(m.pug);\n }\n },\n {\n name: 'Puppet',\n displayName: trans.__('Puppet'),\n mime: 'text/x-puppet',\n extensions: ['pp'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_puppet_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/puppet */ \"../node_modules/@codemirror/legacy-modes/mode/puppet.js\"));\n return legacy(m.puppet);\n }\n },\n {\n name: 'Q',\n displayName: trans.__('Q'),\n mime: 'text/x-q',\n extensions: ['q'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_q_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/q */ \"../node_modules/@codemirror/legacy-modes/mode/q.js\"));\n return legacy(m.q);\n }\n },\n {\n name: 'R',\n displayName: trans.__('R'),\n alias: ['rscript'],\n mime: 'text/x-rsrc',\n extensions: ['r', 'R'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_r_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/r */ \"../node_modules/@codemirror/legacy-modes/mode/r.js\"));\n return legacy(m.r);\n }\n },\n {\n name: 'RPM Changes',\n displayName: trans.__('RPM Changes'),\n mime: 'text/x-rpm-changes',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_rpm_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/rpm */ \"../node_modules/@codemirror/legacy-modes/mode/rpm.js\"));\n return legacy(m.rpmChanges);\n }\n },\n {\n name: 'RPM Spec',\n displayName: trans.__('RPM Spec'),\n mime: 'text/x-rpm-spec',\n extensions: ['spec'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_rpm_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/rpm */ \"../node_modules/@codemirror/legacy-modes/mode/rpm.js\"));\n return legacy(m.rpmSpec);\n }\n },\n {\n name: 'Ruby',\n displayName: trans.__('Ruby'),\n alias: ['jruby', 'macruby', 'rake', 'rb', 'rbx'],\n mime: 'text/x-ruby',\n extensions: ['rb'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_ruby_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/ruby */ \"../node_modules/@codemirror/legacy-modes/mode/ruby.js\"));\n return legacy(m.ruby);\n }\n },\n {\n name: 'SAS',\n displayName: trans.__('SAS'),\n mime: 'text/x-sas',\n extensions: ['sas'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_sas_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/sas */ \"../node_modules/@codemirror/legacy-modes/mode/sas.js\"));\n return legacy(m.sas);\n }\n },\n {\n name: 'Scala',\n displayName: trans.__('Scala'),\n mime: 'text/x-scala',\n extensions: ['scala'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clike */ \"../node_modules/@codemirror/legacy-modes/mode/clike.js\"));\n return legacy(m.scala);\n }\n },\n {\n name: 'Scheme',\n displayName: trans.__('Scheme'),\n mime: 'text/x-scheme',\n extensions: ['scm', 'ss'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_scheme_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/scheme */ \"../node_modules/@codemirror/legacy-modes/mode/scheme.js\"));\n return legacy(m.scheme);\n }\n },\n {\n name: 'SCSS',\n displayName: trans.__('SCSS'),\n mime: 'text/x-scss',\n extensions: ['scss'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_css_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/css */ \"../node_modules/@codemirror/legacy-modes/mode/css.js\"));\n return legacy(m.sCSS);\n }\n },\n {\n name: 'Shell',\n displayName: trans.__('Shell'),\n alias: ['bash', 'sh', 'zsh'],\n mime: ['text/x-sh', 'application/x-sh'],\n extensions: ['sh', 'ksh', 'bash'],\n filename: /^PKGBUILD$/,\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_shell_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/shell */ \"../node_modules/@codemirror/legacy-modes/mode/shell.js\"));\n return legacy(m.shell);\n }\n },\n {\n name: 'Sieve',\n displayName: trans.__('Sieve'),\n mime: 'application/sieve',\n extensions: ['siv', 'sieve'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_sieve_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/sieve */ \"../node_modules/@codemirror/legacy-modes/mode/sieve.js\"));\n return legacy(m.sieve);\n }\n },\n {\n name: 'Smalltalk',\n displayName: trans.__('Smalltalk'),\n mime: 'text/x-stsrc',\n extensions: ['st'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_smalltalk_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/smalltalk */ \"../node_modules/@codemirror/legacy-modes/mode/smalltalk.js\"));\n return legacy(m.smalltalk);\n }\n },\n {\n name: 'Solr',\n displayName: trans.__('Solr'),\n mime: 'text/x-solr',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_solr_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/solr */ \"../node_modules/@codemirror/legacy-modes/mode/solr.js\"));\n return legacy(m.solr);\n }\n },\n {\n name: 'SML',\n displayName: trans.__('SML'),\n mime: 'text/x-sml',\n extensions: ['sml', 'sig', 'fun', 'smackspec'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mllike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mllike */ \"../node_modules/@codemirror/legacy-modes/mode/mllike.js\"));\n return legacy(m.sml);\n }\n },\n {\n name: 'SPARQL',\n displayName: trans.__('SPARQL'),\n alias: ['sparul'],\n mime: 'application/sparql-query',\n extensions: ['rq', 'sparql'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_sparql_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/sparql */ \"../node_modules/@codemirror/legacy-modes/mode/sparql.js\"));\n return legacy(m.sparql);\n }\n },\n {\n name: 'Spreadsheet',\n displayName: trans.__('Spreadsheet'),\n alias: ['excel', 'formula'],\n mime: 'text/x-spreadsheet',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_spreadsheet_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/spreadsheet */ \"../node_modules/@codemirror/legacy-modes/mode/spreadsheet.js\"));\n return legacy(m.spreadsheet);\n }\n },\n {\n name: 'Squirrel',\n displayName: trans.__('Squirrel'),\n mime: 'text/x-squirrel',\n extensions: ['nut'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_clike_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/clike */ \"../node_modules/@codemirror/legacy-modes/mode/clike.js\"));\n return legacy(m.squirrel);\n }\n },\n {\n name: 'Stylus',\n displayName: trans.__('Stylus'),\n mime: 'text/x-styl',\n extensions: ['styl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_stylus_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/stylus */ \"../node_modules/@codemirror/legacy-modes/mode/stylus.js\"));\n return legacy(m.stylus);\n }\n },\n {\n name: 'Swift',\n displayName: trans.__('Swift'),\n mime: 'text/x-swift',\n extensions: ['swift'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_swift_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/swift */ \"../node_modules/@codemirror/legacy-modes/mode/swift.js\"));\n return legacy(m.swift);\n }\n },\n {\n name: 'sTeX',\n displayName: trans.__('sTeX'),\n mime: 'text/x-stex',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_stex_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/stex */ \"../node_modules/@codemirror/legacy-modes/mode/stex.js\"));\n return legacy(m.stex);\n }\n },\n {\n name: 'LaTeX',\n displayName: trans.__('LaTeX'),\n alias: ['tex'],\n mime: 'text/x-latex',\n extensions: ['text', 'ltx', 'tex'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_stex_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/stex */ \"../node_modules/@codemirror/legacy-modes/mode/stex.js\"));\n return legacy(m.stex);\n }\n },\n {\n name: 'SystemVerilog',\n displayName: trans.__('SystemVerilog'),\n mime: 'text/x-systemverilog',\n extensions: ['v', 'sv', 'svh'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_verilog_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/verilog */ \"../node_modules/@codemirror/legacy-modes/mode/verilog.js\"));\n return legacy(m.verilog);\n }\n },\n {\n name: 'Tcl',\n displayName: trans.__('Tcl'),\n mime: 'text/x-tcl',\n extensions: ['tcl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_tcl_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/tcl */ \"../node_modules/@codemirror/legacy-modes/mode/tcl.js\"));\n return legacy(m.tcl);\n }\n },\n {\n name: 'Textile',\n displayName: trans.__('Textile'),\n mime: 'text/x-textile',\n extensions: ['textile'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_textile_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/textile */ \"../node_modules/@codemirror/legacy-modes/mode/textile.js\"));\n return legacy(m.textile);\n }\n },\n {\n name: 'TiddlyWiki',\n displayName: trans.__('TiddlyWiki'),\n mime: 'text/x-tiddlywiki',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_tiddlywiki_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/tiddlywiki */ \"../node_modules/@codemirror/legacy-modes/mode/tiddlywiki.js\"));\n return legacy(m.tiddlyWiki);\n }\n },\n {\n name: 'Tiki wiki',\n displayName: trans.__('Tiki wiki'),\n mime: 'text/tiki',\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_tiki_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/tiki */ \"../node_modules/@codemirror/legacy-modes/mode/tiki.js\"));\n return legacy(m.tiki);\n }\n },\n {\n name: 'TOML',\n displayName: trans.__('TOML'),\n mime: 'text/x-toml',\n extensions: ['toml'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_toml_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/toml */ \"../node_modules/@codemirror/legacy-modes/mode/toml.js\"));\n return legacy(m.toml);\n }\n },\n {\n name: 'troff',\n displayName: trans.__('troff'),\n mime: 'text/troff',\n extensions: ['1', '2', '3', '4', '5', '6', '7', '8', '9'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_troff_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/troff */ \"../node_modules/@codemirror/legacy-modes/mode/troff.js\"));\n return legacy(m.troff);\n }\n },\n {\n name: 'TTCN',\n displayName: trans.__('TTCN'),\n mime: 'text/x-ttcn',\n extensions: ['ttcn', 'ttcn3', 'ttcnpp'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_ttcn_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/ttcn */ \"../node_modules/@codemirror/legacy-modes/mode/ttcn.js\"));\n return legacy(m.ttcn);\n }\n },\n {\n name: 'TTCN_CFG',\n displayName: trans.__('TTCN_CFG'),\n mime: 'text/x-ttcn-cfg',\n extensions: ['cfg'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_ttcn-cfg_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/ttcn-cfg */ \"../node_modules/@codemirror/legacy-modes/mode/ttcn-cfg.js\"));\n return legacy(m.ttcnCfg);\n }\n },\n {\n name: 'Turtle',\n displayName: trans.__('Turtle'),\n mime: 'text/turtle',\n extensions: ['ttl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_turtle_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/turtle */ \"../node_modules/@codemirror/legacy-modes/mode/turtle.js\"));\n return legacy(m.turtle);\n }\n },\n {\n name: 'Web IDL',\n displayName: trans.__('Web IDL'),\n mime: 'text/x-webidl',\n extensions: ['webidl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_webidl_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/webidl */ \"../node_modules/@codemirror/legacy-modes/mode/webidl.js\"));\n return legacy(m.webIDL);\n }\n },\n {\n name: 'VB.NET',\n displayName: trans.__('VB.NET'),\n mime: 'text/x-vb',\n extensions: ['vb'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_vb_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/vb */ \"../node_modules/@codemirror/legacy-modes/mode/vb.js\"));\n return legacy(m.vb);\n }\n },\n {\n name: 'VBScript',\n displayName: trans.__('VBScript'),\n mime: 'text/vbscript',\n extensions: ['vbs'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_vbscript_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/vbscript */ \"../node_modules/@codemirror/legacy-modes/mode/vbscript.js\"));\n return legacy(m.vbScript);\n }\n },\n {\n name: 'Velocity',\n displayName: trans.__('Velocity'),\n mime: 'text/velocity',\n extensions: ['vtl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_velocity_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/velocity */ \"../node_modules/@codemirror/legacy-modes/mode/velocity.js\"));\n return legacy(m.velocity);\n }\n },\n {\n name: 'Verilog',\n displayName: trans.__('Verilog'),\n mime: 'text/x-verilog',\n extensions: ['v'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_verilog_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/verilog */ \"../node_modules/@codemirror/legacy-modes/mode/verilog.js\"));\n return legacy(m.verilog);\n }\n },\n {\n name: 'VHDL',\n displayName: trans.__('VHDL'),\n mime: 'text/x-vhdl',\n extensions: ['vhd', 'vhdl'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_vhdl_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/vhdl */ \"../node_modules/@codemirror/legacy-modes/mode/vhdl.js\"));\n return legacy(m.vhdl);\n }\n },\n {\n name: 'XQuery',\n displayName: trans.__('XQuery'),\n mime: 'application/xquery',\n extensions: ['xy', 'xquery'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"vendors-node_modules_codemirror_legacy-modes_mode_xquery_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/xquery */ \"../node_modules/@codemirror/legacy-modes/mode/xquery.js\"));\n return legacy(m.xQuery);\n }\n },\n {\n name: 'Yacas',\n displayName: trans.__('Yacas'),\n mime: 'text/x-yacas',\n extensions: ['ys'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_yacas_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/yacas */ \"../node_modules/@codemirror/legacy-modes/mode/yacas.js\"));\n return legacy(m.yacas);\n }\n },\n {\n name: 'YAML',\n displayName: trans.__('YAML'),\n alias: ['yml'],\n mime: ['text/x-yaml', 'text/yaml'],\n extensions: ['yaml', 'yml'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_yaml_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/yaml */ \"../node_modules/@codemirror/legacy-modes/mode/yaml.js\"));\n return legacy(m.yaml);\n }\n },\n {\n name: 'Z80',\n displayName: trans.__('Z80'),\n mime: 'text/x-z80',\n extensions: ['z80'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_z80_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/z80 */ \"../node_modules/@codemirror/legacy-modes/mode/z80.js\"));\n return legacy(m.z80);\n }\n },\n {\n name: 'mscgen',\n displayName: trans.__('mscgen'),\n mime: 'text/x-mscgen',\n extensions: ['mscgen', 'mscin', 'msc'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mscgen_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mscgen */ \"../node_modules/@codemirror/legacy-modes/mode/mscgen.js\"));\n return legacy(m.mscgen);\n }\n },\n {\n name: 'xu',\n displayName: trans.__('xu'),\n mime: 'text/x-xu',\n extensions: ['xu'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mscgen_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mscgen */ \"../node_modules/@codemirror/legacy-modes/mode/mscgen.js\"));\n return legacy(m.xu);\n }\n },\n {\n name: 'msgenny',\n displayName: trans.__('msgenny'),\n mime: 'text/x-msgenny',\n extensions: ['msgenny'],\n async load() {\n const m = await __webpack_require__.e(/*! import() */ \"node_modules_codemirror_legacy-modes_mode_mscgen_js\").then(__webpack_require__.bind(__webpack_require__, /*! @codemirror/legacy-modes/mode/mscgen */ \"../node_modules/@codemirror/legacy-modes/mode/mscgen.js\"));\n return legacy(m.msgenny);\n }\n }\n ];\n }\n EditorLanguageRegistry.getDefaultLanguages = getDefaultLanguages;\n})(EditorLanguageRegistry || (EditorLanguageRegistry = {}));\n//# sourceMappingURL=language.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/language.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/mimetype.js":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/mimetype.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeMirrorMimeTypeService: () => (/* binding */ CodeMirrorMimeTypeService)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n/**\n * The mime type service for CodeMirror.\n */\nclass CodeMirrorMimeTypeService {\n constructor(languages) {\n this.languages = languages;\n }\n /**\n * Returns a mime type for the given language info.\n *\n * #### Notes\n * If a mime type cannot be found returns the default mime type `text/plain`, never `null`.\n * There may be more than one mime type, but only the first one will be returned.\n * To access all mime types, use `IEditorLanguageRegistry` instead.\n */\n getMimeTypeByLanguage(info) {\n var _a;\n const ext = info.file_extension || '';\n const mode = this.languages.findBest(info.codemirror_mode || {\n mimetype: info.mimetype,\n name: info.name,\n ext: [ext.split('.').slice(-1)[0]]\n });\n return mode\n ? Array.isArray(mode.mime)\n ? (_a = mode.mime[0]) !== null && _a !== void 0 ? _a : _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.IEditorMimeTypeService.defaultMimeType\n : mode.mime\n : _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.IEditorMimeTypeService.defaultMimeType;\n }\n /**\n * Returns a mime type for the given file path.\n *\n * #### Notes\n * If a mime type cannot be found returns the default mime type `text/plain`, never `null`.\n * There may be more than one mime type, but only the first one will be returned.\n * To access all mime types, use `IEditorLanguageRegistry` instead.\n */\n getMimeTypeByFilePath(path) {\n var _a;\n const ext = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.extname(path);\n if (ext === '.ipy') {\n return 'text/x-python';\n }\n else if (ext === '.md') {\n return 'text/x-ipythongfm';\n }\n const mode = this.languages.findByFileName(path);\n return mode\n ? Array.isArray(mode.mime)\n ? (_a = mode.mime[0]) !== null && _a !== void 0 ? _a : _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.IEditorMimeTypeService.defaultMimeType\n : mode.mime\n : _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.IEditorMimeTypeService.defaultMimeType;\n }\n}\n//# sourceMappingURL=mimetype.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/mimetype.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/pythonBuiltin.js":
+/*!*******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/pythonBuiltin.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PythonBuiltin: () => (/* binding */ PythonBuiltin),\n/* harmony export */ pythonBuiltin: () => (/* binding */ pythonBuiltin)\n/* harmony export */ });\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/language */ \"webpack/sharing/consume/default/@codemirror/language/@codemirror/language\");\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_language__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lezer_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lezer/common */ \"webpack/sharing/consume/default/@lezer/common/@lezer/common\");\n/* harmony import */ var _lezer_common__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lezer_common__WEBPACK_IMPORTED_MODULE_3__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n\nclass PythonBuiltin {\n constructor(view, langPython) {\n this.langPython = langPython;\n this.tree = (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_0__.syntaxTree)(view.state);\n this.mark = _codemirror_view__WEBPACK_IMPORTED_MODULE_2__.Decoration.mark({ class: 'cm-builtin' });\n this.decorations = this.buildDeco(view);\n this.decoratedTo = view.viewport.to;\n }\n update(update) {\n let tree = (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_0__.syntaxTree)(update.state);\n let { viewport } = update.view, decoratedToMapped = update.changes.mapPos(this.decoratedTo, 1);\n if (tree.length < viewport.to &&\n tree.type == this.tree.type &&\n decoratedToMapped >= viewport.to) {\n this.decorations = this.decorations.map(update.changes);\n this.decoratedTo = decoratedToMapped;\n }\n else if (tree != this.tree || update.viewportChanged) {\n this.tree = tree;\n this.decorations = this.buildDeco(update.view);\n this.decoratedTo = viewport.to;\n }\n }\n buildDeco(view) {\n if (!this.tree.length)\n return _codemirror_view__WEBPACK_IMPORTED_MODULE_2__.Decoration.none;\n let builder = new _codemirror_state__WEBPACK_IMPORTED_MODULE_1__.RangeSetBuilder();\n const enter = (node) => {\n var _a;\n const cursor = node.node.cursor();\n // Handle nested language, e.g. Markdown\n const mounted = cursor.tree && cursor.tree.prop(_lezer_common__WEBPACK_IMPORTED_MODULE_3__.NodeProp.mounted);\n if (mounted && mounted.overlay) {\n (_a = node.node\n .enter(mounted.overlay[0].from + node.from, 1)) === null || _a === void 0 ? void 0 : _a.cursor().iterate(enter);\n }\n if (this.langPython.isActiveAt(view.state, node.from + 1) &&\n node.name === 'VariableName') {\n const variableName = view.state.sliceDoc(node.from, node.to);\n if (builtins.includes(variableName)) {\n builder.add(node.from, node.to, this.mark);\n }\n }\n };\n for (let { from, to } of view.visibleRanges) {\n this.tree.iterate({ enter, from, to });\n }\n return builder.finish();\n }\n}\nfunction pythonBuiltin(langPython) {\n return _codemirror_view__WEBPACK_IMPORTED_MODULE_2__.ViewPlugin.define(view => new PythonBuiltin(view, langPython), {\n decorations: v => v.decorations\n });\n}\nconst builtins = [\n 'abs',\n 'aiter',\n 'all',\n 'any',\n 'anext',\n 'ascii',\n 'bin',\n 'bool',\n 'breakpoint',\n 'bytearray',\n 'bytes',\n 'callable',\n 'chr',\n 'classmethod',\n 'compile',\n 'complex',\n 'delattr',\n 'dict',\n 'dir',\n 'divmod',\n 'enumerate',\n 'eval',\n 'exec',\n 'filter',\n 'float',\n 'format',\n 'frozenset',\n 'getattr',\n 'globals',\n 'hasattr',\n 'hash',\n 'help',\n 'hex',\n 'id',\n 'input',\n 'int',\n 'isinstance',\n 'issubclass',\n 'iter',\n 'len',\n 'list',\n 'locals',\n 'map',\n 'max',\n 'memoryview',\n 'min',\n 'next',\n 'object',\n 'oct',\n 'open',\n 'ord',\n 'pow',\n 'print',\n 'property',\n 'range',\n 'repr',\n 'reversed',\n 'round',\n 'set',\n 'setattr',\n 'slice',\n 'sorted',\n 'staticmethod',\n 'str',\n 'sum',\n 'super',\n 'tuple',\n 'type',\n 'vars',\n 'zip',\n '__import__'\n];\n//# sourceMappingURL=pythonBuiltin.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/pythonBuiltin.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/searchprovider.js":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/searchprovider.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeMirrorSearchHighlighter: () => (/* binding */ CodeMirrorSearchHighlighter),\n/* harmony export */ EditorSearchProvider: () => (/* binding */ EditorSearchProvider)\n/* harmony export */ });\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/documentsearch */ \"webpack/sharing/consume/default/@jupyterlab/documentsearch/@jupyterlab/documentsearch\");\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_3__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n/**\n * Search provider for editors.\n */\nclass EditorSearchProvider {\n /**\n * Constructor\n */\n constructor() {\n /**\n * Current match index\n */\n this.currentIndex = null;\n /**\n * Current search query\n */\n this.query = null;\n this._isActive = true;\n this._inSelection = null;\n this._isDisposed = false;\n this._cmHandler = null;\n this.currentIndex = null;\n this._stateChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__.Signal(this);\n }\n /**\n * CodeMirror search highlighter\n */\n get cmHandler() {\n if (!this._cmHandler) {\n this._cmHandler = new CodeMirrorSearchHighlighter(this.editor);\n }\n return this._cmHandler;\n }\n /**\n * Changed signal to be emitted when search matches change.\n */\n get stateChanged() {\n return this._stateChanged;\n }\n /**\n * Current match index\n */\n get currentMatchIndex() {\n return this.isActive ? this.currentIndex : null;\n }\n /**\n * Whether the cell search is active.\n *\n * This is used when applying search only on selected cells.\n */\n get isActive() {\n return this._isActive;\n }\n /**\n * Whether the search provider is disposed or not.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Number of matches in the cell.\n */\n get matchesCount() {\n return this.isActive ? this.cmHandler.matches.length : 0;\n }\n /**\n * Clear currently highlighted match\n */\n clearHighlight() {\n this.currentIndex = null;\n this.cmHandler.clearHighlight();\n return Promise.resolve();\n }\n /**\n * Dispose the search provider\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__.Signal.clearData(this);\n if (this.isActive) {\n this.endQuery().catch(reason => {\n console.error(`Failed to end search query on cells.`, reason);\n });\n }\n }\n /**\n * Set `isActive` status.\n *\n * #### Notes\n * It will start or end the search\n *\n * @param v New value\n */\n async setIsActive(v) {\n if (this._isActive === v) {\n return;\n }\n this._isActive = v;\n if (this._isActive) {\n if (this.query !== null) {\n await this.startQuery(this.query, this.filters);\n }\n }\n else {\n await this.endQuery();\n }\n }\n /**\n * Set whether search should be limited to specified text selection.\n */\n async setSearchSelection(selection) {\n if (this._inSelection === selection) {\n return;\n }\n this._inSelection = selection;\n await this.updateCodeMirror(this.model.sharedModel.getSource());\n this._stateChanged.emit();\n }\n /**\n * Set whether user selection should be protected from modifications.\n *\n * If disabled, the selection will be updated on search and on editor focus\n * to cover the current match. We need to protect selection from modifications\n * for both: search in text and search in cells; since `setSearchSelection`\n * is only telling us about search in text, we need to have an additional\n * way to signal that either search in text or in cells is active, or for\n * any other reason selection range should be protected.\n */\n setProtectSelection(v) {\n this.cmHandler.protectSelection = v;\n }\n /**\n * Initialize the search using the provided options. Should update the UI\n * to highlight all matches and \"select\" the first match.\n *\n * @param query A RegExp to be use to perform the search\n * @param filters Filter parameters to pass to provider\n */\n async startQuery(query, filters) {\n this.query = query;\n this.filters = filters;\n // Search input\n const content = this.model.sharedModel.getSource();\n await this.updateCodeMirror(content);\n this.model.sharedModel.changed.connect(this.onSharedModelChanged, this);\n }\n /**\n * Stop the search and clean any UI elements.\n */\n async endQuery() {\n await this.clearHighlight();\n await this.cmHandler.endQuery();\n this.currentIndex = null;\n }\n /**\n * Highlight the next match.\n *\n * @returns The next match if there is one.\n */\n async highlightNext(loop = true, options) {\n if (this.matchesCount === 0 || !this.isActive) {\n this.currentIndex = null;\n }\n else {\n let match = await this.cmHandler.highlightNext(options);\n if (match) {\n this.currentIndex = this.cmHandler.currentIndex;\n }\n else {\n // Note: the loop logic is only used in single-editor (e.g. file editor)\n // provider sub-classes, notebook has its own loop logic and ignores\n // `currentIndex` as set here.\n this.currentIndex = loop ? 0 : null;\n }\n return match;\n }\n return Promise.resolve(this.getCurrentMatch());\n }\n /**\n * Highlight the previous match.\n *\n * @returns The previous match if there is one.\n */\n async highlightPrevious(loop = true, options) {\n if (this.matchesCount === 0 || !this.isActive) {\n this.currentIndex = null;\n }\n else {\n let match = await this.cmHandler.highlightPrevious(options);\n if (match) {\n this.currentIndex = this.cmHandler.currentIndex;\n }\n else {\n this.currentIndex = loop ? this.matchesCount - 1 : null;\n }\n return match;\n }\n return Promise.resolve(this.getCurrentMatch());\n }\n /**\n * Replace the currently selected match with the provided text.\n *\n * If no match is selected, it won't do anything.\n *\n * The caller of this method is expected to call `highlightNext` if after\n * calling `replaceCurrentMatch()` attribute `this.currentIndex` is null.\n * It is necessary to let the caller handle highlighting because this\n * method is used in composition pattern (search engine of notebook cells)\n * and highlighting on the composer (notebook) level needs to switch to next\n * engine (cell) with matches.\n *\n * @param newText The replacement text.\n * @returns Whether a replace occurred.\n */\n replaceCurrentMatch(newText, loop, options) {\n if (!this.isActive) {\n return Promise.resolve(false);\n }\n if (this.currentIndex !== null &&\n this.currentIndex < this.cmHandler.matches.length) {\n const match = this.getCurrentMatch();\n if (!match) {\n this.currentIndex = null;\n }\n else {\n const substitutedText = (options === null || options === void 0 ? void 0 : options.regularExpression)\n ? match.text.replace(this.query, newText)\n : newText;\n const insertText = (options === null || options === void 0 ? void 0 : options.preserveCase)\n ? _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.GenericSearchProvider.preserveCase(match.text, substitutedText)\n : substitutedText;\n this.model.sharedModel.updateSource(match.position, match.position + match.text.length, insertText);\n // Regenerate the match list, then iterate through it.\n return new Promise((resolve, reject) => {\n this.updateCodeMirror(this.model.sharedModel.getSource())\n .then(() => {\n const allMatches = this.cmHandler.matches;\n const positionAfterReplacement = match.position + insertText.length;\n let nextMatchFound = false;\n for (let matchIdx = this.currentIndex || 0; matchIdx < allMatches.length; matchIdx++) {\n if (allMatches[matchIdx].position >= positionAfterReplacement) {\n this.currentIndex = matchIdx;\n nextMatchFound = true;\n break;\n }\n // Move the highlight forward from the previous match, not looping.\n void this.highlightNext(false, { from: 'previous-match' });\n }\n if (!nextMatchFound) {\n this.currentIndex = null; // No more matches in this string\n }\n resolve(true);\n })\n .catch(err => {\n const errorMessage = `Failed to regenerate match list: ${err}`;\n console.error(errorMessage);\n reject(errorMessage);\n });\n });\n }\n }\n return Promise.resolve(false);\n }\n /**\n * Replace all matches in the cell source with the provided text\n *\n * @param newText The replacement text.\n * @returns Whether a replace occurred.\n */\n replaceAllMatches(newText, options) {\n if (!this.isActive) {\n return Promise.resolve(false);\n }\n let occurred = this.cmHandler.matches.length > 0;\n let src = this.model.sharedModel.getSource();\n let lastEnd = 0;\n const finalSrc = this.cmHandler.matches.reduce((agg, match) => {\n const start = match.position;\n const end = start + match.text.length;\n const substitutedText = (options === null || options === void 0 ? void 0 : options.regularExpression)\n ? match.text.replace(this.query, newText)\n : newText;\n const insertText = (options === null || options === void 0 ? void 0 : options.preserveCase)\n ? _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.GenericSearchProvider.preserveCase(match.text, substitutedText)\n : substitutedText;\n const newStep = `${agg}${src.slice(lastEnd, start)}${insertText}`;\n lastEnd = end;\n return newStep;\n }, '');\n if (occurred) {\n this.cmHandler.matches = [];\n this.currentIndex = null;\n this.model.sharedModel.setSource(`${finalSrc}${src.slice(lastEnd)}`);\n }\n return Promise.resolve(occurred);\n }\n /**\n * Get the current match if it exists.\n *\n * @returns The current match\n */\n getCurrentMatch() {\n if (this.currentIndex === null) {\n return undefined;\n }\n else {\n let match = undefined;\n if (this.currentIndex < this.cmHandler.matches.length) {\n match = this.cmHandler.matches[this.currentIndex];\n }\n return match;\n }\n }\n /**\n * Callback on source change\n *\n * @param emitter Source of the change\n * @param changes Source change\n */\n async onSharedModelChanged(emitter, changes) {\n if (changes.sourceChange) {\n await this.updateCodeMirror(emitter.getSource());\n this._stateChanged.emit();\n }\n }\n /**\n * Update matches\n */\n async updateCodeMirror(content) {\n if (this.query !== null && this.isActive) {\n const allMatches = await _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.TextSearchEngine.search(this.query, content);\n if (this._inSelection) {\n const editor = this.editor;\n const start = editor.getOffsetAt(this._inSelection.start);\n const end = editor.getOffsetAt(this._inSelection.end);\n this.cmHandler.matches = allMatches.filter(match => match.position >= start && match.position <= end);\n // A special case to always have a current match when in line selection mode.\n if (this.cmHandler.currentIndex === null &&\n this.cmHandler.matches.length > 0) {\n await this.cmHandler.highlightNext({\n from: 'selection',\n select: false,\n scroll: false\n });\n }\n this.currentIndex = this.cmHandler.currentIndex;\n }\n else {\n this.cmHandler.matches = allMatches;\n }\n }\n else {\n this.cmHandler.matches = [];\n }\n }\n}\n/**\n * Helper class to highlight texts in a code mirror editor.\n *\n * Highlighted texts (aka `matches`) must be provided through\n * the `matches` attributes.\n *\n * **NOTES:**\n * - to retain the selection visibility `drawSelection` extension is needed.\n * - highlighting starts from the cursor (if editor is focused and `from` is set\n * to `'auto'`, cursor moved, or `from` argument is set to `'selection'` or\n * `'selection-start'`), or from last \"current\" match otherwise.\n * - `currentIndex` is the (readonly) source of truth for the current match.\n */\nclass CodeMirrorSearchHighlighter {\n /**\n * Constructor\n *\n * @param editor The CodeMirror editor\n */\n constructor(editor) {\n this._current = null;\n this._cm = editor;\n this._matches = new Array();\n this._currentIndex = null;\n this._highlightEffect = _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.StateEffect.define({\n map: (value, mapping) => {\n const transform = (v) => ({\n text: v.text,\n position: mapping.mapPos(v.position)\n });\n return {\n matches: value.matches.map(transform),\n currentMatch: value.currentMatch\n ? transform(value.currentMatch)\n : null\n };\n }\n });\n this._highlightMark = _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.Decoration.mark({ class: 'cm-searching' });\n this._currentMark = _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.Decoration.mark({ class: 'jp-current-match' });\n this._highlightField = _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.StateField.define({\n create: () => {\n return _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.Decoration.none;\n },\n update: (highlights, transaction) => {\n highlights = highlights.map(transaction.changes);\n for (let ef of transaction.effects) {\n if (ef.is(this._highlightEffect)) {\n const e = ef;\n if (e.value.matches.length) {\n // Note: nesting will vary; sometimes `.cm-searching` will be\n // inside `.jp-current-match`, sometime the other way round.\n highlights = highlights.update({\n add: e.value.matches.map(m => this._highlightMark.range(m.position, m.position + m.text.length)),\n // filter out old marks\n filter: () => false\n });\n highlights = highlights.update({\n add: e.value.currentMatch\n ? [\n this._currentMark.range(e.value.currentMatch.position, e.value.currentMatch.position +\n e.value.currentMatch.text.length)\n ]\n : []\n });\n }\n else {\n highlights = _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.Decoration.none;\n }\n }\n }\n return highlights;\n },\n provide: f => _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.decorations.from(f)\n });\n this._domEventHandlers = _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.domEventHandlers({\n focus: () => {\n // Set cursor on active match when editor gets focused.\n this._selectCurrentMatch();\n }\n });\n }\n /**\n * The current index of the selected match.\n */\n get currentIndex() {\n return this._currentIndex;\n }\n /**\n * The list of matches\n */\n get matches() {\n return this._matches;\n }\n set matches(v) {\n this._matches = v;\n if (this._currentIndex !== null &&\n this._currentIndex > this._matches.length) {\n this._currentIndex = this._matches.length > 0 ? 0 : null;\n }\n this._highlightCurrentMatch({ select: false });\n }\n /**\n * Whether the cursor/selection should not be modified.\n */\n get protectSelection() {\n return this._protectSelection;\n }\n set protectSelection(v) {\n this._protectSelection = v;\n }\n /**\n * Clear all highlighted matches\n */\n clearHighlight() {\n this._currentIndex = null;\n this._highlightCurrentMatch();\n }\n /**\n * Clear the highlighted matches.\n */\n endQuery() {\n this._currentIndex = null;\n this._matches = [];\n if (this._cm) {\n this._cm.editor.dispatch({\n effects: this._highlightEffect.of({ matches: [], currentMatch: null })\n });\n }\n return Promise.resolve();\n }\n /**\n * Highlight the next match\n *\n * @returns The next match if available\n */\n highlightNext(options) {\n var _a;\n this._currentIndex = this._findNext(false, (_a = options === null || options === void 0 ? void 0 : options.from) !== null && _a !== void 0 ? _a : 'auto');\n this._highlightCurrentMatch(options);\n return Promise.resolve(this._currentIndex !== null\n ? this._matches[this._currentIndex]\n : undefined);\n }\n /**\n * Highlight the previous match\n *\n * @returns The previous match if available\n */\n highlightPrevious(options) {\n var _a;\n this._currentIndex = this._findNext(true, (_a = options === null || options === void 0 ? void 0 : options.from) !== null && _a !== void 0 ? _a : 'auto');\n this._highlightCurrentMatch(options);\n return Promise.resolve(this._currentIndex !== null\n ? this._matches[this._currentIndex]\n : undefined);\n }\n /**\n * Set the editor\n *\n * @param editor Editor\n */\n setEditor(editor) {\n if (this._cm) {\n throw new Error('CodeMirrorEditor already set.');\n }\n else {\n this._cm = editor;\n if (this._currentIndex !== null) {\n this._highlightCurrentMatch();\n }\n this._cm.editor.dispatch({\n effects: _codemirror_state__WEBPACK_IMPORTED_MODULE_0__.StateEffect.appendConfig.of(this._domEventHandlers)\n });\n this._refresh();\n }\n }\n _selectCurrentMatch(scroll = true) {\n // This method has two responsibilities:\n // 1) Scroll the current match into the view - useful for long lines,\n // and file editors with more lines that fit on the screen\n // 2) When user has focus on the editor (not search box) and presses\n // ctrl + g/ctrl + shift + g to jump to next match they want their\n // cursor to jump too.\n // We execute (1) and (2) together as CodeMirror has a special code path\n // to handle both in a single dispatch.\n // The (2) case is inapplicable to search in selection mode, as it would\n // invalidate the query selection, so in that case we only execute (1).\n const match = this._current;\n if (!match) {\n return;\n }\n if (!this._cm) {\n return;\n }\n const cursor = {\n anchor: match.position,\n head: match.position + match.text.length\n };\n const selection = this._cm.editor.state.selection.main;\n if ((selection.from === match.position &&\n selection.to === match.position + match.text.length) ||\n this._protectSelection) {\n // Correct selection is already set or search is restricted to selection:\n // scroll without changing the selection.\n if (scroll) {\n this._cm.editor.dispatch({\n effects: _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.scrollIntoView(_codemirror_state__WEBPACK_IMPORTED_MODULE_0__.EditorSelection.range(cursor.anchor, cursor.head))\n });\n return;\n }\n }\n else {\n this._cm.editor.dispatch({\n selection: cursor,\n scrollIntoView: scroll\n });\n }\n }\n _highlightCurrentMatch(options) {\n var _a, _b, _c;\n if (!this._cm) {\n // no-op\n return;\n }\n // Highlight the current index\n if (this._currentIndex !== null) {\n const match = this.matches[this._currentIndex];\n this._current = match;\n // We do not change selection nor scroll if:\n // - user is selecting text,\n // - document was modified\n if ((_a = options === null || options === void 0 ? void 0 : options.select) !== null && _a !== void 0 ? _a : true) {\n if (this._cm.hasFocus()) {\n // If editor is focused we actually set the cursor on the match.\n this._selectCurrentMatch((_b = options === null || options === void 0 ? void 0 : options.scroll) !== null && _b !== void 0 ? _b : true);\n }\n else if ((_c = options === null || options === void 0 ? void 0 : options.scroll) !== null && _c !== void 0 ? _c : true) {\n // otherwise we just scroll to preserve the selection.\n this._cm.editor.dispatch({\n effects: _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.scrollIntoView(match.position)\n });\n }\n }\n }\n else {\n this._current = null;\n }\n this._refresh();\n }\n _refresh() {\n if (!this._cm) {\n // no-op\n return;\n }\n let effects = [\n this._highlightEffect.of({\n matches: this.matches,\n currentMatch: this._current\n })\n ];\n if (!this._cm.state.field(this._highlightField, false)) {\n effects.push(_codemirror_state__WEBPACK_IMPORTED_MODULE_0__.StateEffect.appendConfig.of([this._highlightField]));\n }\n this._cm.editor.dispatch({ effects });\n }\n _findNext(reverse, from = 'auto') {\n var _a, _b, _c, _d;\n if (this._matches.length === 0) {\n // No-op\n return null;\n }\n // If the editor has not be instantiated yet (e.g. a cell that has not yet be seen in the viewport),\n // force the behavior\n if (!this._cm && !['previous-match', 'start'].includes(from)) {\n from = 'previous-match';\n }\n let lastPosition = 0;\n if ((from === 'auto' && ((_b = (_a = this._cm) === null || _a === void 0 ? void 0 : _a.hasFocus()) !== null && _b !== void 0 ? _b : false)) ||\n from === 'selection') {\n const cursor = this._cm.state.selection.main;\n lastPosition = reverse ? cursor.anchor : cursor.head;\n }\n else if (from === 'selection-start') {\n const cursor = this._cm.state.selection.main;\n lastPosition = Math.min(cursor.anchor, cursor.head);\n }\n else if (from === 'start') {\n lastPosition = 0;\n }\n else if (this._current) {\n lastPosition = reverse\n ? this._current.position\n : this._current.position + this._current.text.length;\n }\n if (lastPosition === 0 && reverse && this.currentIndex === null) {\n // The default position is (0, 0) but we want to start from the end in that case\n // Fallback to the end of the latest match if the editor is not instantiated\n lastPosition =\n (_d = (_c = this._cm) === null || _c === void 0 ? void 0 : _c.doc.length) !== null && _d !== void 0 ? _d : endLastMatch(this._matches[this._matches.length - 1]);\n }\n const position = lastPosition;\n let found = Utils.findNext(this._matches, position, 0, this._matches.length - 1);\n if (found === null) {\n // Don't loop\n return reverse ? this._matches.length - 1 : null;\n }\n if (reverse) {\n found -= 1;\n if (found < 0) {\n // Don't loop\n return null;\n }\n }\n return found;\n function endLastMatch(lastMatch) {\n return lastMatch ? lastMatch.position + lastMatch.text.length : 0;\n }\n }\n}\n/**\n * Helpers namespace\n */\nvar Utils;\n(function (Utils) {\n /**\n * Find the closest match at `position` just after it.\n *\n * #### Notes\n * Search is done using a binary search algorithm\n *\n * @param matches List of matches\n * @param position Searched position\n * @param lowerBound Lower range index\n * @param higherBound High range index\n * @returns The next match or null if none exists\n */\n function findNext(matches, position, lowerBound = 0, higherBound = Infinity) {\n higherBound = Math.min(matches.length - 1, higherBound);\n while (lowerBound <= higherBound) {\n let middle = Math.floor(0.5 * (lowerBound + higherBound));\n const currentPosition = matches[middle].position;\n if (currentPosition < position) {\n lowerBound = middle + 1;\n if (lowerBound < matches.length &&\n matches[lowerBound].position > position) {\n return lowerBound;\n }\n }\n else if (currentPosition > position) {\n higherBound = middle - 1;\n if (higherBound > 0 && matches[higherBound].position < position) {\n return middle;\n }\n }\n else {\n return middle;\n }\n }\n // Next could be the first item\n const first = lowerBound > 0 ? lowerBound - 1 : 0;\n const match = matches[first];\n return match.position >= position ? first : null;\n }\n Utils.findNext = findNext;\n})(Utils || (Utils = {}));\n//# sourceMappingURL=searchprovider.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/searchprovider.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/theme.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/theme.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EditorThemeRegistry: () => (/* binding */ EditorThemeRegistry),\n/* harmony export */ jupyterEditorTheme: () => (/* binding */ jupyterEditorTheme),\n/* harmony export */ jupyterHighlightStyle: () => (/* binding */ jupyterHighlightStyle),\n/* harmony export */ jupyterTheme: () => (/* binding */ jupyterTheme)\n/* harmony export */ });\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/language */ \"webpack/sharing/consume/default/@codemirror/language/@codemirror/language\");\n/* harmony import */ var _codemirror_language__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_language__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lezer/highlight */ \"webpack/sharing/consume/default/@lezer/highlight/@lezer/highlight\");\n/* harmony import */ var _lezer_highlight__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\nconst jupyterEditorTheme = _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.theme({\n /**\n * CodeMirror themes are handling the background/color in this way. This works\n * fine for CodeMirror editors outside the notebook, but the notebook styles\n * these things differently.\n */\n '&': {\n background: 'var(--jp-layout-color0)',\n color: 'var(--jp-content-font-color1)'\n },\n /* In the notebook, we want this styling to be handled by its container */\n '.jp-CodeConsole &, .jp-Notebook &': {\n background: 'transparent'\n },\n '.cm-content': {\n caretColor: 'var(--jp-editor-cursor-color)'\n },\n /* Inherit font family from .cm-editor */\n '.cm-scroller': {\n fontFamily: 'inherit'\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeft: 'var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color)'\n },\n '.cm-selectionBackground, .cm-content ::selection': {\n backgroundColor: 'var(--jp-editor-selected-background)'\n },\n '&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground': {\n backgroundColor: 'var(--jp-editor-selected-focused-background)'\n },\n '.cm-gutters': {\n borderRight: '1px solid var(--jp-border-color2)',\n backgroundColor: 'var(--jp-layout-color2)'\n },\n '.cm-gutter': {\n backgroundColor: 'var(--jp-layout-color2)'\n },\n '.cm-activeLine': {\n backgroundColor: 'color-mix(in srgb, var(--jp-layout-color3) 25%, transparent)'\n },\n '.cm-lineNumbers': {\n color: 'var(--jp-ui-font-color2)'\n },\n '.cm-searchMatch': {\n backgroundColor: 'var(--jp-search-unselected-match-background-color)',\n color: 'var(--jp-search-unselected-match-color)'\n },\n '.cm-searchMatch.cm-searchMatch-selected': {\n backgroundColor: 'var(--jp-search-selected-match-background-color) !important',\n color: 'var(--jp-search-selected-match-color) !important'\n },\n '.cm-tooltip': {\n backgroundColor: 'var(--jp-layout-color1)'\n }\n});\n// The list of available tags for syntax highlighting is available at\n// https://lezer.codemirror.net/docs/ref/#highlight.tags\nconst jupyterHighlightStyle = _codemirror_language__WEBPACK_IMPORTED_MODULE_0__.HighlightStyle.define([\n // Order matters - a rule will override the previous ones; important for example for in headings styles.\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.meta, color: 'var(--jp-mirror-editor-meta-color)' },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.heading, color: 'var(--jp-mirror-editor-header-color)' },\n {\n tag: [_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.heading1, _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.heading2, _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.heading3, _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.heading4],\n color: 'var(--jp-mirror-editor-header-color)',\n fontWeight: 'bold'\n },\n {\n tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.keyword,\n color: 'var(--jp-mirror-editor-keyword-color)',\n fontWeight: 'bold'\n },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.atom, color: 'var(--jp-mirror-editor-atom-color)' },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.number, color: 'var(--jp-mirror-editor-number-color)' },\n {\n tag: [_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.definition(_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.name), _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.function(_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.definition(_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.variableName))],\n color: 'var(--jp-mirror-editor-def-color)'\n },\n {\n tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.standard(_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.variableName),\n color: 'var(--jp-mirror-editor-builtin-color)'\n },\n {\n tag: [_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.special(_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.variableName), _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.self],\n color: 'var(--jp-mirror-editor-variable-2-color)'\n },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.punctuation, color: 'var(--jp-mirror-editor-punctuation-color)' },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.propertyName, color: 'var(--jp-mirror-editor-property-color)' },\n {\n tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.operator,\n color: 'var(--jp-mirror-editor-operator-color)',\n fontWeight: 'bold'\n },\n {\n tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.comment,\n color: 'var(--jp-mirror-editor-comment-color)',\n fontStyle: 'italic'\n },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.string, color: 'var(--jp-mirror-editor-string-color)' },\n {\n tag: [_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.labelName, _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.monospace, _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.special(_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.string)],\n color: 'var(--jp-mirror-editor-string-2-color)'\n },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.bracket, color: 'var(--jp-mirror-editor-bracket-color)' },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.tagName, color: 'var(--jp-mirror-editor-tag-color)' },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.attributeName, color: 'var(--jp-mirror-editor-attribute-color)' },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.quote, color: 'var(--jp-mirror-editor-quote-color)' },\n {\n tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.link,\n color: 'var(--jp-mirror-editor-link-color)',\n textDecoration: 'underline'\n },\n { tag: [_lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.separator, _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.derefOperator, _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.paren], color: '' },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.strong, fontWeight: 'bold' },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.emphasis, fontStyle: 'italic' },\n { tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.strikethrough, textDecoration: 'line-through' },\n {\n tag: _lezer_highlight__WEBPACK_IMPORTED_MODULE_3__.tags.bool,\n color: 'var(--jp-mirror-editor-keyword-color)',\n fontWeight: 'bold'\n }\n]);\n/**\n * JupyterLab CodeMirror 6 theme\n */\nconst jupyterTheme = [\n jupyterEditorTheme,\n (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_0__.syntaxHighlighting)(jupyterHighlightStyle)\n];\n/**\n * CodeMirror 6 theme registry\n */\nclass EditorThemeRegistry {\n constructor() {\n /**\n * CodeMirror 6 themes\n */\n this._themeMap = new Map([\n ['jupyter', Object.freeze({ name: 'jupyter', theme: jupyterTheme })]\n ]);\n }\n /**\n * Get all themes\n */\n get themes() {\n return Array.from(this._themeMap.values());\n }\n /**\n * Get the default CodeMirror 6 theme for JupyterLab\n *\n * @returns Default theme\n */\n defaultTheme() {\n return this._themeMap.get('jupyter').theme;\n }\n /**\n * Register a new theme.\n *\n * @param theme Codemirror 6 theme\n */\n addTheme(theme) {\n if (this._themeMap.has(theme.name)) {\n throw new Error(`A theme named '${theme.name}' is already registered.`);\n }\n this._themeMap.set(theme.name, { displayName: theme.name, ...theme });\n }\n /**\n * Get a theme.\n *\n * #### Notes\n * It falls back to the default theme\n *\n * @param name Theme name\n * @returns Theme extension\n */\n getTheme(name) {\n var _a;\n const ext = (_a = this._themeMap.get(name)) === null || _a === void 0 ? void 0 : _a.theme;\n return ext !== null && ext !== void 0 ? ext : this.defaultTheme();\n }\n}\n/**\n * EditorThemeRegistry namespace\n */\n(function (EditorThemeRegistry) {\n /**\n * Get the default editor themes.\n *\n * @param translator Application translator\n * @returns Default CodeMirror 6 themes\n */\n function getDefaultThemes(translator) {\n const trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator).load('jupyterlab');\n return [\n Object.freeze({\n name: 'codemirror',\n displayName: trans.__('codemirror'),\n theme: [\n _codemirror_view__WEBPACK_IMPORTED_MODULE_1__.EditorView.baseTheme({}),\n (0,_codemirror_language__WEBPACK_IMPORTED_MODULE_0__.syntaxHighlighting)(_codemirror_language__WEBPACK_IMPORTED_MODULE_0__.defaultHighlightStyle)\n ]\n })\n ];\n }\n EditorThemeRegistry.getDefaultThemes = getDefaultThemes;\n})(EditorThemeRegistry || (EditorThemeRegistry = {}));\n//# sourceMappingURL=theme.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/theme.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/lib/token.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/lib/token.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IEditorExtensionRegistry: () => (/* binding */ IEditorExtensionRegistry),\n/* harmony export */ IEditorLanguageRegistry: () => (/* binding */ IEditorLanguageRegistry),\n/* harmony export */ IEditorThemeRegistry: () => (/* binding */ IEditorThemeRegistry)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/**\n * Editor language token.\n */\nconst IEditorExtensionRegistry = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/codemirror:IEditorExtensionRegistry', `A registry for CodeMirror extension factories.`);\n/**\n * Editor language token.\n */\nconst IEditorLanguageRegistry = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/codemirror:IEditorLanguageRegistry', 'A registry for CodeMirror languages.');\n/**\n * Editor theme token.\n */\nconst IEditorThemeRegistry = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/codemirror:IEditorThemeRegistry', 'A registry for CodeMirror theme.');\n//# sourceMappingURL=token.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/lib/token.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/codemirror/style/index.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/codemirror/style/index.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _jupyterlab_codeeditor_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/codeeditor/style/index.js */ \"../node_modules/@jupyterlab/codeeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_documentsearch_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/documentsearch/style/index.js */ \"../node_modules/@jupyterlab/documentsearch/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/codemirror/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/codemirror/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer-extension/lib/index.js":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer-extension/lib/index.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/completer */ \"webpack/sharing/consume/default/@jupyterlab/completer/@jupyterlab/completer\");\n/* harmony import */ var _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_commands__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/commands */ \"webpack/sharing/consume/default/@lumino/commands/@lumino/commands\");\n/* harmony import */ var _lumino_commands__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_commands__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _renderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./renderer */ \"../node_modules/@jupyterlab/completer-extension/lib/renderer.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module completer-extension\n */\n\n\n\n\n\n\n\n\nconst COMPLETION_MANAGER_PLUGIN = '@jupyterlab/completer-extension:manager';\nconst INLINE_COMPLETER_PLUGIN = '@jupyterlab/completer-extension:inline-completer';\nvar CommandIDs;\n(function (CommandIDs) {\n CommandIDs.nextInline = 'inline-completer:next';\n CommandIDs.previousInline = 'inline-completer:previous';\n CommandIDs.acceptInline = 'inline-completer:accept';\n CommandIDs.invokeInline = 'inline-completer:invoke';\n})(CommandIDs || (CommandIDs = {}));\nconst defaultProviders = {\n id: '@jupyterlab/completer-extension:base-service',\n description: 'Adds context and kernel completion providers.',\n requires: [_jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.ICompletionProviderManager],\n autoStart: true,\n activate: (app, completionManager) => {\n completionManager.registerProvider(new _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.ContextCompleterProvider());\n completionManager.registerProvider(new _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.KernelCompleterProvider());\n }\n};\nconst inlineHistoryProvider = {\n id: '@jupyterlab/completer-extension:inline-history',\n description: 'Adds inline completion provider suggesting code from execution history.',\n requires: [_jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.ICompletionProviderManager],\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.ITranslator],\n autoStart: true,\n activate: (app, completionManager, translator) => {\n completionManager.registerInlineProvider(new _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.HistoryInlineCompletionProvider({\n translator: translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.nullTranslator\n }));\n }\n};\nconst inlineCompleterFactory = {\n id: '@jupyterlab/completer-extension:inline-completer-factory',\n description: 'Provides a factory for inline completer.',\n provides: _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.IInlineCompleterFactory,\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.ITranslator],\n autoStart: true,\n activate: (app, translator) => {\n const trans = (translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.nullTranslator).load('jupyterlab');\n return {\n factory: options => {\n const inlineCompleter = new _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.InlineCompleter({\n ...options,\n trans: trans\n });\n const describeShortcut = (commandID) => {\n const binding = app.commands.keyBindings.find(binding => binding.command === commandID);\n const keys = binding\n ? _lumino_commands__WEBPACK_IMPORTED_MODULE_5__.CommandRegistry.formatKeystroke(binding.keys)\n : '';\n return keys ? `${keys}` : '';\n };\n const labelCache = {\n [CommandIDs.previousInline]: describeShortcut(CommandIDs.previousInline),\n [CommandIDs.nextInline]: describeShortcut(CommandIDs.nextInline),\n [CommandIDs.acceptInline]: describeShortcut(CommandIDs.acceptInline)\n };\n app.commands.keyBindingChanged.connect((_emitter, change) => {\n const command = change.binding.command;\n if (labelCache.hasOwnProperty(command)) {\n const cached = labelCache[command];\n const newLabel = describeShortcut(command);\n if (newLabel !== cached) {\n // Update cache\n labelCache[command] = newLabel;\n // Re-render any UI elements using this command\n app.commands.notifyCommandChanged(command);\n }\n }\n });\n inlineCompleter.toolbar.addItem('previous-inline-completion', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButton({\n commands: app.commands,\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.caretLeftIcon,\n id: CommandIDs.previousInline,\n label: () => labelCache[CommandIDs.previousInline],\n caption: trans.__('Previous')\n }));\n inlineCompleter.toolbar.addItem('next-inline-completion', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButton({\n commands: app.commands,\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.caretRightIcon,\n id: CommandIDs.nextInline,\n label: () => labelCache[CommandIDs.nextInline],\n caption: trans.__('Next')\n }));\n inlineCompleter.toolbar.addItem('accept-inline-completion', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButton({\n commands: app.commands,\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.checkIcon,\n id: CommandIDs.acceptInline,\n label: () => labelCache[CommandIDs.acceptInline],\n caption: trans.__('Accept')\n }));\n inlineCompleter.model.suggestionsChanged.connect(() => {\n // Enabled state of these commands depends on whether\n // there are any suggestions (or whether there is more\n // than one suggestion) so the UI needs to be modified\n // when the suggestions change to reflect the enabled\n // state in the buttons state.\n for (const command of [\n CommandIDs.previousInline,\n CommandIDs.nextInline,\n CommandIDs.acceptInline\n ]) {\n app.commands.notifyCommandChanged(command);\n }\n });\n return inlineCompleter;\n }\n };\n }\n};\nconst inlineCompleter = {\n id: INLINE_COMPLETER_PLUGIN,\n description: 'Registers the inline completer factory; adds inline completer commands, shortcuts and settings.',\n requires: [\n _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.ICompletionProviderManager,\n _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.IInlineCompleterFactory,\n _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__.ISettingRegistry\n ],\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.ITranslator],\n autoStart: true,\n activate: (app, completionManager, factory, settings, translator) => {\n completionManager.setInlineCompleterFactory(factory);\n const trans = (translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.nullTranslator).load('jupyterlab');\n const isEnabled = () => !!app.shell.currentWidget && !!completionManager.inline;\n let inlineCompleterSettings;\n app.commands.addCommand(CommandIDs.nextInline, {\n execute: () => {\n var _a;\n (_a = completionManager.inline) === null || _a === void 0 ? void 0 : _a.cycle(app.shell.currentWidget.id, 'next');\n },\n label: trans.__('Next Inline Completion'),\n isEnabled\n });\n app.commands.addCommand(CommandIDs.previousInline, {\n execute: () => {\n var _a;\n (_a = completionManager.inline) === null || _a === void 0 ? void 0 : _a.cycle(app.shell.currentWidget.id, 'previous');\n },\n label: trans.__('Previous Inline Completion'),\n isEnabled\n });\n app.commands.addCommand(CommandIDs.acceptInline, {\n execute: () => {\n var _a;\n (_a = completionManager.inline) === null || _a === void 0 ? void 0 : _a.accept(app.shell.currentWidget.id);\n },\n label: trans.__('Accept Inline Completion'),\n isEnabled: () => {\n return (isEnabled() &&\n completionManager.inline.isActive(app.shell.currentWidget.id));\n }\n });\n app.commands.addCommand(CommandIDs.invokeInline, {\n execute: () => {\n var _a;\n (_a = completionManager.inline) === null || _a === void 0 ? void 0 : _a.invoke(app.shell.currentWidget.id);\n },\n label: trans.__('Invoke Inline Completer'),\n isEnabled\n });\n const updateSettings = (settings) => {\n var _a;\n inlineCompleterSettings =\n settings.composite;\n (_a = completionManager.inline) === null || _a === void 0 ? void 0 : _a.configure(inlineCompleterSettings);\n };\n app.restored\n .then(() => {\n var _a;\n const availableProviders = (_a = completionManager.inlineProviders) !== null && _a !== void 0 ? _a : [];\n const composeDefaults = (provider) => {\n var _a, _b;\n return {\n // By default all providers are opt-out, but\n // any provider can configure itself to be opt-in.\n enabled: true,\n autoFillInMiddle: false,\n timeout: 5000,\n debouncerDelay: 0,\n ...((_b = (_a = provider.schema) === null || _a === void 0 ? void 0 : _a.default) !== null && _b !== void 0 ? _b : {})\n };\n };\n settings.transform(INLINE_COMPLETER_PLUGIN, {\n compose: plugin => {\n var _a, _b;\n const providers = (_a = plugin.data.composite['providers']) !== null && _a !== void 0 ? _a : {};\n for (const provider of availableProviders) {\n const defaults = composeDefaults(provider);\n providers[provider.identifier] = {\n ...defaults,\n ...((_b = providers[provider.identifier]) !== null && _b !== void 0 ? _b : {})\n };\n }\n // Add fallback defaults in composite settings values\n plugin.data['composite']['providers'] = providers;\n return plugin;\n },\n fetch: plugin => {\n var _a, _b;\n const schema = plugin.schema.properties;\n const providersSchema = {};\n for (const provider of availableProviders) {\n providersSchema[provider.identifier] = {\n title: trans.__('%1 provider', provider.name),\n properties: {\n ...((_b = (_a = provider.schema) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {}),\n timeout: {\n title: trans.__('Timeout'),\n description: trans.__('Timeout for %1 provider (in milliseconds).', provider.name),\n type: 'number',\n minimum: 0\n },\n debouncerDelay: {\n title: trans.__('Debouncer delay'),\n minimum: 0,\n description: trans.__('Time since the last key press to wait before requesting completions from %1 provider (in milliseconds).', provider.name),\n type: 'number'\n },\n enabled: {\n title: trans.__('Enabled'),\n description: trans.__('Whether to fetch completions %1 provider.', provider.name),\n type: 'boolean'\n },\n autoFillInMiddle: {\n title: trans.__('Fill in middle on typing'),\n description: trans.__('Whether to show completions in the middle of the code line from %1 provider on typing.', provider.name),\n type: 'boolean'\n }\n },\n default: composeDefaults(provider),\n type: 'object'\n };\n }\n // Populate schema for providers settings\n schema['providers']['properties'] = providersSchema;\n return plugin;\n }\n });\n const settingsPromise = settings.load(INLINE_COMPLETER_PLUGIN);\n settingsPromise\n .then(settingValues => {\n updateSettings(settingValues);\n settingValues.changed.connect(newSettings => {\n updateSettings(newSettings);\n });\n })\n .catch(console.error);\n })\n .catch(console.error);\n const findKeybinding = (commandID) => {\n return app.commands.keyBindings.find(binding => binding.command === commandID);\n };\n const keyBindings = {\n [CommandIDs.acceptInline]: findKeybinding(CommandIDs.acceptInline),\n [CommandIDs.invokeInline]: findKeybinding(CommandIDs.invokeInline)\n };\n app.commands.keyBindingChanged.connect((_emitter, change) => {\n const command = change.binding.command;\n if (keyBindings.hasOwnProperty(command)) {\n keyBindings[command] =\n findKeybinding(command);\n }\n });\n const evtKeydown = (event) => {\n // Handle bindings to `Tab` key specially\n if (!(event.target instanceof Element)) {\n return;\n }\n const target = event.target;\n switch (event.keyCode) {\n case 9: {\n // Tab key\n const potentialTabBindings = [\n // Note: `accept` should come ahead of `invoke` due to specificity\n keyBindings[CommandIDs.acceptInline],\n keyBindings[CommandIDs.invokeInline]\n ];\n for (const binding of potentialTabBindings) {\n if (binding &&\n binding.keys.length === 1 &&\n binding.keys[0] === 'Tab' &&\n target.closest(binding.selector) &&\n app.commands.isEnabled(binding.command)) {\n const tabCompleterActive = target.closest('.' + _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_ACTIVE_CLASS);\n if ((inlineCompleterSettings === null || inlineCompleterSettings === void 0 ? void 0 : inlineCompleterSettings.suppressIfTabCompleterActive) &&\n tabCompleterActive) {\n return;\n }\n app.commands.execute(binding.command).catch(console.error);\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n return;\n }\n }\n break;\n }\n default:\n return;\n }\n };\n document.addEventListener('keydown', evtKeydown, true);\n }\n};\nconst manager = {\n id: COMPLETION_MANAGER_PLUGIN,\n description: 'Provides the completion provider manager.',\n requires: [_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__.ISettingRegistry],\n optional: [_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.IFormRendererRegistry],\n provides: _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.ICompletionProviderManager,\n autoStart: true,\n activate: (app, settings, editorRegistry) => {\n const AVAILABLE_PROVIDERS = 'availableProviders';\n const manager = new _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_2__.CompletionProviderManager();\n const updateSetting = (settingValues, availableProviders) => {\n var _a;\n const providersData = settingValues.get(AVAILABLE_PROVIDERS);\n const composite = settingValues.composite;\n manager.setTimeout(composite.providerTimeout);\n manager.setShowDocumentationPanel(composite.showDocumentationPanel);\n manager.setContinuousHinting(composite.autoCompletion);\n manager.setSuppressIfInlineCompleterActive(composite.suppressIfInlineCompleterActive);\n const selectedProviders = (_a = providersData.user) !== null && _a !== void 0 ? _a : providersData.composite;\n const sortedProviders = Object.entries(selectedProviders !== null && selectedProviders !== void 0 ? selectedProviders : {})\n .filter(val => val[1] >= 0 && availableProviders.includes(val[0]))\n .sort(([, rank1], [, rank2]) => rank2 - rank1)\n .map(item => item[0]);\n manager.activateProvider(sortedProviders);\n };\n app.restored\n .then(() => {\n const availableProviders = [...manager.getProviders().entries()];\n const availableProviderIDs = availableProviders.map(([key, value]) => key);\n settings.transform(COMPLETION_MANAGER_PLUGIN, {\n fetch: plugin => {\n const schema = plugin.schema.properties;\n const defaultValue = {};\n availableProviders.forEach(([key, value], index) => {\n var _a;\n defaultValue[key] = (_a = value.rank) !== null && _a !== void 0 ? _a : (index + 1) * 10;\n });\n schema[AVAILABLE_PROVIDERS]['default'] = defaultValue;\n return plugin;\n }\n });\n const settingsPromise = settings.load(COMPLETION_MANAGER_PLUGIN);\n settingsPromise\n .then(settingValues => {\n updateSetting(settingValues, availableProviderIDs);\n settingValues.changed.connect(newSettings => {\n updateSetting(newSettings, availableProviderIDs);\n });\n })\n .catch(console.error);\n })\n .catch(console.error);\n if (editorRegistry) {\n const renderer = {\n fieldRenderer: (props) => {\n return (0,_renderer__WEBPACK_IMPORTED_MODULE_6__.renderAvailableProviders)(props);\n }\n };\n editorRegistry.addRenderer(`${COMPLETION_MANAGER_PLUGIN}.availableProviders`, renderer);\n }\n return manager;\n }\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n manager,\n defaultProviders,\n inlineHistoryProvider,\n inlineCompleterFactory,\n inlineCompleter\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugins);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer-extension/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer-extension/lib/renderer.js":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer-extension/lib/renderer.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ renderAvailableProviders: () => (/* binding */ renderAvailableProviders)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\nconst AVAILABLE_PROVIDERS = 'availableProviders';\n/**\n * Custom setting renderer for provider rank.\n */\nfunction renderAvailableProviders(props) {\n const { schema } = props;\n const title = schema.title;\n const desc = schema.description;\n const settings = props.formContext.settings;\n const userData = settings.get(AVAILABLE_PROVIDERS).user;\n const items = {\n ...schema.default\n };\n if (userData) {\n for (const key of Object.keys(items)) {\n if (key in userData) {\n items[key] = userData[key];\n }\n else {\n items[key] = -1;\n }\n }\n }\n const [settingValue, setValue] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(items);\n const onSettingChange = (key, e) => {\n const newValue = {\n ...settingValue,\n [key]: parseInt(e.target.value)\n };\n settings.set(AVAILABLE_PROVIDERS, newValue).catch(console.error);\n setValue(newValue);\n };\n return (\n //TODO Remove hard coded class names\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null,\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"fieldset\", null,\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"legend\", null, title),\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"p\", { className: \"field-description\" }, desc),\n Object.keys(items).map(key => {\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { key: key, className: \"form-group small-field\" },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null,\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"h3\", null,\n \" \",\n key),\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: \"inputFieldWrapper\" },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"input\", { className: \"form-control\", type: \"number\", value: settingValue[key], onChange: e => {\n onSettingChange(key, e);\n } })))));\n }))));\n}\n//# sourceMappingURL=renderer.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer-extension/lib/renderer.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer-extension/style/index.js":
+/*!**********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer-extension/style/index.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_codeeditor_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codeeditor/style/index.js */ \"../node_modules/@jupyterlab/codeeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_completer_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/completer/style/index.js */ \"../node_modules/@jupyterlab/completer/style/index.js\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer-extension/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/default/contextprovider.js":
+/*!****************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/default/contextprovider.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CONTEXT_PROVIDER_ID: () => (/* binding */ CONTEXT_PROVIDER_ID),\n/* harmony export */ ContextCompleterProvider: () => (/* binding */ ContextCompleterProvider)\n/* harmony export */ });\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nconst CONTEXT_PROVIDER_ID = 'CompletionProvider:context';\n/**\n * A context connector for completion handlers.\n */\nclass ContextCompleterProvider {\n constructor() {\n this.identifier = CONTEXT_PROVIDER_ID;\n this.rank = 500;\n this.renderer = null;\n }\n /**\n * The context completion provider is applicable on all cases.\n * @param context - additional information about context of completion request\n */\n async isApplicable(context) {\n return true;\n }\n /**\n * Fetch completion requests.\n *\n * @param request - The completion request text and details.\n */\n fetch(request, context) {\n const editor = context.editor;\n if (!editor) {\n return Promise.reject('No editor');\n }\n return new Promise(resolve => {\n resolve(Private.contextHint(editor));\n });\n }\n}\n/**\n * A namespace for Private functionality.\n */\nvar Private;\n(function (Private) {\n /**\n * Get a list of completion hints from a tokenization\n * of the editor.\n */\n function contextHint(editor) {\n // Find the token at the cursor\n const token = editor.getTokenAtCursor();\n // Get the list of matching tokens.\n const tokenList = getCompletionTokens(token, editor);\n // Only choose the ones that have a non-empty type\n // field, which are likely to be of interest.\n const completionList = tokenList.filter(t => t.type).map(t => t.value);\n // Remove duplicate completions from the list\n const matches = new Set(completionList);\n const items = new Array();\n matches.forEach(label => items.push({ label }));\n return {\n start: token.offset,\n end: token.offset + token.value.length,\n items\n };\n }\n Private.contextHint = contextHint;\n /**\n * Get a list of tokens that match the completion request,\n * but are not identical to the completion request.\n */\n function getCompletionTokens(token, editor) {\n const candidates = editor.getTokens();\n // Only get the tokens that have a common start, but\n // are not identical.\n return candidates.filter(t => t.value.indexOf(token.value) === 0 && t.value !== token.value);\n }\n})(Private || (Private = {}));\n//# sourceMappingURL=contextprovider.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/default/contextprovider.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/default/inlinehistoryprovider.js":
+/*!**********************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/default/inlinehistoryprovider.js ***!
+ \**********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HistoryInlineCompletionProvider: () => (/* binding */ HistoryInlineCompletionProvider)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/**\n * An example inline completion provider using history to populate suggestions.\n */\nclass HistoryInlineCompletionProvider {\n constructor(options) {\n this.options = options;\n this.identifier = '@jupyterlab/inline-completer:history';\n this._maxSuggestions = 100;\n const translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator;\n this._trans = translator.load('jupyterlab');\n }\n get name() {\n return this._trans.__('History');\n }\n get icon() {\n return _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.historyIcon;\n }\n get schema() {\n return {\n properties: {\n maxSuggestions: {\n title: this._trans.__('Maximum number of suggestions'),\n description: this._trans.__('The maximum number of suggestions to retrieve from history.'),\n type: 'number'\n }\n },\n default: {\n // make this provider opt-in\n enabled: false,\n maxSuggestions: 100\n }\n };\n }\n configure(settings) {\n var _a;\n this._maxSuggestions = (_a = settings.maxSuggestions) !== null && _a !== void 0 ? _a : 100;\n }\n async fetch(request, context, trigger) {\n var _a;\n const kernel = (_a = context.session) === null || _a === void 0 ? void 0 : _a.kernel;\n if (!kernel) {\n throw new Error('No kernel for completion request.');\n }\n const multiLinePrefix = request.text.slice(0, request.offset);\n const linePrefix = multiLinePrefix.split('\\n').slice(-1)[0];\n const suffix = request.text.slice(request.offset).split('\\n')[0];\n let historyRequest;\n const items = [];\n if (linePrefix === '') {\n historyRequest = {\n output: false,\n raw: true,\n hist_access_type: 'tail',\n n: this._maxSuggestions\n };\n const reply = await kernel.requestHistory(historyRequest);\n if (reply.content.status === 'ok') {\n let history = reply.content.history;\n const historyFrequencyMap = new Map();\n // Count the frequency of each element\n for (const entry of history.reverse()) {\n const sourceLines = entry[2];\n historyFrequencyMap.set(sourceLines, (historyFrequencyMap.get(sourceLines) || 0) + 1);\n }\n const frequencyHistory = Array.from(historyFrequencyMap.entries());\n const sortedFrequencyHistory = frequencyHistory.sort((a, b) => {\n if (a[1] > b[1]) {\n return -1;\n }\n else if (a[1] < b[1]) {\n return 1;\n }\n else {\n return 0;\n }\n });\n for (const entry of sortedFrequencyHistory) {\n items.push({\n insertText: entry[0]\n });\n }\n }\n }\n else {\n historyRequest = {\n output: false,\n raw: true,\n hist_access_type: 'search',\n pattern: linePrefix + '*' + (suffix ? suffix + '*' : ''),\n unique: true,\n n: this._maxSuggestions\n };\n const reply = await kernel.requestHistory(historyRequest);\n if (reply.content.status === 'ok') {\n for (const entry of reply.content.history) {\n const sourceLines = entry[2].split('\\n');\n for (let i = 0; i < sourceLines.length; i++) {\n const line = sourceLines[i];\n if (line.startsWith(linePrefix)) {\n let followingLines = line.slice(linePrefix.length);\n if (i + 1 < sourceLines.length) {\n followingLines += '\\n' + sourceLines.slice(i + 1).join('\\n');\n }\n if (suffix) {\n followingLines = followingLines.slice(0, followingLines.indexOf(suffix));\n }\n items.push({\n insertText: followingLines\n });\n }\n }\n }\n }\n }\n return { items };\n }\n}\n//# sourceMappingURL=inlinehistoryprovider.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/default/inlinehistoryprovider.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/default/kernelprovider.js":
+/*!***************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/default/kernelprovider.js ***!
+ \***************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KERNEL_PROVIDER_ID: () => (/* binding */ KERNEL_PROVIDER_ID),\n/* harmony export */ KernelCompleterProvider: () => (/* binding */ KernelCompleterProvider)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\nconst KERNEL_PROVIDER_ID = 'CompletionProvider:kernel';\n/**\n * A kernel connector for completion handlers.\n */\nclass KernelCompleterProvider {\n constructor() {\n this.identifier = KERNEL_PROVIDER_ID;\n this.rank = 550;\n this.renderer = null;\n }\n /**\n * The kernel completion provider is applicable only if the kernel is available.\n * @param context - additional information about context of completion request\n */\n async isApplicable(context) {\n var _a;\n const hasKernel = (_a = context.session) === null || _a === void 0 ? void 0 : _a.kernel;\n if (!hasKernel) {\n return false;\n }\n return true;\n }\n /**\n * Fetch completion requests.\n *\n * @param request - The completion request text and details.\n */\n async fetch(request, context) {\n var _a;\n const kernel = (_a = context.session) === null || _a === void 0 ? void 0 : _a.kernel;\n if (!kernel) {\n throw new Error('No kernel for completion request.');\n }\n const contents = {\n code: request.text,\n cursor_pos: request.offset\n };\n const msg = await kernel.requestComplete(contents);\n const response = msg.content;\n if (response.status !== 'ok') {\n throw new Error('Completion fetch failed to return successfully.');\n }\n const items = new Array();\n const metadata = response.metadata._jupyter_types_experimental;\n response.matches.forEach((label, index) => {\n if (metadata && metadata[index]) {\n items.push({\n label,\n type: metadata[index].type,\n insertText: metadata[index].text\n });\n }\n else {\n items.push({ label });\n }\n });\n return {\n start: response.cursor_start,\n end: response.cursor_end,\n items\n };\n }\n /**\n * Kernel provider will use the inspect request to lazy-load the content\n * for document panel.\n */\n async resolve(item, context, patch) {\n const { editor, session } = context;\n if (session && editor) {\n let code = editor.model.sharedModel.getSource();\n const position = editor.getCursorPosition();\n let offset = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.Text.jsIndexToCharIndex(editor.getOffsetAt(position), code);\n const kernel = session.kernel;\n if (!code || !kernel) {\n return Promise.resolve(item);\n }\n if (patch) {\n const { start, value } = patch;\n code = code.substring(0, start) + value;\n offset = offset + value.length;\n }\n const contents = {\n code,\n cursor_pos: offset,\n detail_level: 0\n };\n const msg = await kernel.requestInspect(contents);\n const value = msg.content;\n if (value.status !== 'ok' || !value.found) {\n return item;\n }\n item.documentation = value.data['text/plain'];\n return item;\n }\n return item;\n }\n /**\n * Kernel provider will activate the completer in continuous mode after\n * the `.` character.\n */\n shouldShowContinuousHint(visible, changed) {\n const sourceChange = changed.sourceChange;\n if (sourceChange == null) {\n return true;\n }\n if (sourceChange.some(delta => delta.delete != null)) {\n return false;\n }\n return sourceChange.some(delta => delta.insert != null &&\n (delta.insert === '.' || (!visible && delta.insert.trim().length > 0)));\n }\n}\n//# sourceMappingURL=kernelprovider.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/default/kernelprovider.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/ghost.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/ghost.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GhostTextManager: () => (/* binding */ GhostTextManager)\n/* harmony export */ });\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\nconst TRANSIENT_LINE_SPACER_CLASS = 'jp-GhostText-lineSpacer';\nconst TRANSIENT_LETTER_SPACER_CLASS = 'jp-GhostText-letterSpacer';\nconst GHOST_TEXT_CLASS = 'jp-GhostText';\nconst STREAMED_TOKEN_CLASS = 'jp-GhostText-streamedToken';\nconst STREAMING_INDICATOR_CLASS = 'jp-GhostText-streamingIndicator';\nconst ERROR_INDICATOR_CLASS = 'jp-GhostText-errorIndicator';\nconst HIDDEN_LINES_CLASS = 'jp-GhostText-hiddenLines';\nclass GhostTextManager {\n constructor(options) {\n this.options = options;\n // no-op\n }\n /**\n * Place ghost text in an editor.\n */\n placeGhost(view, text) {\n const effects = [Private.addMark.of(text)];\n if (!view.state.field(Private.markField, false)) {\n effects.push(_codemirror_state__WEBPACK_IMPORTED_MODULE_1__.StateEffect.appendConfig.of([Private.markField]));\n effects.push(_codemirror_state__WEBPACK_IMPORTED_MODULE_1__.StateEffect.appendConfig.of([\n _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.EditorView.domEventHandlers({\n blur: (event) => {\n if (this.options.onBlur(event) === false) {\n return true;\n }\n const effects = [\n Private.removeMark.of(null)\n ];\n // Only execute it after editor update has completed.\n setTimeout(() => {\n view.dispatch({ effects });\n }, 0);\n }\n })\n ]));\n }\n view.dispatch({ effects });\n }\n /**\n * Clear all ghost texts from the editor.\n */\n clearGhosts(view) {\n const effects = [Private.removeMark.of(null)];\n view.dispatch({ effects });\n }\n}\n/**\n * Typing animation.\n */\nGhostTextManager.streamingAnimation = 'uncover';\n/**\n * Delay for removal of line spacer.\n */\nGhostTextManager.spacerRemovalDelay = 700;\n/**\n * Duration for line spacer removal.\n */\nGhostTextManager.spacerRemovalDuration = 300;\nclass GhostTextWidget extends _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.WidgetType {\n constructor(options) {\n super();\n this.options = options;\n this.isSpacer = false;\n this._clearErrorTimeout = null;\n }\n eq(other) {\n return (other.content == this.content &&\n other.options.streaming === this.options.streaming &&\n other.options.error === this.options.error);\n }\n get lineBreaks() {\n return (this.content.match(/\\n/g) || '').length;\n }\n updateDOM(dom, _view) {\n this._updateDOM(dom);\n return true;\n }\n get content() {\n return this.options.content;\n }\n toDOM() {\n let wrap = document.createElement('span');\n if (this.options.onPointerOver) {\n wrap.addEventListener('pointerover', this.options.onPointerOver);\n }\n if (this.options.onPointerLeave) {\n wrap.addEventListener('pointerleave', this.options.onPointerLeave);\n }\n wrap.classList.add(GHOST_TEXT_CLASS);\n wrap.dataset.animation = GhostTextManager.streamingAnimation;\n wrap.dataset.providedBy = this.options.providerId;\n this._updateDOM(wrap);\n return wrap;\n }\n _removeErrorAnimation(dom) {\n const elementsToRemove = dom.querySelectorAll(`.${ERROR_INDICATOR_CLASS}`);\n elementsToRemove.forEach(element => {\n element.remove();\n });\n }\n /**\n * Mount the error animation DOM and remove the streaming indicator if any.\n */\n _mountErrorAnimation(dom) {\n const errorIndicator = document.createElement('span');\n errorIndicator.className = ERROR_INDICATOR_CLASS;\n const error = this.options.error;\n if (error === null || error === void 0 ? void 0 : error.message) {\n errorIndicator.title = error === null || error === void 0 ? void 0 : error.message;\n }\n // Delete stream and previous error animation\n const elementsToRemove = dom.querySelectorAll(`.${STREAMING_INDICATOR_CLASS}, .${ERROR_INDICATOR_CLASS}`);\n elementsToRemove.forEach(element => {\n element.remove();\n });\n dom.appendChild(errorIndicator);\n }\n _updateDOM(dom) {\n var _a, _b;\n if (this.options.error) {\n this._mountErrorAnimation(dom);\n this._clearErrorTimeout = setTimeout(() => {\n this._removeErrorAnimation(dom);\n this._clearErrorTimeout = null;\n }, 5000);\n return;\n }\n // If not in an error anymore, clear the error indicator\n if (this._clearErrorTimeout !== null) {\n clearTimeout(this._clearErrorTimeout);\n this._removeErrorAnimation(dom);\n this._clearErrorTimeout = null;\n }\n let content = this.content;\n let hiddenContent = '';\n let addition = this.options.addedPart;\n if (addition) {\n if (addition.startsWith('\\n')) {\n // Show the new line straight away to ensure proper positioning.\n addition = addition.substring(1);\n }\n content = content.substring(0, content.length - addition.length);\n }\n if (this.options.maxLines) {\n // Split into content to show immediately and the hidden part\n const lines = content.split('\\n');\n content = lines.slice(0, this.options.maxLines).join('\\n');\n hiddenContent = lines.slice(this.options.maxLines).join('\\n');\n }\n const minLines = Math.min((_a = this.options.minLines) !== null && _a !== void 0 ? _a : 0, (_b = this.options.maxLines) !== null && _b !== void 0 ? _b : Infinity);\n const linesToAdd = Math.max(0, minLines - content.split('\\n').length + 1);\n const placeHolderLines = new Array(linesToAdd).fill('').join('\\n');\n if (this.isSpacer) {\n dom.innerText = content + placeHolderLines;\n return;\n }\n dom.innerText = content;\n let streamedTokenHost = dom;\n if (hiddenContent.length > 0) {\n const hiddenWrapper = document.createElement('span');\n hiddenWrapper.className = 'jp-GhostText-hiddenWrapper';\n dom.appendChild(hiddenWrapper);\n const expandOnHover = document.createElement('span');\n expandOnHover.className = 'jp-GhostText-expandHidden';\n expandOnHover.innerText = '⇓';\n const hiddenPart = document.createElement('span');\n hiddenWrapper.appendChild(expandOnHover);\n hiddenPart.className = HIDDEN_LINES_CLASS;\n hiddenPart.innerText = '\\n' + hiddenContent;\n hiddenWrapper.appendChild(hiddenPart);\n streamedTokenHost = hiddenPart;\n }\n if (addition) {\n const addedPart = document.createElement('span');\n addedPart.className = STREAMED_TOKEN_CLASS;\n addedPart.innerText = addition;\n streamedTokenHost.appendChild(addedPart);\n }\n // Add \"streaming-in-progress\" indicator\n if (this.options.streaming) {\n const streamingIndicator = document.createElement('span');\n streamingIndicator.className = STREAMING_INDICATOR_CLASS;\n streamedTokenHost.appendChild(streamingIndicator);\n }\n if (placeHolderLines.length > 0) {\n const placeholderLinesNode = document.createTextNode(placeHolderLines);\n streamedTokenHost.appendChild(placeholderLinesNode);\n }\n }\n destroy(dom) {\n if (this.options.onPointerOver) {\n dom.removeEventListener('pointerover', this.options.onPointerOver);\n }\n if (this.options.onPointerLeave) {\n dom.removeEventListener('pointerleave', this.options.onPointerLeave);\n }\n super.destroy(dom);\n }\n}\n/**\n * Spacers are used to reduce height jitter in the transition between multi-line inline suggestions.\n * In particular, when user removes a letter they will often get a new suggestion in split-second,\n * but without spacer they would see the editor collapse in height and then elongate again.\n */\nclass TransientSpacerWidget extends GhostTextWidget {\n constructor() {\n super(...arguments);\n this.isSpacer = true;\n }\n}\nclass TransientLineSpacerWidget extends TransientSpacerWidget {\n toDOM() {\n const wrap = super.toDOM();\n wrap.classList.add(TRANSIENT_LINE_SPACER_CLASS);\n wrap.style.animationDelay = GhostTextManager.spacerRemovalDelay + 'ms';\n wrap.style.animationDuration =\n GhostTextManager.spacerRemovalDuration + 'ms';\n return wrap;\n }\n}\nclass TransientLetterSpacerWidget extends TransientSpacerWidget {\n get content() {\n return this.options.content[0];\n }\n toDOM() {\n const wrap = super.toDOM();\n wrap.classList.add(TRANSIENT_LETTER_SPACER_CLASS);\n return wrap;\n }\n}\nvar Private;\n(function (Private) {\n let GhostAction;\n (function (GhostAction) {\n GhostAction[GhostAction[\"Set\"] = 0] = \"Set\";\n GhostAction[GhostAction[\"Remove\"] = 1] = \"Remove\";\n GhostAction[GhostAction[\"FilterAndUpdate\"] = 2] = \"FilterAndUpdate\";\n })(GhostAction || (GhostAction = {}));\n Private.addMark = _codemirror_state__WEBPACK_IMPORTED_MODULE_1__.StateEffect.define({\n map: (old, change) => ({\n ...old,\n from: change.mapPos(old.from),\n to: change.mapPos(old.from + old.content.length)\n })\n });\n Private.removeMark = _codemirror_state__WEBPACK_IMPORTED_MODULE_1__.StateEffect.define();\n /**\n * Decide what should be done for transaction effects.\n */\n function chooseAction(tr) {\n // This function can short-circuit because at any time there is no more than one ghost text.\n for (let e of tr.effects) {\n if (e.is(Private.addMark)) {\n return {\n action: GhostAction.Set,\n spec: e.value\n };\n }\n else if (e.is(Private.removeMark)) {\n return {\n action: GhostAction.Remove\n };\n }\n }\n if (tr.docChanged || tr.selection) {\n return {\n action: GhostAction.FilterAndUpdate\n };\n }\n return null;\n }\n function createWidget(spec, tr) {\n const ghost = _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.Decoration.widget({\n widget: new GhostTextWidget(spec),\n side: 1,\n ghostSpec: spec\n });\n // Widget decorations can only have zero-length ranges\n return ghost.range(Math.min(spec.from, tr.newDoc.length), Math.min(spec.from, tr.newDoc.length));\n }\n function createSpacer(spec, tr, timeout = 1000) {\n // no spacer needed if content is only one character long.\n if (spec.content.length < 2) {\n return [];\n }\n const timeoutInfo = {\n elapsed: false\n };\n setTimeout(() => {\n timeoutInfo.elapsed = true;\n }, timeout);\n const characterSpacer = _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.Decoration.widget({\n widget: new TransientLetterSpacerWidget(spec),\n side: 1,\n timeoutInfo\n });\n const lineSpacer = _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.Decoration.widget({\n widget: new TransientLineSpacerWidget(spec),\n side: 1,\n timeoutInfo\n });\n // We add two different spacers: one to temporarily preserve height of as many lines\n // as there were in the content, and the other (character spacer) to ensure that\n // cursor is not malformed by the presence of the line spacer.\n return [\n characterSpacer.range(Math.min(spec.from, tr.newDoc.length), Math.min(spec.from, tr.newDoc.length)),\n lineSpacer.range(Math.min(spec.from, tr.newDoc.length), Math.min(spec.from, tr.newDoc.length))\n ];\n }\n Private.markField = _codemirror_state__WEBPACK_IMPORTED_MODULE_1__.StateField.define({\n create() {\n return _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.Decoration.none;\n },\n update(marks, tr) {\n const data = chooseAction(tr);\n // remove spacers after timeout\n marks = marks.update({\n filter: (_from, _to, value) => {\n if (value.spec.widget instanceof TransientSpacerWidget) {\n return !value.spec.timeoutInfo.elapsed;\n }\n return true;\n }\n });\n if (!data) {\n return marks.map(tr.changes);\n }\n switch (data.action) {\n case GhostAction.Set: {\n const spec = data.spec;\n const newWidget = createWidget(spec, tr);\n return marks.update({\n add: [newWidget],\n filter: (_from, _to, value) => value === newWidget.value\n });\n }\n case GhostAction.Remove:\n return marks.update({\n filter: () => false\n });\n case GhostAction.FilterAndUpdate: {\n let cursor = marks.iter();\n // skip over spacer if any\n while (cursor.value &&\n cursor.value.spec.widget instanceof TransientSpacerWidget) {\n cursor.next();\n }\n if (!cursor.value) {\n // short-circuit if no widgets are present, or if only spacer was present\n return marks.map(tr.changes);\n }\n const originalSpec = cursor.value.spec.ghostSpec;\n const spec = { ...originalSpec };\n let shouldRemoveGhost = false;\n tr.changes.iterChanges((fromA, toA, fromB, toB, inserted) => {\n if (shouldRemoveGhost) {\n return;\n }\n if (fromA === toA && fromB !== toB) {\n // text was inserted without modifying old text\n for (let lineNumber = 0; lineNumber < inserted.lines; lineNumber++) {\n const lineContent = inserted.lineAt(lineNumber).text;\n const line = lineNumber > 0 ? '\\n' + lineContent : lineContent;\n if (spec.content.startsWith(line)) {\n spec.content = spec.content.slice(line.length);\n spec.from += line.length;\n }\n else {\n shouldRemoveGhost = true;\n break;\n }\n }\n }\n else if (fromB === toB && fromA !== toA) {\n // text was removed\n shouldRemoveGhost = true;\n }\n else {\n // text was replaced\n shouldRemoveGhost = true;\n // TODO: could check if the previous spec matches\n }\n });\n // removing multi-line widget would cause the code cell to jump; instead\n // we add a temporary spacer widget(s) which will be removed in a future update\n // allowing a slight delay between getting a new suggestion and reducing cell height\n const newWidgets = shouldRemoveGhost\n ? createSpacer(originalSpec, tr)\n : [createWidget(spec, tr)];\n const newValues = newWidgets.map(widget => widget.value);\n marks = marks.update({\n add: newWidgets,\n filter: (_from, _to, value) => newValues.includes(value)\n });\n if (shouldRemoveGhost) {\n // TODO this can error out when deleting text, ideally a clean solution would be used.\n try {\n marks = marks.map(tr.changes);\n }\n catch (e) {\n console.warn(e);\n return _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.Decoration.none;\n }\n }\n return marks;\n }\n }\n },\n provide: f => _codemirror_view__WEBPACK_IMPORTED_MODULE_0__.EditorView.decorations.from(f)\n });\n})(Private || (Private = {}));\n//# sourceMappingURL=ghost.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/ghost.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/handler.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/handler.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompletionHandler: () => (/* binding */ CompletionHandler)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_messaging__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/messaging */ \"webpack/sharing/consume/default/@lumino/messaging/@lumino/messaging\");\n/* harmony import */ var _lumino_messaging__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_messaging__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _tokens__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tokens */ \"../node_modules/@jupyterlab/completer/lib/tokens.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n/**\n * A completion handler for editors.\n */\nclass CompletionHandler {\n /**\n * Construct a new completion handler for a widget.\n */\n constructor(options) {\n this._fetchingInline = 0;\n this._editor = null;\n this._enabled = false;\n this._isDisposed = false;\n this._autoCompletion = false;\n this._continuousInline = true;\n this._tabCompleterActive = false;\n this.completer = options.completer;\n this.inlineCompleter = options.inlineCompleter;\n this.completer.selected.connect(this.onCompletionSelected, this);\n this.completer.visibilityChanged.connect(this.onVisibilityChanged, this);\n this._reconciliator = options.reconciliator;\n }\n set reconciliator(reconciliator) {\n this._reconciliator = reconciliator;\n }\n /**\n * The editor used by the completion handler.\n */\n get editor() {\n return this._editor;\n }\n set editor(newValue) {\n if (newValue === this._editor) {\n return;\n }\n let editor = this._editor;\n // Clean up and disconnect from old editor.\n if (editor && !editor.isDisposed) {\n const model = editor.model;\n editor.host.classList.remove(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_ENABLED_CLASS);\n editor.host.classList.remove(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_ACTIVE_CLASS);\n model.selections.changed.disconnect(this.onSelectionsChanged, this);\n model.sharedModel.changed.disconnect(this._onSharedModelChanged, this);\n }\n // Reset completer state.\n this.completer.reset();\n this.completer.editor = newValue;\n // Update the editor and signal connections.\n editor = this._editor = newValue;\n if (editor) {\n const model = editor.model;\n this._enabled = false;\n model.selections.changed.connect(this.onSelectionsChanged, this);\n // We expect the model to be an editor, a file editor, or a cell.\n const sharedModel = model.sharedModel;\n // For cells and files the `changed` signal is not limited to text,\n // but also fires on changes to metadata, outputs, execution count,\n // and state changes, hence we need to filter the change type.\n sharedModel.changed.connect(this._onSharedModelChanged, this);\n // On initial load, manually check the cursor position.\n this.onSelectionsChanged();\n if (this.inlineCompleter) {\n this.inlineCompleter.editor = editor;\n }\n }\n }\n /**\n * Get whether the completion handler is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Enable/disable continuous hinting mode.\n */\n set autoCompletion(value) {\n this._autoCompletion = value;\n }\n get autoCompletion() {\n return this._autoCompletion;\n }\n /**\n * Dispose of the resources used by the handler.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__.Signal.clearData(this);\n }\n /**\n * Invoke the inline completer on explicit user request.\n */\n invokeInline() {\n const editor = this._editor;\n if (editor) {\n this._makeInlineRequest(editor.getCursorPosition(), _tokens__WEBPACK_IMPORTED_MODULE_4__.InlineCompletionTriggerKind.Invoke).catch(reason => {\n console.warn('Inline invoke request bailed', reason);\n });\n }\n }\n /**\n * Invoke the handler and launch a completer.\n */\n invoke() {\n _lumino_messaging__WEBPACK_IMPORTED_MODULE_2__.MessageLoop.sendMessage(this, CompletionHandler.Msg.InvokeRequest);\n }\n /**\n * Process a message sent to the completion handler.\n */\n processMessage(msg) {\n switch (msg.type) {\n case CompletionHandler.Msg.InvokeRequest.type:\n this.onInvokeRequest(msg);\n break;\n default:\n break;\n }\n }\n /**\n * Get the state of the text editor at the given position.\n */\n getState(editor, position) {\n return {\n text: editor.model.sharedModel.getSource(),\n line: position.line,\n column: position.column\n };\n }\n /**\n * Handle a completion selected signal from the completion widget.\n */\n onCompletionSelected(completer, val) {\n const model = completer.model;\n const editor = this._editor;\n if (!editor || !model) {\n return;\n }\n const patch = model.createPatch(val);\n if (!patch) {\n return;\n }\n const { start, end, value } = patch;\n const cursorBeforeChange = editor.getOffsetAt(editor.getCursorPosition());\n // Update the document and the cursor position in the same transaction\n // to ensure consistency in listeners to document changes.\n // Note: it also ensures a single change is stored by the undo manager.\n const transactions = {\n changes: { from: start, to: end, insert: value }\n };\n if (cursorBeforeChange <= end && cursorBeforeChange >= start) {\n transactions.selection = { anchor: start + value.length };\n }\n editor.editor.dispatch(transactions);\n }\n /**\n * Handle `invoke-request` messages.\n */\n onInvokeRequest(msg) {\n // If there is no completer model, bail.\n if (!this.completer.model) {\n return;\n }\n // If a completer session is already active, bail.\n if (this.completer.model.original) {\n return;\n }\n const editor = this._editor;\n if (editor) {\n this._makeRequest(editor.getCursorPosition(), _tokens__WEBPACK_IMPORTED_MODULE_4__.CompletionTriggerKind.Invoked).catch(reason => {\n console.warn('Invoke request bailed', reason);\n });\n }\n }\n /**\n * Handle selection changed signal from an editor.\n *\n * #### Notes\n * If a sub-class reimplements this method, then that class must either call\n * its super method or it must take responsibility for adding and removing\n * the completer completable class to the editor host node.\n *\n * Despite the fact that the editor widget adds a class whenever there is a\n * primary selection, this method checks independently for two reasons:\n *\n * 1. The editor widget connects to the same signal to add that class, so\n * there is no guarantee that the class will be added before this method\n * is invoked so simply checking for the CSS class's existence is not an\n * option. Secondarily, checking the editor state should be faster than\n * querying the DOM in either case.\n * 2. Because this method adds a class that indicates whether completer\n * functionality ought to be enabled, relying on the behavior of the\n * `jp-mod-has-primary-selection` to filter out any editors that have\n * a selection means the semantic meaning of `jp-mod-completer-enabled`\n * is obscured because there may be cases where the enabled class is added\n * even though the completer is not available.\n */\n onSelectionsChanged() {\n var _a;\n const model = this.completer.model;\n const editor = this._editor;\n if (!editor) {\n return;\n }\n const inlineModel = (_a = this.inlineCompleter) === null || _a === void 0 ? void 0 : _a.model;\n if (inlineModel) {\n // Dispatch selection change.\n inlineModel.handleSelectionChange(editor.getSelection());\n }\n const host = editor.host;\n // If there is no model, return.\n if (!model) {\n this._enabled = false;\n host.classList.remove(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_ENABLED_CLASS);\n return;\n }\n // If we are currently performing a subset match,\n // return without resetting the completer.\n if (model.subsetMatch) {\n return;\n }\n const position = editor.getCursorPosition();\n const line = editor.getLine(position.line);\n const { start, end } = editor.getSelection();\n // If there is a text selection, return.\n if (start.column !== end.column || start.line !== end.line) {\n this._enabled = false;\n model.reset(true);\n host.classList.remove(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_ENABLED_CLASS);\n return;\n }\n // If line is empty or the cursor doesn't have any characters before\n // it besides whitespace, add line beginning class\n // so that completer can stay enabled, but tab\n // in codemirror can still be triggered.\n if (!line || end.column === 0) {\n host.classList.add(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_LINE_BEGINNING_CLASS);\n }\n else if (line && line.slice(0, position.column).match(/^\\s*$/)) {\n host.classList.add(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_LINE_BEGINNING_CLASS);\n }\n else {\n host.classList.remove(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_LINE_BEGINNING_CLASS);\n }\n // Enable completion.\n if (!this._enabled) {\n this._enabled = true;\n host.classList.add(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_ENABLED_CLASS);\n }\n // Dispatch the cursor change.\n model.handleCursorChange(this.getState(editor, editor.getCursorPosition()));\n }\n /**\n * Handle a text changed signal from an editor.\n */\n async onTextChanged(str, changed) {\n var _a;\n if (!this._enabled) {\n return;\n }\n const model = this.completer.model;\n const editor = this.editor;\n if (!editor) {\n return;\n }\n if (model &&\n this._autoCompletion &&\n this._reconciliator.shouldShowContinuousHint &&\n (await this._reconciliator.shouldShowContinuousHint(this.completer.isVisible, changed))) {\n void this._makeRequest(editor.getCursorPosition(), _tokens__WEBPACK_IMPORTED_MODULE_4__.CompletionTriggerKind.TriggerCharacter);\n }\n const inlineModel = (_a = this.inlineCompleter) === null || _a === void 0 ? void 0 : _a.model;\n if (inlineModel) {\n // Dispatch the text change to inline completer\n // (this happens before request is sent)\n inlineModel.handleTextChange(changed);\n if (this._continuousInline) {\n void this._makeInlineRequest(editor.getCursorPosition(), _tokens__WEBPACK_IMPORTED_MODULE_4__.InlineCompletionTriggerKind.Automatic);\n }\n }\n if (model) {\n // If there is a text selection, no completion is allowed.\n const { start, end } = editor.getSelection();\n if (start.column !== end.column || start.line !== end.line) {\n return;\n }\n // Dispatch the text change.\n model.handleTextChange(this.getState(editor, editor.getCursorPosition()));\n }\n }\n /**\n * Handle a visibility change signal from a completer widget.\n */\n onVisibilityChanged(completer) {\n var _a;\n // Completer is not active.\n if (completer.isDisposed || completer.isHidden) {\n this._tabCompleterActive = false;\n if (this._editor) {\n this._editor.host.classList.remove(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_ACTIVE_CLASS);\n this._editor.focus();\n }\n return;\n }\n // Completer is active.\n this._tabCompleterActive = true;\n (_a = this._editor) === null || _a === void 0 ? void 0 : _a.host.classList.add(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.COMPLETER_ACTIVE_CLASS);\n }\n /**\n * Handle a text shared model change signal from an editor.\n */\n async _onSharedModelChanged(str, changed) {\n if (changed.sourceChange) {\n await this.onTextChanged(str, changed);\n }\n }\n /**\n * Make a completion request.\n */\n _makeRequest(position, trigger) {\n const editor = this.editor;\n if (!editor) {\n return Promise.reject(new Error('No active editor'));\n }\n const request = this._composeRequest(editor, position);\n const state = this.getState(editor, position);\n return this._reconciliator\n .fetch(request, trigger)\n .then(reply => {\n var _a;\n if (!reply) {\n return;\n }\n const model = this._updateModel(state, reply.start, reply.end);\n if (!model) {\n return;\n }\n if (this.completer.suppressIfInlineCompleterActive &&\n ((_a = this.inlineCompleter) === null || _a === void 0 ? void 0 : _a.isActive)) {\n return;\n }\n if (model.setCompletionItems) {\n model.setCompletionItems(reply.items);\n }\n })\n .catch(p => {\n /* Fails silently. */\n });\n }\n async _makeInlineRequest(position, trigger) {\n const editor = this.editor;\n if (!editor) {\n return Promise.reject(new Error('No active editor'));\n }\n if (!this.inlineCompleter) {\n return Promise.reject(new Error('No inline completer'));\n }\n const line = editor.getLine(position.line);\n if (trigger === _tokens__WEBPACK_IMPORTED_MODULE_4__.InlineCompletionTriggerKind.Automatic &&\n (typeof line === 'undefined' ||\n line.slice(0, position.column).match(/^\\s*$/))) {\n // In Automatic mode we only auto-trigger on the end of line (and not on the beginning).\n // Increase the counter to avoid out-of date replies when pressing Backspace quickly.\n this._fetchingInline += 1;\n return;\n }\n let isMiddleOfLine = false;\n if (typeof line !== 'undefined' && position.column < line.length) {\n isMiddleOfLine = true;\n }\n const request = this._composeRequest(editor, position);\n const model = this.inlineCompleter.model;\n if (!model) {\n return;\n }\n model.cursor = position;\n const current = ++this._fetchingInline;\n const promises = this._reconciliator.fetchInline(request, trigger, isMiddleOfLine);\n let cancelled = false;\n const completed = new Set();\n for (const promise of promises) {\n promise\n .then(result => {\n var _a;\n if (cancelled || !result || !result.items) {\n return;\n }\n if (current !== this._fetchingInline) {\n return;\n }\n completed.add(promise);\n if (completed.size === 1) {\n if (((_a = this.inlineCompleter) === null || _a === void 0 ? void 0 : _a.suppressIfTabCompleterActive) &&\n this._tabCompleterActive) {\n cancelled = true;\n return;\n }\n model.setCompletions(result);\n }\n else {\n model.appendCompletions(result);\n }\n })\n .catch(e => {\n // Emit warning for debugging.\n console.warn(e);\n })\n .finally(() => {\n // Mark the provider promise as completed.\n completed.add(promise);\n // Let the model know that we are awaiting for fewer providers now.\n const remaining = promises.length - completed.size;\n model.notifyProgress({\n pendingProviders: remaining,\n totalProviders: promises.length\n });\n });\n }\n }\n _composeRequest(editor, position) {\n const text = editor.model.sharedModel.getSource();\n const mimeType = editor.model.mimeType;\n const offset = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.Text.jsIndexToCharIndex(editor.getOffsetAt(position), text);\n return { text, offset, mimeType };\n }\n /**\n * Updates model with text state and current cursor position.\n */\n _updateModel(state, start, end) {\n const model = this.completer.model;\n const text = state.text;\n if (!model) {\n return null;\n }\n // Update the original request.\n model.original = state;\n // Update the cursor.\n model.cursor = {\n start: _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.Text.charIndexToJsIndex(start, text),\n end: _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.Text.charIndexToJsIndex(end, text)\n };\n return model;\n }\n}\n/**\n * A namespace for cell completion handler statics.\n */\n(function (CompletionHandler) {\n /**\n * Stream event type.\n */\n let StraemEvent;\n (function (StraemEvent) {\n StraemEvent[StraemEvent[\"opened\"] = 0] = \"opened\";\n StraemEvent[StraemEvent[\"update\"] = 1] = \"update\";\n StraemEvent[StraemEvent[\"closed\"] = 2] = \"closed\";\n })(StraemEvent = CompletionHandler.StraemEvent || (CompletionHandler.StraemEvent = {}));\n /**\n * A namespace for completion handler messages.\n */\n let Msg;\n (function (Msg) {\n /**\n * A singleton `'invoke-request'` message.\n */\n Msg.InvokeRequest = new _lumino_messaging__WEBPACK_IMPORTED_MODULE_2__.Message('invoke-request');\n })(Msg = CompletionHandler.Msg || (CompletionHandler.Msg = {}));\n})(CompletionHandler || (CompletionHandler = {}));\n//# sourceMappingURL=handler.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/handler.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/icons.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/icons.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ completerWidgetIcon: () => (/* binding */ completerWidgetIcon),\n/* harmony export */ inlineCompleterIcon: () => (/* binding */ inlineCompleterIcon)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _style_icons_inline_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../style/icons/inline.svg */ \"../node_modules/@jupyterlab/completer/style/icons/inline.svg\");\n/* harmony import */ var _style_icons_widget_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../style/icons/widget.svg */ \"../node_modules/@jupyterlab/completer/style/icons/widget.svg\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\nconst inlineCompleterIcon = new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.LabIcon({\n name: 'completer:inline',\n svgstr: _style_icons_inline_svg__WEBPACK_IMPORTED_MODULE_1__\n});\nconst completerWidgetIcon = new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.LabIcon({\n name: 'completer:widget',\n svgstr: _style_icons_widget_svg__WEBPACK_IMPORTED_MODULE_2__\n});\n//# sourceMappingURL=icons.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/icons.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/index.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/index.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CONTEXT_PROVIDER_ID: () => (/* reexport safe */ _default_contextprovider__WEBPACK_IMPORTED_MODULE_8__.CONTEXT_PROVIDER_ID),\n/* harmony export */ Completer: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_2__.Completer),\n/* harmony export */ CompleterModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_1__.CompleterModel),\n/* harmony export */ CompletionHandler: () => (/* reexport safe */ _handler__WEBPACK_IMPORTED_MODULE_0__.CompletionHandler),\n/* harmony export */ CompletionProviderManager: () => (/* reexport safe */ _manager__WEBPACK_IMPORTED_MODULE_4__.CompletionProviderManager),\n/* harmony export */ CompletionTriggerKind: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_3__.CompletionTriggerKind),\n/* harmony export */ ContextCompleterProvider: () => (/* reexport safe */ _default_contextprovider__WEBPACK_IMPORTED_MODULE_8__.ContextCompleterProvider),\n/* harmony export */ HistoryInlineCompletionProvider: () => (/* reexport safe */ _default_inlinehistoryprovider__WEBPACK_IMPORTED_MODULE_10__.HistoryInlineCompletionProvider),\n/* harmony export */ ICompletionProviderManager: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_3__.ICompletionProviderManager),\n/* harmony export */ IInlineCompleterFactory: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_3__.IInlineCompleterFactory),\n/* harmony export */ InlineCompleter: () => (/* reexport safe */ _inline__WEBPACK_IMPORTED_MODULE_7__.InlineCompleter),\n/* harmony export */ InlineCompletionTriggerKind: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_3__.InlineCompletionTriggerKind),\n/* harmony export */ KERNEL_PROVIDER_ID: () => (/* reexport safe */ _default_kernelprovider__WEBPACK_IMPORTED_MODULE_9__.KERNEL_PROVIDER_ID),\n/* harmony export */ KernelCompleterProvider: () => (/* reexport safe */ _default_kernelprovider__WEBPACK_IMPORTED_MODULE_9__.KernelCompleterProvider),\n/* harmony export */ ProviderReconciliator: () => (/* reexport safe */ _reconciliator__WEBPACK_IMPORTED_MODULE_5__.ProviderReconciliator),\n/* harmony export */ completerWidgetIcon: () => (/* reexport safe */ _icons__WEBPACK_IMPORTED_MODULE_6__.completerWidgetIcon),\n/* harmony export */ inlineCompleterIcon: () => (/* reexport safe */ _icons__WEBPACK_IMPORTED_MODULE_6__.inlineCompleterIcon)\n/* harmony export */ });\n/* harmony import */ var _handler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./handler */ \"../node_modules/@jupyterlab/completer/lib/handler.js\");\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./model */ \"../node_modules/@jupyterlab/completer/lib/model.js\");\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/completer/lib/widget.js\");\n/* harmony import */ var _tokens__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tokens */ \"../node_modules/@jupyterlab/completer/lib/tokens.js\");\n/* harmony import */ var _manager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./manager */ \"../node_modules/@jupyterlab/completer/lib/manager.js\");\n/* harmony import */ var _reconciliator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reconciliator */ \"../node_modules/@jupyterlab/completer/lib/reconciliator.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./icons */ \"../node_modules/@jupyterlab/completer/lib/icons.js\");\n/* harmony import */ var _inline__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./inline */ \"../node_modules/@jupyterlab/completer/lib/inline.js\");\n/* harmony import */ var _default_contextprovider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./default/contextprovider */ \"../node_modules/@jupyterlab/completer/lib/default/contextprovider.js\");\n/* harmony import */ var _default_kernelprovider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./default/kernelprovider */ \"../node_modules/@jupyterlab/completer/lib/default/kernelprovider.js\");\n/* harmony import */ var _default_inlinehistoryprovider__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./default/inlinehistoryprovider */ \"../node_modules/@jupyterlab/completer/lib/default/inlinehistoryprovider.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module completer\n */\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/inline.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/inline.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InlineCompleter: () => (/* binding */ InlineCompleter)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _ghost__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ghost */ \"../node_modules/@jupyterlab/completer/lib/ghost.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\nconst INLINE_COMPLETER_CLASS = 'jp-InlineCompleter';\nconst INLINE_COMPLETER_ACTIVE_CLASS = 'jp-mod-inline-completer-active';\nconst HOVER_CLASS = 'jp-InlineCompleter-hover';\nconst PROGRESS_BAR_CLASS = 'jp-InlineCompleter-progressBar';\n/**\n * Widget enabling user to choose among inline completions,\n * typically by pressing next/previous buttons, and showing\n * additional metadata about active completion, such as\n * inline completion provider name.\n */\nclass InlineCompleter extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__.Widget {\n constructor(options) {\n var _a, _b;\n super({ node: document.createElement('div') });\n this._clearHoverTimeout = null;\n this._current = 0;\n this._editor = null;\n this._lastItem = null;\n this._model = null;\n this._providerWidget = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__.Widget();\n this._showShortcuts = InlineCompleter.defaultSettings.showShortcuts;\n this._showWidget = InlineCompleter.defaultSettings.showWidget;\n this._suggestionsCounter = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__.Widget();\n this._toolbar = new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.Toolbar();\n this.model = (_a = options.model) !== null && _a !== void 0 ? _a : null;\n this.editor = (_b = options.editor) !== null && _b !== void 0 ? _b : null;\n this.addClass(INLINE_COMPLETER_CLASS);\n this.addClass('jp-ThemedContainer');\n this._ghostManager = new _ghost__WEBPACK_IMPORTED_MODULE_3__.GhostTextManager({\n onBlur: this._onEditorBlur.bind(this)\n });\n this._trans = options.trans;\n const layout = (this.layout = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__.PanelLayout());\n layout.addWidget(this._suggestionsCounter);\n layout.addWidget(this.toolbar);\n layout.addWidget(this._providerWidget);\n this._progressBar = document.createElement('div');\n this._progressBar.className = PROGRESS_BAR_CLASS;\n this.node.appendChild(this._progressBar);\n this._updateShortcutsVisibility();\n this._updateDisplay();\n // Allow the node to receive focus, which prevents removing the ghost text\n // when user mis-clicks on the tooltip instead of the button in the tooltip.\n this.node.tabIndex = 0;\n }\n /**\n * Toolbar with buttons such as previous/next/accept.\n */\n get toolbar() {\n return this._toolbar;\n }\n /**\n * The editor used by the completion widget.\n */\n get editor() {\n return this._editor;\n }\n set editor(newValue) {\n var _a;\n (_a = this.model) === null || _a === void 0 ? void 0 : _a.reset();\n this._editor = newValue;\n }\n /**\n * The model used by the completer widget.\n */\n get model() {\n return this._model;\n }\n set model(model) {\n if ((!model && !this._model) || model === this._model) {\n return;\n }\n if (this._model) {\n this._model.suggestionsChanged.disconnect(this._onModelSuggestionsChanged, this);\n this._model.filterTextChanged.disconnect(this._onModelFilterTextChanged, this);\n this._model.provisionProgress.disconnect(this._onProvisionProgress, this);\n }\n this._model = model;\n if (this._model) {\n this._model.suggestionsChanged.connect(this._onModelSuggestionsChanged, this);\n this._model.filterTextChanged.connect(this._onModelFilterTextChanged, this);\n this._model.provisionProgress.connect(this._onProvisionProgress, this);\n }\n }\n cycle(direction) {\n var _a, _b;\n const items = (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.completions) === null || _b === void 0 ? void 0 : _b.items;\n if (!items) {\n return;\n }\n if (direction === 'next') {\n const proposed = this._current + 1;\n this._current = proposed === items.length ? 0 : proposed;\n }\n else {\n const proposed = this._current - 1;\n this._current = proposed === -1 ? items.length - 1 : proposed;\n }\n this._updateStreamTracking();\n this._render();\n }\n accept() {\n const model = this.model;\n const candidate = this.current;\n const editor = this._editor;\n if (!editor || !model || !candidate) {\n return;\n }\n const position = model.cursor;\n const value = candidate.insertText;\n const cursorBeforeChange = editor.getOffsetAt(editor.getCursorPosition());\n const requestPosition = editor.getOffsetAt(position);\n const start = requestPosition;\n const end = cursorBeforeChange;\n const transactions = {\n changes: { from: start, to: end, insert: value }\n };\n if (cursorBeforeChange <= end && cursorBeforeChange >= start) {\n transactions.selection = { anchor: start + value.length };\n }\n editor.editor.dispatch(transactions);\n model.reset();\n this.update();\n }\n get current() {\n var _a;\n const completions = (_a = this.model) === null || _a === void 0 ? void 0 : _a.completions;\n if (!completions) {\n return null;\n }\n return completions.items[this._current];\n }\n _updateStreamTracking() {\n if (this._lastItem) {\n this._lastItem.stream.disconnect(this._onStream, this);\n }\n const current = this.current;\n if (current) {\n current.stream.connect(this._onStream, this);\n }\n this._lastItem = current;\n }\n _onStream(_emitter, _change) {\n var _a;\n // TODO handle stuck streams, i.e. if we connected and received 'opened'\n // but then did not receive 'closed' for a long time we should disconnect\n // and update widget with an 'timed out' status.\n const completions = (_a = this.model) === null || _a === void 0 ? void 0 : _a.completions;\n if (!completions || !completions.items || completions.items.length === 0) {\n return;\n }\n if (this.isHidden) {\n return;\n }\n const candidate = completions.items[this._current];\n this._setText(candidate);\n }\n /**\n * Change user-configurable settings.\n */\n configure(settings) {\n this._showWidget = settings.showWidget;\n this._updateDisplay();\n if (settings.showShortcuts !== this._showShortcuts) {\n this._showShortcuts = settings.showShortcuts;\n this._updateShortcutsVisibility();\n }\n _ghost__WEBPACK_IMPORTED_MODULE_3__.GhostTextManager.streamingAnimation = settings.streamingAnimation;\n _ghost__WEBPACK_IMPORTED_MODULE_3__.GhostTextManager.spacerRemovalDelay = Math.max(0, settings.editorResizeDelay - 300);\n _ghost__WEBPACK_IMPORTED_MODULE_3__.GhostTextManager.spacerRemovalDuration = Math.max(0, Math.min(300, settings.editorResizeDelay - 300));\n this._minLines = settings.minLines;\n this._maxLines = settings.maxLines;\n this._reserveSpaceForLongest = settings.reserveSpaceForLongest;\n this._suppressIfTabCompleterActive = settings.suppressIfTabCompleterActive;\n }\n /**\n * Whether to suppress the inline completer when tab completer is active.\n */\n get suppressIfTabCompleterActive() {\n return this._suppressIfTabCompleterActive;\n }\n /**\n * Whether the inline completer is active.\n */\n get isActive() {\n var _a;\n return !!((_a = this.editor) === null || _a === void 0 ? void 0 : _a.host.classList.contains(INLINE_COMPLETER_ACTIVE_CLASS));\n }\n /**\n * Handle the DOM events for the widget.\n *\n * @param event - The DOM event sent to the widget.\n *\n * #### Notes\n * This method implements the DOM `EventListener` interface and is\n * called in response to events on the dock panel's node. It should\n * not be called directly by user code.\n */\n handleEvent(event) {\n if (this.isHidden || !this._editor) {\n return;\n }\n switch (event.type) {\n case 'pointerdown':\n this._evtPointerdown(event);\n break;\n case 'scroll':\n this._evtScroll(event);\n break;\n default:\n break;\n }\n }\n /**\n * Handle `update-request` messages.\n */\n onUpdateRequest(msg) {\n super.onUpdateRequest(msg);\n const model = this._model;\n if (!model) {\n return;\n }\n let reply = model.completions;\n // If there are no items, hide.\n if (!reply || !reply.items || reply.items.length === 0) {\n if (!this.isHidden) {\n this.hide();\n }\n return;\n }\n if (this.isHidden) {\n this.show();\n this._setGeometry();\n }\n }\n /**\n * Handle `after-attach` messages for the widget.\n */\n onAfterAttach(msg) {\n document.addEventListener('scroll', this, true);\n document.addEventListener('pointerdown', this, true);\n }\n /**\n * Handle `before-detach` messages for the widget.\n */\n onBeforeDetach(msg) {\n document.removeEventListener('scroll', this, true);\n document.removeEventListener('pointerdown', this, true);\n }\n /**\n * Handle pointerdown events for the widget.\n */\n _evtPointerdown(event) {\n var _a;\n if (this.isHidden || !this._editor) {\n return;\n }\n const target = event.target;\n if (this.node.contains(target)) {\n return true;\n }\n this.hide();\n (_a = this.model) === null || _a === void 0 ? void 0 : _a.reset();\n }\n /**\n * Handle scroll events for the widget\n */\n _evtScroll(event) {\n if (this.isHidden || !this._editor) {\n return;\n }\n const { node } = this;\n // All scrolls except scrolls in the actual hover box node may cause the\n // referent editor that anchors the node to move, so the only scroll events\n // that can safely be ignored are ones that happen inside the hovering node.\n if (node.contains(event.target)) {\n return;\n }\n // Set the geometry of the node asynchronously.\n requestAnimationFrame(() => {\n this._setGeometry();\n });\n }\n _onEditorBlur(event) {\n var _a;\n if (this.node.contains(event.relatedTarget)) {\n // Cancel removing ghost text if our node is receiving focus\n return false;\n }\n // The ghost text will be removed, so nothing to accept\n (_a = this._editor) === null || _a === void 0 ? void 0 : _a.host.classList.remove(INLINE_COMPLETER_ACTIVE_CLASS);\n // Hide the widget if editor was blurred.\n this.hide();\n }\n _onModelSuggestionsChanged(_emitter, args) {\n var _a;\n if (!this.isAttached) {\n this.update();\n return;\n }\n if (args.event === 'set') {\n this._current = (_a = args.indexMap.get(this._current)) !== null && _a !== void 0 ? _a : 0;\n }\n else if (args.event === 'clear') {\n const editor = this.editor;\n if (editor) {\n this._ghostManager.clearGhosts(editor.editor);\n editor.host.classList.remove(INLINE_COMPLETER_ACTIVE_CLASS);\n }\n }\n this._updateStreamTracking();\n this.update();\n this._render();\n }\n _onModelFilterTextChanged(_emitter, mapping) {\n var _a, _b;\n const completions = (_a = this.model) === null || _a === void 0 ? void 0 : _a.completions;\n if (!completions || !completions.items || completions.items.length === 0) {\n return;\n }\n this._current = (_b = mapping.get(this._current)) !== null && _b !== void 0 ? _b : 0;\n this._updateStreamTracking();\n // Because the signal will be emitted during `EditorView.update` we want to\n // wait for the update to complete before calling `this._render()`. As there\n // is no API to check if update is done, we instead defer to next engine tick.\n setTimeout(() => {\n this._render();\n // (reading layout to get coordinate to position hoverbox is not allowed either)\n this._setGeometry();\n }, 0);\n }\n _onProvisionProgress(_emitter, progress) {\n requestAnimationFrame(() => {\n if (progress.pendingProviders === 0) {\n this._progressBar.style.display = 'none';\n }\n else {\n this._progressBar.style.display = '';\n this._progressBar.style.width =\n (100 * progress.pendingProviders) / progress.totalProviders + '%';\n }\n });\n }\n _render() {\n var _a, _b;\n const completions = (_a = this.model) === null || _a === void 0 ? void 0 : _a.completions;\n if (!completions || !completions.items || completions.items.length === 0) {\n return;\n }\n const candidate = completions.items[this._current];\n this._setText(candidate);\n if (this._showWidget === 'never') {\n return;\n }\n this._suggestionsCounter.node.innerText = this._trans.__('%1/%2', this._current + 1, completions.items.length);\n this._providerWidget.node.title = this._trans.__('Provider: %1', candidate.provider.name);\n const icon = (_b = candidate.provider.icon) !== null && _b !== void 0 ? _b : _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.kernelIcon;\n icon.render(this._providerWidget.node);\n }\n _setText(item) {\n var _a, _b, _c;\n const text = item.insertText;\n const editor = this._editor;\n const model = this._model;\n if (!model || !editor) {\n return;\n }\n const view = editor.editor;\n let minLines;\n if (this._reserveSpaceForLongest) {\n const items = (_c = (_b = (_a = this.model) === null || _a === void 0 ? void 0 : _a.completions) === null || _b === void 0 ? void 0 : _b.items) !== null && _c !== void 0 ? _c : [];\n const longest = Math.max(...items.map(i => i.insertText.split('\\n').length));\n minLines = Math.max(this._minLines, longest);\n }\n else {\n minLines = this._minLines;\n }\n this._ghostManager.placeGhost(view, {\n from: editor.getOffsetAt(model.cursor),\n content: text,\n providerId: item.provider.identifier,\n addedPart: item.lastStreamed,\n streaming: item.streaming,\n minLines: minLines,\n maxLines: this._maxLines,\n onPointerOver: this._onPointerOverGhost.bind(this),\n onPointerLeave: this._onPointerLeaveGhost.bind(this),\n error: item.error\n });\n editor.host.classList.add(INLINE_COMPLETER_ACTIVE_CLASS);\n }\n _onPointerOverGhost() {\n if (this._clearHoverTimeout !== null) {\n window.clearTimeout(this._clearHoverTimeout);\n this._clearHoverTimeout = null;\n }\n this.node.classList.add(HOVER_CLASS);\n }\n _onPointerLeaveGhost() {\n // Remove after a small delay to avoid flicker when moving cursor\n // between the lines or around the edges of the ghost text.\n this._clearHoverTimeout = window.setTimeout(() => this.node.classList.remove(HOVER_CLASS), 500);\n }\n _setGeometry() {\n const { node } = this;\n const model = this._model;\n const editor = this._editor;\n if (!editor || !model || !model.cursor) {\n return;\n }\n const host = editor.host.closest('.jp-MainAreaWidget > .lm-Widget') ||\n editor.host;\n let anchor;\n try {\n const maybeAnchor = editor.getCoordinateForPosition(model.cursor);\n if (!maybeAnchor) {\n throw Error('No coordinates for cursor position');\n }\n anchor = maybeAnchor;\n }\n catch (_a) {\n // if coordinate is no longer in editor (e.g. after deleting a line), hide widget\n this.hide();\n return;\n }\n _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.HoverBox.setGeometry({\n anchor,\n host: host,\n maxHeight: 40,\n minHeight: 20,\n node: node,\n privilege: 'forceAbove',\n outOfViewDisplay: {\n top: 'stick-outside',\n bottom: 'stick-inside',\n left: 'stick-inside',\n right: 'stick-outside'\n }\n });\n }\n _updateShortcutsVisibility() {\n this.node.dataset.showShortcuts = this._showShortcuts + '';\n }\n _updateDisplay() {\n this.node.dataset.display = this._showWidget;\n }\n}\n/**\n * A namespace for inline completer statics.\n */\n(function (InlineCompleter) {\n /**\n * Defaults for runtime user-configurable settings.\n */\n InlineCompleter.defaultSettings = {\n showWidget: 'onHover',\n showShortcuts: true,\n streamingAnimation: 'uncover',\n providers: {},\n minLines: 2,\n maxLines: 4,\n editorResizeDelay: 1000,\n reserveSpaceForLongest: false,\n suppressIfTabCompleterActive: true\n };\n /**\n * Model for inline completions.\n */\n class Model {\n constructor() {\n this.suggestionsChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);\n this.filterTextChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);\n this.provisionProgress = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);\n this._isDisposed = false;\n this._completions = null;\n }\n setCompletions(reply) {\n var _a, _b;\n const previousPositions = new Map((_b = (_a = this._completions) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.map((item, index) => [item.insertText, index]));\n this._completions = reply;\n const indexMap = new Map(reply.items.map((item, newIndex) => [\n previousPositions.get(item.insertText),\n newIndex\n ]));\n this.suggestionsChanged.emit({\n event: 'set',\n indexMap\n });\n }\n appendCompletions(reply) {\n if (!this._completions || !this._completions.items) {\n console.warn('No completions to append to');\n return;\n }\n this._completions.items.push(...reply.items);\n this.suggestionsChanged.emit({ event: 'append' });\n }\n notifyProgress(progress) {\n this.provisionProgress.emit(progress);\n }\n get cursor() {\n return this._cursor;\n }\n set cursor(value) {\n this._cursor = value;\n }\n get completions() {\n return this._completions;\n }\n reset() {\n this._completions = null;\n this.suggestionsChanged.emit({ event: 'clear' });\n }\n /**\n * Get whether the model is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n handleTextChange(sourceChange) {\n var _a;\n const completions = this._completions;\n if (!completions ||\n !completions.items ||\n completions.items.length === 0) {\n return;\n }\n const originalPositions = new Map(completions.items.map((item, index) => [item, index]));\n for (let change of (_a = sourceChange.sourceChange) !== null && _a !== void 0 ? _a : []) {\n const insert = change.insert;\n if (insert) {\n const items = completions.items.filter(item => {\n var _a;\n const filterText = (_a = item.filterText) !== null && _a !== void 0 ? _a : item.insertText;\n if (!filterText.startsWith(insert)) {\n return false;\n }\n item.filterText = filterText.substring(insert.length);\n item.insertText = item.insertText.substring(insert.length);\n return true;\n });\n if (items.length === 0) {\n // all items from this provider were filtered out\n this._completions = null;\n }\n completions.items = items;\n }\n else {\n if (!change.retain) {\n this._completions = null;\n }\n }\n }\n const indexMap = new Map(completions.items.map((item, newIndex) => [\n originalPositions.get(item),\n newIndex\n ]));\n this.filterTextChanged.emit(indexMap);\n }\n handleSelectionChange(range) {\n const initialCursor = this.cursor;\n if (!initialCursor) {\n return;\n }\n const { start, end } = range;\n if (start.column !== end.column || start.line !== end.line) {\n // Cancel if user started selecting text.\n this.reset();\n }\n if (start.line !== initialCursor.line ||\n start.column < initialCursor.column) {\n // Cancel if user moved cursor to next line or receded to before the origin\n this.reset();\n }\n }\n /**\n * Dispose of the resources held by the model.\n */\n dispose() {\n // Do nothing if already disposed.\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal.clearData(this);\n }\n }\n InlineCompleter.Model = Model;\n})(InlineCompleter || (InlineCompleter = {}));\n//# sourceMappingURL=inline.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/inline.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/manager.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/manager.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompletionProviderManager: () => (/* binding */ CompletionProviderManager)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _reconciliator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./reconciliator */ \"../node_modules/@jupyterlab/completer/lib/reconciliator.js\");\n/* harmony import */ var _default_contextprovider__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./default/contextprovider */ \"../node_modules/@jupyterlab/completer/lib/default/contextprovider.js\");\n/* harmony import */ var _default_kernelprovider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./default/kernelprovider */ \"../node_modules/@jupyterlab/completer/lib/default/kernelprovider.js\");\n/* harmony import */ var _handler__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./handler */ \"../node_modules/@jupyterlab/completer/lib/handler.js\");\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./model */ \"../node_modules/@jupyterlab/completer/lib/model.js\");\n/* harmony import */ var _inline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./inline */ \"../node_modules/@jupyterlab/completer/lib/inline.js\");\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/completer/lib/widget.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n\n/**\n * A manager for completion providers.\n */\nclass CompletionProviderManager {\n /**\n * Construct a new completer manager.\n */\n constructor() {\n /**\n * The set of activated providers\n */\n this._activeProviders = new Set([_default_kernelprovider__WEBPACK_IMPORTED_MODULE_2__.KERNEL_PROVIDER_ID, _default_contextprovider__WEBPACK_IMPORTED_MODULE_3__.CONTEXT_PROVIDER_ID]);\n this._inlineCompleterSettings = _inline__WEBPACK_IMPORTED_MODULE_4__.InlineCompleter.defaultSettings;\n this._providers = new Map();\n this._inlineProviders = new Map();\n this._panelHandlers = new Map();\n this._mostRecentContext = new Map();\n this._activeProvidersChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._selected = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._inlineCompleterFactory = null;\n }\n /**\n * Signal emitted when active providers list is changed.\n */\n get activeProvidersChanged() {\n return this._activeProvidersChanged;\n }\n /**\n * Signal emitted when a selection is made from a completer menu.\n */\n get selected() {\n return this._selected;\n }\n /**\n * Set provider timeout.\n *\n * @param {number} timeout - value of timeout in millisecond.\n */\n setTimeout(timeout) {\n this._timeout = timeout;\n }\n /**\n * Enable/disable the document panel.\n */\n setShowDocumentationPanel(showDoc) {\n this._panelHandlers.forEach(handler => (handler.completer.showDocsPanel = showDoc));\n this._showDoc = showDoc;\n }\n /**\n * Whether to suppress the tab completer when inline completions are presented.\n */\n setSuppressIfInlineCompleterActive(suppress) {\n this._panelHandlers.forEach(handler => (handler.completer.suppressIfInlineCompleterActive = suppress));\n this._suppressIfInlineCompleterActive = suppress;\n }\n /**\n * Enable/disable continuous hinting mode.\n */\n setContinuousHinting(value) {\n this._panelHandlers.forEach(handler => (handler.autoCompletion = value));\n this._autoCompletion = value;\n }\n /**\n * Register a completer provider with the manager.\n *\n * @param {ICompletionProvider} provider - the provider to be registered.\n */\n registerProvider(provider) {\n const identifier = provider.identifier;\n if (this._providers.has(identifier)) {\n console.warn(`Completion provider with identifier ${identifier} is already registered`);\n }\n else {\n this._providers.set(identifier, provider);\n this._panelHandlers.forEach((handler, id) => {\n void this.updateCompleter(this._mostRecentContext.get(id));\n });\n }\n }\n registerInlineProvider(provider) {\n const identifier = provider.identifier;\n if (this._inlineProviders.has(identifier)) {\n console.warn(`Completion provider with identifier ${identifier} is already registered`);\n }\n else {\n this._inlineProviders.set(identifier, provider);\n this._panelHandlers.forEach((handler, id) => {\n void this.updateCompleter(this._mostRecentContext.get(id));\n });\n }\n }\n /**\n *\n * Return the map of providers.\n */\n getProviders() {\n return this._providers;\n }\n /**\n * Activate the providers by id, the list of ids is populated from user setting.\n * The non-existing providers will be discarded.\n *\n * @param {Array} providerIds - Array of strings with ids of provider\n */\n activateProvider(providerIds) {\n this._activeProviders = new Set([]);\n providerIds.forEach(providerId => {\n if (this._providers.has(providerId)) {\n this._activeProviders.add(providerId);\n }\n });\n if (this._activeProviders.size === 0) {\n this._activeProviders.add(_default_kernelprovider__WEBPACK_IMPORTED_MODULE_2__.KERNEL_PROVIDER_ID);\n this._activeProviders.add(_default_contextprovider__WEBPACK_IMPORTED_MODULE_3__.CONTEXT_PROVIDER_ID);\n }\n this._activeProvidersChanged.emit();\n }\n /**\n * Create or update completer handler of a widget with new context.\n *\n * @param newCompleterContext - The completion context.\n */\n async updateCompleter(newCompleterContext) {\n var _a, _b;\n const { widget, editor, sanitizer } = newCompleterContext;\n const id = widget.id;\n const handler = this._panelHandlers.get(id);\n const firstProvider = [...this._activeProviders][0];\n const provider = this._providers.get(firstProvider);\n let renderer = (_a = provider === null || provider === void 0 ? void 0 : provider.renderer) !== null && _a !== void 0 ? _a : _widget__WEBPACK_IMPORTED_MODULE_5__.Completer.getDefaultRenderer(sanitizer);\n const modelFactory = provider === null || provider === void 0 ? void 0 : provider.modelFactory;\n let model;\n if (modelFactory) {\n model = await modelFactory.call(provider, newCompleterContext);\n }\n else {\n model = new _model__WEBPACK_IMPORTED_MODULE_6__.CompleterModel();\n }\n this._mostRecentContext.set(widget.id, newCompleterContext);\n const options = {\n model,\n editor,\n renderer,\n sanitizer,\n showDoc: this._showDoc\n };\n if (!handler) {\n // Create a new handler.\n const handler = await this._generateHandler(newCompleterContext, options);\n this._panelHandlers.set(widget.id, handler);\n handler.completer.selected.connect((completer, insertText) => this._selected.emit({ insertText }));\n widget.disposed.connect(old => {\n this.disposeHandler(old.id, handler);\n this._mostRecentContext.delete(id);\n });\n }\n else {\n // Update existing completer.\n const completer = handler.completer;\n (_b = completer.model) === null || _b === void 0 ? void 0 : _b.dispose();\n completer.model = options.model;\n completer.renderer = options.renderer;\n completer.showDocsPanel = options.showDoc;\n completer.suppressIfInlineCompleterActive =\n this._suppressIfInlineCompleterActive;\n // Update other handler attributes.\n handler.autoCompletion = this._autoCompletion;\n if (editor) {\n handler.editor = editor;\n handler.reconciliator =\n await this.generateReconciliator(newCompleterContext);\n }\n }\n }\n /**\n * Invoke the completer in the widget with provided id.\n *\n * @param id - the id of notebook panel, console panel or code editor.\n */\n invoke(id) {\n const handler = this._panelHandlers.get(id);\n if (handler) {\n handler.invoke();\n }\n }\n /**\n * Activate `select` command in the widget with provided id.\n *\n * @param {string} id - the id of notebook panel, console panel or code editor.\n */\n select(id) {\n const handler = this._panelHandlers.get(id);\n if (handler) {\n handler.completer.selectActive();\n }\n }\n /**\n * Set inline completer factory.\n */\n setInlineCompleterFactory(factory) {\n this._inlineCompleterFactory = factory;\n this._panelHandlers.forEach((handler, id) => {\n void this.updateCompleter(this._mostRecentContext.get(id));\n });\n if (this.inline) {\n return;\n }\n this.inline = {\n invoke: (id) => {\n const handler = this._panelHandlers.get(id);\n if (handler && handler.inlineCompleter) {\n handler.invokeInline();\n }\n },\n isActive: (id) => {\n const handler = this._panelHandlers.get(id);\n if (handler && handler.inlineCompleter) {\n return handler.inlineCompleter.isActive;\n }\n return false;\n },\n cycle: (id, direction) => {\n const handler = this._panelHandlers.get(id);\n if (handler && handler.inlineCompleter) {\n handler.inlineCompleter.cycle(direction);\n }\n },\n accept: (id) => {\n const handler = this._panelHandlers.get(id);\n if (handler && handler.inlineCompleter) {\n handler.inlineCompleter.accept();\n }\n },\n configure: (settings) => {\n this._inlineCompleterSettings = settings;\n for (const [providerId, provider] of this._inlineProviders.entries()) {\n if (provider.configure) {\n provider.configure(settings.providers[providerId]);\n }\n }\n this._panelHandlers.forEach((handler, handlerId) => {\n if (handler.inlineCompleter) {\n handler.inlineCompleter.configure(settings);\n }\n // trigger update to regenerate reconciliator\n void this.updateCompleter(this._mostRecentContext.get(handlerId));\n });\n }\n };\n }\n /**\n * Inline providers information.\n */\n get inlineProviders() {\n return [...this._inlineProviders.values()];\n }\n /**\n * Helper function to generate a `ProviderReconciliator` with provided context.\n * The `isApplicable` method of provider is used to filter out the providers\n * which can not be used with provided context.\n *\n * @param {ICompletionContext} completerContext - the current completer context\n */\n async generateReconciliator(completerContext) {\n const enabledProviders = [];\n for (const [id, providerSettings] of Object.entries(this._inlineCompleterSettings.providers)) {\n if (providerSettings.enabled === true) {\n enabledProviders.push(id);\n }\n }\n const inlineProviders = [...this._inlineProviders.values()].filter(provider => enabledProviders.includes(provider.identifier));\n const providers = [];\n for (const id of this._activeProviders) {\n const provider = this._providers.get(id);\n if (provider) {\n providers.push(provider);\n }\n }\n return new _reconciliator__WEBPACK_IMPORTED_MODULE_7__.ProviderReconciliator({\n context: completerContext,\n providers,\n inlineProviders,\n inlineProvidersSettings: this._inlineCompleterSettings.providers,\n timeout: this._timeout\n });\n }\n /**\n * Helper to dispose the completer handler on widget disposed event.\n *\n * @param {string} id - id of the widget\n * @param {CompletionHandler} handler - the handler to be disposed.\n */\n disposeHandler(id, handler) {\n var _a, _b, _c, _d;\n (_a = handler.completer.model) === null || _a === void 0 ? void 0 : _a.dispose();\n handler.completer.dispose();\n (_c = (_b = handler.inlineCompleter) === null || _b === void 0 ? void 0 : _b.model) === null || _c === void 0 ? void 0 : _c.dispose();\n (_d = handler.inlineCompleter) === null || _d === void 0 ? void 0 : _d.dispose();\n handler.dispose();\n this._panelHandlers.delete(id);\n }\n /**\n * Helper to generate a completer handler from provided context.\n */\n async _generateHandler(completerContext, options) {\n const completer = new _widget__WEBPACK_IMPORTED_MODULE_5__.Completer(options);\n const inlineCompleter = this._inlineCompleterFactory\n ? this._inlineCompleterFactory.factory({\n ...options,\n model: new _inline__WEBPACK_IMPORTED_MODULE_4__.InlineCompleter.Model()\n })\n : undefined;\n completer.hide();\n _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__.Widget.attach(completer, document.body);\n if (inlineCompleter) {\n _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__.Widget.attach(inlineCompleter, document.body);\n inlineCompleter.hide();\n inlineCompleter.configure(this._inlineCompleterSettings);\n }\n const reconciliator = await this.generateReconciliator(completerContext);\n const handler = new _handler__WEBPACK_IMPORTED_MODULE_8__.CompletionHandler({\n completer,\n inlineCompleter,\n reconciliator: reconciliator\n });\n handler.editor = completerContext.editor;\n return handler;\n }\n}\n//# sourceMappingURL=manager.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/manager.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/model.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/model.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompleterModel: () => (/* binding */ CompleterModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_2__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * Escape HTML by native means of the browser.\n */\nfunction escapeHTML(text) {\n const node = document.createElement('span');\n node.textContent = text;\n return node.innerHTML;\n}\n/**\n * An implementation of a completer model.\n */\nclass CompleterModel {\n constructor() {\n this.processedItemsCache = null;\n this._current = null;\n this._cursor = null;\n this._isDisposed = false;\n this._completionItems = [];\n this._original = null;\n this._query = '';\n this._subsetMatch = false;\n this._typeMap = {};\n this._orderedTypes = [];\n this._stateChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal(this);\n this._queryChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal(this);\n /**\n * The weak map between a processed completion item with the original item.\n * It's used to keep track of original completion item in case of displaying\n * the completer with query.\n */\n this._processedToOriginalItem = null;\n /**\n * A counter to cancel ongoing `resolveItem` call.\n */\n this._resolvingItem = 0;\n }\n /**\n * A signal emitted when state of the completer menu changes.\n */\n get stateChanged() {\n return this._stateChanged;\n }\n /**\n * A signal emitted when query string changes (at invocation, or as user types).\n */\n get queryChanged() {\n return this._queryChanged;\n }\n /**\n * The original completion request details.\n */\n get original() {\n return this._original;\n }\n set original(newValue) {\n const unchanged = this._original === newValue ||\n (this._original &&\n newValue &&\n _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.JSONExt.deepEqual(newValue, this._original));\n if (unchanged) {\n return;\n }\n this._reset();\n // Set both the current and original to the same value when original is set.\n this._current = this._original = newValue;\n this._stateChanged.emit(undefined);\n }\n /**\n * The current text change details.\n */\n get current() {\n return this._current;\n }\n set current(newValue) {\n const unchanged = this._current === newValue ||\n (this._current && newValue && _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.JSONExt.deepEqual(newValue, this._current));\n if (unchanged) {\n return;\n }\n const original = this._original;\n // Original request must always be set before a text change. If it isn't\n // the model fails silently.\n if (!original) {\n return;\n }\n const cursor = this._cursor;\n // Cursor must always be set before a text change. This happens\n // automatically in the completer handler, but since `current` is a public\n // attribute, this defensive check is necessary.\n if (!cursor) {\n return;\n }\n const current = (this._current = newValue);\n if (!current) {\n this._stateChanged.emit(undefined);\n return;\n }\n const originalLine = original.text.split('\\n')[original.line];\n const currentLine = current.text.split('\\n')[current.line];\n // If the text change means that the original start point has been preceded,\n // then the completion is no longer valid and should be reset.\n if (!this._subsetMatch && currentLine.length < originalLine.length) {\n this.reset(true);\n return;\n }\n const { start, end } = cursor;\n // Clip the front of the current line.\n let query = current.text.substring(start);\n // Clip the back of the current line by calculating the end of the original.\n const ending = original.text.substring(end);\n query = query.substring(0, query.lastIndexOf(ending));\n this._query = query;\n this.processedItemsCache = null;\n this._processedToOriginalItem = null;\n this._queryChanged.emit({ newValue: this._query, origin: 'editorUpdate' });\n this._stateChanged.emit(undefined);\n }\n /**\n * The cursor details that the API has used to return matching options.\n */\n get cursor() {\n return this._cursor;\n }\n set cursor(newValue) {\n // Original request must always be set before a cursor change. If it isn't\n // the model fails silently.\n if (!this.original) {\n return;\n }\n this._cursor = newValue;\n }\n /**\n * The query against which items are filtered.\n */\n get query() {\n return this._query;\n }\n set query(newValue) {\n this._query = newValue;\n this.processedItemsCache = null;\n this._processedToOriginalItem = null;\n this._queryChanged.emit({ newValue: this._query, origin: 'setter' });\n }\n /**\n * A flag that is true when the model value was modified by a subset match.\n */\n get subsetMatch() {\n return this._subsetMatch;\n }\n set subsetMatch(newValue) {\n this._subsetMatch = newValue;\n }\n /**\n * Get whether the model is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the model.\n */\n dispose() {\n // Do nothing if already disposed.\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal.clearData(this);\n }\n /**\n * The list of visible items in the completer menu.\n *\n * #### Notes\n * This is a read-only property.\n * When overriding it is recommended to cache results in `processedItemsCache`\n * property which will be automatically nullified when needed.\n */\n completionItems() {\n if (!this.processedItemsCache) {\n let query = this._query;\n if (query) {\n const markedItems = this._markup(query);\n this.processedItemsCache = markedItems.map(it => it.processedItem);\n this._processedToOriginalItem = new WeakMap(markedItems.map(it => [it.processedItem, it.originalItem]));\n }\n else {\n this.processedItemsCache = this._completionItems.map(item => {\n return this._escapeItemLabel(item);\n });\n this._processedToOriginalItem = null;\n }\n }\n return this.processedItemsCache;\n }\n /**\n * Set the list of visible items in the completer menu, and append any\n * new types to KNOWN_TYPES.\n */\n setCompletionItems(newValue) {\n if (_lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.JSONExt.deepEqual(newValue, this._completionItems)) {\n return;\n }\n this._completionItems = newValue;\n this._orderedTypes = Private.findOrderedCompletionItemTypes(this._completionItems);\n this.processedItemsCache = null;\n this._processedToOriginalItem = null;\n this._stateChanged.emit(undefined);\n }\n /**\n * The map from identifiers (a.b) to types (function, module, class, instance,\n * etc.).\n *\n * #### Notes\n * A type map is currently only provided by the latest IPython kernel using\n * the completer reply metadata field `_jupyter_types_experimental`. The\n * values are completely up to the kernel.\n *\n */\n typeMap() {\n return this._typeMap;\n }\n /**\n * An ordered list of all the known types in the typeMap.\n *\n * #### Notes\n * To visually encode the types of the completer matches, we assemble an\n * ordered list. This list begins with:\n * ```\n * ['function', 'instance', 'class', 'module', 'keyword']\n * ```\n * and then has any remaining types listed alphabetically. This will give\n * reliable visual encoding for these known types, but allow kernels to\n * provide new types.\n */\n orderedTypes() {\n return this._orderedTypes;\n }\n /**\n * Handle a cursor change.\n */\n handleCursorChange(change) {\n // If there is no active completion, return.\n if (!this._original) {\n return;\n }\n const { column, line } = change;\n const { current, original } = this;\n if (!original) {\n return;\n }\n // If a cursor change results in a the cursor being on a different line\n // than the original request, cancel.\n if (line !== original.line) {\n this.reset(true);\n return;\n }\n // If a cursor change results in the cursor being set to a position that\n // precedes the original column, cancel.\n if (column < original.column) {\n this.reset(true);\n return;\n }\n const { cursor } = this;\n if (!cursor || !current) {\n return;\n }\n // If a cursor change results in the cursor being set to a position beyond\n // the end of the area that would be affected by completion, cancel.\n const cursorDelta = cursor.end - cursor.start;\n const originalLine = original.text.split('\\n')[original.line];\n const currentLine = current.text.split('\\n')[current.line];\n const inputDelta = currentLine.length - originalLine.length;\n if (column > original.column + cursorDelta + inputDelta) {\n this.reset(true);\n return;\n }\n }\n /**\n * Handle a text change.\n */\n handleTextChange(change) {\n const original = this._original;\n // If there is no active completion, return.\n if (!original) {\n return;\n }\n const { text, column, line } = change;\n const last = text.split('\\n')[line][column - 1];\n // If last character entered is not whitespace or if the change column is\n // greater than or equal to the original column, update completion.\n if ((last && last.match(/\\S/)) || change.column >= original.column) {\n this.current = change;\n return;\n }\n // If final character is whitespace, reset completion.\n this.reset(false);\n }\n /**\n * Create a resolved patch between the original state and a patch string.\n *\n * @param patch - The patch string to apply to the original value.\n *\n * @returns A patched text change or undefined if original value did not exist.\n */\n createPatch(patch) {\n const original = this._original;\n const cursor = this._cursor;\n const current = this._current;\n if (!original || !cursor || !current) {\n return undefined;\n }\n let { start, end } = cursor;\n // Also include any filtering/additional-typing that has occurred\n // since the completion request in the patched length.\n end = end + (current.text.length - original.text.length);\n return { start, end, value: patch };\n }\n /**\n * Reset the state of the model and emit a state change signal.\n *\n * @param hard - Reset even if a subset match is in progress.\n */\n reset(hard = false) {\n // When the completer detects a common subset prefix for all options,\n // it updates the model and sets the model source to that value, triggering\n // a reset. Unless explicitly a hard reset, this should be ignored.\n if (!hard && this._subsetMatch) {\n return;\n }\n this._reset();\n this._stateChanged.emit(undefined);\n }\n /**\n * Check if CompletionItem matches against query.\n * Highlight matching prefix by adding tags.\n */\n _markup(query) {\n var _a;\n const items = this._completionItems;\n let results = [];\n for (const originalItem of items) {\n // See if label matches query string\n // With ICompletionItems, the label may include parameters,\n // so we exclude them from the matcher.\n // e.g. Given label `foo(b, a, r)` and query `bar`,\n // don't count parameters, `b`, `a`, and `r` as matches.\n const index = originalItem.label.indexOf('(');\n const text = index > -1\n ? originalItem.label.substring(0, index)\n : originalItem.label;\n const match = _lumino_algorithm__WEBPACK_IMPORTED_MODULE_0__.StringExt.matchSumOfSquares(escapeHTML(text), query);\n // Filter non-matching items.\n if (match) {\n // Highlight label text if there's a match\n let marked = _lumino_algorithm__WEBPACK_IMPORTED_MODULE_0__.StringExt.highlight(escapeHTML(originalItem.label), match.indices, Private.mark);\n // Use `Object.assign` to evaluate getters.\n const highlightedItem = Object.assign({}, originalItem);\n highlightedItem.label = marked.join('');\n highlightedItem.insertText =\n (_a = originalItem.insertText) !== null && _a !== void 0 ? _a : originalItem.label;\n results.push({\n item: highlightedItem,\n score: match.score,\n originalItem\n });\n }\n }\n results.sort(Private.scoreCmp);\n // Extract only the item (dropping the extra score attribute to not leak\n // implementation details to JavaScript callers.\n return results.map(match => ({\n processedItem: match.item,\n originalItem: match.originalItem\n }));\n }\n /**\n * Lazy load missing data of an item.\n * @param indexOrValue - the item or its index\n * @remarks\n * Resolving item by index will be deprecated in\n * the JupyterLab 5.0 and removed in JupyterLab 6.0.\n *\n * @return Return `undefined` if the completion item with `activeIndex` index can not be found.\n * Return a promise of `null` if another `resolveItem` is called. Otherwise return the\n * promise of resolved completion item.\n */\n resolveItem(indexOrValue) {\n let processedItem;\n if (typeof indexOrValue === 'number') {\n const completionItems = this.completionItems();\n if (!completionItems || !completionItems[indexOrValue]) {\n return undefined;\n }\n processedItem = completionItems[indexOrValue];\n }\n else {\n processedItem = indexOrValue;\n }\n if (!processedItem) {\n return undefined;\n }\n let originalItem;\n if (this._processedToOriginalItem) {\n originalItem = this._processedToOriginalItem.get(processedItem);\n }\n else {\n originalItem = processedItem;\n }\n if (!originalItem) {\n return undefined;\n }\n return this._resolveItemByValue(originalItem);\n }\n /**\n * Lazy load missing data of a completion item.\n *\n * @param completionItem - the item to be resolved\n * @return See `resolveItem` method\n */\n _resolveItemByValue(completionItem) {\n const current = ++this._resolvingItem;\n let resolvedItem;\n if (completionItem.resolve) {\n let patch;\n if (completionItem.insertText) {\n patch = this.createPatch(completionItem.insertText);\n }\n resolvedItem = completionItem.resolve(patch);\n }\n else {\n resolvedItem = Promise.resolve(completionItem);\n }\n return resolvedItem\n .then(activeItem => {\n // Escape the label it in place\n this._escapeItemLabel(activeItem, true);\n Object.keys(activeItem).forEach((key) => {\n completionItem[key] = activeItem[key];\n });\n completionItem.resolve = undefined;\n if (current !== this._resolvingItem) {\n return Promise.resolve(null);\n }\n return activeItem;\n })\n .catch(e => {\n console.error(e);\n // Failed to resolve missing data, return the original item.\n return Promise.resolve(completionItem);\n });\n }\n /**\n * Escape item label, storing the original label and adding `insertText` if needed.\n * If escaping changes label creates a new item unless `inplace` is true.\n */\n _escapeItemLabel(item, inplace = false) {\n var _a;\n const escapedLabel = escapeHTML(item.label);\n // If there was no insert text, use the original (unescaped) label.\n if (escapedLabel !== item.label) {\n const newItem = inplace ? item : Object.assign({}, item);\n newItem.insertText = (_a = item.insertText) !== null && _a !== void 0 ? _a : item.label;\n newItem.label = escapedLabel;\n return newItem;\n }\n return item;\n }\n /**\n * Reset the state of the model.\n */\n _reset() {\n const hadQuery = this._query;\n this._current = null;\n this._cursor = null;\n this._completionItems = [];\n this._original = null;\n this._query = '';\n this.processedItemsCache = null;\n this._processedToOriginalItem = null;\n this._subsetMatch = false;\n this._typeMap = {};\n this._orderedTypes = [];\n if (hadQuery) {\n this._queryChanged.emit({ newValue: this._query, origin: 'reset' });\n }\n }\n}\n/**\n * A namespace for completer model private data.\n */\nvar Private;\n(function (Private) {\n /**\n * The list of known type annotations of completer matches.\n */\n const KNOWN_TYPES = ['function', 'instance', 'class', 'module', 'keyword'];\n /**\n * The map of known type annotations of completer matches.\n */\n const KNOWN_MAP = KNOWN_TYPES.reduce((acc, type) => {\n acc[type] = null;\n return acc;\n }, {});\n /**\n * Mark a highlighted chunk of text.\n */\n function mark(value) {\n return `${value}`;\n }\n Private.mark = mark;\n /**\n * A sort comparison function for item match scores.\n *\n * #### Notes\n * This orders the items first based on score (lower is better), then\n * by locale order of the item text.\n */\n function scoreCmp(a, b) {\n var _a, _b, _c;\n const delta = a.score - b.score;\n if (delta !== 0) {\n return delta;\n }\n return (_c = (_a = a.item.insertText) === null || _a === void 0 ? void 0 : _a.localeCompare((_b = b.item.insertText) !== null && _b !== void 0 ? _b : '')) !== null && _c !== void 0 ? _c : 0;\n }\n Private.scoreCmp = scoreCmp;\n /**\n * Compute a reliably ordered list of types for ICompletionItems.\n *\n * #### Notes\n * The resulting list always begins with the known types:\n * ```\n * ['function', 'instance', 'class', 'module', 'keyword']\n * ```\n * followed by other types in alphabetical order.\n *\n */\n function findOrderedCompletionItemTypes(items) {\n const newTypeSet = new Set();\n items.forEach(item => {\n if (item.type &&\n !KNOWN_TYPES.includes(item.type) &&\n !newTypeSet.has(item.type)) {\n newTypeSet.add(item.type);\n }\n });\n const newTypes = Array.from(newTypeSet);\n newTypes.sort((a, b) => a.localeCompare(b));\n return KNOWN_TYPES.concat(newTypes);\n }\n Private.findOrderedCompletionItemTypes = findOrderedCompletionItemTypes;\n /**\n * Compute a reliably ordered list of types.\n *\n * #### Notes\n * The resulting list always begins with the known types:\n * ```\n * ['function', 'instance', 'class', 'module', 'keyword']\n * ```\n * followed by other types in alphabetical order.\n */\n function findOrderedTypes(typeMap) {\n const filtered = Object.keys(typeMap)\n .map(key => typeMap[key])\n .filter((value) => !!value && !(value in KNOWN_MAP))\n .sort((a, b) => a.localeCompare(b));\n return KNOWN_TYPES.concat(filtered);\n }\n Private.findOrderedTypes = findOrderedTypes;\n})(Private || (Private = {}));\n//# sourceMappingURL=model.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/model.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/reconciliator.js":
+/*!******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/reconciliator.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ProviderReconciliator: () => (/* binding */ ProviderReconciliator)\n/* harmony export */ });\n/* harmony import */ var _handler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./handler */ \"../node_modules/@jupyterlab/completer/lib/handler.js\");\n/* harmony import */ var _tokens__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tokens */ \"../node_modules/@jupyterlab/completer/lib/tokens.js\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * The reconciliator which is used to fetch and merge responses from multiple completion providers.\n */\nclass ProviderReconciliator {\n /**\n * Creates an instance of ProviderReconciliator.\n */\n constructor(options) {\n var _a, _b;\n this._resolveFactory = (provider, el) => provider.resolve\n ? (patch) => provider.resolve(el, this._context, patch)\n : undefined;\n /**\n * Counter to reject current provider response if a new fetch request is created.\n */\n this._fetching = 0;\n /**\n * Counter to reject current inline provider response if a new `inlineFetch` request is created.\n */\n this._inlineFetching = 0;\n this._providers = options.providers;\n this._inlineProviders = (_a = options.inlineProviders) !== null && _a !== void 0 ? _a : [];\n this._inlineProvidersSettings = (_b = options.inlineProvidersSettings) !== null && _b !== void 0 ? _b : {};\n this._context = options.context;\n this._timeout = options.timeout;\n }\n /**\n * Check for the providers which are applicable with the current context\n *\n * @return List of applicable providers\n */\n async applicableProviders() {\n const isApplicablePromises = this._providers.map(p => p.isApplicable(this._context));\n const applicableProviders = await Promise.all(isApplicablePromises);\n return this._providers.filter((_, idx) => applicableProviders[idx]);\n }\n fetchInline(request, trigger, isMiddleOfLine) {\n let promises = [];\n const current = ++this._inlineFetching;\n for (const provider of this._inlineProviders) {\n const settings = this._inlineProvidersSettings[provider.identifier];\n if (trigger !== _tokens__WEBPACK_IMPORTED_MODULE_1__.InlineCompletionTriggerKind.Invoke &&\n isMiddleOfLine &&\n !settings.autoFillInMiddle) {\n // Skip if FIM is disabled\n continue;\n }\n let delay = 0;\n if (trigger === _tokens__WEBPACK_IMPORTED_MODULE_1__.InlineCompletionTriggerKind.Automatic) {\n delay = settings.debouncerDelay;\n }\n const fetch = () => {\n const promise = provider\n .fetch(request, { ...this._context, triggerKind: trigger })\n .then(completionList => {\n return {\n ...completionList,\n items: completionList.items.map(item => {\n const newItem = item;\n newItem.stream = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(newItem);\n newItem.provider = provider;\n void this._stream(newItem, provider);\n return newItem;\n })\n };\n });\n const timeoutPromise = new Promise(resolve => {\n return setTimeout(() => resolve(null), delay + settings.timeout);\n });\n return Promise.race([promise, timeoutPromise]);\n };\n const promise = delay === 0\n ? fetch()\n : new Promise((resolve, reject) => {\n return setTimeout(() => {\n if (current != this._inlineFetching) {\n // User pressed another key or explicitly requested completions since.\n return reject(null);\n }\n else {\n return resolve(fetch());\n }\n }, delay);\n });\n // Wrap promise and return error in case of failure.\n promises.push(promise.catch(p => p));\n }\n return promises;\n }\n async _stream(item, provider) {\n if (!item.isIncomplete || !provider.stream || !item.token) {\n return;\n }\n const streamed = item.stream;\n const token = item.token;\n item.token = undefined;\n // Notify that streaming started.\n item.streaming = true;\n streamed.emit(_handler__WEBPACK_IMPORTED_MODULE_2__.CompletionHandler.StraemEvent.opened);\n for await (const reply of provider.stream(token)) {\n const updated = reply.response;\n const addition = updated.insertText.substring(item.insertText.length);\n // Stream an update.\n item.insertText = updated.insertText;\n item.lastStreamed = addition;\n item.error = reply.response.error;\n streamed.emit(_handler__WEBPACK_IMPORTED_MODULE_2__.CompletionHandler.StraemEvent.update);\n }\n // Notify that streaming is no longer in progress.\n item.isIncomplete = false;\n item.lastStreamed = undefined;\n item.streaming = false;\n streamed.emit(_handler__WEBPACK_IMPORTED_MODULE_2__.CompletionHandler.StraemEvent.closed);\n }\n /**\n * Fetch response from multiple providers, If a provider can not return\n * the response for a completer request before timeout,\n * the result of this provider will be ignored.\n *\n * @param {CompletionHandler.IRequest} request - The completion request.\n */\n async fetch(request, trigger) {\n const current = ++this._fetching;\n let promises = [];\n const applicableProviders = await this.applicableProviders();\n for (const provider of applicableProviders) {\n let promise;\n promise = provider.fetch(request, this._context, trigger).then(reply => {\n if (current !== this._fetching) {\n return Promise.reject(void 0);\n }\n const items = reply.items.map(el => ({\n ...el,\n resolve: this._resolveFactory(provider, el)\n }));\n return { ...reply, items };\n });\n const timeoutPromise = new Promise(resolve => {\n return setTimeout(() => resolve(null), this._timeout);\n });\n promise = Promise.race([promise, timeoutPromise]);\n // Wrap promise and return error in case of failure.\n promises.push(promise.catch(p => p));\n }\n // TODO: maybe use `Promise.allSettled` once library is at es2020 instead of adding a catch.\n const combinedPromise = Promise.all(promises);\n return this._mergeCompletions(combinedPromise);\n }\n /**\n * Check if completer should make request to fetch completion responses\n * on user typing. If the provider with highest rank does not have\n * `shouldShowContinuousHint` method, a default one will be used.\n *\n * @param completerIsVisible - The visible status of completer widget.\n * @param changed - CodeMirror changed argument.\n */\n async shouldShowContinuousHint(completerIsVisible, changed) {\n const applicableProviders = await this.applicableProviders();\n if (applicableProviders.length === 0) {\n return false;\n }\n if (applicableProviders[0].shouldShowContinuousHint) {\n return applicableProviders[0].shouldShowContinuousHint(completerIsVisible, changed, this._context);\n }\n return this._defaultShouldShowContinuousHint(completerIsVisible, changed);\n }\n _alignPrefixes(replies, minStart, maxStart) {\n if (minStart != maxStart) {\n const editor = this._context.editor;\n if (!editor) {\n return replies;\n }\n const cursor = editor.getCursorPosition();\n const line = editor.getLine(cursor.line);\n if (!line) {\n return replies;\n }\n const lineOffset = editor.getOffsetAt({ line: cursor.line, column: 0 });\n return replies.map(reply => {\n const prefixStart = Math.max(reply.start - lineOffset, 0);\n const prefixEnd = Math.max(maxStart - lineOffset, 0);\n // No prefix to strip, return as-is.\n if (prefixStart == prefixEnd) {\n return reply;\n }\n const prefix = line.substring(prefixStart, prefixEnd);\n return {\n ...reply,\n items: reply.items.map(item => {\n let insertText = item.insertText || item.label;\n item.insertText = insertText.startsWith(prefix)\n ? insertText.slice(prefix.length)\n : insertText;\n return item;\n })\n };\n });\n }\n return replies;\n }\n async _mergeCompletions(promises) {\n let replies = (await promises).filter(reply => {\n // Ignore it errors out.\n if (!reply || reply instanceof Error) {\n return false;\n }\n // Ignore if no matches.\n if (!reply.items.length) {\n return false;\n }\n // Otherwise keep.\n return true;\n });\n // Fast path for a single reply or no replies.\n if (replies.length == 0) {\n return null;\n }\n else if (replies.length == 1) {\n return replies[0];\n }\n const minEnd = Math.min(...replies.map(reply => reply.end));\n // If any of the replies uses a wider range, we need to align them\n // so that all responses use the same range.\n const starts = replies.map(reply => reply.start);\n const minStart = Math.min(...starts);\n const maxStart = Math.max(...starts);\n replies = this._alignPrefixes(replies, minStart, maxStart);\n const insertTextSet = new Set();\n const mergedItems = new Array();\n for (const reply of replies) {\n reply.items.forEach(item => {\n // IPython returns 'import' and 'import '; while the latter is more useful,\n // user should not see two suggestions with identical labels and nearly-identical\n // behaviour as they could not distinguish the two either way.\n let text = (item.insertText || item.label).trim();\n if (insertTextSet.has(text)) {\n return;\n }\n insertTextSet.add(text);\n mergedItems.push(item);\n });\n }\n return {\n start: maxStart,\n end: minEnd,\n items: mergedItems\n };\n }\n _defaultShouldShowContinuousHint(completerIsVisible, changed) {\n return (!completerIsVisible &&\n (changed.sourceChange == null ||\n changed.sourceChange.some(delta => delta.insert != null && delta.insert.length > 0)));\n }\n}\n//# sourceMappingURL=reconciliator.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/reconciliator.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/tokens.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/tokens.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CompletionTriggerKind: () => (/* binding */ CompletionTriggerKind),\n/* harmony export */ ICompletionProviderManager: () => (/* binding */ ICompletionProviderManager),\n/* harmony export */ IInlineCompleterFactory: () => (/* binding */ IInlineCompleterFactory),\n/* harmony export */ InlineCompletionTriggerKind: () => (/* binding */ InlineCompletionTriggerKind)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * The type of completion request.\n */\nvar CompletionTriggerKind;\n(function (CompletionTriggerKind) {\n CompletionTriggerKind[CompletionTriggerKind[\"Invoked\"] = 1] = \"Invoked\";\n CompletionTriggerKind[CompletionTriggerKind[\"TriggerCharacter\"] = 2] = \"TriggerCharacter\";\n CompletionTriggerKind[CompletionTriggerKind[\"TriggerForIncompleteCompletions\"] = 3] = \"TriggerForIncompleteCompletions\";\n})(CompletionTriggerKind || (CompletionTriggerKind = {}));\n/**\n * Describes how an inline completion provider was triggered.\n * @alpha\n */\nvar InlineCompletionTriggerKind;\n(function (InlineCompletionTriggerKind) {\n /**\n * Completion was triggered explicitly by a user gesture.\n * Return multiple completion items to enable cycling through them.\n */\n InlineCompletionTriggerKind[InlineCompletionTriggerKind[\"Invoke\"] = 0] = \"Invoke\";\n /**\n * Completion was triggered automatically while editing.\n * It is sufficient to return a single completion item in this case.\n */\n InlineCompletionTriggerKind[InlineCompletionTriggerKind[\"Automatic\"] = 1] = \"Automatic\";\n})(InlineCompletionTriggerKind || (InlineCompletionTriggerKind = {}));\n/**\n * Token allowing to override (or disable) inline completer widget factory.\n */\nconst IInlineCompleterFactory = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/completer:IInlineCompleterFactory', 'A factory of inline completer widgets.');\n/**\n * The exported token used to register new provider.\n */\nconst ICompletionProviderManager = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/completer:ICompletionProviderManager', 'A service for the completion providers management.');\n//# sourceMappingURL=tokens.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/tokens.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/lib/widget.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/lib/widget.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Completer: () => (/* binding */ Completer)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/rendermime */ \"webpack/sharing/consume/default/@jupyterlab/rendermime/@jupyterlab/rendermime\");\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_domutils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/domutils */ \"webpack/sharing/consume/default/@lumino/domutils/@lumino/domutils\");\n/* harmony import */ var _lumino_domutils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_domutils__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_5__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n/**\n * The class name added to completer menu items.\n */\nconst ITEM_CLASS = 'jp-Completer-item';\n/**\n * The class name added to an active completer menu item.\n */\nconst ACTIVE_CLASS = 'jp-mod-active';\n/**\n * The class used by item listing which determines the height of the completer.\n */\nconst LIST_CLASS = 'jp-Completer-list';\n/**\n * Class of the documentation panel.\n */\nconst DOC_PANEL_CLASS = 'jp-Completer-docpanel';\n/**\n * A flag to indicate that event handlers are caught in the capture phase.\n */\nconst USE_CAPTURE = true;\n/**\n * The number of colors defined for the completer type annotations.\n * These are listed in completer/style/index.css#102-152.\n */\nconst N_COLORS = 10;\n/**\n * A widget that enables text completion.\n *\n * #### Notes\n * The completer is intended to be absolutely positioned on the\n * page and hover over any other content, so it should be attached directly\n * to `document.body`, or a node that is the full size of `document.body`.\n * Attaching it to other nodes may incorrectly locate the completer.\n */\nclass Completer extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__.Widget {\n /**\n * Construct a text completer menu widget.\n */\n constructor(options) {\n var _a, _b, _c, _d;\n super({ node: document.createElement('div') });\n this._activeIndex = 0;\n this._editor = null;\n this._model = null;\n this._selected = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__.Signal(this);\n this._visibilityChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__.Signal(this);\n this._indexChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__.Signal(this);\n this._lastSubsetMatch = '';\n this._geometryLock = false;\n /**\n * Increasing this counter invalidates previous request to save geometry cache in animation callback.\n */\n this._geometryCounter = 0;\n this._docPanelExpanded = false;\n this._renderCounter = 0;\n this.sanitizer = (_a = options.sanitizer) !== null && _a !== void 0 ? _a : new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Sanitizer();\n this._defaultRenderer = Completer.getDefaultRenderer(this.sanitizer);\n this._renderer = (_b = options.renderer) !== null && _b !== void 0 ? _b : this._defaultRenderer;\n this._docPanel = this._createDocPanelNode();\n this.model = (_c = options.model) !== null && _c !== void 0 ? _c : null;\n this.editor = (_d = options.editor) !== null && _d !== void 0 ? _d : null;\n this.addClass('jp-Completer');\n this.addClass('jp-ThemedContainer');\n this._updateConstraints();\n }\n /**\n * Cache style constraints from CSS.\n */\n _updateConstraints() {\n const tempNode = document.createElement('div');\n tempNode.classList.add(LIST_CLASS);\n tempNode.style.visibility = 'hidden';\n tempNode.style.overflowY = 'scroll';\n document.body.appendChild(tempNode);\n const computedStyle = window.getComputedStyle(tempNode);\n this._maxHeight = parseInt(computedStyle.maxHeight, 10);\n this._minHeight = parseInt(computedStyle.minHeight, 10);\n this._scrollbarWidth = tempNode.offsetWidth - tempNode.clientWidth;\n document.body.removeChild(tempNode);\n const tempDocPanel = this._createDocPanelNode();\n this._docPanelWidth = Private.measureSize(tempDocPanel, 'inline-block').width;\n }\n /**\n * The active index.\n */\n get activeIndex() {\n return this._activeIndex;\n }\n /**\n * The editor used by the completion widget.\n */\n get editor() {\n return this._editor;\n }\n set editor(newValue) {\n this._editor = newValue;\n }\n /**\n * A signal emitted when a selection is made from the completer menu.\n */\n get selected() {\n return this._selected;\n }\n /**\n * A signal emitted when the completer widget's visibility changes.\n *\n * #### Notes\n * This signal is useful when there are multiple floating widgets that may\n * contend with the same space and ought to be mutually exclusive.\n */\n get visibilityChanged() {\n return this._visibilityChanged;\n }\n /**\n * A signal emitted when the active index changes.\n */\n get indexChanged() {\n return this._indexChanged;\n }\n /**\n * The model used by the completer widget.\n */\n get model() {\n return this._model;\n }\n set model(model) {\n if ((!model && !this._model) || model === this._model) {\n return;\n }\n if (this._model) {\n this._model.stateChanged.disconnect(this.onModelStateChanged, this);\n this._model.queryChanged.disconnect(this.onModelQueryChanged, this);\n }\n this._model = model;\n if (this._model) {\n this._model.stateChanged.connect(this.onModelStateChanged, this);\n this._model.queryChanged.connect(this.onModelQueryChanged, this);\n }\n }\n /**\n * The completer used by the completer widget.\n */\n get renderer() {\n return this._renderer;\n }\n set renderer(renderer) {\n this._renderer = renderer;\n }\n /**\n * Enable/disable the document panel.\n */\n set showDocsPanel(showDoc) {\n this._showDoc = showDoc;\n }\n get showDocsPanel() {\n return this._showDoc;\n }\n /**\n * Dispose of the resources held by the completer widget.\n */\n dispose() {\n this._sizeCache = undefined;\n this._model = null;\n super.dispose();\n }\n /**\n * Handle the DOM events for the widget.\n *\n * @param event - The DOM event sent to the widget.\n *\n * #### Notes\n * This method implements the DOM `EventListener` interface and is\n * called in response to events on the dock panel's node. It should\n * not be called directly by user code.\n */\n handleEvent(event) {\n if (this.isHidden || !this._editor) {\n return;\n }\n switch (event.type) {\n case 'keydown':\n this._evtKeydown(event);\n break;\n case 'pointerdown':\n this._evtPointerdown(event);\n break;\n case 'scroll':\n this._evtScroll(event);\n break;\n default:\n break;\n }\n }\n /**\n * Reset the widget.\n */\n reset() {\n this._activeIndex = 0;\n this._lastSubsetMatch = '';\n if (this._model) {\n this._model.reset(true);\n }\n this._docPanel.style.display = 'none';\n // Clear size cache.\n this._sizeCache = undefined;\n this.node.scrollTop = 0;\n }\n /**\n * Emit the selected signal for the current active item and reset.\n */\n selectActive() {\n const active = this.node.querySelector(`.${ACTIVE_CLASS}`);\n if (!active) {\n this.reset();\n return;\n }\n this._selected.emit(active.getAttribute('data-value'));\n this.reset();\n }\n /**\n * Handle `after-attach` messages for the widget.\n */\n onAfterAttach(msg) {\n document.addEventListener('keydown', this, USE_CAPTURE);\n document.addEventListener('pointerdown', this, USE_CAPTURE);\n document.addEventListener('scroll', this, USE_CAPTURE);\n }\n /**\n * Handle `before-detach` messages for the widget.\n */\n onBeforeDetach(msg) {\n document.removeEventListener('keydown', this, USE_CAPTURE);\n document.removeEventListener('pointerdown', this, USE_CAPTURE);\n document.removeEventListener('scroll', this, USE_CAPTURE);\n }\n /**\n * Handle model state changes.\n */\n onModelStateChanged() {\n if (this.isAttached) {\n this._activeIndex = 0;\n this._indexChanged.emit(this._activeIndex);\n this.update();\n }\n }\n /**\n * Handle model query changes.\n */\n onModelQueryChanged(model, queryChange) {\n // If query was changed by the user typing, the filtered down items\n // may no longer reach/exceed the maxHeight of the completer widget,\n // hence size needs to be recalculated.\n if (this._sizeCache && queryChange.origin === 'editorUpdate') {\n const newItems = model.completionItems();\n const oldItems = this._sizeCache.items;\n // Only reset size if the number of items changed, or the longest item changed.\n const oldWidest = oldItems[this._findWidestItemIndex(oldItems)];\n const newWidest = newItems[this._findWidestItemIndex(newItems)];\n const heuristic = this._getPreferredItemWidthHeuristic();\n if (newItems.length !== this._sizeCache.items.length ||\n heuristic(oldWidest) !== heuristic(newWidest)) {\n this._sizeCache = undefined;\n }\n }\n }\n /**\n * Handle `update-request` messages.\n */\n onUpdateRequest(msg) {\n var _a;\n const model = this._model;\n if (!model) {\n return;\n }\n // If this is the first time the current completer session has loaded,\n // populate any initial subset match. This is being done before node\n // gets rendered to avoid rendering it twice.\n if (!model.query) {\n this._populateSubset();\n }\n let items = model.completionItems();\n // If there are no items, reset and bail.\n if (!items.length) {\n if (!this.isHidden) {\n this.reset();\n this.hide();\n this._visibilityChanged.emit(undefined);\n }\n return;\n }\n // Update constraints before any DOM modifications\n this._updateConstraints();\n // Do not trigger any geometry updates from async code when in lock.\n this._geometryLock = true;\n const node = this._createCompleterNode(model, items);\n let active = node.querySelectorAll(`.${ITEM_CLASS}`)[this._activeIndex];\n active.classList.add(ACTIVE_CLASS);\n const resolvedItem = (_a = this.model) === null || _a === void 0 ? void 0 : _a.resolveItem(items[this._activeIndex]);\n // Add the documentation panel\n if (this._showDoc) {\n this._docPanel.innerText = '';\n node.appendChild(this._docPanel);\n this._docPanelExpanded = false;\n this._docPanel.style.display = 'none';\n this._updateDocPanel(resolvedItem, active);\n }\n if (this.isHidden) {\n this.show();\n this._setGeometry();\n this._visibilityChanged.emit(undefined);\n }\n else {\n this._setGeometry();\n }\n this._geometryLock = false;\n }\n /**\n * Get cached dimensions of the completer box.\n */\n get sizeCache() {\n if (!this._sizeCache) {\n return;\n }\n return {\n width: this._sizeCache.width + this._sizeCache.docPanelWidth,\n height: Math.max(this._sizeCache.height, this._sizeCache.docPanelHeight)\n };\n }\n _createDocPanelNode() {\n const docPanel = document.createElement('div');\n docPanel.className = DOC_PANEL_CLASS;\n return docPanel;\n }\n _createCompleterNode(model, items) {\n const current = ++this._renderCounter;\n // Clear the node.\n let node = this.node;\n node.textContent = '';\n // Compute an ordered list of all the types in the typeMap, this is computed\n // once by the model each time new data arrives for efficiency.\n let orderedTypes = model.orderedTypes();\n // Populate the completer items.\n let ul = document.createElement('ul');\n ul.className = LIST_CLASS;\n // Add first N items to fill the first \"page\" assuming that the completer\n // would reach its maximum allowed height.\n const first = this._renderer.createCompletionItemNode(items[0], orderedTypes);\n const renderedItems = [first];\n const firstItemSize = Private.measureSize(first, 'inline-grid');\n const pageSize = Math.max(Math.ceil(this._maxHeight / firstItemSize.height), 5);\n // We add one item in case if height heuristic is inaccurate.\n const toRenderImmediately = Math.min(pageSize + 1, items.length);\n const start = performance.now();\n for (let i = 1; i < toRenderImmediately; i++) {\n const li = this._renderer.createCompletionItemNode(items[i], orderedTypes);\n renderedItems.push(li);\n }\n for (const li of renderedItems) {\n ul.appendChild(li);\n }\n // Pre-calculate size:\n // - height will equal first element height times number of items,\n // or maximum allowed height if there are more items than fit on a page,\n // - width will be estimated from the widest item.\n const widestItemIndex = this._findWidestItemIndex(items);\n const widestItem = widestItemIndex < renderedItems.length\n ? renderedItems[widestItemIndex]\n : this._renderer.createCompletionItemNode(items[widestItemIndex], orderedTypes);\n // The node needs to be cloned to avoid side-effect of detaching it.\n const widestItemSize = Private.measureSize(widestItem.cloneNode(true), 'inline-grid');\n this._sizeCache = {\n height: Math.min(this._maxHeight, firstItemSize.height * items.length),\n width: widestItemSize.width + this._scrollbarWidth,\n items: items,\n docPanelWidth: 0,\n docPanelHeight: 0\n };\n if (toRenderImmediately < items.length) {\n // Render remaining items on idle in subsequent animation frames,\n // in chunks of size such that each frame would take about 16ms\n // allowing for 4ms of overhead, but keep the chunks no smaller\n // than 5 items at a time.\n const timePerItem = (performance.now() - start) / toRenderImmediately;\n const chunkSize = Math.max(5, Math.floor(12 / timePerItem));\n let alreadyRendered = toRenderImmediately;\n let previousChunkFinal = renderedItems[renderedItems.length - 1];\n const renderChunk = () => {\n if (alreadyRendered >= items.length) {\n return;\n }\n // Add a filler so that the list with partially rendered items has the total\n // height equal to the (predicted) final height to avoid scrollbar jitter.\n const predictedMissingHeight = firstItemSize.height * (items.length - alreadyRendered);\n previousChunkFinal.style.marginBottom = `${predictedMissingHeight}px`;\n requestAnimationFrame(() => {\n if (current != this._renderCounter) {\n // Bail if rendering afresh was requested in the meantime.\n return;\n }\n previousChunkFinal.style.marginBottom = '';\n const limit = Math.min(items.length, alreadyRendered + chunkSize);\n for (let i = alreadyRendered; i < limit; i++) {\n const li = this._renderer.createCompletionItemNode(items[i], orderedTypes);\n ul.appendChild(li);\n previousChunkFinal = li;\n }\n alreadyRendered = limit;\n renderChunk();\n });\n };\n renderChunk();\n }\n node.appendChild(ul);\n return node;\n }\n /**\n * Use preferred heuristic to find the index of the widest item.\n */\n _findWidestItemIndex(items) {\n const widthHeuristic = this._getPreferredItemWidthHeuristic();\n const widthHeuristics = items.map(widthHeuristic);\n return widthHeuristics.indexOf(Math.max(...widthHeuristics));\n }\n /**\n * Get item width heuristic function from renderer if available,\n * or the default one otherwise.\n */\n _getPreferredItemWidthHeuristic() {\n return this._renderer.itemWidthHeuristic\n ? this._renderer.itemWidthHeuristic.bind(this._renderer)\n : this._defaultRenderer.itemWidthHeuristic.bind(this._defaultRenderer);\n }\n /**\n * Cycle through the available completer items.\n *\n * #### Notes\n * When the user cycles all the way `down` to the last index, subsequent\n * `down` cycles will cycle to the first index. When the user cycles `up` to\n * the first item, subsequent `up` cycles will cycle to the last index.\n */\n _cycle(direction) {\n var _a, _b;\n const items = this.node.querySelectorAll(`.${ITEM_CLASS}`);\n const index = this._activeIndex;\n const last = items.length - 1;\n let active = this.node.querySelector(`.${ACTIVE_CLASS}`);\n active.classList.remove(ACTIVE_CLASS);\n switch (direction) {\n case 'up':\n this._activeIndex = index === 0 ? last : index - 1;\n break;\n case 'down':\n this._activeIndex = index < last ? index + 1 : 0;\n break;\n case 'pageUp':\n case 'pageDown': {\n // Measure the number of items on a page and clamp to the list length.\n const container = this.node.getBoundingClientRect();\n const current = active.getBoundingClientRect();\n const page = Math.floor(container.height / current.height);\n const sign = direction === 'pageUp' ? -1 : 1;\n this._activeIndex = Math.min(Math.max(0, index + sign * page), last);\n break;\n }\n }\n active = items[this._activeIndex];\n active.classList.add(ACTIVE_CLASS);\n let completionList = this.node.querySelector(`.${LIST_CLASS}`);\n _lumino_domutils__WEBPACK_IMPORTED_MODULE_3__.ElementExt.scrollIntoViewIfNeeded(completionList, active);\n this._indexChanged.emit(this._activeIndex);\n const visibleCompletionItems = (_a = this.model) === null || _a === void 0 ? void 0 : _a.completionItems();\n const activeCompletionItem = visibleCompletionItems === null || visibleCompletionItems === void 0 ? void 0 : visibleCompletionItems[this._activeIndex];\n if (activeCompletionItem) {\n const resolvedItem = (_b = this.model) === null || _b === void 0 ? void 0 : _b.resolveItem(activeCompletionItem);\n if (this._showDoc) {\n this._updateDocPanel(resolvedItem, active);\n }\n }\n }\n /**\n * Handle keydown events for the widget.\n */\n _evtKeydown(event) {\n if (this.isHidden || !this._editor) {\n return;\n }\n if (!this._editor.host.contains(event.target)) {\n this.reset();\n return;\n }\n switch (event.keyCode) {\n case 9: {\n // Tab key\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n const model = this._model;\n if (!model) {\n return;\n }\n // Autoinsert single completions on manual request (tab)\n const items = model.completionItems();\n if (items && items.length === 1) {\n this._selected.emit(items[0].insertText || items[0].label);\n this.reset();\n return;\n }\n const populated = this._populateSubset();\n // If the common subset was found and set on `query`,\n // or if there is a `query` in the initialization options,\n // then emit a completion signal with that `query` (=subset match),\n // but only if the query has actually changed.\n // See: https://github.com/jupyterlab/jupyterlab/issues/10439#issuecomment-875189540\n if (model.query && model.query !== this._lastSubsetMatch) {\n model.subsetMatch = true;\n this._selected.emit(model.query);\n model.subsetMatch = false;\n this._lastSubsetMatch = model.query;\n }\n // If the query changed, update rendering of the options.\n if (populated) {\n this.update();\n }\n this._cycle(event.shiftKey ? 'up' : 'down');\n return;\n }\n case 27: // Esc key\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n this.reset();\n return;\n case 33: // PageUp\n case 34: // PageDown\n case 38: // Up arrow key\n case 40: {\n // Down arrow key\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n const cycle = Private.keyCodeMap[event.keyCode];\n this._cycle(cycle);\n return;\n }\n default:\n return;\n }\n }\n /**\n * Handle mousedown events for the widget.\n */\n _evtPointerdown(event) {\n if (this.isHidden || !this._editor) {\n return;\n }\n if (Private.nonstandardClick(event)) {\n this.reset();\n return;\n }\n let target = event.target;\n while (target !== document.documentElement) {\n // If the user has made a selection, emit its value and reset the widget.\n if (target.classList.contains(ITEM_CLASS)) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n this._selected.emit(target.getAttribute('data-value'));\n this.reset();\n return;\n }\n // If the mouse event happened anywhere else in the widget, bail.\n if (target === this.node) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n return;\n }\n target = target.parentElement;\n }\n this.reset();\n }\n /**\n * Handle scroll events for the widget\n */\n _evtScroll(event) {\n if (this.isHidden || !this._editor) {\n return;\n }\n const { node } = this;\n // All scrolls except scrolls in the actual hover box node may cause the\n // referent editor that anchors the node to move, so the only scroll events\n // that can safely be ignored are ones that happen inside the hovering node.\n if (node.contains(event.target)) {\n return;\n }\n // Set the geometry of the node asynchronously.\n requestAnimationFrame(() => {\n this._setGeometry();\n });\n }\n /**\n * Populate the completer up to the longest initial subset of items.\n *\n * @returns `true` if a subset match was found and populated.\n */\n _populateSubset() {\n const { model } = this;\n if (!model) {\n return false;\n }\n const items = model.completionItems();\n const subset = Private.commonSubset(items.map(item => item.insertText || item.label));\n const { query } = model;\n // If a common subset exists and it is not the current query, highlight it.\n if (subset && subset !== query && subset.indexOf(query) === 0) {\n model.query = subset;\n return true;\n }\n return false;\n }\n /**\n * Set the visible dimensions of the widget.\n */\n _setGeometry() {\n const { node } = this;\n const model = this._model;\n const editor = this._editor;\n // This is an overly defensive test: `cursor` will always exist if\n // `original` exists, except in contrived tests. But since it is possible\n // to generate a runtime error, the check occurs here.\n if (!editor || !model || !model.original || !model.cursor) {\n return;\n }\n const start = model.cursor.start;\n const position = editor.getPositionAt(start);\n const anchor = editor.getCoordinateForPosition(position);\n if (!anchor) {\n return;\n }\n const style = window.getComputedStyle(node);\n const borderLeft = parseInt(style.borderLeftWidth, 10) || 0;\n const paddingLeft = parseInt(style.paddingLeft, 10) || 0;\n // When the editor is attached to the main area, contain the completer hover box\n // to the full area available (rather than to the editor itself); the available\n // area excludes the toolbar, hence the first Widget child between MainAreaWidget\n // and editor is preferred. The difference is negligible in File Editor, but\n // substantial for Notebooks.\n const host = editor.host.closest('.jp-MainAreaWidget > .lm-Widget') ||\n editor.host;\n const items = model.completionItems();\n // Fast cache invalidation (only checks for length rather than length + width)\n if (this._sizeCache && this._sizeCache.items.length !== items.length) {\n this._sizeCache = undefined;\n }\n // Calculate the geometry of the completer.\n _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.HoverBox.setGeometry({\n anchor,\n host: host,\n maxHeight: this._maxHeight,\n minHeight: this._minHeight,\n node: node,\n size: this.sizeCache,\n offset: { horizontal: borderLeft + paddingLeft },\n privilege: 'below',\n style: style,\n outOfViewDisplay: {\n top: 'stick-inside',\n bottom: 'stick-inside',\n left: 'stick-inside',\n right: 'stick-outside'\n }\n });\n const current = ++this._geometryCounter;\n if (!this._sizeCache) {\n // If size was not pre-calculated using heuristics, save the actual\n // size into cache once rendered.\n requestAnimationFrame(() => {\n if (current != this._geometryCounter) {\n // Do not set size to cache if it may already be outdated.\n return;\n }\n let rect = node.getBoundingClientRect();\n let panel = this._docPanel.getBoundingClientRect();\n this._sizeCache = {\n width: rect.width - panel.width,\n height: rect.height,\n items: items,\n docPanelWidth: panel.width,\n docPanelHeight: panel.height\n };\n });\n }\n }\n /**\n * Update the display-state and contents of the documentation panel\n */\n _updateDocPanel(resolvedItem, activeNode) {\n var _a, _b, _c;\n let docPanel = this._docPanel;\n if (!resolvedItem) {\n this._toggleDocPanel(false);\n return;\n }\n const loadingIndicator = (_c = (_b = (_a = this._renderer).createLoadingDocsIndicator) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : this._defaultRenderer.createLoadingDocsIndicator();\n activeNode.appendChild(loadingIndicator);\n resolvedItem\n .then(activeItem => {\n var _a, _b, _c;\n if (!activeItem) {\n return;\n }\n if (!docPanel) {\n return;\n }\n if (activeItem.documentation) {\n const node = (_c = (_b = (_a = this._renderer).createDocumentationNode) === null || _b === void 0 ? void 0 : _b.call(_a, activeItem)) !== null && _c !== void 0 ? _c : this._defaultRenderer.createDocumentationNode(activeItem);\n docPanel.textContent = '';\n docPanel.appendChild(node);\n this._toggleDocPanel(true);\n }\n else {\n this._toggleDocPanel(false);\n }\n })\n .catch(e => console.error(e))\n .finally(() => {\n activeNode.removeChild(loadingIndicator);\n });\n }\n _toggleDocPanel(show) {\n let docPanel = this._docPanel;\n if (show) {\n if (this._docPanelExpanded) {\n return;\n }\n docPanel.style.display = '';\n this._docPanelExpanded = true;\n }\n else {\n if (!this._docPanelExpanded) {\n return;\n }\n docPanel.style.display = 'none';\n this._docPanelExpanded = false;\n }\n const sizeCache = this._sizeCache;\n if (sizeCache) {\n sizeCache.docPanelHeight = show ? this._maxHeight : 0;\n sizeCache.docPanelWidth = show ? this._docPanelWidth : 0;\n if (!this._geometryLock) {\n this._setGeometry();\n }\n }\n }\n}\n(function (Completer) {\n /**\n * The default implementation of an `IRenderer`.\n */\n class Renderer {\n constructor(options) {\n this.sanitizer = (options === null || options === void 0 ? void 0 : options.sanitizer) || new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Sanitizer();\n }\n /**\n * Create an item node from an ICompletionItem for a text completer menu.\n */\n createCompletionItemNode(item, orderedTypes) {\n let wrapperNode = this._createWrapperNode(item.insertText || item.label);\n if (item.deprecated) {\n wrapperNode.classList.add('jp-Completer-deprecated');\n }\n return this._constructNode(wrapperNode, this._createLabelNode(item.label), !!item.type, item.type, orderedTypes, item.icon);\n }\n /**\n * Create a documentation node for documentation panel.\n */\n createDocumentationNode(activeItem) {\n const host = document.createElement('div');\n host.classList.add('jp-RenderedText');\n const sanitizer = this.sanitizer;\n const source = activeItem.documentation || '';\n (0,_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1__.renderText)({ host, sanitizer, source }).catch(console.error);\n return host;\n }\n /**\n * Get a heuristic for the width of an item.\n */\n itemWidthHeuristic(item) {\n var _a;\n // Get the label text without HTML markup (`` is the only markup\n // that is allowed in processed items, everything else gets escaped).\n const labelText = item.label.replace(/<(\\/)?mark>/g, '');\n return labelText.length + (((_a = item.type) === null || _a === void 0 ? void 0 : _a.length) || 0);\n }\n /**\n * Create a loading bar for the documentation panel.\n */\n createLoadingDocsIndicator() {\n const loadingContainer = document.createElement('div');\n loadingContainer.classList.add('jp-Completer-loading-bar-container');\n const loadingBar = document.createElement('div');\n loadingBar.classList.add('jp-Completer-loading-bar');\n loadingContainer.append(loadingBar);\n return loadingContainer;\n }\n /**\n * Create base node with the value to be inserted.\n */\n _createWrapperNode(value) {\n const li = document.createElement('li');\n li.className = ITEM_CLASS;\n // Set the raw, un-marked up value as a data attribute.\n li.setAttribute('data-value', value);\n return li;\n }\n /**\n * Create match node to highlight potential prefix match within result.\n */\n _createLabelNode(result) {\n const matchNode = document.createElement('code');\n matchNode.className = 'jp-Completer-match';\n // Use innerHTML because search results include tags.\n matchNode.innerHTML = result;\n return matchNode;\n }\n /**\n * Attaches type and match nodes to base node.\n */\n _constructNode(li, matchNode, typesExist, type, orderedTypes, icon) {\n // Add the icon or type monogram\n if (icon) {\n const iconNode = icon.element({\n className: 'jp-Completer-type jp-Completer-icon'\n });\n li.appendChild(iconNode);\n }\n else if (typesExist) {\n const typeNode = document.createElement('span');\n typeNode.textContent = (type[0] || '').toLowerCase();\n const colorIndex = (orderedTypes.indexOf(type) % N_COLORS) + 1;\n typeNode.className = 'jp-Completer-type jp-Completer-monogram';\n typeNode.setAttribute(`data-color-index`, colorIndex.toString());\n li.appendChild(typeNode);\n }\n else {\n // Create empty span to ensure consistent list styling.\n // Otherwise, in a list of two items,\n // if one item has an icon, but the other has type,\n // the icon grows out of its bounds.\n const dummyNode = document.createElement('span');\n dummyNode.className = 'jp-Completer-monogram';\n li.appendChild(dummyNode);\n }\n li.appendChild(matchNode);\n // If there is a type, add the type extension and title\n if (typesExist) {\n li.title = type;\n const typeExtendedNode = document.createElement('code');\n typeExtendedNode.className = 'jp-Completer-typeExtended';\n typeExtendedNode.textContent = type.toLocaleLowerCase();\n li.appendChild(typeExtendedNode);\n }\n else {\n // If no type is present on the right,\n // the highlighting of the completion item\n // doesn't cover the entire row.\n const dummyTypeExtendedNode = document.createElement('span');\n dummyTypeExtendedNode.className = 'jp-Completer-typeExtended';\n li.appendChild(dummyTypeExtendedNode);\n }\n return li;\n }\n }\n Completer.Renderer = Renderer;\n /**\n * Default renderer\n */\n let _defaultRenderer;\n /**\n * The default `IRenderer` instance.\n */\n function getDefaultRenderer(sanitizer) {\n if (!_defaultRenderer ||\n (sanitizer && _defaultRenderer.sanitizer !== sanitizer)) {\n _defaultRenderer = new Renderer({ sanitizer: sanitizer });\n }\n return _defaultRenderer;\n }\n Completer.getDefaultRenderer = getDefaultRenderer;\n})(Completer || (Completer = {}));\n/**\n * A namespace for completer widget private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Mapping from keyCodes to scrollTypes.\n */\n Private.keyCodeMap = {\n 38: 'up',\n 40: 'down',\n 33: 'pageUp',\n 34: 'pageDown'\n };\n /**\n * Returns the common subset string that a list of strings shares.\n */\n function commonSubset(values) {\n const len = values.length;\n let subset = '';\n if (len < 2) {\n return subset;\n }\n const strlen = values[0].length;\n for (let i = 0; i < strlen; i++) {\n const ch = values[0][i];\n for (let j = 1; j < len; j++) {\n if (values[j][i] !== ch) {\n return subset;\n }\n }\n subset += ch;\n }\n return subset;\n }\n Private.commonSubset = commonSubset;\n /**\n * Returns true for any modified click event (i.e., not a left-click).\n */\n function nonstandardClick(event) {\n return (event.button !== 0 ||\n event.altKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.metaKey);\n }\n Private.nonstandardClick = nonstandardClick;\n /**\n * Measure size of provided HTML element without painting it.\n *\n * #### Notes\n * The provided element has to be detached (not connected to DOM),\n * or a side-effect of detaching it will occur.\n */\n function measureSize(element, display) {\n if (element.isConnected) {\n console.warn('Measuring connected elements with `measureSize` has side-effects');\n }\n element.style.visibility = 'hidden';\n element.style.display = display;\n document.body.appendChild(element);\n const size = element.getBoundingClientRect();\n document.body.removeChild(element);\n element.removeAttribute('style');\n return size;\n }\n Private.measureSize = measureSize;\n})(Private || (Private = {}));\n//# sourceMappingURL=widget.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/lib/widget.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/completer/style/index.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/completer/style/index.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_codemirror_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/codemirror/style/index.js */ \"../node_modules/@jupyterlab/codemirror/style/index.js\");\n/* harmony import */ var _jupyterlab_rendermime_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/rendermime/style/index.js */ \"../node_modules/@jupyterlab/rendermime/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/completer/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/completer/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console-extension/lib/cellexecutor.js":
+/*!*************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/console-extension/lib/cellexecutor.js ***!
+ \*************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cellExecutor: () => (/* binding */ cellExecutor)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/console */ \"webpack/sharing/consume/default/@jupyterlab/console/@jupyterlab/console\");\n/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_console__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * Console cell executor plugin.\n */\nconst cellExecutor = {\n id: '@jupyterlab/console-extension:cell-executor',\n description: 'Provides the console cell executor.',\n autoStart: true,\n provides: _jupyterlab_console__WEBPACK_IMPORTED_MODULE_0__.IConsoleCellExecutor,\n activate: () => {\n return Object.freeze({ runCell: _jupyterlab_console__WEBPACK_IMPORTED_MODULE_0__.runCell });\n }\n};\n//# sourceMappingURL=cellexecutor.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console-extension/lib/cellexecutor.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console-extension/lib/foreign.js":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/console-extension/lib/foreign.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ foreign: () => (/* binding */ foreign)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/console */ \"webpack/sharing/consume/default/@jupyterlab/console/@jupyterlab/console\");\n/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_console__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_properties__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/properties */ \"webpack/sharing/consume/default/@lumino/properties/@lumino/properties\");\n/* harmony import */ var _lumino_properties__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_properties__WEBPACK_IMPORTED_MODULE_4__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n/**\n * The console foreign handler.\n */\nconst foreign = {\n id: '@jupyterlab/console-extension:foreign',\n description: 'Add foreign handler of IOPub messages to the console.',\n requires: [_jupyterlab_console__WEBPACK_IMPORTED_MODULE_1__.IConsoleTracker, _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_2__.ISettingRegistry, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.ITranslator],\n optional: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.ICommandPalette],\n activate: activateForeign,\n autoStart: true\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (foreign);\nfunction activateForeign(app, tracker, settingRegistry, translator, palette) {\n var _a;\n const trans = translator.load('jupyterlab');\n const { shell } = app;\n tracker.widgetAdded.connect((sender, widget) => {\n const console = widget.console;\n const handler = new _jupyterlab_console__WEBPACK_IMPORTED_MODULE_1__.ForeignHandler({\n sessionContext: console.sessionContext,\n parent: console\n });\n Private.foreignHandlerProperty.set(console, handler);\n // Property showAllKernelActivity configures foreign handler enabled on start.\n void settingRegistry\n .get('@jupyterlab/console-extension:tracker', 'showAllKernelActivity')\n .then(({ composite }) => {\n const showAllKernelActivity = composite;\n handler.enabled = showAllKernelActivity;\n });\n console.disposed.connect(() => {\n handler.dispose();\n });\n });\n const { commands } = app;\n const category = trans.__('Console');\n const toggleShowAllActivity = 'console:toggle-show-all-kernel-activity';\n // Get the current widget and activate unless the args specify otherwise.\n function getCurrent(args) {\n const widget = tracker.currentWidget;\n const activate = args['activate'] !== false;\n if (activate && widget) {\n shell.activateById(widget.id);\n }\n return widget;\n }\n commands.addCommand(toggleShowAllActivity, {\n label: args => trans.__('Show All Kernel Activity'),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n const handler = Private.foreignHandlerProperty.get(current.console);\n if (handler) {\n handler.enabled = !handler.enabled;\n }\n },\n isToggled: () => {\n var _a;\n return tracker.currentWidget !== null &&\n !!((_a = Private.foreignHandlerProperty.get(tracker.currentWidget.console)) === null || _a === void 0 ? void 0 : _a.enabled);\n },\n isEnabled: () => tracker.currentWidget !== null &&\n tracker.currentWidget === shell.currentWidget\n });\n const notify = () => {\n commands.notifyCommandChanged(toggleShowAllActivity);\n };\n tracker.currentChanged.connect(notify);\n (_a = shell.currentChanged) === null || _a === void 0 ? void 0 : _a.connect(notify);\n if (palette) {\n palette.addItem({\n command: toggleShowAllActivity,\n category,\n args: { isPalette: true }\n });\n }\n}\n/*\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * An attached property for a console's foreign handler.\n */\n Private.foreignHandlerProperty = new _lumino_properties__WEBPACK_IMPORTED_MODULE_4__.AttachedProperty({\n name: 'foreignHandler',\n create: () => undefined\n });\n})(Private || (Private = {}));\n//# sourceMappingURL=foreign.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console-extension/lib/foreign.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console-extension/lib/index.js":
+/*!******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/console-extension/lib/index.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/application */ \"webpack/sharing/consume/default/@jupyterlab/application/@jupyterlab/application\");\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/completer */ \"webpack/sharing/consume/default/@jupyterlab/completer/@jupyterlab/completer\");\n/* harmony import */ var _jupyterlab_completer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_completer__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/console */ \"webpack/sharing/consume/default/@jupyterlab/console/@jupyterlab/console\");\n/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_filebrowser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/filebrowser */ \"webpack/sharing/consume/default/@jupyterlab/filebrowser/@jupyterlab/filebrowser\");\n/* harmony import */ var _jupyterlab_filebrowser__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_filebrowser__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jupyterlab_launcher__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/launcher */ \"webpack/sharing/consume/default/@jupyterlab/launcher/@jupyterlab/launcher\");\n/* harmony import */ var _jupyterlab_launcher__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_launcher__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @jupyterlab/mainmenu */ \"webpack/sharing/consume/default/@jupyterlab/mainmenu/@jupyterlab/mainmenu\");\n/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @jupyterlab/rendermime */ \"webpack/sharing/consume/default/@jupyterlab/rendermime/@jupyterlab/rendermime\");\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @lumino/disposable */ \"webpack/sharing/consume/default/@lumino/disposable/@lumino/disposable\");\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_lumino_disposable__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_15__);\n/* harmony import */ var _foreign__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./foreign */ \"../node_modules/@jupyterlab/console-extension/lib/foreign.js\");\n/* harmony import */ var _cellexecutor__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./cellexecutor */ \"../node_modules/@jupyterlab/console-extension/lib/cellexecutor.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module console-extension\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The command IDs used by the console plugin.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n CommandIDs.autoClosingBrackets = 'console:toggle-autoclosing-brackets';\n CommandIDs.create = 'console:create';\n CommandIDs.clear = 'console:clear';\n CommandIDs.runUnforced = 'console:run-unforced';\n CommandIDs.runForced = 'console:run-forced';\n CommandIDs.linebreak = 'console:linebreak';\n CommandIDs.interrupt = 'console:interrupt-kernel';\n CommandIDs.restart = 'console:restart-kernel';\n CommandIDs.closeAndShutdown = 'console:close-and-shutdown';\n CommandIDs.open = 'console:open';\n CommandIDs.inject = 'console:inject';\n CommandIDs.changeKernel = 'console:change-kernel';\n CommandIDs.getKernel = 'console:get-kernel';\n CommandIDs.interactionMode = 'console:interaction-mode';\n CommandIDs.redo = 'console:redo';\n CommandIDs.replaceSelection = 'console:replace-selection';\n CommandIDs.shutdown = 'console:shutdown';\n CommandIDs.undo = 'console:undo';\n CommandIDs.invokeCompleter = 'completer:invoke-console';\n CommandIDs.selectCompleter = 'completer:select-console';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * The console widget tracker provider.\n */\nconst tracker = {\n id: '@jupyterlab/console-extension:tracker',\n description: 'Provides the console widget tracker.',\n provides: _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.IConsoleTracker,\n requires: [\n _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.ConsolePanel.IContentFactory,\n _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2__.IEditorServices,\n _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.IConsoleCellExecutor,\n _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_8__.IRenderMimeRegistry,\n _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_9__.ISettingRegistry\n ],\n optional: [\n _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILayoutRestorer,\n _jupyterlab_filebrowser__WEBPACK_IMPORTED_MODULE_5__.IDefaultFileBrowser,\n _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_7__.IMainMenu,\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ICommandPalette,\n _jupyterlab_launcher__WEBPACK_IMPORTED_MODULE_6__.ILauncher,\n _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabStatus,\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ISessionContextDialogs,\n _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.IFormRendererRegistry,\n _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_10__.ITranslator,\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ISessionContextDialogs,\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IToolbarWidgetRegistry\n ],\n activate: activateConsole,\n autoStart: true\n};\n/**\n * The console widget content factory.\n */\nconst factory = {\n id: '@jupyterlab/console-extension:factory',\n description: 'Provides the console widget content factory.',\n provides: _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.ConsolePanel.IContentFactory,\n requires: [_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2__.IEditorServices],\n autoStart: true,\n activate: (app, editorServices) => {\n const editorFactory = editorServices.factoryService.newInlineEditor;\n return new _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.ConsolePanel.ContentFactory({ editorFactory });\n }\n};\n/**\n * Kernel status indicator.\n */\nconst kernelStatus = {\n id: '@jupyterlab/console-extension:kernel-status',\n description: 'Adds the console to the kernel status indicator model.',\n autoStart: true,\n requires: [_jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.IConsoleTracker, _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IKernelStatusModel],\n activate: (app, tracker, kernelStatus) => {\n const provider = (widget) => {\n let session = null;\n if (widget && tracker.has(widget)) {\n return widget.sessionContext;\n }\n return session;\n };\n kernelStatus.addSessionProvider(provider);\n }\n};\n/**\n * Cursor position.\n */\nconst lineColStatus = {\n id: '@jupyterlab/console-extension:cursor-position',\n description: 'Adds the console to the code editor cursor position model.',\n autoStart: true,\n requires: [_jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.IConsoleTracker, _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_2__.IPositionModel],\n activate: (app, tracker, positionModel) => {\n let previousWidget = null;\n const provider = async (widget) => {\n let editor = null;\n if (widget !== previousWidget) {\n previousWidget === null || previousWidget === void 0 ? void 0 : previousWidget.console.promptCellCreated.disconnect(positionModel.update);\n previousWidget = null;\n if (widget && tracker.has(widget)) {\n widget.console.promptCellCreated.connect(positionModel.update);\n const promptCell = widget.console.promptCell;\n editor = null;\n if (promptCell) {\n await promptCell.ready;\n editor = promptCell.editor;\n }\n previousWidget = widget;\n }\n }\n else if (widget) {\n const promptCell = widget.console.promptCell;\n editor = null;\n if (promptCell) {\n await promptCell.ready;\n editor = promptCell.editor;\n }\n }\n return editor;\n };\n positionModel.addEditorProvider(provider);\n }\n};\nconst completerPlugin = {\n id: '@jupyterlab/console-extension:completer',\n description: 'Adds completion to the console.',\n autoStart: true,\n requires: [_jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.IConsoleTracker],\n optional: [_jupyterlab_completer__WEBPACK_IMPORTED_MODULE_3__.ICompletionProviderManager, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_10__.ITranslator, _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ISanitizer],\n activate: activateConsoleCompleterService\n};\n/**\n * Export the plugins as the default.\n */\nconst plugins = [\n factory,\n tracker,\n _foreign__WEBPACK_IMPORTED_MODULE_16__[\"default\"],\n kernelStatus,\n lineColStatus,\n completerPlugin,\n _cellexecutor__WEBPACK_IMPORTED_MODULE_17__.cellExecutor\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugins);\n/**\n * Activate the console extension.\n */\nasync function activateConsole(app, contentFactory, editorServices, executor, rendermime, settingRegistry, restorer, filebrowser, mainMenu, palette, launcher, status, sessionDialogs_, formRegistry, translator_, sessionContextDialogs, toolbarRegistry) {\n var _a;\n const translator = translator_ !== null && translator_ !== void 0 ? translator_ : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_10__.nullTranslator;\n const trans = translator.load('jupyterlab');\n const manager = app.serviceManager;\n const { commands, shell } = app;\n const category = trans.__('Console');\n const sessionDialogs = sessionDialogs_ !== null && sessionDialogs_ !== void 0 ? sessionDialogs_ : new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.SessionContextDialogs({ translator });\n const pluginId = '@jupyterlab/console-extension:tracker';\n const promptCellPositions = [\n 'top',\n 'bottom',\n 'left',\n 'right'\n ];\n // Instantiate the toolbar factory for console panel at plugin activation time\n // since the plugin defines toolbar items and \"jupyter.lab.toolbars\" is set to true.\n let toolbarFactory;\n if (toolbarRegistry) {\n const factory = 'ConsolePanel';\n toolbarFactory = (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.createToolbarFactory)(toolbarRegistry, settingRegistry, factory, pluginId, translator);\n if (sessionContextDialogs) {\n toolbarRegistry.addFactory(factory, 'kernelName', panel => _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Toolbar.createKernelNameItem(panel.sessionContext, sessionContextDialogs, translator));\n }\n toolbarRegistry.addFactory(factory, 'kernelStatus', panel => {\n const sessionContext = panel.sessionContext;\n // TODO: update use of deprecated APIs, without having to depend on @jupyterlab/notebook\n const indicator = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Toolbar.createKernelStatusItem(sessionContext);\n return indicator;\n });\n const promptMenu = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_15__.Menu({ commands });\n promptMenu.addClass('jp-CodeConsolePromptMenu');\n promptCellPositions.forEach(position => {\n promptMenu.addItem({ command: `console:prompt-to-${position}` });\n });\n toolbarRegistry.addFactory(factory, 'promptPosition', panel => {\n const button = new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.ToolbarButton({\n tooltip: trans.__('Change Console Prompt Position'),\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.dotsIcon,\n onClick: () => {\n const right = button.node.getBoundingClientRect().right;\n const bottom = button.node.getBoundingClientRect().bottom;\n promptMenu.open(right, bottom, { horizontalAlignment: 'right' });\n }\n });\n return button;\n });\n }\n // Create a widget tracker for all console panels.\n const tracker = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.WidgetTracker({\n namespace: 'console'\n });\n // Handle state restoration.\n if (restorer) {\n void restorer.restore(tracker, {\n command: CommandIDs.create,\n args: widget => {\n const { path, name, kernelPreference } = widget.console.sessionContext;\n return {\n path,\n name,\n kernelPreference: { ...kernelPreference }\n };\n },\n name: widget => { var _a; return (_a = widget.console.sessionContext.path) !== null && _a !== void 0 ? _a : _lumino_coreutils__WEBPACK_IMPORTED_MODULE_13__.UUID.uuid4(); },\n when: manager.ready\n });\n }\n // Add a launcher item if the launcher is available.\n if (launcher) {\n void manager.ready.then(() => {\n let disposables = null;\n const onSpecsChanged = () => {\n if (disposables) {\n disposables.dispose();\n disposables = null;\n }\n const specs = manager.kernelspecs.specs;\n if (!specs) {\n return;\n }\n disposables = new _lumino_disposable__WEBPACK_IMPORTED_MODULE_14__.DisposableSet();\n for (const name in specs.kernelspecs) {\n const rank = name === specs.default ? 0 : Infinity;\n const spec = specs.kernelspecs[name];\n const kernelIconUrl = spec.resources['logo-svg'] || spec.resources['logo-64x64'];\n disposables.add(launcher.add({\n command: CommandIDs.create,\n args: { isLauncher: true, kernelPreference: { name } },\n category: trans.__('Console'),\n rank,\n kernelIconUrl,\n metadata: {\n kernel: _lumino_coreutils__WEBPACK_IMPORTED_MODULE_13__.JSONExt.deepCopy(spec.metadata || {})\n }\n }));\n }\n };\n onSpecsChanged();\n manager.kernelspecs.specsChanged.connect(onSpecsChanged);\n });\n }\n /**\n * Create a console for a given path.\n */\n async function createConsole(options) {\n var _a, _b;\n await manager.ready;\n const panel = new _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.ConsolePanel({\n manager,\n contentFactory,\n mimeTypeService: editorServices.mimeTypeService,\n rendermime,\n sessionDialogs,\n executor,\n translator,\n setBusy: (_a = (status && (() => status.setBusy()))) !== null && _a !== void 0 ? _a : undefined,\n ...options\n });\n if (toolbarFactory) {\n (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.setToolbar)(panel, toolbarFactory);\n }\n const interactionMode = (await settingRegistry.get('@jupyterlab/console-extension:tracker', 'interactionMode')).composite;\n panel.console.node.dataset.jpInteractionMode = interactionMode;\n // Add the console panel to the tracker. We want the panel to show up before\n // any kernel selection dialog, so we do not await panel.session.ready;\n await tracker.add(panel);\n panel.sessionContext.propertyChanged.connect(() => {\n void tracker.save(panel);\n });\n if (options.subshell) {\n panel.sessionContext.kernelChanged.connect(async () => {\n if (!panel.sessionContext.isDisposed) {\n panel.sessionContext.ready\n .then(async () => {\n if (panel.sessionContext.session === null) {\n console.error('Cannot create subshell without session');\n }\n else if (panel.sessionContext.session.kernel === null) {\n console.error('Cannot create subshell without kernel');\n }\n else {\n const { kernel } = panel.sessionContext.session;\n // Ensure kernel has received kernel_info.\n await kernel.info;\n const replyMsg = await kernel.requestCreateSubshell({}).done;\n kernel.subshellId = replyMsg.content.subshell_id;\n }\n })\n .catch(reason => {\n console.error('Failed to initialize SessionContext or create new subshell.', reason);\n });\n }\n });\n }\n shell.add(panel, 'main', {\n ref: options.ref,\n mode: options.insertMode,\n activate: options.activate !== false,\n type: (_b = options.type) !== null && _b !== void 0 ? _b : 'Console'\n });\n return panel;\n }\n let clearCellsOnExecute;\n let clearCodeContentOnExecute;\n let hideCodeInput;\n let interactionMode;\n let promptCellConfig = {};\n let promptCellPosition;\n let showBanner;\n /**\n * Update settings for one console or all consoles.\n *\n * @param panel Optional - single console to update.\n */\n async function updateSettings(panel) {\n clearCellsOnExecute = (await settingRegistry.get(pluginId, 'clearCellsOnExecute')).composite;\n clearCodeContentOnExecute = (await settingRegistry.get(pluginId, 'clearCodeContentOnExecute')).composite;\n hideCodeInput = (await settingRegistry.get(pluginId, 'hideCodeInput'))\n .composite;\n interactionMode = (await settingRegistry.get(pluginId, 'interactionMode'))\n .composite;\n promptCellConfig = (await settingRegistry.get(pluginId, 'promptCellConfig'))\n .composite;\n promptCellPosition = (await settingRegistry.get(pluginId, 'promptCellPosition')).composite;\n showBanner = (await settingRegistry.get(pluginId, 'showBanner'))\n .composite;\n const setWidgetOptions = (widget) => {\n var _a, _b;\n widget.console.node.dataset.jpInteractionMode = interactionMode;\n // Update future promptCells\n widget.console.editorConfig = promptCellConfig;\n // Update promptCell already on screen\n (_b = (_a = widget.console.promptCell) === null || _a === void 0 ? void 0 : _a.editor) === null || _b === void 0 ? void 0 : _b.setOptions(promptCellConfig);\n // Set other config options\n widget.console.setConfig({\n clearCellsOnExecute,\n clearCodeContentOnExecute,\n hideCodeInput,\n promptCellPosition,\n showBanner\n });\n };\n if (panel) {\n setWidgetOptions(panel);\n }\n else {\n tracker.forEach(setWidgetOptions);\n }\n }\n settingRegistry.pluginChanged.connect((sender, plugin) => {\n if (plugin === pluginId) {\n void updateSettings();\n }\n });\n await updateSettings();\n if (formRegistry) {\n const CMRenderer = formRegistry.getRenderer('@jupyterlab/codemirror-extension:plugin.defaultConfig');\n if (CMRenderer) {\n formRegistry.addRenderer('@jupyterlab/console-extension:tracker.promptCellConfig', CMRenderer);\n }\n }\n // Apply settings when a console is created.\n tracker.widgetAdded.connect((sender, panel) => {\n void updateSettings(panel);\n });\n commands.addCommand(CommandIDs.autoClosingBrackets, {\n execute: async (args) => {\n var _a;\n promptCellConfig.autoClosingBrackets = !!((_a = args['force']) !== null && _a !== void 0 ? _a : !promptCellConfig.autoClosingBrackets);\n await settingRegistry.set(pluginId, 'promptCellConfig', promptCellConfig);\n },\n label: trans.__('Auto Close Brackets for Code Console Prompt'),\n isToggled: () => promptCellConfig.autoClosingBrackets\n });\n /**\n * Whether there is an active console.\n */\n function isEnabled() {\n return (tracker.currentWidget !== null &&\n tracker.currentWidget === shell.currentWidget);\n }\n commands.addCommand(CommandIDs.open, {\n label: trans.__('Open a console for the provided `path`.'),\n execute: (args) => {\n const path = args['path'];\n const widget = tracker.find(value => {\n var _a;\n return ((_a = value.console.sessionContext.session) === null || _a === void 0 ? void 0 : _a.path) === path;\n });\n if (widget) {\n if (args.activate !== false) {\n shell.activateById(widget.id);\n }\n return widget;\n }\n else {\n return manager.ready.then(() => {\n const model = (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_12__.find)(manager.sessions.running(), item => {\n return item.path === path;\n });\n if (model) {\n return createConsole(args);\n }\n return Promise.reject(`No running kernel session for path: ${path}`);\n });\n }\n }\n });\n commands.addCommand(CommandIDs.create, {\n label: args => {\n var _a, _b, _c, _d;\n if (args['isPalette']) {\n return trans.__('New Console');\n }\n else if (args['isLauncher'] && args['kernelPreference']) {\n const kernelPreference = args['kernelPreference'];\n // TODO: Lumino command functions should probably be allowed to return undefined?\n return ((_d = (_c = (_b = (_a = manager.kernelspecs) === null || _a === void 0 ? void 0 : _a.specs) === null || _b === void 0 ? void 0 : _b.kernelspecs[kernelPreference.name || '']) === null || _c === void 0 ? void 0 : _c.display_name) !== null && _d !== void 0 ? _d : '');\n }\n return trans.__('Console');\n },\n icon: args => (args['isPalette'] ? undefined : _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.consoleIcon),\n execute: args => {\n var _a;\n const basePath = (_a = (args['basePath'] ||\n args['cwd'] ||\n (filebrowser === null || filebrowser === void 0 ? void 0 : filebrowser.model.path))) !== null && _a !== void 0 ? _a : '';\n return createConsole({ basePath, ...args });\n }\n });\n // Get the current widget and activate unless the args specify otherwise.\n function getCurrent(args) {\n var _a;\n const widget = args[_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.SemanticCommand.WIDGET]\n ? (_a = tracker.find(panel => panel.id === args[_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.SemanticCommand.WIDGET])) !== null && _a !== void 0 ? _a : null\n : tracker.currentWidget;\n const activate = args['activate'] !== false;\n if (activate && widget) {\n shell.activateById(widget.id);\n }\n return widget;\n }\n /**\n * Create commands to change the position of the prompt cell.\n */\n const iconMap = {\n top: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.dockTopIcon,\n bottom: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.dockBottomIcon,\n right: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.dockRightIcon,\n left: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.dockLeftIcon\n };\n promptCellPositions.forEach((position) => {\n const command = `console:prompt-to-${position}`;\n commands.addCommand(command, {\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n current.console.setConfig({ promptCellPosition: position });\n },\n isEnabled: isEnabled,\n label: trans.__(`Prompt to ${position}`),\n icon: args => (args['isPalette'] ? undefined : iconMap[position])\n });\n if (palette) {\n palette.addItem({\n command,\n category,\n args: { isPalette: true }\n });\n }\n });\n /**\n * Add undo command\n */\n commands.addCommand(CommandIDs.undo, {\n execute: args => {\n var _a;\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n const editor = (_a = current.console.promptCell) === null || _a === void 0 ? void 0 : _a.editor;\n if (!editor) {\n return;\n }\n editor.undo();\n },\n isEnabled: args => {\n var _a, _b, _c;\n if (!isEnabled()) {\n return false;\n }\n const editor = (_c = (_b = (_a = getCurrent(args)) === null || _a === void 0 ? void 0 : _a.console) === null || _b === void 0 ? void 0 : _b.promptCell) === null || _c === void 0 ? void 0 : _c.editor;\n if (!editor) {\n return false;\n }\n return editor.model.sharedModel.canUndo();\n },\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.undoIcon.bindprops({ stylesheet: 'menuItem' }),\n label: trans.__('Undo')\n });\n /**\n * Add redo command\n */\n commands.addCommand(CommandIDs.redo, {\n execute: args => {\n var _a;\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n const editor = (_a = current.console.promptCell) === null || _a === void 0 ? void 0 : _a.editor;\n if (!editor) {\n return;\n }\n editor.redo();\n },\n isEnabled: args => {\n var _a, _b, _c;\n if (!isEnabled()) {\n return false;\n }\n const editor = (_c = (_b = (_a = getCurrent(args)) === null || _a === void 0 ? void 0 : _a.console) === null || _b === void 0 ? void 0 : _b.promptCell) === null || _c === void 0 ? void 0 : _c.editor;\n if (!editor) {\n return false;\n }\n return editor.model.sharedModel.canRedo();\n },\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.redoIcon.bindprops({ stylesheet: 'menuItem' }),\n label: trans.__('Redo')\n });\n commands.addCommand(CommandIDs.clear, {\n label: trans.__('Clear Console Cells'),\n icon: args => (args.toolbar ? _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.clearIcon : undefined),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n current.console.clear();\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.runUnforced, {\n label: trans.__('Run Cell (unforced)'),\n icon: args => (args.toolbar ? _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.runIcon : undefined),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n return current.console.execute();\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.runForced, {\n label: trans.__('Run Cell (forced)'),\n icon: args => (args.toolbar ? _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.runIcon : undefined),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n return current.console.execute(true);\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.linebreak, {\n label: trans.__('Insert Line Break'),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n current.console.insertLinebreak();\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.replaceSelection, {\n label: trans.__('Replace Selection in Console'),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n const text = args['text'] || '';\n current.console.replaceSelection(text);\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.interrupt, {\n label: trans.__('Interrupt Kernel'),\n execute: args => {\n var _a;\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n const kernel = (_a = current.console.sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel;\n if (kernel) {\n return kernel.interrupt();\n }\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.restart, {\n label: trans.__('Restart Kernel…'),\n icon: args => (args.toolbar ? _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_11__.refreshIcon : undefined),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n return sessionDialogs.restart(current.console.sessionContext);\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.shutdown, {\n label: trans.__('Shut Down'),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n return current.console.sessionContext.shutdown();\n }\n });\n commands.addCommand(CommandIDs.closeAndShutdown, {\n label: trans.__('Close and Shut Down…'),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Shut down the console?'),\n body: trans.__('Are you sure you want to close \"%1\"?', current.title.label),\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.cancelButton({\n ariaLabel: trans.__('Cancel console Shut Down')\n }),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.warnButton({\n ariaLabel: trans.__('Confirm console Shut Down')\n })\n ]\n }).then(result => {\n if (result.button.accept) {\n return commands\n .execute(CommandIDs.shutdown, { activate: false })\n .then(() => {\n current.dispose();\n return true;\n });\n }\n else {\n return false;\n }\n });\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.inject, {\n label: trans.__('Inject some code in a console.'),\n execute: args => {\n const path = args['path'];\n tracker.find(widget => {\n var _a;\n if (((_a = widget.console.sessionContext.session) === null || _a === void 0 ? void 0 : _a.path) === path) {\n if (args['activate'] !== false) {\n shell.activateById(widget.id);\n }\n void widget.console.inject(args['code'], args['metadata']);\n return true;\n }\n return false;\n });\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.changeKernel, {\n label: trans.__('Change Kernel…'),\n execute: args => {\n const current = getCurrent(args);\n if (!current) {\n return;\n }\n return sessionDialogs.selectKernel(current.console.sessionContext);\n },\n isEnabled\n });\n commands.addCommand(CommandIDs.getKernel, {\n label: trans.__('Get Kernel'),\n execute: args => {\n var _a;\n const current = getCurrent({ activate: false, ...args });\n if (!current) {\n return;\n }\n return (_a = current.sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel;\n },\n isEnabled\n });\n // All commands with isEnabled defined directly or in a semantic commands\n const skip = [CommandIDs.create];\n const notify = () => {\n Object.values(CommandIDs)\n .filter(id => !skip.includes(id))\n .forEach(id => app.commands.notifyCommandChanged(id));\n };\n tracker.currentChanged.connect(notify);\n (_a = shell.currentChanged) === null || _a === void 0 ? void 0 : _a.connect(notify);\n if (palette) {\n // Add command palette items\n [\n CommandIDs.create,\n CommandIDs.linebreak,\n CommandIDs.clear,\n CommandIDs.runUnforced,\n CommandIDs.runForced,\n CommandIDs.restart,\n CommandIDs.interrupt,\n CommandIDs.changeKernel,\n CommandIDs.closeAndShutdown\n ].forEach(command => {\n palette.addItem({ command, category, args: { isPalette: true } });\n });\n }\n if (mainMenu) {\n // Add a close and shutdown command to the file menu.\n mainMenu.fileMenu.closeAndCleaners.add({\n id: CommandIDs.closeAndShutdown,\n isEnabled\n });\n // Add a kernel user to the Kernel menu\n mainMenu.kernelMenu.kernelUsers.changeKernel.add({\n id: CommandIDs.changeKernel,\n isEnabled\n });\n mainMenu.kernelMenu.kernelUsers.clearWidget.add({\n id: CommandIDs.clear,\n isEnabled\n });\n mainMenu.kernelMenu.kernelUsers.interruptKernel.add({\n id: CommandIDs.interrupt,\n isEnabled\n });\n mainMenu.kernelMenu.kernelUsers.restartKernel.add({\n id: CommandIDs.restart,\n isEnabled\n });\n mainMenu.kernelMenu.kernelUsers.shutdownKernel.add({\n id: CommandIDs.shutdown,\n isEnabled\n });\n // Add a code runner to the Run menu.\n mainMenu.runMenu.codeRunners.run.add({\n id: CommandIDs.runForced,\n isEnabled\n });\n // Add a clearer to the edit menu\n mainMenu.editMenu.clearers.clearCurrent.add({\n id: CommandIDs.clear,\n isEnabled\n });\n // Add undo/redo hooks to the edit menu.\n mainMenu.editMenu.undoers.redo.add({\n id: CommandIDs.redo,\n isEnabled\n });\n mainMenu.editMenu.undoers.undo.add({\n id: CommandIDs.undo,\n isEnabled\n });\n // Add kernel information to the application help menu.\n mainMenu.helpMenu.getKernel.add({\n id: CommandIDs.getKernel,\n isEnabled\n });\n }\n // For backwards compatibility and clarity, we explicitly label the run\n // keystroke with the actual effected change, rather than the generic\n // \"notebook\" or \"terminal\" interaction mode. When this interaction mode\n // affects more than just the run keystroke, we can make this menu title more\n // generic.\n const runShortcutTitles = {\n notebook: trans.__('Execute with Shift+Enter'),\n terminal: trans.__('Execute with Enter')\n };\n // Add the execute keystroke setting submenu.\n commands.addCommand(CommandIDs.interactionMode, {\n label: args => {\n var _a;\n return (_a = runShortcutTitles[args['interactionMode']]) !== null && _a !== void 0 ? _a : 'Set the console interaction mode.';\n },\n execute: async (args) => {\n const key = 'keyMap';\n try {\n await settingRegistry.set(pluginId, 'interactionMode', args['interactionMode']);\n }\n catch (reason) {\n console.error(`Failed to set ${pluginId}:${key} - ${reason.message}`);\n }\n },\n isToggled: args => args['interactionMode'] === interactionMode\n });\n return tracker;\n}\n/**\n * Activate the completer service for console.\n */\nfunction activateConsoleCompleterService(app, consoles, manager, translator, appSanitizer) {\n if (!manager) {\n return;\n }\n const trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_10__.nullTranslator).load('jupyterlab');\n const sanitizer = appSanitizer !== null && appSanitizer !== void 0 ? appSanitizer : new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Sanitizer();\n app.commands.addCommand(CommandIDs.invokeCompleter, {\n label: trans.__('Display the completion helper.'),\n execute: () => {\n const id = consoles.currentWidget && consoles.currentWidget.id;\n if (id) {\n return manager.invoke(id);\n }\n }\n });\n app.commands.addCommand(CommandIDs.selectCompleter, {\n label: trans.__('Select the completion suggestion.'),\n execute: () => {\n const id = consoles.currentWidget && consoles.currentWidget.id;\n if (id) {\n return manager.select(id);\n }\n }\n });\n app.commands.addKeyBinding({\n command: CommandIDs.selectCompleter,\n keys: ['Enter'],\n selector: '.jp-ConsolePanel .jp-mod-completer-active'\n });\n const updateCompleter = async (_, consolePanel) => {\n var _a, _b;\n const completerContext = {\n editor: (_b = (_a = consolePanel.console.promptCell) === null || _a === void 0 ? void 0 : _a.editor) !== null && _b !== void 0 ? _b : null,\n session: consolePanel.console.sessionContext.session,\n widget: consolePanel\n };\n await manager.updateCompleter(completerContext);\n consolePanel.console.promptCellCreated.connect((codeConsole, cell) => {\n const newContext = {\n editor: cell.editor,\n session: codeConsole.sessionContext.session,\n widget: consolePanel,\n sanitzer: sanitizer\n };\n manager.updateCompleter(newContext).catch(console.error);\n });\n consolePanel.console.sessionContext.sessionChanged.connect(() => {\n var _a, _b;\n const newContext = {\n editor: (_b = (_a = consolePanel.console.promptCell) === null || _a === void 0 ? void 0 : _a.editor) !== null && _b !== void 0 ? _b : null,\n session: consolePanel.console.sessionContext.session,\n widget: consolePanel,\n sanitizer: sanitizer\n };\n manager.updateCompleter(newContext).catch(console.error);\n });\n };\n consoles.widgetAdded.connect(updateCompleter);\n manager.activeProvidersChanged.connect(() => {\n consoles.forEach(consoleWidget => {\n updateCompleter(undefined, consoleWidget).catch(e => console.error(e));\n });\n });\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console-extension/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console-extension/style/index.js":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/console-extension/style/index.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_codeeditor_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/codeeditor/style/index.js */ \"../node_modules/@jupyterlab/codeeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_rendermime_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/rendermime/style/index.js */ \"../node_modules/@jupyterlab/rendermime/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_completer_style_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/completer/style/index.js */ \"../node_modules/@jupyterlab/completer/style/index.js\");\n/* harmony import */ var _jupyterlab_filebrowser_style_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @jupyterlab/filebrowser/style/index.js */ \"../node_modules/@jupyterlab/filebrowser/style/index.js\");\n/* harmony import */ var _jupyterlab_console_style_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @jupyterlab/console/style/index.js */ \"../node_modules/@jupyterlab/console/style/index.js\");\n/* harmony import */ var _jupyterlab_launcher_style_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @jupyterlab/launcher/style/index.js */ \"../node_modules/@jupyterlab/launcher/style/index.js\");\n/* harmony import */ var _jupyterlab_mainmenu_style_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @jupyterlab/mainmenu/style/index.js */ \"../node_modules/@jupyterlab/mainmenu/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/console-extension/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console-extension/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console/lib/cellexecutor.js":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/console/lib/cellexecutor.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ runCell: () => (/* binding */ runCell)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/cells */ \"webpack/sharing/consume/default/@jupyterlab/cells/@jupyterlab/cells\");\n/* harmony import */ var _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_cells__WEBPACK_IMPORTED_MODULE_0__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/**\n * Run a console cell.\n *\n * @param options Cell execution options\n * @returns Execution status\n */\nasync function runCell({ cell, onCellExecuted, sessionContext }) {\n const onSuccess = (value) => {\n if (value && value.content.status === 'ok') {\n const content = value.content;\n // Use deprecated payloads for backwards compatibility.\n if (content.payload && content.payload.length) {\n const setNextInput = content.payload.filter(i => {\n return i.source === 'set_next_input';\n })[0];\n if (setNextInput) {\n const text = setNextInput.text;\n // Ignore the `replace` value and always set the next cell.\n cell.model.sharedModel.setSource(text);\n }\n }\n onCellExecuted({\n cell,\n executionDate: new Date(),\n success: true\n });\n return true;\n }\n else if (value && value.content.status === 'error') {\n const errorName = value.content.ename;\n const errorValue = value.content.evalue;\n onCellExecuted({\n cell,\n executionDate: new Date(),\n success: false,\n error: new Error(`KernelReplyNotOK: ${errorName} ${errorValue}`)\n });\n return false;\n }\n onCellExecuted({\n cell,\n executionDate: new Date(),\n success: false\n });\n return false;\n };\n const onFailure = (reason) => {\n onCellExecuted({\n cell,\n executionDate: new Date(),\n success: false,\n error: new Error(reason)\n });\n return false;\n };\n return _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_0__.CodeCell.execute(cell, sessionContext).then(onSuccess, onFailure);\n}\n//# sourceMappingURL=cellexecutor.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console/lib/cellexecutor.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console/lib/foreign.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/console/lib/foreign.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ForeignHandler: () => (/* binding */ ForeignHandler)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\nconst FOREIGN_CELL_CLASS = 'jp-CodeConsole-foreignCell';\n/**\n * A handler for capturing API messages from other sessions that should be\n * rendered in a given parent.\n */\nclass ForeignHandler {\n /**\n * Construct a new foreign message handler.\n */\n constructor(options) {\n this._enabled = false;\n this._isDisposed = false;\n this.sessionContext = options.sessionContext;\n this.sessionContext.iopubMessage.connect(this.onIOPubMessage, this);\n this._parent = options.parent;\n }\n /**\n * Set whether the handler is able to inject foreign cells into a console.\n */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n }\n /**\n * The foreign handler's parent receiver.\n */\n get parent() {\n return this._parent;\n }\n /**\n * Test whether the handler is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose the resources held by the handler.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal.clearData(this);\n }\n /**\n * Handler IOPub messages.\n *\n * @returns `true` if the message resulted in a new cell injection or a\n * previously injected cell being updated and `false` for all other messages.\n */\n onIOPubMessage(sender, msg) {\n var _a;\n // Only process messages if foreign cell injection is enabled.\n if (!this._enabled) {\n return false;\n }\n const kernel = (_a = this.sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel;\n if (!kernel) {\n return false;\n }\n // Check whether this message came from an external session.\n const parent = this._parent;\n const session = msg.parent_header.session;\n if (session === kernel.clientId) {\n return false;\n }\n const msgType = msg.header.msg_type;\n const parentHeader = msg.parent_header;\n const parentMsgId = parentHeader.msg_id;\n let cell;\n switch (msgType) {\n case 'execute_input': {\n const inputMsg = msg;\n cell = this._newCell(parentMsgId);\n const model = cell.model;\n model.executionCount = inputMsg.content.execution_count;\n model.sharedModel.setSource(inputMsg.content.code);\n model.trusted = true;\n parent.update();\n return true;\n }\n case 'execute_result':\n case 'display_data':\n case 'stream':\n case 'error': {\n cell = this._parent.getCell(parentMsgId);\n if (!cell) {\n return false;\n }\n const output = {\n ...msg.content,\n output_type: msgType\n };\n cell.model.outputs.add(output);\n parent.update();\n return true;\n }\n case 'clear_output': {\n const wait = msg.content.wait;\n cell = this._parent.getCell(parentMsgId);\n if (cell) {\n cell.model.outputs.clear(wait);\n }\n return true;\n }\n default:\n return false;\n }\n }\n /**\n * Create a new code cell for an input originated from a foreign session.\n */\n _newCell(parentMsgId) {\n const cell = this.parent.createCodeCell();\n cell.addClass(FOREIGN_CELL_CLASS);\n this._parent.addCell(cell, parentMsgId);\n return cell;\n }\n}\n//# sourceMappingURL=foreign.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console/lib/foreign.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console/lib/history.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/console/lib/history.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConsoleHistory: () => (/* binding */ ConsoleHistory)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * A console history manager object.\n */\nclass ConsoleHistory {\n /**\n * Construct a new console history object.\n */\n constructor(options) {\n this._cursor = 0;\n this._hasSession = false;\n this._history = [];\n this._placeholder = '';\n this._setByHistory = false;\n this._isDisposed = false;\n this._editor = null;\n this._filtered = [];\n const { sessionContext } = options;\n if (sessionContext) {\n this.sessionContext = sessionContext;\n void this._handleKernel();\n this.sessionContext.kernelChanged.connect(this._handleKernel, this);\n }\n }\n /**\n * The current editor used by the history manager.\n */\n get editor() {\n return this._editor;\n }\n set editor(value) {\n if (this._editor === value) {\n return;\n }\n const prev = this._editor;\n if (prev) {\n prev.edgeRequested.disconnect(this.onEdgeRequest, this);\n prev.model.sharedModel.changed.disconnect(this.onTextChange, this);\n }\n this._editor = value;\n if (value) {\n value.edgeRequested.connect(this.onEdgeRequest, this);\n value.model.sharedModel.changed.connect(this.onTextChange, this);\n }\n }\n /**\n * The placeholder text that a history session began with.\n */\n get placeholder() {\n return this._placeholder;\n }\n /**\n * Get whether the console history manager is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the console history manager.\n */\n dispose() {\n this._isDisposed = true;\n this._history.length = 0;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal.clearData(this);\n }\n /**\n * Get the previous item in the console history.\n *\n * @param placeholder - The placeholder string that gets temporarily added\n * to the history only for the duration of one history session. If multiple\n * placeholders are sent within a session, only the first one is accepted.\n *\n * @returns A Promise for console command text or `undefined` if unavailable.\n */\n back(placeholder) {\n if (!this._hasSession) {\n this._hasSession = true;\n this._placeholder = placeholder;\n // Filter the history with the placeholder string.\n this.setFilter(placeholder);\n this._cursor = this._filtered.length - 1;\n }\n --this._cursor;\n this._cursor = Math.max(0, this._cursor);\n const content = this._filtered[this._cursor];\n return Promise.resolve(content);\n }\n /**\n * Get the next item in the console history.\n *\n * @param placeholder - The placeholder string that gets temporarily added\n * to the history only for the duration of one history session. If multiple\n * placeholders are sent within a session, only the first one is accepted.\n *\n * @returns A Promise for console command text or `undefined` if unavailable.\n */\n forward(placeholder) {\n if (!this._hasSession) {\n this._hasSession = true;\n this._placeholder = placeholder;\n // Filter the history with the placeholder string.\n this.setFilter(placeholder);\n this._cursor = this._filtered.length;\n }\n ++this._cursor;\n this._cursor = Math.min(this._filtered.length - 1, this._cursor);\n const content = this._filtered[this._cursor];\n return Promise.resolve(content);\n }\n /**\n * Add a new item to the bottom of history.\n *\n * @param item The item being added to the bottom of history.\n *\n * #### Notes\n * If the item being added is undefined or empty, it is ignored. If the item\n * being added is the same as the last item in history, it is ignored as well\n * so that the console's history will consist of no contiguous repetitions.\n */\n push(item) {\n if (item && item !== this._history[this._history.length - 1]) {\n this._history.push(item);\n }\n this.reset();\n }\n /**\n * Reset the history navigation state, i.e., start a new history session.\n */\n reset() {\n this._cursor = this._history.length;\n this._hasSession = false;\n this._placeholder = '';\n }\n /**\n * Populate the history collection on history reply from a kernel.\n *\n * @param value The kernel message history reply.\n *\n * #### Notes\n * History entries have the shape:\n * [session: number, line: number, input: string]\n * Contiguous duplicates are stripped out of the API response.\n */\n onHistory(value) {\n this._history.length = 0;\n let last = '';\n let current = '';\n if (value.content.status === 'ok') {\n for (let i = 0; i < value.content.history.length; i++) {\n current = value.content.history[i][2];\n if (current !== last) {\n this._history.push((last = current));\n }\n }\n }\n // Reset the history navigation cursor back to the bottom.\n this._cursor = this._history.length;\n }\n /**\n * Handle a text change signal from the editor.\n */\n onTextChange() {\n if (this._setByHistory) {\n this._setByHistory = false;\n return;\n }\n this.reset();\n }\n /**\n * Handle an edge requested signal.\n */\n onEdgeRequest(editor, location) {\n const sharedModel = editor.model.sharedModel;\n const source = sharedModel.getSource();\n if (location === 'top' || location === 'topLine') {\n void this.back(source).then(value => {\n if (this.isDisposed || !value) {\n return;\n }\n if (sharedModel.getSource() === value) {\n return;\n }\n this._setByHistory = true;\n sharedModel.setSource(value);\n let columnPos = 0;\n columnPos = value.indexOf('\\n');\n if (columnPos < 0) {\n columnPos = value.length;\n }\n editor.setCursorPosition({ line: 0, column: columnPos });\n });\n }\n else {\n void this.forward(source).then(value => {\n if (this.isDisposed) {\n return;\n }\n const text = value || this.placeholder;\n if (sharedModel.getSource() === text) {\n return;\n }\n this._setByHistory = true;\n sharedModel.setSource(text);\n const pos = editor.getPositionAt(text.length);\n if (pos) {\n editor.setCursorPosition(pos);\n }\n });\n }\n }\n /**\n * Handle the current kernel changing.\n */\n async _handleKernel() {\n var _a, _b;\n const kernel = (_b = (_a = this.sessionContext) === null || _a === void 0 ? void 0 : _a.session) === null || _b === void 0 ? void 0 : _b.kernel;\n if (!kernel) {\n this._history.length = 0;\n return;\n }\n return kernel.requestHistory(Private.initialRequest).then(v => {\n this.onHistory(v);\n });\n }\n /**\n * Set the filter data.\n *\n * @param filterStr - The string to use when filtering the data.\n */\n setFilter(filterStr = '') {\n // Apply the new filter and remove contiguous duplicates.\n this._filtered.length = 0;\n let last = '';\n let current = '';\n for (let i = 0; i < this._history.length; i++) {\n current = this._history[i];\n if (current !== last &&\n filterStr === current.slice(0, filterStr.length)) {\n this._filtered.push((last = current));\n }\n }\n this._filtered.push(filterStr);\n }\n}\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n Private.initialRequest = {\n output: false,\n raw: true,\n hist_access_type: 'tail',\n n: 500\n };\n})(Private || (Private = {}));\n//# sourceMappingURL=history.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console/lib/history.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console/lib/index.js":
+/*!********************************************************!*\
+ !*** ../node_modules/@jupyterlab/console/lib/index.js ***!
+ \********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeConsole: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_5__.CodeConsole),\n/* harmony export */ ConsoleHistory: () => (/* reexport safe */ _history__WEBPACK_IMPORTED_MODULE_2__.ConsoleHistory),\n/* harmony export */ ConsolePanel: () => (/* reexport safe */ _panel__WEBPACK_IMPORTED_MODULE_3__.ConsolePanel),\n/* harmony export */ ForeignHandler: () => (/* reexport safe */ _foreign__WEBPACK_IMPORTED_MODULE_1__.ForeignHandler),\n/* harmony export */ IConsoleCellExecutor: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_4__.IConsoleCellExecutor),\n/* harmony export */ IConsoleTracker: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_4__.IConsoleTracker),\n/* harmony export */ runCell: () => (/* reexport safe */ _cellexecutor__WEBPACK_IMPORTED_MODULE_0__.runCell)\n/* harmony export */ });\n/* harmony import */ var _cellexecutor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cellexecutor */ \"../node_modules/@jupyterlab/console/lib/cellexecutor.js\");\n/* harmony import */ var _foreign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foreign */ \"../node_modules/@jupyterlab/console/lib/foreign.js\");\n/* harmony import */ var _history__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./history */ \"../node_modules/@jupyterlab/console/lib/history.js\");\n/* harmony import */ var _panel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./panel */ \"../node_modules/@jupyterlab/console/lib/panel.js\");\n/* harmony import */ var _tokens__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tokens */ \"../node_modules/@jupyterlab/console/lib/tokens.js\");\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/console/lib/widget.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module console\n */\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console/lib/panel.js":
+/*!********************************************************!*\
+ !*** ../node_modules/@jupyterlab/console/lib/panel.js ***!
+ \********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConsolePanel: () => (/* binding */ ConsolePanel)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/rendermime */ \"webpack/sharing/consume/default/@jupyterlab/rendermime/@jupyterlab/rendermime\");\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/console/lib/widget.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n/**\n * The class name added to console panels.\n */\nconst PANEL_CLASS = 'jp-ConsolePanel';\n/**\n * A panel which contains a console and the ability to add other children.\n */\nclass ConsolePanel extends _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.MainAreaWidget {\n /**\n * Construct a console panel.\n */\n constructor(options) {\n super({ content: new _lumino_widgets__WEBPACK_IMPORTED_MODULE_6__.Panel() });\n this._executed = null;\n this._connected = null;\n this.addClass(PANEL_CLASS);\n let { executor, rendermime, mimeTypeService, path, basePath, name, manager, modelFactory, sessionContext, translator } = options;\n this.translator = translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator;\n const trans = this.translator.load('jupyterlab');\n const contentFactory = (this.contentFactory = options.contentFactory);\n const count = Private.count++;\n if (!path) {\n path = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.join(basePath || '', `console-${count}-${_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__.UUID.uuid4()}`);\n }\n sessionContext = this._sessionContext =\n sessionContext !== null && sessionContext !== void 0 ? sessionContext : new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.SessionContext({\n kernelManager: manager.kernels,\n sessionManager: manager.sessions,\n specsManager: manager.kernelspecs,\n path: manager.contents.localPath(path),\n name: name || trans.__('Console %1', count),\n type: 'console',\n kernelPreference: options.kernelPreference,\n setBusy: options.setBusy\n });\n const resolver = new _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_2__.RenderMimeRegistry.UrlResolver({\n path,\n contents: manager.contents\n });\n rendermime = rendermime.clone({ resolver });\n this.console = contentFactory.createConsole({\n executor,\n rendermime,\n sessionContext: sessionContext,\n mimeTypeService,\n contentFactory,\n modelFactory,\n translator\n });\n this.content.addWidget(this.console);\n void sessionContext.initialize().then(async (value) => {\n var _a;\n if (value) {\n await ((_a = options.sessionDialogs) !== null && _a !== void 0 ? _a : new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.SessionContextDialogs({ translator })).selectKernel(sessionContext);\n }\n this._connected = new Date();\n this._updateTitlePanel();\n });\n this.console.executed.connect(this._onExecuted, this);\n this._updateTitlePanel();\n sessionContext.kernelChanged.connect(this._updateTitlePanel, this);\n sessionContext.propertyChanged.connect(this._updateTitlePanel, this);\n this.title.icon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_4__.consoleIcon;\n this.title.closable = true;\n this.id = `console-${count}`;\n }\n /**\n * The session used by the panel.\n */\n get sessionContext() {\n return this._sessionContext;\n }\n /**\n * Dispose of the resources held by the widget.\n */\n dispose() {\n this.sessionContext.dispose();\n this.console.dispose();\n super.dispose();\n }\n /**\n * Handle `'activate-request'` messages.\n */\n onActivateRequest(msg) {\n const prompt = this.console.promptCell;\n if (prompt) {\n prompt.editor.focus();\n }\n }\n /**\n * Handle `'close-request'` messages.\n */\n onCloseRequest(msg) {\n super.onCloseRequest(msg);\n this.dispose();\n }\n /**\n * Handle a console execution.\n */\n _onExecuted(sender, args) {\n this._executed = args;\n this._updateTitlePanel();\n }\n /**\n * Update the console panel title.\n */\n _updateTitlePanel() {\n Private.updateTitle(this, this._connected, this._executed, this.translator);\n }\n}\n/**\n * A namespace for ConsolePanel statics.\n */\n(function (ConsolePanel) {\n /**\n * Default implementation of `IContentFactory`.\n */\n class ContentFactory extends _widget__WEBPACK_IMPORTED_MODULE_7__.CodeConsole.ContentFactory {\n /**\n * Create a new console panel.\n */\n createConsole(options) {\n return new _widget__WEBPACK_IMPORTED_MODULE_7__.CodeConsole(options);\n }\n }\n ConsolePanel.ContentFactory = ContentFactory;\n /**\n * The console renderer token.\n */\n ConsolePanel.IContentFactory = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__.Token('@jupyterlab/console:IContentFactory', 'A factory object that creates new code consoles. Use this if you want to create and host code consoles in your own UI elements.');\n})(ConsolePanel || (ConsolePanel = {}));\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * The counter for new consoles.\n */\n Private.count = 1;\n /**\n * Update the title of a console panel.\n */\n function updateTitle(panel, connected, executed, translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator;\n const trans = translator.load('jupyterlab');\n const sessionContext = panel.console.sessionContext.session;\n if (sessionContext) {\n // FIXME:\n let caption = trans.__('Name: %1\\n', sessionContext.name) +\n trans.__('Directory: %1\\n', _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.dirname(sessionContext.path)) +\n trans.__('Kernel: %1', panel.console.sessionContext.kernelDisplayName);\n if (connected) {\n caption += trans.__('\\nConnected: %1', _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.Time.format(connected.toISOString()));\n }\n if (executed) {\n caption += trans.__('\\nLast Execution: %1');\n }\n panel.title.label = sessionContext.name;\n panel.title.caption = caption;\n }\n else {\n panel.title.label = trans.__('Console');\n panel.title.caption = '';\n }\n }\n Private.updateTitle = updateTitle;\n})(Private || (Private = {}));\n//# sourceMappingURL=panel.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console/lib/panel.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console/lib/tokens.js":
+/*!*********************************************************!*\
+ !*** ../node_modules/@jupyterlab/console/lib/tokens.js ***!
+ \*********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IConsoleCellExecutor: () => (/* binding */ IConsoleCellExecutor),\n/* harmony export */ IConsoleTracker: () => (/* binding */ IConsoleTracker)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * The console tracker token.\n */\nconst IConsoleTracker = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/console:IConsoleTracker', `A widget tracker for code consoles.\n Use this if you want to be able to iterate over and interact with code consoles\n created by the application.`);\n/**\n * The Console cell executor token.\n */\nconst IConsoleCellExecutor = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/console:IConsoleCellExecutor', `The console cell executor`);\n//# sourceMappingURL=tokens.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console/lib/tokens.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console/lib/widget.js":
+/*!*********************************************************!*\
+ !*** ../node_modules/@jupyterlab/console/lib/widget.js ***!
+ \*********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CodeConsole: () => (/* binding */ CodeConsole)\n/* harmony export */ });\n/* harmony import */ var _jupyter_ydoc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyter/ydoc */ \"webpack/sharing/consume/default/@jupyter/ydoc/@jupyter/ydoc\");\n/* harmony import */ var _jupyter_ydoc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyter_ydoc__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/cells */ \"webpack/sharing/consume/default/@jupyterlab/cells/@jupyterlab/cells\");\n/* harmony import */ var _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/observables */ \"webpack/sharing/consume/default/@jupyterlab/observables/@jupyterlab/observables\");\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_observables__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _lumino_dragdrop__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lumino/dragdrop */ \"webpack/sharing/consume/default/@lumino/dragdrop/@lumino/dragdrop\");\n/* harmony import */ var _lumino_dragdrop__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_lumino_dragdrop__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _cellexecutor__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./cellexecutor */ \"../node_modules/@jupyterlab/console/lib/cellexecutor.js\");\n/* harmony import */ var _history__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./history */ \"../node_modules/@jupyterlab/console/lib/history.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The data attribute added to a widget that has an active kernel.\n */\nconst KERNEL_USER = 'jpKernelUser';\n/**\n * The data attribute added to a widget can run code.\n */\nconst CODE_RUNNER = 'jpCodeRunner';\n/**\n * The class name added to console widgets.\n */\nconst CONSOLE_CLASS = 'jp-CodeConsole';\n/**\n * The class added to console cells\n */\nconst CONSOLE_CELL_CLASS = 'jp-Console-cell';\n/**\n * The class name added to the console banner.\n */\nconst BANNER_CLASS = 'jp-CodeConsole-banner';\n/**\n * The class name of the active prompt cell.\n */\nconst PROMPT_CLASS = 'jp-CodeConsole-promptCell';\n/**\n * The class name of the panel that holds cell content.\n */\nconst CONTENT_CLASS = 'jp-CodeConsole-content';\n/**\n * The class name of the panel that holds prompts.\n */\nconst INPUT_CLASS = 'jp-CodeConsole-input';\n/**\n * The class name added to the console when an element within it is focused\n * and takes keyboard input, such as and \n *\n * This class is also effective when the focused element is in shadow DOM.\n */\nconst READ_WRITE_CLASS = 'jp-mod-readWrite';\n/**\n * The timeout in ms for execution requests to the kernel.\n */\nconst EXECUTION_TIMEOUT = 250;\n/**\n * The mimetype used for Jupyter cell data.\n */\nconst JUPYTER_CELL_MIME = 'application/vnd.jupyter.cells';\n/**\n * The data attribute added to a widget that can undo.\n */\nconst UNDOER = 'jpUndoer';\n/**\n * A widget containing a Jupyter console.\n *\n * #### Notes\n * The CodeConsole class is intended to be used within a ConsolePanel\n * instance. Under most circumstances, it is not instantiated by user code.\n */\nclass CodeConsole extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_8__.Widget {\n /**\n * Construct a console widget.\n */\n constructor(options) {\n var _a, _b, _c;\n super();\n /**\n * The configuration options for the text editor widget.\n */\n this.editorConfig = CodeConsole.defaultEditorConfig;\n this._banner = null;\n this._executed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__.Signal(this);\n this._config = {};\n this._mimetype = 'text/x-ipython';\n this._msgIds = new Map();\n this._msgIdCells = new Map();\n this._promptCellCreated = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__.Signal(this);\n this._dragData = null;\n this._drag = null;\n this._focusedCell = null;\n this._translator = (_a = options.translator) !== null && _a !== void 0 ? _a : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.nullTranslator;\n this._executor = (_b = options.executor) !== null && _b !== void 0 ? _b : Object.freeze({ runCell: _cellexecutor__WEBPACK_IMPORTED_MODULE_9__.runCell });\n this.addClass(CONSOLE_CLASS);\n this.node.dataset[KERNEL_USER] = 'true';\n this.node.dataset[CODE_RUNNER] = 'true';\n this.node.dataset[UNDOER] = 'true';\n this.node.tabIndex = -1; // Allow the widget to take focus.\n // Create the panels that hold the content and input.\n const layout = (this.layout = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_8__.PanelLayout());\n this._cells = new _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_3__.ObservableList();\n this._content = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_8__.Panel();\n this._input = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_8__.Panel();\n this._splitPanel = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_8__.SplitPanel({ spacing: 0 });\n this._splitPanel.addClass('jp-CodeConsole-split');\n this.contentFactory = options.contentFactory;\n this.modelFactory = (_c = options.modelFactory) !== null && _c !== void 0 ? _c : CodeConsole.defaultModelFactory;\n this.rendermime = options.rendermime;\n this.sessionContext = options.sessionContext;\n this._mimeTypeService = options.mimeTypeService;\n // Add top-level CSS classes.\n this._content.addClass(CONTENT_CLASS);\n this._input.addClass(INPUT_CLASS);\n layout.addWidget(this._splitPanel);\n // initialize the console with defaults\n this.setConfig({\n clearCellsOnExecute: false,\n clearCodeContentOnExecute: true,\n hideCodeInput: false,\n promptCellPosition: 'bottom',\n showBanner: true\n });\n this._history = new _history__WEBPACK_IMPORTED_MODULE_10__.ConsoleHistory({\n sessionContext: this.sessionContext\n });\n void this._onKernelChanged();\n this.sessionContext.kernelChanged.connect(this._onKernelChanged, this);\n this.sessionContext.statusChanged.connect(this._onKernelStatusChanged, this);\n }\n /**\n * A signal emitted when the console finished executing its prompt cell.\n */\n get executed() {\n return this._executed;\n }\n /**\n * A signal emitted when a new prompt cell is created.\n */\n get promptCellCreated() {\n return this._promptCellCreated;\n }\n /**\n * The list of content cells in the console.\n *\n * #### Notes\n * This list does not include the current banner or the prompt for a console.\n * It may include previous banners as raw cells.\n */\n get cells() {\n return this._cells;\n }\n /*\n * The console input prompt cell.\n */\n get promptCell() {\n const inputLayout = this._input.layout;\n return inputLayout.widgets[0] || null;\n }\n /**\n * Add a new cell to the content panel.\n *\n * @param cell - The code cell widget being added to the content panel.\n *\n * @param msgId - The optional execution message id for the cell.\n *\n * #### Notes\n * This method is meant for use by outside classes that want to add cells to a\n * console. It is distinct from the `inject` method in that it requires\n * rendered code cell widgets and does not execute them (though it can store\n * the execution message id).\n */\n addCell(cell, msgId) {\n if (this._config.clearCellsOnExecute) {\n this.clear();\n }\n cell.addClass(CONSOLE_CELL_CLASS);\n this._content.addWidget(cell);\n this._cells.push(cell);\n if (msgId) {\n this._msgIds.set(msgId, cell);\n this._msgIdCells.set(cell, msgId);\n }\n cell.disposed.connect(this._onCellDisposed, this);\n this.update();\n }\n /**\n * Add a banner cell.\n */\n addBanner() {\n if (this._banner) {\n // An old banner just becomes a normal cell now.\n const cell = this._banner;\n this._cells.push(this._banner);\n cell.disposed.connect(this._onCellDisposed, this);\n }\n // Create the banner.\n const model = this.modelFactory.createRawCell({\n sharedModel: (0,_jupyter_ydoc__WEBPACK_IMPORTED_MODULE_0__.createStandaloneCell)({\n cell_type: 'raw',\n source: '...'\n })\n });\n const banner = (this._banner = new _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.RawCell({\n model,\n contentFactory: this.contentFactory,\n placeholder: false,\n editorConfig: {\n autoClosingBrackets: false,\n codeFolding: false,\n highlightActiveLine: false,\n highlightTrailingWhitespace: false,\n highlightWhitespace: false,\n indentUnit: '4',\n lineNumbers: false,\n lineWrap: true,\n matchBrackets: false,\n readOnly: true,\n rulers: [],\n scrollPastEnd: false,\n smartIndent: false,\n tabSize: 4,\n theme: 'jupyter'\n }\n })).initializeState();\n banner.addClass(BANNER_CLASS);\n banner.readOnly = true;\n this._content.addWidget(banner);\n }\n /**\n * Clear the code cells.\n */\n clear() {\n // Dispose all the content cells\n const cells = this._cells;\n while (cells.length > 0) {\n cells.get(0).dispose();\n }\n }\n /**\n * Create a new cell with the built-in factory.\n */\n createCodeCell() {\n const factory = this.contentFactory;\n const options = this._createCodeCellOptions();\n const cell = factory.createCodeCell(options);\n cell.readOnly = true;\n cell.model.mimeType = this._mimetype;\n return cell;\n }\n /**\n * Dispose of the resources held by the widget.\n */\n dispose() {\n // Do nothing if already disposed.\n if (this.isDisposed) {\n return;\n }\n this._msgIdCells = null;\n this._msgIds = null;\n this._history.dispose();\n super.dispose();\n }\n /**\n * Execute the current prompt.\n *\n * @param force - Whether to force execution without checking code\n * completeness.\n *\n * @param timeout - The length of time, in milliseconds, that the execution\n * should wait for the API to determine whether code being submitted is\n * incomplete before attempting submission anyway. The default value is `250`.\n */\n async execute(force = false, timeout = EXECUTION_TIMEOUT) {\n var _a, _b;\n if (((_b = (_a = this.sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.status) === 'dead') {\n return;\n }\n const promptCell = this.promptCell;\n if (!promptCell) {\n throw new Error('Cannot execute without a prompt cell');\n }\n promptCell.model.trusted = true;\n if (force) {\n // Create a new prompt cell before kernel execution to allow typeahead.\n this.newPromptCell();\n await this._execute(promptCell);\n return;\n }\n // Check whether we should execute.\n const shouldExecute = await this._shouldExecute(timeout);\n if (this.isDisposed) {\n return;\n }\n if (shouldExecute) {\n // Create a new prompt cell before kernel execution to allow typeahead.\n this.newPromptCell();\n this.promptCell.editor.focus();\n await this._execute(promptCell);\n }\n else {\n // add a newline if we shouldn't execute\n promptCell.editor.newIndentedLine();\n }\n }\n /**\n * Get a cell given a message id.\n *\n * @param msgId - The message id.\n */\n getCell(msgId) {\n return this._msgIds.get(msgId);\n }\n /**\n * Inject arbitrary code for the console to execute immediately.\n *\n * @param code - The code contents of the cell being injected.\n *\n * @returns A promise that indicates when the injected cell's execution ends.\n */\n inject(code, metadata = {}) {\n const cell = this.createCodeCell();\n cell.model.sharedModel.setSource(code);\n for (const key of Object.keys(metadata)) {\n cell.model.setMetadata(key, metadata[key]);\n }\n this.addCell(cell);\n return this._execute(cell);\n }\n /**\n * Insert a line break in the prompt cell.\n */\n insertLinebreak() {\n const promptCell = this.promptCell;\n if (!promptCell) {\n return;\n }\n promptCell.editor.newIndentedLine();\n }\n /**\n * Replaces the selected text in the prompt cell.\n *\n * @param text - The text to replace the selection.\n */\n replaceSelection(text) {\n var _a, _b;\n const promptCell = this.promptCell;\n if (!promptCell) {\n return;\n }\n (_b = (_a = promptCell.editor).replaceSelection) === null || _b === void 0 ? void 0 : _b.call(_a, text);\n }\n /**\n * Set configuration options for the console.\n */\n setConfig(config) {\n const { clearCellsOnExecute, clearCodeContentOnExecute, hideCodeInput, promptCellPosition, showBanner } = config;\n this._config = {\n clearCellsOnExecute: clearCellsOnExecute !== null && clearCellsOnExecute !== void 0 ? clearCellsOnExecute : this._config.clearCellsOnExecute,\n clearCodeContentOnExecute: clearCodeContentOnExecute !== null && clearCodeContentOnExecute !== void 0 ? clearCodeContentOnExecute : this._config.clearCodeContentOnExecute,\n hideCodeInput: hideCodeInput !== null && hideCodeInput !== void 0 ? hideCodeInput : this._config.hideCodeInput,\n promptCellPosition: promptCellPosition !== null && promptCellPosition !== void 0 ? promptCellPosition : this._config.promptCellPosition,\n showBanner: showBanner !== null && showBanner !== void 0 ? showBanner : this._config.showBanner\n };\n this._updateLayout();\n }\n /**\n * Serialize the output.\n *\n * #### Notes\n * This only serializes the code cells and the prompt cell if it exists, and\n * skips any old banner cells.\n */\n serialize() {\n const cells = [];\n for (const cell of this._cells) {\n const model = cell.model;\n if ((0,_jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.isCodeCellModel)(model)) {\n cells.push(model.toJSON());\n }\n }\n if (this.promptCell) {\n cells.push(this.promptCell.model.toJSON());\n }\n return cells;\n }\n /**\n * Handle `mousedown` events for the widget.\n */\n _evtMouseDown(event) {\n const { button, shiftKey } = event;\n // We only handle main or secondary button actions.\n if (!(button === 0 || button === 2) ||\n // Shift right-click gives the browser default behavior.\n (shiftKey && button === 2)) {\n return;\n }\n let target = event.target;\n const cellFilter = (node) => node.classList.contains(CONSOLE_CELL_CLASS);\n let cellIndex = _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.CellDragUtils.findCell(target, this._cells, cellFilter);\n if (cellIndex === -1) {\n // `event.target` sometimes gives an orphaned node in\n // Firefox 57, which can have `null` anywhere in its parent line. If we fail\n // to find a cell using `event.target`, try again using a target\n // reconstructed from the position of the click event.\n target = document.elementFromPoint(event.clientX, event.clientY);\n cellIndex = _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.CellDragUtils.findCell(target, this._cells, cellFilter);\n }\n if (cellIndex === -1) {\n return;\n }\n const cell = this._cells.get(cellIndex);\n const targetArea = _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.CellDragUtils.detectTargetArea(cell, event.target);\n if (targetArea === 'prompt') {\n this._dragData = {\n pressX: event.clientX,\n pressY: event.clientY,\n index: cellIndex\n };\n this._focusedCell = cell;\n document.addEventListener('mouseup', this, true);\n document.addEventListener('mousemove', this, true);\n event.preventDefault();\n }\n }\n /**\n * Handle `mousemove` event of widget\n */\n _evtMouseMove(event) {\n const data = this._dragData;\n if (data &&\n _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.CellDragUtils.shouldStartDrag(data.pressX, data.pressY, event.clientX, event.clientY)) {\n void this._startDrag(data.index, event.clientX, event.clientY);\n }\n }\n /**\n * Start a drag event\n */\n _startDrag(index, clientX, clientY) {\n const cellModel = this._focusedCell.model;\n const selected = [cellModel.toJSON()];\n const dragImage = _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.CellDragUtils.createCellDragImage(this._focusedCell, selected);\n this._drag = new _lumino_dragdrop__WEBPACK_IMPORTED_MODULE_6__.Drag({\n mimeData: new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__.MimeData(),\n dragImage,\n proposedAction: 'copy',\n supportedActions: 'copy',\n source: this\n });\n this._drag.mimeData.setData(JUPYTER_CELL_MIME, selected);\n const textContent = cellModel.sharedModel.getSource();\n this._drag.mimeData.setData('text/plain', textContent);\n this._focusedCell = null;\n document.removeEventListener('mousemove', this, true);\n document.removeEventListener('mouseup', this, true);\n return this._drag.start(clientX, clientY).then(() => {\n if (this.isDisposed) {\n return;\n }\n this._drag = null;\n this._dragData = null;\n });\n }\n /**\n * Handle the DOM events for the widget.\n *\n * @param event -The DOM event sent to the widget.\n *\n * #### Notes\n * This method implements the DOM `EventListener` interface and is\n * called in response to events on the notebook panel's node. It should\n * not be called directly by user code.\n */\n handleEvent(event) {\n switch (event.type) {\n case 'keydown':\n this._evtKeyDown(event);\n break;\n case 'mousedown':\n this._evtMouseDown(event);\n break;\n case 'mousemove':\n this._evtMouseMove(event);\n break;\n case 'mouseup':\n this._evtMouseUp(event);\n break;\n case 'resize':\n this._splitPanel.fit();\n break;\n case 'focusin':\n this._evtFocusIn(event);\n break;\n case 'focusout':\n this._evtFocusOut(event);\n break;\n default:\n break;\n }\n }\n /**\n * Handle `after_attach` messages for the widget.\n */\n onAfterAttach(msg) {\n const node = this.node;\n node.addEventListener('keydown', this, true);\n node.addEventListener('click', this);\n node.addEventListener('mousedown', this);\n node.addEventListener('focusin', this);\n node.addEventListener('focusout', this);\n // Create a prompt if necessary.\n if (!this.promptCell) {\n this.newPromptCell();\n }\n else {\n this.promptCell.editor.focus();\n this.update();\n }\n }\n /**\n * Handle `before-detach` messages for the widget.\n */\n onBeforeDetach(msg) {\n const node = this.node;\n node.removeEventListener('keydown', this, true);\n node.removeEventListener('click', this);\n node.removeEventListener('focusin', this);\n node.removeEventListener('focusout', this);\n }\n /**\n * Handle `'activate-request'` messages.\n */\n onActivateRequest(msg) {\n const editor = this.promptCell && this.promptCell.editor;\n if (editor) {\n editor.focus();\n }\n this.update();\n }\n /**\n * Make a new prompt cell.\n */\n newPromptCell() {\n var _a, _b, _c, _d, _e;\n let promptCell = this.promptCell;\n const input = this._input;\n const previousContent = (_a = promptCell === null || promptCell === void 0 ? void 0 : promptCell.model.sharedModel.getSource()) !== null && _a !== void 0 ? _a : '';\n const previousCursorPosition = (_b = promptCell === null || promptCell === void 0 ? void 0 : promptCell.editor) === null || _b === void 0 ? void 0 : _b.getCursorPosition();\n // Make the last prompt read-only, clear its signals, and move to content.\n if (promptCell) {\n promptCell.readOnly = true;\n promptCell.removeClass(PROMPT_CLASS);\n // Schedule execution of signal clearance to happen later so that\n // the `readOnly` configuration gets updated before editor signals\n // get disconnected (see `Cell.onUpdateRequest`).\n const oldCell = promptCell;\n requestIdleCallback(() => {\n // Clear the signals to avoid memory leaks\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__.Signal.clearData(oldCell.editor);\n });\n // Ensure to clear the cursor\n (_c = promptCell.editor) === null || _c === void 0 ? void 0 : _c.blur();\n const child = input.widgets[0];\n child.parent = null;\n if (this._config.hideCodeInput) {\n (_d = promptCell.inputArea) === null || _d === void 0 ? void 0 : _d.setHidden(true);\n }\n this.addCell(promptCell);\n }\n // Create the new prompt cell.\n const factory = this.contentFactory;\n const options = this._createCodeCellOptions();\n promptCell = factory.createCodeCell(options);\n promptCell.model.mimeType = this._mimetype;\n promptCell.addClass(PROMPT_CLASS);\n // Add the prompt cell to the DOM, making `this.promptCell` valid again.\n this._input.addWidget(promptCell);\n this._history.editor = promptCell.editor;\n if (!this._config.clearCodeContentOnExecute) {\n promptCell.model.sharedModel.setSource(previousContent);\n if (previousCursorPosition) {\n (_e = promptCell.editor) === null || _e === void 0 ? void 0 : _e.setCursorPosition(previousCursorPosition);\n }\n }\n this._promptCellCreated.emit(promptCell);\n }\n /**\n * Handle `update-request` messages.\n */\n onUpdateRequest(msg) {\n Private.scrollToBottom(this._content.node);\n }\n /**\n * Handle the `'keydown'` event for the widget.\n */\n _evtKeyDown(event) {\n const editor = this.promptCell && this.promptCell.editor;\n if (!editor) {\n return;\n }\n if (event.keyCode === 13 && !editor.hasFocus()) {\n event.preventDefault();\n editor.focus();\n }\n else if (event.keyCode === 27 && editor.hasFocus()) {\n // Set to command mode\n event.preventDefault();\n event.stopPropagation();\n this.node.focus();\n }\n }\n /**\n * Handle the `'mouseup'` event for the widget.\n */\n _evtMouseUp(event) {\n if (this.promptCell &&\n this.promptCell.node.contains(event.target)) {\n this.promptCell.editor.focus();\n }\n }\n /**\n * Handle `focus` events for the widget.\n */\n _evtFocusIn(event) {\n // Update read-write class state.\n this._updateReadWrite();\n }\n /**\n * Handle `focusout` events for the widget.\n */\n _evtFocusOut(event) {\n // Update read-write class state.\n this._updateReadWrite();\n }\n /**\n * Execute the code in the current prompt cell.\n */\n async _execute(cell) {\n const source = cell.model.sharedModel.getSource();\n this._history.push(source);\n // If the source of the console is just \"clear\", clear the console as we\n // do in IPython or QtConsole.\n if (source === 'clear' || source === '%clear') {\n this.clear();\n return Promise.resolve(void 0);\n }\n cell.model.contentChanged.connect(this.update, this);\n const options = {\n cell,\n sessionContext: this.sessionContext,\n onCellExecuted: (args) => {\n this._executed.emit(args.executionDate);\n if (args.error) {\n for (const cell of this._cells) {\n if (cell.model.executionCount === null) {\n cell.model.executionState = 'idle';\n }\n }\n }\n }\n };\n try {\n await this._executor.runCell(options);\n }\n finally {\n if (!this.isDisposed) {\n cell.model.contentChanged.disconnect(this.update, this);\n this.update();\n }\n }\n }\n /**\n * Update the console based on the kernel info.\n */\n _handleInfo(info) {\n if (info.status !== 'ok') {\n if (this._banner) {\n this._banner.model.sharedModel.setSource('Error in getting kernel banner');\n }\n return;\n }\n if (this._banner) {\n this._banner.model.sharedModel.setSource(info.banner);\n }\n const lang = info.language_info;\n this._mimetype = this._mimeTypeService.getMimeTypeByLanguage(lang);\n if (this.promptCell) {\n this.promptCell.model.mimeType = this._mimetype;\n }\n }\n /**\n * Create the options used to initialize a code cell widget.\n */\n _createCodeCellOptions() {\n const contentFactory = this.contentFactory;\n const modelFactory = this.modelFactory;\n const model = modelFactory.createCodeCell({});\n const rendermime = this.rendermime;\n const editorConfig = this.editorConfig;\n return {\n model,\n rendermime,\n contentFactory,\n editorConfig,\n placeholder: false,\n translator: this._translator\n };\n }\n /**\n * Handle cell disposed signals.\n */\n _onCellDisposed(sender, args) {\n if (!this.isDisposed) {\n this._cells.removeValue(sender);\n const msgId = this._msgIdCells.get(sender);\n if (msgId) {\n this._msgIdCells.delete(sender);\n this._msgIds.delete(msgId);\n }\n }\n }\n /**\n * Test whether we should execute the prompt cell.\n */\n _shouldExecute(timeout) {\n const promptCell = this.promptCell;\n if (!promptCell) {\n return Promise.resolve(false);\n }\n const model = promptCell.model;\n const code = model.sharedModel.getSource();\n return new Promise((resolve, reject) => {\n var _a;\n const timer = setTimeout(() => {\n resolve(true);\n }, timeout);\n const kernel = (_a = this.sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel;\n if (!kernel) {\n resolve(false);\n return;\n }\n kernel\n .requestIsComplete({ code })\n .then(isComplete => {\n clearTimeout(timer);\n if (this.isDisposed) {\n resolve(false);\n }\n if (isComplete.content.status !== 'incomplete') {\n resolve(true);\n return;\n }\n resolve(false);\n })\n .catch(() => {\n resolve(true);\n });\n });\n }\n /**\n * Handle a change to the kernel.\n */\n async _onKernelChanged() {\n var _a;\n this.clear();\n if (this._banner) {\n this._banner.dispose();\n this._banner = null;\n }\n if (this._config.showBanner) {\n this.addBanner();\n }\n if ((_a = this.sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel) {\n this._handleInfo(await this.sessionContext.session.kernel.info);\n }\n }\n /**\n * Handle a change to the kernel status.\n */\n async _onKernelStatusChanged() {\n var _a;\n const kernel = (_a = this.sessionContext.session) === null || _a === void 0 ? void 0 : _a.kernel;\n if ((kernel === null || kernel === void 0 ? void 0 : kernel.status) === 'restarting') {\n if (this._config.showBanner) {\n this.addBanner();\n }\n this._handleInfo(await (kernel === null || kernel === void 0 ? void 0 : kernel.info));\n }\n }\n /**\n * Update the console node with class indicating read-write state.\n */\n _updateReadWrite() {\n // TODO: de-duplicate with code in notebook/src/widget.ts\n const inReadWrite = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.DOMUtils.hasActiveEditableElement(this.node);\n this.node.classList.toggle(READ_WRITE_CLASS, inReadWrite);\n }\n /**\n * Update the layout of the code console.\n */\n _updateLayout() {\n const { promptCellPosition = 'bottom' } = this._config;\n this._splitPanel.orientation = ['left', 'right'].includes(promptCellPosition)\n ? 'horizontal'\n : 'vertical';\n // Insert the content and input panes into the widget.\n _lumino_widgets__WEBPACK_IMPORTED_MODULE_8__.SplitPanel.setStretch(this._content, 1);\n _lumino_widgets__WEBPACK_IMPORTED_MODULE_8__.SplitPanel.setStretch(this._input, 1);\n if (promptCellPosition === 'bottom' || promptCellPosition === 'right') {\n this._splitPanel.insertWidget(0, this._content);\n this._splitPanel.insertWidget(1, this._input);\n }\n else {\n this._splitPanel.insertWidget(0, this._input);\n this._splitPanel.insertWidget(1, this._content);\n }\n // Default relative sizes\n let sizes = [1, 1];\n if (promptCellPosition === 'top') {\n sizes = [1, 100];\n }\n else if (promptCellPosition === 'bottom') {\n sizes = [100, 1];\n }\n this._splitPanel.setRelativeSizes(sizes);\n }\n}\n/**\n * A namespace for CodeConsole statics.\n */\n(function (CodeConsole) {\n /**\n * Default console editor configuration\n */\n CodeConsole.defaultEditorConfig = {\n codeFolding: false,\n lineNumbers: false\n };\n /**\n * Default implementation of `IContentFactory`.\n */\n class ContentFactory extends _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.Cell.ContentFactory {\n /**\n * Create a new code cell widget.\n *\n * #### Notes\n * If no cell content factory is passed in with the options, the one on the\n * notebook content factory is used.\n */\n createCodeCell(options) {\n return new _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.CodeCell(options).initializeState();\n }\n /**\n * Create a new raw cell widget.\n *\n * #### Notes\n * If no cell content factory is passed in with the options, the one on the\n * notebook content factory is used.\n */\n createRawCell(options) {\n return new _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.RawCell(options).initializeState();\n }\n }\n CodeConsole.ContentFactory = ContentFactory;\n /**\n * The default implementation of an `IModelFactory`.\n */\n class ModelFactory {\n /**\n * Create a new cell model factory.\n */\n constructor(options = {}) {\n this.codeCellContentFactory =\n options.codeCellContentFactory || _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.CodeCellModel.defaultContentFactory;\n }\n /**\n * Create a new code cell.\n * @param options - The data to use for the original source data.\n * @returns A new code cell. If a source cell is provided, the\n new cell will be initialized with the data from the source.\n If the contentFactory is not provided, the instance\n `codeCellContentFactory` will be used.\n */\n createCodeCell(options = {}) {\n if (!options.contentFactory) {\n options.contentFactory = this.codeCellContentFactory;\n }\n return new _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.CodeCellModel(options);\n }\n /**\n * Create a new raw cell.\n * @param options - The data to use for the original source data.\n * @returns A new raw cell. If a source cell is provided, the\n new cell will be initialized with the data from the source.\n */\n createRawCell(options) {\n return new _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.RawCellModel(options);\n }\n }\n CodeConsole.ModelFactory = ModelFactory;\n /**\n * The default `ModelFactory` instance.\n */\n CodeConsole.defaultModelFactory = new ModelFactory({});\n})(CodeConsole || (CodeConsole = {}));\n/**\n * A namespace for console widget private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Jump to the bottom of a node.\n *\n * @param node - The scrollable element.\n */\n function scrollToBottom(node) {\n node.scrollTop = node.scrollHeight - node.clientHeight;\n }\n Private.scrollToBottom = scrollToBottom;\n})(Private || (Private = {}));\n//# sourceMappingURL=widget.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console/lib/widget.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/console/style/index.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/console/style/index.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_rendermime_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/rendermime/style/index.js */ \"../node_modules/@jupyterlab/rendermime/style/index.js\");\n/* harmony import */ var _lumino_dragdrop_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/dragdrop/style/index.js */ \"../node_modules/@lumino/dragdrop/style/index.js\");\n/* harmony import */ var _jupyterlab_codeeditor_style_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/codeeditor/style/index.js */ \"../node_modules/@jupyterlab/codeeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_cells_style_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/cells/style/index.js */ \"../node_modules/@jupyterlab/cells/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/console/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/console/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/activitymonitor.js":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/activitymonitor.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+eval("\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.ActivityMonitor = void 0;\nconst signaling_1 = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/**\n * A class that monitors activity on a signal.\n */\nclass ActivityMonitor {\n /**\n * Construct a new activity monitor.\n */\n constructor(options) {\n this._timer = -1;\n this._timeout = -1;\n this._isDisposed = false;\n this._activityStopped = new signaling_1.Signal(this);\n options.signal.connect(this._onSignalFired, this);\n this._timeout = options.timeout || 1000;\n }\n /**\n * A signal emitted when activity has ceased.\n */\n get activityStopped() {\n return this._activityStopped;\n }\n /**\n * The timeout associated with the monitor, in milliseconds.\n */\n get timeout() {\n return this._timeout;\n }\n set timeout(value) {\n this._timeout = value;\n }\n /**\n * Test whether the monitor has been disposed.\n *\n * #### Notes\n * This is a read-only property.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources used by the activity monitor.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n signaling_1.Signal.clearData(this);\n }\n /**\n * A signal handler for the monitored signal.\n */\n _onSignalFired(sender, args) {\n clearTimeout(this._timer);\n this._sender = sender;\n this._args = args;\n this._timer = setTimeout(() => {\n this._activityStopped.emit({\n sender: this._sender,\n args: this._args\n });\n }, this._timeout);\n }\n}\nexports.ActivityMonitor = ActivityMonitor;\n//# sourceMappingURL=activitymonitor.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/activitymonitor.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/index.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/index.js ***!
+ \**********************************************************/
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+eval("\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module coreutils\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n__exportStar(__webpack_require__(/*! ./activitymonitor */ \"../node_modules/@jupyterlab/coreutils/lib/activitymonitor.js\"), exports);\n__exportStar(__webpack_require__(/*! ./interfaces */ \"../node_modules/@jupyterlab/coreutils/lib/interfaces.js\"), exports);\n__exportStar(__webpack_require__(/*! ./lru */ \"../node_modules/@jupyterlab/coreutils/lib/lru.js\"), exports);\n__exportStar(__webpack_require__(/*! ./markdowncodeblocks */ \"../node_modules/@jupyterlab/coreutils/lib/markdowncodeblocks.js\"), exports);\n__exportStar(__webpack_require__(/*! ./pageconfig */ \"../node_modules/@jupyterlab/coreutils/lib/pageconfig.js\"), exports);\n__exportStar(__webpack_require__(/*! ./path */ \"../node_modules/@jupyterlab/coreutils/lib/path.js\"), exports);\n__exportStar(__webpack_require__(/*! ./signal */ \"../node_modules/@jupyterlab/coreutils/lib/signal.js\"), exports);\n__exportStar(__webpack_require__(/*! ./text */ \"../node_modules/@jupyterlab/coreutils/lib/text.js\"), exports);\n__exportStar(__webpack_require__(/*! ./time */ \"../node_modules/@jupyterlab/coreutils/lib/time.js\"), exports);\n__exportStar(__webpack_require__(/*! ./url */ \"../node_modules/@jupyterlab/coreutils/lib/url.js\"), exports);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/interfaces.js":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/interfaces.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+eval("\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n//# sourceMappingURL=interfaces.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/interfaces.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/lru.js":
+/*!********************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/lru.js ***!
+ \********************************************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+eval("\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.LruCache = void 0;\nconst DEFAULT_MAX_SIZE = 128;\n/** A least-recently-used cache. */\nclass LruCache {\n constructor(options = {}) {\n this._map = new Map();\n this._maxSize = (options === null || options === void 0 ? void 0 : options.maxSize) || DEFAULT_MAX_SIZE;\n }\n /**\n * Return the current size of the cache.\n */\n get size() {\n return this._map.size;\n }\n /**\n * Clear the values in the cache.\n */\n clear() {\n this._map.clear();\n }\n /**\n * Get a value (or null) from the cache, pushing the item to the front of the cache.\n */\n get(key) {\n const item = this._map.get(key) || null;\n if (item != null) {\n this._map.delete(key);\n this._map.set(key, item);\n }\n return item;\n }\n /**\n * Set a value in the cache, potentially evicting an old item.\n */\n set(key, value) {\n if (this._map.size >= this._maxSize) {\n this._map.delete(this._map.keys().next().value);\n }\n this._map.set(key, value);\n }\n}\nexports.LruCache = LruCache;\n//# sourceMappingURL=lru.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/lru.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/markdowncodeblocks.js":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/markdowncodeblocks.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+eval("\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.MarkdownCodeBlocks = void 0;\n/**\n * The namespace for code block functions which help\n * in extract code from markdown text\n */\nvar MarkdownCodeBlocks;\n(function (MarkdownCodeBlocks) {\n MarkdownCodeBlocks.CODE_BLOCK_MARKER = '```';\n const markdownExtensions = [\n '.markdown',\n '.mdown',\n '.mkdn',\n '.md',\n '.mkd',\n '.mdwn',\n '.mdtxt',\n '.mdtext',\n '.text',\n '.txt',\n '.Rmd'\n ];\n class MarkdownCodeBlock {\n constructor(startLine) {\n this.startLine = startLine;\n this.code = '';\n this.endLine = -1;\n }\n }\n MarkdownCodeBlocks.MarkdownCodeBlock = MarkdownCodeBlock;\n /**\n * Check whether the given file extension is a markdown extension\n * @param extension - A file extension\n *\n * @returns true/false depending on whether this is a supported markdown extension\n */\n function isMarkdown(extension) {\n return markdownExtensions.indexOf(extension) > -1;\n }\n MarkdownCodeBlocks.isMarkdown = isMarkdown;\n /**\n * Construct all code snippets from current text\n * (this could be potentially optimized if we can cache and detect differences)\n * @param text - A string to parse codeblocks from\n *\n * @returns An array of MarkdownCodeBlocks.\n */\n function findMarkdownCodeBlocks(text) {\n if (!text || text === '') {\n return [];\n }\n const lines = text.split('\\n');\n const codeBlocks = [];\n let currentBlock = null;\n for (let lineIndex = 0; lineIndex < lines.length; lineIndex++) {\n const line = lines[lineIndex];\n const lineContainsMarker = line.indexOf(MarkdownCodeBlocks.CODE_BLOCK_MARKER) === 0;\n const constructingBlock = currentBlock != null;\n // Skip this line if it is not part of any code block and doesn't contain a marker.\n if (!lineContainsMarker && !constructingBlock) {\n continue;\n }\n // Check if we are already constructing a code block.\n if (!constructingBlock) {\n // Start constructing a new code block.\n currentBlock = new MarkdownCodeBlock(lineIndex);\n // Check whether this is a single line code block of the form ```a = 10```.\n const firstIndex = line.indexOf(MarkdownCodeBlocks.CODE_BLOCK_MARKER);\n const lastIndex = line.lastIndexOf(MarkdownCodeBlocks.CODE_BLOCK_MARKER);\n const isSingleLine = firstIndex !== lastIndex;\n if (isSingleLine) {\n currentBlock.code = line.substring(firstIndex + MarkdownCodeBlocks.CODE_BLOCK_MARKER.length, lastIndex);\n currentBlock.endLine = lineIndex;\n codeBlocks.push(currentBlock);\n currentBlock = null;\n }\n }\n else if (currentBlock) {\n if (lineContainsMarker) {\n // End of block, finish it up.\n currentBlock.endLine = lineIndex - 1;\n codeBlocks.push(currentBlock);\n currentBlock = null;\n }\n else {\n // Append the current line.\n currentBlock.code += line + '\\n';\n }\n }\n }\n return codeBlocks;\n }\n MarkdownCodeBlocks.findMarkdownCodeBlocks = findMarkdownCodeBlocks;\n})(MarkdownCodeBlocks || (exports.MarkdownCodeBlocks = MarkdownCodeBlocks = {}));\n//# sourceMappingURL=markdowncodeblocks.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/markdowncodeblocks.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/pageconfig.js":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/pageconfig.js ***!
+ \***************************************************************/
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+eval("/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"../node_modules/process/browser.js\");\n\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PageConfig = void 0;\nconst coreutils_1 = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\nconst minimist_1 = __importDefault(__webpack_require__(/*! minimist */ \"../node_modules/minimist/index.js\"));\nconst url_1 = __webpack_require__(/*! ./url */ \"../node_modules/@jupyterlab/coreutils/lib/url.js\");\n/**\n * The namespace for `PageConfig` functions.\n */\nvar PageConfig;\n(function (PageConfig) {\n /**\n * Get global configuration data for the Jupyter application.\n *\n * @param name - The name of the configuration option.\n *\n * @returns The config value or an empty string if not found.\n *\n * #### Notes\n * All values are treated as strings.\n * For browser based applications, it is assumed that the page HTML\n * includes a script tag with the id `jupyter-config-data` containing the\n * configuration as valid JSON. In order to support the classic Notebook,\n * we fall back on checking for `body` data of the given `name`.\n *\n * For node applications, it is assumed that the process was launched\n * with a `--jupyter-config-data` option pointing to a JSON settings\n * file.\n */\n function getOption(name) {\n if (configData) {\n return configData[name] || getBodyData(name);\n }\n configData = Object.create(null);\n let found = false;\n // Use script tag if available.\n if (typeof document !== 'undefined' && document) {\n const el = document.getElementById('jupyter-config-data');\n if (el) {\n configData = JSON.parse(el.textContent || '');\n found = true;\n }\n }\n // Otherwise use CLI if given.\n if (!found && typeof process !== 'undefined' && process.argv) {\n try {\n const cli = (0, minimist_1.default)(process.argv.slice(2));\n const path = __webpack_require__(/*! path */ \"../node_modules/path-browserify/index.js\");\n let fullPath = '';\n if ('jupyter-config-data' in cli) {\n fullPath = path.resolve(cli['jupyter-config-data']);\n }\n else if ('JUPYTER_CONFIG_DATA' in process.env) {\n fullPath = path.resolve(process.env['JUPYTER_CONFIG_DATA']);\n }\n if (fullPath) {\n // Force Webpack to ignore this require.\n // eslint-disable-next-line\n configData = eval('require')(fullPath);\n }\n }\n catch (e) {\n console.error(e);\n }\n }\n if (!coreutils_1.JSONExt.isObject(configData)) {\n configData = Object.create(null);\n }\n else {\n for (const key in configData) {\n // PageConfig expects strings\n if (typeof configData[key] !== 'string') {\n configData[key] = JSON.stringify(configData[key]);\n }\n }\n }\n return configData[name] || getBodyData(name);\n }\n PageConfig.getOption = getOption;\n /**\n * Set global configuration data for the Jupyter application.\n *\n * @param name - The name of the configuration option.\n * @param value - The value to set the option to.\n *\n * @returns The last config value or an empty string if it doesn't exist.\n */\n function setOption(name, value) {\n const last = getOption(name);\n configData[name] = value;\n return last;\n }\n PageConfig.setOption = setOption;\n /**\n * Get the base url for a Jupyter application, or the base url of the page.\n */\n function getBaseUrl() {\n return url_1.URLExt.normalize(getOption('baseUrl') || '/');\n }\n PageConfig.getBaseUrl = getBaseUrl;\n /**\n * Get the tree url for a JupyterLab application.\n */\n function getTreeUrl() {\n return url_1.URLExt.join(getBaseUrl(), getOption('treeUrl'));\n }\n PageConfig.getTreeUrl = getTreeUrl;\n /**\n * Get the base url for sharing links (usually baseUrl)\n */\n function getShareUrl() {\n return url_1.URLExt.normalize(getOption('shareUrl') || getBaseUrl());\n }\n PageConfig.getShareUrl = getShareUrl;\n /**\n * Get the tree url for shareable links.\n * Usually the same as treeUrl,\n * but overridable e.g. when sharing with JupyterHub.\n */\n function getTreeShareUrl() {\n return url_1.URLExt.normalize(url_1.URLExt.join(getShareUrl(), getOption('treeUrl')));\n }\n PageConfig.getTreeShareUrl = getTreeShareUrl;\n /**\n * Create a new URL given an optional mode and tree path.\n *\n * This is used to create URLS when the mode or tree path change as the user\n * changes mode or the current document in the main area. If fields in\n * options are omitted, the value in PageConfig will be used.\n *\n * @param options - IGetUrlOptions for the new path.\n */\n function getUrl(options) {\n var _a, _b, _c, _d;\n let path = options.toShare ? getShareUrl() : getBaseUrl();\n const mode = (_a = options.mode) !== null && _a !== void 0 ? _a : getOption('mode');\n const workspace = (_b = options.workspace) !== null && _b !== void 0 ? _b : getOption('workspace');\n const labOrDoc = mode === 'single-document' ? 'doc' : 'lab';\n path = url_1.URLExt.join(path, labOrDoc);\n if (workspace !== PageConfig.defaultWorkspace) {\n path = url_1.URLExt.join(path, 'workspaces', encodeURIComponent((_c = getOption('workspace')) !== null && _c !== void 0 ? _c : PageConfig.defaultWorkspace));\n }\n const treePath = (_d = options.treePath) !== null && _d !== void 0 ? _d : getOption('treePath');\n if (treePath) {\n path = url_1.URLExt.join(path, 'tree', url_1.URLExt.encodeParts(treePath));\n }\n return path;\n }\n PageConfig.getUrl = getUrl;\n PageConfig.defaultWorkspace = 'default';\n /**\n * Get the base websocket url for a Jupyter application, or an empty string.\n */\n function getWsUrl(baseUrl) {\n let wsUrl = getOption('wsUrl');\n if (!wsUrl) {\n baseUrl = baseUrl ? url_1.URLExt.normalize(baseUrl) : getBaseUrl();\n if (baseUrl.indexOf('http') !== 0) {\n return '';\n }\n wsUrl = 'ws' + baseUrl.slice(4);\n }\n return url_1.URLExt.normalize(wsUrl);\n }\n PageConfig.getWsUrl = getWsUrl;\n /**\n * Returns the URL converting this notebook to a certain\n * format with nbconvert.\n */\n function getNBConvertURL({ path, format, download }) {\n const notebookPath = url_1.URLExt.encodeParts(path);\n const url = url_1.URLExt.join(getBaseUrl(), 'nbconvert', format, notebookPath);\n if (download) {\n return url + '?download=true';\n }\n return url;\n }\n PageConfig.getNBConvertURL = getNBConvertURL;\n /**\n * Get the authorization token for a Jupyter application.\n */\n function getToken() {\n return getOption('token') || getBodyData('jupyterApiToken');\n }\n PageConfig.getToken = getToken;\n /**\n * Get the Notebook version info [major, minor, patch].\n */\n function getNotebookVersion() {\n const notebookVersion = getOption('notebookVersion');\n if (notebookVersion === '') {\n return [0, 0, 0];\n }\n return JSON.parse(notebookVersion);\n }\n PageConfig.getNotebookVersion = getNotebookVersion;\n /**\n * Private page config data for the Jupyter application.\n */\n let configData = null;\n /**\n * Get a url-encoded item from `body.data` and decode it\n * We should never have any encoded URLs anywhere else in code\n * until we are building an actual request.\n */\n function getBodyData(key) {\n if (typeof document === 'undefined' || !document.body) {\n return '';\n }\n const val = document.body.dataset[key];\n if (typeof val === 'undefined') {\n return '';\n }\n return decodeURIComponent(val);\n }\n /**\n * The namespace for page config `Extension` functions.\n */\n let Extension;\n (function (Extension) {\n /**\n * Populate an array from page config.\n *\n * @param key - The page config key (e.g., `deferredExtensions`).\n *\n * #### Notes\n * This is intended for `deferredExtensions` and `disabledExtensions`.\n */\n function populate(key) {\n try {\n const raw = getOption(key);\n if (raw) {\n return JSON.parse(raw);\n }\n }\n catch (error) {\n console.warn(`Unable to parse ${key}.`, error);\n }\n return [];\n }\n /**\n * The collection of deferred extensions in page config.\n */\n Extension.deferred = populate('deferredExtensions');\n /**\n * The collection of disabled extensions in page config.\n */\n Extension.disabled = populate('disabledExtensions');\n /**\n * Returns whether a plugin is deferred.\n *\n * @param id - The plugin ID.\n */\n function isDeferred(id) {\n // Check for either a full plugin id match or an extension\n // name match.\n const separatorIndex = id.indexOf(':');\n let extName = '';\n if (separatorIndex !== -1) {\n extName = id.slice(0, separatorIndex);\n }\n return Extension.deferred.some(val => val === id || (extName && val === extName));\n }\n Extension.isDeferred = isDeferred;\n /**\n * Returns whether a plugin is disabled.\n *\n * @param id - The plugin ID.\n */\n function isDisabled(id) {\n // Check for either a full plugin id match or an extension\n // name match.\n const separatorIndex = id.indexOf(':');\n let extName = '';\n if (separatorIndex !== -1) {\n extName = id.slice(0, separatorIndex);\n }\n return Extension.disabled.some(val => val === id || (extName && val === extName));\n }\n Extension.isDisabled = isDisabled;\n })(Extension = PageConfig.Extension || (PageConfig.Extension = {}));\n})(PageConfig || (exports.PageConfig = PageConfig = {}));\n//# sourceMappingURL=pageconfig.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/pageconfig.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/path.js":
+/*!*********************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/path.js ***!
+ \*********************************************************/
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+eval("\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.PathExt = void 0;\nconst path_1 = __webpack_require__(/*! path */ \"../node_modules/path-browserify/index.js\");\n/**\n * The namespace for path-related functions.\n *\n * Note that Jupyter server paths do not start with a leading slash.\n */\nvar PathExt;\n(function (PathExt) {\n /**\n * Join all arguments together and normalize the resulting path.\n * Arguments must be strings. In v0.8, non-string arguments were silently ignored. In v0.10 and up, an exception is thrown.\n *\n * @param paths - The string paths to join.\n */\n function join(...paths) {\n const path = path_1.posix.join(...paths);\n return path === '.' ? '' : removeSlash(path);\n }\n PathExt.join = join;\n /**\n * Join all arguments together and normalize the resulting path and preserve the leading slash.\n *\n * @param paths - The string paths to join.\n */\n function joinWithLeadingSlash(...paths) {\n const path = path_1.posix.join(...paths);\n return path === '.' ? '' : path;\n }\n PathExt.joinWithLeadingSlash = joinWithLeadingSlash;\n /**\n * Return the last portion of a path. Similar to the Unix basename command.\n * Often used to extract the file name from a fully qualified path.\n *\n * @param path - The path to evaluate.\n *\n * @param ext - An extension to remove from the result.\n */\n function basename(path, ext) {\n return path_1.posix.basename(path, ext);\n }\n PathExt.basename = basename;\n /**\n * Get the directory name of a path, similar to the Unix dirname command.\n * When an empty path is given, returns the root path.\n *\n * @param path - The file path.\n */\n function dirname(path) {\n const dir = removeSlash(path_1.posix.dirname(path));\n return dir === '.' ? '' : dir;\n }\n PathExt.dirname = dirname;\n /**\n * Get the extension of the path.\n *\n * @param path - The file path.\n *\n * @returns the extension of the file.\n *\n * #### Notes\n * The extension is the string from the last occurrence of the `.`\n * character to end of string in the last portion of the path, inclusive.\n * If there is no `.` in the last portion of the path, or if the first\n * character of the basename of path [[basename]] is `.`, then an\n * empty string is returned.\n */\n function extname(path) {\n return path_1.posix.extname(path);\n }\n PathExt.extname = extname;\n /**\n * Normalize a string path, reducing '..' and '.' parts.\n * When multiple slashes are found, they're replaced by a single one; when the path contains a trailing slash, it is preserved. On Windows backslashes are used.\n * When an empty path is given, returns the root path.\n *\n * @param path - The string path to normalize.\n */\n function normalize(path) {\n if (path === '') {\n return '';\n }\n return removeSlash(path_1.posix.normalize(path));\n }\n PathExt.normalize = normalize;\n /**\n * Resolve a sequence of paths or path segments into an absolute path.\n * The root path in the application has no leading slash, so it is removed.\n *\n * @param parts - The paths to join.\n *\n * #### Notes\n * The right-most parameter is considered \\{to\\}. Other parameters are considered an array of \\{from\\}.\n *\n * Starting from leftmost \\{from\\} parameter, resolves \\{to\\} to an absolute path.\n *\n * If \\{to\\} isn't already absolute, \\{from\\} arguments are prepended in right to left order, until an absolute path is found. If after using all \\{from\\} paths still no absolute path is found, the current working directory is used as well. The resulting path is normalized, and trailing slashes are removed unless the path gets resolved to the root directory.\n */\n function resolve(...parts) {\n return removeSlash(path_1.posix.resolve(...parts));\n }\n PathExt.resolve = resolve;\n /**\n * Solve the relative path from \\{from\\} to \\{to\\}.\n *\n * @param from - The source path.\n *\n * @param to - The target path.\n *\n * #### Notes\n * If from and to each resolve to the same path (after calling\n * path.resolve() on each), a zero-length string is returned.\n * If a zero-length string is passed as from or to, `/`\n * will be used instead of the zero-length strings.\n */\n function relative(from, to) {\n return removeSlash(path_1.posix.relative(from, to));\n }\n PathExt.relative = relative;\n /**\n * Normalize a file extension to be of the type `'.foo'`.\n *\n * @param extension - the file extension.\n *\n * #### Notes\n * Adds a leading dot if not present and converts to lower case.\n */\n function normalizeExtension(extension) {\n if (extension.length > 0 && extension.indexOf('.') !== 0) {\n extension = `.${extension}`;\n }\n return extension;\n }\n PathExt.normalizeExtension = normalizeExtension;\n /**\n * Remove the leading slash from a path.\n *\n * @param path the path from which to remove a leading slash.\n */\n function removeSlash(path) {\n if (path.indexOf('/') === 0) {\n path = path.slice(1);\n }\n return path;\n }\n PathExt.removeSlash = removeSlash;\n})(PathExt || (exports.PathExt = PathExt = {}));\n//# sourceMappingURL=path.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/path.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/signal.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/signal.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
+
+"use strict";
+eval("\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.signalToPromise = signalToPromise;\nconst coreutils_1 = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/**\n * Convert a signal into a promise for the first emitted value.\n *\n * @param signal - The signal we are listening to.\n * @param timeout - Timeout to wait for signal in ms (not timeout if not defined or 0)\n *\n * @returns a Promise that resolves with a `(sender, args)` pair.\n */\nfunction signalToPromise(signal, timeout) {\n const waitForSignal = new coreutils_1.PromiseDelegate();\n function cleanup() {\n signal.disconnect(slot);\n }\n function slot(sender, args) {\n cleanup();\n waitForSignal.resolve([sender, args]);\n }\n signal.connect(slot);\n if ((timeout !== null && timeout !== void 0 ? timeout : 0) > 0) {\n setTimeout(() => {\n cleanup();\n waitForSignal.reject(`Signal not emitted within ${timeout} ms.`);\n }, timeout);\n }\n return waitForSignal.promise;\n}\n//# sourceMappingURL=signal.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/signal.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/text.js":
+/*!*********************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/text.js ***!
+ \*********************************************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+eval("\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Text = void 0;\n/**\n * The namespace for text-related functions.\n */\nvar Text;\n(function (Text) {\n // javascript stores text as utf16 and string indices use \"code units\",\n // which stores high-codepoint characters as \"surrogate pairs\",\n // which occupy two indices in the javascript string.\n // We need to translate cursor_pos in the Jupyter protocol (in characters)\n // to js offset (with surrogate pairs taking two spots).\n const HAS_SURROGATES = '𝐚'.length > 1;\n /**\n * Convert a javascript string index into a unicode character offset\n *\n * @param jsIdx - The javascript string index (counting surrogate pairs)\n *\n * @param text - The text in which the offset is calculated\n *\n * @returns The unicode character offset\n */\n function jsIndexToCharIndex(jsIdx, text) {\n if (HAS_SURROGATES) {\n // not using surrogates, nothing to do\n return jsIdx;\n }\n let charIdx = jsIdx;\n for (let i = 0; i + 1 < text.length && i < jsIdx; i++) {\n const charCode = text.charCodeAt(i);\n // check for surrogate pair\n if (charCode >= 0xd800 && charCode <= 0xdbff) {\n const nextCharCode = text.charCodeAt(i + 1);\n if (nextCharCode >= 0xdc00 && nextCharCode <= 0xdfff) {\n charIdx--;\n i++;\n }\n }\n }\n return charIdx;\n }\n Text.jsIndexToCharIndex = jsIndexToCharIndex;\n /**\n * Convert a unicode character offset to a javascript string index.\n *\n * @param charIdx - The index in unicode characters\n *\n * @param text - The text in which the offset is calculated\n *\n * @returns The js-native index\n */\n function charIndexToJsIndex(charIdx, text) {\n if (HAS_SURROGATES) {\n // not using surrogates, nothing to do\n return charIdx;\n }\n let jsIdx = charIdx;\n for (let i = 0; i + 1 < text.length && i < jsIdx; i++) {\n const charCode = text.charCodeAt(i);\n // check for surrogate pair\n if (charCode >= 0xd800 && charCode <= 0xdbff) {\n const nextCharCode = text.charCodeAt(i + 1);\n if (nextCharCode >= 0xdc00 && nextCharCode <= 0xdfff) {\n jsIdx++;\n i++;\n }\n }\n }\n return jsIdx;\n }\n Text.charIndexToJsIndex = charIndexToJsIndex;\n /**\n * Given a 'snake-case', 'snake_case', 'snake:case', or\n * 'snake case' string, will return the camel case version: 'snakeCase'.\n *\n * @param str the snake-case input string.\n *\n * @param upper default = false. If true, the first letter of the\n * returned string will be capitalized.\n *\n * @returns the camel case version of the input string.\n */\n function camelCase(str, upper = false) {\n return str.replace(/^(\\w)|[\\s-_:]+(\\w)/g, function (match, p1, p2) {\n if (p2) {\n return p2.toUpperCase();\n }\n else {\n return upper ? p1.toUpperCase() : p1.toLowerCase();\n }\n });\n }\n Text.camelCase = camelCase;\n /**\n * Given a string, title case the words in the string.\n *\n * @param str the string to title case.\n *\n * @returns the same string, but with each word capitalized.\n */\n function titleCase(str) {\n return (str || '')\n .toLowerCase()\n .split(' ')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n }\n Text.titleCase = titleCase;\n})(Text || (exports.Text = Text = {}));\n//# sourceMappingURL=text.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/text.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/time.js":
+/*!*********************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/time.js ***!
+ \*********************************************************/
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+eval("\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.Time = void 0;\n/**\n * A list of time units with their associated value in milliseconds.\n */\nconst UNITS = [\n { name: 'years', milliseconds: 365 * 24 * 60 * 60 * 1000 },\n { name: 'months', milliseconds: 30 * 24 * 60 * 60 * 1000 },\n { name: 'days', milliseconds: 24 * 60 * 60 * 1000 },\n { name: 'hours', milliseconds: 60 * 60 * 1000 },\n { name: 'minutes', milliseconds: 60 * 1000 },\n { name: 'seconds', milliseconds: 1000 }\n];\n/**\n * The namespace for date functions.\n */\nvar Time;\n(function (Time) {\n /**\n * Convert a timestring to a human readable string (e.g. 'two minutes ago').\n *\n * @param value - The date timestring or date object.\n *\n * @returns A formatted date.\n */\n function formatHuman(value, format = 'long') {\n const lang = document.documentElement.lang || 'en';\n const formatter = new Intl.RelativeTimeFormat(lang, {\n numeric: 'auto',\n style: format\n });\n const delta = new Date(value).getTime() - Date.now();\n for (let unit of UNITS) {\n const amount = Math.ceil(delta / unit.milliseconds);\n if (amount === 0) {\n continue;\n }\n return formatter.format(amount, unit.name);\n }\n return formatter.format(0, 'seconds');\n }\n Time.formatHuman = formatHuman;\n /**\n * Convenient helper to convert a timestring to a date format.\n *\n * @param value - The date timestring or date object.\n *\n * @returns A formatted date.\n */\n function format(value) {\n const lang = document.documentElement.lang || 'en';\n const formatter = new Intl.DateTimeFormat(lang, {\n dateStyle: 'short',\n timeStyle: 'short'\n });\n return formatter.format(new Date(value));\n }\n Time.format = format;\n})(Time || (exports.Time = Time = {}));\n//# sourceMappingURL=time.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/time.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/coreutils/lib/url.js":
+/*!********************************************************!*\
+ !*** ../node_modules/@jupyterlab/coreutils/lib/url.js ***!
+ \********************************************************/
+/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
+
+"use strict";
+eval("\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.URLExt = void 0;\nconst path_1 = __webpack_require__(/*! path */ \"../node_modules/path-browserify/index.js\");\nconst url_parse_1 = __importDefault(__webpack_require__(/*! url-parse */ \"../node_modules/url-parse/index.js\"));\n/**\n * The namespace for URL-related functions.\n */\nvar URLExt;\n(function (URLExt) {\n /**\n * Parse a url into a URL object.\n *\n * @param url - The URL string to parse.\n *\n * @returns A URL object.\n */\n function parse(url) {\n if (typeof document !== 'undefined' && document) {\n const a = document.createElement('a');\n a.href = url;\n return a;\n }\n return (0, url_parse_1.default)(url);\n }\n URLExt.parse = parse;\n /**\n * Parse URL and retrieve hostname\n *\n * @param url - The URL string to parse\n *\n * @returns a hostname string value\n */\n function getHostName(url) {\n return (0, url_parse_1.default)(url).hostname;\n }\n URLExt.getHostName = getHostName;\n function normalize(url) {\n return url && parse(url).toString();\n }\n URLExt.normalize = normalize;\n /**\n * Join a sequence of url components and normalizes as in node `path.join`.\n *\n * @param parts - The url components.\n *\n * @returns the joined url.\n */\n function join(...parts) {\n let u = (0, url_parse_1.default)(parts[0], {});\n // Schema-less URL can be only parsed as relative to a base URL\n // see https://github.com/unshiftio/url-parse/issues/219#issuecomment-1002219326\n const isSchemaLess = u.protocol === '' && u.slashes;\n if (isSchemaLess) {\n u = (0, url_parse_1.default)(parts[0], 'https:' + parts[0]);\n }\n const prefix = `${isSchemaLess ? '' : u.protocol}${u.slashes ? '//' : ''}${u.auth}${u.auth ? '@' : ''}${u.host}`;\n // If there was a prefix, then the first path must start at the root.\n const path = path_1.posix.join(`${!!prefix && u.pathname[0] !== '/' ? '/' : ''}${u.pathname}`, ...parts.slice(1));\n return `${prefix}${path === '.' ? '' : path}`;\n }\n URLExt.join = join;\n /**\n * Encode the components of a multi-segment url.\n *\n * @param url - The url to encode.\n *\n * @returns the encoded url.\n *\n * #### Notes\n * Preserves the `'/'` separators.\n * Should not include the base url, since all parts are escaped.\n */\n function encodeParts(url) {\n return join(...url.split('/').map(encodeURIComponent));\n }\n URLExt.encodeParts = encodeParts;\n /**\n * Return a serialized object string suitable for a query.\n *\n * @param value The source object.\n *\n * @returns an encoded url query.\n *\n * #### Notes\n * Modified version of [stackoverflow](http://stackoverflow.com/a/30707423).\n */\n function objectToQueryString(value) {\n const keys = Object.keys(value).filter(key => key.length > 0);\n if (!keys.length) {\n return '';\n }\n return ('?' +\n keys\n .map(key => {\n const content = encodeURIComponent(String(value[key]));\n return key + (content ? '=' + content : '');\n })\n .join('&'));\n }\n URLExt.objectToQueryString = objectToQueryString;\n /**\n * Return a parsed object that represents the values in a query string.\n */\n function queryStringToObject(value) {\n return value\n .replace(/^\\?/, '')\n .split('&')\n .reduce((acc, val) => {\n const [key, value] = val.split('=');\n if (key.length > 0) {\n acc[key] = decodeURIComponent(value || '');\n }\n return acc;\n }, {});\n }\n URLExt.queryStringToObject = queryStringToObject;\n /**\n * Test whether the url is a local url.\n *\n * @param allowRoot - Whether the paths starting at Unix-style filesystem root (`/`) are permitted.\n *\n * #### Notes\n * This function returns `false` for any fully qualified url, including\n * `data:`, `file:`, and `//` protocol URLs.\n */\n function isLocal(url, allowRoot = false) {\n const { protocol } = parse(url);\n return ((!protocol || url.toLowerCase().indexOf(protocol) !== 0) &&\n (allowRoot ? url.indexOf('//') !== 0 : url.indexOf('/') !== 0));\n }\n URLExt.isLocal = isLocal;\n})(URLExt || (exports.URLExt = URLExt = {}));\n//# sourceMappingURL=url.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/coreutils/lib/url.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer-extension/lib/index.js":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer-extension/lib/index.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/application */ \"webpack/sharing/consume/default/@jupyterlab/application/@jupyterlab/application\");\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_csvviewer_lib_widget__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @jupyterlab/csvviewer/lib/widget */ \"../node_modules/@jupyterlab/csvviewer/lib/widget.js\");\n/* harmony import */ var _jupyterlab_csvviewer_lib_toolbar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/csvviewer/lib/toolbar */ \"../node_modules/@jupyterlab/csvviewer/lib/toolbar.js\");\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/documentsearch */ \"webpack/sharing/consume/default/@jupyterlab/documentsearch/@jupyterlab/documentsearch\");\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/mainmenu */ \"webpack/sharing/consume/default/@jupyterlab/mainmenu/@jupyterlab/mainmenu\");\n/* harmony import */ var _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module csvviewer-extension\n */\n\n\n\n\n\n\n\n\n/**\n * The name of the factories that creates widgets.\n */\nconst FACTORY_CSV = 'CSVTable';\nconst FACTORY_TSV = 'TSVTable';\n/**\n * The command IDs used by the csvviewer plugins.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n CommandIDs.CSVGoToLine = 'csv:go-to-line';\n CommandIDs.TSVGoToLine = 'tsv:go-to-line';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * The CSV file handler extension.\n */\nconst csv = {\n activate: activateCsv,\n id: '@jupyterlab/csvviewer-extension:csv',\n description: 'Adds viewer for CSV file types',\n requires: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n optional: [\n _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILayoutRestorer,\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IThemeManager,\n _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__.IMainMenu,\n _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.ISearchProviderRegistry,\n _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__.ISettingRegistry,\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IToolbarWidgetRegistry\n ],\n autoStart: true\n};\n/**\n * The TSV file handler extension.\n */\nconst tsv = {\n activate: activateTsv,\n id: '@jupyterlab/csvviewer-extension:tsv',\n description: 'Adds viewer for TSV file types.',\n requires: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_5__.ITranslator],\n optional: [\n _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILayoutRestorer,\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IThemeManager,\n _jupyterlab_mainmenu__WEBPACK_IMPORTED_MODULE_3__.IMainMenu,\n _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.ISearchProviderRegistry,\n _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__.ISettingRegistry,\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IToolbarWidgetRegistry\n ],\n autoStart: true\n};\n/**\n * Activate cssviewer extension for CSV files\n */\nfunction activateCsv(app, translator, restorer, themeManager, mainMenu, searchRegistry, settingRegistry, toolbarRegistry) {\n var _a;\n const { commands, shell } = app;\n let toolbarFactory;\n if (toolbarRegistry) {\n toolbarRegistry.addFactory(FACTORY_CSV, 'delimiter', widget => new _jupyterlab_csvviewer_lib_toolbar__WEBPACK_IMPORTED_MODULE_6__.CSVDelimiter({\n widget: widget.content,\n translator\n }));\n if (settingRegistry) {\n toolbarFactory = (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.createToolbarFactory)(toolbarRegistry, settingRegistry, FACTORY_CSV, csv.id, translator);\n }\n }\n const trans = translator.load('jupyterlab');\n const factory = new _jupyterlab_csvviewer_lib_widget__WEBPACK_IMPORTED_MODULE_7__.CSVViewerFactory({\n name: FACTORY_CSV,\n label: trans.__('CSV Viewer'),\n fileTypes: ['csv'],\n defaultFor: ['csv'],\n readOnly: true,\n toolbarFactory,\n translator\n });\n const tracker = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.WidgetTracker({\n namespace: 'csvviewer'\n });\n // The current styles for the data grids.\n let style = Private.LIGHT_STYLE;\n let rendererConfig = Private.LIGHT_TEXT_CONFIG;\n if (restorer) {\n // Handle state restoration.\n void restorer.restore(tracker, {\n command: 'docmanager:open',\n args: widget => ({ path: widget.context.path, factory: FACTORY_CSV }),\n name: widget => widget.context.path\n });\n }\n app.docRegistry.addWidgetFactory(factory);\n const ft = app.docRegistry.getFileType('csv');\n let searchProviderInitialized = false;\n factory.widgetCreated.connect(async (sender, widget) => {\n // Track the widget.\n void tracker.add(widget);\n // Notify the widget tracker if restore data needs to update.\n widget.context.pathChanged.connect(() => {\n void tracker.save(widget);\n });\n if (ft) {\n widget.title.icon = ft.icon;\n widget.title.iconClass = ft.iconClass;\n widget.title.iconLabel = ft.iconLabel;\n }\n // Delay await to execute `widget.title` setters (above) synchronously\n if (searchRegistry && !searchProviderInitialized) {\n const { CSVSearchProvider } = await Promise.all(/*! import() */[__webpack_require__.e(\"notebook_core\"), __webpack_require__.e(\"webpack_sharing_consume_default_jupyterlab_csvviewer_jupyterlab_csvviewer\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./searchprovider */ \"../node_modules/@jupyterlab/csvviewer-extension/lib/searchprovider.js\"));\n searchRegistry.add('csv', CSVSearchProvider);\n searchProviderInitialized = true;\n }\n // Set the theme for the new widget; requires `.content` to be loaded.\n await widget.content.ready;\n widget.content.style = style;\n widget.content.rendererConfig = rendererConfig;\n // Make sure the theme is correctly set when new widgets are created.\n updateThemes();\n });\n // Keep the themes up-to-date.\n const updateThemes = () => {\n const isLight = themeManager && themeManager.theme\n ? themeManager.isLight(themeManager.theme)\n : true;\n style = isLight ? Private.LIGHT_STYLE : Private.DARK_STYLE;\n rendererConfig = isLight\n ? Private.LIGHT_TEXT_CONFIG\n : Private.DARK_TEXT_CONFIG;\n tracker.forEach(async (grid) => {\n await grid.content.ready;\n grid.content.style = style;\n grid.content.rendererConfig = rendererConfig;\n });\n };\n if (themeManager) {\n themeManager.themeChanged.connect(updateThemes);\n }\n // Add commands\n const isEnabled = () => tracker.currentWidget !== null &&\n tracker.currentWidget === shell.currentWidget;\n commands.addCommand(CommandIDs.CSVGoToLine, {\n label: trans.__('Go to Line'),\n execute: async () => {\n const widget = tracker.currentWidget;\n if (widget === null) {\n return;\n }\n const result = await _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.InputDialog.getNumber({\n title: trans.__('Go to Line'),\n value: 0\n });\n if (result.button.accept && result.value !== null) {\n widget.content.goToLine(result.value);\n }\n },\n isEnabled\n });\n if (mainMenu) {\n // Add go to line capability to the edit menu.\n mainMenu.editMenu.goToLiners.add({\n id: CommandIDs.CSVGoToLine,\n isEnabled\n });\n }\n const notify = () => {\n commands.notifyCommandChanged(CommandIDs.CSVGoToLine);\n };\n tracker.currentChanged.connect(notify);\n (_a = shell.currentChanged) === null || _a === void 0 ? void 0 : _a.connect(notify);\n}\n/**\n * Activate cssviewer extension for TSV files\n */\nfunction activateTsv(app, translator, restorer, themeManager, mainMenu, searchRegistry, settingRegistry, toolbarRegistry) {\n const { commands, shell } = app;\n let toolbarFactory;\n if (toolbarRegistry) {\n toolbarRegistry.addFactory(FACTORY_TSV, 'delimiter', widget => new _jupyterlab_csvviewer_lib_toolbar__WEBPACK_IMPORTED_MODULE_6__.CSVDelimiter({\n widget: widget.content,\n translator\n }));\n if (settingRegistry) {\n toolbarFactory = (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.createToolbarFactory)(toolbarRegistry, settingRegistry, FACTORY_TSV, tsv.id, translator);\n }\n }\n const trans = translator.load('jupyterlab');\n const factory = new _jupyterlab_csvviewer_lib_widget__WEBPACK_IMPORTED_MODULE_7__.TSVViewerFactory({\n name: FACTORY_TSV,\n label: trans.__('TSV Viewer'),\n fileTypes: ['tsv'],\n defaultFor: ['tsv'],\n readOnly: true,\n toolbarFactory,\n translator\n });\n const tracker = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.WidgetTracker({\n namespace: 'tsvviewer'\n });\n // The current styles for the data grids.\n let style = Private.LIGHT_STYLE;\n let rendererConfig = Private.LIGHT_TEXT_CONFIG;\n if (restorer) {\n // Handle state restoration.\n void restorer.restore(tracker, {\n command: 'docmanager:open',\n args: widget => ({ path: widget.context.path, factory: FACTORY_TSV }),\n name: widget => widget.context.path\n });\n }\n app.docRegistry.addWidgetFactory(factory);\n const ft = app.docRegistry.getFileType('tsv');\n let searchProviderInitialized = false;\n factory.widgetCreated.connect(async (sender, widget) => {\n // Track the widget.\n void tracker.add(widget);\n // Notify the widget tracker if restore data needs to update.\n widget.context.pathChanged.connect(() => {\n void tracker.save(widget);\n });\n if (ft) {\n widget.title.icon = ft.icon;\n widget.title.iconClass = ft.iconClass;\n widget.title.iconLabel = ft.iconLabel;\n }\n // Delay await to execute `widget.title` setters (above) synchronously\n if (searchRegistry && !searchProviderInitialized) {\n const { CSVSearchProvider } = await Promise.all(/*! import() */[__webpack_require__.e(\"notebook_core\"), __webpack_require__.e(\"webpack_sharing_consume_default_jupyterlab_csvviewer_jupyterlab_csvviewer\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./searchprovider */ \"../node_modules/@jupyterlab/csvviewer-extension/lib/searchprovider.js\"));\n searchRegistry.add('tsv', CSVSearchProvider);\n searchProviderInitialized = true;\n }\n // Set the theme for the new widget; requires `.content` to be loaded.\n await widget.content.ready;\n widget.content.style = style;\n widget.content.rendererConfig = rendererConfig;\n });\n // Keep the themes up-to-date.\n const updateThemes = () => {\n const isLight = themeManager && themeManager.theme\n ? themeManager.isLight(themeManager.theme)\n : true;\n style = isLight ? Private.LIGHT_STYLE : Private.DARK_STYLE;\n rendererConfig = isLight\n ? Private.LIGHT_TEXT_CONFIG\n : Private.DARK_TEXT_CONFIG;\n tracker.forEach(async (grid) => {\n await grid.content.ready;\n grid.content.style = style;\n grid.content.rendererConfig = rendererConfig;\n });\n };\n if (themeManager) {\n themeManager.themeChanged.connect(updateThemes);\n }\n // Add commands\n const isEnabled = () => tracker.currentWidget !== null &&\n tracker.currentWidget === shell.currentWidget;\n commands.addCommand(CommandIDs.TSVGoToLine, {\n label: trans.__('Go to Line'),\n execute: async () => {\n const widget = tracker.currentWidget;\n if (widget === null) {\n return;\n }\n const result = await _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.InputDialog.getNumber({\n title: trans.__('Go to Line'),\n value: 0\n });\n if (result.button.accept && result.value !== null) {\n widget.content.goToLine(result.value);\n }\n },\n isEnabled\n });\n if (mainMenu) {\n // Add go to line capability to the edit menu.\n mainMenu.editMenu.goToLiners.add({\n id: CommandIDs.TSVGoToLine,\n isEnabled\n });\n }\n tracker.currentChanged.connect(() => {\n commands.notifyCommandChanged(CommandIDs.TSVGoToLine);\n });\n}\n/**\n * Export the plugins as default.\n */\nconst plugins = [csv, tsv];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugins);\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * The light theme for the data grid.\n */\n Private.LIGHT_STYLE = {\n voidColor: '#F3F3F3',\n backgroundColor: 'white',\n headerBackgroundColor: '#EEEEEE',\n gridLineColor: 'rgba(20, 20, 20, 0.15)',\n headerGridLineColor: 'rgba(20, 20, 20, 0.25)',\n rowBackgroundColor: i => (i % 2 === 0 ? '#F5F5F5' : 'white')\n };\n /**\n * The dark theme for the data grid.\n */\n Private.DARK_STYLE = {\n voidColor: 'black',\n backgroundColor: '#111111',\n headerBackgroundColor: '#424242',\n gridLineColor: 'rgba(235, 235, 235, 0.15)',\n headerGridLineColor: 'rgba(235, 235, 235, 0.25)',\n rowBackgroundColor: i => (i % 2 === 0 ? '#212121' : '#111111')\n };\n /**\n * The light config for the data grid renderer.\n */\n Private.LIGHT_TEXT_CONFIG = {\n textColor: '#111111',\n matchBackgroundColor: '#FFFFE0',\n currentMatchBackgroundColor: '#FFFF00',\n horizontalAlignment: 'right'\n };\n /**\n * The dark config for the data grid renderer.\n */\n Private.DARK_TEXT_CONFIG = {\n textColor: '#F5F5F5',\n matchBackgroundColor: '#838423',\n currentMatchBackgroundColor: '#A3807A',\n horizontalAlignment: 'right'\n };\n})(Private || (Private = {}));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer-extension/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer-extension/lib/searchprovider.js":
+/*!*****************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer-extension/lib/searchprovider.js ***!
+ \*****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CSVSearchProvider: () => (/* binding */ CSVSearchProvider)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_csvviewer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/csvviewer */ \"webpack/sharing/consume/default/@jupyterlab/csvviewer/@jupyterlab/csvviewer\");\n/* harmony import */ var _jupyterlab_csvviewer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_csvviewer__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/docregistry */ \"webpack/sharing/consume/default/@jupyterlab/docregistry/@jupyterlab/docregistry\");\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/documentsearch */ \"webpack/sharing/consume/default/@jupyterlab/documentsearch/@jupyterlab/documentsearch\");\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * CSV viewer search provider\n */\nclass CSVSearchProvider extends _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.SearchProvider {\n constructor() {\n super(...arguments);\n /**\n * Set to true if the widget under search is read-only, false\n * if it is editable. Will be used to determine whether to show\n * the replace option.\n */\n this.isReadOnly = true;\n }\n /**\n * Instantiate a search provider for the widget.\n *\n * #### Notes\n * The widget provided is always checked using `isApplicable` before calling\n * this factory.\n *\n * @param widget The widget to search on\n * @param translator [optional] The translator object\n *\n * @returns The search provider on the widget\n */\n static createNew(widget, translator) {\n return new CSVSearchProvider(widget);\n }\n /**\n * Report whether or not this provider has the ability to search on the given object\n */\n static isApplicable(domain) {\n // check to see if the CSVSearchProvider can search on the\n // first cell, false indicates another editor is present\n return (domain instanceof _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__.DocumentWidget && domain.content instanceof _jupyterlab_csvviewer__WEBPACK_IMPORTED_MODULE_0__.CSVViewer);\n }\n /**\n * Clear currently highlighted match.\n */\n clearHighlight() {\n // no-op\n return Promise.resolve();\n }\n /**\n * Move the current match indicator to the next match.\n *\n * @param loop Whether to loop within the matches list.\n *\n * @returns The match is never returned by this provider\n */\n highlightNext(loop) {\n this.widget.content.searchService.find(this._query);\n return Promise.resolve(undefined);\n }\n /**\n * Move the current match indicator to the previous match.\n *\n * @param loop Whether to loop within the matches list.\n *\n * @returns The match is never returned by this provider\n */\n highlightPrevious(loop) {\n this.widget.content.searchService.find(this._query, true);\n return Promise.resolve(undefined);\n }\n /**\n * Replace the currently selected match with the provided text\n * Not implemented in the CSV viewer as it is read-only.\n *\n * @param newText The replacement text\n * @param loop Whether to loop within the matches list.\n *\n * @returns A promise that resolves once the action has completed.\n */\n replaceCurrentMatch(newText, loop) {\n return Promise.resolve(false);\n }\n /**\n * Replace all matches in the notebook with the provided text\n * Not implemented in the CSV viewer as it is read-only.\n *\n * @param newText The replacement text\n *\n * @returns A promise that resolves once the action has completed.\n */\n replaceAllMatches(newText) {\n return Promise.resolve(false);\n }\n /**\n * Initialize the search using the provided options. Should update the UI\n * to highlight all matches and \"select\" whatever the first match should be.\n *\n * @param query A RegExp to be use to perform the search\n */\n startQuery(query) {\n this._query = query;\n this.widget.content.searchService.find(query);\n return Promise.resolve();\n }\n /**\n * Clears state of a search provider to prepare for startQuery to be called\n * in order to start a new query or refresh an existing one.\n */\n endQuery() {\n this.widget.content.searchService.clear();\n return Promise.resolve();\n }\n}\n//# sourceMappingURL=searchprovider.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer-extension/lib/searchprovider.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer-extension/style/index.js":
+/*!**********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer-extension/style/index.js ***!
+ \**********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_docregistry_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/docregistry/style/index.js */ \"../node_modules/@jupyterlab/docregistry/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_csvviewer_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/csvviewer/style/index.js */ \"../node_modules/@jupyterlab/csvviewer/style/index.js\");\n/* harmony import */ var _jupyterlab_documentsearch_style_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/documentsearch/style/index.js */ \"../node_modules/@jupyterlab/documentsearch/style/index.js\");\n/* harmony import */ var _jupyterlab_mainmenu_style_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/mainmenu/style/index.js */ \"../node_modules/@jupyterlab/mainmenu/style/index.js\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer-extension/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer/lib/index.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer/lib/index.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CSVDelimiter: () => (/* reexport safe */ _toolbar__WEBPACK_IMPORTED_MODULE_2__.CSVDelimiter),\n/* harmony export */ CSVDocumentWidget: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_3__.CSVDocumentWidget),\n/* harmony export */ CSVViewer: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_3__.CSVViewer),\n/* harmony export */ CSVViewerFactory: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_3__.CSVViewerFactory),\n/* harmony export */ DSVModel: () => (/* reexport safe */ _model__WEBPACK_IMPORTED_MODULE_0__.DSVModel),\n/* harmony export */ GridSearchService: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_3__.GridSearchService),\n/* harmony export */ TSVViewerFactory: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_3__.TSVViewerFactory),\n/* harmony export */ TextRenderConfig: () => (/* reexport safe */ _widget__WEBPACK_IMPORTED_MODULE_3__.TextRenderConfig),\n/* harmony export */ parseDSV: () => (/* reexport safe */ _parse__WEBPACK_IMPORTED_MODULE_1__.parseDSV),\n/* harmony export */ parseDSVNoQuotes: () => (/* reexport safe */ _parse__WEBPACK_IMPORTED_MODULE_1__.parseDSVNoQuotes)\n/* harmony export */ });\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./model */ \"../node_modules/@jupyterlab/csvviewer/lib/model.js\");\n/* harmony import */ var _parse__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parse */ \"../node_modules/@jupyterlab/csvviewer/lib/parse.js\");\n/* harmony import */ var _toolbar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toolbar */ \"../node_modules/@jupyterlab/csvviewer/lib/toolbar.js\");\n/* harmony import */ var _widget__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./widget */ \"../node_modules/@jupyterlab/csvviewer/lib/widget.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module csvviewer\n */\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer/lib/model.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer/lib/model.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DSVModel: () => (/* binding */ DSVModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_datagrid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/datagrid */ \"webpack/sharing/consume/default/@lumino/datagrid/@lumino/datagrid\");\n/* harmony import */ var _lumino_datagrid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_datagrid__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _parse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parse */ \"../node_modules/@jupyterlab/csvviewer/lib/parse.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/*\nPossible ideas for further implementation:\n\n- Show a spinner or something visible when we are doing delayed parsing.\n- The cache right now handles scrolling down great - it gets the next several hundred rows. However, scrolling up causes lots of cache misses - each new row causes a flush of the cache. When invalidating an entire cache, we should put the requested row in middle of the cache (adjusting for rows at the beginning or end). When populating a cache, we should retrieve rows both above and below the requested row.\n- When we have a header, and we are guessing the parser to use, try checking just the part of the file *after* the header row for quotes. I think often a first header row is quoted, but the rest of the file is not and can be parsed much faster.\n- autdetect the delimiter (look for comma, tab, semicolon in first line. If more than one found, parse first row with comma, tab, semicolon delimiters. One with most fields wins).\n- Toolbar buttons to control the row delimiter, the parsing engine (quoted/not quoted), the quote character, etc.\n- Investigate incremental loading strategies in the parseAsync function. In initial investigations, setting the chunk size to 100k in parseAsync seems cause instability with large files in Chrome (such as 8-million row files). Perhaps this is because we are recycling the row offset and column offset arrays quickly? It doesn't seem that there is a memory leak. On this theory, perhaps we just need to keep the offsets list an actual list, and pass it into the parsing function to extend without copying, and finalize it into an array buffer only when we are done parsing. Or perhaps we double the size of the array buffer each time, which may be wasteful, but at the end we trim it down if it's too wasteful (perhaps we have our own object that is backed by an array buffer, but has a push method that will automatically double the array buffer size as needed, and a trim function to finalize the array to exactly the size needed)? Or perhaps we don't use array buffers at all - compare the memory cost and speed of keeping the offsets as lists instead of memory buffers.\n- Investigate a time-based incremental parsing strategy, rather than a row-based one. The parser could take a maximum time to parse (say 300ms), and will parse up to that duration, in which case the parser probably also needs a way to notify when it has reached the end of a file.\n- For very large files, where we are only storing a small cache, scrolling is very laggy in Safari. It would be good to profile it.\n*/\n/**\n * Possible delimiter-separated data parsers.\n */\nconst PARSERS = {\n quotes: _parse__WEBPACK_IMPORTED_MODULE_2__.parseDSV,\n noquotes: _parse__WEBPACK_IMPORTED_MODULE_2__.parseDSVNoQuotes\n};\n/**\n * A data model implementation for in-memory delimiter-separated data.\n *\n * #### Notes\n * This model handles data with up to 2**32 characters.\n */\nclass DSVModel extends _lumino_datagrid__WEBPACK_IMPORTED_MODULE_1__.DataModel {\n /**\n * Create a data model with static CSV data.\n *\n * @param options - The options for initializing the data model.\n */\n constructor(options) {\n super();\n this._rowCount = 0;\n // Cache information\n /**\n * The header strings.\n */\n this._header = [];\n /**\n * The column offset cache, starting with row _columnOffsetsStartingRow\n *\n * #### Notes\n * The index of the first character in the data string for row r, column c is\n * _columnOffsets[(r-this._columnOffsetsStartingRow)*numColumns+c]\n */\n this._columnOffsets = new Uint32Array(0);\n /**\n * The row that _columnOffsets[0] represents.\n */\n this._columnOffsetsStartingRow = 0;\n /**\n * The maximum number of rows to parse when there is a cache miss.\n */\n this._maxCacheGet = 1000;\n /**\n * The index for the start of each row.\n */\n this._rowOffsets = new Uint32Array(0);\n // Bookkeeping variables.\n this._delayedParse = null;\n this._startedParsing = false;\n this._doneParsing = false;\n this._isDisposed = false;\n this._ready = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.PromiseDelegate();\n let { data, delimiter = ',', rowDelimiter = undefined, quote = '\"', quoteParser = undefined, header = true, initialRows = 500 } = options;\n this._rawData = data;\n this._delimiter = delimiter;\n this._quote = quote;\n this._quoteEscaped = new RegExp(quote + quote, 'g');\n this._initialRows = initialRows;\n // Guess the row delimiter if it was not supplied. This will be fooled if a\n // different line delimiter possibility appears in the first row.\n if (rowDelimiter === undefined) {\n const i = data.slice(0, 5000).indexOf('\\r');\n if (i === -1) {\n rowDelimiter = '\\n';\n }\n else if (data[i + 1] === '\\n') {\n rowDelimiter = '\\r\\n';\n }\n else {\n rowDelimiter = '\\r';\n }\n }\n this._rowDelimiter = rowDelimiter;\n if (quoteParser === undefined) {\n // Check for the existence of quotes if the quoteParser is not set.\n quoteParser = data.indexOf(quote) >= 0;\n }\n this._parser = quoteParser ? 'quotes' : 'noquotes';\n // Parse the data.\n this.parseAsync();\n // Cache the header row.\n if (header === true && this._columnCount > 0) {\n const h = [];\n for (let c = 0; c < this._columnCount; c++) {\n h.push(this._getField(0, c));\n }\n this._header = h;\n }\n }\n /**\n * Whether this model has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * A promise that resolves when the model has parsed all of its data.\n */\n get ready() {\n return this._ready.promise;\n }\n /**\n * The string representation of the data.\n */\n get rawData() {\n return this._rawData;\n }\n set rawData(value) {\n this._rawData = value;\n }\n /**\n * The initial chunk of rows to parse.\n */\n get initialRows() {\n return this._initialRows;\n }\n set initialRows(value) {\n this._initialRows = value;\n }\n /**\n * The header strings.\n */\n get header() {\n return this._header;\n }\n set header(value) {\n this._header = value;\n }\n /**\n * The delimiter between entries on the same row.\n */\n get delimiter() {\n return this._delimiter;\n }\n /**\n * The delimiter between rows.\n */\n get rowDelimiter() {\n return this._rowDelimiter;\n }\n /**\n * A boolean determined by whether parsing has completed.\n */\n get doneParsing() {\n return this._doneParsing;\n }\n /**\n * Get the row count for a region in the data model.\n *\n * @param region - The row region of interest.\n *\n * @returns - The row count for the region.\n */\n rowCount(region) {\n if (region === 'body') {\n if (this._header.length === 0) {\n return this._rowCount;\n }\n else {\n return this._rowCount - 1;\n }\n }\n return 1;\n }\n /**\n * Get the column count for a region in the data model.\n *\n * @param region - The column region of interest.\n *\n * @returns - The column count for the region.\n */\n columnCount(region) {\n if (region === 'body') {\n return this._columnCount;\n }\n return 1;\n }\n /**\n * Get the data value for a cell in the data model.\n *\n * @param region - The cell region of interest.\n *\n * @param row - The row index of the cell of interest.\n *\n * @param column - The column index of the cell of interest.\n *\n * @param returns - The data value for the specified cell.\n */\n data(region, row, column) {\n let value;\n // Look up the field and value for the region.\n switch (region) {\n case 'body':\n if (this._header.length === 0) {\n value = this._getField(row, column);\n }\n else {\n value = this._getField(row + 1, column);\n }\n break;\n case 'column-header':\n if (this._header.length === 0) {\n value = (column + 1).toString();\n }\n else {\n value = this._header[column];\n }\n break;\n case 'row-header':\n value = (row + 1).toString();\n break;\n case 'corner-header':\n value = '';\n break;\n default:\n throw 'unreachable';\n }\n // Return the final value.\n return value;\n }\n /**\n * Dispose the resources held by this model.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._columnCount = undefined;\n this._rowCount = undefined;\n this._rowOffsets = null;\n this._columnOffsets = null;\n this._rawData = null;\n // Clear out state associated with the asynchronous parsing.\n if (this._doneParsing === false) {\n // Explicitly catch this rejection at least once so an error is not thrown\n // to the console.\n this.ready.catch(() => {\n return;\n });\n this._ready.reject(undefined);\n }\n if (this._delayedParse !== null) {\n window.clearTimeout(this._delayedParse);\n }\n }\n /**\n * Get the index in the data string for the first character of a row and\n * column.\n *\n * @param row - The row of the data item.\n * @param column - The column of the data item.\n * @returns - The index into the data string where the data item starts.\n */\n getOffsetIndex(row, column) {\n // Declare local variables.\n const ncols = this._columnCount;\n // Check to see if row *should* be in the cache, based on the cache size.\n let rowIndex = (row - this._columnOffsetsStartingRow) * ncols;\n if (rowIndex < 0 || rowIndex > this._columnOffsets.length) {\n // Row isn't in the cache, so we invalidate the entire cache and set up\n // the cache to hold the requested row.\n this._columnOffsets.fill(0xffffffff);\n this._columnOffsetsStartingRow = row;\n rowIndex = 0;\n }\n // Check to see if we need to fetch the row data into the cache.\n if (this._columnOffsets[rowIndex] === 0xffffffff) {\n // Figure out how many rows below us also need to be fetched.\n let maxRows = 1;\n while (maxRows <= this._maxCacheGet &&\n this._columnOffsets[rowIndex + maxRows * ncols] === 0xffffff) {\n maxRows++;\n }\n // Parse the data to get the column offsets.\n const { offsets } = PARSERS[this._parser]({\n data: this._rawData,\n delimiter: this._delimiter,\n rowDelimiter: this._rowDelimiter,\n quote: this._quote,\n columnOffsets: true,\n maxRows: maxRows,\n ncols: ncols,\n startIndex: this._rowOffsets[row]\n });\n // Copy results to the cache.\n for (let i = 0; i < offsets.length; i++) {\n this._columnOffsets[rowIndex + i] = offsets[i];\n }\n }\n // Return the offset index from cache.\n return this._columnOffsets[rowIndex + column];\n }\n /**\n * Parse the data string asynchronously.\n *\n * #### Notes\n * It can take several seconds to parse a several hundred megabyte string, so\n * we parse the first 500 rows to get something up on the screen, then we\n * parse the full data string asynchronously.\n */\n parseAsync() {\n // Number of rows to get initially.\n let currentRows = this._initialRows;\n // Number of rows to get in each chunk thereafter. We set this high to just\n // get the rest of the rows for now.\n let chunkRows = Math.pow(2, 32) - 1;\n // We give the UI a chance to draw by delaying the chunk parsing.\n const delay = 30; // milliseconds\n // Define a function to parse a chunk up to and including endRow.\n const parseChunk = (endRow) => {\n try {\n this._computeRowOffsets(endRow);\n }\n catch (e) {\n // Sometimes the data string cannot be parsed with the full parser (for\n // example, we may have the wrong delimiter). In these cases, fall back to\n // the simpler parser so we can show something.\n if (this._parser === 'quotes') {\n console.warn(e);\n this._parser = 'noquotes';\n this._resetParser();\n this._computeRowOffsets(endRow);\n }\n else {\n throw e;\n }\n }\n return this._doneParsing;\n };\n // Reset the parser to its initial state.\n this._resetParser();\n // Parse the first rows to give us the start of the data right away.\n const done = parseChunk(currentRows);\n // If we are done, return early.\n if (done) {\n return;\n }\n // Define a function to recursively parse the next chunk after a delay.\n const delayedParse = () => {\n // Parse up to the new end row.\n const done = parseChunk(currentRows + chunkRows);\n currentRows += chunkRows;\n // Gradually double the chunk size until we reach a million rows, if we\n // start below a million-row chunk size.\n if (chunkRows < 1000000) {\n chunkRows *= 2;\n }\n // If we aren't done, the schedule another parse.\n if (done) {\n this._delayedParse = null;\n }\n else {\n this._delayedParse = window.setTimeout(delayedParse, delay);\n }\n };\n // Parse full data string in chunks, delayed by a few milliseconds to give the UI a chance to draw.\n this._delayedParse = window.setTimeout(delayedParse, delay);\n }\n /**\n * Compute the row offsets and initialize the column offset cache.\n *\n * @param endRow - The last row to parse, from the start of the data (first\n * row is row 1).\n *\n * #### Notes\n * This method supports parsing the data incrementally by calling it with\n * incrementally higher endRow. Rows that have already been parsed will not be\n * parsed again.\n */\n _computeRowOffsets(endRow = 4294967295) {\n var _a;\n // If we've already parsed up to endRow, or if we've already parsed the\n // entire data set, return early.\n if (this._rowCount >= endRow || this._doneParsing === true) {\n return;\n }\n // Compute the column count if we don't already have it.\n if (this._columnCount === undefined) {\n // Get number of columns in first row\n this._columnCount = PARSERS[this._parser]({\n data: this._rawData,\n delimiter: this._delimiter,\n rowDelimiter: this._rowDelimiter,\n quote: this._quote,\n columnOffsets: true,\n maxRows: 1\n }).ncols;\n }\n // `reparse` is the number of rows we are requesting to parse over again.\n // We generally start at the beginning of the last row offset, so that the\n // first row offset returned is the same as the last row offset we already\n // have. We parse the data up to and including the requested row.\n const reparse = this._rowCount > 0 ? 1 : 0;\n const { nrows, offsets } = PARSERS[this._parser]({\n data: this._rawData,\n startIndex: (_a = this._rowOffsets[this._rowCount - reparse]) !== null && _a !== void 0 ? _a : 0,\n delimiter: this._delimiter,\n rowDelimiter: this._rowDelimiter,\n quote: this._quote,\n columnOffsets: false,\n maxRows: endRow - this._rowCount + reparse\n });\n // If we have already set up our initial bookkeeping, return early if we\n // did not get any new rows beyond the last row that we've parsed, i.e.,\n // nrows===1.\n if (this._startedParsing && nrows <= reparse) {\n this._doneParsing = true;\n this._ready.resolve(undefined);\n return;\n }\n this._startedParsing = true;\n // Update the row count, accounting for how many rows were reparsed.\n const oldRowCount = this._rowCount;\n const duplicateRows = Math.min(nrows, reparse);\n this._rowCount = oldRowCount + nrows - duplicateRows;\n // If we didn't reach the requested row, we must be done.\n if (this._rowCount < endRow) {\n this._doneParsing = true;\n this._ready.resolve(undefined);\n }\n // Copy the new offsets into a new row offset array if needed.\n if (this._rowCount > oldRowCount) {\n const oldRowOffsets = this._rowOffsets;\n this._rowOffsets = new Uint32Array(this._rowCount);\n this._rowOffsets.set(oldRowOffsets);\n this._rowOffsets.set(offsets, oldRowCount - duplicateRows);\n }\n // Expand the column offsets array if needed\n // If the full column offsets array is small enough, build a cache big\n // enough for all column offsets. We allocate up to 128 megabytes:\n // 128*(2**20 bytes/M)/(4 bytes/entry) = 33554432 entries.\n const maxColumnOffsetsRows = Math.floor(33554432 / this._columnCount);\n // We need to expand the column offset array if we were storing all column\n // offsets before. Check to see if the previous size was small enough that\n // we stored all column offsets.\n if (oldRowCount <= maxColumnOffsetsRows) {\n // Check to see if the new column offsets array is small enough to still\n // store, or if we should cut over to a small cache.\n if (this._rowCount <= maxColumnOffsetsRows) {\n // Expand the existing column offset array for new column offsets.\n const oldColumnOffsets = this._columnOffsets;\n this._columnOffsets = new Uint32Array(this._rowCount * this._columnCount);\n this._columnOffsets.set(oldColumnOffsets);\n this._columnOffsets.fill(0xffffffff, oldColumnOffsets.length);\n }\n else {\n // If not, then our cache size is at most the maximum number of rows we\n // fill in the cache at a time.\n const oldColumnOffsets = this._columnOffsets;\n this._columnOffsets = new Uint32Array(Math.min(this._maxCacheGet, maxColumnOffsetsRows) * this._columnCount);\n // Fill in the entries we already have.\n this._columnOffsets.set(oldColumnOffsets.subarray(0, this._columnOffsets.length));\n // Invalidate the rest of the entries.\n this._columnOffsets.fill(0xffffffff, oldColumnOffsets.length);\n this._columnOffsetsStartingRow = 0;\n }\n }\n // We have more rows than before, so emit the rows-inserted change signal.\n let firstIndex = oldRowCount;\n if (this._header.length > 0) {\n firstIndex -= 1;\n }\n this.emitChanged({\n type: 'rows-inserted',\n region: 'body',\n index: firstIndex,\n span: this._rowCount - oldRowCount\n });\n }\n /**\n * Get the parsed string field for a row and column.\n *\n * @param row - The row number of the data item.\n * @param column - The column number of the data item.\n * @returns The parsed string for the data item.\n */\n _getField(row, column) {\n // Declare local variables.\n let value;\n let nextIndex;\n // Find the index for the first character in the field.\n const index = this.getOffsetIndex(row, column);\n // Initialize the trim adjustments.\n let trimRight = 0;\n let trimLeft = 0;\n // Find the end of the slice (the start of the next field), and how much we\n // should adjust to trim off a trailing field or row delimiter. First check\n // if we are getting the last column.\n if (column === this._columnCount - 1) {\n // Check if we are getting any row but the last.\n if (row < this._rowCount - 1) {\n // Set the next offset to the next row, column 0.\n nextIndex = this.getOffsetIndex(row + 1, 0);\n // Since we are not at the last row, we need to trim off the row\n // delimiter.\n trimRight += this._rowDelimiter.length;\n }\n else {\n // We are getting the last data item, so the slice end is the end of the\n // data string.\n nextIndex = this._rawData.length;\n // The string may or may not end in a row delimiter (RFC 4180 2.2), so\n // we explicitly check if we should trim off a row delimiter.\n if (this._rawData[nextIndex - 1] ===\n this._rowDelimiter[this._rowDelimiter.length - 1]) {\n trimRight += this._rowDelimiter.length;\n }\n }\n }\n else {\n // The next field starts at the next column offset.\n nextIndex = this.getOffsetIndex(row, column + 1);\n // Trim off the delimiter if it exists at the end of the field\n if (index < nextIndex &&\n this._rawData[nextIndex - 1] === this._delimiter) {\n trimRight += 1;\n }\n }\n // Check to see if the field begins with a quote. If it does, trim a quote on either side.\n if (this._rawData[index] === this._quote) {\n trimLeft += 1;\n trimRight += 1;\n }\n // Slice the actual value out of the data string.\n value = this._rawData.slice(index + trimLeft, nextIndex - trimRight);\n // If we have a quoted field and we have an escaped quote inside it, unescape it.\n if (trimLeft === 1 && value.indexOf(this._quote) !== -1) {\n value = value.replace(this._quoteEscaped, this._quote);\n }\n // Return the value.\n return value;\n }\n /**\n * Reset the parser state.\n */\n _resetParser() {\n this._columnCount = undefined;\n this._rowOffsets = new Uint32Array(0);\n this._rowCount = 0;\n this._startedParsing = false;\n this._columnOffsets = new Uint32Array(0);\n // Clear out state associated with the asynchronous parsing.\n if (this._doneParsing === false) {\n // Explicitly catch this rejection at least once so an error is not thrown\n // to the console.\n this.ready.catch(() => {\n return;\n });\n this._ready.reject(undefined);\n }\n this._doneParsing = false;\n this._ready = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.PromiseDelegate();\n if (this._delayedParse !== null) {\n window.clearTimeout(this._delayedParse);\n this._delayedParse = null;\n }\n this.emitChanged({ type: 'model-reset' });\n }\n}\n//# sourceMappingURL=model.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer/lib/model.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer/lib/parse.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer/lib/parse.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseDSV: () => (/* binding */ parseDSV),\n/* harmony export */ parseDSVNoQuotes: () => (/* binding */ parseDSVNoQuotes)\n/* harmony export */ });\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * Possible parser states.\n */\nvar STATE;\n(function (STATE) {\n STATE[STATE[\"QUOTED_FIELD\"] = 0] = \"QUOTED_FIELD\";\n STATE[STATE[\"QUOTED_FIELD_QUOTE\"] = 1] = \"QUOTED_FIELD_QUOTE\";\n STATE[STATE[\"UNQUOTED_FIELD\"] = 2] = \"UNQUOTED_FIELD\";\n STATE[STATE[\"NEW_FIELD\"] = 3] = \"NEW_FIELD\";\n STATE[STATE[\"NEW_ROW\"] = 4] = \"NEW_ROW\";\n})(STATE || (STATE = {}));\n/**\n * Possible row delimiters for the parser.\n */\nvar ROW_DELIMITER;\n(function (ROW_DELIMITER) {\n ROW_DELIMITER[ROW_DELIMITER[\"CR\"] = 0] = \"CR\";\n ROW_DELIMITER[ROW_DELIMITER[\"CRLF\"] = 1] = \"CRLF\";\n ROW_DELIMITER[ROW_DELIMITER[\"LF\"] = 2] = \"LF\";\n})(ROW_DELIMITER || (ROW_DELIMITER = {}));\n/**\n * Parse delimiter-separated data.\n *\n * @param options The parser options\n * @returns An object giving the offsets for the rows or columns parsed.\n *\n * #### Notes\n * This implementation is based on [RFC 4180](https://tools.ietf.org/html/rfc4180).\n */\nfunction parseDSV(options) {\n const { data, columnOffsets, delimiter = ',', startIndex = 0, maxRows = 0xffffffff, rowDelimiter = '\\r\\n', quote = '\"' } = options;\n // ncols will be set automatically if it is undefined.\n let ncols = options.ncols;\n // The number of rows we've already parsed.\n let nrows = 0;\n // The row or column offsets we return.\n const offsets = [];\n // Set up some useful local variables.\n const CH_DELIMITER = delimiter.charCodeAt(0);\n const CH_QUOTE = quote.charCodeAt(0);\n const CH_LF = 10; // \\n\n const CH_CR = 13; // \\r\n const endIndex = data.length;\n const { QUOTED_FIELD, QUOTED_FIELD_QUOTE, UNQUOTED_FIELD, NEW_FIELD, NEW_ROW } = STATE;\n const { CR, LF, CRLF } = ROW_DELIMITER;\n const [rowDelimiterCode, rowDelimiterLength] = rowDelimiter === '\\r\\n'\n ? [CRLF, 2]\n : rowDelimiter === '\\r'\n ? [CR, 1]\n : [LF, 1];\n // Always start off at the beginning of a row.\n let state = NEW_ROW;\n // Set up the starting index.\n let i = startIndex;\n // We initialize to 0 just in case we are asked to parse past the end of the\n // string. In that case, we want the number of columns to be 0.\n let col = 0;\n // Declare some useful temporaries\n let char;\n // Loop through the data string\n while (i < endIndex) {\n // i is the index of a character in the state.\n // If we just hit a new row, and there are still characters left, push a new\n // offset on and reset the column counter. We want this logic at the top of\n // the while loop rather than the bottom because we don't want a trailing\n // row delimiter at the end of the data to trigger a new row offset.\n if (state === NEW_ROW) {\n // Start a new row and reset the column counter.\n offsets.push(i);\n col = 1;\n }\n // Below, we handle this character, modify the parser state and increment the index to be consistent.\n // Get the integer code for the current character, so the comparisons below\n // are faster.\n char = data.charCodeAt(i);\n // Update the parser state. This switch statement is responsible for\n // updating the state to be consistent with the index i+1 (we increment i\n // after the switch statement). In some situations, we may increment i\n // inside this loop to skip over indices as a shortcut.\n switch (state) {\n // At the beginning of a row or field, we can have a quote, row delimiter, or field delimiter.\n case NEW_ROW:\n case NEW_FIELD:\n switch (char) {\n // If we have a quote, we are starting an escaped field.\n case CH_QUOTE:\n state = QUOTED_FIELD;\n break;\n // A field delimiter means we are starting a new field.\n case CH_DELIMITER:\n state = NEW_FIELD;\n break;\n // A row delimiter means we are starting a new row.\n case CH_CR:\n if (rowDelimiterCode === CR) {\n state = NEW_ROW;\n }\n else if (rowDelimiterCode === CRLF &&\n data.charCodeAt(i + 1) === CH_LF) {\n // If we see an expected \\r\\n, then increment to the end of the delimiter.\n i++;\n state = NEW_ROW;\n }\n else {\n throw `string index ${i} (in row ${nrows}, column ${col}): carriage return found, but not as part of a row delimiter C ${data.charCodeAt(i + 1)}`;\n }\n break;\n case CH_LF:\n if (rowDelimiterCode === LF) {\n state = NEW_ROW;\n }\n else {\n throw `string index ${i} (in row ${nrows}, column ${col}): line feed found, but row delimiter starts with a carriage return`;\n }\n break;\n // Otherwise, we are starting an unquoted field.\n default:\n state = UNQUOTED_FIELD;\n break;\n }\n break;\n // We are in a quoted field.\n case QUOTED_FIELD:\n // Skip ahead until we see another quote, which either ends the quoted\n // field or starts an escaped quote.\n i = data.indexOf(quote, i);\n if (i < 0) {\n throw `string index ${i} (in row ${nrows}, column ${col}): mismatched quote`;\n }\n state = QUOTED_FIELD_QUOTE;\n break;\n // We just saw a quote in a quoted field. This could be the end of the\n // field, or it could be a repeated quote (i.e., an escaped quote according\n // to RFC 4180).\n case QUOTED_FIELD_QUOTE:\n switch (char) {\n // Another quote means we just saw an escaped quote, so we are still in\n // the quoted field.\n case CH_QUOTE:\n state = QUOTED_FIELD;\n break;\n // A field or row delimiter means the quoted field just ended and we are\n // going into a new field or new row.\n case CH_DELIMITER:\n state = NEW_FIELD;\n break;\n // A row delimiter means we are starting a new row in the next index.\n case CH_CR:\n if (rowDelimiterCode === CR) {\n state = NEW_ROW;\n }\n else if (rowDelimiterCode === CRLF &&\n data.charCodeAt(i + 1) === CH_LF) {\n // If we see an expected \\r\\n, then increment to the end of the delimiter.\n i++;\n state = NEW_ROW;\n }\n else {\n throw `string index ${i} (in row ${nrows}, column ${col}): carriage return found, but not as part of a row delimiter C ${data.charCodeAt(i + 1)}`;\n }\n break;\n case CH_LF:\n if (rowDelimiterCode === LF) {\n state = NEW_ROW;\n }\n else {\n throw `string index ${i} (in row ${nrows}, column ${col}): line feed found, but row delimiter starts with a carriage return`;\n }\n break;\n default:\n throw `string index ${i} (in row ${nrows}, column ${col}): quote in escaped field not followed by quote, delimiter, or row delimiter`;\n }\n break;\n // We are in an unquoted field, so the only thing we look for is the next\n // row or field delimiter.\n case UNQUOTED_FIELD:\n // Skip ahead to either the next field delimiter or possible start of a\n // row delimiter (CR or LF).\n while (i < endIndex) {\n char = data.charCodeAt(i);\n if (char === CH_DELIMITER || char === CH_LF || char === CH_CR) {\n break;\n }\n i++;\n }\n // Process the character we're seeing in an unquoted field.\n switch (char) {\n // A field delimiter means we are starting a new field.\n case CH_DELIMITER:\n state = NEW_FIELD;\n break;\n // A row delimiter means we are starting a new row in the next index.\n case CH_CR:\n if (rowDelimiterCode === CR) {\n state = NEW_ROW;\n }\n else if (rowDelimiterCode === CRLF &&\n data.charCodeAt(i + 1) === CH_LF) {\n // If we see an expected \\r\\n, then increment to the end of the delimiter.\n i++;\n state = NEW_ROW;\n }\n else {\n throw `string index ${i} (in row ${nrows}, column ${col}): carriage return found, but not as part of a row delimiter C ${data.charCodeAt(i + 1)}`;\n }\n break;\n case CH_LF:\n if (rowDelimiterCode === LF) {\n state = NEW_ROW;\n }\n else {\n throw `string index ${i} (in row ${nrows}, column ${col}): line feed found, but row delimiter starts with a carriage return`;\n }\n break;\n // Otherwise, we continue on in the unquoted field.\n default:\n continue;\n }\n break;\n // We should never reach this point since the parser state is handled above,\n // so throw an error if we do.\n default:\n throw `string index ${i} (in row ${nrows}, column ${col}): state not recognized`;\n }\n // Increment i to the next character index\n i++;\n // Update return values based on state.\n switch (state) {\n case NEW_ROW:\n nrows++;\n // If ncols is undefined, set it to the number of columns in this row (first row implied).\n if (ncols === undefined) {\n if (nrows !== 1) {\n throw new Error('Error parsing default number of columns');\n }\n ncols = col;\n }\n // Pad or truncate the column offsets in the previous row if we are\n // returning them.\n if (columnOffsets === true) {\n if (col < ncols) {\n // We didn't have enough columns, so add some more column offsets that\n // point to just before the row delimiter we just saw.\n for (; col < ncols; col++) {\n offsets.push(i - rowDelimiterLength);\n }\n }\n else if (col > ncols) {\n // We had too many columns, so truncate them.\n offsets.length = offsets.length - (col - ncols);\n }\n }\n // Shortcut return if nrows reaches the maximum rows we are to parse.\n if (nrows === maxRows) {\n return { nrows, ncols: columnOffsets ? ncols : 0, offsets };\n }\n break;\n case NEW_FIELD:\n // If we are returning column offsets, log the current index.\n if (columnOffsets === true) {\n offsets.push(i);\n }\n // Update the column counter.\n col++;\n break;\n default:\n break;\n }\n }\n // If we finished parsing and we are *not* in the NEW_ROW state, then do the\n // column padding/truncation for the last row. Also make sure ncols is\n // defined.\n if (state !== NEW_ROW) {\n nrows++;\n if (columnOffsets === true) {\n // If ncols is *still* undefined, then we only parsed one row and didn't\n // have a newline, so set it to the number of columns we found.\n if (ncols === undefined) {\n ncols = col;\n }\n if (col < ncols) {\n // We didn't have enough columns, so add some more column offsets that\n // point to just before the row delimiter we just saw.\n for (; col < ncols; col++) {\n offsets.push(i - (rowDelimiterLength - 1));\n }\n }\n else if (col > ncols) {\n // We had too many columns, so truncate them.\n offsets.length = offsets.length - (col - ncols);\n }\n }\n }\n return { nrows, ncols: columnOffsets ? ncols !== null && ncols !== void 0 ? ncols : 0 : 0, offsets };\n}\n/**\n * Parse delimiter-separated data where no delimiter is quoted.\n *\n * @param options The parser options\n * @returns An object giving the offsets for the rows or columns parsed.\n *\n * #### Notes\n * This function is an optimized parser for cases where there are no field or\n * row delimiters in quotes. Note that the data can have quotes, but they are\n * not interpreted in any special way. This implementation is based on [RFC\n * 4180](https://tools.ietf.org/html/rfc4180), but disregards quotes.\n */\nfunction parseDSVNoQuotes(options) {\n // Set option defaults.\n const { data, columnOffsets, delimiter = ',', rowDelimiter = '\\r\\n', startIndex = 0, maxRows = 0xffffffff } = options;\n // ncols will be set automatically if it is undefined.\n let ncols = options.ncols;\n // Set up our return variables.\n const offsets = [];\n let nrows = 0;\n // Set up various state variables.\n const rowDelimiterLength = rowDelimiter.length;\n let currRow = startIndex;\n const len = data.length;\n let nextRow;\n let col;\n let rowString;\n let colIndex;\n // The end of the current row.\n let rowEnd;\n // Start parsing at the start index.\n nextRow = startIndex;\n // Loop through rows until we run out of data or we've reached maxRows.\n while (nextRow !== -1 && nrows < maxRows && currRow < len) {\n // Store the offset for the beginning of the row and increment the rows.\n offsets.push(currRow);\n nrows++;\n // Find the next row delimiter.\n nextRow = data.indexOf(rowDelimiter, currRow);\n // If the next row delimiter is not found, set the end of the row to the\n // end of the data string.\n rowEnd = nextRow === -1 ? len : nextRow;\n // If we are returning column offsets, push them onto the array.\n if (columnOffsets === true) {\n // Find the next field delimiter. We slice the current row out so that\n // the indexOf will stop at the end of the row. It may possibly be faster\n // to just use a loop to check each character.\n col = 1;\n rowString = data.slice(currRow, rowEnd);\n colIndex = rowString.indexOf(delimiter);\n if (ncols === undefined) {\n // If we don't know how many columns we need, loop through and find all\n // of the field delimiters in this row.\n while (colIndex !== -1) {\n offsets.push(currRow + colIndex + 1);\n col++;\n colIndex = rowString.indexOf(delimiter, colIndex + 1);\n }\n // Set ncols to the number of fields we found.\n ncols = col;\n }\n else {\n // If we know the number of columns we expect, find the field delimiters\n // up to that many columns.\n while (colIndex !== -1 && col < ncols) {\n offsets.push(currRow + colIndex + 1);\n col++;\n colIndex = rowString.indexOf(delimiter, colIndex + 1);\n }\n // If we didn't reach the number of columns we expected, pad the offsets\n // with the offset just before the row delimiter.\n while (col < ncols) {\n offsets.push(rowEnd);\n col++;\n }\n }\n }\n // Skip past the row delimiter at the end of the row.\n currRow = rowEnd + rowDelimiterLength;\n }\n return { nrows, ncols: columnOffsets ? ncols !== null && ncols !== void 0 ? ncols : 0 : 0, offsets };\n}\n//# sourceMappingURL=parse.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer/lib/parse.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer/lib/toolbar.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer/lib/toolbar.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CSVDelimiter: () => (/* binding */ CSVDelimiter)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_2__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * The class name added to a csv toolbar widget.\n */\nconst CSV_DELIMITER_CLASS = 'jp-CSVDelimiter';\nconst CSV_DELIMITER_LABEL_CLASS = 'jp-CSVDelimiter-label';\n/**\n * The class name added to a csv toolbar's dropdown element.\n */\nconst CSV_DELIMITER_DROPDOWN_CLASS = 'jp-CSVDelimiter-dropdown';\n/**\n * A widget for selecting a delimiter.\n */\nclass CSVDelimiter extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__.Widget {\n /**\n * Construct a new csv table widget.\n */\n constructor(options) {\n super({\n node: Private.createNode(options.widget.delimiter, options.translator)\n });\n this._widget = options.widget;\n this.addClass(CSV_DELIMITER_CLASS);\n }\n /**\n * The delimiter dropdown menu.\n */\n get selectNode() {\n return this.node.getElementsByTagName('select')[0];\n }\n /**\n * Handle the DOM events for the widget.\n *\n * @param event - The DOM event sent to the widget.\n *\n * #### Notes\n * This method implements the DOM `EventListener` interface and is\n * called in response to events on the dock panel's node. It should\n * not be called directly by user code.\n */\n handleEvent(event) {\n switch (event.type) {\n case 'change':\n this._widget.delimiter = this.selectNode.value;\n break;\n default:\n break;\n }\n }\n /**\n * Handle `after-attach` messages for the widget.\n */\n onAfterAttach(msg) {\n this.selectNode.addEventListener('change', this);\n }\n /**\n * Handle `before-detach` messages for the widget.\n */\n onBeforeDetach(msg) {\n this.selectNode.removeEventListener('change', this);\n }\n}\n/**\n * A namespace for private toolbar methods.\n */\nvar Private;\n(function (Private) {\n /**\n * Create the node for the delimiter switcher.\n */\n function createNode(selected, translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator;\n const trans = translator === null || translator === void 0 ? void 0 : translator.load('jupyterlab');\n // The supported parsing delimiters and labels.\n const delimiters = [\n [',', ','],\n [';', ';'],\n ['\\t', trans.__('tab')],\n ['|', trans.__('pipe')],\n ['#', trans.__('hash')]\n ];\n const div = document.createElement('div');\n const label = document.createElement('span');\n const select = document.createElement('select');\n label.textContent = trans.__('Delimiter: ');\n label.className = CSV_DELIMITER_LABEL_CLASS;\n for (const [delimiter, label] of delimiters) {\n const option = document.createElement('option');\n option.value = delimiter;\n option.textContent = label;\n if (delimiter === selected) {\n option.selected = true;\n }\n select.appendChild(option);\n }\n div.appendChild(label);\n const node = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.Styling.wrapSelect(select);\n node.classList.add(CSV_DELIMITER_DROPDOWN_CLASS);\n div.appendChild(node);\n return div;\n }\n Private.createNode = createNode;\n})(Private || (Private = {}));\n//# sourceMappingURL=toolbar.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer/lib/toolbar.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer/lib/widget.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer/lib/widget.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CSVDocumentWidget: () => (/* binding */ CSVDocumentWidget),\n/* harmony export */ CSVViewer: () => (/* binding */ CSVViewer),\n/* harmony export */ CSVViewerFactory: () => (/* binding */ CSVViewerFactory),\n/* harmony export */ GridSearchService: () => (/* binding */ GridSearchService),\n/* harmony export */ TSVViewerFactory: () => (/* binding */ TSVViewerFactory),\n/* harmony export */ TextRenderConfig: () => (/* binding */ TextRenderConfig)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/docregistry */ \"webpack/sharing/consume/default/@jupyterlab/docregistry/@jupyterlab/docregistry\");\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _toolbar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./toolbar */ \"../node_modules/@jupyterlab/csvviewer/lib/toolbar.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n/**\n * The class name added to a CSV viewer.\n */\nconst CSV_CLASS = 'jp-CSVViewer';\n/**\n * The class name added to a CSV viewer datagrid.\n */\nconst CSV_GRID_CLASS = 'jp-CSVViewer-grid';\n/**\n * The timeout to wait for change activity to have ceased before rendering.\n */\nconst RENDER_TIMEOUT = 1000;\n/**\n * Configuration for cells textrenderer.\n */\nclass TextRenderConfig {\n}\n/**\n * Search service remembers the search state and the location of the last\n * match, for incremental searching.\n * Search service is also responsible of providing a cell renderer function\n * to set the background color of cells matching the search text.\n */\nclass GridSearchService {\n constructor(grid) {\n this._looping = true;\n this._changed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__.Signal(this);\n this._grid = grid;\n this._query = null;\n this._row = 0;\n this._column = -1;\n }\n /**\n * A signal fired when the grid changes.\n */\n get changed() {\n return this._changed;\n }\n /**\n * Returns a cellrenderer config function to render each cell background.\n * If cell match, background is matchBackgroundColor, if it's the current\n * match, background is currentMatchBackgroundColor.\n */\n cellBackgroundColorRendererFunc(config) {\n return ({ value, row, column }) => {\n if (this._query) {\n if (value.match(this._query)) {\n if (this._row === row && this._column === column) {\n return config.currentMatchBackgroundColor;\n }\n return config.matchBackgroundColor;\n }\n }\n return '';\n };\n }\n /**\n * Clear the search.\n */\n clear() {\n this._query = null;\n this._row = 0;\n this._column = -1;\n this._changed.emit(undefined);\n }\n /**\n * incrementally look for searchText.\n */\n find(query, reverse = false) {\n const model = this._grid.dataModel;\n const rowCount = model.rowCount('body');\n const columnCount = model.columnCount('body');\n if (this._query !== query) {\n // reset search\n this._row = 0;\n this._column = -1;\n }\n this._query = query;\n // check if the match is in current viewport\n const minRow = this._grid.scrollY / this._grid.defaultSizes.rowHeight;\n const maxRow = (this._grid.scrollY + this._grid.pageHeight) /\n this._grid.defaultSizes.rowHeight;\n const minColumn = this._grid.scrollX / this._grid.defaultSizes.columnHeaderHeight;\n const maxColumn = (this._grid.scrollX + this._grid.pageWidth) /\n this._grid.defaultSizes.columnHeaderHeight;\n const isInViewport = (row, column) => {\n return (row >= minRow &&\n row <= maxRow &&\n column >= minColumn &&\n column <= maxColumn);\n };\n const increment = reverse ? -1 : 1;\n this._column += increment;\n for (let row = this._row; reverse ? row >= 0 : row < rowCount; row += increment) {\n for (let col = this._column; reverse ? col >= 0 : col < columnCount; col += increment) {\n const cellData = model.data('body', row, col);\n if (cellData.match(query)) {\n // to update the background of matching cells.\n // TODO: we only really need to invalidate the previous and current\n // cell rects, not the entire grid.\n this._changed.emit(undefined);\n if (!isInViewport(row, col)) {\n this._grid.scrollToRow(row);\n }\n this._row = row;\n this._column = col;\n return true;\n }\n }\n this._column = reverse ? columnCount - 1 : 0;\n }\n // We've finished searching all the way to the limits of the grid. If this\n // is the first time through (looping is true), wrap the indices and search\n // again. Otherwise, give up.\n if (this._looping) {\n this._looping = false;\n this._row = reverse ? 0 : rowCount - 1;\n this._wrapRows(reverse);\n try {\n return this.find(query, reverse);\n }\n finally {\n this._looping = true;\n }\n }\n return false;\n }\n /**\n * Wrap indices if needed to just before the start or just after the end.\n */\n _wrapRows(reverse = false) {\n const model = this._grid.dataModel;\n const rowCount = model.rowCount('body');\n const columnCount = model.columnCount('body');\n if (reverse && this._row <= 0) {\n // if we are at the front, wrap to just past the end.\n this._row = rowCount - 1;\n this._column = columnCount;\n }\n else if (!reverse && this._row >= rowCount - 1) {\n // if we are at the end, wrap to just before the front.\n this._row = 0;\n this._column = -1;\n }\n }\n get query() {\n return this._query;\n }\n}\n/**\n * A viewer for CSV tables.\n */\nclass CSVViewer extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__.Widget {\n /**\n * Construct a new CSV viewer.\n */\n constructor(options) {\n super();\n this._monitor = null;\n this._delimiter = ',';\n this._revealed = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__.PromiseDelegate();\n this._baseRenderer = null;\n this._context = options.context;\n this.layout = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__.PanelLayout();\n this.addClass(CSV_CLASS);\n this._ready = this.initialize();\n }\n /**\n * Promise which resolves when the content is ready.\n */\n get ready() {\n return this._ready;\n }\n async initialize() {\n const layout = this.layout;\n if (this.isDisposed || !layout) {\n return;\n }\n const { BasicKeyHandler, BasicMouseHandler, DataGrid } = await Private.ensureDataGrid();\n this._defaultStyle = DataGrid.defaultStyle;\n this._grid = new DataGrid({\n defaultSizes: {\n rowHeight: 24,\n columnWidth: 144,\n rowHeaderWidth: 64,\n columnHeaderHeight: 36\n }\n });\n this._grid.addClass(CSV_GRID_CLASS);\n this._grid.headerVisibility = 'all';\n this._grid.keyHandler = new BasicKeyHandler();\n this._grid.mouseHandler = new BasicMouseHandler();\n this._grid.copyConfig = {\n separator: '\\t',\n format: DataGrid.copyFormatGeneric,\n headers: 'all',\n warningThreshold: 1e6\n };\n layout.addWidget(this._grid);\n this._searchService = new GridSearchService(this._grid);\n this._searchService.changed.connect(this._updateRenderer, this);\n await this._context.ready;\n await this._updateGrid();\n this._revealed.resolve(undefined);\n // Throttle the rendering rate of the widget.\n this._monitor = new _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.ActivityMonitor({\n signal: this._context.model.contentChanged,\n timeout: RENDER_TIMEOUT\n });\n this._monitor.activityStopped.connect(this._updateGrid, this);\n }\n /**\n * The CSV widget's context.\n */\n get context() {\n return this._context;\n }\n /**\n * A promise that resolves when the csv viewer is ready to be revealed.\n */\n get revealed() {\n return this._revealed.promise;\n }\n /**\n * The delimiter for the file.\n */\n get delimiter() {\n return this._delimiter;\n }\n set delimiter(value) {\n if (value === this._delimiter) {\n return;\n }\n this._delimiter = value;\n void this._updateGrid();\n }\n /**\n * The style used by the data grid.\n */\n get style() {\n return this._grid.style;\n }\n set style(value) {\n this._grid.style = { ...this._defaultStyle, ...value };\n }\n /**\n * The config used to create text renderer.\n */\n set rendererConfig(rendererConfig) {\n this._baseRenderer = rendererConfig;\n void this._updateRenderer();\n }\n /**\n * The search service\n */\n get searchService() {\n return this._searchService;\n }\n /**\n * Dispose of the resources used by the widget.\n */\n dispose() {\n if (this._monitor) {\n this._monitor.dispose();\n }\n super.dispose();\n }\n /**\n * Go to line\n */\n goToLine(lineNumber) {\n this._grid.scrollToRow(lineNumber);\n }\n /**\n * Handle `'activate-request'` messages.\n */\n onActivateRequest(msg) {\n this.node.tabIndex = -1;\n this.node.focus();\n }\n /**\n * Create the model for the grid.\n */\n async _updateGrid() {\n const { BasicSelectionModel } = await Private.ensureDataGrid();\n const { DSVModel } = await Private.ensureDSVModel();\n const data = this._context.model.toString();\n const delimiter = this._delimiter;\n const oldModel = this._grid.dataModel;\n const dataModel = (this._grid.dataModel = new DSVModel({\n data,\n delimiter\n }));\n this._grid.selectionModel = new BasicSelectionModel({ dataModel });\n if (oldModel) {\n oldModel.dispose();\n }\n }\n /**\n * Update the renderer for the grid.\n */\n async _updateRenderer() {\n if (this._baseRenderer === null) {\n return;\n }\n const { TextRenderer } = await Private.ensureDataGrid();\n const rendererConfig = this._baseRenderer;\n const renderer = new TextRenderer({\n textColor: rendererConfig.textColor,\n horizontalAlignment: rendererConfig.horizontalAlignment,\n backgroundColor: this._searchService.cellBackgroundColorRendererFunc(rendererConfig)\n });\n this._grid.cellRenderers.update({\n body: renderer,\n 'column-header': renderer,\n 'corner-header': renderer,\n 'row-header': renderer\n });\n }\n}\n/**\n * A document widget for CSV content widgets.\n */\nclass CSVDocumentWidget extends _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__.DocumentWidget {\n constructor(options) {\n let { content, context, delimiter, reveal, ...other } = options;\n content = content || Private.createContent(context);\n reveal = Promise.all([reveal, content.revealed]);\n super({ content, context, reveal, ...other });\n if (delimiter) {\n content.delimiter = delimiter;\n }\n }\n /**\n * Set URI fragment identifier for rows\n */\n setFragment(fragment) {\n const parseFragments = fragment.split('=');\n // TODO: expand to allow columns and cells to be selected\n // reference: https://tools.ietf.org/html/rfc7111#section-3\n if (parseFragments[0] !== '#row') {\n return;\n }\n // multiple rows, separated by semi-colons can be provided, we will just\n // go to the top one\n let topRow = parseFragments[1].split(';')[0];\n // a range of rows can be provided, we will take the first value\n topRow = topRow.split('-')[0];\n // go to that row\n void this.context.ready.then(() => {\n this.content.goToLine(Number(topRow));\n });\n }\n}\n/**\n * A widget factory for CSV widgets.\n */\nclass CSVViewerFactory extends _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_1__.ABCWidgetFactory {\n /**\n * Create a new widget given a context.\n */\n createNewWidget(context) {\n const translator = this.translator;\n return new CSVDocumentWidget({ context, translator });\n }\n /**\n * Default factory for toolbar items to be added after the widget is created.\n */\n defaultToolbarFactory(widget) {\n return [\n {\n name: 'delimiter',\n widget: new _toolbar__WEBPACK_IMPORTED_MODULE_5__.CSVDelimiter({\n widget: widget.content,\n translator: this.translator\n })\n }\n ];\n }\n}\n/**\n * A widget factory for TSV widgets.\n */\nclass TSVViewerFactory extends CSVViewerFactory {\n /**\n * Create a new widget given a context.\n */\n createNewWidget(context) {\n const delimiter = '\\t';\n return new CSVDocumentWidget({\n context,\n delimiter,\n translator: this.translator\n });\n }\n}\nvar Private;\n(function (Private) {\n let gridLoaded = null;\n let modelLoaded = null;\n /**\n * Lazily load the datagrid module when the first grid is requested.\n */\n async function ensureDataGrid() {\n if (gridLoaded == null) {\n gridLoaded = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__.PromiseDelegate();\n gridLoaded.resolve(await __webpack_require__.e(/*! import() */ \"webpack_sharing_consume_default_lumino_datagrid_lumino_datagrid\").then(__webpack_require__.t.bind(__webpack_require__, /*! @lumino/datagrid */ \"webpack/sharing/consume/default/@lumino/datagrid/@lumino/datagrid\", 23)));\n }\n return gridLoaded.promise;\n }\n Private.ensureDataGrid = ensureDataGrid;\n async function ensureDSVModel() {\n if (modelLoaded == null) {\n modelLoaded = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_2__.PromiseDelegate();\n modelLoaded.resolve(await Promise.all(/*! import() */[__webpack_require__.e(\"notebook_core\"), __webpack_require__.e(\"webpack_sharing_consume_default_lumino_datagrid_lumino_datagrid\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./model */ \"../node_modules/@jupyterlab/csvviewer/lib/model.js\")));\n }\n return modelLoaded.promise;\n }\n Private.ensureDSVModel = ensureDSVModel;\n function createContent(context) {\n return new CSVViewer({ context });\n }\n Private.createContent = createContent;\n})(Private || (Private = {}));\n//# sourceMappingURL=widget.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer/lib/widget.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/csvviewer/style/index.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/csvviewer/style/index.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_docregistry_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/docregistry/style/index.js */ \"../node_modules/@jupyterlab/docregistry/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/csvviewer/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/csvviewer/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger-extension/lib/index.js":
+/*!*******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger-extension/lib/index.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/application */ \"webpack/sharing/consume/default/@jupyterlab/application/@jupyterlab/application\");\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/cells */ \"webpack/sharing/consume/default/@jupyterlab/cells/@jupyterlab/cells\");\n/* harmony import */ var _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/console */ \"webpack/sharing/consume/default/@jupyterlab/console/@jupyterlab/console\");\n/* harmony import */ var _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/debugger */ \"webpack/sharing/consume/default/@jupyterlab/debugger/@jupyterlab/debugger\");\n/* harmony import */ var _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @jupyterlab/docregistry */ \"webpack/sharing/consume/default/@jupyterlab/docregistry/@jupyterlab/docregistry\");\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _jupyterlab_fileeditor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @jupyterlab/fileeditor */ \"webpack/sharing/consume/default/@jupyterlab/fileeditor/@jupyterlab/fileeditor\");\n/* harmony import */ var _jupyterlab_fileeditor__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_fileeditor__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _jupyterlab_logconsole__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @jupyterlab/logconsole */ \"webpack/sharing/consume/default/@jupyterlab/logconsole/@jupyterlab/logconsole\");\n/* harmony import */ var _jupyterlab_logconsole__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_logconsole__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @jupyterlab/notebook */ \"webpack/sharing/consume/default/@jupyterlab/notebook/@jupyterlab/notebook\");\n/* harmony import */ var _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @jupyterlab/rendermime */ \"webpack/sharing/consume/default/@jupyterlab/rendermime/@jupyterlab/rendermime\");\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module debugger-extension\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction notifyCommands(commands) {\n Object.values(_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.CommandIDs).forEach(command => {\n if (commands.hasCommand(command)) {\n commands.notifyCommandChanged(command);\n }\n });\n}\nfunction updateState(commands, debug) {\n const hasStoppedThreads = debug.hasStoppedThreads();\n if (hasStoppedThreads) {\n document.body.dataset.jpDebuggerStoppedThreads = 'true';\n }\n else {\n delete document.body.dataset.jpDebuggerStoppedThreads;\n }\n notifyCommands(commands);\n}\n/**\n * A plugin that provides visual debugging support for consoles.\n */\nconst consoles = {\n // FIXME This should be in @jupyterlab/console-extension\n id: '@jupyterlab/debugger-extension:consoles',\n description: 'Add debugger capability to the consoles.',\n autoStart: true,\n requires: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebugger, _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.IConsoleTracker],\n optional: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabShell],\n activate: (app, debug, consoleTracker, labShell) => {\n const handler = new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Handler({\n type: 'console',\n shell: app.shell,\n service: debug\n });\n const updateHandlerAndCommands = async (widget) => {\n const { sessionContext } = widget;\n await sessionContext.ready;\n await handler.updateContext(widget, sessionContext);\n updateState(app.commands, debug);\n };\n if (labShell) {\n labShell.currentChanged.connect((_, update) => {\n const widget = update.newValue;\n if (widget instanceof _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.ConsolePanel) {\n void updateHandlerAndCommands(widget);\n }\n });\n }\n else {\n consoleTracker.currentChanged.connect((_, consolePanel) => {\n if (consolePanel) {\n void updateHandlerAndCommands(consolePanel);\n }\n });\n }\n }\n};\n/**\n * A plugin that provides visual debugging support for file editors.\n */\nconst files = {\n // FIXME This should be in @jupyterlab/fileeditor-extension\n id: '@jupyterlab/debugger-extension:files',\n description: 'Adds debugger capabilities to files.',\n autoStart: true,\n requires: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebugger, _jupyterlab_fileeditor__WEBPACK_IMPORTED_MODULE_8__.IEditorTracker],\n optional: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabShell],\n activate: (app, debug, editorTracker, labShell) => {\n const handler = new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Handler({\n type: 'file',\n shell: app.shell,\n service: debug\n });\n const activeSessions = {};\n const updateHandlerAndCommands = async (widget) => {\n const sessions = app.serviceManager.sessions;\n try {\n const model = await sessions.findByPath(widget.context.path);\n if (!model) {\n return;\n }\n let session = activeSessions[model.id];\n if (!session) {\n // Use `connectTo` only if the session does not exist.\n // `connectTo` sends a kernel_info_request on the shell\n // channel, which blocks the debug session restore when waiting\n // for the kernel to be ready\n session = sessions.connectTo({ model });\n activeSessions[model.id] = session;\n }\n await handler.update(widget, session);\n updateState(app.commands, debug);\n }\n catch (_a) {\n return;\n }\n };\n if (labShell) {\n labShell.currentChanged.connect((_, update) => {\n const widget = update.newValue;\n if (widget instanceof _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_7__.DocumentWidget) {\n const { content } = widget;\n if (content instanceof _jupyterlab_fileeditor__WEBPACK_IMPORTED_MODULE_8__.FileEditor) {\n void updateHandlerAndCommands(widget);\n }\n }\n });\n }\n else {\n editorTracker.currentChanged.connect((_, documentWidget) => {\n if (documentWidget) {\n void updateHandlerAndCommands(documentWidget);\n }\n });\n }\n }\n};\n/**\n * A plugin that provides visual debugging support for notebooks.\n */\nconst notebooks = {\n // FIXME This should be in @jupyterlab/notebook-extension\n id: '@jupyterlab/debugger-extension:notebooks',\n description: 'Adds debugger capability to notebooks and provides the debugger notebook handler.',\n autoStart: true,\n requires: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebugger, _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__.INotebookTracker],\n optional: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabShell, _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ICommandPalette, _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ISessionContextDialogs, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13__.ITranslator],\n provides: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerHandler,\n activate: (app, service, notebookTracker, labShell, palette, sessionDialogs_, translator_) => {\n const translator = translator_ !== null && translator_ !== void 0 ? translator_ : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13__.nullTranslator;\n const sessionDialogs = sessionDialogs_ !== null && sessionDialogs_ !== void 0 ? sessionDialogs_ : new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.SessionContextDialogs({ translator });\n const handler = new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Handler({\n type: 'notebook',\n shell: app.shell,\n service\n });\n const trans = translator.load('jupyterlab');\n app.commands.addCommand(_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.CommandIDs.restartDebug, {\n label: trans.__('Restart Kernel and Debug…'),\n caption: trans.__('Restart Kernel and Debug…'),\n isEnabled: () => service.isStarted,\n execute: async () => {\n const state = service.getDebuggerState();\n await service.stop();\n const widget = notebookTracker.currentWidget;\n if (!widget) {\n return;\n }\n const { content, sessionContext } = widget;\n const restarted = await sessionDialogs.restart(sessionContext);\n if (!restarted) {\n return;\n }\n await service.restoreDebuggerState(state);\n await handler.updateWidget(widget, sessionContext.session);\n await _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__.NotebookActions.runAll(content, sessionContext, sessionDialogs, translator);\n }\n });\n const updateHandlerAndCommands = async (widget) => {\n if (widget) {\n const { sessionContext } = widget;\n await sessionContext.ready;\n await handler.updateContext(widget, sessionContext);\n }\n updateState(app.commands, service);\n };\n if (labShell) {\n labShell.currentChanged.connect((_, update) => {\n const widget = update.newValue;\n if (widget instanceof _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__.NotebookPanel) {\n void updateHandlerAndCommands(widget);\n }\n });\n }\n else {\n notebookTracker.currentChanged.connect((_, notebookPanel) => {\n if (notebookPanel) {\n void updateHandlerAndCommands(notebookPanel);\n }\n });\n }\n if (palette) {\n palette.addItem({\n category: 'Notebook Operations',\n command: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.CommandIDs.restartDebug\n });\n }\n return handler;\n }\n};\n/**\n * A plugin that provides a debugger service.\n */\nconst service = {\n id: '@jupyterlab/debugger-extension:service',\n description: 'Provides the debugger service.',\n autoStart: true,\n provides: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebugger,\n requires: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerConfig],\n optional: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerSources, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13__.ITranslator],\n activate: (app, config, debuggerSources, translator) => new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Service({\n config,\n debuggerSources,\n specsManager: app.serviceManager.kernelspecs,\n translator\n })\n};\n/**\n * A plugin that provides a configuration with hash method.\n */\nconst configuration = {\n id: '@jupyterlab/debugger-extension:config',\n description: 'Provides the debugger configuration',\n provides: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerConfig,\n autoStart: true,\n activate: () => new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Config()\n};\n/**\n * A plugin that provides source/editor functionality for debugging.\n */\nconst sources = {\n id: '@jupyterlab/debugger-extension:sources',\n description: 'Provides the source feature for debugging',\n autoStart: true,\n provides: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerSources,\n requires: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerConfig, _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_3__.IEditorServices],\n optional: [_jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__.INotebookTracker, _jupyterlab_console__WEBPACK_IMPORTED_MODULE_4__.IConsoleTracker, _jupyterlab_fileeditor__WEBPACK_IMPORTED_MODULE_8__.IEditorTracker],\n activate: (app, config, editorServices, notebookTracker, consoleTracker, editorTracker) => {\n return new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Sources({\n config,\n shell: app.shell,\n editorServices,\n notebookTracker,\n consoleTracker,\n editorTracker\n });\n }\n};\n/*\n * A plugin to open detailed views for variables.\n */\nconst variables = {\n id: '@jupyterlab/debugger-extension:variables',\n description: 'Adds variables renderer and inspection in the debugger variable panel.',\n autoStart: true,\n requires: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebugger, _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerHandler, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13__.ITranslator],\n optional: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IThemeManager, _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_11__.IRenderMimeRegistry],\n activate: (app, service, handler, translator, themeManager, rendermime) => {\n const trans = translator.load('jupyterlab');\n const { commands, shell } = app;\n const tracker = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.WidgetTracker({\n namespace: 'debugger/inspect-variable'\n });\n const trackerMime = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.WidgetTracker({\n namespace: 'debugger/render-variable'\n });\n const CommandIDs = _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.CommandIDs;\n // Add commands\n commands.addCommand(CommandIDs.inspectVariable, {\n label: trans.__('Inspect Variable'),\n caption: trans.__('Inspect Variable'),\n isEnabled: args => {\n var _a, _b, _c, _d;\n return !!((_a = service.session) === null || _a === void 0 ? void 0 : _a.isStarted) &&\n Number((_d = (_b = args.variableReference) !== null && _b !== void 0 ? _b : (_c = service.model.variables.selectedVariable) === null || _c === void 0 ? void 0 : _c.variablesReference) !== null && _d !== void 0 ? _d : 0) > 0;\n },\n execute: async (args) => {\n var _a, _b, _c, _d;\n let { variableReference, name } = args;\n if (!variableReference) {\n variableReference =\n (_a = service.model.variables.selectedVariable) === null || _a === void 0 ? void 0 : _a.variablesReference;\n }\n if (!name) {\n name = (_b = service.model.variables.selectedVariable) === null || _b === void 0 ? void 0 : _b.name;\n }\n const id = `jp-debugger-variable-${name}`;\n if (!name ||\n !variableReference ||\n tracker.find(widget => widget.id === id)) {\n return;\n }\n const variables = await service.inspectVariable(variableReference);\n if (!variables || variables.length === 0) {\n return;\n }\n const model = service.model.variables;\n const widget = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.MainAreaWidget({\n content: new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.VariablesGrid({\n model,\n commands,\n scopes: [{ name, variables }],\n themeManager\n })\n });\n widget.addClass('jp-DebuggerVariables');\n widget.id = id;\n widget.title.icon = _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Icons.variableIcon;\n widget.title.label = `${(_d = (_c = service.session) === null || _c === void 0 ? void 0 : _c.connection) === null || _d === void 0 ? void 0 : _d.name} - ${name}`;\n void tracker.add(widget);\n const disposeWidget = () => {\n widget.dispose();\n model.changed.disconnect(disposeWidget);\n };\n model.changed.connect(disposeWidget);\n shell.add(widget, 'main', {\n mode: tracker.currentWidget ? 'split-right' : 'split-bottom',\n activate: false,\n type: 'Debugger Variables'\n });\n }\n });\n commands.addCommand(CommandIDs.renderMimeVariable, {\n label: trans.__('Render Variable'),\n caption: trans.__('Render variable according to its mime type'),\n isEnabled: () => { var _a; return !!((_a = service.session) === null || _a === void 0 ? void 0 : _a.isStarted); },\n isVisible: () => service.model.hasRichVariableRendering &&\n (rendermime !== null || handler.activeWidget instanceof _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__.NotebookPanel),\n execute: args => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n let { name, frameId } = args;\n if (!name) {\n name = (_a = service.model.variables.selectedVariable) === null || _a === void 0 ? void 0 : _a.name;\n }\n if (!frameId) {\n frameId = (_b = service.model.callstack.frame) === null || _b === void 0 ? void 0 : _b.id;\n }\n const activeWidget = handler.activeWidget;\n let activeRendermime = activeWidget instanceof _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__.NotebookPanel\n ? activeWidget.content.rendermime\n : rendermime;\n if (!activeRendermime) {\n return;\n }\n const id = `jp-debugger-variable-mime-${name}-${(_d = (_c = service.session) === null || _c === void 0 ? void 0 : _c.connection) === null || _d === void 0 ? void 0 : _d.path.replace('/', '-')}`;\n if (!name || // Name is mandatory\n trackerMime.find(widget => widget.id === id) || // Widget already exists\n (!frameId && service.hasStoppedThreads()) // frame id missing on breakpoint\n ) {\n return;\n }\n const variablesModel = service.model.variables;\n const widget = new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.VariableRenderer({\n dataLoader: () => service.inspectRichVariable(name, frameId),\n rendermime: activeRendermime,\n translator\n });\n widget.addClass('jp-DebuggerRichVariable');\n widget.id = id;\n widget.title.icon = _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Icons.variableIcon;\n widget.title.label = `${name} - ${(_f = (_e = service.session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.name}`;\n widget.title.caption = `${name} - ${(_h = (_g = service.session) === null || _g === void 0 ? void 0 : _g.connection) === null || _h === void 0 ? void 0 : _h.path}`;\n void trackerMime.add(widget);\n const disposeWidget = () => {\n widget.dispose();\n variablesModel.changed.disconnect(refreshWidget);\n activeWidget === null || activeWidget === void 0 ? void 0 : activeWidget.disposed.disconnect(disposeWidget);\n };\n const refreshWidget = () => {\n // Refresh the widget only if the active element is the same.\n if (handler.activeWidget === activeWidget) {\n void widget.refresh();\n }\n };\n widget.disposed.connect(disposeWidget);\n variablesModel.changed.connect(refreshWidget);\n activeWidget === null || activeWidget === void 0 ? void 0 : activeWidget.disposed.connect(disposeWidget);\n shell.add(widget, 'main', {\n mode: trackerMime.currentWidget ? 'split-right' : 'split-bottom',\n activate: false,\n type: 'Debugger Variables'\n });\n }\n });\n commands.addCommand(CommandIDs.copyToClipboard, {\n label: trans.__('Copy to Clipboard'),\n caption: trans.__('Copy text representation of the value to clipboard'),\n isEnabled: () => {\n var _a, _b;\n return (!!((_a = service.session) === null || _a === void 0 ? void 0 : _a.isStarted) &&\n !!((_b = service.model.variables.selectedVariable) === null || _b === void 0 ? void 0 : _b.value));\n },\n isVisible: () => handler.activeWidget instanceof _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__.NotebookPanel,\n execute: async () => {\n const value = service.model.variables.selectedVariable.value;\n if (value) {\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Clipboard.copyToSystem(value);\n }\n }\n });\n commands.addCommand(CommandIDs.copyToGlobals, {\n label: trans.__('Copy Variable to Globals'),\n caption: trans.__('Copy variable to globals scope'),\n isEnabled: () => { var _a; return !!((_a = service.session) === null || _a === void 0 ? void 0 : _a.isStarted); },\n isVisible: () => handler.activeWidget instanceof _jupyterlab_notebook__WEBPACK_IMPORTED_MODULE_10__.NotebookPanel &&\n service.model.supportCopyToGlobals,\n execute: async (args) => {\n const name = service.model.variables.selectedVariable.name;\n await service.copyToGlobals(name);\n }\n });\n }\n};\n/**\n * Debugger sidebar provider plugin.\n */\nconst sidebar = {\n id: '@jupyterlab/debugger-extension:sidebar',\n description: 'Provides the debugger sidebar.',\n provides: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerSidebar,\n requires: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebugger, _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_3__.IEditorServices, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13__.ITranslator],\n optional: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.IThemeManager, _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_12__.ISettingRegistry],\n autoStart: true,\n activate: async (app, service, editorServices, translator, themeManager, settingRegistry) => {\n const { commands } = app;\n const CommandIDs = _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.CommandIDs;\n const callstackCommands = {\n registry: commands,\n continue: CommandIDs.debugContinue,\n terminate: CommandIDs.terminate,\n next: CommandIDs.next,\n stepIn: CommandIDs.stepIn,\n stepOut: CommandIDs.stepOut,\n evaluate: CommandIDs.evaluate\n };\n const breakpointsCommands = {\n registry: commands,\n pauseOnExceptions: CommandIDs.pauseOnExceptions\n };\n const sidebar = new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Sidebar({\n service,\n callstackCommands,\n breakpointsCommands,\n editorServices,\n themeManager,\n translator\n });\n if (settingRegistry) {\n const setting = await settingRegistry.load(main.id);\n const updateSettings = () => {\n var _a, _b, _c, _d;\n const filters = setting.get('variableFilters').composite;\n const kernel = (_d = (_c = (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '';\n if (kernel && filters[kernel]) {\n sidebar.variables.filter = new Set(filters[kernel]);\n }\n const kernelSourcesFilter = setting.get('defaultKernelSourcesFilter')\n .composite;\n sidebar.kernelSources.filter = kernelSourcesFilter;\n };\n updateSettings();\n setting.changed.connect(updateSettings);\n service.sessionChanged.connect(updateSettings);\n }\n return sidebar;\n }\n};\n/**\n * The source viewer UI plugin.\n */\nconst sourceViewer = {\n id: '@jupyterlab/debugger-extension:source-viewer',\n description: 'Initialize the debugger sources viewer.',\n requires: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebugger, _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_3__.IEditorServices, _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerSources, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13__.ITranslator],\n provides: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerSourceViewer,\n autoStart: true,\n activate: async (app, service, editorServices, debuggerSources, translator) => {\n const readOnlyEditorFactory = new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.ReadOnlyEditorFactory({\n editorServices\n });\n const { model } = service;\n const onCurrentFrameChanged = (_, frame) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n debuggerSources\n .find({\n focus: true,\n kernel: (_d = (_c = (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '',\n path: (_g = (_f = (_e = service.session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.path) !== null && _g !== void 0 ? _g : '',\n source: (_j = (_h = frame === null || frame === void 0 ? void 0 : frame.source) === null || _h === void 0 ? void 0 : _h.path) !== null && _j !== void 0 ? _j : ''\n })\n .forEach(editor => {\n requestAnimationFrame(() => {\n void editor.reveal().then(() => {\n const edit = editor.get();\n if (edit) {\n _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.EditorHandler.showCurrentLine(edit, frame.line);\n }\n });\n });\n });\n };\n model.callstack.currentFrameChanged.connect(onCurrentFrameChanged);\n const openSource = (source, breakpoint) => {\n var _a, _b, _c, _d, _e, _f, _g;\n if (!source) {\n return;\n }\n const { content, mimeType, path } = source;\n const results = debuggerSources.find({\n focus: true,\n kernel: (_d = (_c = (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '',\n path: (_g = (_f = (_e = service.session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.path) !== null && _g !== void 0 ? _g : '',\n source: path\n });\n if (results.length > 0) {\n if (breakpoint && typeof breakpoint.line !== 'undefined') {\n results.forEach(editor => {\n void editor.reveal().then(() => {\n var _a;\n (_a = editor.get()) === null || _a === void 0 ? void 0 : _a.revealPosition({\n line: breakpoint.line - 1,\n column: breakpoint.column || 0\n });\n });\n });\n }\n return;\n }\n const editorWrapper = readOnlyEditorFactory.createNewEditor({\n content,\n mimeType,\n path\n });\n const editor = editorWrapper.editor;\n const editorHandler = new _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.EditorHandler({\n debuggerService: service,\n editorReady: () => Promise.resolve(editor),\n getEditor: () => editor,\n path,\n src: editor.model.sharedModel\n });\n editorWrapper.disposed.connect(() => editorHandler.dispose());\n debuggerSources.open({\n label: _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_5__.PathExt.basename(path),\n caption: path,\n editorWrapper\n });\n const frame = service.model.callstack.frame;\n if (frame) {\n _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.EditorHandler.showCurrentLine(editor, frame.line);\n }\n };\n const trans = translator.load('jupyterlab');\n app.commands.addCommand(_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.CommandIDs.openSource, {\n label: trans.__('Open Source'),\n caption: trans.__('Open Source'),\n isEnabled: () => !!sourceViewer,\n execute: async (args) => {\n const path = args.path || '';\n if (!path) {\n throw Error('Path to open is needed');\n }\n if (!service.isStarted) {\n const choice = await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Start debugger?'),\n body: trans.__('The debugger service is needed to open the source %1', path),\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.cancelButton({ label: trans.__('Cancel') }),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton({ label: trans.__('Start debugger') })\n ]\n });\n if (choice.button.accept) {\n await service.start();\n }\n else {\n return;\n }\n }\n const source = await service.getSource({\n path\n });\n return openSource(source);\n }\n });\n return Object.freeze({\n open: openSource\n });\n }\n};\n/**\n * The main debugger UI plugin.\n */\nconst main = {\n id: '@jupyterlab/debugger-extension:main',\n description: 'Initialize the debugger user interface.',\n requires: [_jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebugger, _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerSidebar, _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_3__.IEditorServices, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_13__.ITranslator],\n optional: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ICommandPalette,\n _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.IDebuggerSourceViewer,\n _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabShell,\n _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILayoutRestorer,\n _jupyterlab_logconsole__WEBPACK_IMPORTED_MODULE_9__.ILoggerRegistry,\n _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_12__.ISettingRegistry\n ],\n autoStart: true,\n activate: async (app, service, sidebar, editorServices, translator, palette, sourceViewer, labShell, restorer, loggerRegistry, settingRegistry) => {\n var _a;\n const trans = translator.load('jupyterlab');\n const { commands, shell, serviceManager } = app;\n const { kernelspecs } = serviceManager;\n const CommandIDs = _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.CommandIDs;\n // First check if there is a PageConfig override for the extension visibility\n const alwaysShowDebuggerExtension = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_5__.PageConfig.getOption('alwaysShowDebuggerExtension').toLowerCase() ===\n 'true';\n if (!alwaysShowDebuggerExtension) {\n // hide the debugger sidebar if no kernel with support for debugging is available\n await kernelspecs.ready;\n const specs = (_a = kernelspecs.specs) === null || _a === void 0 ? void 0 : _a.kernelspecs;\n if (!specs) {\n return;\n }\n const enabled = Object.keys(specs).some(name => { var _a, _b, _c; return !!((_c = (_b = (_a = specs[name]) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b['debugger']) !== null && _c !== void 0 ? _c : false); });\n if (!enabled) {\n return;\n }\n }\n // get the mime type of the kernel language for the current debug session\n const getMimeType = async () => {\n var _a, _b, _c;\n const kernel = (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel;\n if (!kernel) {\n return '';\n }\n const info = (await kernel.info).language_info;\n const name = info.name;\n const mimeType = (_c = editorServices.mimeTypeService.getMimeTypeByLanguage({ name })) !== null && _c !== void 0 ? _c : '';\n return mimeType;\n };\n const rendermime = new _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_11__.RenderMimeRegistry({ initialFactories: _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_11__.standardRendererFactories });\n commands.addCommand(CommandIDs.evaluate, {\n label: trans.__('Evaluate Code'),\n caption: trans.__('Evaluate Code'),\n icon: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Icons.evaluateIcon,\n isEnabled: () => service.hasStoppedThreads(),\n execute: async () => {\n var _a, _b, _c;\n const mimeType = await getMimeType();\n const result = await _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Dialogs.getCode({\n title: trans.__('Evaluate Code'),\n okLabel: trans.__('Evaluate'),\n cancelLabel: trans.__('Cancel'),\n mimeType,\n contentFactory: new _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_2__.CodeCell.ContentFactory({\n editorFactory: options => editorServices.factoryService.newInlineEditor(options)\n }),\n rendermime\n });\n const code = result.value;\n if (!result.button.accept || !code) {\n return;\n }\n const reply = await service.evaluate(code);\n if (reply) {\n const data = reply.result;\n const path = (_b = (_a = service === null || service === void 0 ? void 0 : service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.path;\n const logger = path ? (_c = loggerRegistry === null || loggerRegistry === void 0 ? void 0 : loggerRegistry.getLogger) === null || _c === void 0 ? void 0 : _c.call(loggerRegistry, path) : undefined;\n if (logger) {\n // print to log console of the notebook currently being debugged\n logger.log({ type: 'text', data, level: logger.level });\n }\n else {\n // fallback to printing to devtools console\n console.debug(data);\n }\n }\n }\n });\n commands.addCommand(CommandIDs.debugContinue, {\n label: () => {\n return service.hasStoppedThreads()\n ? trans.__('Continue')\n : trans.__('Pause');\n },\n caption: () => {\n return service.hasStoppedThreads()\n ? trans.__('Continue')\n : trans.__('Pause');\n },\n icon: () => {\n return service.hasStoppedThreads()\n ? _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Icons.continueIcon\n : _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Icons.pauseIcon;\n },\n isEnabled: () => { var _a, _b; return (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.isStarted) !== null && _b !== void 0 ? _b : false; },\n execute: async () => {\n if (service.hasStoppedThreads()) {\n await service.continue();\n }\n else {\n await service.pause();\n }\n commands.notifyCommandChanged(CommandIDs.debugContinue);\n }\n });\n commands.addCommand(CommandIDs.terminate, {\n label: trans.__('Terminate'),\n caption: trans.__('Terminate'),\n icon: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Icons.terminateIcon,\n isEnabled: () => service.hasStoppedThreads(),\n execute: async () => {\n await service.restart();\n updateState(app.commands, service);\n }\n });\n commands.addCommand(CommandIDs.next, {\n label: trans.__('Next'),\n caption: trans.__('Next'),\n icon: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Icons.stepOverIcon,\n isEnabled: () => service.hasStoppedThreads(),\n execute: async () => {\n await service.next();\n }\n });\n commands.addCommand(CommandIDs.stepIn, {\n label: trans.__('Step In'),\n caption: trans.__('Step In'),\n icon: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Icons.stepIntoIcon,\n isEnabled: () => service.hasStoppedThreads(),\n execute: async () => {\n await service.stepIn();\n }\n });\n commands.addCommand(CommandIDs.stepOut, {\n label: trans.__('Step Out'),\n caption: trans.__('Step Out'),\n icon: _jupyterlab_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.Icons.stepOutIcon,\n isEnabled: () => service.hasStoppedThreads(),\n execute: async () => {\n await service.stepOut();\n }\n });\n commands.addCommand(CommandIDs.pauseOnExceptions, {\n label: args => args.filter || 'Breakpoints on exception',\n caption: args => args.description,\n isToggled: args => { var _a; return ((_a = service.session) === null || _a === void 0 ? void 0 : _a.isPausingOnException(args.filter)) || false; },\n isEnabled: () => service.pauseOnExceptionsIsValid(),\n execute: async (args) => {\n var _a, _b, _c;\n if (args === null || args === void 0 ? void 0 : args.filter) {\n let filter = args.filter;\n await service.pauseOnExceptionsFilter(filter);\n }\n else {\n let items = [];\n (_b = (_a = service.session) === null || _a === void 0 ? void 0 : _a.exceptionBreakpointFilters) === null || _b === void 0 ? void 0 : _b.forEach(availableFilter => {\n items.push(availableFilter.filter);\n });\n const result = await _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.InputDialog.getMultipleItems({\n title: trans.__('Select a filter for breakpoints on exception'),\n items: items,\n defaults: ((_c = service.session) === null || _c === void 0 ? void 0 : _c.currentExceptionFilters) || []\n });\n let filters = result.button.accept ? result.value : null;\n if (filters !== null) {\n await service.pauseOnExceptions(filters);\n }\n }\n }\n });\n let autoCollapseSidebar = false;\n if (settingRegistry) {\n const setting = await settingRegistry.load(main.id);\n const updateSettings = () => {\n autoCollapseSidebar = setting.get('autoCollapseDebuggerSidebar')\n .composite;\n };\n updateSettings();\n setting.changed.connect(updateSettings);\n }\n service.eventMessage.connect((_, event) => {\n updateState(app.commands, service);\n if (labShell && event.event === 'initialized') {\n labShell.activateById(sidebar.id);\n }\n else if (labShell &&\n sidebar.isVisible &&\n event.event === 'terminated' &&\n autoCollapseSidebar) {\n labShell.collapseRight();\n }\n });\n service.sessionChanged.connect(_ => {\n updateState(app.commands, service);\n });\n if (restorer) {\n restorer.add(sidebar, 'debugger-sidebar');\n }\n sidebar.node.setAttribute('role', 'region');\n sidebar.node.setAttribute('aria-label', trans.__('Debugger section'));\n sidebar.title.caption = trans.__('Debugger');\n shell.add(sidebar, 'right', { type: 'Debugger' });\n commands.addCommand(CommandIDs.showPanel, {\n label: trans.__('Debugger Panel'),\n execute: () => {\n shell.activateById(sidebar.id);\n }\n });\n if (palette) {\n const category = trans.__('Debugger');\n [\n CommandIDs.debugContinue,\n CommandIDs.terminate,\n CommandIDs.next,\n CommandIDs.stepIn,\n CommandIDs.stepOut,\n CommandIDs.evaluate,\n CommandIDs.pauseOnExceptions\n ].forEach(command => {\n palette.addItem({ command, category });\n });\n }\n if (sourceViewer) {\n const { model } = service;\n const onKernelSourceOpened = (_, source, breakpoint) => {\n if (!source) {\n return;\n }\n sourceViewer.open(source, breakpoint);\n };\n model.sources.currentSourceOpened.connect((_, source) => {\n sourceViewer.open(source);\n });\n model.kernelSources.kernelSourceOpened.connect(onKernelSourceOpened);\n model.breakpoints.clicked.connect(async (_, breakpoint) => {\n var _a;\n const path = (_a = breakpoint.source) === null || _a === void 0 ? void 0 : _a.path;\n const source = await service.getSource({\n sourceReference: 0,\n path\n });\n sourceViewer.open(source, breakpoint);\n });\n }\n }\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n service,\n consoles,\n files,\n notebooks,\n variables,\n sidebar,\n main,\n sources,\n sourceViewer,\n configuration\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugins);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger-extension/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger-extension/style/index.js":
+/*!*********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger-extension/style/index.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_codeeditor_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codeeditor/style/index.js */ \"../node_modules/@jupyterlab/codeeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_rendermime_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/rendermime/style/index.js */ \"../node_modules/@jupyterlab/rendermime/style/index.js\");\n/* harmony import */ var _jupyterlab_docregistry_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/docregistry/style/index.js */ \"../node_modules/@jupyterlab/docregistry/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_cells_style_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/cells/style/index.js */ \"../node_modules/@jupyterlab/cells/style/index.js\");\n/* harmony import */ var _jupyterlab_console_style_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/console/style/index.js */ \"../node_modules/@jupyterlab/console/style/index.js\");\n/* harmony import */ var _jupyterlab_fileeditor_style_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @jupyterlab/fileeditor/style/index.js */ \"../node_modules/@jupyterlab/fileeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_notebook_style_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @jupyterlab/notebook/style/index.js */ \"../node_modules/@jupyterlab/notebook/style/index.js\");\n/* harmony import */ var _jupyterlab_debugger_style_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @jupyterlab/debugger/style/index.js */ \"../node_modules/@jupyterlab/debugger/style/index.js\");\n/* harmony import */ var _jupyterlab_logconsole_style_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @jupyterlab/logconsole/style/index.js */ \"../node_modules/@jupyterlab/logconsole/style/index.js\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger-extension/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/config.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/config.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DebuggerConfig: () => (/* binding */ DebuggerConfig)\n/* harmony export */ });\n/* harmony import */ var _hash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hash */ \"../node_modules/@jupyterlab/debugger/lib/hash.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * A class that holds debugger configuration for all kernels.\n */\nclass DebuggerConfig {\n constructor() {\n this._fileParams = new Map();\n this._hashMethods = new Map();\n }\n /**\n * Returns an id based on the given code.\n *\n * @param code The source code.\n * @param kernel The kernel name from current session.\n */\n getCodeId(code, kernel) {\n const fileParams = this._fileParams.get(kernel);\n if (!fileParams) {\n throw new Error(`Kernel (${kernel}) has no tmp file params.`);\n }\n const hash = this._hashMethods.get(kernel);\n if (!hash) {\n throw new Error(`Kernel (${kernel}) has no hashing params.`);\n }\n const { prefix, suffix } = fileParams;\n return `${prefix}${hash(code)}${suffix}`;\n }\n /**\n * Sets the hash parameters for a kernel.\n *\n * @param params - Hashing parameters for a kernel.\n */\n setHashParams(params) {\n const { kernel, method, seed } = params;\n if (!kernel) {\n throw new TypeError(`Kernel name is not defined.`);\n }\n switch (method) {\n case 'Murmur2':\n this._hashMethods.set(kernel, code => (0,_hash__WEBPACK_IMPORTED_MODULE_0__.murmur2)(code, seed).toString());\n break;\n default:\n throw new Error(`Hash method (${method}) is not supported.`);\n }\n }\n /**\n * Sets the parameters used by the kernel to create temp files (e.g. cells).\n *\n * @param params - Temporary file prefix and suffix for a kernel.\n */\n setTmpFileParams(params) {\n const { kernel, prefix, suffix } = params;\n if (!kernel) {\n throw new TypeError(`Kernel name is not defined.`);\n }\n this._fileParams.set(kernel, { kernel, prefix, suffix });\n }\n /**\n * Gets the parameters used for the temp files (e.e. cells) for a kernel.\n *\n * @param kernel - The kernel name from current session.\n */\n getTmpFileParams(kernel) {\n return this._fileParams.get(kernel);\n }\n}\n//# sourceMappingURL=config.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/config.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/debugger.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/debugger.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Debugger: () => (/* binding */ Debugger)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./config */ \"../node_modules/@jupyterlab/debugger/lib/config.js\");\n/* harmony import */ var _dialogs_evaluate__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./dialogs/evaluate */ \"../node_modules/@jupyterlab/debugger/lib/dialogs/evaluate.js\");\n/* harmony import */ var _factory__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./factory */ \"../node_modules/@jupyterlab/debugger/lib/factory.js\");\n/* harmony import */ var _handler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./handler */ \"../node_modules/@jupyterlab/debugger/lib/handler.js\");\n/* harmony import */ var _handlers_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./handlers/editor */ \"../node_modules/@jupyterlab/debugger/lib/handlers/editor.js\");\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./model */ \"../node_modules/@jupyterlab/debugger/lib/model.js\");\n/* harmony import */ var _panels_variables_grid__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./panels/variables/grid */ \"../node_modules/@jupyterlab/debugger/lib/panels/variables/grid.js\");\n/* harmony import */ var _panels_variables_mimerenderer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./panels/variables/mimerenderer */ \"../node_modules/@jupyterlab/debugger/lib/panels/variables/mimerenderer.js\");\n/* harmony import */ var _service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./service */ \"../node_modules/@jupyterlab/debugger/lib/service.js\");\n/* harmony import */ var _session__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./session */ \"../node_modules/@jupyterlab/debugger/lib/session.js\");\n/* harmony import */ var _sidebar__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./sidebar */ \"../node_modules/@jupyterlab/debugger/lib/sidebar.js\");\n/* harmony import */ var _sources__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./sources */ \"../node_modules/@jupyterlab/debugger/lib/sources.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * A namespace for `Debugger` statics.\n */\nvar Debugger;\n(function (Debugger) {\n /**\n * Debugger configuration for all kernels.\n */\n class Config extends _config__WEBPACK_IMPORTED_MODULE_1__.DebuggerConfig {\n }\n Debugger.Config = Config;\n /**\n * A handler for a CodeEditor.IEditor.\n */\n class EditorHandler extends _handlers_editor__WEBPACK_IMPORTED_MODULE_2__.EditorHandler {\n }\n Debugger.EditorHandler = EditorHandler;\n /**\n * A handler for debugging a widget.\n */\n class Handler extends _handler__WEBPACK_IMPORTED_MODULE_3__.DebuggerHandler {\n }\n Debugger.Handler = Handler;\n /**\n * A model for a debugger.\n */\n class Model extends _model__WEBPACK_IMPORTED_MODULE_4__.DebuggerModel {\n }\n Debugger.Model = Model;\n /**\n * A widget factory for read only editors.\n */\n class ReadOnlyEditorFactory extends _factory__WEBPACK_IMPORTED_MODULE_5__.ReadOnlyEditorFactory {\n }\n Debugger.ReadOnlyEditorFactory = ReadOnlyEditorFactory;\n /**\n * The main IDebugger implementation.\n */\n class Service extends _service__WEBPACK_IMPORTED_MODULE_6__.DebuggerService {\n }\n Debugger.Service = Service;\n /**\n * A concrete implementation of IDebugger.ISession.\n */\n class Session extends _session__WEBPACK_IMPORTED_MODULE_7__.DebuggerSession {\n }\n Debugger.Session = Session;\n /**\n * The debugger sidebar UI.\n */\n class Sidebar extends _sidebar__WEBPACK_IMPORTED_MODULE_8__.DebuggerSidebar {\n }\n Debugger.Sidebar = Sidebar;\n /**\n * The source and editor manager for a debugger instance.\n */\n class Sources extends _sources__WEBPACK_IMPORTED_MODULE_9__.DebuggerSources {\n }\n Debugger.Sources = Sources;\n /**\n * A data grid that displays variables in a debugger session.\n */\n class VariablesGrid extends _panels_variables_grid__WEBPACK_IMPORTED_MODULE_10__.VariablesBodyGrid {\n }\n Debugger.VariablesGrid = VariablesGrid;\n /**\n * A widget to display data according to its mime type\n */\n class VariableRenderer extends _panels_variables_mimerenderer__WEBPACK_IMPORTED_MODULE_11__.VariableMimeRenderer {\n }\n Debugger.VariableRenderer = VariableRenderer;\n /**\n * The command IDs used by the debugger plugin.\n */\n let CommandIDs;\n (function (CommandIDs) {\n CommandIDs.debugContinue = 'debugger:continue';\n CommandIDs.terminate = 'debugger:terminate';\n CommandIDs.next = 'debugger:next';\n CommandIDs.showPanel = 'debugger:show-panel';\n CommandIDs.stepIn = 'debugger:stepIn';\n CommandIDs.stepOut = 'debugger:stepOut';\n CommandIDs.inspectVariable = 'debugger:inspect-variable';\n CommandIDs.renderMimeVariable = 'debugger:render-mime-variable';\n CommandIDs.evaluate = 'debugger:evaluate';\n CommandIDs.restartDebug = 'debugger:restart-debug';\n CommandIDs.pauseOnExceptions = 'debugger:pause-on-exceptions';\n CommandIDs.copyToClipboard = 'debugger:copy-to-clipboard';\n CommandIDs.copyToGlobals = 'debugger:copy-to-globals';\n CommandIDs.openSource = 'debugger:open-source';\n })(CommandIDs = Debugger.CommandIDs || (Debugger.CommandIDs = {}));\n /**\n * The debugger user interface icons.\n */\n let Icons;\n (function (Icons) {\n Icons.closeAllIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.closeAllIcon;\n Icons.evaluateIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.codeIcon;\n Icons.continueIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.runIcon;\n Icons.pauseIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.pauseIcon;\n Icons.stepIntoIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.stepIntoIcon;\n Icons.stepOutIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.stepOutIcon;\n Icons.stepOverIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.stepOverIcon;\n Icons.terminateIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.stopIcon;\n Icons.variableIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.variableIcon;\n Icons.viewBreakpointIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.viewBreakpointIcon;\n Icons.pauseOnExceptionsIcon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.pauseIcon;\n })(Icons = Debugger.Icons || (Debugger.Icons = {}));\n /**\n * The debugger dialog helpers.\n */\n let Dialogs;\n (function (Dialogs) {\n /**\n * Open a code prompt in a dialog.\n */\n Dialogs.getCode = _dialogs_evaluate__WEBPACK_IMPORTED_MODULE_12__.DebuggerEvaluateDialog.getCode;\n })(Dialogs = Debugger.Dialogs || (Debugger.Dialogs = {}));\n})(Debugger || (Debugger = {}));\n//# sourceMappingURL=debugger.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/debugger.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/dialogs/evaluate.js":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/dialogs/evaluate.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DebuggerEvaluateDialog: () => (/* binding */ DebuggerEvaluateDialog)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/cells */ \"webpack/sharing/consume/default/@jupyterlab/cells/@jupyterlab/cells\");\n/* harmony import */ var _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_cells__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_2__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n/**\n * A namespace for DebuggerEvaluateDialog statics.\n */\nvar DebuggerEvaluateDialog;\n(function (DebuggerEvaluateDialog) {\n /**\n * Create and show a dialog to prompt user for code.\n *\n * @param options - The dialog setup options.\n *\n * @returns A promise that resolves with whether the dialog was accepted\n */\n function getCode(options) {\n const dialog = new EvaluateDialog({\n ...options,\n body: new EvaluateDialogBody(options),\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton({ label: options.cancelLabel }),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: options.okLabel })\n ]\n });\n return dialog.launch();\n }\n DebuggerEvaluateDialog.getCode = getCode;\n})(DebuggerEvaluateDialog || (DebuggerEvaluateDialog = {}));\n/**\n * A dialog to prompt users for code to evaluate.\n */\nclass EvaluateDialog extends _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog {\n /**\n * Handle the DOM events for the Evaluate dialog.\n *\n * @param event The DOM event sent to the dialog widget\n */\n handleEvent(event) {\n if (event.type === 'keydown') {\n const keyboardEvent = event;\n const { code, shiftKey } = keyboardEvent;\n if (shiftKey && code === 'Enter') {\n return this.resolve();\n }\n if (code === 'Enter') {\n return;\n }\n }\n super.handleEvent(event);\n }\n}\n/**\n * Widget body with a code cell prompt in a dialog\n */\nclass EvaluateDialogBody extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__.Widget {\n /**\n * CodePromptDialog constructor\n *\n * @param options Constructor options\n */\n constructor(options) {\n super();\n const { contentFactory, rendermime, mimeType } = options;\n const model = new _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_1__.CodeCellModel();\n model.mimeType = mimeType !== null && mimeType !== void 0 ? mimeType : '';\n this._prompt = new _jupyterlab_cells__WEBPACK_IMPORTED_MODULE_1__.CodeCell({\n contentFactory,\n rendermime,\n model,\n placeholder: false\n }).initializeState();\n // explicitly remove the prompt in front of the input area\n this._prompt.inputArea.promptNode.remove();\n this.node.appendChild(this._prompt.node);\n }\n /**\n * Get the text specified by the user\n */\n getValue() {\n return this._prompt.model.sharedModel.getSource();\n }\n /**\n * A message handler invoked on an `'after-attach'` message.\n */\n onAfterAttach(msg) {\n super.onAfterAttach(msg);\n this._prompt.activate();\n }\n}\n//# sourceMappingURL=evaluate.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/dialogs/evaluate.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/factory.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/factory.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ReadOnlyEditorFactory: () => (/* binding */ ReadOnlyEditorFactory)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * A widget factory for read only editors.\n */\nclass ReadOnlyEditorFactory {\n /**\n * Construct a new editor widget factory.\n *\n * @param options The instantiation options for a ReadOnlyEditorFactory.\n */\n constructor(options) {\n this._services = options.editorServices;\n }\n /**\n * Create a new CodeEditorWrapper given a Source.\n *\n * @param source The source to create a new editor for.\n */\n createNewEditor(source) {\n const { content, mimeType, path } = source;\n const factory = this._services.factoryService.newInlineEditor;\n const mimeTypeService = this._services.mimeTypeService;\n const model = new _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.CodeEditor.Model({\n mimeType: mimeType || mimeTypeService.getMimeTypeByFilePath(path)\n });\n model.sharedModel.source = content;\n const editor = new _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_0__.CodeEditorWrapper({\n editorOptions: {\n config: {\n readOnly: true,\n lineNumbers: true\n }\n },\n model,\n factory\n });\n editor.node.setAttribute('data-jp-debugger', 'true');\n editor.disposed.connect(() => {\n model.dispose();\n });\n return editor;\n }\n}\n//# sourceMappingURL=factory.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/factory.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/handler.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/handler.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DebuggerHandler: () => (/* binding */ DebuggerHandler)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _debugger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./debugger */ \"../node_modules/@jupyterlab/debugger/lib/debugger.js\");\n/* harmony import */ var _handlers_console__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./handlers/console */ \"../node_modules/@jupyterlab/debugger/lib/handlers/console.js\");\n/* harmony import */ var _handlers_file__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./handlers/file */ \"../node_modules/@jupyterlab/debugger/lib/handlers/file.js\");\n/* harmony import */ var _handlers_notebook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./handlers/notebook */ \"../node_modules/@jupyterlab/debugger/lib/handlers/notebook.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\nconst TOOLBAR_DEBUGGER_ITEM = 'debugger-icon';\n/**\n * Add a bug icon to the widget toolbar to enable and disable debugging.\n *\n * @param widget The widget to add the debug toolbar button to.\n * @param onClick The callback when the toolbar button is clicked.\n */\nfunction updateIconButton(widget, onClick, enabled, pressed, translator = _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator) {\n const trans = translator.load('jupyterlab');\n const icon = new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ToolbarButton({\n className: 'jp-DebuggerBugButton',\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.bugIcon,\n tooltip: trans.__('Enable Debugger'),\n pressedIcon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.bugDotIcon,\n pressedTooltip: trans.__('Disable Debugger'),\n disabledTooltip: trans.__('Select a kernel that supports debugging to enable debugger'),\n enabled,\n pressed,\n onClick\n });\n if (!widget.toolbar.insertBefore('kernelName', TOOLBAR_DEBUGGER_ITEM, icon)) {\n widget.toolbar.addItem(TOOLBAR_DEBUGGER_ITEM, icon);\n }\n return icon;\n}\n/**\n * Updates button state to on/off,\n * adds/removes css class to update styling\n *\n * @param widget the debug button widget\n * @param pressed true if pressed, false otherwise\n * @param enabled true if widget enabled, false otherwise\n * @param onClick click handler\n */\nfunction updateIconButtonState(widget, pressed, enabled = true, onClick) {\n if (widget) {\n widget.enabled = enabled;\n widget.pressed = pressed;\n if (onClick) {\n widget.onClick = onClick;\n }\n }\n}\n/**\n * A handler for debugging a widget.\n */\nclass DebuggerHandler {\n /**\n * Instantiate a new DebuggerHandler.\n *\n * @param options The instantiation options for a DebuggerHandler.\n */\n constructor(options) {\n this._handlers = {};\n this._contextKernelChangedHandlers = {};\n this._kernelChangedHandlers = {};\n this._statusChangedHandlers = {};\n this._iopubMessageHandlers = {};\n this._iconButtons = {};\n this._type = options.type;\n this._shell = options.shell;\n this._service = options.service;\n }\n /**\n * Get the active widget.\n */\n get activeWidget() {\n return this._activeWidget;\n }\n /**\n * Update a debug handler for the given widget, and\n * handle kernel changed events.\n *\n * @param widget The widget to update.\n * @param connection The session connection.\n */\n async update(widget, connection) {\n if (!connection) {\n delete this._kernelChangedHandlers[widget.id];\n delete this._statusChangedHandlers[widget.id];\n delete this._iopubMessageHandlers[widget.id];\n return this.updateWidget(widget, connection);\n }\n const kernelChanged = () => {\n void this.updateWidget(widget, connection);\n };\n const kernelChangedHandler = this._kernelChangedHandlers[widget.id];\n if (kernelChangedHandler) {\n connection.kernelChanged.disconnect(kernelChangedHandler);\n }\n this._kernelChangedHandlers[widget.id] = kernelChanged;\n connection.kernelChanged.connect(kernelChanged);\n const statusChanged = (_, status) => {\n if (status.endsWith('restarting')) {\n void this.updateWidget(widget, connection);\n }\n };\n const statusChangedHandler = this._statusChangedHandlers[widget.id];\n if (statusChangedHandler) {\n connection.statusChanged.disconnect(statusChangedHandler);\n }\n connection.statusChanged.connect(statusChanged);\n this._statusChangedHandlers[widget.id] = statusChanged;\n const iopubMessage = (_, msg) => {\n if (this._service.isStarted &&\n !this._service.hasStoppedThreads() &&\n msg.parent_header.msg_type ===\n 'execute_request') {\n void this._service.displayDefinedVariables();\n }\n };\n const iopubMessageHandler = this._iopubMessageHandlers[widget.id];\n if (iopubMessageHandler) {\n connection.iopubMessage.disconnect(iopubMessageHandler);\n }\n connection.iopubMessage.connect(iopubMessage);\n this._iopubMessageHandlers[widget.id] = iopubMessage;\n this._activeWidget = widget;\n return this.updateWidget(widget, connection);\n }\n /**\n * Update a debug handler for the given widget, and\n * handle connection kernel changed events.\n *\n * @param widget The widget to update.\n * @param sessionContext The session context.\n */\n async updateContext(widget, sessionContext) {\n const connectionChanged = () => {\n const { session: connection } = sessionContext;\n void this.update(widget, connection);\n };\n const contextKernelChangedHandlers = this._contextKernelChangedHandlers[widget.id];\n if (contextKernelChangedHandlers) {\n sessionContext.kernelChanged.disconnect(contextKernelChangedHandlers);\n }\n this._contextKernelChangedHandlers[widget.id] = connectionChanged;\n sessionContext.kernelChanged.connect(connectionChanged);\n return this.update(widget, sessionContext.session);\n }\n /**\n * Update a debug handler for the given widget.\n *\n * @param widget The widget to update.\n * @param connection The session connection.\n */\n async updateWidget(widget, connection) {\n var _a, _b, _c, _d;\n if (!this._service.model || !connection) {\n return;\n }\n const hasFocus = () => {\n return this._shell.currentWidget === widget;\n };\n const updateAttribute = () => {\n if (!this._handlers[widget.id]) {\n widget.node.removeAttribute('data-jp-debugger');\n return;\n }\n widget.node.setAttribute('data-jp-debugger', 'true');\n };\n const createHandler = () => {\n if (this._handlers[widget.id]) {\n return;\n }\n switch (this._type) {\n case 'notebook':\n this._handlers[widget.id] = new _handlers_notebook__WEBPACK_IMPORTED_MODULE_2__.NotebookHandler({\n debuggerService: this._service,\n widget: widget\n });\n break;\n case 'console':\n this._handlers[widget.id] = new _handlers_console__WEBPACK_IMPORTED_MODULE_3__.ConsoleHandler({\n debuggerService: this._service,\n widget: widget\n });\n break;\n case 'file':\n this._handlers[widget.id] = new _handlers_file__WEBPACK_IMPORTED_MODULE_4__.FileHandler({\n debuggerService: this._service,\n widget: widget\n });\n break;\n default:\n throw Error(`No handler for the type ${this._type}`);\n }\n updateAttribute();\n };\n const removeHandlers = () => {\n var _a, _b, _c, _d;\n const handler = this._handlers[widget.id];\n if (!handler) {\n return;\n }\n handler.dispose();\n delete this._handlers[widget.id];\n delete this._kernelChangedHandlers[widget.id];\n delete this._statusChangedHandlers[widget.id];\n delete this._iopubMessageHandlers[widget.id];\n delete this._contextKernelChangedHandlers[widget.id];\n // Clear the model if the handler being removed corresponds\n // to the current active debug session, or if the connection\n // does not have a kernel.\n if (((_b = (_a = this._service.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.path) === (connection === null || connection === void 0 ? void 0 : connection.path) ||\n !((_d = (_c = this._service.session) === null || _c === void 0 ? void 0 : _c.connection) === null || _d === void 0 ? void 0 : _d.kernel)) {\n const model = this._service.model;\n model.clear();\n }\n updateAttribute();\n };\n const addToolbarButton = (enabled = true) => {\n const debugButton = this._iconButtons[widget.id];\n if (!debugButton) {\n this._iconButtons[widget.id] = updateIconButton(widget, toggleDebugging, this._service.isStarted, enabled);\n }\n else {\n updateIconButtonState(debugButton, this._service.isStarted, enabled, toggleDebugging);\n }\n };\n const isDebuggerOn = () => {\n var _a;\n return (this._service.isStarted &&\n ((_a = this._previousConnection) === null || _a === void 0 ? void 0 : _a.id) === (connection === null || connection === void 0 ? void 0 : connection.id));\n };\n const stopDebugger = async () => {\n this._service.session.connection = connection;\n await this._service.stop();\n };\n const startDebugger = async () => {\n var _a, _b;\n this._service.session.connection = connection;\n this._previousConnection = connection;\n await this._service.restoreState(true);\n await this._service.displayDefinedVariables();\n if ((_b = (_a = this._service.session) === null || _a === void 0 ? void 0 : _a.capabilities) === null || _b === void 0 ? void 0 : _b.supportsModulesRequest) {\n await this._service.displayModules();\n }\n };\n const toggleDebugging = async () => {\n // bail if the widget doesn't have focus\n if (!hasFocus()) {\n return;\n }\n const debugButton = this._iconButtons[widget.id];\n if (isDebuggerOn()) {\n await stopDebugger();\n removeHandlers();\n updateIconButtonState(debugButton, false);\n }\n else {\n await startDebugger();\n createHandler();\n updateIconButtonState(debugButton, true);\n }\n };\n addToolbarButton(false);\n // listen to the disposed signals\n widget.disposed.connect(async () => {\n if (isDebuggerOn()) {\n await stopDebugger();\n }\n removeHandlers();\n delete this._iconButtons[widget.id];\n delete this._contextKernelChangedHandlers[widget.id];\n });\n const debuggingEnabled = await this._service.isAvailable(connection);\n if (!debuggingEnabled) {\n removeHandlers();\n updateIconButtonState(this._iconButtons[widget.id], false, false);\n return;\n }\n // update the active debug session\n if (!this._service.session) {\n this._service.session = new _debugger__WEBPACK_IMPORTED_MODULE_5__.Debugger.Session({\n connection,\n config: this._service.config\n });\n }\n else {\n this._previousConnection = ((_a = this._service.session.connection) === null || _a === void 0 ? void 0 : _a.kernel)\n ? this._service.session.connection\n : null;\n this._service.session.connection = connection;\n }\n await this._service.restoreState(false);\n if (this._service.isStarted && !this._service.hasStoppedThreads()) {\n await this._service.displayDefinedVariables();\n if ((_c = (_b = this._service.session) === null || _b === void 0 ? void 0 : _b.capabilities) === null || _c === void 0 ? void 0 : _c.supportsModulesRequest) {\n await this._service.displayModules();\n }\n }\n updateIconButtonState(this._iconButtons[widget.id], this._service.isStarted, true);\n // check the state of the debug session\n if (!this._service.isStarted) {\n removeHandlers();\n this._service.session.connection = (_d = this._previousConnection) !== null && _d !== void 0 ? _d : connection;\n await this._service.restoreState(false);\n return;\n }\n // if the debugger is started but there is no handler, create a new one\n createHandler();\n this._previousConnection = connection;\n }\n}\n//# sourceMappingURL=handler.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/handler.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/handlers/console.js":
+/*!********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/handlers/console.js ***!
+ \********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConsoleHandler: () => (/* binding */ ConsoleHandler)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/observables */ \"webpack/sharing/consume/default/@jupyterlab/observables/@jupyterlab/observables\");\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_observables__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _handlers_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../handlers/editor */ \"../node_modules/@jupyterlab/debugger/lib/handlers/editor.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * A handler for consoles.\n */\nclass ConsoleHandler {\n /**\n * Instantiate a new ConsoleHandler.\n *\n * @param options The instantiation options for a ConsoleHandler.\n */\n constructor(options) {\n this._debuggerService = options.debuggerService;\n this._consolePanel = options.widget;\n this._cellMap = new _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_0__.ObservableMap();\n const codeConsole = this._consolePanel.console;\n if (codeConsole.promptCell) {\n this._addEditorHandler(codeConsole.promptCell);\n }\n codeConsole.promptCellCreated.connect((_, cell) => {\n this._addEditorHandler(cell);\n });\n const addHandlers = () => {\n for (const cell of codeConsole.cells) {\n this._addEditorHandler(cell);\n }\n };\n addHandlers();\n this._consolePanel.console.cells.changed.connect(addHandlers);\n }\n /**\n * Dispose the handler.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this.isDisposed = true;\n this._cellMap.values().forEach(handler => handler.dispose());\n this._cellMap.dispose();\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal.clearData(this);\n }\n /**\n * Add a new editor handler for the given cell.\n *\n * @param cell The cell to add the handler to.\n */\n _addEditorHandler(cell) {\n const modelId = cell.model.id;\n if (cell.model.type !== 'code' || this._cellMap.has(modelId)) {\n return;\n }\n const codeCell = cell;\n const editorHandler = new _handlers_editor__WEBPACK_IMPORTED_MODULE_2__.EditorHandler({\n debuggerService: this._debuggerService,\n editorReady: async () => {\n await codeCell.ready;\n return codeCell.editor;\n },\n getEditor: () => codeCell.editor,\n src: cell.model.sharedModel\n });\n codeCell.disposed.connect(() => {\n this._cellMap.delete(modelId);\n editorHandler.dispose();\n });\n this._cellMap.set(modelId, editorHandler);\n }\n}\n//# sourceMappingURL=console.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/handlers/console.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/handlers/editor.js":
+/*!*******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/handlers/editor.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EditorHandler: () => (/* binding */ EditorHandler)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @codemirror/state */ \"webpack/sharing/consume/default/@codemirror/state/@codemirror/state\");\n/* harmony import */ var _codemirror_state__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_codemirror_state__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @codemirror/view */ \"webpack/sharing/consume/default/@codemirror/view/@codemirror/view\");\n/* harmony import */ var _codemirror_view__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_codemirror_view__WEBPACK_IMPORTED_MODULE_3__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n/**\n * The class name added to the current line.\n */\nconst LINE_HIGHLIGHT_CLASS = 'jp-DebuggerEditor-highlight';\n/**\n * The timeout for listening to editor content changes.\n */\nconst EDITOR_CHANGED_TIMEOUT = 1000;\n/**\n * A handler for a CodeEditor.IEditor.\n */\nclass EditorHandler {\n /**\n * Instantiate a new EditorHandler.\n *\n * @param options The instantiation options for a EditorHandler.\n */\n constructor(options) {\n var _a, _b, _c, _d;\n this._src = options.src;\n this._id = (_c = (_b = (_a = options.debuggerService.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : '';\n this._path = (_d = options.path) !== null && _d !== void 0 ? _d : '';\n this._debuggerService = options.debuggerService;\n this._editor = options.getEditor;\n this._editorMonitor = new _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.ActivityMonitor({\n signal: this._src.changed,\n timeout: EDITOR_CHANGED_TIMEOUT\n });\n this._editorMonitor.activityStopped.connect(() => {\n this._sendEditorBreakpoints();\n }, this);\n this._debuggerService.model.breakpoints.changed.connect(async () => {\n const editor = this.editor;\n if (!editor || editor.isDisposed) {\n return;\n }\n this._addBreakpointsToEditor();\n });\n this._debuggerService.model.breakpoints.restored.connect(async () => {\n const editor = this.editor;\n if (!editor || editor.isDisposed) {\n return;\n }\n this._addBreakpointsToEditor();\n });\n this._debuggerService.model.callstack.currentFrameChanged.connect(() => {\n const editor = this.editor;\n if (editor) {\n EditorHandler.clearHighlight(editor);\n }\n });\n this._breakpointEffect = _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.StateEffect.define({\n map: (value, mapping) => ({ pos: value.pos.map(v => mapping.mapPos(v)) })\n });\n this._breakpointState = _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.StateField.define({\n create: () => {\n return _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.RangeSet.empty;\n },\n update: (breakpoints, transaction) => {\n breakpoints = breakpoints.map(transaction.changes);\n for (let ef of transaction.effects) {\n if (ef.is(this._breakpointEffect)) {\n let e = ef;\n if (e.value.pos.length) {\n breakpoints = breakpoints.update({\n add: e.value.pos.map(v => Private.breakpointMarker.range(v)),\n sort: true\n });\n }\n else {\n breakpoints = _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.RangeSet.empty;\n }\n }\n }\n return breakpoints;\n }\n });\n this._gutter = new _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.Compartment();\n this._highlightDeco = _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.Decoration.line({ class: LINE_HIGHLIGHT_CLASS });\n this._highlightState = _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.StateField.define({\n create: () => {\n return _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.Decoration.none;\n },\n update: (highlights, transaction) => {\n highlights = highlights.map(transaction.changes);\n for (let ef of transaction.effects) {\n if (ef.is(EditorHandler._highlightEffect)) {\n let e = ef;\n if (e.value.pos.length) {\n highlights = highlights.update({\n add: e.value.pos.map(v => this._highlightDeco.range(v))\n });\n }\n else {\n highlights = _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.Decoration.none;\n }\n }\n }\n return highlights;\n },\n provide: f => _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.EditorView.decorations.from(f)\n });\n void options.editorReady().then(() => {\n this._setupEditor();\n });\n }\n /**\n * The editor\n */\n get editor() {\n return this._editor();\n }\n /**\n * Dispose the handler.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._editorMonitor.dispose();\n this._clearEditor();\n this.isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal.clearData(this);\n }\n /**\n * Refresh the breakpoints display\n */\n refreshBreakpoints() {\n this._addBreakpointsToEditor();\n }\n /**\n * Setup the editor.\n */\n _setupEditor() {\n const editor = this.editor;\n if (!editor || editor.isDisposed) {\n return;\n }\n editor.setOption('lineNumbers', true);\n const breakpointGutter = [\n this._breakpointState,\n this._highlightState,\n _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.Prec.highest((0,_codemirror_view__WEBPACK_IMPORTED_MODULE_3__.gutter)({\n class: 'cm-breakpoint-gutter',\n renderEmptyElements: true,\n markers: v => v.state.field(this._breakpointState),\n initialSpacer: () => Private.breakpointMarker,\n domEventHandlers: {\n mousedown: (view, line) => {\n this._onGutterClick(view, line.from);\n return true;\n }\n }\n }))\n ];\n editor.injectExtension(this._gutter.of(breakpointGutter));\n this._addBreakpointsToEditor();\n }\n /**\n * Clear the editor by removing visual elements and handlers.\n */\n _clearEditor() {\n const editor = this.editor;\n if (!editor || editor.isDisposed) {\n return;\n }\n EditorHandler.clearHighlight(editor);\n this._clearGutter(editor);\n editor.setOption('lineNumbers', false);\n editor.editor.dispatch({\n effects: this._gutter.reconfigure([])\n });\n }\n /**\n * Send the breakpoints from the editor UI via the debug service.\n */\n _sendEditorBreakpoints() {\n var _a;\n if ((_a = this.editor) === null || _a === void 0 ? void 0 : _a.isDisposed) {\n return;\n }\n const breakpoints = this._getBreakpointsFromEditor().map(lineNumber => {\n var _a, _b;\n return Private.createBreakpoint(((_b = (_a = this._debuggerService.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.name) || '', lineNumber);\n });\n void this._debuggerService.updateBreakpoints(this._src.getSource(), breakpoints, this._path);\n }\n /**\n * Handle a click on the gutter.\n *\n * @param editor The editor from where the click originated.\n * @param position The position corresponding to the click event.\n */\n _onGutterClick(editor, position) {\n var _a, _b, _c;\n if (this._id !== ((_b = (_a = this._debuggerService.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.id)) {\n return;\n }\n const lineNumber = editor.state.doc.lineAt(position).number;\n let stateBreakpoints = editor.state.field(this._breakpointState);\n let hasBreakpoint = false;\n stateBreakpoints.between(position, position, () => {\n hasBreakpoint = true;\n });\n let breakpoints = this._getBreakpoints();\n if (hasBreakpoint) {\n breakpoints = breakpoints.filter(ele => ele.line !== lineNumber);\n }\n else {\n breakpoints.push(Private.createBreakpoint((_c = this._path) !== null && _c !== void 0 ? _c : this._debuggerService.session.connection.name, lineNumber));\n }\n breakpoints.sort((a, b) => {\n return a.line - b.line;\n });\n void this._debuggerService.updateBreakpoints(this._src.getSource(), breakpoints, this._path);\n }\n /**\n * Add the breakpoints to the editor.\n */\n _addBreakpointsToEditor() {\n var _a, _b;\n if (this._id !== ((_b = (_a = this._debuggerService.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.id)) {\n return;\n }\n const editor = this.editor;\n const breakpoints = this._getBreakpoints();\n this._clearGutter(editor);\n const breakpointPos = breakpoints.map(b => {\n return editor.state.doc.line(b.line).from;\n });\n editor.editor.dispatch({\n effects: this._breakpointEffect.of({ pos: breakpointPos })\n });\n }\n /**\n * Retrieve the breakpoints from the editor.\n */\n _getBreakpointsFromEditor() {\n const editor = this.editor;\n const breakpoints = editor.editor.state.field(this._breakpointState);\n let lines = [];\n breakpoints.between(0, editor.doc.length, (from) => {\n lines.push(editor.doc.lineAt(from).number);\n });\n return lines;\n }\n _clearGutter(editor) {\n if (!editor) {\n return;\n }\n const view = editor.editor;\n view.dispatch({\n effects: this._breakpointEffect.of({ pos: [] })\n });\n }\n /**\n * Get the breakpoints for the editor using its content (code),\n * or its path (if it exists).\n */\n _getBreakpoints() {\n const code = this._src.getSource();\n return this._debuggerService.model.breakpoints.getBreakpoints(this._path || this._debuggerService.getCodeId(code));\n }\n}\n/**\n * A namespace for EditorHandler `statics`.\n */\n(function (EditorHandler) {\n EditorHandler._highlightEffect = _codemirror_state__WEBPACK_IMPORTED_MODULE_2__.StateEffect.define({\n map: (value, mapping) => ({ pos: value.pos.map(v => mapping.mapPos(v)) })\n });\n /**\n * Highlight the current line of the frame in the given editor.\n *\n * @param editor The editor to highlight.\n * @param line The line number.\n */\n function showCurrentLine(editor, line) {\n clearHighlight(editor);\n const cmEditor = editor;\n const linePos = cmEditor.doc.line(line).from;\n cmEditor.editor.dispatch({\n effects: EditorHandler._highlightEffect.of({ pos: [linePos] })\n });\n }\n EditorHandler.showCurrentLine = showCurrentLine;\n /**\n * Remove all line highlighting indicators for the given editor.\n *\n * @param editor The editor to cleanup.\n */\n function clearHighlight(editor) {\n if (!editor || editor.isDisposed) {\n return;\n }\n const cmEditor = editor;\n cmEditor.editor.dispatch({\n effects: EditorHandler._highlightEffect.of({ pos: [] })\n });\n }\n EditorHandler.clearHighlight = clearHighlight;\n})(EditorHandler || (EditorHandler = {}));\n/**\n * A namespace for module private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Create a marker DOM element for a breakpoint.\n */\n Private.breakpointMarker = new (class extends _codemirror_view__WEBPACK_IMPORTED_MODULE_3__.GutterMarker {\n toDOM() {\n const marker = document.createTextNode('●');\n return marker;\n }\n })();\n /**\n * Create a new breakpoint.\n *\n * @param session The name of the session.\n * @param line The line number of the breakpoint.\n */\n function createBreakpoint(session, line) {\n return {\n line,\n verified: true,\n source: {\n name: session\n }\n };\n }\n Private.createBreakpoint = createBreakpoint;\n})(Private || (Private = {}));\n//# sourceMappingURL=editor.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/handlers/editor.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/handlers/file.js":
+/*!*****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/handlers/file.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FileHandler: () => (/* binding */ FileHandler)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _handlers_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../handlers/editor */ \"../node_modules/@jupyterlab/debugger/lib/handlers/editor.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n/**\n * A handler for files.\n */\nclass FileHandler {\n /**\n * Instantiate a new FileHandler.\n *\n * @param options The instantiation options for a FileHandler.\n */\n constructor(options) {\n var _a;\n this._debuggerService = options.debuggerService;\n this._fileEditor = options.widget.content;\n this._hasLineNumber =\n (_a = this._fileEditor.editor.getOption('lineNumbers')) !== null && _a !== void 0 ? _a : false;\n this._editorHandler = new _handlers_editor__WEBPACK_IMPORTED_MODULE_1__.EditorHandler({\n debuggerService: this._debuggerService,\n editorReady: () => Promise.resolve(this._fileEditor.editor),\n getEditor: () => this._fileEditor.editor,\n src: this._fileEditor.model.sharedModel\n });\n }\n /**\n * Dispose the handler.\n */\n dispose() {\n var _a, _b;\n if (this.isDisposed) {\n return;\n }\n this.isDisposed = true;\n (_a = this._editorHandler) === null || _a === void 0 ? void 0 : _a.dispose();\n // Restore editor options\n (_b = this._editorHandler) === null || _b === void 0 ? void 0 : _b.editor.setOptions({\n lineNumbers: this._hasLineNumber\n });\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal.clearData(this);\n }\n}\n//# sourceMappingURL=file.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/handlers/file.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/handlers/notebook.js":
+/*!*********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/handlers/notebook.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NotebookHandler: () => (/* binding */ NotebookHandler)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/observables */ \"webpack/sharing/consume/default/@jupyterlab/observables/@jupyterlab/observables\");\n/* harmony import */ var _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_observables__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./editor */ \"../node_modules/@jupyterlab/debugger/lib/handlers/editor.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * A handler for notebooks.\n */\nclass NotebookHandler {\n /**\n * Instantiate a new NotebookHandler.\n *\n * @param options The instantiation options for a NotebookHandler.\n */\n constructor(options) {\n this._debuggerService = options.debuggerService;\n this._notebookPanel = options.widget;\n this._cellMap = new _jupyterlab_observables__WEBPACK_IMPORTED_MODULE_0__.ObservableMap();\n const notebook = this._notebookPanel.content;\n notebook.model.cells.changed.connect(this._onCellsChanged, this);\n this._onCellsChanged();\n }\n /**\n * Dispose the handler.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this.isDisposed = true;\n this._cellMap.values().forEach(handler => {\n var _a;\n handler.dispose();\n // Ensure to restore notebook editor settings\n (_a = handler.editor) === null || _a === void 0 ? void 0 : _a.setOptions({\n ...this._notebookPanel.content.editorConfig.code\n });\n });\n this._cellMap.dispose();\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal.clearData(this);\n }\n /**\n * Handle a notebook cells changed event.\n */\n _onCellsChanged(cells, changes) {\n var _a;\n this._notebookPanel.content.widgets.forEach(cell => this._addEditorHandler(cell));\n if ((changes === null || changes === void 0 ? void 0 : changes.type) === 'move') {\n for (const cell of changes.newValues) {\n (_a = this._cellMap.get(cell.id)) === null || _a === void 0 ? void 0 : _a.refreshBreakpoints();\n }\n }\n }\n /**\n * Add a new editor handler for the given cell.\n *\n * @param cell The cell to add the handler to.\n */\n _addEditorHandler(cell) {\n const modelId = cell.model.id;\n if (cell.model.type !== 'code' || this._cellMap.has(modelId)) {\n return;\n }\n const codeCell = cell;\n const editorHandler = new _editor__WEBPACK_IMPORTED_MODULE_2__.EditorHandler({\n debuggerService: this._debuggerService,\n editorReady: async () => {\n await codeCell.ready;\n return codeCell.editor;\n },\n getEditor: () => codeCell.editor,\n src: cell.model.sharedModel\n });\n codeCell.disposed.connect(() => {\n this._cellMap.delete(modelId);\n editorHandler.dispose();\n });\n this._cellMap.set(cell.model.id, editorHandler);\n }\n}\n//# sourceMappingURL=notebook.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/handlers/notebook.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/hash.js":
+/*!********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/hash.js ***!
+ \********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ murmur2: () => (/* binding */ murmur2)\n/* harmony export */ });\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n// Most of the implementation below is adapted from the following repository:\n// https://github.com/garycourt/murmurhash-js/blob/master/murmurhash2_gc.js\n// Which has the following MIT License:\n//\n// Copyright (c) 2011 Gary Court\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"),\n// to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,\n// and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// The implementation below uses case fallthrough as part of the algorithm.\n/* eslint-disable no-fallthrough */\nconst m = 0x5bd1e995;\nconst encoder = new TextEncoder();\n/**\n * Calculate the murmurhash2 for a given string and seed.\n *\n * @param str The string to calculate the Murmur2 hash for.\n * @param seed The seed.\n *\n * @returns The Murmurhash2 hash.\n */\nfunction murmur2(str, seed) {\n const data = encoder.encode(str);\n let len = data.length;\n let h = seed ^ len;\n let i = 0;\n while (len >= 4) {\n let k = (data[i] & 0xff) |\n ((data[++i] & 0xff) << 8) |\n ((data[++i] & 0xff) << 16) |\n ((data[++i] & 0xff) << 24);\n k = (k & 0xffff) * m + ((((k >>> 16) * m) & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * m + ((((k >>> 16) * m) & 0xffff) << 16);\n h = ((h & 0xffff) * m + ((((h >>> 16) * m) & 0xffff) << 16)) ^ k;\n len -= 4;\n ++i;\n }\n switch (len) {\n case 3:\n h ^= (data[i + 2] & 0xff) << 16;\n case 2:\n h ^= (data[i + 1] & 0xff) << 8;\n case 1:\n h ^= data[i] & 0xff;\n h = (h & 0xffff) * m + ((((h >>> 16) * m) & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * m + ((((h >>> 16) * m) & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\n//# sourceMappingURL=hash.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/hash.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/index.js":
+/*!*********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/index.js ***!
+ \*********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Debugger: () => (/* reexport safe */ _debugger__WEBPACK_IMPORTED_MODULE_0__.Debugger),\n/* harmony export */ IDebugger: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_1__.IDebugger),\n/* harmony export */ IDebuggerConfig: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_1__.IDebuggerConfig),\n/* harmony export */ IDebuggerHandler: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_1__.IDebuggerHandler),\n/* harmony export */ IDebuggerSidebar: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_1__.IDebuggerSidebar),\n/* harmony export */ IDebuggerSourceViewer: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_1__.IDebuggerSourceViewer),\n/* harmony export */ IDebuggerSources: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_1__.IDebuggerSources)\n/* harmony export */ });\n/* harmony import */ var _debugger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./debugger */ \"../node_modules/@jupyterlab/debugger/lib/debugger.js\");\n/* harmony import */ var _tokens__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tokens */ \"../node_modules/@jupyterlab/debugger/lib/tokens.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module debugger\n */\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/model.js":
+/*!*********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/model.js ***!
+ \*********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DebuggerModel: () => (/* binding */ DebuggerModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _panels_breakpoints_model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./panels/breakpoints/model */ \"../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/model.js\");\n/* harmony import */ var _panels_callstack_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./panels/callstack/model */ \"../node_modules/@jupyterlab/debugger/lib/panels/callstack/model.js\");\n/* harmony import */ var _panels_sources_model__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./panels/sources/model */ \"../node_modules/@jupyterlab/debugger/lib/panels/sources/model.js\");\n/* harmony import */ var _panels_kernelSources_model__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./panels/kernelSources/model */ \"../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/model.js\");\n/* harmony import */ var _panels_variables_model__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./panels/variables/model */ \"../node_modules/@jupyterlab/debugger/lib/panels/variables/model.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n/**\n * A model for a debugger.\n */\nclass DebuggerModel {\n /**\n * Instantiate a new DebuggerModel\n */\n constructor() {\n this._disposed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._isDisposed = false;\n this._hasRichVariableRendering = false;\n this._supportCopyToGlobals = false;\n this._stoppedThreads = new Set();\n this._title = '-';\n this._titleChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this.breakpoints = new _panels_breakpoints_model__WEBPACK_IMPORTED_MODULE_1__.BreakpointsModel();\n this.callstack = new _panels_callstack_model__WEBPACK_IMPORTED_MODULE_2__.CallstackModel();\n this.variables = new _panels_variables_model__WEBPACK_IMPORTED_MODULE_3__.VariablesModel();\n this.sources = new _panels_sources_model__WEBPACK_IMPORTED_MODULE_4__.SourcesModel({\n currentFrameChanged: this.callstack.currentFrameChanged\n });\n this.kernelSources = new _panels_kernelSources_model__WEBPACK_IMPORTED_MODULE_5__.KernelSourcesModel();\n }\n /**\n * A signal emitted when the debugger widget is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * Whether the kernel support rich variable rendering based on mime type.\n */\n get hasRichVariableRendering() {\n return this._hasRichVariableRendering;\n }\n set hasRichVariableRendering(v) {\n this._hasRichVariableRendering = v;\n }\n /**\n * Whether the kernel supports the copyToGlobals request.\n */\n get supportCopyToGlobals() {\n return this._supportCopyToGlobals;\n }\n set supportCopyToGlobals(v) {\n this._supportCopyToGlobals = v;\n }\n /**\n * Whether the model is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * The set of threads in stopped state.\n */\n get stoppedThreads() {\n return this._stoppedThreads;\n }\n /**\n * Assigns the parameters to the set of threads in stopped state.\n */\n set stoppedThreads(threads) {\n this._stoppedThreads = threads;\n }\n /**\n * The current debugger title.\n */\n get title() {\n return this._title;\n }\n /**\n * Set the current debugger title.\n */\n set title(title) {\n if (title === this._title) {\n return;\n }\n this._title = title !== null && title !== void 0 ? title : '-';\n this._titleChanged.emit(title);\n }\n /**\n * A signal emitted when the title changes.\n */\n get titleChanged() {\n return this._titleChanged;\n }\n /**\n * Dispose the model.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n this.kernelSources.dispose();\n this._disposed.emit();\n }\n /**\n * Clear the model.\n */\n clear() {\n this._stoppedThreads.clear();\n const breakpoints = new Map();\n this.breakpoints.restoreBreakpoints(breakpoints);\n this.callstack.frames = [];\n this.variables.scopes = [];\n this.sources.currentSource = null;\n this.kernelSources.kernelSources = null;\n this.title = '-';\n }\n}\n//# sourceMappingURL=model.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/model.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/body.js":
+/*!***************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/body.js ***!
+ \***************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BreakpointsBody: () => (/* binding */ BreakpointsBody)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n/**\n * The body for a Breakpoints Panel.\n */\nclass BreakpointsBody extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.ReactWidget {\n /**\n * Instantiate a new Body for the Breakpoints Panel.\n *\n * @param model The model for the breakpoints.\n */\n constructor(model) {\n super();\n this._model = model;\n this.addClass('jp-DebuggerBreakpoints-body');\n }\n /**\n * Render the BreakpointsComponent.\n */\n render() {\n return react__WEBPACK_IMPORTED_MODULE_1___default().createElement(BreakpointsComponent, { model: this._model });\n }\n}\n/**\n * A React component to display a list of breakpoints.\n *\n * @param {object} props The component props.\n * @param props.model The model for the breakpoints.\n */\nconst BreakpointsComponent = ({ model }) => {\n const [breakpoints, setBreakpoints] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(Array.from(model.breakpoints.entries()));\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {\n const updateBreakpoints = (_, updates) => {\n setBreakpoints(Array.from(model.breakpoints.entries()));\n };\n const restoreBreakpoints = (_) => {\n setBreakpoints(Array.from(model.breakpoints.entries()));\n };\n model.changed.connect(updateBreakpoints);\n model.restored.connect(restoreBreakpoints);\n return () => {\n model.changed.disconnect(updateBreakpoints);\n model.restored.disconnect(restoreBreakpoints);\n };\n });\n return (react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, breakpoints.map(entry => (react__WEBPACK_IMPORTED_MODULE_1___default().createElement(BreakpointCellComponent, { key: entry[0], breakpoints: entry[1], model: model })))));\n};\n/**\n * A React Component to display breakpoints grouped by source file.\n *\n * @param {object} props The component props.\n * @param props.breakpoints The list of breakpoints.\n * @param props.model The model for the breakpoints.\n */\nconst BreakpointCellComponent = ({ breakpoints, model }) => {\n return (react__WEBPACK_IMPORTED_MODULE_1___default().createElement((react__WEBPACK_IMPORTED_MODULE_1___default().Fragment), null, breakpoints\n .sort((a, b) => {\n var _a, _b;\n return ((_a = a.line) !== null && _a !== void 0 ? _a : 0) - ((_b = b.line) !== null && _b !== void 0 ? _b : 0);\n })\n .map((breakpoint, index) => {\n var _a, _b;\n return (react__WEBPACK_IMPORTED_MODULE_1___default().createElement(BreakpointComponent, { key: ((_b = (_a = breakpoint.source) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : '') + index, breakpoint: breakpoint, model: model }));\n })));\n};\n/**\n * A React Component to display a single breakpoint.\n *\n * @param {object} props The component props.\n * @param props.breakpoint The breakpoint.\n * @param props.model The model for the breakpoints.\n */\nconst BreakpointComponent = ({ breakpoint, model }) => {\n var _a, _b, _c;\n const moveToEndFirstCharIfSlash = (breakpointSourcePath) => {\n return breakpointSourcePath[0] === '/'\n ? breakpointSourcePath.slice(1) + '/'\n : breakpointSourcePath;\n };\n return (react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"div\", { className: 'jp-DebuggerBreakpoint', onClick: () => model.clicked.emit(breakpoint), title: (_a = breakpoint.source) === null || _a === void 0 ? void 0 : _a.path },\n react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", { className: 'jp-DebuggerBreakpoint-marker' }, \"\\u25CF\"),\n react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", { className: 'jp-DebuggerBreakpoint-source jp-left-truncated' }, moveToEndFirstCharIfSlash((_c = (_b = breakpoint.source) === null || _b === void 0 ? void 0 : _b.path) !== null && _c !== void 0 ? _c : '')),\n react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", { className: 'jp-DebuggerBreakpoint-line' }, breakpoint.line)));\n};\n//# sourceMappingURL=body.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/body.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/index.js":
+/*!****************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/index.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Breakpoints: () => (/* binding */ Breakpoints)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _body__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./body */ \"../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/body.js\");\n/* harmony import */ var _pauseonexceptions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./pauseonexceptions */ \"../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/pauseonexceptions.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n/**\n * A Panel to show a list of breakpoints.\n */\nclass Breakpoints extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.PanelWithToolbar {\n /**\n * Instantiate a new Breakpoints Panel.\n *\n * @param options The instantiation options for a Breakpoints Panel.\n */\n constructor(options) {\n var _a;\n super(options);\n this.clicked = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_3__.Signal(this);\n const { model, service, commands } = options;\n const trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator).load('jupyterlab');\n this.title.label = trans.__('Breakpoints');\n const body = new _body__WEBPACK_IMPORTED_MODULE_4__.BreakpointsBody(model);\n this.toolbar.node.setAttribute('aria-label', trans.__('Breakpoints panel toolbar'));\n this.toolbar.addItem('pauseOnException', new _pauseonexceptions__WEBPACK_IMPORTED_MODULE_5__.PauseOnExceptionsWidget({\n service: service,\n commands: commands,\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.exceptionsIcon,\n tooltip: trans.__('Pause on exception filter')\n }));\n this.toolbar.addItem('closeAll', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.ToolbarButton({\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.closeAllIcon,\n onClick: async () => {\n if (model.breakpoints.size === 0) {\n return;\n }\n const result = await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({\n title: trans.__('Remove All Breakpoints'),\n body: trans.__('Are you sure you want to remove all breakpoints?'),\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: trans.__('Remove breakpoints') }),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton()\n ],\n hasClose: true\n });\n if (result.button.accept) {\n return service.clearBreakpoints();\n }\n },\n tooltip: trans.__('Remove All Breakpoints')\n }));\n this.addWidget(body);\n this.addClass('jp-DebuggerBreakpoints');\n }\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/model.js":
+/*!****************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/model.js ***!
+ \****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BreakpointsModel: () => (/* binding */ BreakpointsModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * A model for a list of breakpoints.\n */\nclass BreakpointsModel {\n constructor() {\n this._breakpoints = new Map();\n this._changed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._restored = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._clicked = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n }\n /**\n * Signal emitted when the model changes.\n */\n get changed() {\n return this._changed;\n }\n /**\n * Signal emitted when the breakpoints are restored.\n */\n get restored() {\n return this._restored;\n }\n /**\n * Signal emitted when a breakpoint is clicked.\n */\n get clicked() {\n return this._clicked;\n }\n /**\n * Get all the breakpoints.\n */\n get breakpoints() {\n return this._breakpoints;\n }\n /**\n * Set the breakpoints for a given id (path).\n *\n * @param id The code id (path).\n * @param breakpoints The list of breakpoints.\n */\n setBreakpoints(id, breakpoints) {\n this._breakpoints.set(id, breakpoints);\n this._changed.emit(breakpoints);\n }\n /**\n * Get the breakpoints for a given id (path).\n *\n * @param id The code id (path).\n */\n getBreakpoints(id) {\n var _a;\n return (_a = this._breakpoints.get(id)) !== null && _a !== void 0 ? _a : [];\n }\n /**\n * Restore a map of breakpoints.\n *\n * @param breakpoints The map of breakpoints\n */\n restoreBreakpoints(breakpoints) {\n this._breakpoints = breakpoints;\n this._restored.emit();\n }\n}\n//# sourceMappingURL=model.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/model.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/pauseonexceptions.js":
+/*!****************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/pauseonexceptions.js ***!
+ \****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PauseOnExceptionsMenu: () => (/* binding */ PauseOnExceptionsMenu),\n/* harmony export */ PauseOnExceptionsWidget: () => (/* binding */ PauseOnExceptionsWidget)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\nconst PAUSE_ON_EXCEPTION_CLASS = 'jp-debugger-pauseOnExceptions';\nconst PAUSE_ON_EXCEPTION_BUTTON_CLASS = 'jp-PauseOnExceptions';\nconst PAUSE_ON_EXCEPTION_MENU_CLASS = 'jp-PauseOnExceptions-menu';\n/**\n * A button which display a menu on click, to select the filter.\n */\nclass PauseOnExceptionsWidget extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ToolbarButton {\n /**\n * Constructor of the button.\n */\n constructor(props) {\n super();\n /**\n * open menu on click.\n */\n this.onclick = () => {\n this._menu.open(this.node.getBoundingClientRect().left, this.node.getBoundingClientRect().bottom);\n };\n this._menu = new PauseOnExceptionsMenu({\n service: props.service,\n commands: {\n registry: props.commands.registry,\n pauseOnExceptions: props.commands.pauseOnExceptions\n }\n });\n this.node.className = PAUSE_ON_EXCEPTION_CLASS;\n this._props = props;\n this._props.className = PAUSE_ON_EXCEPTION_BUTTON_CLASS;\n this._props.service.eventMessage.connect((_, event) => {\n if (event.event === 'initialized' || event.event === 'terminated') {\n this.onChange();\n }\n }, this);\n this._props.enabled = this._props.service.pauseOnExceptionsIsValid();\n this._props.service.pauseOnExceptionChanged.connect(this.onChange, this);\n }\n /**\n * Called when the debugger is initialized or the filter changed.\n */\n onChange() {\n var _a;\n const session = this._props.service.session;\n const exceptionBreakpointFilters = session === null || session === void 0 ? void 0 : session.exceptionBreakpointFilters;\n this._props.className = PAUSE_ON_EXCEPTION_BUTTON_CLASS;\n if (((_a = this._props.service.session) === null || _a === void 0 ? void 0 : _a.isStarted) && exceptionBreakpointFilters) {\n this._props.pressed = session.isPausingOnException();\n this._props.enabled = true;\n }\n else {\n this._props.enabled = false;\n }\n this.update();\n }\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ToolbarButtonComponent, { ...this._props, onClick: this.onclick });\n }\n}\n/**\n * A menu with all the available filter from the debugger as entries.\n */\nclass PauseOnExceptionsMenu extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.MenuSvg {\n /**\n * The constructor of the menu.\n */\n constructor(props) {\n super({ commands: props.commands.registry });\n this._service = props.service;\n this._command = props.commands.pauseOnExceptions;\n props.service.eventMessage.connect((_, event) => {\n if (event.event === 'initialized') {\n this._build();\n }\n }, this);\n this._build();\n this.addClass(PAUSE_ON_EXCEPTION_MENU_CLASS);\n }\n _build() {\n var _a, _b;\n this.clearItems();\n const exceptionsBreakpointFilters = (_b = (_a = this._service.session) === null || _a === void 0 ? void 0 : _a.exceptionBreakpointFilters) !== null && _b !== void 0 ? _b : [];\n exceptionsBreakpointFilters.map((filter, _) => {\n this.addItem({\n command: this._command,\n args: {\n filter: filter.filter,\n description: filter.description\n }\n });\n });\n }\n}\n//# sourceMappingURL=pauseonexceptions.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/pauseonexceptions.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/callstack/body.js":
+/*!*************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/callstack/body.js ***!
+ \*************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CallstackBody: () => (/* binding */ CallstackBody)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * The body for a Callstack Panel.\n */\nclass CallstackBody extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ReactWidget {\n /**\n * Instantiate a new Body for the Callstack Panel.\n *\n * @param model The model for the callstack.\n */\n constructor(model) {\n super();\n this._model = model;\n this.addClass('jp-DebuggerCallstack-body');\n }\n /**\n * Render the FramesComponent.\n */\n render() {\n return react__WEBPACK_IMPORTED_MODULE_2___default().createElement(FramesComponent, { model: this._model });\n }\n}\n/**\n * A React component to display a list of frames in a callstack.\n *\n * @param {object} props The component props.\n * @param props.model The model for the callstack.\n */\nconst FramesComponent = ({ model }) => {\n const [frames, setFrames] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(model.frames);\n const [selected, setSelected] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(model.frame);\n const onSelected = (frame) => {\n setSelected(frame);\n model.frame = frame;\n };\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => {\n const updateFrames = () => {\n setSelected(model.frame);\n setFrames(model.frames);\n };\n model.framesChanged.connect(updateFrames);\n return () => {\n model.framesChanged.disconnect(updateFrames);\n };\n }, [model]);\n const toShortLocation = (el) => {\n var _a;\n const path = ((_a = el.source) === null || _a === void 0 ? void 0 : _a.path) || '';\n const base = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.dirname(path));\n const filename = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(path);\n const shortname = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.join(base, filename);\n return `${shortname}:${el.line}`;\n };\n return (react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"ul\", null, frames.map(ele => {\n var _a;\n return (react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"li\", { key: ele.id, onClick: () => onSelected(ele), className: (selected === null || selected === void 0 ? void 0 : selected.id) === ele.id\n ? 'selected jp-DebuggerCallstackFrame'\n : 'jp-DebuggerCallstackFrame' },\n react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", { className: 'jp-DebuggerCallstackFrame-name' }, ele.name),\n react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"span\", { className: 'jp-DebuggerCallstackFrame-location', title: (_a = ele.source) === null || _a === void 0 ? void 0 : _a.path }, toShortLocation(ele))));\n })));\n};\n//# sourceMappingURL=body.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/callstack/body.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/callstack/index.js":
+/*!**************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/callstack/index.js ***!
+ \**************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Callstack: () => (/* binding */ Callstack)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _body__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./body */ \"../node_modules/@jupyterlab/debugger/lib/panels/callstack/body.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * A Panel to show a callstack.\n */\nclass Callstack extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.PanelWithToolbar {\n /**\n * Instantiate a new Callstack Panel.\n *\n * @param options The instantiation options for a Callstack Panel.\n */\n constructor(options) {\n var _a;\n super(options);\n const { commands, model } = options;\n const trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator).load('jupyterlab');\n this.title.label = trans.__('Callstack');\n const body = new _body__WEBPACK_IMPORTED_MODULE_2__.CallstackBody(model);\n this.toolbar.node.setAttribute('aria-label', trans.__('Callstack panel toolbar'));\n this.toolbar.addItem('continue', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButton({\n commands: commands.registry,\n id: commands.continue,\n label: ''\n }));\n this.toolbar.addItem('terminate', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButton({\n commands: commands.registry,\n id: commands.terminate,\n label: ''\n }));\n this.toolbar.addItem('step-over', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButton({\n commands: commands.registry,\n id: commands.next,\n label: ''\n }));\n this.toolbar.addItem('step-in', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButton({\n commands: commands.registry,\n id: commands.stepIn,\n label: ''\n }));\n this.toolbar.addItem('step-out', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButton({\n commands: commands.registry,\n id: commands.stepOut,\n label: ''\n }));\n this.toolbar.addItem('evaluate', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButton({\n commands: commands.registry,\n id: commands.evaluate,\n label: ''\n }));\n this.addWidget(body);\n this.addClass('jp-DebuggerCallstack');\n }\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/callstack/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/callstack/model.js":
+/*!**************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/callstack/model.js ***!
+ \**************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CallstackModel: () => (/* binding */ CallstackModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * A model for a callstack.\n */\nclass CallstackModel {\n constructor() {\n this._state = [];\n this._currentFrame = null;\n this._framesChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._currentFrameChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n }\n /**\n * Get all the frames.\n */\n get frames() {\n return this._state;\n }\n /**\n * Set the frames.\n */\n set frames(newFrames) {\n this._state = newFrames;\n const currentFrameId = this.frame !== null ? Private.getFrameId(this.frame) : '';\n const frame = newFrames.find(frame => Private.getFrameId(frame) === currentFrameId);\n // Default to the first frame if the previous one can't be found.\n // Otherwise keep the current frame selected.\n if (!frame) {\n this.frame = newFrames[0];\n }\n this._framesChanged.emit(newFrames);\n }\n /**\n * Get the current frame.\n */\n get frame() {\n return this._currentFrame;\n }\n /**\n * Set the current frame.\n */\n set frame(frame) {\n this._currentFrame = frame;\n this._currentFrameChanged.emit(frame);\n }\n /**\n * Signal emitted when the frames have changed.\n */\n get framesChanged() {\n return this._framesChanged;\n }\n /**\n * Signal emitted when the current frame has changed.\n */\n get currentFrameChanged() {\n return this._currentFrameChanged;\n }\n}\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Construct an id for the given frame.\n *\n * @param frame The frame.\n */\n function getFrameId(frame) {\n var _a;\n return `${(_a = frame === null || frame === void 0 ? void 0 : frame.source) === null || _a === void 0 ? void 0 : _a.path}-${frame === null || frame === void 0 ? void 0 : frame.id}`;\n }\n Private.getFrameId = getFrameId;\n})(Private || (Private = {}));\n//# sourceMappingURL=model.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/callstack/model.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/body.js":
+/*!*****************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/body.js ***!
+ \*****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KernelSourcesBody: () => (/* binding */ KernelSourcesBody)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./filter */ \"../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/filter.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n/**\n * The class name added to the filterbox node.\n */\nconst FILTERBOX_CLASS = 'jp-DebuggerKernelSource-filterBox';\n/**\n * The class name added to hide the filterbox node.\n */\nconst FILTERBOX_HIDDEN_CLASS = 'jp-DebuggerKernelSource-filterBox-hidden';\n/**\n * The class for each source row.\n */\nconst SOURCE_CLASS = 'jp-DebuggerKernelSource-source';\n/**\n * The body for a Sources Panel.\n */\nclass KernelSourcesBody extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ReactWidget {\n /**\n * Instantiate a new Body for the KernelSourcesBody widget.\n *\n * @param options The instantiation options for a KernelSourcesBody.\n */\n constructor(options) {\n var _a;\n super();\n this._showFilter = false;\n this._model = options.model;\n this._debuggerService = options.service;\n this._trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator).load('jupyterlab');\n this.addClass('jp-DebuggerKernelSources-body');\n }\n render() {\n let filterClass = FILTERBOX_CLASS;\n if (!this._showFilter) {\n filterClass += ' ' + FILTERBOX_HIDDEN_CLASS;\n }\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null,\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { className: filterClass, key: 'filter' },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_filter__WEBPACK_IMPORTED_MODULE_4__.KernelSourcesFilter, { model: this._model, trans: this._trans })),\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.UseSignal, { signal: this._model.changed }, (_, kernelSources) => {\n const keymap = {};\n return (kernelSources !== null && kernelSources !== void 0 ? kernelSources : []).map(module => {\n var _a;\n const name = module.name;\n const path = module.path;\n const key = name + (keymap[name] = ((_a = keymap[name]) !== null && _a !== void 0 ? _a : 0) + 1).toString();\n return (react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", { key: key, title: path, className: SOURCE_CLASS, onClick: () => {\n this._debuggerService\n .getSource({\n sourceReference: 0,\n path: path\n })\n .then(source => {\n this._model.open(source);\n })\n .catch(reason => {\n void (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_2__.showErrorMessage)(this._trans.__('Fail to get source'), this._trans.__(\"Fail to get '%1' source:\\n%2\", path, reason));\n });\n } },\n react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.LabIcon.resolveReact, { icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.openKernelSourceIcon, iconClass: (0,_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.classes)('jp-Icon'), tag: null }),\n name));\n });\n })));\n }\n /**\n * Show or hide the filter box.\n */\n toggleFilterbox() {\n this._showFilter = !this._showFilter;\n this.update();\n }\n}\n//# sourceMappingURL=body.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/body.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/filter.js":
+/*!*******************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/filter.js ***!
+ \*******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KernelSourcesFilter: () => (/* binding */ KernelSourcesFilter)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyter_react_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyter/react-components */ \"webpack/sharing/consume/default/@jupyter/react-components/@jupyter/react-components\");\n/* harmony import */ var _jupyter_react_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyter_react_components__WEBPACK_IMPORTED_MODULE_2__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\nconst FilterBox = (props) => {\n const onFilterChange = (e) => {\n const filter = e.target.value;\n props.model.filter = filter;\n };\n return (react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_jupyter_react_components__WEBPACK_IMPORTED_MODULE_2__.Search, { onChange: onFilterChange, placeholder: props.trans.__('Filter the kernel sources'), value: props.model.filter }));\n};\n/**\n * A widget which hosts a input textbox to filter on file names.\n */\nconst KernelSourcesFilter = (props) => {\n return (react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.UseSignal, { signal: props.model.filterChanged, initialArgs: props.model.filter }, model => react__WEBPACK_IMPORTED_MODULE_1___default().createElement(FilterBox, { model: props.model, trans: props.trans })));\n};\n//# sourceMappingURL=filter.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/filter.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/index.js":
+/*!******************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/index.js ***!
+ \******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KernelSources: () => (/* binding */ KernelSources)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _body__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./body */ \"../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/body.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n/**\n * A Panel that shows a preview of the source code while debugging.\n */\nclass KernelSources extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.PanelWithToolbar {\n /**\n * Instantiate a new Sources preview Panel.\n *\n * @param options The Sources instantiation options.\n */\n constructor(options) {\n var _a;\n super();\n const { model, service } = options;\n this._model = model;\n const trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator).load('jupyterlab');\n this.title.label = trans.__('Kernel Sources');\n this.toolbar.addClass('jp-DebuggerKernelSources-header');\n this.toolbar.node.setAttribute('aria-label', trans.__('Kernel sources panel toolbar'));\n this._body = new _body__WEBPACK_IMPORTED_MODULE_3__.KernelSourcesBody({\n service,\n model,\n translator: options.translator\n });\n this.toolbar.addItem('open-filter', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.ToolbarButton({\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.searchIcon,\n onClick: async () => {\n this._body.toggleFilterbox();\n },\n tooltip: trans.__('Toggle search filter')\n }));\n this.toolbar.addItem('refresh', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.ToolbarButton({\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.refreshIcon,\n onClick: () => {\n this._model.kernelSources = [];\n void service.displayModules().catch(reason => {\n void (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showErrorMessage)(trans.__('Fail to get kernel sources'), trans.__('Fail to get kernel sources:\\n%2', reason));\n });\n },\n tooltip: trans.__('Refresh kernel sources')\n }));\n this.addClass('jp-DebuggerKernelSources-header');\n this.addWidget(this._body);\n this.addClass('jp-DebuggerKenelSources');\n }\n set filter(filter) {\n this._model.filter = filter;\n }\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/model.js":
+/*!******************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/model.js ***!
+ \******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ KernelSourcesModel: () => (/* binding */ KernelSourcesModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/polling */ \"webpack/sharing/consume/default/@lumino/polling/@lumino/polling\");\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_polling__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n/**\n * The rate limit for the filter debouncer\n */\nconst DEBOUNCER_RATE_LIMIT_MS = 500;\nconst compare = (a, b) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n return 0;\n};\n/**\n * The model to keep track of the current source being displayed.\n */\nclass KernelSourcesModel {\n constructor() {\n this._filteredKernelSources = null;\n this._filter = '';\n this._isDisposed = false;\n this._kernelSources = null;\n this._changed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._filterChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._kernelSourceOpened = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this.refresh = this.refresh.bind(this);\n this._refreshDebouncer = new _lumino_polling__WEBPACK_IMPORTED_MODULE_1__.Debouncer(this.refresh, DEBOUNCER_RATE_LIMIT_MS);\n }\n /**\n * Get the filter.\n */\n get filter() {\n return this._filter;\n }\n /**\n * Set the filter.\n * The update\n */\n set filter(filter) {\n this._filter = filter;\n this._filterChanged.emit(filter);\n void this._refreshDebouncer.invoke();\n }\n /**\n * Whether the kernel sources model is disposed or not.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Get the kernel sources.\n */\n get kernelSources() {\n return this._kernelSources;\n }\n /**\n * Set the kernel sources and emit a changed signal.\n */\n set kernelSources(kernelSources) {\n this._kernelSources = kernelSources;\n this.refresh();\n }\n /**\n * Signal emitted when the current source changes.\n */\n get changed() {\n return this._changed;\n }\n /**\n * Signal emitted when the current source changes.\n */\n get filterChanged() {\n return this._filterChanged;\n }\n /**\n * Signal emitted when a kernel source should be open in the main area.\n */\n get kernelSourceOpened() {\n return this._kernelSourceOpened;\n }\n /**\n * Dispose the kernel sources model\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._refreshDebouncer.dispose();\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal.clearData(this);\n }\n /**\n * Open a source in the main area.\n */\n open(kernelSource) {\n this._kernelSourceOpened.emit(kernelSource);\n }\n getFilteredKernelSources() {\n const regexp = new RegExp(this._filter);\n return this._kernelSources.filter(module => regexp.test(module.name));\n }\n refresh() {\n if (this._kernelSources) {\n this._filteredKernelSources = this._filter\n ? this.getFilteredKernelSources()\n : this._kernelSources;\n this._filteredKernelSources.sort(compare);\n }\n else {\n this._kernelSources = new Array();\n this._filteredKernelSources = new Array();\n }\n this._changed.emit(this._filteredKernelSources);\n }\n}\n//# sourceMappingURL=model.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/model.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/sources/body.js":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/sources/body.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SourcesBody: () => (/* binding */ SourcesBody)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../.. */ \"../node_modules/@jupyterlab/debugger/lib/debugger.js\");\n/* harmony import */ var _handlers_editor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../handlers/editor */ \"../node_modules/@jupyterlab/debugger/lib/handlers/editor.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n/**\n * The body for a Sources Panel.\n */\nclass SourcesBody extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__.Widget {\n /**\n * Instantiate a new Body for the SourcesBody widget.\n *\n * @param options The instantiation options for a SourcesBody.\n */\n constructor(options) {\n super();\n this._model = options.model;\n this._debuggerService = options.service;\n this._mimeTypeService = options.editorServices.mimeTypeService;\n const factory = new ___WEBPACK_IMPORTED_MODULE_2__.Debugger.ReadOnlyEditorFactory({\n editorServices: options.editorServices\n });\n this._editor = factory.createNewEditor({\n content: '',\n mimeType: '',\n path: ''\n });\n this._editor.hide();\n this._model.currentFrameChanged.connect(async (_, frame) => {\n if (!frame) {\n this._clearEditor();\n return;\n }\n void this._showSource(frame);\n });\n const layout = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_1__.PanelLayout();\n layout.addWidget(this._editor);\n this.layout = layout;\n this.addClass('jp-DebuggerSources-body');\n }\n /**\n * Dispose the sources body widget.\n */\n dispose() {\n var _a;\n if (this.isDisposed) {\n return;\n }\n (_a = this._editorHandler) === null || _a === void 0 ? void 0 : _a.dispose();\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal.clearData(this);\n super.dispose();\n }\n /**\n * Clear the content of the source read-only editor.\n */\n _clearEditor() {\n this._model.currentSource = null;\n this._editor.hide();\n }\n /**\n * Show the content of the source for the given frame.\n *\n * @param frame The current frame.\n */\n async _showSource(frame) {\n var _a;\n const path = (_a = frame.source) === null || _a === void 0 ? void 0 : _a.path;\n const source = await this._debuggerService.getSource({\n sourceReference: 0,\n path\n });\n if (!(source === null || source === void 0 ? void 0 : source.content)) {\n this._clearEditor();\n return;\n }\n if (this._editorHandler) {\n this._editorHandler.dispose();\n }\n const { content, mimeType } = source;\n const editorMimeType = mimeType || this._mimeTypeService.getMimeTypeByFilePath(path !== null && path !== void 0 ? path : '');\n this._editor.model.sharedModel.setSource(content);\n this._editor.model.mimeType = editorMimeType;\n this._editorHandler = new _handlers_editor__WEBPACK_IMPORTED_MODULE_3__.EditorHandler({\n debuggerService: this._debuggerService,\n editorReady: () => Promise.resolve(this._editor.editor),\n getEditor: () => this._editor.editor,\n path,\n src: this._editor.model.sharedModel\n });\n this._model.currentSource = {\n content,\n mimeType: editorMimeType,\n path: path !== null && path !== void 0 ? path : ''\n };\n requestAnimationFrame(() => {\n _handlers_editor__WEBPACK_IMPORTED_MODULE_3__.EditorHandler.showCurrentLine(this._editor.editor, frame.line);\n });\n this._editor.show();\n }\n}\n//# sourceMappingURL=body.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/sources/body.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/sources/index.js":
+/*!************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/sources/index.js ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Sources: () => (/* binding */ Sources)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _body__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./body */ \"../node_modules/@jupyterlab/debugger/lib/panels/sources/body.js\");\n/* harmony import */ var _sourcepath__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./sourcepath */ \"../node_modules/@jupyterlab/debugger/lib/panels/sources/sourcepath.js\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n\n\n\n\n/**\n * A Panel that shows a preview of the source code while debugging.\n */\nclass Sources extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.PanelWithToolbar {\n /**\n * Instantiate a new Sources preview Panel.\n *\n * @param options The Sources instantiation options.\n */\n constructor(options) {\n var _a;\n super();\n const { model, service, editorServices } = options;\n const trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator).load('jupyterlab');\n this.title.label = trans.__('Source');\n this.toolbar.addClass('jp-DebuggerSources-header');\n this.toolbar.node.setAttribute('aria-label', trans.__('Sources preview panel toolbar'));\n const body = new _body__WEBPACK_IMPORTED_MODULE_3__.SourcesBody({\n service,\n model,\n editorServices\n });\n this.toolbar.addItem('open', new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ToolbarButton({\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.viewBreakpointIcon,\n onClick: () => model.open(),\n tooltip: trans.__('Open in the Main Area')\n }));\n const sourcePath = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ReactWidget.create(react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_sourcepath__WEBPACK_IMPORTED_MODULE_4__.SourcePathComponent, { model: model, trans: trans }));\n this.toolbar.addItem('sourcePath', sourcePath);\n this.addClass('jp-DebuggerSources-header');\n this.addWidget(body);\n this.addClass('jp-DebuggerSources');\n }\n}\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/sources/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/sources/model.js":
+/*!************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/sources/model.js ***!
+ \************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SourcesModel: () => (/* binding */ SourcesModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * The model to keep track of the current source being displayed.\n */\nclass SourcesModel {\n /**\n * Instantiate a new Sources.Model\n *\n * @param options The Sources.Model instantiation options.\n */\n constructor(options) {\n this._currentSourceOpened = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._currentSourceChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this.currentFrameChanged = options.currentFrameChanged;\n }\n /**\n * Signal emitted when a source should be open in the main area.\n */\n get currentSourceOpened() {\n return this._currentSourceOpened;\n }\n /**\n * Signal emitted when the current source changes.\n */\n get currentSourceChanged() {\n return this._currentSourceChanged;\n }\n /**\n * Return the current source.\n */\n get currentSource() {\n return this._currentSource;\n }\n /**\n * Set the current source.\n *\n * @param source The source to set as the current source.\n */\n set currentSource(source) {\n this._currentSource = source;\n this._currentSourceChanged.emit(source);\n }\n /**\n * Open a source in the main area.\n */\n open() {\n this._currentSourceOpened.emit(this._currentSource);\n }\n}\n//# sourceMappingURL=model.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/sources/model.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/sources/sourcepath.js":
+/*!*****************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/sources/sourcepath.js ***!
+ \*****************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SourcePathComponent: () => (/* binding */ SourcePathComponent)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n/**\n * A React component to display the path to a source.\n *\n * @param {object} props The component props.\n * @param props.model The model for the sources.\n */\nconst SourcePathComponent = ({ model, trans }) => {\n return (react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_0__.UseSignal, { signal: model.currentSourceChanged, initialSender: model }, (model) => {\n var _a, _b;\n return (react__WEBPACK_IMPORTED_MODULE_1___default().createElement(\"span\", { onClick: (event) => {\n if (event.ctrlKey) {\n model === null || model === void 0 ? void 0 : model.open();\n }\n }, title: trans.__('Ctrl + click to open in the Main Area'), className: \"jp-DebuggerSources-header-path\" }, (_b = (_a = model === null || model === void 0 ? void 0 : model.currentSource) === null || _a === void 0 ? void 0 : _a.path) !== null && _b !== void 0 ? _b : ''));\n }));\n};\n//# sourceMappingURL=sourcepath.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/sources/sourcepath.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/variables/grid.js":
+/*!*************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/variables/grid.js ***!
+ \*************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VariablesBodyGrid: () => (/* binding */ VariablesBodyGrid)\n/* harmony export */ });\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * A data grid that displays variables in a debugger session.\n */\nclass VariablesBodyGrid extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__.Panel {\n /**\n * Instantiate a new VariablesBodyGrid.\n *\n * @param options The instantiation options for a VariablesBodyGrid.\n */\n constructor(options) {\n super();\n this._filter = new Set();\n this._grid = null;\n this._pending = null;\n this.commands = options.commands;\n this.model = options.model;\n this.themeManager = options.themeManager;\n this.translator = options.translator;\n this.model.changed.connect(() => this.update(), this);\n this.addClass('jp-DebuggerVariables-body');\n }\n /**\n * The variable filter list.\n */\n get filter() {\n return this._filter;\n }\n set filter(filter) {\n this._filter = filter;\n this.update();\n }\n /**\n * The current scope of the variables.\n */\n get scope() {\n return this._scope;\n }\n set scope(scope) {\n this._scope = scope;\n if (scope !== 'Globals') {\n this.addClass('jp-debuggerVariables-local');\n }\n else {\n this.removeClass('jp-debuggerVariables-local');\n }\n this.update();\n }\n /**\n * Load the grid panel implementation and instantiate a grid.\n */\n async initialize() {\n if (this._grid || this._pending) {\n return;\n }\n // Lazily load the datagrid module when the first grid is requested.\n const { Grid } = await (this._pending = Promise.all(/*! import() */[__webpack_require__.e(\"notebook_core\"), __webpack_require__.e(\"webpack_sharing_consume_default_lumino_datagrid_lumino_datagrid\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./gridpanel */ \"../node_modules/@jupyterlab/debugger/lib/panels/variables/gridpanel.js\")));\n const { commands, model, themeManager, translator } = this;\n this._grid = new Grid({ commands, model, themeManager, translator });\n this._grid.addClass('jp-DebuggerVariables-grid');\n this._pending = null;\n this.addWidget(this._grid);\n this.update();\n }\n /**\n * Wait until actually displaying the grid to trigger initialization.\n */\n onBeforeShow(msg) {\n if (!this._grid && !this._pending) {\n void this.initialize();\n }\n super.onBeforeShow(msg);\n }\n /**\n * Handle `update-request` messages.\n */\n onUpdateRequest(msg) {\n var _a;\n if (this._grid) {\n const { dataModel } = this._grid;\n dataModel.filter = this._filter;\n dataModel.scope = this._scope;\n dataModel.setData((_a = this.model.scopes) !== null && _a !== void 0 ? _a : []);\n }\n super.onUpdateRequest(msg);\n }\n}\n//# sourceMappingURL=grid.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/variables/grid.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/variables/gridpanel.js":
+/*!******************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/variables/gridpanel.js ***!
+ \******************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Grid: () => (/* binding */ Grid),\n/* harmony export */ GridModel: () => (/* binding */ GridModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_datagrid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/datagrid */ \"webpack/sharing/consume/default/@lumino/datagrid/@lumino/datagrid\");\n/* harmony import */ var _lumino_datagrid__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_datagrid__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../ */ \"../node_modules/@jupyterlab/debugger/lib/debugger.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n/**\n * A class wrapping the underlying variables datagrid.\n */\nclass Grid extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__.Panel {\n /**\n * Instantiate a new VariablesGrid.\n *\n * @param options The instantiation options for a VariablesGrid.\n */\n constructor(options) {\n super();\n const { commands, model, themeManager } = options;\n this.model = model;\n const dataModel = new GridModel(options.translator);\n const grid = new _lumino_datagrid__WEBPACK_IMPORTED_MODULE_0__.DataGrid();\n const mouseHandler = new Private.MouseHandler();\n mouseHandler.doubleClicked.connect((_, hit) => commands.execute(___WEBPACK_IMPORTED_MODULE_4__.Debugger.CommandIDs.inspectVariable, {\n variableReference: dataModel.getVariableReference(hit.row),\n name: dataModel.getVariableName(hit.row)\n }));\n mouseHandler.selected.connect((_, hit) => {\n const { row } = hit;\n this.model.selectedVariable = {\n name: dataModel.getVariableName(row),\n value: dataModel.data('body', row, 1),\n type: dataModel.data('body', row, 2),\n variablesReference: dataModel.getVariableReference(row)\n };\n });\n grid.dataModel = dataModel;\n grid.keyHandler = new _lumino_datagrid__WEBPACK_IMPORTED_MODULE_0__.BasicKeyHandler();\n grid.mouseHandler = mouseHandler;\n grid.selectionModel = new _lumino_datagrid__WEBPACK_IMPORTED_MODULE_0__.BasicSelectionModel({\n dataModel\n });\n grid.stretchLastColumn = true;\n grid.node.style.height = '100%';\n this._grid = grid;\n // Compute the grid's styles based on the current theme.\n if (themeManager) {\n themeManager.themeChanged.connect(this._updateStyles, this);\n }\n this.addWidget(grid);\n }\n /**\n * Set the variable filter list.\n *\n * @param filter The variable filter to apply.\n */\n set filter(filter) {\n this._grid.dataModel.filter = filter;\n this.update();\n }\n /**\n * Set the scope for the variables data model.\n *\n * @param scope The scopes for the variables\n */\n set scope(scope) {\n this._grid.dataModel.scope = scope;\n this.update();\n }\n /**\n * Get the data model for the data grid.\n */\n get dataModel() {\n return this._grid.dataModel;\n }\n /**\n * Handle `after-attach` messages.\n *\n * @param message - The `after-attach` message.\n */\n onAfterAttach(message) {\n super.onAfterAttach(message);\n this._updateStyles();\n }\n /**\n * Update the computed style for the data grid on theme change.\n */\n _updateStyles() {\n const { style, textRenderer } = Private.computeStyle();\n this._grid.cellRenderers.update({}, textRenderer);\n this._grid.style = style;\n }\n}\n/**\n * A data grid model for variables.\n */\nclass GridModel extends _lumino_datagrid__WEBPACK_IMPORTED_MODULE_0__.DataModel {\n /**\n * Create grid model\n * @param translator optional translator\n */\n constructor(translator) {\n super();\n this._filter = new Set();\n this._scope = '';\n this._data = {\n name: [],\n type: [],\n value: [],\n variablesReference: []\n };\n this._trans = (translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator).load('jupyterlab');\n }\n /**\n * The variable filter list.\n */\n get filter() {\n return this._filter;\n }\n set filter(filter) {\n this._filter = filter;\n }\n /**\n * The current scope for the variables.\n */\n get scope() {\n return this._scope;\n }\n set scope(scope) {\n this._scope = scope;\n }\n /**\n * Get the row count for a particular region in the data grid.\n *\n * @param region The datagrid region.\n */\n rowCount(region) {\n return region === 'body' ? this._data.name.length : 1;\n }\n /**\n * Get the column count for a particular region in the data grid.\n *\n * @param region The datagrid region.\n */\n columnCount(region) {\n return region === 'body' ? 2 : 1;\n }\n /**\n * Get the data count for a particular region, row and column in the data grid.\n *\n * @param region The datagrid region.\n * @param row The datagrid row\n * @param column The datagrid column\n */\n data(region, row, column) {\n if (region === 'row-header') {\n return this._data.name[row];\n }\n if (region === 'column-header') {\n return column === 1 ? this._trans.__('Value') : this._trans.__('Type');\n }\n if (region === 'corner-header') {\n return this._trans.__('Name');\n }\n return column === 1 ? this._data.value[row] : this._data.type[row];\n }\n /**\n * Get the variable reference for a given row\n *\n * @param row The row in the datagrid.\n */\n getVariableReference(row) {\n return this._data.variablesReference[row];\n }\n /**\n * Get the variable name for a given row\n *\n * @param row The row in the datagrid.\n */\n getVariableName(row) {\n return this._data.name[row];\n }\n /**\n * Set the datagrid model data from the list of variables.\n *\n * @param scopes The list of variables.\n */\n setData(scopes) {\n var _a, _b;\n this._clearData();\n this.emitChanged({\n type: 'model-reset'\n });\n const scope = (_a = scopes.find(scope => scope.name === this._scope)) !== null && _a !== void 0 ? _a : scopes[0];\n const variables = (_b = scope === null || scope === void 0 ? void 0 : scope.variables) !== null && _b !== void 0 ? _b : [];\n const filtered = variables.filter(variable => variable.name && !this._filter.has(variable.name));\n filtered.forEach((variable, index) => {\n var _a;\n this._data.name[index] = variable.name;\n this._data.type[index] = (_a = variable.type) !== null && _a !== void 0 ? _a : '';\n this._data.value[index] = variable.value;\n this._data.variablesReference[index] = variable.variablesReference;\n });\n this.emitChanged({\n type: 'rows-inserted',\n region: 'body',\n index: 1,\n span: filtered.length\n });\n }\n /**\n * Clear all the data in the datagrid.\n */\n _clearData() {\n this._data = {\n name: [],\n type: [],\n value: [],\n variablesReference: []\n };\n }\n}\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Create a color palette element.\n */\n function createPalette() {\n const div = document.createElement('div');\n div.className = 'jp-DebuggerVariables-colorPalette';\n div.innerHTML = `\n \n \n \n \n \n \n \n `;\n return div;\n }\n /**\n * Compute the style and renderer for a data grid.\n */\n function computeStyle() {\n const palette = createPalette();\n document.body.appendChild(palette);\n let node;\n node = palette.querySelector('.jp-mod-void');\n const voidColor = getComputedStyle(node).color;\n node = palette.querySelector('.jp-mod-background');\n const backgroundColor = getComputedStyle(node).color;\n node = palette.querySelector('.jp-mod-header-background');\n const headerBackgroundColor = getComputedStyle(node).color;\n node = palette.querySelector('.jp-mod-grid-line');\n const gridLineColor = getComputedStyle(node).color;\n node = palette.querySelector('.jp-mod-header-grid-line');\n const headerGridLineColor = getComputedStyle(node).color;\n node = palette.querySelector('.jp-mod-selection');\n const selectionFillColor = getComputedStyle(node).color;\n node = palette.querySelector('.jp-mod-text');\n const textColor = getComputedStyle(node).color;\n document.body.removeChild(palette);\n return {\n style: {\n voidColor,\n backgroundColor,\n headerBackgroundColor,\n gridLineColor,\n headerGridLineColor,\n rowBackgroundColor: (i) => i % 2 === 0 ? voidColor : backgroundColor,\n selectionFillColor\n },\n textRenderer: new _lumino_datagrid__WEBPACK_IMPORTED_MODULE_0__.TextRenderer({\n font: '12px sans-serif',\n textColor,\n backgroundColor: '',\n verticalAlignment: 'center',\n horizontalAlignment: 'left'\n })\n };\n }\n Private.computeStyle = computeStyle;\n /**\n * A custom click handler to handle clicks on the variables grid.\n */\n class MouseHandler extends _lumino_datagrid__WEBPACK_IMPORTED_MODULE_0__.BasicMouseHandler {\n constructor() {\n super(...arguments);\n this._doubleClicked = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);\n this._selected = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);\n }\n /**\n * A signal emitted when the variables grid is double clicked.\n */\n get doubleClicked() {\n return this._doubleClicked;\n }\n /**\n * A signal emitted when the variables grid received mouse down or context menu event.\n */\n get selected() {\n return this._selected;\n }\n /**\n * Dispose of the resources held by the mouse handler.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal.disconnectSender(this);\n super.dispose();\n }\n /**\n * Handle a mouse double-click event.\n *\n * @param grid The datagrid clicked.\n * @param event The mouse event.\n */\n onMouseDoubleClick(grid, event) {\n const hit = grid.hitTest(event.clientX, event.clientY);\n this._doubleClicked.emit(hit);\n }\n /**\n * Handle the mouse down event for the data grid.\n *\n * @param grid - The data grid of interest.\n *\n * @param event - The mouse down event of interest.\n */\n onMouseDown(grid, event) {\n // Unpack the event.\n let { clientX, clientY } = event;\n // Hit test the grid.\n let hit = grid.hitTest(clientX, clientY);\n this._selected.emit(hit);\n // Propagate event to Lumino DataGrid BasicMouseHandler.\n super.onMouseDown(grid, event);\n }\n /**\n * Handle the context menu event for the data grid.\n *\n * @param grid - The data grid of interest.\n *\n * @param event - The context menu event of interest.\n */\n onContextMenu(grid, event) {\n // Unpack the event.\n let { clientX, clientY } = event;\n // Hit test the grid.\n let hit = grid.hitTest(clientX, clientY);\n this._selected.emit(hit);\n }\n }\n Private.MouseHandler = MouseHandler;\n})(Private || (Private = {}));\n//# sourceMappingURL=gridpanel.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/variables/gridpanel.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/variables/index.js":
+/*!**************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/variables/index.js ***!
+ \**************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Variables: () => (/* binding */ Variables),\n/* harmony export */ convertType: () => (/* binding */ convertType)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _grid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./grid */ \"../node_modules/@jupyterlab/debugger/lib/panels/variables/grid.js\");\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./scope */ \"../node_modules/@jupyterlab/debugger/lib/panels/variables/scope.js\");\n/* harmony import */ var _tree__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tree */ \"../node_modules/@jupyterlab/debugger/lib/panels/variables/tree.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n/**\n * A Panel to show a variable explorer.\n */\nclass Variables extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.PanelWithToolbar {\n /**\n * Instantiate a new Variables Panel.\n *\n * @param options The instantiation options for a Variables Panel.\n */\n constructor(options) {\n super(options);\n const { model, service, commands, themeManager } = options;\n const translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator;\n const trans = translator.load('jupyterlab');\n this.title.label = trans.__('Variables');\n this.toolbar.addClass('jp-DebuggerVariables-toolbar');\n this.toolbar.node.setAttribute('aria-label', trans.__('Variables toolbar'));\n this._tree = new _tree__WEBPACK_IMPORTED_MODULE_2__.VariablesBodyTree({\n model,\n service,\n commands,\n translator\n });\n this._table = new _grid__WEBPACK_IMPORTED_MODULE_3__.VariablesBodyGrid({\n model,\n commands,\n themeManager,\n translator\n });\n this._table.hide();\n this.toolbar.addItem('scope-switcher', new _scope__WEBPACK_IMPORTED_MODULE_4__.ScopeSwitcher({\n translator,\n model,\n tree: this._tree,\n grid: this._table\n }));\n const onViewChange = () => {\n if (this._table.isHidden) {\n this._tree.hide();\n this._table.show();\n this.node.setAttribute('data-jp-table', 'true');\n markViewButtonSelection('table');\n }\n else {\n this._tree.show();\n this._table.hide();\n this.node.removeAttribute('data-jp-table');\n markViewButtonSelection('tree');\n }\n this.update();\n };\n const treeViewButton = new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ToolbarButton({\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.treeViewIcon,\n className: 'jp-TreeView-Button',\n onClick: onViewChange,\n tooltip: trans.__('Tree View')\n });\n const tableViewButton = new _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ToolbarButton({\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.tableRowsIcon,\n className: 'jp-TableView-Button',\n onClick: onViewChange,\n tooltip: trans.__('Table View')\n });\n const markViewButtonSelection = (selectedView) => {\n tableViewButton.pressed = selectedView !== 'tree';\n treeViewButton.pressed = !tableViewButton.pressed;\n };\n markViewButtonSelection(this._table.isHidden ? 'tree' : 'table');\n this.toolbar.addItem('view-VariableTreeView', treeViewButton);\n this.toolbar.addItem('view-VariableTableView', tableViewButton);\n this.addWidget(this._tree);\n this.addWidget(this._table);\n this.addClass('jp-DebuggerVariables');\n }\n /**\n * Set the variable filter for both the tree and table views.\n */\n set filter(filter) {\n this._tree.filter = filter;\n this._table.filter = filter;\n }\n /**\n * A message handler invoked on a `'resize'` message.\n *\n * @param msg The Lumino message to process.\n */\n onResize(msg) {\n super.onResize(msg);\n this._resizeBody(msg);\n }\n /**\n * Resize the body.\n *\n * @param msg The resize message.\n */\n _resizeBody(msg) {\n const height = msg.height - this.toolbar.node.offsetHeight;\n this._tree.node.style.height = `${height}px`;\n }\n}\n/**\n * Convert a variable to a primitive type.\n *\n * @param variable The variable.\n */\nconst convertType = (variable) => {\n var _a, _b;\n const { type, value } = variable;\n switch (type) {\n case 'int':\n return parseInt(value, 10);\n case 'float':\n return parseFloat(value);\n case 'bool':\n return value;\n case 'str':\n if ((_b = (_a = variable.presentationHint) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b.includes('rawString')) {\n return value.slice(1, value.length - 1);\n }\n else {\n return value;\n }\n default:\n return type !== null && type !== void 0 ? type : value;\n }\n};\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/variables/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/variables/mimerenderer.js":
+/*!*********************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/variables/mimerenderer.js ***!
+ \*********************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VariableMimeRenderer: () => (/* binding */ VariableMimeRenderer)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/rendermime */ \"webpack/sharing/consume/default/@jupyterlab/rendermime/@jupyterlab/rendermime\");\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _hash__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../hash */ \"../node_modules/@jupyterlab/debugger/lib/hash.js\");\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n\n\n\nconst RENDERER_PANEL_CLASS = 'jp-VariableRendererPanel';\nconst RENDERER_PANEL_RENDERER_CLASS = 'jp-VariableRendererPanel-renderer';\n/**\n * Debugger variable mime type renderer\n */\nclass VariableMimeRenderer extends _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.MainAreaWidget {\n /**\n * Instantiate a new VariableMimeRenderer.\n */\n constructor(options) {\n const { dataLoader, rendermime, translator } = options;\n const content = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_4__.Panel();\n const loaded = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_3__.PromiseDelegate();\n super({\n content,\n reveal: Promise.all([dataLoader, loaded.promise])\n });\n this.content.addClass(RENDERER_PANEL_CLASS);\n this.trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator).load('jupyterlab');\n this.dataLoader = dataLoader;\n this.renderMime = rendermime;\n this._dataHash = null;\n this.refresh()\n .then(() => {\n loaded.resolve();\n })\n .catch(reason => loaded.reject(reason));\n }\n /**\n * Refresh the variable view\n */\n async refresh(force = false) {\n let data = await this.dataLoader();\n if (Object.keys(data.data).length === 0) {\n data = {\n data: {\n 'text/plain': this.trans.__('The variable is undefined in the active context.')\n },\n metadata: {}\n };\n }\n if (data.data) {\n const hash = (0,_hash__WEBPACK_IMPORTED_MODULE_5__.murmur2)(JSON.stringify(data), 17);\n if (force || this._dataHash !== hash) {\n if (this.content.layout) {\n this.content.widgets.forEach(w => {\n this.content.layout.removeWidget(w);\n });\n }\n // We trust unconditionally the data as the user is required to\n // execute the code to load a particular variable in memory\n const mimeType = this.renderMime.preferredMimeType(data.data, 'any');\n if (mimeType) {\n const widget = this.renderMime.createRenderer(mimeType);\n widget.addClass(RENDERER_PANEL_RENDERER_CLASS);\n const model = new _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_1__.MimeModel({ ...data, trusted: true });\n this._dataHash = hash;\n await widget.renderModel(model);\n this.content.addWidget(widget);\n }\n else {\n this._dataHash = null;\n return Promise.reject('Unable to determine the preferred mime type.');\n }\n }\n }\n else {\n this._dataHash = null;\n return Promise.reject('Unable to get a view on the variable.');\n }\n }\n}\n//# sourceMappingURL=mimerenderer.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/variables/mimerenderer.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/variables/model.js":
+/*!**************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/variables/model.js ***!
+ \**************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VariablesModel: () => (/* binding */ VariablesModel)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * A model for a variable explorer.\n */\nclass VariablesModel {\n constructor() {\n this._selectedVariable = null;\n this._state = [];\n this._variableExpanded = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n this._changed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal(this);\n }\n /**\n * Get all the scopes.\n */\n get scopes() {\n return this._state;\n }\n /**\n * Set the scopes.\n */\n set scopes(scopes) {\n this._state = scopes;\n this._changed.emit();\n }\n /**\n * Signal emitted when the current variable has changed.\n */\n get changed() {\n return this._changed;\n }\n /**\n * Signal emitted when the current variable has been expanded.\n */\n get variableExpanded() {\n return this._variableExpanded;\n }\n get selectedVariable() {\n return this._selectedVariable;\n }\n set selectedVariable(selection) {\n this._selectedVariable = selection;\n }\n /**\n * Expand a variable.\n *\n * @param variable The variable to expand.\n */\n expandVariable(variable) {\n this._variableExpanded.emit(variable);\n }\n}\n//# sourceMappingURL=model.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/variables/model.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/variables/scope.js":
+/*!**************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/variables/scope.js ***!
+ \**************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScopeSwitcher: () => (/* binding */ ScopeSwitcher)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n/**\n * A React component to handle scope changes.\n *\n * @param {object} props The component props.\n * @param props.model The variables model.\n * @param props.tree The variables tree widget.\n * @param props.grid The variables grid widget.\n * @param props.trans The translation bundle.\n */\nconst ScopeSwitcherComponent = ({ model, tree, grid, trans }) => {\n const [value, setValue] = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)('-');\n const scopes = model.scopes;\n const onChange = (event) => {\n const value = event.target.value;\n setValue(value);\n tree.scope = value;\n grid.scope = value;\n };\n return (react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.HTMLSelect, { onChange: onChange, value: value, \"aria-label\": trans.__('Scope') }, scopes.map(scope => (react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"option\", { key: scope.name, value: scope.name }, trans.__(scope.name))))));\n};\n/**\n * A widget to switch between scopes.\n */\nclass ScopeSwitcher extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ReactWidget {\n /**\n * Instantiate a new scope switcher.\n *\n * @param options The instantiation options for a ScopeSwitcher\n */\n constructor(options) {\n super();\n const { translator, model, tree, grid } = options;\n this._model = model;\n this._tree = tree;\n this._grid = grid;\n this._trans = (translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator).load('jupyterlab');\n }\n /**\n * Render the scope switcher.\n */\n render() {\n return (react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.UseSignal, { signal: this._model.changed, initialSender: this._model }, () => (react__WEBPACK_IMPORTED_MODULE_2___default().createElement(ScopeSwitcherComponent, { model: this._model, trans: this._trans, tree: this._tree, grid: this._grid }))));\n }\n}\n//# sourceMappingURL=scope.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/variables/scope.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/panels/variables/tree.js":
+/*!*************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/panels/variables/tree.js ***!
+ \*************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ VariablesBodyTree: () => (/* binding */ VariablesBodyTree)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyter_react_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyter/react-components */ \"webpack/sharing/consume/default/@jupyter/react-components/@jupyter/react-components\");\n/* harmony import */ var _jupyter_react_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyter_react_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! . */ \"../node_modules/@jupyterlab/debugger/lib/panels/variables/index.js\");\n/* harmony import */ var _debugger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../debugger */ \"../node_modules/@jupyterlab/debugger/lib/debugger.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n/**\n * The body for tree of variables.\n */\nclass VariablesBodyTree extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.ReactWidget {\n /**\n * Instantiate a new Body for the tree of variables.\n *\n * @param options The instantiation options for a VariablesBodyTree.\n */\n constructor(options) {\n super();\n this._scope = '';\n this._scopes = [];\n this._filter = new Set();\n this._commands = options.commands;\n this._service = options.service;\n this._translator = options.translator;\n const model = (this.model = options.model);\n model.changed.connect(this._updateScopes, this);\n this.addClass('jp-DebuggerVariables-body');\n }\n /**\n * Render the VariablesBodyTree.\n */\n render() {\n var _a;\n const scope = (_a = this._scopes.find(scope => scope.name === this._scope)) !== null && _a !== void 0 ? _a : this._scopes[0];\n const handleSelectVariable = (variable) => {\n this.model.selectedVariable = variable;\n };\n if ((scope === null || scope === void 0 ? void 0 : scope.name) !== 'Globals') {\n this.addClass('jp-debuggerVariables-local');\n }\n else {\n this.removeClass('jp-debuggerVariables-local');\n }\n return scope ? (react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null,\n react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_jupyter_react_components__WEBPACK_IMPORTED_MODULE_2__.TreeView, { className: \"jp-TreeView\" },\n react__WEBPACK_IMPORTED_MODULE_4___default().createElement(VariablesBranch, { key: scope.name, commands: this._commands, service: this._service, data: scope.variables, filter: this._filter, translator: this._translator, handleSelectVariable: handleSelectVariable })))) : (react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"div\", null));\n }\n /**\n * Set the variable filter list.\n */\n set filter(filter) {\n this._filter = filter;\n this.update();\n }\n /**\n * Set the current scope\n */\n set scope(scope) {\n this._scope = scope;\n this.update();\n }\n /**\n * Update the scopes and the tree of variables.\n *\n * @param model The variables model.\n */\n _updateScopes(model) {\n if (_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.ArrayExt.shallowEqual(this._scopes, model.scopes)) {\n return;\n }\n this._scopes = model.scopes;\n this.update();\n }\n}\n/**\n * A React component to display a list of variables.\n *\n * @param {object} props The component props.\n * @param props.data An array of variables.\n * @param props.service The debugger service.\n * @param props.filter Optional variable filter list.\n */\nconst VariablesBranch = (props) => {\n const { commands, data, service, filter, translator, handleSelectVariable } = props;\n const [variables, setVariables] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(data);\n (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(() => {\n setVariables(data);\n }, [data]);\n return (react__WEBPACK_IMPORTED_MODULE_4___default().createElement((react__WEBPACK_IMPORTED_MODULE_4___default().Fragment), null, variables\n .filter(variable => !(filter || new Set()).has(variable.evaluateName || ''))\n .map(variable => {\n const key = `${variable.name}-${variable.evaluateName}-${variable.type}-${variable.value}-${variable.variablesReference}`;\n return (react__WEBPACK_IMPORTED_MODULE_4___default().createElement(VariableComponent, { key: key, commands: commands, data: variable, service: service, filter: filter, translator: translator, onSelect: handleSelectVariable }));\n })));\n};\nfunction _prepareDetail(variable) {\n if (variable.type === 'float' &&\n (variable.value == 'inf' || variable.value == '-inf')) {\n return variable.value;\n }\n const detail = (0,___WEBPACK_IMPORTED_MODULE_5__.convertType)(variable);\n if (variable.type === 'float' && isNaN(detail)) {\n // silence React warning:\n // `Received NaN for the `children` attribute. If this is expected, cast the value to a string`\n return 'NaN';\n }\n return detail;\n}\n/**\n * A React component to display one node variable in tree.\n *\n * @param {object} props The component props.\n * @param props.data An array of variables.\n * @param props.service The debugger service.\n * @param props.filter Optional variable filter list.\n */\nconst VariableComponent = (props) => {\n var _a, _b;\n const { commands, data, service, filter, translator, onSelect } = props;\n const [variable] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(data);\n const [showDetailsButton, setShowDetailsButton] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false);\n const [expanded, setExpanded] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(false);\n const [variables, setVariables] = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(null);\n const trans = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(() => (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator).load('jupyterlab'), [translator]);\n const onSelection = onSelect !== null && onSelect !== void 0 ? onSelect : (() => void 0);\n const expandable = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(() => variable.variablesReference !== 0 || variable.type === 'function', [variable.variablesReference, variable.type]);\n const details = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(() => _prepareDetail(variable), [variable]);\n const hasMimeRenderer = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(() => ![\n 'special variables',\n 'protected variables',\n 'function variables',\n 'class variables'\n ].includes(variable.name), [variable.name]);\n const disableMimeRenderer = (0,react__WEBPACK_IMPORTED_MODULE_4__.useMemo)(() => {\n var _a;\n return !service.model.hasRichVariableRendering ||\n !commands.isEnabled(_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.CommandIDs.renderMimeVariable, {\n name: variable.name,\n frameID: (_a = service.model.callstack.frame) === null || _a === void 0 ? void 0 : _a.id\n });\n }, [\n service.model.hasRichVariableRendering,\n variable.name,\n (_a = service.model.callstack.frame) === null || _a === void 0 ? void 0 : _a.id\n ]);\n const fetchChildren = (0,react__WEBPACK_IMPORTED_MODULE_4__.useCallback)(async () => {\n if (expandable && !variables) {\n setVariables(await service.inspectVariable(variable.variablesReference));\n }\n }, [expandable, service, variable.variablesReference, variables]);\n const onVariableClicked = (0,react__WEBPACK_IMPORTED_MODULE_4__.useCallback)(async (event) => {\n const item = (0,_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.getTreeItemElement)(event.target);\n if (event.currentTarget !== item) {\n return;\n }\n if (!expandable) {\n return;\n }\n setExpanded(!expanded);\n }, [expandable, expanded]);\n const onSelectChange = (0,react__WEBPACK_IMPORTED_MODULE_4__.useCallback)((event) => {\n if (event.currentTarget === event.detail && event.detail.selected) {\n onSelection(variable);\n }\n }, [variable]);\n const renderVariable = (0,react__WEBPACK_IMPORTED_MODULE_4__.useCallback)(() => {\n var _a;\n commands\n .execute(_debugger__WEBPACK_IMPORTED_MODULE_6__.Debugger.CommandIDs.renderMimeVariable, {\n name: variable.name,\n frameID: (_a = service.model.callstack.frame) === null || _a === void 0 ? void 0 : _a.id\n })\n .catch(reason => {\n console.error(`Failed to render variable ${variable === null || variable === void 0 ? void 0 : variable.name}`, reason);\n });\n }, [commands, variable.name, (_b = service.model.callstack.frame) === null || _b === void 0 ? void 0 : _b.id]);\n const onContextMenu = (0,react__WEBPACK_IMPORTED_MODULE_4__.useCallback)((event) => {\n const item = (0,_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.getTreeItemElement)(event.target);\n if (event.currentTarget !== item) {\n return;\n }\n onSelection(variable);\n }, [variable]);\n return (react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_jupyter_react_components__WEBPACK_IMPORTED_MODULE_2__.TreeItem, { className: \"jp-TreeItem nested\", expanded: expanded, onSelect: onSelectChange, onExpand: fetchChildren, onClick: (e) => onVariableClicked(e), onContextMenu: onContextMenu, onKeyDown: event => {\n if (event.key == 'Enter') {\n if (hasMimeRenderer && showDetailsButton) {\n onSelection(variable);\n renderVariable();\n }\n }\n }, onFocus: event => {\n setShowDetailsButton(!event.defaultPrevented);\n event.preventDefault();\n }, onBlur: event => {\n setShowDetailsButton(false);\n }, onMouseOver: (event) => {\n setShowDetailsButton(!event.defaultPrevented);\n event.preventDefault();\n }, onMouseLeave: (event) => {\n setShowDetailsButton(false);\n } },\n react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", { className: \"jp-DebuggerVariables-name\" }, variable.name),\n details && (react__WEBPACK_IMPORTED_MODULE_4___default().createElement(\"span\", { className: \"jp-DebuggerVariables-detail\" }, details)),\n hasMimeRenderer && showDetailsButton && (react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_jupyter_react_components__WEBPACK_IMPORTED_MODULE_2__.Button, { className: \"jp-DebuggerVariables-renderVariable\", appearance: \"stealth\", slot: \"end\", disabled: disableMimeRenderer, onClick: e => {\n e.stopPropagation();\n renderVariable();\n }, title: trans.__('Render variable: %1', variable === null || variable === void 0 ? void 0 : variable.name) },\n react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.searchIcon.react, { tag: null }))),\n variables ? (react__WEBPACK_IMPORTED_MODULE_4___default().createElement(VariablesBranch, { key: variable.name, commands: commands, data: variables, service: service, filter: filter, translator: translator, handleSelectVariable: onSelect })) : (\n /* Trick to ensure collapse button is displayed\n when variables are not loaded yet */\n expandable && react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_jupyter_react_components__WEBPACK_IMPORTED_MODULE_2__.TreeItem, null))));\n};\n//# sourceMappingURL=tree.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/panels/variables/tree.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/service.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/service.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DebuggerService: () => (/* binding */ DebuggerService)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _debugger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./debugger */ \"../node_modules/@jupyterlab/debugger/lib/debugger.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * A concrete implementation of the IDebugger interface.\n */\nclass DebuggerService {\n /**\n * Instantiate a new DebuggerService.\n *\n * @param options The instantiation options for a DebuggerService.\n */\n constructor(options) {\n var _a, _b;\n this._eventMessage = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);\n this._isDisposed = false;\n this._sessionChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);\n this._pauseOnExceptionChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal(this);\n this._config = options.config;\n // Avoids setting session with invalid client\n // session should be set only when a notebook or\n // a console get the focus.\n // TODO: also checks that the notebook or console\n // runs a kernel with debugging ability\n this._session = null;\n this._specsManager = (_a = options.specsManager) !== null && _a !== void 0 ? _a : null;\n this._model = new _debugger__WEBPACK_IMPORTED_MODULE_2__.Debugger.Model();\n this._debuggerSources = (_b = options.debuggerSources) !== null && _b !== void 0 ? _b : null;\n this._trans = (options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator).load('jupyterlab');\n }\n /**\n * Signal emitted for debug event messages.\n */\n get eventMessage() {\n return this._eventMessage;\n }\n /**\n * Get debugger config.\n */\n get config() {\n return this._config;\n }\n /**\n * Whether the debug service is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Whether the current debugger is started.\n */\n get isStarted() {\n var _a, _b;\n return (_b = (_a = this._session) === null || _a === void 0 ? void 0 : _a.isStarted) !== null && _b !== void 0 ? _b : false;\n }\n /**\n * A signal emitted when the pause on exception filter changes.\n */\n get pauseOnExceptionChanged() {\n return this._pauseOnExceptionChanged;\n }\n /**\n * Returns the debugger service's model.\n */\n get model() {\n return this._model;\n }\n /**\n * Returns the current debug session.\n */\n get session() {\n return this._session;\n }\n /**\n * Sets the current debug session to the given parameter.\n *\n * @param session - the new debugger session.\n */\n set session(session) {\n var _a;\n if (this._session === session) {\n return;\n }\n if (this._session) {\n this._session.dispose();\n }\n this._session = session;\n (_a = this._session) === null || _a === void 0 ? void 0 : _a.eventMessage.connect((_, event) => {\n if (event.event === 'stopped') {\n this._model.stoppedThreads.add(event.body.threadId);\n void this._getAllFrames();\n }\n else if (event.event === 'continued') {\n this._model.stoppedThreads.delete(event.body.threadId);\n this._clearModel();\n this._clearSignals();\n }\n this._eventMessage.emit(event);\n });\n this._sessionChanged.emit(session);\n }\n /**\n * Signal emitted upon session changed.\n */\n get sessionChanged() {\n return this._sessionChanged;\n }\n /**\n * Dispose the debug service.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_1__.Signal.clearData(this);\n }\n /**\n * Computes an id based on the given code.\n *\n * @param code The source code.\n */\n getCodeId(code) {\n var _a, _b, _c, _d;\n try {\n return this._config.getCodeId(code, (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '');\n }\n catch (_e) {\n return '';\n }\n }\n /**\n * Whether there exists a thread in stopped state.\n */\n hasStoppedThreads() {\n var _a, _b;\n return (_b = ((_a = this._model) === null || _a === void 0 ? void 0 : _a.stoppedThreads.size) > 0) !== null && _b !== void 0 ? _b : false;\n }\n /**\n * Request whether debugging is available for the session connection.\n *\n * @param connection The session connection.\n */\n async isAvailable(connection) {\n var _a, _b, _c, _d;\n if (!this._specsManager) {\n return true;\n }\n await this._specsManager.ready;\n const kernel = connection === null || connection === void 0 ? void 0 : connection.kernel;\n if (!kernel) {\n return false;\n }\n const name = kernel.name;\n if (!((_a = this._specsManager.specs) === null || _a === void 0 ? void 0 : _a.kernelspecs[name])) {\n return true;\n }\n return !!((_d = (_c = (_b = this._specsManager.specs.kernelspecs[name]) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c['debugger']) !== null && _d !== void 0 ? _d : false);\n }\n /**\n * Clear all the breakpoints for the current session.\n */\n async clearBreakpoints() {\n var _a;\n if (((_a = this.session) === null || _a === void 0 ? void 0 : _a.isStarted) !== true) {\n return;\n }\n this._model.breakpoints.breakpoints.forEach((_, path, map) => {\n void this._setBreakpoints([], path);\n });\n let bpMap = new Map();\n this._model.breakpoints.restoreBreakpoints(bpMap);\n }\n /**\n * Continues the execution of the current thread.\n */\n async continue() {\n try {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n await this.session.sendRequest('continue', {\n threadId: this._currentThread()\n });\n this._model.stoppedThreads.delete(this._currentThread());\n this._clearModel();\n this._clearSignals();\n }\n catch (err) {\n console.error('Error:', err.message);\n }\n }\n /**\n * Retrieve the content of a source file.\n *\n * @param source The source object containing the path to the file.\n */\n async getSource(source) {\n var _a, _b;\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n const reply = await this.session.sendRequest('source', {\n source,\n sourceReference: (_a = source.sourceReference) !== null && _a !== void 0 ? _a : 0\n });\n return { ...reply.body, path: (_b = source.path) !== null && _b !== void 0 ? _b : '' };\n }\n /**\n * Evaluate an expression.\n *\n * @param expression The expression to evaluate as a string.\n */\n async evaluate(expression) {\n var _a;\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n const frameId = (_a = this.model.callstack.frame) === null || _a === void 0 ? void 0 : _a.id;\n const reply = await this.session.sendRequest('evaluate', {\n context: 'repl',\n expression,\n frameId\n });\n if (!reply.success) {\n return null;\n }\n // get the frames to retrieve the latest state of the variables\n this._clearModel();\n await this._getAllFrames();\n return reply.body;\n }\n /**\n * Makes the current thread run again for one step.\n */\n async next() {\n try {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n await this.session.sendRequest('next', {\n threadId: this._currentThread()\n });\n }\n catch (err) {\n console.error('Error:', err.message);\n }\n }\n /**\n * Request rich representation of a variable.\n *\n * @param variableName The variable name to request\n * @param frameId The current frame id in which to request the variable\n * @returns The mime renderer data model\n */\n async inspectRichVariable(variableName, frameId) {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n const reply = await this.session.sendRequest('richInspectVariables', {\n variableName,\n frameId\n });\n if (reply.success) {\n return reply.body;\n }\n else {\n throw new Error(reply.message);\n }\n }\n /**\n * Request variables for a given variable reference.\n *\n * @param variablesReference The variable reference to request.\n */\n async inspectVariable(variablesReference) {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n const reply = await this.session.sendRequest('variables', {\n variablesReference\n });\n if (reply.success) {\n return reply.body.variables;\n }\n else {\n throw new Error(reply.message);\n }\n }\n /**\n * Request to set a variable in the global scope.\n *\n * @param name The name of the variable.\n */\n async copyToGlobals(name) {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n if (!this.model.supportCopyToGlobals) {\n throw new Error('The \"copyToGlobals\" request is not supported by the kernel');\n }\n const frames = this.model.callstack.frames;\n this.session\n .sendRequest('copyToGlobals', {\n srcVariableName: name,\n dstVariableName: name,\n srcFrameId: frames[0].id\n })\n .then(async () => {\n const scopes = await this._getScopes(frames[0]);\n const variables = await Promise.all(scopes.map(scope => this._getVariables(scope)));\n const variableScopes = this._convertScopes(scopes, variables);\n this._model.variables.scopes = variableScopes;\n })\n .catch(reason => {\n console.error(reason);\n });\n }\n /**\n * Requests all the defined variables and display them in the\n * table view.\n */\n async displayDefinedVariables() {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n const inspectReply = await this.session.sendRequest('inspectVariables', {});\n const variables = inspectReply.body.variables;\n const variableScopes = [\n {\n name: this._trans.__('Globals'),\n variables: variables\n }\n ];\n this._model.variables.scopes = variableScopes;\n }\n async displayModules() {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n const modules = await this.session.sendRequest('modules', {});\n this._model.kernelSources.kernelSources = modules.body.modules.map(module => {\n return {\n name: module.name,\n path: module.path\n };\n });\n }\n /**\n * Restart the debugger.\n */\n async restart() {\n const { breakpoints } = this._model.breakpoints;\n await this.stop();\n await this.start();\n await this._restoreBreakpoints(breakpoints);\n }\n /**\n * Restore the state of a debug session.\n *\n * @param autoStart - If true, starts the debugger if it has not been started.\n */\n async restoreState(autoStart) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (!this.model || !this.session) {\n return;\n }\n const reply = await this.session.restoreState();\n const { body } = reply;\n const breakpoints = this._mapBreakpoints(body.breakpoints);\n const stoppedThreads = new Set(body.stoppedThreads);\n this._model.hasRichVariableRendering = body.richRendering === true;\n this._model.supportCopyToGlobals = body.copyToGlobals === true;\n this._config.setHashParams({\n kernel: (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '',\n method: body.hashMethod,\n seed: body.hashSeed\n });\n this._config.setTmpFileParams({\n kernel: (_h = (_g = (_f = (_e = this.session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.kernel) === null || _g === void 0 ? void 0 : _g.name) !== null && _h !== void 0 ? _h : '',\n prefix: body.tmpFilePrefix,\n suffix: body.tmpFileSuffix\n });\n this._model.stoppedThreads = stoppedThreads;\n if (!this.isStarted && (autoStart || stoppedThreads.size !== 0)) {\n await this.start();\n }\n if (this.isStarted || autoStart) {\n this._model.title = this.isStarted\n ? ((_k = (_j = this.session) === null || _j === void 0 ? void 0 : _j.connection) === null || _k === void 0 ? void 0 : _k.name) || '-'\n : '-';\n }\n if (this._debuggerSources) {\n const filtered = this._filterBreakpoints(breakpoints);\n this._model.breakpoints.restoreBreakpoints(filtered);\n }\n else {\n this._model.breakpoints.restoreBreakpoints(breakpoints);\n }\n if (stoppedThreads.size !== 0) {\n await this._getAllFrames();\n }\n else if (this.isStarted) {\n this._clearModel();\n this._clearSignals();\n }\n // Send the currentExceptionFilters to debugger.\n if (this.session.currentExceptionFilters) {\n await this.pauseOnExceptions(this.session.currentExceptionFilters);\n }\n }\n /**\n * Starts a debugger.\n * Precondition: !isStarted\n */\n start() {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n return this.session.start();\n }\n /**\n * Makes the current thread pause if possible.\n */\n async pause() {\n try {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n await this.session.sendRequest('pause', {\n threadId: this._currentThread()\n });\n }\n catch (err) {\n console.error('Error:', err.message);\n }\n }\n /**\n * Makes the current thread step in a function / method if possible.\n */\n async stepIn() {\n try {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n await this.session.sendRequest('stepIn', {\n threadId: this._currentThread()\n });\n }\n catch (err) {\n console.error('Error:', err.message);\n }\n }\n /**\n * Makes the current thread step out a function / method if possible.\n */\n async stepOut() {\n try {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n await this.session.sendRequest('stepOut', {\n threadId: this._currentThread()\n });\n }\n catch (err) {\n console.error('Error:', err.message);\n }\n }\n /**\n * Stops the debugger.\n * Precondition: isStarted\n */\n async stop() {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n await this.session.stop();\n if (this._model) {\n this._model.clear();\n }\n }\n /**\n * Update all breakpoints at once.\n *\n * @param code - The code in the cell where the breakpoints are set.\n * @param breakpoints - The list of breakpoints to set.\n * @param path - Optional path to the file where to set the breakpoints.\n */\n async updateBreakpoints(code, breakpoints, path) {\n var _a;\n if (!((_a = this.session) === null || _a === void 0 ? void 0 : _a.isStarted)) {\n return;\n }\n if (!path) {\n path = (await this._dumpCell(code)).body.sourcePath;\n }\n const state = await this.session.restoreState();\n const localBreakpoints = breakpoints\n .filter(({ line }) => typeof line === 'number')\n .map(({ line }) => ({ line: line }));\n const remoteBreakpoints = this._mapBreakpoints(state.body.breakpoints);\n // Set the local copy of breakpoints to reflect only editors that exist.\n if (this._debuggerSources) {\n const filtered = this._filterBreakpoints(remoteBreakpoints);\n this._model.breakpoints.restoreBreakpoints(filtered);\n }\n else {\n this._model.breakpoints.restoreBreakpoints(remoteBreakpoints);\n }\n // Removes duplicated breakpoints. It is better to do it here than\n // in the editor, because the kernel can change the line of a\n // breakpoint (when you attempt to set a breakpoint on an empty\n // line for instance).\n let addedLines = new Set();\n // Set the kernel's breakpoints for this path.\n const reply = await this._setBreakpoints(localBreakpoints, path);\n const updatedBreakpoints = reply.body.breakpoints.filter((val, _, arr) => {\n const cond1 = arr.findIndex(el => el.line === val.line) > -1;\n const cond2 = !addedLines.has(val.line);\n addedLines.add(val.line);\n return cond1 && cond2;\n });\n // Update the local model and finish kernel configuration.\n this._model.breakpoints.setBreakpoints(path, updatedBreakpoints);\n await this.session.sendRequest('configurationDone', {});\n }\n /**\n * Determines if pausing on exceptions is supported by the kernel\n */\n pauseOnExceptionsIsValid() {\n var _a, _b;\n if (this.isStarted) {\n if (((_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.exceptionBreakpointFilters) === null || _b === void 0 ? void 0 : _b.length) !== 0) {\n return true;\n }\n }\n return false;\n }\n /**\n * Add or remove a filter from the current used filters.\n *\n * @param exceptionFilter - The filter to add or remove from current filters.\n */\n async pauseOnExceptionsFilter(exceptionFilter) {\n var _a;\n if (!((_a = this.session) === null || _a === void 0 ? void 0 : _a.isStarted)) {\n return;\n }\n let exceptionFilters = this.session.currentExceptionFilters;\n if (this.session.isPausingOnException(exceptionFilter)) {\n const index = exceptionFilters.indexOf(exceptionFilter);\n exceptionFilters.splice(index, 1);\n }\n else {\n exceptionFilters === null || exceptionFilters === void 0 ? void 0 : exceptionFilters.push(exceptionFilter);\n }\n await this.pauseOnExceptions(exceptionFilters);\n }\n /**\n * Enable or disable pausing on exceptions.\n *\n * @param exceptionFilters - The filters to use for the current debugging session.\n */\n async pauseOnExceptions(exceptionFilters) {\n var _a, _b;\n if (!((_a = this.session) === null || _a === void 0 ? void 0 : _a.isStarted)) {\n return;\n }\n const exceptionBreakpointFilters = ((_b = this.session.exceptionBreakpointFilters) === null || _b === void 0 ? void 0 : _b.map(e => e.filter)) || [];\n let options = {\n filters: []\n };\n exceptionFilters.forEach(filter => {\n if (exceptionBreakpointFilters.includes(filter)) {\n options.filters.push(filter);\n }\n });\n this.session.currentExceptionFilters = options.filters;\n await this.session.sendRequest('setExceptionBreakpoints', options);\n this._pauseOnExceptionChanged.emit();\n }\n /**\n * Get the debugger state\n *\n * @returns Debugger state\n */\n getDebuggerState() {\n var _a, _b, _c, _d, _e, _f, _g;\n const breakpoints = this._model.breakpoints.breakpoints;\n let cells = [];\n if (this._debuggerSources) {\n for (const id of breakpoints.keys()) {\n const editorList = this._debuggerSources.find({\n focus: false,\n kernel: (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '',\n path: (_g = (_f = (_e = this._session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.path) !== null && _g !== void 0 ? _g : '',\n source: id\n });\n const tmpCells = editorList.map(e => e.src.getSource());\n cells = cells.concat(tmpCells);\n }\n }\n return { cells, breakpoints };\n }\n /**\n * Restore the debugger state\n *\n * @param state Debugger state\n * @returns Whether the state has been restored successfully or not\n */\n async restoreDebuggerState(state) {\n var _a, _b, _c, _d;\n await this.start();\n for (const cell of state.cells) {\n await this._dumpCell(cell);\n }\n const breakpoints = new Map();\n const kernel = (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '';\n const { prefix, suffix } = this._config.getTmpFileParams(kernel);\n for (const item of state.breakpoints) {\n const [id, list] = item;\n const unsuffixedId = id.substr(0, id.length - suffix.length);\n const codeHash = unsuffixedId.substr(unsuffixedId.lastIndexOf('/') + 1);\n const newId = prefix.concat(codeHash).concat(suffix);\n breakpoints.set(newId, list);\n }\n await this._restoreBreakpoints(breakpoints);\n const config = await this.session.sendRequest('configurationDone', {});\n await this.restoreState(false);\n return config.success;\n }\n /**\n * Clear the current model.\n */\n _clearModel() {\n this._model.callstack.frames = [];\n this._model.variables.scopes = [];\n }\n /**\n * Clear the signals set on the model.\n */\n _clearSignals() {\n this._model.callstack.currentFrameChanged.disconnect(this._onCurrentFrameChanged, this);\n this._model.variables.variableExpanded.disconnect(this._onVariableExpanded, this);\n }\n /**\n * Map a list of scopes to a list of variables.\n *\n * @param scopes The list of scopes.\n * @param variables The list of variables.\n */\n _convertScopes(scopes, variables) {\n if (!variables || !scopes) {\n return [];\n }\n return scopes.map((scope, i) => {\n return {\n name: scope.name,\n variables: variables[i].map(variable => {\n return { ...variable };\n })\n };\n });\n }\n /**\n * Get the current thread from the model.\n */\n _currentThread() {\n // TODO: ask the model for the current thread ID\n return 1;\n }\n /**\n * Dump the content of a cell.\n *\n * @param code The source code to dump.\n */\n async _dumpCell(code) {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n return this.session.sendRequest('dumpCell', { code });\n }\n /**\n * Filter breakpoints and only return those associated with a known editor.\n *\n * @param breakpoints - Map of breakpoints.\n *\n */\n _filterBreakpoints(breakpoints) {\n if (!this._debuggerSources) {\n return breakpoints;\n }\n let bpMapForRestore = new Map();\n for (const collection of breakpoints) {\n const [id, list] = collection;\n list.forEach(() => {\n var _a, _b, _c, _d, _e, _f, _g;\n this._debuggerSources.find({\n focus: false,\n kernel: (_d = (_c = (_b = (_a = this.session) === null || _a === void 0 ? void 0 : _a.connection) === null || _b === void 0 ? void 0 : _b.kernel) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '',\n path: (_g = (_f = (_e = this._session) === null || _e === void 0 ? void 0 : _e.connection) === null || _f === void 0 ? void 0 : _f.path) !== null && _g !== void 0 ? _g : '',\n source: id\n }).forEach(() => {\n if (list.length > 0) {\n bpMapForRestore.set(id, list);\n }\n });\n });\n }\n return bpMapForRestore;\n }\n /**\n * Get all the frames from the kernel.\n */\n async _getAllFrames() {\n this._model.callstack.currentFrameChanged.connect(this._onCurrentFrameChanged, this);\n this._model.variables.variableExpanded.connect(this._onVariableExpanded, this);\n const stackFrames = await this._getFrames(this._currentThread());\n this._model.callstack.frames = stackFrames;\n }\n /**\n * Get all the frames for the given thread id.\n *\n * @param threadId The thread id.\n */\n async _getFrames(threadId) {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n const reply = await this.session.sendRequest('stackTrace', {\n threadId\n });\n const stackFrames = reply.body.stackFrames;\n return stackFrames;\n }\n /**\n * Get all the scopes for the given frame.\n *\n * @param frame The frame.\n */\n async _getScopes(frame) {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n if (!frame) {\n return [];\n }\n const reply = await this.session.sendRequest('scopes', {\n frameId: frame.id\n });\n return reply.body.scopes;\n }\n /**\n * Get the variables for a given scope.\n *\n * @param scope The scope to get variables for.\n */\n async _getVariables(scope) {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n if (!scope) {\n return [];\n }\n const reply = await this.session.sendRequest('variables', {\n variablesReference: scope.variablesReference\n });\n return reply.body.variables;\n }\n /**\n * Process the list of breakpoints from the server and return as a map.\n *\n * @param breakpoints - The list of breakpoints from the kernel.\n *\n */\n _mapBreakpoints(breakpoints) {\n if (!breakpoints.length) {\n return new Map();\n }\n return breakpoints.reduce((map, val) => {\n const { breakpoints, source } = val;\n map.set(source, breakpoints.map(point => ({\n ...point,\n source: { path: source },\n verified: true\n })));\n return map;\n }, new Map());\n }\n /**\n * Handle a change of the current active frame.\n *\n * @param _ The callstack model\n * @param frame The frame.\n */\n async _onCurrentFrameChanged(_, frame) {\n if (!frame) {\n return;\n }\n const scopes = await this._getScopes(frame);\n const variables = await Promise.all(scopes.map(scope => this._getVariables(scope)));\n const variableScopes = this._convertScopes(scopes, variables);\n this._model.variables.scopes = variableScopes;\n }\n /**\n * Handle a variable expanded event and request variables from the kernel.\n *\n * @param _ The variables model.\n * @param variable The expanded variable.\n */\n async _onVariableExpanded(_, variable) {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n const reply = await this.session.sendRequest('variables', {\n variablesReference: variable.variablesReference\n });\n let newVariable = { ...variable, expanded: true };\n reply.body.variables.forEach((variable) => {\n newVariable = { [variable.name]: variable, ...newVariable };\n });\n const newScopes = this._model.variables.scopes.map(scope => {\n const findIndex = scope.variables.findIndex(ele => ele.variablesReference === variable.variablesReference);\n scope.variables[findIndex] = newVariable;\n return { ...scope };\n });\n this._model.variables.scopes = [...newScopes];\n return reply.body.variables;\n }\n /**\n * Set the breakpoints for a given file.\n *\n * @param breakpoints The list of breakpoints to set.\n * @param path The path to where to set the breakpoints.\n */\n async _setBreakpoints(breakpoints, path) {\n if (!this.session) {\n throw new Error('No active debugger session');\n }\n return await this.session.sendRequest('setBreakpoints', {\n breakpoints: breakpoints,\n source: { path },\n sourceModified: false\n });\n }\n /**\n * Re-send the breakpoints to the kernel and update the model.\n *\n * @param breakpoints The map of breakpoints to send\n */\n async _restoreBreakpoints(breakpoints) {\n for (const [source, points] of breakpoints) {\n await this._setBreakpoints(points\n .filter(({ line }) => typeof line === 'number')\n .map(({ line }) => ({ line: line })), source);\n }\n this._model.breakpoints.restoreBreakpoints(breakpoints);\n }\n}\n//# sourceMappingURL=service.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/service.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/session.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/session.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DebuggerSession: () => (/* binding */ DebuggerSession)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_2__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n/**\n * A concrete implementation of IDebugger.ISession.\n */\nclass DebuggerSession {\n /**\n * Instantiate a new debug session\n *\n * @param options - The debug session instantiation options.\n */\n constructor(options) {\n this._seq = 0;\n this._ready = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.PromiseDelegate();\n this._isDisposed = false;\n this._isStarted = false;\n this._exceptionPaths = [];\n this._exceptionBreakpointFilters = [];\n this._currentExceptionFilters = {};\n this._disposed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal(this);\n this._eventMessage = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal(this);\n this.connection = options.connection;\n this._config = options.config;\n this.translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator;\n }\n /**\n * Whether the debug session is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Returns the initialize response .\n */\n get capabilities() {\n return this._capabilities;\n }\n /**\n * A signal emitted when the debug session is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * Returns the API session connection to connect to a debugger.\n */\n get connection() {\n return this._connection;\n }\n /**\n * Sets the API session connection to connect to a debugger to\n * the given parameter.\n *\n * @param connection - The new API session connection.\n */\n set connection(connection) {\n var _a, _b;\n if (this._connection) {\n this._connection.iopubMessage.disconnect(this._handleEvent, this);\n }\n this._connection = connection;\n if (!this._connection) {\n this._isStarted = false;\n return;\n }\n this._connection.iopubMessage.connect(this._handleEvent, this);\n this._ready = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.PromiseDelegate();\n const future = (_b = (_a = this.connection) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.requestDebug({\n type: 'request',\n seq: 0,\n command: 'debugInfo'\n });\n if (future) {\n future.onReply = (msg) => {\n this._ready.resolve();\n future.dispose();\n };\n }\n }\n /**\n * Whether the debug session is started.\n */\n get isStarted() {\n return this._isStarted;\n }\n /**\n * Exception paths defined by the debugger\n */\n get exceptionPaths() {\n return this._exceptionPaths;\n }\n /**\n * Exception breakpoint filters defined by the debugger\n */\n get exceptionBreakpointFilters() {\n return this._exceptionBreakpointFilters;\n }\n /**\n * Get current exception filters.\n */\n get currentExceptionFilters() {\n var _a, _b, _c;\n const kernel = (_c = (_b = (_a = this.connection) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : '';\n if (!kernel) {\n return [];\n }\n const tmpFileParams = this._config.getTmpFileParams(kernel);\n if (!tmpFileParams) {\n return [];\n }\n let prefix = tmpFileParams.prefix;\n if (Object.keys(this._currentExceptionFilters).includes(prefix)) {\n return this._currentExceptionFilters[prefix];\n }\n return [];\n }\n /**\n * Set current exception filters.\n */\n set currentExceptionFilters(exceptionFilters) {\n var _a, _b, _c;\n const kernel = (_c = (_b = (_a = this.connection) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : '';\n if (!kernel) {\n return;\n }\n const tmpFileParams = this._config.getTmpFileParams(kernel);\n if (!tmpFileParams) {\n return;\n }\n let prefix = tmpFileParams.prefix;\n if (exceptionFilters === null) {\n if (Object.keys(this._currentExceptionFilters).includes(prefix)) {\n delete this._currentExceptionFilters[prefix];\n }\n }\n else {\n this._currentExceptionFilters[prefix] = exceptionFilters;\n }\n }\n /**\n * Signal emitted for debug event messages.\n */\n get eventMessage() {\n return this._eventMessage;\n }\n /**\n * Dispose the debug session.\n */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n this._isDisposed = true;\n this._disposed.emit();\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal.clearData(this);\n }\n /**\n * Start a new debug session\n */\n async start() {\n var _a, _b, _c, _d;\n const initializeResponse = await this.sendRequest('initialize', {\n clientID: 'jupyterlab',\n clientName: 'JupyterLab',\n adapterID: (_c = (_b = (_a = this.connection) === null || _a === void 0 ? void 0 : _a.kernel) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : '',\n pathFormat: 'path',\n linesStartAt1: true,\n columnsStartAt1: true,\n supportsVariableType: true,\n supportsVariablePaging: true,\n supportsRunInTerminalRequest: true,\n locale: document.documentElement.lang\n });\n if (!initializeResponse.success) {\n throw new Error(`Could not start the debugger: ${initializeResponse.message}`);\n }\n this._capabilities = initializeResponse.body;\n this._isStarted = true;\n this._exceptionBreakpointFilters =\n (_d = initializeResponse.body) === null || _d === void 0 ? void 0 : _d.exceptionBreakpointFilters;\n await this.sendRequest('attach', {});\n }\n /**\n * Stop the running debug session.\n */\n async stop() {\n this._isStarted = false;\n await this.sendRequest('disconnect', {\n restart: false,\n terminateDebuggee: false\n });\n }\n /**\n * Restore the state of a debug session.\n */\n async restoreState() {\n var _a;\n const message = await this.sendRequest('debugInfo', {});\n this._isStarted = message.body.isStarted;\n this._exceptionPaths = (_a = message.body) === null || _a === void 0 ? void 0 : _a.exceptionPaths;\n return message;\n }\n /**\n * Whether the debugger is pausing on exception.\n *\n * @param filter - Specify a filter\n */\n isPausingOnException(filter) {\n var _a, _b;\n if (filter) {\n return (_b = (_a = this.currentExceptionFilters) === null || _a === void 0 ? void 0 : _a.includes(filter)) !== null && _b !== void 0 ? _b : false;\n }\n else {\n return this.currentExceptionFilters.length > 0;\n }\n }\n /**\n * Send a custom debug request to the kernel.\n *\n * @param command debug command.\n * @param args arguments for the debug command.\n */\n async sendRequest(command, args) {\n await this._ready.promise;\n const message = await this._sendDebugMessage({\n type: 'request',\n seq: this._seq++,\n command,\n arguments: args\n });\n return message.content;\n }\n /**\n * Handle debug events sent on the 'iopub' channel.\n *\n * @param sender - the emitter of the event.\n * @param message - the event message.\n */\n _handleEvent(sender, message) {\n const msgType = message.header.msg_type;\n if (msgType !== 'debug_event') {\n return;\n }\n const event = message.content;\n this._eventMessage.emit(event);\n }\n /**\n * Send a debug request message to the kernel.\n *\n * @param msg debug request message to send to the kernel.\n */\n async _sendDebugMessage(msg) {\n var _a;\n const kernel = (_a = this.connection) === null || _a === void 0 ? void 0 : _a.kernel;\n if (!kernel) {\n return Promise.reject(new Error('A kernel is required to send debug messages.'));\n }\n const reply = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_1__.PromiseDelegate();\n const future = kernel.requestDebug(msg);\n future.onReply = (msg) => {\n reply.resolve(msg);\n };\n await future.done;\n return reply.promise;\n }\n}\n//# sourceMappingURL=session.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/session.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/sidebar.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/sidebar.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DebuggerSidebar: () => (/* binding */ DebuggerSidebar)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _panels_breakpoints__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./panels/breakpoints */ \"../node_modules/@jupyterlab/debugger/lib/panels/breakpoints/index.js\");\n/* harmony import */ var _panels_callstack__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./panels/callstack */ \"../node_modules/@jupyterlab/debugger/lib/panels/callstack/index.js\");\n/* harmony import */ var _panels_sources__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./panels/sources */ \"../node_modules/@jupyterlab/debugger/lib/panels/sources/index.js\");\n/* harmony import */ var _panels_kernelSources__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./panels/kernelSources */ \"../node_modules/@jupyterlab/debugger/lib/panels/kernelSources/index.js\");\n/* harmony import */ var _panels_variables__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./panels/variables */ \"../node_modules/@jupyterlab/debugger/lib/panels/variables/index.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n/**\n * A debugger sidebar.\n */\nclass DebuggerSidebar extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.SidePanel {\n /**\n * Instantiate a new Debugger.Sidebar\n *\n * @param options The instantiation options for a Debugger.Sidebar\n */\n constructor(options) {\n const translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_0__.nullTranslator;\n super({ translator });\n this.id = 'jp-debugger-sidebar';\n this.title.icon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.bugIcon;\n this.addClass('jp-DebuggerSidebar');\n const { callstackCommands, breakpointsCommands, editorServices, service, themeManager } = options;\n const model = service.model;\n this.variables = new _panels_variables__WEBPACK_IMPORTED_MODULE_3__.Variables({\n model: model.variables,\n commands: callstackCommands.registry,\n service,\n themeManager,\n translator\n });\n this.callstack = new _panels_callstack__WEBPACK_IMPORTED_MODULE_4__.Callstack({\n commands: callstackCommands,\n model: model.callstack,\n translator\n });\n this.breakpoints = new _panels_breakpoints__WEBPACK_IMPORTED_MODULE_5__.Breakpoints({\n service,\n commands: breakpointsCommands,\n model: model.breakpoints,\n translator\n });\n this.sources = new _panels_sources__WEBPACK_IMPORTED_MODULE_6__.Sources({\n model: model.sources,\n service,\n editorServices,\n translator\n });\n this.kernelSources = new _panels_kernelSources__WEBPACK_IMPORTED_MODULE_7__.KernelSources({\n model: model.kernelSources,\n service,\n translator\n });\n const header = new DebuggerSidebar.Header();\n this.header.addWidget(header);\n model.titleChanged.connect((_, title) => {\n header.title.label = title;\n });\n this.content.addClass('jp-DebuggerSidebar-body');\n this.addWidget(this.variables);\n this.addWidget(this.callstack);\n this.addWidget(this.breakpoints);\n this.addWidget(this.sources);\n this.addWidget(this.kernelSources);\n }\n}\n/**\n * A namespace for DebuggerSidebar statics\n */\n(function (DebuggerSidebar) {\n /**\n * The header for a debugger sidebar.\n */\n class Header extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_2__.Widget {\n /**\n * Instantiate a new sidebar header.\n */\n constructor() {\n super({ node: Private.createHeader() });\n this.title.changed.connect(_ => {\n this.node.textContent = this.title.label;\n });\n }\n }\n DebuggerSidebar.Header = Header;\n})(DebuggerSidebar || (DebuggerSidebar = {}));\n/**\n * A namespace for private module data.\n */\nvar Private;\n(function (Private) {\n /**\n * Create a sidebar header node.\n */\n function createHeader() {\n const title = document.createElement('h2');\n title.textContent = '-';\n title.classList.add('jp-text-truncated');\n return title;\n }\n Private.createHeader = createHeader;\n})(Private || (Private = {}));\n//# sourceMappingURL=sidebar.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/sidebar.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/sources.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/sources.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DebuggerSources: () => (/* binding */ DebuggerSources)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n/**\n * The source and editor manager for a debugger instance.\n */\nclass DebuggerSources {\n /**\n * Create a new DebuggerSources instance.\n *\n * @param options The instantiation options for a DebuggerSources instance.\n */\n constructor(options) {\n var _a, _b, _c;\n this._config = options.config;\n this._shell = options.shell;\n this._notebookTracker = (_a = options.notebookTracker) !== null && _a !== void 0 ? _a : null;\n this._consoleTracker = (_b = options.consoleTracker) !== null && _b !== void 0 ? _b : null;\n this._editorTracker = (_c = options.editorTracker) !== null && _c !== void 0 ? _c : null;\n this._readOnlyEditorTracker = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.WidgetTracker({ namespace: '@jupyterlab/debugger' });\n }\n /**\n * Returns an array of editors for a source matching the current debug\n * session by iterating through all the widgets in each of the supported\n * debugger types (i.e., consoles, files, notebooks).\n *\n * @param params - The editor search parameters.\n */\n find(params) {\n return [\n ...this._findInConsoles(params),\n ...this._findInEditors(params),\n ...this._findInNotebooks(params),\n ...this._findInReadOnlyEditors(params)\n ];\n }\n /**\n * Open a read-only editor in the main area.\n *\n * @param params The editor open parameters.\n */\n open(params) {\n const { editorWrapper, label, caption } = params;\n const widget = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.MainAreaWidget({\n content: editorWrapper\n });\n widget.id = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.DOMUtils.createDomID();\n widget.title.label = label;\n widget.title.closable = true;\n widget.title.caption = caption;\n widget.title.icon = _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_1__.textEditorIcon;\n this._shell.add(widget, 'main', { type: 'Debugger Sources' });\n void this._readOnlyEditorTracker.add(widget);\n }\n /**\n * Find relevant editors matching the search params in the notebook tracker.\n *\n * @param params - The editor search parameters.\n */\n _findInNotebooks(params) {\n if (!this._notebookTracker) {\n return [];\n }\n const { focus, kernel, path, source } = params;\n const editors = [];\n this._notebookTracker.forEach(notebookPanel => {\n const sessionContext = notebookPanel.sessionContext;\n if (path !== sessionContext.path) {\n return;\n }\n const notebook = notebookPanel.content;\n if (focus) {\n notebook.mode = 'command';\n }\n const cells = notebookPanel.content.widgets;\n cells.forEach((cell, i) => {\n // check the event is for the correct cell\n const code = cell.model.sharedModel.getSource();\n const codeId = this._getCodeId(code, kernel);\n if (!codeId) {\n return;\n }\n if (source !== codeId) {\n return;\n }\n if (focus) {\n notebook.activeCellIndex = i;\n if (notebook.activeCell) {\n notebook\n .scrollToItem(notebook.activeCellIndex, 'smart')\n .catch(reason => {\n // no-op\n });\n }\n this._shell.activateById(notebookPanel.id);\n }\n editors.push(Object.freeze({\n get: () => cell.editor,\n reveal: () => notebook.scrollToItem(i, 'smart'),\n src: cell.model.sharedModel\n }));\n });\n });\n return editors;\n }\n /**\n * Find relevant editors matching the search params in the console tracker.\n *\n * @param params - The editor search parameters.\n */\n _findInConsoles(params) {\n if (!this._consoleTracker) {\n return [];\n }\n const { focus, kernel, path, source } = params;\n const editors = [];\n this._consoleTracker.forEach(consoleWidget => {\n const sessionContext = consoleWidget.sessionContext;\n if (path !== sessionContext.path) {\n return;\n }\n const cells = consoleWidget.console.cells;\n for (const cell of cells) {\n const code = cell.model.sharedModel.getSource();\n const codeId = this._getCodeId(code, kernel);\n if (!codeId) {\n break;\n }\n if (source !== codeId) {\n break;\n }\n editors.push(Object.freeze({\n get: () => cell.editor,\n reveal: () => Promise.resolve(this._shell.activateById(consoleWidget.id)),\n src: cell.model.sharedModel\n }));\n if (focus) {\n this._shell.activateById(consoleWidget.id);\n }\n }\n });\n return editors;\n }\n /**\n * Find relevant editors matching the search params in the editor tracker.\n *\n * @param params - The editor search parameters.\n */\n _findInEditors(params) {\n if (!this._editorTracker) {\n return [];\n }\n const { focus, kernel, path, source } = params;\n const editors = [];\n this._editorTracker.forEach(doc => {\n const fileEditor = doc.content;\n if (path !== fileEditor.context.path) {\n return;\n }\n const editor = fileEditor.editor;\n if (!editor) {\n return;\n }\n const code = editor.model.sharedModel.getSource();\n const codeId = this._getCodeId(code, kernel);\n if (!codeId) {\n return;\n }\n if (source !== codeId) {\n return;\n }\n editors.push(Object.freeze({\n get: () => editor,\n reveal: () => Promise.resolve(this._shell.activateById(doc.id)),\n src: fileEditor.model.sharedModel\n }));\n if (focus) {\n this._shell.activateById(doc.id);\n }\n });\n return editors;\n }\n /**\n * Find relevant editors matching the search params in the read-only tracker.\n *\n * @param params - The editor search parameters.\n */\n _findInReadOnlyEditors(params) {\n const { focus, kernel, source } = params;\n const editors = [];\n this._readOnlyEditorTracker.forEach(widget => {\n var _a;\n const editor = (_a = widget.content) === null || _a === void 0 ? void 0 : _a.editor;\n if (!editor) {\n return;\n }\n const code = editor.model.sharedModel.getSource();\n const codeId = this._getCodeId(code, kernel);\n if (!codeId) {\n return;\n }\n if (widget.title.caption !== source && source !== codeId) {\n return;\n }\n editors.push(Object.freeze({\n get: () => editor,\n reveal: () => Promise.resolve(this._shell.activateById(widget.id)),\n src: editor.model.sharedModel\n }));\n if (focus) {\n this._shell.activateById(widget.id);\n }\n });\n return editors;\n }\n /**\n * Get the code id for a given source and kernel,\n * and handle the case of a kernel without parameters.\n *\n * @param code The source code.\n * @param kernel The name of the kernel.\n */\n _getCodeId(code, kernel) {\n try {\n return this._config.getCodeId(code, kernel);\n }\n catch (_a) {\n return '';\n }\n }\n}\n//# sourceMappingURL=sources.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/sources.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/lib/tokens.js":
+/*!**********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/lib/tokens.js ***!
+ \**********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IDebugger: () => (/* binding */ IDebugger),\n/* harmony export */ IDebuggerConfig: () => (/* binding */ IDebuggerConfig),\n/* harmony export */ IDebuggerHandler: () => (/* binding */ IDebuggerHandler),\n/* harmony export */ IDebuggerSidebar: () => (/* binding */ IDebuggerSidebar),\n/* harmony export */ IDebuggerSourceViewer: () => (/* binding */ IDebuggerSourceViewer),\n/* harmony export */ IDebuggerSources: () => (/* binding */ IDebuggerSources)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * The visual debugger token.\n */\nconst IDebugger = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/debugger:IDebugger', 'A debugger user interface.');\n/**\n * The debugger configuration token.\n */\nconst IDebuggerConfig = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/debugger:IDebuggerConfig', 'A service to handle the debugger configuration.');\n/**\n * The debugger sources utility token.\n */\nconst IDebuggerSources = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/debugger:IDebuggerSources', 'A service to display sources in debug mode.');\n/**\n * The debugger sidebar token.\n */\nconst IDebuggerSidebar = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/debugger:IDebuggerSidebar', 'A service for the debugger sidebar.');\n/**\n * The debugger handler token.\n */\nconst IDebuggerHandler = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/debugger:IDebuggerHandler', 'A service for handling notebook debugger.');\n/**\n * The source viewer token.\n */\nconst IDebuggerSourceViewer = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/debugger:IDebuggerSourceViewer', 'A debugger source viewer.');\n//# sourceMappingURL=tokens.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/lib/tokens.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/debugger/style/index.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/debugger/style/index.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_codeeditor_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/codeeditor/style/index.js */ \"../node_modules/@jupyterlab/codeeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_rendermime_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/rendermime/style/index.js */ \"../node_modules/@jupyterlab/rendermime/style/index.js\");\n/* harmony import */ var _jupyterlab_docregistry_style_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/docregistry/style/index.js */ \"../node_modules/@jupyterlab/docregistry/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_codemirror_style_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @jupyterlab/codemirror/style/index.js */ \"../node_modules/@jupyterlab/codemirror/style/index.js\");\n/* harmony import */ var _jupyterlab_cells_style_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @jupyterlab/cells/style/index.js */ \"../node_modules/@jupyterlab/cells/style/index.js\");\n/* harmony import */ var _jupyterlab_console_style_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @jupyterlab/console/style/index.js */ \"../node_modules/@jupyterlab/console/style/index.js\");\n/* harmony import */ var _jupyterlab_fileeditor_style_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @jupyterlab/fileeditor/style/index.js */ \"../node_modules/@jupyterlab/fileeditor/style/index.js\");\n/* harmony import */ var _jupyterlab_notebook_style_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @jupyterlab/notebook/style/index.js */ \"../node_modules/@jupyterlab/notebook/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/debugger/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/debugger/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager-extension/lib/index.js":
+/*!*********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager-extension/lib/index.js ***!
+ \*********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ToolbarItems: () => (/* binding */ ToolbarItems),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ downloadPlugin: () => (/* binding */ downloadPlugin),\n/* harmony export */ openBrowserTabPlugin: () => (/* binding */ openBrowserTabPlugin),\n/* harmony export */ pathStatusPlugin: () => (/* binding */ pathStatusPlugin),\n/* harmony export */ savingStatusPlugin: () => (/* binding */ savingStatusPlugin)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/application */ \"webpack/sharing/consume/default/@jupyterlab/application/@jupyterlab/application\");\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/docmanager */ \"webpack/sharing/consume/default/@jupyterlab/docmanager/@jupyterlab/docmanager\");\n/* harmony import */ var _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/statusbar */ \"webpack/sharing/consume/default/@jupyterlab/statusbar/@jupyterlab/statusbar\");\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _recents__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./recents */ \"../node_modules/@jupyterlab/docmanager-extension/lib/recents.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module docmanager-extension\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * The command IDs used by the document manager plugin.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n CommandIDs.clone = 'docmanager:clone';\n CommandIDs.deleteFile = 'docmanager:delete-file';\n CommandIDs.newUntitled = 'docmanager:new-untitled';\n CommandIDs.open = 'docmanager:open';\n CommandIDs.openBrowserTab = 'docmanager:open-browser-tab';\n CommandIDs.reload = 'docmanager:reload';\n CommandIDs.rename = 'docmanager:rename';\n CommandIDs.del = 'docmanager:delete';\n CommandIDs.duplicate = 'docmanager:duplicate';\n CommandIDs.restoreCheckpoint = 'docmanager:restore-checkpoint';\n CommandIDs.save = 'docmanager:save';\n CommandIDs.saveAll = 'docmanager:save-all';\n CommandIDs.saveAs = 'docmanager:save-as';\n CommandIDs.download = 'docmanager:download';\n CommandIDs.toggleAutosave = 'docmanager:toggle-autosave';\n CommandIDs.showInFileBrowser = 'docmanager:show-in-file-browser';\n})(CommandIDs || (CommandIDs = {}));\n/**\n * The id of the document manager plugin.\n */\nconst docManagerPluginId = '@jupyterlab/docmanager-extension:plugin';\n/**\n * A plugin to open documents in the main area.\n *\n */\nconst openerPlugin = {\n id: '@jupyterlab/docmanager-extension:opener',\n description: 'Provides the widget opener.',\n autoStart: true,\n provides: _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentWidgetOpener,\n activate: (app) => {\n const { shell } = app;\n return new (class {\n constructor() {\n this._opened = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_10__.Signal(this);\n }\n open(widget, options) {\n if (!widget.id) {\n widget.id = `document-manager-${++Private.id}`;\n }\n widget.title.dataset = {\n type: 'document-title',\n ...widget.title.dataset\n };\n if (!widget.isAttached) {\n shell.add(widget, 'main', options || {});\n }\n shell.activateById(widget.id);\n this._opened.emit(widget);\n }\n get opened() {\n return this._opened;\n }\n })();\n }\n};\n/**\n * A plugin to handle dirty states for open documents.\n */\nconst contextsPlugin = {\n id: '@jupyterlab/docmanager-extension:contexts',\n description: 'Adds the handling of opened documents dirty state.',\n autoStart: true,\n requires: [_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentManager, _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentWidgetOpener],\n optional: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabStatus],\n activate: (app, docManager, widgetOpener, status) => {\n const contexts = new WeakSet();\n widgetOpener.opened.connect((_, widget) => {\n // Handle dirty state for open documents.\n const context = docManager.contextForWidget(widget);\n if (context && !contexts.has(context)) {\n if (status) {\n handleContext(status, context);\n }\n contexts.add(context);\n }\n });\n }\n};\n/**\n * A plugin providing the default document manager.\n */\nconst manager = {\n id: '@jupyterlab/docmanager-extension:manager',\n description: 'Provides the document manager.',\n provides: _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentManager,\n requires: [_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentWidgetOpener],\n optional: [\n _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.ITranslator,\n _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabStatus,\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ISessionContextDialogs,\n _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.JupyterLab.IInfo,\n _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IRecentsManager\n ],\n activate: (app, widgetOpener, translator_, status, sessionDialogs_, info, recentsManager) => {\n var _a;\n const { serviceManager: manager, docRegistry: registry } = app;\n const translator = translator_ !== null && translator_ !== void 0 ? translator_ : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.nullTranslator;\n const sessionDialogs = sessionDialogs_ !== null && sessionDialogs_ !== void 0 ? sessionDialogs_ : new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.SessionContextDialogs({ translator });\n const when = app.restored.then(() => void 0);\n const docManager = new _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.DocumentManager({\n registry,\n manager,\n opener: widgetOpener,\n when,\n setBusy: (_a = (status && (() => status.setBusy()))) !== null && _a !== void 0 ? _a : undefined,\n sessionDialogs,\n translator: translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.nullTranslator,\n isConnectedCallback: () => {\n if (info) {\n return info.isConnected;\n }\n return true;\n },\n recentsManager: recentsManager !== null && recentsManager !== void 0 ? recentsManager : undefined\n });\n return docManager;\n }\n};\n/**\n * The default document manager provider commands and settings.\n */\nconst docManagerPlugin = {\n id: docManagerPluginId,\n description: 'Adds commands and settings to the document manager.',\n autoStart: true,\n requires: [_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentManager, _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentWidgetOpener, _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_4__.ISettingRegistry],\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.ITranslator, _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ICommandPalette, _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabShell],\n activate: (app, docManager, widgetOpener, settingRegistry, translator, palette, labShell) => {\n translator = translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.nullTranslator;\n const trans = translator.load('jupyterlab');\n const registry = app.docRegistry;\n // Register the file operations commands.\n addCommands(app, docManager, widgetOpener, settingRegistry, translator, labShell, palette);\n // Keep up to date with the settings registry.\n const onSettingsUpdated = (settings) => {\n // Handle whether to autosave\n const autosave = settings.get('autosave').composite;\n docManager.autosave =\n autosave === true || autosave === false ? autosave : true;\n app.commands.notifyCommandChanged(CommandIDs.toggleAutosave);\n const confirmClosingDocument = settings.get('confirmClosingDocument')\n .composite;\n docManager.confirmClosingDocument = confirmClosingDocument !== null && confirmClosingDocument !== void 0 ? confirmClosingDocument : true;\n // Handle autosave interval\n const autosaveInterval = settings.get('autosaveInterval').composite;\n docManager.autosaveInterval = autosaveInterval || 120;\n // Handle last modified timestamp check margin\n const lastModifiedCheckMargin = settings.get('lastModifiedCheckMargin')\n .composite;\n docManager.lastModifiedCheckMargin = lastModifiedCheckMargin || 500;\n const renameUntitledFile = settings.get('renameUntitledFileOnSave')\n .composite;\n docManager.renameUntitledFileOnSave = renameUntitledFile !== null && renameUntitledFile !== void 0 ? renameUntitledFile : true;\n // Handle default widget factory overrides.\n const defaultViewers = settings.get('defaultViewers').composite;\n const overrides = {};\n // Filter the defaultViewers and file types for existing ones.\n Object.keys(defaultViewers).forEach(ft => {\n if (!registry.getFileType(ft)) {\n console.warn(`File Type ${ft} not found`);\n return;\n }\n if (!registry.getWidgetFactory(defaultViewers[ft])) {\n console.warn(`Document viewer ${defaultViewers[ft]} not found`);\n }\n overrides[ft] = defaultViewers[ft];\n });\n // Set the default factory overrides. If not provided, this has the\n // effect of unsetting any previous overrides.\n for (const ft of registry.fileTypes()) {\n try {\n registry.setDefaultWidgetFactory(ft.name, overrides[ft.name]);\n }\n catch (_a) {\n console.warn(`Failed to set default viewer ${overrides[ft.name]} for file type ${ft.name}`);\n }\n }\n };\n // Fetch the initial state of the settings.\n Promise.all([settingRegistry.load(docManagerPluginId), app.restored])\n .then(([settings]) => {\n settings.changed.connect(onSettingsUpdated);\n onSettingsUpdated(settings);\n const onStateChanged = (sender, change) => {\n if ([\n 'autosave',\n 'autosaveInterval',\n 'confirmClosingDocument',\n 'lastModifiedCheckMargin',\n 'renameUntitledFileOnSave'\n ].includes(change.name) &&\n settings.get(change.name).composite !== change.newValue) {\n settings.set(change.name, change.newValue).catch(reason => {\n console.error(`Failed to set the setting '${change.name}':\\n${reason}`);\n });\n }\n };\n docManager.stateChanged.connect(onStateChanged);\n })\n .catch((reason) => {\n console.error(reason.message);\n });\n // Register a fetch transformer for the settings registry,\n // allowing us to dynamically populate a help string with the\n // available document viewers and file types for the default\n // viewer overrides.\n settingRegistry.transform(docManagerPluginId, {\n fetch: plugin => {\n // Get the available file types.\n const fileTypes = Array.from(registry.fileTypes())\n .map(ft => ft.name)\n .join(' \\n');\n // Get the available widget factories.\n const factories = Array.from(registry.widgetFactories())\n .map(f => f.name)\n .join(' \\n');\n // Generate the help string.\n const description = trans.__(`Overrides for the default viewers for file types.\nSpecify a mapping from file type name to document viewer name, for example:\n\ndefaultViewers: {\n markdown: \"Markdown Preview\"\n}\n\nIf you specify non-existent file types or viewers, or if a viewer cannot\nopen a given file type, the override will not function.\n\nAvailable viewers:\n%1\n\nAvailable file types:\n%2`, factories, fileTypes);\n const schema = _lumino_coreutils__WEBPACK_IMPORTED_MODULE_9__.JSONExt.deepCopy(plugin.schema);\n schema.properties.defaultViewers.description = description;\n return { ...plugin, schema };\n }\n });\n // If the document registry gains or loses a factory or file type,\n // regenerate the settings description with the available options.\n registry.changed.connect(() => settingRegistry.load(docManagerPluginId, true));\n }\n};\n/**\n * A plugin for adding a saving status item to the status bar.\n */\nconst savingStatusPlugin = {\n id: '@jupyterlab/docmanager-extension:saving-status',\n description: 'Adds a saving status indicator.',\n autoStart: true,\n requires: [_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentManager, _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabShell],\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.ITranslator, _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_5__.IStatusBar],\n activate: (_, docManager, labShell, translator, statusBar) => {\n if (!statusBar) {\n // Automatically disable if statusbar missing\n return;\n }\n const saving = new _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.SavingStatus({\n docManager,\n translator: translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.nullTranslator\n });\n // Keep the currently active widget synchronized.\n saving.model.widget = labShell.currentWidget;\n labShell.currentChanged.connect(() => {\n saving.model.widget = labShell.currentWidget;\n });\n statusBar.registerStatusItem(savingStatusPlugin.id, {\n item: saving,\n align: 'middle',\n isActive: () => saving.model !== null && saving.model.status !== null,\n activeStateChanged: saving.model.stateChanged\n });\n }\n};\n/**\n * A plugin providing a file path widget to the status bar.\n */\nconst pathStatusPlugin = {\n id: '@jupyterlab/docmanager-extension:path-status',\n description: 'Adds a file path indicator in the status bar.',\n autoStart: true,\n requires: [_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentManager, _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabShell],\n optional: [_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_5__.IStatusBar],\n activate: (_, docManager, labShell, statusBar) => {\n if (!statusBar) {\n // Automatically disable if statusbar missing\n return;\n }\n const path = new _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.PathStatus({ docManager });\n // Keep the file path widget up-to-date with the application active widget.\n path.model.widget = labShell.currentWidget;\n labShell.currentChanged.connect(() => {\n path.model.widget = labShell.currentWidget;\n });\n statusBar.registerStatusItem(pathStatusPlugin.id, {\n item: path,\n align: 'right',\n rank: 0\n });\n }\n};\n/**\n * A plugin providing download commands in the file menu and command palette.\n */\nconst downloadPlugin = {\n id: '@jupyterlab/docmanager-extension:download',\n description: 'Adds command to download files.',\n autoStart: true,\n requires: [_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentManager],\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.ITranslator, _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ICommandPalette],\n activate: (app, docManager, translator, palette) => {\n var _a;\n const trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.nullTranslator).load('jupyterlab');\n const { commands, shell } = app;\n const isEnabled = () => {\n const { currentWidget } = shell;\n return !!(currentWidget && docManager.contextForWidget(currentWidget));\n };\n commands.addCommand(CommandIDs.download, {\n label: trans.__('Download'),\n caption: trans.__('Download the file to your computer'),\n isEnabled,\n execute: () => {\n // Checks that shell.currentWidget is valid:\n if (isEnabled()) {\n const context = docManager.contextForWidget(shell.currentWidget);\n if (!context) {\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Cannot Download'),\n body: trans.__('No context found for current widget!'),\n buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton()]\n });\n }\n return context.download();\n }\n }\n });\n (_a = app.shell.currentChanged) === null || _a === void 0 ? void 0 : _a.connect(() => {\n app.commands.notifyCommandChanged(CommandIDs.download);\n });\n const category = trans.__('File Operations');\n if (palette) {\n palette.addItem({ command: CommandIDs.download, category });\n }\n }\n};\n/**\n * A plugin providing open-browser-tab commands.\n *\n * This is its own plugin in case you would like to disable this feature.\n * e.g. jupyter labextension disable @jupyterlab/docmanager-extension:open-browser-tab\n *\n * Note: If disabling this, you may also want to disable:\n * @jupyterlab/filebrowser-extension:open-browser-tab\n */\nconst openBrowserTabPlugin = {\n id: '@jupyterlab/docmanager-extension:open-browser-tab',\n description: 'Adds command to open a browser tab.',\n autoStart: true,\n requires: [_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.IDocumentManager],\n optional: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.ITranslator],\n activate: (app, docManager, translator) => {\n const trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_6__.nullTranslator).load('jupyterlab');\n const { commands } = app;\n commands.addCommand(CommandIDs.openBrowserTab, {\n execute: args => {\n const path = typeof args['path'] === 'undefined' ? '' : args['path'];\n if (!path) {\n return;\n }\n return docManager.services.contents.getDownloadUrl(path).then(url => {\n const opened = window.open();\n if (opened) {\n opened.opener = null;\n opened.location.href = url;\n }\n else {\n throw new Error('Failed to open new browser tab.');\n }\n });\n },\n iconClass: args => args['icon'] || '',\n label: () => trans.__('Open in New Browser Tab')\n });\n }\n};\n/**\n * Export the plugins as default.\n */\nconst plugins = [\n manager,\n docManagerPlugin,\n contextsPlugin,\n pathStatusPlugin,\n savingStatusPlugin,\n downloadPlugin,\n openBrowserTabPlugin,\n openerPlugin,\n _recents__WEBPACK_IMPORTED_MODULE_13__.recentsManagerPlugin\n];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugins);\n/**\n * Toolbar item factory\n */\nvar ToolbarItems;\n(function (ToolbarItems) {\n /**\n * Create save button toolbar item.\n *\n */\n function createSaveButton(commands, fileChanged) {\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.addCommandToolbarButtonClass)(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ReactWidget.create(react__WEBPACK_IMPORTED_MODULE_12__.createElement(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.UseSignal, { signal: fileChanged }, () => (react__WEBPACK_IMPORTED_MODULE_12__.createElement(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.CommandToolbarButtonComponent, { commands: commands, id: CommandIDs.save, label: '', args: { toolbar: true } })))));\n }\n ToolbarItems.createSaveButton = createSaveButton;\n})(ToolbarItems || (ToolbarItems = {}));\n/* Widget to display the revert to checkpoint confirmation. */\nclass RevertConfirmWidget extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_11__.Widget {\n /**\n * Construct a new revert confirmation widget.\n */\n constructor(checkpoint, trans, fileType = 'notebook') {\n super({\n node: Private.createRevertConfirmNode(checkpoint, fileType, trans)\n });\n }\n}\n// Returns the file type for a widget.\nfunction fileType(widget, docManager) {\n if (!widget) {\n return 'File';\n }\n const context = docManager.contextForWidget(widget);\n if (!context) {\n return '';\n }\n const fts = docManager.registry.getFileTypesForPath(context.path);\n return fts.length && fts[0].displayName ? fts[0].displayName : 'File';\n}\n/**\n * Add the file operations commands to the application's command registry.\n */\nfunction addCommands(app, docManager, widgetOpener, settingRegistry, translator, labShell, palette) {\n var _a;\n const trans = translator.load('jupyterlab');\n const { commands, shell } = app;\n const category = trans.__('File Operations');\n const isEnabled = () => {\n const { currentWidget } = shell;\n return !!(currentWidget && docManager.contextForWidget(currentWidget));\n };\n const isWritable = () => {\n var _a;\n const { currentWidget } = shell;\n if (!currentWidget) {\n return false;\n }\n const context = docManager.contextForWidget(currentWidget);\n return !!((_a = context === null || context === void 0 ? void 0 : context.contentsModel) === null || _a === void 0 ? void 0 : _a.writable);\n };\n const readonlyNotification = (contextPath) => {\n return _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Notification.warning(trans.__(`%1 is read-only. Use \"Save as…\" instead.`, contextPath), { autoClose: 5000 });\n };\n // If inside a rich application like JupyterLab, add additional functionality.\n if (labShell) {\n addLabCommands(app, docManager, labShell, widgetOpener, translator);\n }\n commands.addCommand(CommandIDs.deleteFile, {\n label: () => `Delete ${fileType(shell.currentWidget, docManager)}`,\n execute: args => {\n const path = typeof args['path'] === 'undefined' ? '' : args['path'];\n if (!path) {\n const command = CommandIDs.deleteFile;\n throw new Error(`A non-empty path is required for ${command}.`);\n }\n return docManager.deleteFile(path);\n }\n });\n commands.addCommand(CommandIDs.newUntitled, {\n execute: async (args) => {\n const errorTitle = args['error'] || trans.__('Error');\n const path = typeof args['path'] === 'undefined' ? '' : args['path'];\n const options = {\n type: args['type'],\n path\n };\n if (args['type'] === 'file') {\n options.ext = args['ext'] || '.txt';\n }\n return docManager.services.contents\n .newUntitled(options)\n .catch(error => (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showErrorMessage)(errorTitle, error));\n },\n label: args => args['label'] || `New ${args['type']}`\n });\n commands.addCommand(CommandIDs.open, {\n execute: async (args) => {\n const path = typeof args['path'] === 'undefined' ? '' : args['path'];\n const factory = args['factory'] || void 0;\n const kernel = args === null || args === void 0 ? void 0 : args.kernel;\n const options = args['options'] || void 0;\n return docManager.services.contents\n .get(path, { content: false })\n .then(() => docManager.openOrReveal(path, factory, kernel, options));\n },\n iconClass: args => args['icon'] || '',\n label: args => {\n var _a;\n return ((_a = (args['label'] || args['factory'])) !== null && _a !== void 0 ? _a : trans.__('Open the provided `path`.'));\n },\n mnemonic: args => args['mnemonic'] || -1\n });\n commands.addCommand(CommandIDs.reload, {\n label: () => trans.__('Reload %1 from Disk', fileType(shell.currentWidget, docManager)),\n caption: trans.__('Reload contents from disk'),\n isEnabled,\n execute: () => {\n // Checks that shell.currentWidget is valid:\n if (!isEnabled()) {\n return;\n }\n const context = docManager.contextForWidget(shell.currentWidget);\n const type = fileType(shell.currentWidget, docManager);\n if (!context) {\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Cannot Reload'),\n body: trans.__('No context found for current widget!'),\n buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton()]\n });\n }\n if (context.model.dirty) {\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Reload %1 from Disk', type),\n body: trans.__('Are you sure you want to reload the %1 from the disk?', type),\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.cancelButton(),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.warnButton({ label: trans.__('Reload') })\n ]\n }).then(result => {\n if (result.button.accept && !context.isDisposed) {\n return context.revert();\n }\n });\n }\n else {\n if (!context.isDisposed) {\n return context.revert();\n }\n }\n }\n });\n commands.addCommand(CommandIDs.restoreCheckpoint, {\n label: () => trans.__('Revert %1 to Checkpoint…', fileType(shell.currentWidget, docManager)),\n caption: trans.__('Revert contents to previous checkpoint'),\n isEnabled,\n execute: () => {\n // Checks that shell.currentWidget is valid:\n if (!isEnabled()) {\n return;\n }\n const context = docManager.contextForWidget(shell.currentWidget);\n if (!context) {\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Cannot Revert'),\n body: trans.__('No context found for current widget!'),\n buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton()]\n });\n }\n return context.listCheckpoints().then(async (checkpoints) => {\n const type = fileType(shell.currentWidget, docManager);\n if (checkpoints.length < 1) {\n await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showErrorMessage)(trans.__('No checkpoints'), trans.__('No checkpoints are available for this %1.', type));\n return;\n }\n const targetCheckpoint = checkpoints.length === 1\n ? checkpoints[0]\n : await Private.getTargetCheckpoint(checkpoints.reverse(), trans);\n if (!targetCheckpoint) {\n return;\n }\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Revert %1 to checkpoint', type),\n body: new RevertConfirmWidget(targetCheckpoint, trans, type),\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.cancelButton(),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.warnButton({\n label: trans.__('Revert'),\n ariaLabel: trans.__('Revert to Checkpoint')\n })\n ]\n }).then(result => {\n if (context.isDisposed) {\n return;\n }\n if (result.button.accept) {\n if (context.model.readOnly) {\n return context.revert();\n }\n return context\n .restoreCheckpoint(targetCheckpoint.id)\n .then(() => context.revert());\n }\n });\n });\n }\n });\n const caption = () => {\n if (shell.currentWidget) {\n const context = docManager.contextForWidget(shell.currentWidget);\n if (context === null || context === void 0 ? void 0 : context.model.collaborative) {\n return trans.__('In collaborative mode, the document is saved automatically after every change');\n }\n if (!isWritable()) {\n return trans.__(`Document is read-only. \"Save\" is disabled; use \"Save as…\" instead`);\n }\n }\n return trans.__('Save and create checkpoint');\n };\n const saveInProgress = new WeakSet();\n commands.addCommand(CommandIDs.save, {\n label: () => trans.__('Save %1', fileType(shell.currentWidget, docManager)),\n caption,\n icon: args => (args.toolbar ? _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_7__.saveIcon : undefined),\n isEnabled: args => {\n if (args._luminoEvent) {\n return args._luminoEvent.type ===\n 'keybinding'\n ? true\n : isWritable();\n }\n else {\n return isWritable();\n }\n },\n execute: async (args) => {\n var _a, _b, _c, _d, _e;\n // Checks that shell.currentWidget is valid:\n const widget = shell.currentWidget;\n const context = docManager.contextForWidget(widget);\n if (isEnabled()) {\n if (!context) {\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Cannot Save'),\n body: trans.__('No context found for current widget!'),\n buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton()]\n });\n }\n else {\n if (saveInProgress.has(context)) {\n return;\n }\n if (!((_a = context.contentsModel) === null || _a === void 0 ? void 0 : _a.writable)) {\n let type = (_b = args._luminoEvent) === null || _b === void 0 ? void 0 : _b.type;\n if (args._luminoEvent && type === 'keybinding') {\n readonlyNotification(context.path);\n return;\n }\n else {\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Cannot Save'),\n body: trans.__('Document is read-only'),\n buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton()]\n });\n }\n }\n saveInProgress.add(context);\n const oldName = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PathExt.basename((_d = (_c = context.contentsModel) === null || _c === void 0 ? void 0 : _c.path) !== null && _d !== void 0 ? _d : '');\n let newName = oldName;\n if (docManager.renameUntitledFileOnSave &&\n widget.isUntitled === true) {\n const result = await _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.InputDialog.getText({\n title: trans.__('Rename file'),\n okLabel: trans.__('Rename and Save'),\n placeholder: trans.__('File name'),\n text: oldName,\n selectionRange: oldName.length - _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PathExt.extname(oldName).length,\n checkbox: {\n label: trans.__('Do not ask for rename on first save.'),\n caption: trans.__('If checked, you will not be asked to rename future untitled files when saving them.')\n }\n });\n if (result.button.accept) {\n newName = (_e = result.value) !== null && _e !== void 0 ? _e : oldName;\n widget.isUntitled = false;\n if (typeof result.isChecked === 'boolean') {\n const currentSetting = (await settingRegistry.get(docManagerPluginId, 'renameUntitledFileOnSave')).composite;\n if (result.isChecked === currentSetting) {\n settingRegistry\n .set(docManagerPluginId, 'renameUntitledFileOnSave', !result.isChecked)\n .catch(reason => {\n console.error(`Fail to set 'renameUntitledFileOnSave:\\n${reason}`);\n });\n }\n }\n }\n }\n try {\n await context.save();\n if (!(widget === null || widget === void 0 ? void 0 : widget.isDisposed)) {\n return context.createCheckpoint();\n }\n }\n catch (err) {\n // If the save was canceled by user-action, do nothing.\n if (err.name === 'ModalCancelError') {\n return;\n }\n throw err;\n }\n finally {\n saveInProgress.delete(context);\n if (newName !== oldName) {\n await context.rename(newName);\n }\n }\n }\n }\n }\n });\n commands.addCommand(CommandIDs.saveAll, {\n label: () => trans.__('Save All'),\n caption: trans.__('Save all open documents'),\n isEnabled: () => {\n return (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_8__.some)(shell.widgets('main'), w => { var _a, _b, _c; return (_c = (_b = (_a = docManager.contextForWidget(w)) === null || _a === void 0 ? void 0 : _a.contentsModel) === null || _b === void 0 ? void 0 : _b.writable) !== null && _c !== void 0 ? _c : false; });\n },\n execute: () => {\n var _a;\n const promises = [];\n const paths = new Set(); // Cache so we don't double save files.\n for (const widget of shell.widgets('main')) {\n const context = docManager.contextForWidget(widget);\n if (context && !paths.has(context.path)) {\n if ((_a = context.contentsModel) === null || _a === void 0 ? void 0 : _a.writable) {\n paths.add(context.path);\n promises.push(context.save());\n }\n else {\n readonlyNotification(context.path);\n }\n }\n }\n return Promise.all(promises);\n }\n });\n commands.addCommand(CommandIDs.saveAs, {\n label: () => trans.__('Save %1 As…', fileType(shell.currentWidget, docManager)),\n caption: trans.__('Save with new path'),\n isEnabled,\n execute: () => {\n // Checks that shell.currentWidget is valid:\n if (isEnabled()) {\n const context = docManager.contextForWidget(shell.currentWidget);\n if (!context) {\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Cannot Save'),\n body: trans.__('No context found for current widget!'),\n buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.okButton()]\n });\n }\n const onChange = (sender, args) => {\n if (args.type === 'save' &&\n args.newValue &&\n args.newValue.path !== context.path) {\n void docManager.closeFile(context.path);\n void commands.execute(CommandIDs.open, {\n path: args.newValue.path\n });\n }\n };\n docManager.services.contents.fileChanged.connect(onChange);\n void context\n .saveAs()\n .finally(() => docManager.services.contents.fileChanged.disconnect(onChange));\n }\n }\n });\n (_a = app.shell.currentChanged) === null || _a === void 0 ? void 0 : _a.connect(() => {\n [\n CommandIDs.reload,\n CommandIDs.restoreCheckpoint,\n CommandIDs.save,\n CommandIDs.saveAll,\n CommandIDs.saveAs\n ].forEach(cmd => {\n app.commands.notifyCommandChanged(cmd);\n });\n });\n commands.addCommand(CommandIDs.toggleAutosave, {\n label: trans.__('Autosave Documents'),\n isToggled: () => docManager.autosave,\n execute: () => {\n const value = !docManager.autosave;\n const key = 'autosave';\n return settingRegistry\n .set(docManagerPluginId, key, value)\n .catch((reason) => {\n console.error(`Failed to set ${docManagerPluginId}:${key} - ${reason.message}`);\n });\n }\n });\n if (palette) {\n [\n CommandIDs.reload,\n CommandIDs.restoreCheckpoint,\n CommandIDs.save,\n CommandIDs.saveAs,\n CommandIDs.toggleAutosave,\n CommandIDs.duplicate\n ].forEach(command => {\n palette.addItem({ command, category });\n });\n }\n}\nfunction addLabCommands(app, docManager, labShell, widgetOpener, translator) {\n const trans = translator.load('jupyterlab');\n const { commands } = app;\n // Returns the doc widget associated with the most recent contextmenu event.\n const contextMenuWidget = () => {\n var _a;\n const pathRe = /[Pp]ath:\\s?(.*)\\n?/;\n const test = (node) => { var _a; return !!((_a = node['title']) === null || _a === void 0 ? void 0 : _a.match(pathRe)); };\n const node = app.contextMenuHitTest(test);\n const pathMatch = node === null || node === void 0 ? void 0 : node['title'].match(pathRe);\n return ((_a = (pathMatch && docManager.findWidget(pathMatch[1], null))) !== null && _a !== void 0 ? _a : \n // Fall back to active doc widget if path cannot be obtained from event.\n labShell.currentWidget);\n };\n // Returns `true` if the current widget has a document context.\n const isEnabled = () => {\n const { currentWidget } = labShell;\n return !!(currentWidget && docManager.contextForWidget(currentWidget));\n };\n commands.addCommand(CommandIDs.clone, {\n label: () => trans.__('New View for %1', fileType(contextMenuWidget(), docManager)),\n isEnabled,\n execute: args => {\n const widget = contextMenuWidget();\n const options = args['options'] || {\n mode: 'split-right'\n };\n if (!widget) {\n return;\n }\n // Clone the widget.\n const child = docManager.cloneWidget(widget);\n if (child) {\n widgetOpener.open(child, options);\n }\n }\n });\n commands.addCommand(CommandIDs.rename, {\n label: () => {\n let t = fileType(contextMenuWidget(), docManager);\n if (t) {\n t = ' ' + t;\n }\n return trans.__('Rename%1…', t);\n },\n isEnabled,\n execute: () => {\n // Implies contextMenuWidget() !== null\n if (isEnabled()) {\n const context = docManager.contextForWidget(contextMenuWidget());\n return (0,_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_3__.renameDialog)(docManager, context);\n }\n }\n });\n commands.addCommand(CommandIDs.duplicate, {\n label: () => trans.__('Duplicate %1', fileType(contextMenuWidget(), docManager)),\n isEnabled,\n execute: () => {\n if (isEnabled()) {\n const context = docManager.contextForWidget(contextMenuWidget());\n if (!context) {\n return;\n }\n return docManager.duplicate(context.path);\n }\n }\n });\n commands.addCommand(CommandIDs.del, {\n label: () => trans.__('Delete %1', fileType(contextMenuWidget(), docManager)),\n isEnabled,\n execute: async () => {\n // Implies contextMenuWidget() !== null\n if (isEnabled()) {\n const context = docManager.contextForWidget(contextMenuWidget());\n if (!context) {\n return;\n }\n const result = await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.showDialog)({\n title: trans.__('Delete'),\n body: trans.__('Are you sure you want to delete %1', context.path),\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.cancelButton(),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.Dialog.warnButton({ label: trans.__('Delete') })\n ]\n });\n if (result.button.accept) {\n await app.commands.execute('docmanager:delete-file', {\n path: context.path\n });\n }\n }\n }\n });\n commands.addCommand(CommandIDs.showInFileBrowser, {\n label: () => trans.__('Show in File Browser'),\n isEnabled,\n execute: async () => {\n const widget = contextMenuWidget();\n const context = widget && docManager.contextForWidget(widget);\n if (!context) {\n return;\n }\n // 'activate' is needed if this command is selected in the \"open tabs\" sidebar\n await commands.execute('filebrowser:activate', { path: context.path });\n await commands.execute('filebrowser:go-to-path', { path: context.path });\n }\n });\n labShell.currentChanged.connect(() => {\n [\n CommandIDs.clone,\n CommandIDs.rename,\n CommandIDs.duplicate,\n CommandIDs.del,\n CommandIDs.showInFileBrowser\n ].forEach(cmd => {\n app.commands.notifyCommandChanged(cmd);\n });\n });\n}\n/**\n * Handle dirty state for a context.\n */\nfunction handleContext(status, context) {\n let disposable = null;\n const onStateChanged = (sender, args) => {\n if (args.name === 'dirty') {\n if (args.newValue === true) {\n if (!disposable) {\n disposable = status.setDirty();\n }\n }\n else if (disposable) {\n disposable.dispose();\n disposable = null;\n }\n }\n };\n void context.ready.then(() => {\n context.model.stateChanged.connect(onStateChanged);\n if (context.model.dirty) {\n disposable = status.setDirty();\n }\n });\n context.disposed.connect(() => {\n if (disposable) {\n disposable.dispose();\n }\n });\n}\n/**\n * A namespace for private module data.\n */\nvar Private;\n(function (Private) {\n /**\n * A counter for unique IDs.\n */\n Private.id = 0;\n function createRevertConfirmNode(checkpoint, fileType, trans) {\n const body = document.createElement('div');\n const confirmMessage = document.createElement('p');\n const confirmText = document.createTextNode(trans.__('Are you sure you want to revert the %1 to checkpoint? ', fileType));\n const cannotUndoText = document.createElement('strong');\n cannotUndoText.textContent = trans.__('This cannot be undone.');\n confirmMessage.appendChild(confirmText);\n confirmMessage.appendChild(cannotUndoText);\n const lastCheckpointMessage = document.createElement('p');\n const lastCheckpointText = document.createTextNode(trans.__('The checkpoint was last updated at: '));\n const lastCheckpointDate = document.createElement('p');\n const date = new Date(checkpoint.last_modified);\n lastCheckpointDate.style.textAlign = 'center';\n lastCheckpointDate.textContent =\n _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.Time.format(date) + ' (' + _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.Time.formatHuman(date) + ')';\n lastCheckpointMessage.appendChild(lastCheckpointText);\n lastCheckpointMessage.appendChild(lastCheckpointDate);\n body.appendChild(confirmMessage);\n body.appendChild(lastCheckpointMessage);\n return body;\n }\n Private.createRevertConfirmNode = createRevertConfirmNode;\n /**\n * Ask user for a checkpoint to revert to.\n */\n async function getTargetCheckpoint(checkpoints, trans) {\n // the id could be too long to show so use the index instead\n const indexSeparator = '.';\n const items = checkpoints.map((checkpoint, index) => {\n const isoDate = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.Time.format(checkpoint.last_modified);\n const humanDate = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.Time.formatHuman(checkpoint.last_modified);\n return `${index}${indexSeparator} ${isoDate} (${humanDate})`;\n });\n const selectedItem = (await _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.InputDialog.getItem({\n items: items,\n title: trans.__('Choose a checkpoint')\n })).value;\n if (!selectedItem) {\n return;\n }\n const selectedIndex = selectedItem.split(indexSeparator, 1)[0];\n return checkpoints[parseInt(selectedIndex, 10)];\n }\n Private.getTargetCheckpoint = getTargetCheckpoint;\n})(Private || (Private = {}));\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager-extension/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager-extension/lib/recents.js":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager-extension/lib/recents.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ recentsManagerPlugin: () => (/* binding */ recentsManagerPlugin)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/docmanager */ \"webpack/sharing/consume/default/@jupyterlab/docmanager/@jupyterlab/docmanager\");\n/* harmony import */ var _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/statedb */ \"webpack/sharing/consume/default/@jupyterlab/statedb/@jupyterlab/statedb\");\n/* harmony import */ var _jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n\n/**\n * A namespace for command IDs.\n */\nvar CommandIDs;\n(function (CommandIDs) {\n CommandIDs.clearRecents = 'docmanager:clear-recents';\n})(CommandIDs || (CommandIDs = {}));\nvar PluginIDs;\n(function (PluginIDs) {\n PluginIDs.recentsManager = '@jupyterlab/docmanager-extension:recents';\n PluginIDs.reopenClosed = '@jupyterlab/docmanager-extension:reopen-recently-closed';\n PluginIDs.mainPlugin = '@jupyterlab/docmanager-extension:plugin';\n})(PluginIDs || (PluginIDs = {}));\nconst recentsManagerPlugin = {\n id: PluginIDs.recentsManager,\n description: 'Provides a manager of recently opened and closed documents.',\n autoStart: true,\n requires: [_jupyterlab_statedb__WEBPACK_IMPORTED_MODULE_2__.IStateDB],\n optional: [_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_1__.ISettingRegistry, _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.ITranslator],\n provides: _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_0__.IRecentsManager,\n activate: (app, stateDB, settingRegistry, translator) => {\n const { serviceManager } = app;\n const trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator).load('jupyterlab');\n // Create the manager\n const recentsManager = new _jupyterlab_docmanager__WEBPACK_IMPORTED_MODULE_0__.RecentsManager({\n stateDB: stateDB,\n contents: serviceManager.contents\n });\n const updateSettings = (settings) => {\n recentsManager.maximalRecentsLength = settings.get('maxNumberRecents')\n .composite;\n };\n if (settingRegistry) {\n void Promise.all([\n app.restored,\n settingRegistry.load(PluginIDs.mainPlugin)\n ]).then(([_, settings]) => {\n settings.changed.connect(updateSettings);\n updateSettings(settings);\n });\n }\n app.commands.addCommand(CommandIDs.clearRecents, {\n execute: () => {\n recentsManager.clearRecents();\n },\n isEnabled: () => recentsManager.recentlyOpened.length != 0 ||\n recentsManager.recentlyClosed.length != 0,\n label: trans.__('Clear Recent Documents'),\n caption: trans.__('Clear the list of recently opened items.')\n });\n return recentsManager;\n }\n};\n//# sourceMappingURL=recents.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager-extension/lib/recents.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager-extension/style/index.js":
+/*!***********************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager-extension/style/index.js ***!
+ \***********************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_statusbar_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/statusbar/style/index.js */ \"../node_modules/@jupyterlab/statusbar/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_docregistry_style_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/docregistry/style/index.js */ \"../node_modules/@jupyterlab/docregistry/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_docmanager_style_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @jupyterlab/docmanager/style/index.js */ \"../node_modules/@jupyterlab/docmanager/style/index.js\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager-extension/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/lib/dialogs.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/lib/dialogs.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isValidFileName: () => (/* binding */ isValidFileName),\n/* harmony export */ renameDialog: () => (/* binding */ renameDialog),\n/* harmony export */ renameFile: () => (/* binding */ renameFile),\n/* harmony export */ shouldOverwrite: () => (/* binding */ shouldOverwrite)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_3__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n/**\n * The class name added to file dialogs.\n */\nconst FILE_DIALOG_CLASS = 'jp-FileDialog';\n/**\n * The class name added for the new name label in the rename dialog\n */\nconst RENAME_NEW_NAME_TITLE_CLASS = 'jp-new-name-title';\n/**\n * Rename a file with a dialog.\n */\nfunction renameDialog(manager, context, translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator;\n const trans = translator.load('jupyterlab');\n const localPath = context.localPath.split('/');\n const fileName = localPath.pop() || context.localPath;\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({\n title: trans.__('Rename File'),\n body: new RenameHandler(fileName),\n focusNodeSelector: 'input',\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton(),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({\n label: trans.__('Rename'),\n ariaLabel: trans.__('Rename File')\n })\n ]\n }).then(result => {\n if (!result.value) {\n return null;\n }\n if (!isValidFileName(result.value)) {\n void (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showErrorMessage)(trans.__('Rename Error'), Error(trans.__('\"%1\" is not a valid name for a file. Names must have nonzero length, and cannot include \"/\", \"\\\\\", or \":\"', result.value)));\n return null;\n }\n return context.rename(result.value);\n });\n}\n/**\n * Rename a file, asking for confirmation if it is overwriting another.\n */\nfunction renameFile(manager, oldPath, newPath) {\n return manager.rename(oldPath, newPath).catch(error => {\n if (error.response.status !== 409) {\n // if it's not caused by an already existing file, rethrow\n throw error;\n }\n // otherwise, ask for confirmation\n return shouldOverwrite(newPath).then((value) => {\n if (value) {\n return manager.overwrite(oldPath, newPath);\n }\n return Promise.reject('File not renamed');\n });\n });\n}\n/**\n * Ask the user whether to overwrite a file.\n */\nfunction shouldOverwrite(path, translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator;\n const trans = translator.load('jupyterlab');\n const options = {\n title: trans.__('Overwrite file?'),\n body: trans.__('\"%1\" already exists, overwrite?', path),\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton(),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.warnButton({\n label: trans.__('Overwrite'),\n ariaLabel: trans.__('Overwrite Existing File')\n })\n ]\n };\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)(options).then(result => {\n return Promise.resolve(result.button.accept);\n });\n}\n/**\n * Test whether a name is a valid file name\n *\n * Disallows \"/\", \"\\\", and \":\" in file names, as well as names with zero length.\n */\nfunction isValidFileName(name) {\n const validNameExp = /[\\/\\\\:]/;\n return name.length > 0 && !validNameExp.test(name);\n}\n/**\n * A widget used to rename a file.\n */\nclass RenameHandler extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_3__.Widget {\n /**\n * Construct a new \"rename\" dialog.\n */\n constructor(oldPath) {\n super({ node: Private.createRenameNode(oldPath) });\n this.addClass(FILE_DIALOG_CLASS);\n const ext = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.extname(oldPath);\n const value = (this.inputNode.value = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.basename(oldPath));\n this.inputNode.setSelectionRange(0, value.length - ext.length);\n }\n /**\n * Get the input text node.\n */\n get inputNode() {\n return this.node.getElementsByTagName('input')[0];\n }\n /**\n * Get the value of the widget.\n */\n getValue() {\n return this.inputNode.value;\n }\n}\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Create the node for a rename handler.\n */\n function createRenameNode(oldPath, translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator;\n const trans = translator.load('jupyterlab');\n const body = document.createElement('div');\n const existingLabel = document.createElement('label');\n existingLabel.textContent = trans.__('File Path');\n const existingPath = document.createElement('span');\n existingPath.textContent = oldPath;\n const nameTitle = document.createElement('label');\n nameTitle.textContent = trans.__('New Name');\n nameTitle.className = RENAME_NEW_NAME_TITLE_CLASS;\n const name = document.createElement('input');\n body.appendChild(existingLabel);\n body.appendChild(existingPath);\n body.appendChild(nameTitle);\n body.appendChild(name);\n return body;\n }\n Private.createRenameNode = createRenameNode;\n})(Private || (Private = {}));\n//# sourceMappingURL=dialogs.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/lib/dialogs.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/lib/index.js":
+/*!***********************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/lib/index.js ***!
+ \***********************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DocumentManager: () => (/* reexport safe */ _manager__WEBPACK_IMPORTED_MODULE_1__.DocumentManager),\n/* harmony export */ DocumentWidgetManager: () => (/* reexport safe */ _widgetmanager__WEBPACK_IMPORTED_MODULE_6__.DocumentWidgetManager),\n/* harmony export */ IDocumentManager: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_5__.IDocumentManager),\n/* harmony export */ IDocumentWidgetOpener: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_5__.IDocumentWidgetOpener),\n/* harmony export */ IRecentsManager: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_5__.IRecentsManager),\n/* harmony export */ PathStatus: () => (/* reexport safe */ _pathstatus__WEBPACK_IMPORTED_MODULE_2__.PathStatus),\n/* harmony export */ RecentsManager: () => (/* reexport safe */ _recents__WEBPACK_IMPORTED_MODULE_7__.RecentsManager),\n/* harmony export */ SaveHandler: () => (/* reexport safe */ _savehandler__WEBPACK_IMPORTED_MODULE_3__.SaveHandler),\n/* harmony export */ SavingStatus: () => (/* reexport safe */ _savingstatus__WEBPACK_IMPORTED_MODULE_4__.SavingStatus),\n/* harmony export */ isValidFileName: () => (/* reexport safe */ _dialogs__WEBPACK_IMPORTED_MODULE_0__.isValidFileName),\n/* harmony export */ renameDialog: () => (/* reexport safe */ _dialogs__WEBPACK_IMPORTED_MODULE_0__.renameDialog),\n/* harmony export */ renameFile: () => (/* reexport safe */ _dialogs__WEBPACK_IMPORTED_MODULE_0__.renameFile),\n/* harmony export */ shouldOverwrite: () => (/* reexport safe */ _dialogs__WEBPACK_IMPORTED_MODULE_0__.shouldOverwrite)\n/* harmony export */ });\n/* harmony import */ var _dialogs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dialogs */ \"../node_modules/@jupyterlab/docmanager/lib/dialogs.js\");\n/* harmony import */ var _manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./manager */ \"../node_modules/@jupyterlab/docmanager/lib/manager.js\");\n/* harmony import */ var _pathstatus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pathstatus */ \"../node_modules/@jupyterlab/docmanager/lib/pathstatus.js\");\n/* harmony import */ var _savehandler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./savehandler */ \"../node_modules/@jupyterlab/docmanager/lib/savehandler.js\");\n/* harmony import */ var _savingstatus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./savingstatus */ \"../node_modules/@jupyterlab/docmanager/lib/savingstatus.js\");\n/* harmony import */ var _tokens__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./tokens */ \"../node_modules/@jupyterlab/docmanager/lib/tokens.js\");\n/* harmony import */ var _widgetmanager__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./widgetmanager */ \"../node_modules/@jupyterlab/docmanager/lib/widgetmanager.js\");\n/* harmony import */ var _recents__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./recents */ \"../node_modules/@jupyterlab/docmanager/lib/recents.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module docmanager\n */\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/lib/manager.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/lib/manager.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DocumentManager: () => (/* binding */ DocumentManager)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/docregistry */ \"webpack/sharing/consume/default/@jupyterlab/docregistry/@jupyterlab/docregistry\");\n/* harmony import */ var _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _lumino_properties__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lumino/properties */ \"webpack/sharing/consume/default/@lumino/properties/@lumino/properties\");\n/* harmony import */ var _lumino_properties__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_lumino_properties__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _savehandler__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./savehandler */ \"../node_modules/@jupyterlab/docmanager/lib/savehandler.js\");\n/* harmony import */ var _widgetmanager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./widgetmanager */ \"../node_modules/@jupyterlab/docmanager/lib/widgetmanager.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n\n\n/**\n * The document manager.\n *\n * #### Notes\n * The document manager is used to register model and widget creators,\n * and the file browser uses the document manager to create widgets. The\n * document manager maintains a context for each path and model type that is\n * open, and a list of widgets for each context. The document manager is in\n * control of the proper closing and disposal of the widgets and contexts.\n */\nclass DocumentManager {\n /**\n * Construct a new document manager.\n */\n constructor(options) {\n var _a;\n this._activateRequested = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__.Signal(this);\n this._contexts = [];\n this._isDisposed = false;\n this._autosave = true;\n this._autosaveInterval = 120;\n this._lastModifiedCheckMargin = 500;\n this._renameUntitledFileOnSave = true;\n this._stateChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__.Signal(this);\n this.translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator;\n this.registry = options.registry;\n this.services = options.manager;\n this._dialogs =\n (_a = options.sessionDialogs) !== null && _a !== void 0 ? _a : new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.SessionContextDialogs({ translator: options.translator });\n this._isConnectedCallback = options.isConnectedCallback || (() => true);\n this._opener = options.opener;\n this._when = options.when || options.manager.ready;\n const widgetManager = new _widgetmanager__WEBPACK_IMPORTED_MODULE_8__.DocumentWidgetManager({\n registry: this.registry,\n translator: this.translator,\n recentsManager: options.recentsManager\n });\n widgetManager.activateRequested.connect(this._onActivateRequested, this);\n widgetManager.stateChanged.connect(this._onWidgetStateChanged, this);\n this._widgetManager = widgetManager;\n this._setBusy = options.setBusy;\n }\n /**\n * A signal emitted when one of the documents is activated.\n */\n get activateRequested() {\n return this._activateRequested;\n }\n /**\n * Whether to autosave documents.\n */\n get autosave() {\n return this._autosave;\n }\n set autosave(value) {\n if (this._autosave !== value) {\n const oldValue = this._autosave;\n this._autosave = value;\n // For each existing context, start/stop the autosave handler as needed.\n this._contexts.forEach(context => {\n const handler = Private.saveHandlerProperty.get(context);\n if (!handler) {\n return;\n }\n if (value === true && !handler.isActive) {\n handler.start();\n }\n else if (value === false && handler.isActive) {\n handler.stop();\n }\n });\n this._stateChanged.emit({\n name: 'autosave',\n oldValue,\n newValue: value\n });\n }\n }\n /**\n * Determines the time interval for autosave in seconds.\n */\n get autosaveInterval() {\n return this._autosaveInterval;\n }\n set autosaveInterval(value) {\n if (this._autosaveInterval !== value) {\n const oldValue = this._autosaveInterval;\n this._autosaveInterval = value;\n // For each existing context, set the save interval as needed.\n this._contexts.forEach(context => {\n const handler = Private.saveHandlerProperty.get(context);\n if (!handler) {\n return;\n }\n handler.saveInterval = value || 120;\n });\n this._stateChanged.emit({\n name: 'autosaveInterval',\n oldValue,\n newValue: value\n });\n }\n }\n /**\n * Whether to ask confirmation to close a tab or not.\n */\n get confirmClosingDocument() {\n return this._widgetManager.confirmClosingDocument;\n }\n set confirmClosingDocument(value) {\n if (this._widgetManager.confirmClosingDocument !== value) {\n const oldValue = this._widgetManager.confirmClosingDocument;\n this._widgetManager.confirmClosingDocument = value;\n this._stateChanged.emit({\n name: 'confirmClosingDocument',\n oldValue,\n newValue: value\n });\n }\n }\n /**\n * Defines max acceptable difference, in milliseconds, between last modified timestamps on disk and client\n */\n get lastModifiedCheckMargin() {\n return this._lastModifiedCheckMargin;\n }\n set lastModifiedCheckMargin(value) {\n if (this._lastModifiedCheckMargin !== value) {\n const oldValue = this._lastModifiedCheckMargin;\n this._lastModifiedCheckMargin = value;\n // For each existing context, update the margin value.\n this._contexts.forEach(context => {\n context.lastModifiedCheckMargin = value;\n });\n this._stateChanged.emit({\n name: 'lastModifiedCheckMargin',\n oldValue,\n newValue: value\n });\n }\n }\n /**\n * Whether to ask the user to rename untitled file on first manual save.\n */\n get renameUntitledFileOnSave() {\n return this._renameUntitledFileOnSave;\n }\n set renameUntitledFileOnSave(value) {\n if (this._renameUntitledFileOnSave !== value) {\n const oldValue = this._renameUntitledFileOnSave;\n this._renameUntitledFileOnSave = value;\n this._stateChanged.emit({\n name: 'renameUntitledFileOnSave',\n oldValue,\n newValue: value\n });\n }\n }\n /**\n * Signal triggered when an attribute changes.\n */\n get stateChanged() {\n return this._stateChanged;\n }\n /**\n * Get whether the document manager has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the document manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n // Clear any listeners for our signals.\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__.Signal.clearData(this);\n // Close all the widgets for our contexts and dispose the widget manager.\n this._contexts.forEach(context => {\n return this._widgetManager.closeWidgets(context);\n });\n this._widgetManager.dispose();\n // Clear the context list.\n this._contexts.length = 0;\n }\n /**\n * Clone a widget.\n *\n * @param widget - The source widget.\n *\n * @returns A new widget or `undefined`.\n *\n * #### Notes\n * Uses the same widget factory and context as the source, or returns\n * `undefined` if the source widget is not managed by this manager.\n */\n cloneWidget(widget) {\n return this._widgetManager.cloneWidget(widget);\n }\n /**\n * Close all of the open documents.\n *\n * @returns A promise resolving when the widgets are closed.\n */\n closeAll() {\n return Promise.all(this._contexts.map(context => this._widgetManager.closeWidgets(context))).then(() => undefined);\n }\n /**\n * Close the widgets associated with a given path.\n *\n * @param path - The target path.\n *\n * @returns A promise resolving when the widgets are closed.\n */\n closeFile(path) {\n const close = this._contextsForPath(path).map(c => this._widgetManager.closeWidgets(c));\n return Promise.all(close).then(x => undefined);\n }\n /**\n * Get the document context for a widget.\n *\n * @param widget - The widget of interest.\n *\n * @returns The context associated with the widget, or `undefined` if no such\n * context exists.\n */\n contextForWidget(widget) {\n return this._widgetManager.contextForWidget(widget);\n }\n /**\n * Copy a file.\n *\n * @param fromFile - The full path of the original file.\n *\n * @param toDir - The full path to the target directory.\n *\n * @returns A promise which resolves to the contents of the file.\n */\n copy(fromFile, toDir) {\n return this.services.contents.copy(fromFile, toDir);\n }\n /**\n * Create a new file and return the widget used to view it.\n *\n * @param path - The file path to create.\n *\n * @param widgetName - The name of the widget factory to use. 'default' will use the default widget.\n *\n * @param kernel - An optional kernel name/id to override the default.\n *\n * @returns The created widget, or `undefined`.\n *\n * #### Notes\n * This function will return `undefined` if a valid widget factory\n * cannot be found.\n */\n createNew(path, widgetName = 'default', kernel) {\n return this._createOrOpenDocument('create', path, widgetName, kernel);\n }\n /**\n * Delete a file.\n *\n * @param path - The full path to the file to be deleted.\n *\n * @returns A promise which resolves when the file is deleted.\n *\n * #### Notes\n * If there is a running session associated with the file and no other\n * sessions are using the kernel, the session will be shut down.\n */\n deleteFile(path) {\n return this.services.sessions\n .stopIfNeeded(path)\n .then(() => {\n return this.services.contents.delete(path);\n })\n .then(() => {\n this._contextsForPath(path).forEach(context => this._widgetManager.deleteWidgets(context));\n return Promise.resolve(void 0);\n });\n }\n /**\n * Duplicate a file.\n *\n * @param path - The full path to the file to be duplicated.\n *\n * @returns A promise which resolves when the file is duplicated.\n */\n duplicate(path) {\n const basePath = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.dirname(path);\n return this.services.contents.copy(path, basePath);\n }\n /**\n * See if a widget already exists for the given path and widget name.\n *\n * @param path - The file path to use.\n *\n * @param widgetName - The name of the widget factory to use. 'default' will use the default widget.\n *\n * @returns The found widget, or `undefined`.\n *\n * #### Notes\n * This can be used to find an existing widget instead of opening\n * a new widget.\n */\n findWidget(path, widgetName = 'default') {\n const newPath = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.normalize(path);\n let widgetNames = [widgetName];\n if (widgetName === 'default') {\n const factory = this.registry.defaultWidgetFactory(newPath);\n if (!factory) {\n return undefined;\n }\n widgetNames = [factory.name];\n }\n else if (widgetName === null) {\n widgetNames = this.registry\n .preferredWidgetFactories(newPath)\n .map(f => f.name);\n }\n for (const context of this._contextsForPath(newPath)) {\n for (const widgetName of widgetNames) {\n if (widgetName !== null) {\n const widget = this._widgetManager.findWidget(context, widgetName);\n if (widget) {\n return widget;\n }\n }\n }\n }\n return undefined;\n }\n /**\n * Create a new untitled file.\n *\n * @param options - The file content creation options.\n */\n newUntitled(options) {\n if (options.type === 'file') {\n options.ext = options.ext || '.txt';\n }\n return this.services.contents.newUntitled(options);\n }\n /**\n * Open a file and return the widget used to view it.\n *\n * @param path - The file path to open.\n *\n * @param widgetName - The name of the widget factory to use. 'default' will use the default widget.\n *\n * @param kernel - An optional kernel name/id to override the default.\n *\n * @returns The created widget, or `undefined`.\n *\n * #### Notes\n * This function will return `undefined` if a valid widget factory\n * cannot be found.\n */\n open(path, widgetName = 'default', kernel, options) {\n return this._createOrOpenDocument('open', path, widgetName, kernel, options);\n }\n /**\n * Open a file and return the widget used to view it.\n * Reveals an already existing editor.\n *\n * @param path - The file path to open.\n *\n * @param widgetName - The name of the widget factory to use. 'default' will use the default widget.\n *\n * @param kernel - An optional kernel name/id to override the default.\n *\n * @returns The created widget, or `undefined`.\n *\n * #### Notes\n * This function will return `undefined` if a valid widget factory\n * cannot be found.\n */\n openOrReveal(path, widgetName = 'default', kernel, options) {\n const widget = this.findWidget(path, widgetName);\n if (widget) {\n this._opener.open(widget, {\n type: widgetName,\n ...options\n });\n return widget;\n }\n return this.open(path, widgetName, kernel, options !== null && options !== void 0 ? options : {});\n }\n /**\n * Overwrite a file.\n *\n * @param oldPath - The full path to the original file.\n *\n * @param newPath - The full path to the new file.\n *\n * @returns A promise containing the new file contents model.\n */\n overwrite(oldPath, newPath) {\n // Cleanly overwrite the file by moving it, making sure the original does\n // not exist, and then renaming to the new path.\n const tempPath = `${newPath}.${_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__.UUID.uuid4()}`;\n const cb = () => this.rename(tempPath, newPath);\n return this.rename(oldPath, tempPath)\n .then(() => {\n return this.deleteFile(newPath);\n })\n .then(cb, cb);\n }\n /**\n * Rename a file or directory.\n *\n * @param oldPath - The full path to the original file.\n *\n * @param newPath - The full path to the new file.\n *\n * @returns A promise containing the new file contents model. The promise\n * will reject if the newPath already exists. Use [[overwrite]] to overwrite\n * a file.\n */\n rename(oldPath, newPath) {\n return this.services.contents.rename(oldPath, newPath);\n }\n /**\n * Find a context for a given path and factory name.\n */\n _findContext(path, factoryName) {\n const normalizedPath = this.services.contents.normalize(path);\n return (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_4__.find)(this._contexts, context => {\n return (context.path === normalizedPath && context.factoryName === factoryName);\n });\n }\n /**\n * Get the contexts for a given path.\n *\n * #### Notes\n * There may be more than one context for a given path if the path is open\n * with multiple model factories (for example, a notebook can be open with a\n * notebook model factory and a text model factory).\n */\n _contextsForPath(path) {\n const normalizedPath = this.services.contents.normalize(path);\n return this._contexts.filter(context => context.path === normalizedPath);\n }\n /**\n * Create a context from a path and a model factory.\n */\n _createContext(path, factory, kernelPreference, contentProviderId) {\n // TODO: Make it impossible to open two different contexts for the same\n // path. Or at least prompt the closing of all widgets associated with the\n // old context before opening the new context. This will make things much\n // more consistent for the users, at the cost of some confusion about what\n // models are and why sometimes they cannot open the same file in different\n // widgets that have different models.\n // Allow options to be passed when adding a sibling.\n const adopter = (widget, options) => {\n this._widgetManager.adoptWidget(context, widget);\n // TODO should we pass the type for layout customization\n this._opener.open(widget, options);\n };\n const context = new _jupyterlab_docregistry__WEBPACK_IMPORTED_MODULE_2__.Context({\n opener: adopter,\n manager: this.services,\n factory,\n path,\n kernelPreference,\n setBusy: this._setBusy,\n sessionDialogs: this._dialogs,\n lastModifiedCheckMargin: this._lastModifiedCheckMargin,\n translator: this.translator,\n contentProviderId\n });\n const handler = new _savehandler__WEBPACK_IMPORTED_MODULE_9__.SaveHandler({\n context,\n isConnectedCallback: this._isConnectedCallback,\n saveInterval: this.autosaveInterval\n });\n Private.saveHandlerProperty.set(context, handler);\n void context.ready.then(() => {\n if (this.autosave) {\n handler.start();\n }\n });\n context.disposed.connect(this._onContextDisposed, this);\n this._contexts.push(context);\n return context;\n }\n /**\n * Handle a context disposal.\n */\n _onContextDisposed(context) {\n _lumino_algorithm__WEBPACK_IMPORTED_MODULE_4__.ArrayExt.removeFirstOf(this._contexts, context);\n }\n /**\n * Get the widget factory for a given widget name.\n */\n _widgetFactoryFor(path, widgetName) {\n const { registry } = this;\n if (widgetName === 'default') {\n const factory = registry.defaultWidgetFactory(path);\n if (!factory) {\n return undefined;\n }\n widgetName = factory.name;\n }\n return registry.getWidgetFactory(widgetName);\n }\n /**\n * Creates a new document, or loads one from disk, depending on the `which` argument.\n * If `which==='create'`, then it creates a new document. If `which==='open'`,\n * then it loads the document from disk.\n *\n * The two cases differ in how the document context is handled, but the creation\n * of the widget and launching of the kernel are identical.\n */\n _createOrOpenDocument(which, path, widgetName = 'default', kernel, options) {\n const widgetFactory = this._widgetFactoryFor(path, widgetName);\n if (!widgetFactory) {\n return undefined;\n }\n const modelName = widgetFactory.modelName || 'text';\n const factory = this.registry.getModelFactory(modelName);\n if (!factory) {\n return undefined;\n }\n // Handle the kernel preference.\n const preference = this.registry.getKernelPreference(path, widgetFactory.name, kernel);\n let context;\n let ready = Promise.resolve(undefined);\n // Handle the load-from-disk case\n if (which === 'open') {\n // Use an existing context if available.\n context = this._findContext(path, factory.name) || null;\n if (!context) {\n context = this._createContext(path, factory, preference, widgetFactory.contentProviderId);\n // Populate the model, either from disk or a\n // model backend.\n ready = this._when.then(() => context.initialize(false));\n }\n }\n else if (which === 'create') {\n context = this._createContext(path, factory, preference, widgetFactory.contentProviderId);\n // Immediately save the contents to disk.\n ready = this._when.then(() => context.initialize(true));\n }\n else {\n throw new Error(`Invalid argument 'which': ${which}`);\n }\n const widget = this._widgetManager.createWidget(widgetFactory, context);\n this._opener.open(widget, { type: widgetFactory.name, ...options });\n // If the initial opening of the context fails, dispose of the widget.\n ready.catch(err => {\n console.error(`Failed to initialize the context with '${factory.name}' for ${path}`, err);\n widget.close();\n });\n return widget;\n }\n /**\n * Handle an activateRequested signal from the widget manager.\n */\n _onActivateRequested(sender, args) {\n this._activateRequested.emit(args);\n }\n _onWidgetStateChanged(sender, args) {\n if (args.name === 'confirmClosingDocument') {\n this._stateChanged.emit(args);\n }\n }\n}\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * An attached property for a context save handler.\n */\n Private.saveHandlerProperty = new _lumino_properties__WEBPACK_IMPORTED_MODULE_6__.AttachedProperty({\n name: 'saveHandler',\n create: () => undefined\n });\n})(Private || (Private = {}));\n//# sourceMappingURL=manager.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/lib/manager.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/lib/pathstatus.js":
+/*!****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/lib/pathstatus.js ***!
+ \****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PathStatus: () => (/* binding */ PathStatus)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/statusbar */ \"webpack/sharing/consume/default/@jupyterlab/statusbar/@jupyterlab/statusbar\");\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n/**\n * A pure component for rendering a file path (or activity name).\n *\n * @param props - the props for the component.\n *\n * @returns a tsx component for a file path.\n */\nfunction PathStatusComponent(props) {\n return react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_1__.TextItem, { source: props.name, title: props.fullPath });\n}\n/**\n * A status bar item for the current file path (or activity name).\n */\nclass PathStatus extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.VDomRenderer {\n /**\n * Construct a new PathStatus status item.\n */\n constructor(opts) {\n super(new PathStatus.Model(opts.docManager));\n this.node.title = this.model.path;\n }\n /**\n * Render the status item.\n */\n render() {\n return (react__WEBPACK_IMPORTED_MODULE_3___default().createElement(PathStatusComponent, { fullPath: this.model.path, name: this.model.name }));\n }\n}\n/**\n * A namespace for PathStatus statics.\n */\n(function (PathStatus) {\n /**\n * A VDomModel for rendering the PathStatus status item.\n */\n class Model extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.VDomModel {\n /**\n * Construct a new model.\n *\n * @param docManager the application document manager. Used to check\n * whether the current widget is a document.\n */\n constructor(docManager) {\n super();\n /**\n * React to a title change for the current widget.\n */\n this._onTitleChange = (title) => {\n const oldState = this._getAllState();\n this._name = title.label;\n this._triggerChange(oldState, this._getAllState());\n };\n /**\n * React to a path change for the current document.\n */\n this._onPathChange = (_documentModel, newPath) => {\n const oldState = this._getAllState();\n this._path = newPath;\n this._name = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(newPath);\n this._triggerChange(oldState, this._getAllState());\n };\n this._path = '';\n this._name = '';\n this._widget = null;\n this._docManager = docManager;\n }\n /**\n * The current path for the application.\n */\n get path() {\n return this._path;\n }\n /**\n * The name of the current activity.\n */\n get name() {\n return this._name;\n }\n /**\n * The current widget for the application.\n */\n get widget() {\n return this._widget;\n }\n set widget(widget) {\n const oldWidget = this._widget;\n if (oldWidget !== null) {\n const oldContext = this._docManager.contextForWidget(oldWidget);\n if (oldContext) {\n oldContext.pathChanged.disconnect(this._onPathChange);\n }\n else {\n oldWidget.title.changed.disconnect(this._onTitleChange);\n }\n }\n const oldState = this._getAllState();\n this._widget = widget;\n if (this._widget === null) {\n this._path = '';\n this._name = '';\n }\n else {\n const widgetContext = this._docManager.contextForWidget(this._widget);\n if (widgetContext) {\n this._path = widgetContext.path;\n this._name = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(widgetContext.path);\n widgetContext.pathChanged.connect(this._onPathChange);\n }\n else {\n this._path = '';\n this._name = this._widget.title.label;\n this._widget.title.changed.connect(this._onTitleChange);\n }\n }\n this._triggerChange(oldState, this._getAllState());\n }\n /**\n * Get the current state of the model.\n */\n _getAllState() {\n return [this._path, this._name];\n }\n /**\n * Trigger a state change to rerender.\n */\n _triggerChange(oldState, newState) {\n if (oldState[0] !== newState[0] || oldState[1] !== newState[1]) {\n this.stateChanged.emit(void 0);\n }\n }\n }\n PathStatus.Model = Model;\n})(PathStatus || (PathStatus = {}));\n//# sourceMappingURL=pathstatus.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/lib/pathstatus.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/lib/recents.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/lib/recents.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RecentsManager: () => (/* binding */ RecentsManager)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @lumino/polling */ \"webpack/sharing/consume/default/@lumino/polling/@lumino/polling\");\n/* harmony import */ var _lumino_polling__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_lumino_polling__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_2__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n/**\n * Manager for recently opened and closed documents.\n */\nclass RecentsManager {\n constructor(options) {\n this._recentsChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal(this);\n this._recents = {\n opened: [],\n closed: []\n };\n this._isDisposed = false;\n this._maxRecentsLength = 10;\n this._saveDebouncer = new _lumino_polling__WEBPACK_IMPORTED_MODULE_1__.Debouncer(this._save.bind(this), 500);\n this._stateDB = options.stateDB;\n this._contentsManager = options.contents;\n this.updateRootDir();\n this._loadRecents().catch(r => {\n console.error(`Failed to load recent list from state:\\n${r}`);\n });\n }\n /**\n * Whether the manager is disposed or not.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * List of recently opened items\n */\n get recentlyOpened() {\n const recents = this._recents.opened || [];\n return recents.filter(r => r.root === this._serverRoot);\n }\n /**\n * List of recently opened items\n */\n get recentlyClosed() {\n const recents = this._recents.closed || [];\n return recents.filter(r => r.root === this._serverRoot);\n }\n /**\n * Signal emitted when the recent list changes.\n */\n get changed() {\n return this._recentsChanged;\n }\n /**\n * Maximal number of recent items to list.\n */\n get maximalRecentsLength() {\n return this._maxRecentsLength;\n }\n set maximalRecentsLength(value) {\n this._maxRecentsLength = Math.round(Math.max(1, value));\n let changed = false;\n for (const type of ['opened', 'closed']) {\n if (this._recents[type].length > this._maxRecentsLength) {\n this._recents[type].length = this._maxRecentsLength;\n changed = true;\n }\n }\n if (changed) {\n this._recentsChanged.emit(undefined);\n }\n }\n /**\n * Dispose recent manager resources\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_2__.Signal.clearData(this);\n this._saveDebouncer.dispose();\n }\n /**\n * Add a new path to the recent list.\n */\n addRecent(document, event) {\n const recent = {\n ...document,\n root: this._serverRoot\n };\n const recents = this._recents[event];\n // Check if it's already present; if so remove it\n const existingIndex = recents.findIndex(r => r.path === document.path);\n if (existingIndex >= 0) {\n recents.splice(existingIndex, 1);\n }\n // Add to the front of the list\n recents.unshift(recent);\n this._setRecents(recents, event);\n this._recentsChanged.emit(undefined);\n }\n /**\n * Clear the recents list\n */\n clearRecents() {\n this._setRecents([], 'opened');\n this._setRecents([], 'closed');\n this._recentsChanged.emit(undefined);\n }\n /**\n * Remove the document from recents list.\n */\n removeRecent(document, event) {\n this._removeRecent(document.path, [event]);\n }\n /**\n * Check if the recent item is valid, remove if it from both lists if it is not.\n */\n async validate(recent) {\n const valid = await this._isValid(recent);\n if (!valid) {\n this._removeRecent(recent.path);\n }\n return valid;\n }\n /**\n * Set server root dir.\n *\n * Note: protected to allow unit-testing.\n */\n updateRootDir() {\n this._serverRoot = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PageConfig.getOption('serverRoot');\n }\n /**\n * Remove a path from both lists (opened and closed).\n */\n _removeRecent(path, lists = ['opened', 'closed']) {\n let changed = false;\n for (const type of lists) {\n const recents = this._recents[type];\n const newRecents = recents.filter(r => path !== r.path);\n if (recents.length !== newRecents.length) {\n this._setRecents(newRecents, type);\n changed = true;\n }\n }\n if (changed) {\n this._recentsChanged.emit(undefined);\n }\n }\n /**\n * Check if the path of a given recent document exists.\n */\n async _isValid(recent) {\n var _a;\n try {\n await this._contentsManager.get(recent.path, { content: false });\n }\n catch (e) {\n if (((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {\n return false;\n }\n }\n return true;\n }\n /**\n * Set the recent list\n * @param recents The new recent list\n */\n _setRecents(recents, type) {\n this._recents[type] = recents\n .slice(0, this.maximalRecentsLength)\n .sort((a, b) => {\n if (a.root === b.root) {\n return 0;\n }\n else {\n return a.root !== this._serverRoot ? 1 : -1;\n }\n });\n this._saveDebouncer.invoke().catch(console.warn);\n }\n /**\n * Load the recent items from the state.\n */\n async _loadRecents() {\n const recents = (await this._stateDB.fetch(Private.stateDBKey)) || {\n opened: [],\n closed: []\n };\n const allRecents = [...recents.opened, ...recents.closed];\n const invalidPaths = new Set(await this._getInvalidPaths(allRecents));\n for (const type of ['opened', 'closed']) {\n this._setRecents(recents[type].filter(r => !invalidPaths.has(r.path)), type);\n }\n this._recentsChanged.emit(undefined);\n }\n /**\n * Get the list of invalid path in recents.\n */\n async _getInvalidPaths(recents) {\n const invalidPathsOrNulls = await Promise.all(recents.map(async (r) => {\n if (await this._isValid(r)) {\n return null;\n }\n else {\n return r.path;\n }\n }));\n return invalidPathsOrNulls.filter(x => typeof x === 'string');\n }\n /**\n * Save the recent items to the state.\n */\n async _save() {\n try {\n await this._stateDB.save(Private.stateDBKey, this._recents);\n }\n catch (e) {\n console.log('Saving recents failed', e);\n }\n }\n}\nvar Private;\n(function (Private) {\n /**\n * Key reserved in the state database.\n */\n Private.stateDBKey = 'docmanager:recents';\n})(Private || (Private = {}));\n//# sourceMappingURL=recents.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/lib/recents.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/lib/savehandler.js":
+/*!*****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/lib/savehandler.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SaveHandler: () => (/* binding */ SaveHandler)\n/* harmony export */ });\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * A class that manages the auto saving of a document.\n *\n * #### Notes\n * Implements https://github.com/ipython/ipython/wiki/IPEP-15:-Autosaving-the-IPython-Notebook.\n */\nclass SaveHandler {\n /**\n * Construct a new save handler.\n */\n constructor(options) {\n this._autosaveTimer = -1;\n this._minInterval = -1;\n this._interval = -1;\n this._isActive = false;\n this._inDialog = false;\n this._isDisposed = false;\n this._multiplier = 10;\n this._context = options.context;\n this._isConnectedCallback = options.isConnectedCallback || (() => true);\n const interval = options.saveInterval || 120;\n this._minInterval = interval * 1000;\n this._interval = this._minInterval;\n // Restart the timer when the contents model is updated.\n this._context.fileChanged.connect(this._setTimer, this);\n this._context.disposed.connect(this.dispose, this);\n }\n /**\n * The save interval used by the timer (in seconds).\n */\n get saveInterval() {\n return this._interval / 1000;\n }\n set saveInterval(value) {\n this._minInterval = this._interval = value * 1000;\n if (this._isActive) {\n this._setTimer();\n }\n }\n /**\n * Get whether the handler is active.\n */\n get isActive() {\n return this._isActive;\n }\n /**\n * Get whether the save handler is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources used by the save handler.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n clearTimeout(this._autosaveTimer);\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_0__.Signal.clearData(this);\n }\n /**\n * Start the autosaver.\n */\n start() {\n this._isActive = true;\n this._setTimer();\n }\n /**\n * Stop the autosaver.\n */\n stop() {\n this._isActive = false;\n clearTimeout(this._autosaveTimer);\n }\n /**\n * Set the timer.\n */\n _setTimer() {\n clearTimeout(this._autosaveTimer);\n if (!this._isActive) {\n return;\n }\n this._autosaveTimer = window.setTimeout(() => {\n if (this._isConnectedCallback()) {\n this._save();\n }\n else {\n this._setTimer();\n }\n }, this._interval);\n }\n /**\n * Handle an autosave timeout.\n */\n _save() {\n var _a;\n const context = this._context;\n // Trigger the next update.\n this._setTimer();\n if (!context) {\n return;\n }\n // Bail if the model is not dirty or the file is not non-savable, or the dialog\n // is already showing.\n if (!((_a = context.canSave) !== null && _a !== void 0 ? _a : true) || !context.model.dirty || this._inDialog) {\n return;\n }\n const start = new Date().getTime();\n context\n .save()\n .then(() => {\n if (this.isDisposed) {\n return;\n }\n const duration = new Date().getTime() - start;\n // New save interval: higher of 10x save duration or min interval.\n this._interval = Math.max(this._multiplier * duration, this._minInterval);\n // Restart the update to pick up the new interval.\n this._setTimer();\n })\n .catch(err => {\n // If the user canceled the save, do nothing.\n const { name } = err;\n if (name === 'ModalCancelError' || name === 'ModalDuplicateError') {\n return;\n }\n // Otherwise, log the error.\n console.error('Error in Auto-Save', err.message);\n });\n }\n}\n//# sourceMappingURL=savehandler.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/lib/savehandler.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/lib/savingstatus.js":
+/*!******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/lib/savingstatus.js ***!
+ \******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SavingStatus: () => (/* binding */ SavingStatus)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/statusbar */ \"webpack/sharing/consume/default/@jupyterlab/statusbar/@jupyterlab/statusbar\");\n/* harmony import */ var _jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n/**\n * A pure functional component for a Saving status item.\n *\n * @param props - the props for the component.\n *\n * @returns a tsx component for rendering the saving state.\n */\nfunction SavingStatusComponent(props) {\n return react__WEBPACK_IMPORTED_MODULE_3___default().createElement(_jupyterlab_statusbar__WEBPACK_IMPORTED_MODULE_0__.TextItem, { source: props.fileStatus });\n}\n/**\n * The amount of time (in ms) to retain the saving completed message\n * before hiding the status item.\n */\nconst SAVING_COMPLETE_MESSAGE_MILLIS = 2000;\n/**\n * A VDomRenderer for a saving status item.\n */\nclass SavingStatus extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.VDomRenderer {\n /**\n * Create a new SavingStatus item.\n */\n constructor(opts) {\n super(new SavingStatus.Model(opts.docManager));\n const translator = opts.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n const trans = translator.load('jupyterlab');\n this._statusMap = {\n completed: trans.__('Saving completed'),\n started: trans.__('Saving started'),\n failed: trans.__('Saving failed')\n };\n }\n /**\n * Render the SavingStatus item.\n */\n render() {\n if (this.model === null || this.model.status === null) {\n return null;\n }\n else {\n return (react__WEBPACK_IMPORTED_MODULE_3___default().createElement(SavingStatusComponent, { fileStatus: this._statusMap[this.model.status] }));\n }\n }\n}\n/**\n * A namespace for SavingStatus statics.\n */\n(function (SavingStatus) {\n /**\n * A VDomModel for the SavingStatus item.\n */\n class Model extends _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.VDomModel {\n /**\n * Create a new SavingStatus model.\n */\n constructor(docManager) {\n super();\n /**\n * React to a saving status change from the current document widget.\n */\n this._onStatusChange = (_, newStatus) => {\n this._status = newStatus;\n if (this._status === 'completed') {\n setTimeout(() => {\n this._status = null;\n this.stateChanged.emit(void 0);\n }, SAVING_COMPLETE_MESSAGE_MILLIS);\n this.stateChanged.emit(void 0);\n }\n else {\n this.stateChanged.emit(void 0);\n }\n };\n this._status = null;\n this._widget = null;\n this._status = null;\n this.widget = null;\n this._docManager = docManager;\n }\n /**\n * The current status of the model.\n */\n get status() {\n return this._status;\n }\n /**\n * The current widget for the model. Any widget can be assigned,\n * but it only has any effect if the widget is an IDocument widget\n * known to the application document manager.\n */\n get widget() {\n return this._widget;\n }\n set widget(widget) {\n var _a, _b;\n const oldWidget = this._widget;\n if (oldWidget !== null) {\n const oldContext = this._docManager.contextForWidget(oldWidget);\n if (oldContext) {\n oldContext.saveState.disconnect(this._onStatusChange);\n }\n else if ((_a = this._widget.content) === null || _a === void 0 ? void 0 : _a.saveStateChanged) {\n this._widget.content.saveStateChanged.disconnect(this._onStatusChange);\n }\n }\n this._widget = widget;\n if (this._widget === null) {\n this._status = null;\n }\n else {\n const widgetContext = this._docManager.contextForWidget(this._widget);\n if (widgetContext) {\n widgetContext.saveState.connect(this._onStatusChange);\n }\n else if ((_b = this._widget.content) === null || _b === void 0 ? void 0 : _b.saveStateChanged) {\n this._widget.content.saveStateChanged.connect(this._onStatusChange);\n }\n }\n }\n }\n SavingStatus.Model = Model;\n})(SavingStatus || (SavingStatus = {}));\n//# sourceMappingURL=savingstatus.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/lib/savingstatus.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/lib/tokens.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/lib/tokens.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IDocumentManager: () => (/* binding */ IDocumentManager),\n/* harmony export */ IDocumentWidgetOpener: () => (/* binding */ IDocumentWidgetOpener),\n/* harmony export */ IRecentsManager: () => (/* binding */ IRecentsManager)\n/* harmony export */ });\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n/**\n * The document registry token.\n */\nconst IDocumentManager = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/docmanager:IDocumentManager', `A service for the manager for all\n documents used by the application. Use this if you want to open and close documents,\n create and delete files, and otherwise interact with the file system.`);\n/**\n * The document widget opener token.\n */\nconst IDocumentWidgetOpener = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/docmanager:IDocumentWidgetOpener', `A service to open a widget.`);\n/**\n * The recent documents database token.\n */\nconst IRecentsManager = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_0__.Token('@jupyterlab/docmanager:IRecentsManager', `A service providing information about recently opened and closed documents`);\n//# sourceMappingURL=tokens.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/lib/tokens.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/lib/widgetmanager.js":
+/*!*******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/lib/widgetmanager.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DocumentWidgetManager: () => (/* binding */ DocumentWidgetManager)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/disposable */ \"webpack/sharing/consume/default/@lumino/disposable/@lumino/disposable\");\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_disposable__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_messaging__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/messaging */ \"webpack/sharing/consume/default/@lumino/messaging/@lumino/messaging\");\n/* harmony import */ var _lumino_messaging__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_messaging__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _lumino_properties__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lumino/properties */ \"webpack/sharing/consume/default/@lumino/properties/@lumino/properties\");\n/* harmony import */ var _lumino_properties__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_lumino_properties__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_7__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n/**\n * The class name added to document widgets.\n */\nconst DOCUMENT_CLASS = 'jp-Document';\n/**\n * A class that maintains the lifecycle of file-backed widgets.\n */\nclass DocumentWidgetManager {\n /**\n * Construct a new document widget manager.\n */\n constructor(options) {\n this._activateRequested = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__.Signal(this);\n this._confirmClosingTab = false;\n this._isDisposed = false;\n this._stateChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__.Signal(this);\n this._registry = options.registry;\n this.translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator;\n this._recentsManager = options.recentsManager || null;\n }\n /**\n * A signal emitted when one of the documents is activated.\n */\n get activateRequested() {\n return this._activateRequested;\n }\n /**\n * Whether to ask confirmation to close a tab or not.\n */\n get confirmClosingDocument() {\n return this._confirmClosingTab;\n }\n set confirmClosingDocument(v) {\n if (this._confirmClosingTab !== v) {\n const oldValue = this._confirmClosingTab;\n this._confirmClosingTab = v;\n this._stateChanged.emit({\n name: 'confirmClosingDocument',\n oldValue,\n newValue: v\n });\n }\n }\n /**\n * Signal triggered when an attribute changes.\n */\n get stateChanged() {\n return this._stateChanged;\n }\n /**\n * Test whether the document widget manager is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources used by the widget manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_7__.Signal.disconnectReceiver(this);\n }\n /**\n * Create a widget for a document and handle its lifecycle.\n *\n * @param factory - The widget factory.\n *\n * @param context - The document context object.\n *\n * @returns A widget created by the factory.\n *\n * @throws If the factory is not registered.\n */\n createWidget(factory, context) {\n const widget = factory.createNew(context);\n this._initializeWidget(widget, factory, context);\n return widget;\n }\n /**\n * When a new widget is created, we need to hook it up\n * with some signals, update the widget extensions (for\n * this kind of widget) in the docregistry, among\n * other things.\n */\n _initializeWidget(widget, factory, context) {\n Private.factoryProperty.set(widget, factory);\n // Handle widget extensions.\n const disposables = new _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__.DisposableSet();\n for (const extender of this._registry.widgetExtensions(factory.name)) {\n const disposable = extender.createNew(widget, context);\n if (disposable) {\n disposables.add(disposable);\n }\n }\n Private.disposablesProperty.set(widget, disposables);\n widget.disposed.connect(this._onWidgetDisposed, this);\n this.adoptWidget(context, widget);\n context.fileChanged.connect(this._onFileChanged, this);\n context.pathChanged.connect(this._onPathChanged, this);\n void context.ready.then(() => {\n void this.setCaption(widget);\n });\n }\n /**\n * Install the message hook for the widget and add to list\n * of known widgets.\n *\n * @param context - The document context object.\n *\n * @param widget - The widget to adopt.\n */\n adoptWidget(context, widget) {\n const widgets = Private.widgetsProperty.get(context);\n widgets.push(widget);\n _lumino_messaging__WEBPACK_IMPORTED_MODULE_5__.MessageLoop.installMessageHook(widget, this);\n widget.addClass(DOCUMENT_CLASS);\n widget.title.closable = true;\n widget.disposed.connect(this._widgetDisposed, this);\n Private.contextProperty.set(widget, context);\n }\n /**\n * See if a widget already exists for the given context and widget name.\n *\n * @param context - The document context object.\n *\n * @returns The found widget, or `undefined`.\n *\n * #### Notes\n * This can be used to use an existing widget instead of opening\n * a new widget.\n */\n findWidget(context, widgetName) {\n const widgets = Private.widgetsProperty.get(context);\n if (!widgets) {\n return undefined;\n }\n return (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.find)(widgets, widget => {\n const factory = Private.factoryProperty.get(widget);\n if (!factory) {\n return false;\n }\n return factory.name === widgetName;\n });\n }\n /**\n * Get the document context for a widget.\n *\n * @param widget - The widget of interest.\n *\n * @returns The context associated with the widget, or `undefined`.\n */\n contextForWidget(widget) {\n return Private.contextProperty.get(widget);\n }\n /**\n * Clone a widget.\n *\n * @param widget - The source widget.\n *\n * @returns A new widget or `undefined`.\n *\n * #### Notes\n * Uses the same widget factory and context as the source, or throws\n * if the source widget is not managed by this manager.\n */\n cloneWidget(widget) {\n const context = Private.contextProperty.get(widget);\n if (!context) {\n return undefined;\n }\n const factory = Private.factoryProperty.get(widget);\n if (!factory) {\n return undefined;\n }\n const newWidget = factory.createNew(context, widget);\n this._initializeWidget(newWidget, factory, context);\n return newWidget;\n }\n /**\n * Close the widgets associated with a given context.\n *\n * @param context - The document context object.\n */\n closeWidgets(context) {\n const widgets = Private.widgetsProperty.get(context);\n return Promise.all(widgets.map(widget => this.onClose(widget))).then(() => undefined);\n }\n /**\n * Dispose of the widgets associated with a given context\n * regardless of the widget's dirty state.\n *\n * @param context - The document context object.\n */\n deleteWidgets(context) {\n const widgets = Private.widgetsProperty.get(context);\n return Promise.all(widgets.map(widget => this.onDelete(widget))).then(() => undefined);\n }\n /**\n * Filter a message sent to a message handler.\n *\n * @param handler - The target handler of the message.\n *\n * @param msg - The message dispatched to the handler.\n *\n * @returns `false` if the message should be filtered, of `true`\n * if the message should be dispatched to the handler as normal.\n */\n messageHook(handler, msg) {\n switch (msg.type) {\n case 'close-request':\n void this.onClose(handler);\n return false;\n case 'activate-request': {\n const widget = handler;\n const context = this.contextForWidget(widget);\n if (context) {\n context.ready\n .then(() => {\n // contentsModel is null until the context is ready\n this._recordAsRecentlyOpened(widget, context.contentsModel);\n })\n .catch(() => {\n console.warn('Could not record the recents status for', context);\n });\n this._activateRequested.emit(context.path);\n }\n break;\n }\n default:\n break;\n }\n return true;\n }\n /**\n * Set the caption for widget title.\n *\n * @param widget - The target widget.\n */\n async setCaption(widget) {\n const trans = this.translator.load('jupyterlab');\n const context = Private.contextProperty.get(widget);\n if (!context) {\n return;\n }\n const model = context.contentsModel;\n if (!model) {\n widget.title.caption = '';\n return;\n }\n return context\n .listCheckpoints()\n .then((checkpoints) => {\n if (widget.isDisposed) {\n return;\n }\n const last = checkpoints[checkpoints.length - 1];\n const checkpoint = last ? _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.Time.format(last.last_modified) : 'None';\n let caption = trans.__('Name: %1\\nPath: %2\\n', model.name, model.path);\n if (context.model.readOnly) {\n caption += trans.__('Read-only');\n }\n else {\n caption +=\n trans.__('Last Saved: %1\\n', _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.Time.format(model.last_modified)) +\n trans.__('Last Checkpoint: %1', checkpoint);\n }\n widget.title.caption = caption;\n });\n }\n /**\n * Handle `'close-request'` messages.\n *\n * @param widget - The target widget.\n *\n * @returns A promise that resolves with whether the widget was closed.\n */\n async onClose(widget) {\n var _a;\n // Handle dirty state.\n const [shouldClose, ignoreSave] = await this._maybeClose(widget, this.translator);\n if (widget.isDisposed) {\n return true;\n }\n if (shouldClose) {\n const context = Private.contextProperty.get(widget);\n if (!ignoreSave) {\n if (!context) {\n return true;\n }\n if ((_a = context.contentsModel) === null || _a === void 0 ? void 0 : _a.writable) {\n await context.save();\n }\n else {\n await context.saveAs();\n }\n }\n if (context) {\n const result = await Promise.race([\n context.ready,\n new Promise(resolve => setTimeout(resolve, 3000, 'timeout'))\n ]);\n if (result === 'timeout') {\n console.warn('Could not record the widget as recently closed because the context did not become ready in 3 seconds');\n }\n else {\n // Note: `contentsModel` is null until the the context is ready;\n // we have to handle it after `await` rather than in a `then`\n // to ensure we record it as recent before the widget gets disposed.\n this._recordAsRecentlyClosed(widget, context.contentsModel);\n }\n }\n if (widget.isDisposed) {\n return true;\n }\n widget.dispose();\n }\n return shouldClose;\n }\n /**\n * Dispose of widget regardless of widget's dirty state.\n *\n * @param widget - The target widget.\n */\n onDelete(widget) {\n widget.dispose();\n return Promise.resolve(void 0);\n }\n /**\n * Record the activated file, and its parent directory, as recently opened.\n */\n _recordAsRecentlyOpened(widget, model) {\n var _a;\n const recents = this._recentsManager;\n if (!recents) {\n // no-op\n return;\n }\n const path = model.path;\n const fileType = this._registry.getFileTypeForModel(model);\n const contentType = fileType.contentType;\n const factory = (_a = Private.factoryProperty.get(widget)) === null || _a === void 0 ? void 0 : _a.name;\n recents.addRecent({ path, contentType, factory }, 'opened');\n // Add the containing directory, too\n if (contentType !== 'directory') {\n const parent = path.lastIndexOf('/') > 0 ? path.slice(0, path.lastIndexOf('/')) : '';\n recents.addRecent({ path: parent, contentType: 'directory' }, 'opened');\n }\n }\n /**\n * Record the activated file, and its parent directory, as recently opened.\n */\n _recordAsRecentlyClosed(widget, model) {\n var _a;\n const recents = this._recentsManager;\n if (!recents) {\n // no-op\n return;\n }\n const path = model.path;\n const fileType = this._registry.getFileTypeForModel(model);\n const contentType = fileType.contentType;\n const factory = (_a = Private.factoryProperty.get(widget)) === null || _a === void 0 ? void 0 : _a.name;\n recents.addRecent({ path, contentType, factory }, 'closed');\n }\n /**\n * Ask the user whether to close an unsaved file.\n */\n async _maybeClose(widget, translator) {\n var _a, _b;\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_2__.nullTranslator;\n const trans = translator.load('jupyterlab');\n // Bail if the model is not dirty or other widgets are using the model.)\n const context = Private.contextProperty.get(widget);\n if (!context) {\n return Promise.resolve([true, true]);\n }\n let widgets = Private.widgetsProperty.get(context);\n if (!widgets) {\n return Promise.resolve([true, true]);\n }\n // Filter by whether the factories are read only.\n widgets = widgets.filter(widget => {\n const factory = Private.factoryProperty.get(widget);\n if (!factory) {\n return false;\n }\n return factory.readOnly === false;\n });\n const fileName = widget.title.label;\n const factory = Private.factoryProperty.get(widget);\n const isDirty = context.model.dirty &&\n widgets.length <= 1 &&\n !((_a = factory === null || factory === void 0 ? void 0 : factory.readOnly) !== null && _a !== void 0 ? _a : true);\n // Ask confirmation\n if (this.confirmClosingDocument) {\n const buttons = [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton(),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({\n label: isDirty ? trans.__('Close and save') : trans.__('Close'),\n ariaLabel: isDirty\n ? trans.__('Close and save Document')\n : trans.__('Close Document')\n })\n ];\n if (isDirty) {\n buttons.splice(1, 0, _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.warnButton({\n label: trans.__('Close without saving'),\n ariaLabel: trans.__('Close Document without saving')\n }));\n }\n const confirm = await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({\n title: trans.__('Confirmation'),\n body: trans.__('Please confirm you want to close \"%1\".', fileName),\n checkbox: isDirty\n ? null\n : {\n label: trans.__('Do not ask me again.'),\n caption: trans.__('If checked, no confirmation to close a document will be asked in the future.')\n },\n buttons\n });\n if (confirm.isChecked) {\n this.confirmClosingDocument = false;\n }\n return Promise.resolve([\n confirm.button.accept,\n isDirty ? confirm.button.displayType === 'warn' : true\n ]);\n }\n else {\n if (!isDirty) {\n return Promise.resolve([true, true]);\n }\n const saveLabel = ((_b = context.contentsModel) === null || _b === void 0 ? void 0 : _b.writable)\n ? trans.__('Save')\n : trans.__('Save as');\n const result = await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({\n title: trans.__('Save your work'),\n body: trans.__('Save changes in \"%1\" before closing?', fileName),\n buttons: [\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton(),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.warnButton({\n label: trans.__('Discard'),\n ariaLabel: trans.__('Discard changes to file')\n }),\n _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: saveLabel })\n ]\n });\n return [result.button.accept, result.button.displayType === 'warn'];\n }\n }\n /**\n * Handle the disposal of a widget.\n */\n _widgetDisposed(widget) {\n const context = Private.contextProperty.get(widget);\n if (!context) {\n return;\n }\n const widgets = Private.widgetsProperty.get(context);\n if (!widgets) {\n return;\n }\n // Remove the widget.\n _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.ArrayExt.removeFirstOf(widgets, widget);\n // Dispose of the context if this is the last widget using it.\n if (!widgets.length) {\n context.dispose();\n }\n }\n /**\n * Handle the disposal of a widget.\n */\n _onWidgetDisposed(widget) {\n const disposables = Private.disposablesProperty.get(widget);\n disposables.dispose();\n }\n /**\n * Handle a file changed signal for a context.\n */\n _onFileChanged(context) {\n const widgets = Private.widgetsProperty.get(context);\n for (const widget of widgets) {\n void this.setCaption(widget);\n }\n }\n /**\n * Handle a path changed signal for a context.\n */\n _onPathChanged(context) {\n const widgets = Private.widgetsProperty.get(context);\n for (const widget of widgets) {\n void this.setCaption(widget);\n }\n }\n}\n/**\n * A private namespace for DocumentManager data.\n */\nvar Private;\n(function (Private) {\n /**\n * A private attached property for a widget context.\n */\n Private.contextProperty = new _lumino_properties__WEBPACK_IMPORTED_MODULE_6__.AttachedProperty({\n name: 'context',\n create: () => undefined\n });\n /**\n * A private attached property for a widget factory.\n */\n Private.factoryProperty = new _lumino_properties__WEBPACK_IMPORTED_MODULE_6__.AttachedProperty({\n name: 'factory',\n create: () => undefined\n });\n /**\n * A private attached property for the widgets associated with a context.\n */\n Private.widgetsProperty = new _lumino_properties__WEBPACK_IMPORTED_MODULE_6__.AttachedProperty({\n name: 'widgets',\n create: () => []\n });\n /**\n * A private attached property for a widget's disposables.\n */\n Private.disposablesProperty = new _lumino_properties__WEBPACK_IMPORTED_MODULE_6__.AttachedProperty({\n name: 'disposables',\n create: () => new _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__.DisposableSet()\n });\n})(Private || (Private = {}));\n//# sourceMappingURL=widgetmanager.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/lib/widgetmanager.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docmanager/style/index.js":
+/*!*************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docmanager/style/index.js ***!
+ \*************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_docregistry_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/docregistry/style/index.js */ \"../node_modules/@jupyterlab/docregistry/style/index.js\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docmanager/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docregistry/lib/components.js":
+/*!*****************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docregistry/lib/components.js ***!
+ \*****************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createReadonlyLabel: () => (/* binding */ createReadonlyLabel)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/*\n * Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n\n\n/**\n * create readonly label toolbar item\n */\nfunction createReadonlyLabel(panel, translator) {\n var _a;\n let trans = (translator !== null && translator !== void 0 ? translator : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator).load('jupyterlab');\n return _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.ReactWidget.create(react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"div\", null,\n react__WEBPACK_IMPORTED_MODULE_2__.createElement(\"span\", { className: \"jp-ToolbarLabelComponent\", title: trans.__(`Document is read-only. \"Save\" is disabled; use \"Save as…\" instead`) }, trans.__(`%1 is read-only`, (_a = panel.context.contentsModel) === null || _a === void 0 ? void 0 : _a.type))));\n}\n//# sourceMappingURL=components.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docregistry/lib/components.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docregistry/lib/context.js":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docregistry/lib/context.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Context: () => (/* binding */ Context)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/rendermime */ \"webpack/sharing/consume/default/@jupyterlab/rendermime/@jupyterlab/rendermime\");\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/disposable */ \"webpack/sharing/consume/default/@lumino/disposable/@lumino/disposable\");\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_disposable__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_7__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n/**\n * An implementation of a document context.\n *\n * This class is typically instantiated by the document manager.\n */\nclass Context {\n /**\n * Construct a new document context.\n */\n constructor(options) {\n var _a, _b;\n this._isReady = false;\n this._isDisposed = false;\n this._isPopulated = false;\n this._path = '';\n this._lineEnding = null;\n this._contentsModel = null;\n this._populatedPromise = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_4__.PromiseDelegate();\n this._pathChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__.Signal(this);\n this._fileChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__.Signal(this);\n this._saveState = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__.Signal(this);\n this._disposed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__.Signal(this);\n this._lastModifiedCheckMargin = 500;\n this._conflictModalIsOpen = false;\n const manager = (this._manager = options.manager);\n this.translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator;\n this._contentProviderId = options.contentProviderId;\n this._trans = this.translator.load('jupyterlab');\n this._factory = options.factory;\n this._dialogs =\n (_a = options.sessionDialogs) !== null && _a !== void 0 ? _a : new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.SessionContextDialogs({ translator: options.translator });\n this._opener = options.opener || Private.noOp;\n this._path = this._manager.contents.normalize(options.path);\n this._lastModifiedCheckMargin = options.lastModifiedCheckMargin || 500;\n const localPath = this._manager.contents.localPath(this._path);\n const lang = this._factory.preferredLanguage(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.basename(localPath));\n const sharedFactory = this._manager.contents.getSharedModelFactory(this._path, { contentProviderId: options.contentProviderId });\n const sharedModel = sharedFactory === null || sharedFactory === void 0 ? void 0 : sharedFactory.createNew({\n path: localPath,\n format: this._factory.fileFormat,\n contentType: this._factory.contentType,\n collaborative: this._factory.collaborative\n });\n this._model = this._factory.createNew({\n languagePreference: lang,\n sharedModel,\n collaborationEnabled: (_b = sharedFactory === null || sharedFactory === void 0 ? void 0 : sharedFactory.collaborative) !== null && _b !== void 0 ? _b : false\n });\n this._readyPromise = manager.ready.then(() => {\n return this._populatedPromise.promise;\n });\n const ext = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.extname(this._path);\n this.sessionContext = new _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.SessionContext({\n kernelManager: manager.kernels,\n sessionManager: manager.sessions,\n specsManager: manager.kernelspecs,\n path: localPath,\n type: ext === '.ipynb' ? 'notebook' : 'file',\n name: _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.basename(localPath),\n kernelPreference: options.kernelPreference || { shouldStart: false },\n setBusy: options.setBusy\n });\n this.sessionContext.propertyChanged.connect(this._onSessionChanged, this);\n manager.contents.fileChanged.connect(this._onFileChanged, this);\n this.urlResolver = new _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_2__.RenderMimeRegistry.UrlResolver({\n path: this._path,\n contents: manager.contents\n });\n }\n /**\n * A signal emitted when the path changes.\n */\n get pathChanged() {\n return this._pathChanged;\n }\n /**\n * A signal emitted when the model is saved or reverted.\n */\n get fileChanged() {\n return this._fileChanged;\n }\n /**\n * A signal emitted on the start and end of a saving operation.\n */\n get saveState() {\n return this._saveState;\n }\n /**\n * A signal emitted when the context is disposed.\n */\n get disposed() {\n return this._disposed;\n }\n /**\n * Configurable margin used to detect document modification conflicts, in milliseconds\n */\n get lastModifiedCheckMargin() {\n return this._lastModifiedCheckMargin;\n }\n set lastModifiedCheckMargin(value) {\n this._lastModifiedCheckMargin = value;\n }\n /**\n * Get the model associated with the document.\n */\n get model() {\n return this._model;\n }\n /**\n * The current path associated with the document.\n */\n get path() {\n return this._path;\n }\n /**\n * The current local path associated with the document.\n * If the document is in the default notebook file browser,\n * this is the same as the path.\n */\n get localPath() {\n return this._manager.contents.localPath(this._path);\n }\n /**\n * The document metadata, stored as a services contents model.\n *\n * #### Notes\n * The contents model will be `null` until the context is populated.\n * It will not have a `content` field.\n */\n get contentsModel() {\n return this._contentsModel ? { ...this._contentsModel } : null;\n }\n /**\n * Get the model factory name.\n *\n * #### Notes\n * This is not part of the `IContext` API.\n */\n get factoryName() {\n return this.isDisposed ? '' : this._factory.name;\n }\n /**\n * Test whether the context is disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the context.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n this.sessionContext.dispose();\n this._model.dispose();\n // Ensure we dispose the `sharedModel` as it may have been generated in the context\n // through the shared model factory.\n this._model.sharedModel.dispose();\n this._disposed.emit(void 0);\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_6__.Signal.clearData(this);\n }\n /**\n * Whether the context is ready.\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * A promise that is fulfilled when the context is ready.\n */\n get ready() {\n return this._readyPromise;\n }\n /**\n * Whether the document can be saved via the Contents API.\n */\n get canSave() {\n var _a;\n return !!(((_a = this._contentsModel) === null || _a === void 0 ? void 0 : _a.writable) && !this._model.collaborative);\n }\n /**\n * Initialize the context.\n *\n * @param isNew - Whether it is a new file.\n *\n * @returns a promise that resolves upon initialization.\n */\n async initialize(isNew) {\n if (isNew) {\n await this._save();\n }\n else {\n await this._revert();\n }\n this.model.sharedModel.clearUndoHistory();\n }\n /**\n * Rename the document.\n *\n * @param newName - the new name for the document.\n */\n rename(newName) {\n return this.ready.then(() => {\n return this._manager.ready.then(() => {\n return this._rename(newName);\n });\n });\n }\n /**\n * Save the document contents to disk.\n */\n async save() {\n await this.ready;\n await this._save();\n }\n /**\n * Save the document to a different path chosen by the user.\n *\n * It will be rejected if the user abort providing a new path.\n */\n async saveAs() {\n await this.ready;\n const localPath = this._manager.contents.localPath(this.path);\n const newLocalPath = await Private.getSavePath(localPath);\n if (this.isDisposed || !newLocalPath) {\n return;\n }\n const drive = this._manager.contents.driveName(this.path);\n const newPath = drive == '' ? newLocalPath : `${drive}:${newLocalPath}`;\n if (newPath === this._path) {\n return this.save();\n }\n // Make sure the path does not exist.\n try {\n await this._manager.ready;\n await this._manager.contents.get(newPath, {\n contentProviderId: this._contentProviderId\n });\n await this._maybeOverWrite(newPath);\n }\n catch (err) {\n if (!err.response || err.response.status !== 404) {\n throw err;\n }\n await this._finishSaveAs(newPath);\n }\n }\n /**\n * Download a file.\n *\n * @returns A promise which resolves when the file has begun\n * downloading.\n */\n async download() {\n const url = await this._manager.contents.getDownloadUrl(this._path);\n const element = document.createElement('a');\n element.href = url;\n element.download = '';\n document.body.appendChild(element);\n element.click();\n document.body.removeChild(element);\n return void 0;\n }\n /**\n * Revert the document contents to disk contents.\n */\n async revert() {\n await this.ready;\n await this._revert();\n }\n /**\n * Create a checkpoint for the file.\n */\n createCheckpoint() {\n const contents = this._manager.contents;\n return this._manager.ready.then(() => {\n return contents.createCheckpoint(this._path);\n });\n }\n /**\n * Delete a checkpoint for the file.\n */\n deleteCheckpoint(checkpointId) {\n const contents = this._manager.contents;\n return this._manager.ready.then(() => {\n return contents.deleteCheckpoint(this._path, checkpointId);\n });\n }\n /**\n * Restore the file to a known checkpoint state.\n */\n restoreCheckpoint(checkpointId) {\n const contents = this._manager.contents;\n const path = this._path;\n return this._manager.ready.then(() => {\n if (checkpointId) {\n return contents.restoreCheckpoint(path, checkpointId);\n }\n return this.listCheckpoints().then(checkpoints => {\n if (this.isDisposed || !checkpoints.length) {\n return;\n }\n checkpointId = checkpoints[checkpoints.length - 1].id;\n return contents.restoreCheckpoint(path, checkpointId);\n });\n });\n }\n /**\n * List available checkpoints for a file.\n */\n listCheckpoints() {\n const contents = this._manager.contents;\n return this._manager.ready.then(() => {\n return contents.listCheckpoints(this._path);\n });\n }\n /**\n * Add a sibling widget to the document manager.\n *\n * @param widget - The widget to add to the document manager.\n *\n * @param options - The desired options for adding the sibling.\n *\n * @returns A disposable used to remove the sibling if desired.\n *\n * #### Notes\n * It is assumed that the widget has the same model and context\n * as the original widget.\n */\n addSibling(widget, options = {}) {\n const opener = this._opener;\n if (opener) {\n opener(widget, options);\n }\n return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_5__.DisposableDelegate(() => {\n widget.close();\n });\n }\n /**\n * Handle a change on the contents manager.\n */\n _onFileChanged(sender, change) {\n var _a, _b, _c;\n if (change.type === 'save' && this._model.collaborative) {\n // Skip if the change isn't related to current file.\n if (((_a = this._contentsModel) === null || _a === void 0 ? void 0 : _a.path) !== ((_b = change.newValue) === null || _b === void 0 ? void 0 : _b.path)) {\n return;\n }\n // Update the contents model with the new values provided on save.\n // This is needed for save operations performed on the server-side\n // by the collaborative drive which needs to update the `hash`\n // of the content when it changes on the backend.\n this._updateContentsModel({\n ...this._contentsModel,\n ...change.newValue\n });\n return;\n }\n if (change.type !== 'rename') {\n return;\n }\n let oldPath = change.oldValue && change.oldValue.path;\n let newPath = change.newValue && change.newValue.path;\n if (newPath && this._path.indexOf(oldPath || '') === 0) {\n let changeModel = change.newValue;\n // When folder name changed, `oldPath` is `foo`, `newPath` is `bar` and `this._path` is `foo/test`,\n // we should update `foo/test` to `bar/test` as well\n if (oldPath !== this._path) {\n newPath = this._path.replace(new RegExp(`^${oldPath}/`), `${newPath}/`);\n oldPath = this._path;\n // Update client file model from folder change\n changeModel = {\n last_modified: (_c = change.newValue) === null || _c === void 0 ? void 0 : _c.created,\n path: newPath\n };\n }\n this._updateContentsModel({\n ...this._contentsModel,\n ...changeModel\n });\n this._updatePath(newPath);\n }\n }\n /**\n * Handle a change to a session property.\n */\n _onSessionChanged(sender, type) {\n if (type !== 'path') {\n return;\n }\n // The session uses local paths.\n // We need to convert it to a global path.\n const driveName = this._manager.contents.driveName(this.path);\n let newPath = this.sessionContext.session.path;\n if (driveName) {\n newPath = `${driveName}:${newPath}`;\n }\n this._updatePath(newPath);\n }\n /**\n * Update our contents model, without the content.\n */\n _updateContentsModel(model) {\n var _a, _b, _c, _d;\n const newModel = {\n path: model.path,\n name: model.name,\n type: model.type,\n writable: model.writable,\n created: model.created,\n last_modified: model.last_modified,\n mimetype: model.mimetype,\n format: model.format,\n hash: model.hash,\n hash_algorithm: model.hash_algorithm\n };\n const mod = (_b = (_a = this._contentsModel) === null || _a === void 0 ? void 0 : _a.last_modified) !== null && _b !== void 0 ? _b : null;\n const hash = (_d = (_c = this._contentsModel) === null || _c === void 0 ? void 0 : _c.hash) !== null && _d !== void 0 ? _d : null;\n this._contentsModel = newModel;\n if (\n // If neither modification date nor hash available, assume the file has changed\n (!mod && !hash) ||\n // Compare last_modified if no hash\n (!hash && newModel.last_modified !== mod) ||\n // Compare hash if available\n (hash && newModel.hash !== hash)) {\n this._fileChanged.emit(newModel);\n }\n }\n _updatePath(newPath) {\n var _a, _b, _c, _d;\n if (this._path === newPath) {\n return;\n }\n this._path = newPath;\n const localPath = this._manager.contents.localPath(newPath);\n const name = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.basename(localPath);\n if (((_a = this.sessionContext.session) === null || _a === void 0 ? void 0 : _a.path) !== localPath) {\n void ((_b = this.sessionContext.session) === null || _b === void 0 ? void 0 : _b.setPath(localPath));\n }\n if (((_c = this.sessionContext.session) === null || _c === void 0 ? void 0 : _c.name) !== name) {\n void ((_d = this.sessionContext.session) === null || _d === void 0 ? void 0 : _d.setName(name));\n }\n if (this.urlResolver.path !== newPath) {\n this.urlResolver.path = newPath;\n }\n if (this._contentsModel &&\n (this._contentsModel.path !== newPath ||\n this._contentsModel.name !== name)) {\n const contentsModel = {\n ...this._contentsModel,\n name: name,\n path: newPath\n };\n this._updateContentsModel(contentsModel);\n }\n this._pathChanged.emit(newPath);\n }\n /**\n * Handle an initial population.\n */\n async _populate() {\n this._isPopulated = true;\n this._isReady = true;\n this._populatedPromise.resolve(void 0);\n // Add a checkpoint if none exists and the file is writable.\n await this._maybeCheckpoint(false);\n if (this.isDisposed) {\n return;\n }\n // Update the kernel preference.\n const name = this._model.defaultKernelName ||\n this.sessionContext.kernelPreference.name;\n this.sessionContext.kernelPreference = {\n ...this.sessionContext.kernelPreference,\n name,\n language: this._model.defaultKernelLanguage\n };\n // Note: we don't wait on the session to initialize\n // so that the user can be shown the content before\n // any kernel has started.\n void this.sessionContext.initialize().then(shouldSelect => {\n if (shouldSelect) {\n void this._dialogs.selectKernel(this.sessionContext);\n }\n });\n }\n /**\n * Rename the document.\n *\n * @param newName - the new name for the document.\n */\n async _rename(newName) {\n const splitPath = this.localPath.split('/');\n splitPath[splitPath.length - 1] = newName;\n let newPath = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.join(...splitPath);\n const driveName = this._manager.contents.driveName(this.path);\n if (driveName) {\n newPath = `${driveName}:${newPath}`;\n }\n // rename triggers a fileChanged which updates the contents model\n await this._manager.contents.rename(this.path, newPath);\n }\n /**\n * Save the document contents to disk.\n */\n async _save() {\n this._saveState.emit('started');\n const options = this._createSaveOptions();\n try {\n await this._manager.ready;\n if (this._model.collaborative) {\n // Files cannot be saved in collaborative mode. The \"save\" command\n // is disabled in the UI, but if the user tries to save anyway, act\n // as though it succeeded.\n this._saveState.emit('completed');\n return Promise.resolve();\n }\n const value = await this._maybeSave(options);\n if (this.isDisposed) {\n return;\n }\n this._model.dirty = false;\n this._updateContentsModel(value);\n if (!this._isPopulated) {\n await this._populate();\n }\n // Emit completion.\n this._saveState.emit('completed');\n }\n catch (err) {\n // If the save has been canceled by the user, throw the error\n // so that whoever called save() can decide what to do.\n const { name } = err;\n if (name === 'ModalCancelError' || name === 'ModalDuplicateError') {\n throw err;\n }\n // Otherwise show an error message and throw the error.\n const localPath = this._manager.contents.localPath(this._path);\n const file = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.basename(localPath);\n void this._handleError(err, this._trans.__('File Save Error for %1', file));\n // Emit failure.\n this._saveState.emit('failed');\n throw err;\n }\n }\n /**\n * Revert the document contents to disk contents.\n *\n * @param initializeModel - call the model's initialization function after\n * deserializing the content.\n */\n _revert(initializeModel = false) {\n const opts = {\n type: this._factory.contentType,\n content: this._factory.fileFormat !== null,\n hash: this._factory.fileFormat !== null,\n ...(this._factory.fileFormat !== null\n ? { format: this._factory.fileFormat }\n : {}),\n contentProviderId: this._contentProviderId\n };\n const path = this._path;\n const model = this._model;\n return this._manager.ready\n .then(() => {\n return this._manager.contents.get(path, opts);\n })\n .then(contents => {\n if (this.isDisposed) {\n return;\n }\n if (contents.content) {\n if (contents.format === 'json') {\n model.fromJSON(contents.content);\n }\n else {\n let content = contents.content;\n // Convert line endings if necessary, marking the file\n // as dirty.\n if (content.indexOf('\\r\\n') !== -1) {\n this._lineEnding = '\\r\\n';\n content = content.replace(/\\r\\n/g, '\\n');\n }\n else if (content.indexOf('\\r') !== -1) {\n this._lineEnding = '\\r';\n content = content.replace(/\\r/g, '\\n');\n }\n else {\n this._lineEnding = null;\n }\n model.fromString(content);\n }\n }\n this._updateContentsModel(contents);\n model.dirty = false;\n if (!this._isPopulated) {\n return this._populate();\n }\n })\n .catch(async (err) => {\n const localPath = this._manager.contents.localPath(this._path);\n const name = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.basename(localPath);\n void this._handleError(err, this._trans.__('File Load Error for %1', name));\n throw err;\n });\n }\n /**\n * Save a file, dealing with conflicts.\n */\n _maybeSave(options) {\n const path = this._path;\n // Make sure the file has not changed on disk.\n const promise = this._manager.contents.get(path, {\n content: false,\n hash: true,\n contentProviderId: this._contentProviderId\n });\n return promise.then(model => {\n var _a, _b, _c, _d;\n if (this.isDisposed) {\n return Promise.reject(new Error('Disposed'));\n }\n // Since jupyter server may provide hash in model, we compare hash first\n const hashAvailable = ((_a = this.contentsModel) === null || _a === void 0 ? void 0 : _a.hash) !== undefined &&\n ((_b = this.contentsModel) === null || _b === void 0 ? void 0 : _b.hash) !== null &&\n model.hash !== undefined &&\n model.hash !== null;\n const hClient = (_c = this.contentsModel) === null || _c === void 0 ? void 0 : _c.hash;\n const hDisk = model.hash;\n if (hashAvailable && hClient !== hDisk) {\n console.warn(`Different hash found for ${this.path}`);\n return this._raiseConflict(model, options);\n }\n // When hash is not provided, we compare last_modified\n // We want to check last_modified (disk) > last_modified (client)\n // (our last save)\n // In some cases the filesystem reports an inconsistent time, so we allow buffer when comparing.\n const lastModifiedCheckMargin = this._lastModifiedCheckMargin;\n const modified = (_d = this.contentsModel) === null || _d === void 0 ? void 0 : _d.last_modified;\n const tClient = modified ? new Date(modified) : new Date();\n const tDisk = new Date(model.last_modified);\n if (!hashAvailable &&\n modified &&\n tDisk.getTime() - tClient.getTime() > lastModifiedCheckMargin) {\n console.warn(`Last saving performed ${tClient} ` +\n `while the current file seems to have been saved ` +\n `${tDisk}`);\n return this._raiseConflict(model, options);\n }\n return this._manager.contents\n .save(path, options)\n .then(async (contentsModel) => {\n const model = await this._manager.contents.get(path, {\n content: false,\n hash: true,\n contentProviderId: this._contentProviderId\n });\n return {\n ...contentsModel,\n hash: model.hash,\n hash_algorithm: model.hash_algorithm\n };\n });\n }, err => {\n if (err.response && err.response.status === 404) {\n return this._manager.contents\n .save(path, options)\n .then(async (contentsModel) => {\n const model = await this._manager.contents.get(path, {\n content: false,\n hash: true,\n contentProviderId: this._contentProviderId\n });\n return {\n ...contentsModel,\n hash: model.hash,\n hash_algorithm: model.hash_algorithm\n };\n });\n }\n throw err;\n });\n }\n /**\n * Handle a save/load error with a dialog.\n */\n async _handleError(err, title) {\n await (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showErrorMessage)(title, err);\n return;\n }\n /**\n * Add a checkpoint if the file is writable.\n */\n _maybeCheckpoint(force) {\n let promise = Promise.resolve(void 0);\n if (!this.canSave) {\n return promise;\n }\n if (force) {\n promise = this.createCheckpoint().then( /* no-op */);\n }\n else {\n promise = this.listCheckpoints().then(checkpoints => {\n if (!this.isDisposed && !checkpoints.length && this.canSave) {\n return this.createCheckpoint().then( /* no-op */);\n }\n });\n }\n return promise.catch(err => {\n // Handle a read-only folder.\n if (!err.response || err.response.status !== 403) {\n throw err;\n }\n });\n }\n /**\n * Handle a time conflict.\n */\n _raiseConflict(model, options) {\n if (this._conflictModalIsOpen) {\n const error = new Error('Modal is already displayed');\n error.name = 'ModalDuplicateError';\n return Promise.reject(error);\n }\n const body = this._trans.__(`\"%1\" has changed on disk since the last time it was opened or saved.\nDo you want to overwrite the file on disk with the version open here,\nor load the version on disk (revert)?`, this.path);\n const revertBtn = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({\n label: this._trans.__('Revert'),\n actions: ['revert']\n });\n const overwriteBtn = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.warnButton({\n label: this._trans.__('Overwrite'),\n actions: ['overwrite']\n });\n this._conflictModalIsOpen = true;\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({\n title: this._trans.__('File Changed'),\n body,\n buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton(), revertBtn, overwriteBtn]\n }).then(result => {\n this._conflictModalIsOpen = false;\n if (this.isDisposed) {\n return Promise.reject(new Error('Disposed'));\n }\n if (result.button.actions.includes('overwrite')) {\n return this._manager.contents.save(this._path, {\n ...options,\n contentProviderId: this._contentProviderId\n });\n }\n if (result.button.actions.includes('revert')) {\n return this.revert().then(() => {\n return model;\n });\n }\n const error = new Error('Cancel');\n error.name = 'ModalCancelError';\n return Promise.reject(error); // Otherwise cancel the save.\n });\n }\n /**\n * Handle a time conflict.\n */\n _maybeOverWrite(path) {\n const body = this._trans.__('\"%1\" already exists. Do you want to replace it?', path);\n const overwriteBtn = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.warnButton({\n label: this._trans.__('Overwrite'),\n accept: true\n });\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({\n title: this._trans.__('File Overwrite?'),\n body,\n buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton(), overwriteBtn]\n }).then(result => {\n if (this.isDisposed) {\n return Promise.reject(new Error('Disposed'));\n }\n if (result.button.accept) {\n return this._manager.contents.delete(path).then(() => {\n return this._finishSaveAs(path);\n });\n }\n });\n }\n /**\n * Finish a saveAs operation given a new path.\n */\n async _finishSaveAs(newPath) {\n this._saveState.emit('started');\n try {\n await this._manager.ready;\n const options = this._createSaveOptions();\n await this._manager.contents.save(newPath, options);\n await this._maybeCheckpoint(true);\n // Emit completion.\n this._saveState.emit('completed');\n }\n catch (err) {\n // If the save has been canceled by the user,\n // throw the error so that whoever called save()\n // can decide what to do.\n if (err.message === 'Cancel' ||\n err.message === 'Modal is already displayed') {\n throw err;\n }\n // Otherwise show an error message and throw the error.\n const localPath = this._manager.contents.localPath(this._path);\n const name = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_1__.PathExt.basename(localPath);\n void this._handleError(err, this._trans.__('File Save Error for %1', name));\n // Emit failure.\n this._saveState.emit('failed');\n return;\n }\n }\n _createSaveOptions() {\n let content = null;\n if (this._factory.fileFormat === 'json') {\n content = this._model.toJSON();\n }\n else {\n content = this._model.toString();\n if (this._lineEnding) {\n content = content.replace(/\\n/g, this._lineEnding);\n }\n }\n return {\n type: this._factory.contentType,\n format: this._factory.fileFormat,\n content\n };\n }\n}\n/**\n * A namespace for private data.\n */\nvar Private;\n(function (Private) {\n /**\n * Get a new file path from the user.\n */\n function getSavePath(path, translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator;\n const trans = translator.load('jupyterlab');\n const saveBtn = _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.okButton({ label: trans.__('Save'), accept: true });\n return (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showDialog)({\n title: trans.__('Save File As…'),\n body: new SaveWidget(path),\n buttons: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Dialog.cancelButton(), saveBtn]\n }).then(result => {\n var _a;\n if (result.button.accept) {\n return (_a = result.value) !== null && _a !== void 0 ? _a : undefined;\n }\n return;\n });\n }\n Private.getSavePath = getSavePath;\n /**\n * A no-op function.\n */\n function noOp() {\n /* no-op */\n }\n Private.noOp = noOp;\n /*\n * A widget that gets a file path from a user.\n */\n class SaveWidget extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_7__.Widget {\n /**\n * Construct a new save widget.\n */\n constructor(path) {\n super({ node: createSaveNode(path) });\n }\n /**\n * Get the value for the widget.\n */\n getValue() {\n return this.node.value;\n }\n }\n /**\n * Create the node for a save widget.\n */\n function createSaveNode(path) {\n const input = document.createElement('input');\n input.value = path;\n return input;\n }\n})(Private || (Private = {}));\n//# sourceMappingURL=context.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docregistry/lib/context.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docregistry/lib/default.js":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docregistry/lib/default.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ABCWidgetFactory: () => (/* binding */ ABCWidgetFactory),\n/* harmony export */ Base64ModelFactory: () => (/* binding */ Base64ModelFactory),\n/* harmony export */ DocumentModel: () => (/* binding */ DocumentModel),\n/* harmony export */ DocumentWidget: () => (/* binding */ DocumentWidget),\n/* harmony export */ TextModelFactory: () => (/* binding */ TextModelFactory)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components */ \"../node_modules/@jupyterlab/docregistry/lib/components.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n/**\n * The default implementation of a document model.\n */\nclass DocumentModel extends _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.CodeEditor.Model {\n /**\n * Construct a new document model.\n */\n constructor(options = {}) {\n var _a;\n super({ sharedModel: options.sharedModel });\n this._defaultLang = '';\n this._dirty = false;\n this._readOnly = false;\n this._contentChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__.Signal(this);\n this._stateChanged = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__.Signal(this);\n this._defaultLang = (_a = options.languagePreference) !== null && _a !== void 0 ? _a : '';\n this._collaborationEnabled = !!options.collaborationEnabled;\n this.sharedModel.changed.connect(this._onStateChanged, this);\n }\n /**\n * A signal emitted when the document content changes.\n */\n get contentChanged() {\n return this._contentChanged;\n }\n /**\n * A signal emitted when the document state changes.\n */\n get stateChanged() {\n return this._stateChanged;\n }\n /**\n * The dirty state of the document.\n */\n get dirty() {\n return this._dirty;\n }\n set dirty(newValue) {\n const oldValue = this._dirty;\n if (newValue === oldValue) {\n return;\n }\n this._dirty = newValue;\n this.triggerStateChange({\n name: 'dirty',\n oldValue,\n newValue\n });\n }\n /**\n * The read only state of the document.\n */\n get readOnly() {\n return this._readOnly;\n }\n set readOnly(newValue) {\n if (newValue === this._readOnly) {\n return;\n }\n const oldValue = this._readOnly;\n this._readOnly = newValue;\n this.triggerStateChange({ name: 'readOnly', oldValue, newValue });\n }\n /**\n * The default kernel name of the document.\n *\n * #### Notes\n * This is a read-only property.\n */\n get defaultKernelName() {\n return '';\n }\n /**\n * The default kernel language of the document.\n *\n * #### Notes\n * This is a read-only property.\n */\n get defaultKernelLanguage() {\n return this._defaultLang;\n }\n /**\n * Whether the model is collaborative or not.\n */\n get collaborative() {\n return this._collaborationEnabled;\n }\n /**\n * Serialize the model to a string.\n */\n toString() {\n return this.sharedModel.getSource();\n }\n /**\n * Deserialize the model from a string.\n *\n * #### Notes\n * Should emit a [contentChanged] signal.\n */\n fromString(value) {\n this.sharedModel.setSource(value);\n }\n /**\n * Serialize the model to JSON.\n */\n toJSON() {\n return JSON.parse(this.sharedModel.getSource() || 'null');\n }\n /**\n * Deserialize the model from JSON.\n *\n * #### Notes\n * Should emit a [contentChanged] signal.\n */\n fromJSON(value) {\n this.fromString(JSON.stringify(value));\n }\n /**\n * Initialize the model with its current state.\n */\n initialize() {\n return;\n }\n /**\n * Trigger a state change signal.\n */\n triggerStateChange(args) {\n this._stateChanged.emit(args);\n }\n /**\n * Trigger a content changed signal.\n */\n triggerContentChange() {\n this._contentChanged.emit(void 0);\n this.dirty = true;\n }\n _onStateChanged(sender, changes) {\n if (changes.sourceChange) {\n this.triggerContentChange();\n }\n if (changes.stateChange) {\n changes.stateChange.forEach(value => {\n if (value.name === 'dirty') {\n // Setting `dirty` will trigger the state change.\n // We always set `dirty` because the shared model state\n // and the local attribute are synchronized one way shared model -> _dirty\n this.dirty = value.newValue;\n }\n else if (value.oldValue !== value.newValue) {\n this.triggerStateChange({\n newValue: undefined,\n oldValue: undefined,\n ...value\n });\n }\n });\n }\n }\n}\n/**\n * An implementation of a model factory for text files.\n */\nclass TextModelFactory {\n /**\n * Instantiates a TextModelFactory.\n */\n constructor(collaborative) {\n this._isDisposed = false;\n this._collaborative = collaborative !== null && collaborative !== void 0 ? collaborative : true;\n }\n /**\n * The name of the model type.\n *\n * #### Notes\n * This is a read-only property.\n */\n get name() {\n return 'text';\n }\n /**\n * The type of the file.\n *\n * #### Notes\n * This is a read-only property.\n */\n get contentType() {\n return 'file';\n }\n /**\n * The format of the file.\n *\n * This is a read-only property.\n */\n get fileFormat() {\n return 'text';\n }\n /**\n * Whether the model is collaborative or not.\n */\n get collaborative() {\n return this._collaborative;\n }\n /**\n * Get whether the model factory has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the model factory.\n */\n dispose() {\n this._isDisposed = true;\n }\n /**\n * Create a new model.\n *\n * @param options - Model options.\n *\n * @returns A new document model.\n */\n createNew(options = {}) {\n const collaborative = options.collaborationEnabled && this.collaborative;\n return new DocumentModel({\n ...options,\n collaborationEnabled: collaborative\n });\n }\n /**\n * Get the preferred kernel language given a file path.\n */\n preferredLanguage(path) {\n return '';\n }\n}\n/**\n * An implementation of a model factory for base64 files.\n */\nclass Base64ModelFactory extends TextModelFactory {\n /**\n * The name of the model type.\n *\n * #### Notes\n * This is a read-only property.\n */\n get name() {\n return 'base64';\n }\n /**\n * The type of the file.\n *\n * #### Notes\n * This is a read-only property.\n */\n get contentType() {\n return 'file';\n }\n /**\n * The format of the file.\n *\n * This is a read-only property.\n */\n get fileFormat() {\n return 'base64';\n }\n}\n/**\n * The default implementation of a widget factory.\n */\nclass ABCWidgetFactory {\n /**\n * Construct a new `ABCWidgetFactory`.\n */\n constructor(options) {\n this._isDisposed = false;\n this._widgetCreated = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__.Signal(this);\n this._translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator;\n this._name = options.name;\n this._label = options.label || options.name;\n this._readOnly = options.readOnly === undefined ? false : options.readOnly;\n this._defaultFor = options.defaultFor ? options.defaultFor.slice() : [];\n this._defaultRendered = (options.defaultRendered || []).slice();\n this._fileTypes = options.fileTypes.slice();\n this._modelName = options.modelName || 'text';\n this._preferKernel = !!options.preferKernel;\n this._canStartKernel = !!options.canStartKernel;\n this._shutdownOnClose = !!options.shutdownOnClose;\n this._autoStartDefault = !!options.autoStartDefault;\n this._toolbarFactory = options.toolbarFactory;\n this._contentProviderId = options.contentProviderId;\n }\n /**\n * A signal emitted when a widget is created.\n */\n get widgetCreated() {\n return this._widgetCreated;\n }\n /**\n * Get whether the model factory has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources used by the document manager.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_4__.Signal.clearData(this);\n }\n /**\n * Whether the widget factory is read only.\n */\n get readOnly() {\n return this._readOnly;\n }\n /**\n * A unique name identifying of the widget.\n */\n get name() {\n return this._name;\n }\n /**\n * The label of the widget to display in dialogs.\n * If not given, name is used instead.\n */\n get label() {\n return this._label;\n }\n /**\n * The file types the widget can view.\n */\n get fileTypes() {\n return this._fileTypes.slice();\n }\n /**\n * The registered name of the model type used to create the widgets.\n */\n get modelName() {\n return this._modelName;\n }\n /**\n * The file types for which the factory should be the default.\n */\n get defaultFor() {\n return this._defaultFor.slice();\n }\n /**\n * The file types for which the factory should be the default for\n * rendering a document model, if different from editing.\n */\n get defaultRendered() {\n return this._defaultRendered.slice();\n }\n /**\n * Whether the widgets prefer having a kernel started.\n */\n get preferKernel() {\n return this._preferKernel;\n }\n /**\n * Whether the widgets can start a kernel when opened.\n */\n get canStartKernel() {\n return this._canStartKernel;\n }\n /**\n * The application language translator.\n */\n get translator() {\n return this._translator;\n }\n /**\n * Whether the kernel should be shutdown when the widget is closed.\n */\n get shutdownOnClose() {\n return this._shutdownOnClose;\n }\n set shutdownOnClose(value) {\n this._shutdownOnClose = value;\n }\n /**\n * Whether to automatically select the preferred kernel during a kernel start\n */\n get autoStartDefault() {\n return this._autoStartDefault;\n }\n set autoStartDefault(value) {\n this._autoStartDefault = value;\n }\n /**\n * Create a new widget given a document model and a context.\n *\n * #### Notes\n * It should emit the [widgetCreated] signal with the new widget.\n */\n createNew(context, source) {\n var _a;\n // Create the new widget\n const widget = this.createNewWidget(context, source);\n // Add toolbar\n (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.setToolbar)(widget, (_a = this._toolbarFactory) !== null && _a !== void 0 ? _a : this.defaultToolbarFactory.bind(this));\n // Emit widget created signal\n this._widgetCreated.emit(widget);\n return widget;\n }\n /**\n * Identifier of the content provider required for the widget (if any).\n *\n * Throws Error if the content provider was already set.\n *\n * @experimental\n */\n get contentProviderId() {\n return this._contentProviderId;\n }\n set contentProviderId(value) {\n if (this._contentProviderId && value !== this._contentProviderId) {\n throw Error(`Cannot change content provider on factory with an existing provider: ${this._contentProviderId}`);\n }\n this._contentProviderId = value;\n }\n /**\n * Default factory for toolbar items to be added after the widget is created.\n */\n defaultToolbarFactory(widget) {\n return [];\n }\n}\n/**\n * The class name added to a dirty widget.\n */\nconst DIRTY_CLASS = 'jp-mod-dirty';\n/**\n * A document widget implementation.\n */\nclass DocumentWidget extends _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.MainAreaWidget {\n constructor(options) {\n var _a;\n // Include the context ready promise in the widget reveal promise\n options.reveal = Promise.all([options.reveal, options.context.ready]);\n super(options);\n this._trans = ((_a = options.translator) !== null && _a !== void 0 ? _a : _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_3__.nullTranslator).load('jupyterlab');\n this.context = options.context;\n // Handle context path changes\n this.context.pathChanged.connect(this._onPathChanged, this);\n this._onPathChanged(this.context, this.context.path);\n // Listen for changes in the dirty state.\n this.context.model.stateChanged.connect(this._onModelStateChanged, this);\n void this.context.ready.then(() => {\n this._handleDirtyState();\n });\n // listen for changes to the title object\n this.title.changed.connect(this._onTitleChanged, this);\n }\n /**\n * Set URI fragment identifier.\n */\n setFragment(fragment) {\n /* no-op */\n }\n /**\n * Handle a title change.\n */\n async _onTitleChanged(_sender) {\n const validNameExp = /[\\/\\\\:]/;\n const name = this.title.label;\n // Use localPath to avoid the drive name\n const filename = this.context.localPath.split('/').pop() || this.context.localPath;\n if (name === filename) {\n return;\n }\n if (name.length > 0 && !validNameExp.test(name)) {\n const oldPath = this.context.path;\n await this.context.rename(name);\n if (this.context.path !== oldPath) {\n // Rename succeeded\n return;\n }\n }\n // Reset title if name is invalid or rename fails\n this.title.label = filename;\n }\n /**\n * Handle a path change.\n */\n _onPathChanged(sender, path) {\n this.title.label = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.PathExt.basename(sender.localPath);\n // The document is not untitled any more.\n this.isUntitled = false;\n }\n /**\n * Handle a change to the context model state.\n */\n _onModelStateChanged(sender, args) {\n var _a;\n if (args.name === 'dirty') {\n this._handleDirtyState();\n }\n if (!this.context.model.dirty) {\n if (((_a = this.context.contentsModel) === null || _a === void 0 ? void 0 : _a.writable) === false) {\n const readOnlyIndicator = (0,_components__WEBPACK_IMPORTED_MODULE_5__.createReadonlyLabel)(this);\n let roi = this.toolbar.insertBefore('kernelName', 'read-only-indicator', readOnlyIndicator);\n if (!roi) {\n this.toolbar.addItem('read-only-indicator', readOnlyIndicator);\n }\n }\n }\n }\n /**\n * Handle the dirty state of the context model.\n */\n _handleDirtyState() {\n if (this.context.model.dirty &&\n !this.title.className.includes(DIRTY_CLASS)) {\n this.title.className += ` ${DIRTY_CLASS}`;\n }\n else {\n this.title.className = this.title.className.replace(DIRTY_CLASS, '');\n }\n }\n}\n//# sourceMappingURL=default.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docregistry/lib/default.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docregistry/lib/index.js":
+/*!************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docregistry/lib/index.js ***!
+ \************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ABCWidgetFactory: () => (/* reexport safe */ _default__WEBPACK_IMPORTED_MODULE_1__.ABCWidgetFactory),\n/* harmony export */ Base64ModelFactory: () => (/* reexport safe */ _default__WEBPACK_IMPORTED_MODULE_1__.Base64ModelFactory),\n/* harmony export */ Context: () => (/* reexport safe */ _context__WEBPACK_IMPORTED_MODULE_0__.Context),\n/* harmony export */ DocumentModel: () => (/* reexport safe */ _default__WEBPACK_IMPORTED_MODULE_1__.DocumentModel),\n/* harmony export */ DocumentRegistry: () => (/* reexport safe */ _registry__WEBPACK_IMPORTED_MODULE_3__.DocumentRegistry),\n/* harmony export */ DocumentWidget: () => (/* reexport safe */ _default__WEBPACK_IMPORTED_MODULE_1__.DocumentWidget),\n/* harmony export */ MimeContent: () => (/* reexport safe */ _mimedocument__WEBPACK_IMPORTED_MODULE_2__.MimeContent),\n/* harmony export */ MimeDocument: () => (/* reexport safe */ _mimedocument__WEBPACK_IMPORTED_MODULE_2__.MimeDocument),\n/* harmony export */ MimeDocumentFactory: () => (/* reexport safe */ _mimedocument__WEBPACK_IMPORTED_MODULE_2__.MimeDocumentFactory),\n/* harmony export */ TextModelFactory: () => (/* reexport safe */ _default__WEBPACK_IMPORTED_MODULE_1__.TextModelFactory),\n/* harmony export */ createReadonlyLabel: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_4__.createReadonlyLabel)\n/* harmony export */ });\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./context */ \"../node_modules/@jupyterlab/docregistry/lib/context.js\");\n/* harmony import */ var _default__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./default */ \"../node_modules/@jupyterlab/docregistry/lib/default.js\");\n/* harmony import */ var _mimedocument__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimedocument */ \"../node_modules/@jupyterlab/docregistry/lib/mimedocument.js\");\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./registry */ \"../node_modules/@jupyterlab/docregistry/lib/registry.js\");\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components */ \"../node_modules/@jupyterlab/docregistry/lib/components.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module docregistry\n */\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docregistry/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docregistry/lib/mimedocument.js":
+/*!*******************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docregistry/lib/mimedocument.js ***!
+ \*******************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MimeContent: () => (/* binding */ MimeContent),\n/* harmony export */ MimeDocument: () => (/* binding */ MimeDocument),\n/* harmony export */ MimeDocumentFactory: () => (/* binding */ MimeDocumentFactory)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/codeeditor */ \"webpack/sharing/consume/default/@jupyterlab/codeeditor/@jupyterlab/codeeditor\");\n/* harmony import */ var _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/rendermime */ \"webpack/sharing/consume/default/@jupyterlab/rendermime/@jupyterlab/rendermime\");\n/* harmony import */ var _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/coreutils */ \"webpack/sharing/consume/default/@lumino/coreutils/@lumino/coreutils\");\n/* harmony import */ var _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _lumino_messaging__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @lumino/messaging */ \"webpack/sharing/consume/default/@lumino/messaging/@lumino/messaging\");\n/* harmony import */ var _lumino_messaging__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_lumino_messaging__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _default__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./default */ \"../node_modules/@jupyterlab/docregistry/lib/default.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n\n\n/**\n * A content widget for a rendered mimetype document.\n */\nclass MimeContent extends _lumino_widgets__WEBPACK_IMPORTED_MODULE_7__.Widget {\n /**\n * Construct a new widget.\n */\n constructor(options) {\n super();\n /**\n * A bound change callback.\n */\n this._changeCallback = (options) => {\n if (!options.data || !options.data[this.mimeType]) {\n return;\n }\n const data = options.data[this.mimeType];\n if (typeof data === 'string') {\n if (data !== this._context.model.toString()) {\n this._context.model.fromString(data);\n }\n }\n else if (data !== null &&\n data !== undefined &&\n !_lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__.JSONExt.deepEqual(data, this._context.model.toJSON())) {\n this._context.model.fromJSON(data);\n }\n };\n this._fragment = '';\n this._ready = new _lumino_coreutils__WEBPACK_IMPORTED_MODULE_5__.PromiseDelegate();\n this._isRendering = false;\n this._renderRequested = false;\n this.addClass('jp-MimeDocument');\n this.translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.nullTranslator;\n this._trans = this.translator.load('jupyterlab');\n this.mimeType = options.mimeType;\n this._dataType = options.dataType || 'string';\n this._context = options.context;\n this.renderer = options.renderer;\n const layout = (this.layout = new _lumino_widgets__WEBPACK_IMPORTED_MODULE_7__.StackedLayout());\n layout.addWidget(this.renderer);\n this._context.ready\n .then(() => {\n return this._render();\n })\n .then(() => {\n // After rendering for the first time, send an activation request if we\n // are currently focused.\n if (this.node === document.activeElement) {\n // We want to synchronously send (not post) the activate message, while\n // we know this node still has focus.\n _lumino_messaging__WEBPACK_IMPORTED_MODULE_6__.MessageLoop.sendMessage(this.renderer, _lumino_widgets__WEBPACK_IMPORTED_MODULE_7__.Widget.Msg.ActivateRequest);\n }\n // Throttle the rendering rate of the widget.\n this._monitor = new _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_2__.ActivityMonitor({\n signal: this._context.model.contentChanged,\n timeout: options.renderTimeout\n });\n this._monitor.activityStopped.connect(this.update, this);\n this._ready.resolve(undefined);\n })\n .catch(reason => {\n // Dispose the document if rendering fails.\n requestAnimationFrame(() => {\n this.dispose();\n });\n void (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showErrorMessage)(this._trans.__('Renderer Failure: %1', this._context.path), reason);\n });\n }\n /**\n * Print method. Deferred to the renderer.\n */\n [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Printing.symbol]() {\n return _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.Printing.getPrintFunction(this.renderer);\n }\n /**\n * A promise that resolves when the widget is ready.\n */\n get ready() {\n return this._ready.promise;\n }\n /**\n * Set URI fragment identifier.\n */\n setFragment(fragment) {\n this._fragment = fragment;\n this.update();\n }\n /**\n * Dispose of the resources held by the widget.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n if (this._monitor) {\n this._monitor.dispose();\n }\n this._monitor = null;\n super.dispose();\n }\n /**\n * Handle an `update-request` message to the widget.\n */\n onUpdateRequest(msg) {\n if (this._context.isReady) {\n void this._render();\n this._fragment = '';\n }\n }\n /**\n * Render the mime content.\n */\n async _render() {\n if (this.isDisposed) {\n return;\n }\n // Since rendering is async, we note render requests that happen while we\n // actually are rendering for a future rendering.\n if (this._isRendering) {\n this._renderRequested = true;\n return;\n }\n // Set up for this rendering pass.\n this._renderRequested = false;\n const context = this._context;\n const model = context.model;\n const data = {};\n if (this._dataType === 'string') {\n data[this.mimeType] = model.toString();\n }\n else {\n data[this.mimeType] = model.toJSON();\n }\n const mimeModel = new _jupyterlab_rendermime__WEBPACK_IMPORTED_MODULE_3__.MimeModel({\n data,\n callback: this._changeCallback,\n metadata: { fragment: this._fragment }\n });\n try {\n // Do the rendering asynchronously.\n this._isRendering = true;\n await this.renderer.renderModel(mimeModel);\n this._isRendering = false;\n // If there is an outstanding request to render, go ahead and render\n if (this._renderRequested) {\n return this._render();\n }\n }\n catch (reason) {\n // Dispose the document if rendering fails.\n requestAnimationFrame(() => {\n this.dispose();\n });\n void (0,_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_0__.showErrorMessage)(this._trans.__('Renderer Failure: %1', context.path), reason);\n }\n }\n}\n/**\n * A document widget for mime content.\n */\nclass MimeDocument extends _default__WEBPACK_IMPORTED_MODULE_8__.DocumentWidget {\n setFragment(fragment) {\n this.content.setFragment(fragment);\n }\n}\n/**\n * An implementation of a widget factory for a rendered mimetype document.\n */\nclass MimeDocumentFactory extends _default__WEBPACK_IMPORTED_MODULE_8__.ABCWidgetFactory {\n /**\n * Construct a new mimetype widget factory.\n */\n constructor(options) {\n super(Private.createRegistryOptions(options));\n this._rendermime = options.rendermime;\n this._renderTimeout = options.renderTimeout || 1000;\n this._dataType = options.dataType || 'string';\n this._fileType = options.primaryFileType;\n this._factory = options.factory;\n }\n /**\n * Create a new widget given a context.\n */\n createNewWidget(context) {\n var _a, _b;\n const ft = this._fileType;\n const mimeType = (ft === null || ft === void 0 ? void 0 : ft.mimeTypes.length)\n ? ft.mimeTypes[0]\n : _jupyterlab_codeeditor__WEBPACK_IMPORTED_MODULE_1__.IEditorMimeTypeService.defaultMimeType;\n const rendermime = this._rendermime.clone({\n resolver: context.urlResolver\n });\n let renderer;\n if (this._factory && this._factory.mimeTypes.includes(mimeType)) {\n renderer = this._factory.createRenderer({\n mimeType,\n resolver: rendermime.resolver,\n sanitizer: rendermime.sanitizer,\n linkHandler: rendermime.linkHandler,\n latexTypesetter: rendermime.latexTypesetter,\n markdownParser: rendermime.markdownParser\n });\n }\n else {\n renderer = rendermime.createRenderer(mimeType);\n }\n const content = new MimeContent({\n context,\n renderer,\n mimeType,\n renderTimeout: this._renderTimeout,\n dataType: this._dataType\n });\n content.title.icon = ft === null || ft === void 0 ? void 0 : ft.icon;\n content.title.iconClass = (_a = ft === null || ft === void 0 ? void 0 : ft.iconClass) !== null && _a !== void 0 ? _a : '';\n content.title.iconLabel = (_b = ft === null || ft === void 0 ? void 0 : ft.iconLabel) !== null && _b !== void 0 ? _b : '';\n const widget = new MimeDocument({ content, context });\n return widget;\n }\n}\n/**\n * The namespace for the module implementation details.\n */\nvar Private;\n(function (Private) {\n /**\n * Create the document registry options.\n */\n function createRegistryOptions(options) {\n return {\n ...options,\n readOnly: true\n };\n }\n Private.createRegistryOptions = createRegistryOptions;\n})(Private || (Private = {}));\n//# sourceMappingURL=mimedocument.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docregistry/lib/mimedocument.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docregistry/lib/registry.js":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docregistry/lib/registry.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DocumentRegistry: () => (/* binding */ DocumentRegistry)\n/* harmony export */ });\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/coreutils */ \"webpack/sharing/consume/default/@jupyterlab/coreutils/@jupyterlab/coreutils\");\n/* harmony import */ var _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/ui-components */ \"webpack/sharing/consume/default/@jupyterlab/ui-components/@jupyterlab/ui-components\");\n/* harmony import */ var _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @lumino/algorithm */ \"webpack/sharing/consume/default/@lumino/algorithm/@lumino/algorithm\");\n/* harmony import */ var _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @lumino/disposable */ \"webpack/sharing/consume/default/@lumino/disposable/@lumino/disposable\");\n/* harmony import */ var _lumino_disposable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_lumino_disposable__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/signaling */ \"webpack/sharing/consume/default/@lumino/signaling/@lumino/signaling\");\n/* harmony import */ var _lumino_signaling__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_signaling__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _default__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./default */ \"../node_modules/@jupyterlab/docregistry/lib/default.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\n\n\n\n\n\n/**\n * The document registry.\n */\nclass DocumentRegistry {\n /**\n * Construct a new document registry.\n */\n constructor(options = {}) {\n this._modelFactories = Object.create(null);\n this._widgetFactories = Object.create(null);\n this._defaultWidgetFactory = '';\n this._defaultWidgetFactoryOverrides = Object.create(null);\n this._defaultWidgetFactories = Object.create(null);\n this._defaultRenderedWidgetFactories = Object.create(null);\n this._widgetFactoriesForFileType = Object.create(null);\n this._fileTypes = [];\n this._extenders = Object.create(null);\n this._changed = new _lumino_signaling__WEBPACK_IMPORTED_MODULE_5__.Signal(this);\n this._isDisposed = false;\n const factory = options.textModelFactory;\n this.translator = options.translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n if (factory && factory.name !== 'text') {\n throw new Error('Text model factory must have the name `text`');\n }\n this._modelFactories['text'] = factory || new _default__WEBPACK_IMPORTED_MODULE_6__.TextModelFactory(true);\n const fts = options.initialFileTypes ||\n DocumentRegistry.getDefaultFileTypes(this.translator);\n fts.forEach(ft => {\n const value = {\n ...DocumentRegistry.getFileTypeDefaults(this.translator),\n ...ft\n };\n this._fileTypes.push(value);\n });\n }\n /**\n * A signal emitted when the registry has changed.\n */\n get changed() {\n return this._changed;\n }\n /**\n * Get whether the document registry has been disposed.\n */\n get isDisposed() {\n return this._isDisposed;\n }\n /**\n * Dispose of the resources held by the document registry.\n */\n dispose() {\n if (this.isDisposed) {\n return;\n }\n this._isDisposed = true;\n for (const modelName in this._modelFactories) {\n this._modelFactories[modelName].dispose();\n }\n for (const widgetName in this._widgetFactories) {\n this._widgetFactories[widgetName].dispose();\n }\n for (const widgetName in this._extenders) {\n this._extenders[widgetName].length = 0;\n }\n this._fileTypes.length = 0;\n _lumino_signaling__WEBPACK_IMPORTED_MODULE_5__.Signal.clearData(this);\n }\n /**\n * Add a widget factory to the registry.\n *\n * @param factory - The factory instance to register.\n *\n * @returns A disposable which will unregister the factory.\n *\n * #### Notes\n * If a factory with the given `'name'` is already registered,\n * a warning will be logged, and this will be a no-op.\n * If `'*'` is given as a default extension, the factory will be registered\n * as the global default.\n * If an extension or global default is already registered, this factory\n * will override the existing default.\n * The factory cannot be named an empty string or the string `'default'`.\n */\n addWidgetFactory(factory) {\n const name = factory.name.toLowerCase();\n if (!name || name === 'default') {\n throw Error('Invalid factory name');\n }\n if (this._widgetFactories[name]) {\n console.warn(`Duplicate registered factory ${name}`);\n return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__.DisposableDelegate(Private.noOp);\n }\n this._widgetFactories[name] = factory;\n for (const ft of factory.defaultFor || []) {\n if (factory.fileTypes.indexOf(ft) === -1) {\n continue;\n }\n if (ft === '*') {\n this._defaultWidgetFactory = name;\n }\n else {\n this._defaultWidgetFactories[ft] = name;\n }\n }\n for (const ft of factory.defaultRendered || []) {\n if (factory.fileTypes.indexOf(ft) === -1) {\n continue;\n }\n this._defaultRenderedWidgetFactories[ft] = name;\n }\n // For convenience, store a mapping of file type name -> name\n for (const ft of factory.fileTypes) {\n if (!this._widgetFactoriesForFileType[ft]) {\n this._widgetFactoriesForFileType[ft] = [];\n }\n this._widgetFactoriesForFileType[ft].push(name);\n }\n this._changed.emit({\n type: 'widgetFactory',\n name,\n change: 'added'\n });\n return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__.DisposableDelegate(() => {\n delete this._widgetFactories[name];\n if (this._defaultWidgetFactory === name) {\n this._defaultWidgetFactory = '';\n }\n for (const ext of Object.keys(this._defaultWidgetFactories)) {\n if (this._defaultWidgetFactories[ext] === name) {\n delete this._defaultWidgetFactories[ext];\n }\n }\n for (const ext of Object.keys(this._defaultRenderedWidgetFactories)) {\n if (this._defaultRenderedWidgetFactories[ext] === name) {\n delete this._defaultRenderedWidgetFactories[ext];\n }\n }\n for (const ext of Object.keys(this._widgetFactoriesForFileType)) {\n _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.ArrayExt.removeFirstOf(this._widgetFactoriesForFileType[ext], name);\n if (this._widgetFactoriesForFileType[ext].length === 0) {\n delete this._widgetFactoriesForFileType[ext];\n }\n }\n for (const ext of Object.keys(this._defaultWidgetFactoryOverrides)) {\n if (this._defaultWidgetFactoryOverrides[ext] === name) {\n delete this._defaultWidgetFactoryOverrides[ext];\n }\n }\n this._changed.emit({\n type: 'widgetFactory',\n name,\n change: 'removed'\n });\n });\n }\n /**\n * Add a model factory to the registry.\n *\n * @param factory - The factory instance.\n *\n * @returns A disposable which will unregister the factory.\n *\n * #### Notes\n * If a factory with the given `name` is already registered, or\n * the given factory is already registered, a warning will be logged\n * and this will be a no-op.\n */\n addModelFactory(factory) {\n const name = factory.name.toLowerCase();\n if (this._modelFactories[name]) {\n console.warn(`Duplicate registered factory ${name}`);\n return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__.DisposableDelegate(Private.noOp);\n }\n this._modelFactories[name] = factory;\n this._changed.emit({\n type: 'modelFactory',\n name,\n change: 'added'\n });\n return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__.DisposableDelegate(() => {\n delete this._modelFactories[name];\n this._changed.emit({\n type: 'modelFactory',\n name,\n change: 'removed'\n });\n });\n }\n /**\n * Add a widget extension to the registry.\n *\n * @param widgetName - The name of the widget factory.\n *\n * @param extension - A widget extension.\n *\n * @returns A disposable which will unregister the extension.\n *\n * #### Notes\n * If the extension is already registered for the given\n * widget name, a warning will be logged and this will be a no-op.\n */\n addWidgetExtension(widgetName, extension) {\n widgetName = widgetName.toLowerCase();\n if (!(widgetName in this._extenders)) {\n this._extenders[widgetName] = [];\n }\n const extenders = this._extenders[widgetName];\n const index = _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.ArrayExt.firstIndexOf(extenders, extension);\n if (index !== -1) {\n console.warn(`Duplicate registered extension for ${widgetName}`);\n return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__.DisposableDelegate(Private.noOp);\n }\n this._extenders[widgetName].push(extension);\n this._changed.emit({\n type: 'widgetExtension',\n name: widgetName,\n change: 'added'\n });\n return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__.DisposableDelegate(() => {\n _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.ArrayExt.removeFirstOf(this._extenders[widgetName], extension);\n this._changed.emit({\n type: 'widgetExtension',\n name: widgetName,\n change: 'removed'\n });\n });\n }\n /**\n * Add a file type to the document registry.\n *\n * @param fileType - The file type object to register.\n * @param factories - Optional factories to use for the file type.\n *\n * @returns A disposable which will unregister the command.\n *\n * #### Notes\n * These are used to populate the \"Create New\" dialog.\n *\n * If no default factory exists for the file type, the first factory will\n * be defined as default factory.\n */\n addFileType(fileType, factories) {\n const value = {\n ...DocumentRegistry.getFileTypeDefaults(this.translator),\n ...fileType,\n // fall back to fileIcon if needed\n ...(!(fileType.icon || fileType.iconClass) && { icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.fileIcon })\n };\n this._fileTypes.push(value);\n // Add the filetype to the factory - filetype mapping\n // We do not change the factory itself\n if (factories) {\n const fileTypeName = value.name.toLowerCase();\n factories\n .map(factory => factory.toLowerCase())\n .forEach(factory => {\n if (!this._widgetFactoriesForFileType[fileTypeName]) {\n this._widgetFactoriesForFileType[fileTypeName] = [];\n }\n if (!this._widgetFactoriesForFileType[fileTypeName].includes(factory)) {\n this._widgetFactoriesForFileType[fileTypeName].push(factory);\n }\n });\n if (!this._defaultWidgetFactories[fileTypeName]) {\n this._defaultWidgetFactories[fileTypeName] =\n this._widgetFactoriesForFileType[fileTypeName][0];\n }\n }\n this._changed.emit({\n type: 'fileType',\n name: value.name,\n change: 'added'\n });\n return new _lumino_disposable__WEBPACK_IMPORTED_MODULE_4__.DisposableDelegate(() => {\n _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.ArrayExt.removeFirstOf(this._fileTypes, value);\n if (factories) {\n const fileTypeName = value.name.toLowerCase();\n for (const name of factories.map(factory => factory.toLowerCase())) {\n _lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.ArrayExt.removeFirstOf(this._widgetFactoriesForFileType[fileTypeName], name);\n }\n if (this._defaultWidgetFactories[fileTypeName] ===\n factories[0].toLowerCase()) {\n delete this._defaultWidgetFactories[fileTypeName];\n }\n }\n this._changed.emit({\n type: 'fileType',\n name: fileType.name,\n change: 'removed'\n });\n });\n }\n /**\n * Get a list of the preferred widget factories.\n *\n * @param path - The file path to filter the results.\n *\n * @returns A new array of widget factories.\n *\n * #### Notes\n * Only the widget factories whose associated model factory have\n * been registered will be returned.\n * The first item is considered the default. The returned array\n * has widget factories in the following order:\n * - path-specific default factory\n * - path-specific default rendered factory\n * - global default factory\n * - all other path-specific factories\n * - all other global factories\n */\n preferredWidgetFactories(path) {\n const factories = new Set();\n // Get the ordered matching file types.\n const fts = this.getFileTypesForPath(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(path));\n // Start with any user overrides for the defaults.\n fts.forEach(ft => {\n if (ft.name in this._defaultWidgetFactoryOverrides) {\n factories.add(this._defaultWidgetFactoryOverrides[ft.name]);\n }\n });\n // Next add the file type default factories.\n fts.forEach(ft => {\n if (ft.name in this._defaultWidgetFactories) {\n factories.add(this._defaultWidgetFactories[ft.name]);\n }\n });\n // Add the file type default rendered factories.\n fts.forEach(ft => {\n if (ft.name in this._defaultRenderedWidgetFactories) {\n factories.add(this._defaultRenderedWidgetFactories[ft.name]);\n }\n });\n // Add the global default factory.\n if (this._defaultWidgetFactory) {\n factories.add(this._defaultWidgetFactory);\n }\n // Add the file type factories in registration order.\n for (const ft of fts) {\n if (ft.name in this._widgetFactoriesForFileType) {\n for (const n of this._widgetFactoriesForFileType[ft.name]) {\n factories.add(n);\n }\n }\n }\n // Add the rest of the global factories, in registration order.\n if ('*' in this._widgetFactoriesForFileType) {\n for (const n of this._widgetFactoriesForFileType['*']) {\n factories.add(n);\n }\n }\n // Construct the return list, checking to make sure the corresponding\n // model factories are registered.\n const factoryList = [];\n for (const name of factories) {\n const factory = this._widgetFactories[name];\n if (!factory) {\n continue;\n }\n const modelName = factory.modelName || 'text';\n if (modelName in this._modelFactories) {\n factoryList.push(factory);\n }\n }\n return factoryList;\n }\n /**\n * Get the default rendered widget factory for a path.\n *\n * @param path - The path to for which to find a widget factory.\n *\n * @returns The default rendered widget factory for the path.\n *\n * ### Notes\n * If the widget factory has registered a separate set of `defaultRendered`\n * file types and there is a match in that set, this returns that.\n * Otherwise, this returns the same widget factory as\n * [[defaultWidgetFactory]].\n *\n * The user setting `defaultViewers` took precedence on this one too.\n */\n defaultRenderedWidgetFactory(path) {\n // Get the matching file types.\n const ftNames = this.getFileTypesForPath(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(path)).map(ft => ft.name);\n // Start with any user overrides for the defaults.\n for (const name in ftNames) {\n if (name in this._defaultWidgetFactoryOverrides) {\n return this._widgetFactories[this._defaultWidgetFactoryOverrides[name]];\n }\n }\n // Find if a there is a default rendered factory for this type.\n for (const name in ftNames) {\n if (name in this._defaultRenderedWidgetFactories) {\n return this._widgetFactories[this._defaultRenderedWidgetFactories[name]];\n }\n }\n // Fallback to the default widget factory\n return this.defaultWidgetFactory(path);\n }\n /**\n * Get the default widget factory for a path.\n *\n * @param path - An optional file path to filter the results.\n *\n * @returns The default widget factory for an path.\n *\n * #### Notes\n * This is equivalent to the first value in [[preferredWidgetFactories]].\n */\n defaultWidgetFactory(path) {\n if (!path) {\n return this._widgetFactories[this._defaultWidgetFactory];\n }\n return this.preferredWidgetFactories(path)[0];\n }\n /**\n * Set overrides for the default widget factory for a file type.\n *\n * Normally, a widget factory informs the document registry which file types\n * it should be the default for using the `defaultFor` option in the\n * IWidgetFactoryOptions. This function can be used to override that after\n * the fact.\n *\n * @param fileType The name of the file type.\n *\n * @param factory The name of the factory.\n *\n * #### Notes\n * If `factory` is undefined, then any override will be unset, and the\n * default factory will revert to the original value.\n *\n * If `factory` or `fileType` are not known to the docregistry, or\n * if `factory` cannot open files of type `fileType`, this will throw\n * an error.\n */\n setDefaultWidgetFactory(fileType, factory) {\n fileType = fileType.toLowerCase();\n if (!this.getFileType(fileType)) {\n throw Error(`Cannot find file type ${fileType}`);\n }\n if (!factory) {\n if (this._defaultWidgetFactoryOverrides[fileType]) {\n delete this._defaultWidgetFactoryOverrides[fileType];\n }\n return;\n }\n if (!this.getWidgetFactory(factory)) {\n throw Error(`Cannot find widget factory ${factory}`);\n }\n factory = factory.toLowerCase();\n const factories = this._widgetFactoriesForFileType[fileType];\n if (factory !== this._defaultWidgetFactory &&\n !(factories && factories.includes(factory))) {\n throw Error(`Factory ${factory} cannot view file type ${fileType}`);\n }\n this._defaultWidgetFactoryOverrides[fileType] = factory;\n }\n /**\n * Create an iterator over the widget factories that have been registered.\n *\n * @returns A new iterator of widget factories.\n */\n *widgetFactories() {\n for (const name in this._widgetFactories) {\n yield this._widgetFactories[name];\n }\n }\n /**\n * Create an iterator over the model factories that have been registered.\n *\n * @returns A new iterator of model factories.\n */\n *modelFactories() {\n for (const name in this._modelFactories) {\n yield this._modelFactories[name];\n }\n }\n /**\n * Create an iterator over the registered extensions for a given widget.\n *\n * @param widgetName - The name of the widget factory.\n *\n * @returns A new iterator over the widget extensions.\n */\n *widgetExtensions(widgetName) {\n widgetName = widgetName.toLowerCase();\n if (widgetName in this._extenders) {\n for (const extension of this._extenders[widgetName]) {\n yield extension;\n }\n }\n }\n /**\n * Create an iterator over the file types that have been registered.\n *\n * @returns A new iterator of file types.\n */\n *fileTypes() {\n for (const type of this._fileTypes) {\n yield type;\n }\n }\n /**\n * Get a widget factory by name.\n *\n * @param widgetName - The name of the widget factory.\n *\n * @returns A widget factory instance.\n */\n getWidgetFactory(widgetName) {\n return this._widgetFactories[widgetName.toLowerCase()];\n }\n /**\n * Get a model factory by name.\n *\n * @param name - The name of the model factory.\n *\n * @returns A model factory instance.\n */\n getModelFactory(name) {\n return this._modelFactories[name.toLowerCase()];\n }\n /**\n * Get a file type by name.\n */\n getFileType(name) {\n name = name.toLowerCase();\n return (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.find)(this._fileTypes, fileType => {\n return fileType.name.toLowerCase() === name;\n });\n }\n /**\n * Get a kernel preference.\n *\n * @param path - The file path.\n *\n * @param widgetName - The name of the widget factory.\n *\n * @param kernel - An optional existing kernel model.\n *\n * @returns A kernel preference.\n */\n getKernelPreference(path, widgetName, kernel) {\n widgetName = widgetName.toLowerCase();\n const widgetFactory = this._widgetFactories[widgetName];\n if (!widgetFactory) {\n return void 0;\n }\n const modelFactory = this.getModelFactory(widgetFactory.modelName || 'text');\n if (!modelFactory) {\n return void 0;\n }\n const language = modelFactory.preferredLanguage(_jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(path));\n const name = kernel && kernel.name;\n const id = kernel && kernel.id;\n return {\n id,\n name,\n language,\n shouldStart: widgetFactory.preferKernel,\n canStart: widgetFactory.canStartKernel,\n shutdownOnDispose: widgetFactory.shutdownOnClose,\n autoStartDefault: widgetFactory.autoStartDefault\n };\n }\n /**\n * Get the best file type given a contents model.\n *\n * @param model - The contents model of interest.\n *\n * @returns The best matching file type.\n */\n getFileTypeForModel(model) {\n let ft = null;\n if (model.name || model.path) {\n const name = model.name || _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(model.path);\n const fts = this.getFileTypesForPath(name);\n if (fts.length > 0) {\n ft = fts[0];\n }\n }\n switch (model.type) {\n case 'directory':\n if (ft !== null && ft.contentType === 'directory') {\n return ft;\n }\n return ((0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.find)(this._fileTypes, ft => ft.contentType === 'directory') ||\n DocumentRegistry.getDefaultDirectoryFileType(this.translator));\n case 'notebook':\n if (ft !== null && ft.contentType === 'notebook') {\n return ft;\n }\n return ((0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.find)(this._fileTypes, ft => ft.contentType === 'notebook') ||\n DocumentRegistry.getDefaultNotebookFileType(this.translator));\n default:\n // Find the best matching extension.\n if (ft !== null) {\n return ft;\n }\n return (this.getFileType('text') ||\n DocumentRegistry.getDefaultTextFileType(this.translator));\n }\n }\n /**\n * Get the file types that match a file name.\n *\n * @param path - The path of the file.\n *\n * @returns An ordered list of matching file types.\n */\n getFileTypesForPath(path) {\n const fts = [];\n const name = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(path);\n // Look for a pattern match first.\n let ft = (0,_lumino_algorithm__WEBPACK_IMPORTED_MODULE_3__.find)(this._fileTypes, ft => {\n return !!(ft.pattern && name.match(ft.pattern) !== null);\n });\n if (ft) {\n fts.push(ft);\n }\n // Then look by extension name, starting with the longest\n let ext = Private.extname(name);\n while (ext.length > 1) {\n const ftSubset = this._fileTypes.filter(ft => \n // In Private.extname, the extension is transformed to lower case\n ft.extensions.map(extension => extension.toLowerCase()).includes(ext));\n fts.push(...ftSubset);\n ext = '.' + ext.split('.').slice(2).join('.');\n }\n return fts;\n }\n}\n/**\n * The namespace for the `DocumentRegistry` class statics.\n */\n(function (DocumentRegistry) {\n /**\n * The defaults used for a file type.\n *\n * @param translator - The application language translator.\n *\n * @returns The default file type.\n */\n function getFileTypeDefaults(translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n const trans = translator === null || translator === void 0 ? void 0 : translator.load('jupyterlab');\n return {\n name: 'default',\n displayName: trans.__('default'),\n extensions: [],\n mimeTypes: [],\n contentType: 'file',\n fileFormat: 'text'\n };\n }\n DocumentRegistry.getFileTypeDefaults = getFileTypeDefaults;\n /**\n * The default text file type used by the document registry.\n *\n * @param translator - The application language translator.\n *\n * @returns The default text file type.\n */\n function getDefaultTextFileType(translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n const trans = translator === null || translator === void 0 ? void 0 : translator.load('jupyterlab');\n const fileTypeDefaults = getFileTypeDefaults(translator);\n return {\n ...fileTypeDefaults,\n name: 'text',\n displayName: trans.__('Text'),\n mimeTypes: ['text/plain'],\n extensions: ['.txt'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.fileIcon\n };\n }\n DocumentRegistry.getDefaultTextFileType = getDefaultTextFileType;\n /**\n * The default notebook file type used by the document registry.\n *\n * @param translator - The application language translator.\n *\n * @returns The default notebook file type.\n */\n function getDefaultNotebookFileType(translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n const trans = translator === null || translator === void 0 ? void 0 : translator.load('jupyterlab');\n return {\n ...getFileTypeDefaults(translator),\n name: 'notebook',\n displayName: trans.__('Notebook'),\n mimeTypes: ['application/x-ipynb+json'],\n extensions: ['.ipynb'],\n contentType: 'notebook',\n fileFormat: 'json',\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.notebookIcon\n };\n }\n DocumentRegistry.getDefaultNotebookFileType = getDefaultNotebookFileType;\n /**\n * The default directory file type used by the document registry.\n *\n * @param translator - The application language translator.\n *\n * @returns The default directory file type.\n */\n function getDefaultDirectoryFileType(translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n const trans = translator === null || translator === void 0 ? void 0 : translator.load('jupyterlab');\n return {\n ...getFileTypeDefaults(translator),\n name: 'directory',\n displayName: trans.__('Directory'),\n extensions: [],\n mimeTypes: ['text/directory'],\n contentType: 'directory',\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.folderIcon\n };\n }\n DocumentRegistry.getDefaultDirectoryFileType = getDefaultDirectoryFileType;\n /**\n * The default file types used by the document registry.\n *\n * @param translator - The application language translator.\n *\n * @returns The default directory file types.\n */\n function getDefaultFileTypes(translator) {\n translator = translator || _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_1__.nullTranslator;\n const trans = translator === null || translator === void 0 ? void 0 : translator.load('jupyterlab');\n return [\n getDefaultTextFileType(translator),\n getDefaultNotebookFileType(translator),\n getDefaultDirectoryFileType(translator),\n {\n name: 'markdown',\n displayName: trans.__('Markdown File'),\n extensions: ['.md'],\n mimeTypes: ['text/markdown'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.markdownIcon\n },\n {\n name: 'PDF',\n displayName: trans.__('PDF File'),\n extensions: ['.pdf'],\n mimeTypes: ['application/pdf'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.pdfIcon\n },\n {\n name: 'python',\n displayName: trans.__('Python File'),\n extensions: ['.py'],\n mimeTypes: ['text/x-python'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.pythonIcon\n },\n {\n name: 'json',\n displayName: trans.__('JSON File'),\n extensions: ['.json'],\n mimeTypes: ['application/json'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.jsonIcon\n },\n {\n name: 'jsonl',\n displayName: trans.__('JSONLines File'),\n extensions: ['.jsonl', '.ndjson'],\n mimeTypes: [\n 'text/jsonl',\n 'application/jsonl',\n 'application/json-lines'\n ],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.jsonIcon\n },\n {\n name: 'julia',\n displayName: trans.__('Julia File'),\n extensions: ['.jl'],\n mimeTypes: ['text/x-julia'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.juliaIcon\n },\n {\n name: 'csv',\n displayName: trans.__('CSV File'),\n extensions: ['.csv'],\n mimeTypes: ['text/csv'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.spreadsheetIcon\n },\n {\n name: 'tsv',\n displayName: trans.__('TSV File'),\n extensions: ['.tsv'],\n mimeTypes: ['text/csv'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.spreadsheetIcon\n },\n {\n name: 'r',\n displayName: trans.__('R File'),\n mimeTypes: ['text/x-rsrc'],\n extensions: ['.R'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.rKernelIcon\n },\n {\n name: 'yaml',\n displayName: trans.__('YAML File'),\n mimeTypes: ['text/x-yaml', 'text/yaml'],\n extensions: ['.yaml', '.yml'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.yamlIcon\n },\n {\n name: 'svg',\n displayName: trans.__('Image'),\n mimeTypes: ['image/svg+xml'],\n extensions: ['.svg'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.imageIcon,\n fileFormat: 'base64'\n },\n {\n name: 'tiff',\n displayName: trans.__('Image'),\n mimeTypes: ['image/tiff'],\n extensions: ['.tif', '.tiff'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.imageIcon,\n fileFormat: 'base64'\n },\n {\n name: 'jpeg',\n displayName: trans.__('Image'),\n mimeTypes: ['image/jpeg'],\n extensions: ['.jpg', '.jpeg'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.imageIcon,\n fileFormat: 'base64'\n },\n {\n name: 'gif',\n displayName: trans.__('Image'),\n mimeTypes: ['image/gif'],\n extensions: ['.gif'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.imageIcon,\n fileFormat: 'base64'\n },\n {\n name: 'png',\n displayName: trans.__('Image'),\n mimeTypes: ['image/png'],\n extensions: ['.png'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.imageIcon,\n fileFormat: 'base64'\n },\n {\n name: 'bmp',\n displayName: trans.__('Image'),\n mimeTypes: ['image/bmp'],\n extensions: ['.bmp'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.imageIcon,\n fileFormat: 'base64'\n },\n {\n name: 'webp',\n displayName: trans.__('Image'),\n mimeTypes: ['image/webp'],\n extensions: ['.webp'],\n icon: _jupyterlab_ui_components__WEBPACK_IMPORTED_MODULE_2__.imageIcon,\n fileFormat: 'base64'\n }\n ];\n }\n DocumentRegistry.getDefaultFileTypes = getDefaultFileTypes;\n})(DocumentRegistry || (DocumentRegistry = {}));\n/**\n * A private namespace for DocumentRegistry data.\n */\nvar Private;\n(function (Private) {\n /**\n * Get the extension name of a path.\n *\n * @param path - string.\n *\n * #### Notes\n * Dotted filenames (e.g. `\".table.json\"` are allowed).\n */\n function extname(path) {\n const parts = _jupyterlab_coreutils__WEBPACK_IMPORTED_MODULE_0__.PathExt.basename(path).split('.');\n parts.shift();\n const ext = '.' + parts.join('.');\n return ext.toLowerCase();\n }\n Private.extname = extname;\n /**\n * A no-op function.\n */\n function noOp() {\n /* no-op */\n }\n Private.noOp = noOp;\n})(Private || (Private = {}));\n//# sourceMappingURL=registry.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docregistry/lib/registry.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/docregistry/style/index.js":
+/*!**************************************************************!*\
+ !*** ../node_modules/@jupyterlab/docregistry/style/index.js ***!
+ \**************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_ui_components_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/ui-components/style/index.js */ \"../node_modules/@jupyterlab/ui-components/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _base_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./base.css */ \"../node_modules/@jupyterlab/docregistry/style/base.css\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/docregistry/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/documentsearch-extension/lib/index.js":
+/*!*************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/documentsearch-extension/lib/index.js ***!
+ \*************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+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 _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @jupyterlab/application */ \"webpack/sharing/consume/default/@jupyterlab/application/@jupyterlab/application\");\n/* harmony import */ var _jupyterlab_application__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils */ \"webpack/sharing/consume/default/@jupyterlab/apputils/@jupyterlab/apputils\");\n/* harmony import */ var _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/documentsearch */ \"webpack/sharing/consume/default/@jupyterlab/documentsearch/@jupyterlab/documentsearch\");\n/* harmony import */ var _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/settingregistry */ \"webpack/sharing/consume/default/@jupyterlab/settingregistry/@jupyterlab/settingregistry\");\n/* harmony import */ var _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @jupyterlab/translation */ \"webpack/sharing/consume/default/@jupyterlab/translation/@jupyterlab/translation\");\n/* harmony import */ var _jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_5__);\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module documentsearch-extension\n */\n\n\n\n\n\n\n/**\n * Class added to widgets that can be searched (have a search provider).\n */\nconst SEARCHABLE_CLASS = 'jp-mod-searchable';\n/**\n * Class added to widgets with open search view (not necessarily focused).\n */\nconst SEARCH_ACTIVE_CLASS = 'jp-mod-search-active';\nvar CommandIDs;\n(function (CommandIDs) {\n /**\n * Start search in a document\n */\n CommandIDs.search = 'documentsearch:start';\n /**\n * Start search and replace in a document\n */\n CommandIDs.searchAndReplace = 'documentsearch:startWithReplace';\n /**\n * Find next search match\n */\n CommandIDs.findNext = 'documentsearch:highlightNext';\n /**\n * Find previous search match\n */\n CommandIDs.findPrevious = 'documentsearch:highlightPrevious';\n /**\n * End search in a document\n */\n CommandIDs.end = 'documentsearch:end';\n /**\n * Toggle search in selection\n */\n CommandIDs.toggleSearchInSelection = 'documentsearch:toggleSearchInSelection';\n})(CommandIDs || (CommandIDs = {}));\nconst labShellWidgetListener = {\n id: '@jupyterlab/documentsearch-extension:labShellWidgetListener',\n description: 'Active search on valid document',\n requires: [_jupyterlab_application__WEBPACK_IMPORTED_MODULE_0__.ILabShell, _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.ISearchProviderRegistry],\n autoStart: true,\n activate: (app, labShell, registry) => {\n // If a given widget is searchable, apply the searchable class.\n // If it's not searchable, remove the class.\n const transformWidgetSearchability = (widget) => {\n if (!widget) {\n return;\n }\n if (registry.hasProvider(widget)) {\n widget.addClass(SEARCHABLE_CLASS);\n }\n else {\n widget.removeClass(SEARCHABLE_CLASS);\n }\n };\n // Update searchability of the active widget when the registry\n // changes, in case a provider for the current widget was added\n // or removed\n registry.changed.connect(() => transformWidgetSearchability(labShell.activeWidget));\n // Apply the searchable class only to the active widget if it is actually\n // searchable. Remove the searchable class from a widget when it's\n // no longer active.\n labShell.activeChanged.connect((_, args) => {\n const oldWidget = args.oldValue;\n if (oldWidget) {\n oldWidget.removeClass(SEARCHABLE_CLASS);\n }\n transformWidgetSearchability(args.newValue);\n });\n }\n};\n/**\n * Exposes the current keybindings to search box view.\n */\nclass SearchKeyBindings {\n constructor(_commandRegistry) {\n this._commandRegistry = _commandRegistry;\n this._cache = this._buildCache();\n this._commandRegistry.keyBindingChanged.connect(this._rebuildCache, this);\n }\n get next() {\n return this._cache.next;\n }\n get previous() {\n return this._cache.previous;\n }\n get toggleSearchInSelection() {\n return this._cache.toggleSearchInSelection;\n }\n _rebuildCache() {\n this._cache = this._buildCache();\n }\n _buildCache() {\n const next = this._commandRegistry.keyBindings.find(binding => binding.command === CommandIDs.findNext);\n const previous = this._commandRegistry.keyBindings.find(binding => binding.command === CommandIDs.findPrevious);\n const toggleSearchInSelection = this._commandRegistry.keyBindings.find(binding => binding.command === CommandIDs.toggleSearchInSelection);\n return {\n next,\n previous,\n toggleSearchInSelection\n };\n }\n dispose() {\n this._commandRegistry.keyBindingChanged.disconnect(this._rebuildCache, this);\n }\n}\n/**\n * Initialization data for the document-search extension.\n */\nconst extension = {\n id: '@jupyterlab/documentsearch-extension:plugin',\n description: 'Provides the document search registry.',\n provides: _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.ISearchProviderRegistry,\n requires: [_jupyterlab_translation__WEBPACK_IMPORTED_MODULE_4__.ITranslator],\n optional: [_jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.ICommandPalette, _jupyterlab_settingregistry__WEBPACK_IMPORTED_MODULE_3__.ISettingRegistry],\n autoStart: true,\n activate: (app, translator, palette, settingRegistry) => {\n var _a;\n const trans = translator.load('jupyterlab');\n let searchDebounceTime = 500;\n let autoSearchInSelection = 'never';\n // Create registry\n const registry = new _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.SearchProviderRegistry(translator);\n const searchViews = new Map();\n if (settingRegistry) {\n const loadSettings = settingRegistry.load(extension.id);\n const updateSettings = (settings) => {\n searchDebounceTime = settings.get('searchDebounceTime')\n .composite;\n autoSearchInSelection = settings.get('autoSearchInSelection')\n .composite;\n };\n Promise.all([loadSettings, app.restored])\n .then(([settings]) => {\n updateSettings(settings);\n settings.changed.connect(settings => {\n updateSettings(settings);\n });\n })\n .catch((reason) => {\n console.error(reason.message);\n });\n }\n const isEnabled = () => {\n const widget = app.shell.currentWidget;\n if (!widget) {\n return false;\n }\n return registry.hasProvider(widget);\n };\n const getSearchWidget = (widget) => {\n if (!widget) {\n return;\n }\n const widgetId = widget.id;\n let searchView = searchViews.get(widgetId);\n if (!searchView) {\n const searchProvider = registry.getProvider(widget);\n if (!searchProvider) {\n return;\n }\n const searchModel = new _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.SearchDocumentModel(searchProvider, searchDebounceTime);\n const keyBingingsInfo = new SearchKeyBindings(app.commands);\n const newView = new _jupyterlab_documentsearch__WEBPACK_IMPORTED_MODULE_2__.SearchDocumentView(searchModel, translator, keyBingingsInfo);\n searchViews.set(widgetId, newView);\n // find next, previous and end are now enabled\n [\n CommandIDs.findNext,\n CommandIDs.findPrevious,\n CommandIDs.end,\n CommandIDs.toggleSearchInSelection\n ].forEach(id => {\n app.commands.notifyCommandChanged(id);\n });\n /**\n * Activate the target widget when the search panel is closing\n */\n newView.closed.connect(() => {\n if (!widget.isDisposed) {\n widget.activate();\n widget.removeClass(SEARCH_ACTIVE_CLASS);\n }\n });\n /**\n * Remove from mapping when the search view is disposed.\n */\n newView.disposed.connect(() => {\n if (!widget.isDisposed) {\n widget.activate();\n widget.removeClass(SEARCH_ACTIVE_CLASS);\n }\n searchViews.delete(widgetId);\n // find next, previous and end are now disabled\n [\n CommandIDs.findNext,\n CommandIDs.findPrevious,\n CommandIDs.end,\n CommandIDs.toggleSearchInSelection\n ].forEach(id => {\n app.commands.notifyCommandChanged(id);\n });\n });\n /**\n * Dispose resources when the widget is disposed.\n */\n widget.disposed.connect(() => {\n newView.dispose();\n searchModel.dispose();\n searchProvider.dispose();\n keyBingingsInfo.dispose();\n });\n searchView = newView;\n }\n if (!searchView.isAttached) {\n _lumino_widgets__WEBPACK_IMPORTED_MODULE_5__.Widget.attach(searchView, widget.node);\n widget.addClass(SEARCH_ACTIVE_CLASS);\n if (widget instanceof _jupyterlab_apputils__WEBPACK_IMPORTED_MODULE_1__.MainAreaWidget) {\n // Offset the position of the search widget to not cover the toolbar nor the content header.\n // TODO this does not update once the search widget is displayed.\n searchView.node.style.top = `${widget.toolbar.node.getBoundingClientRect().height +\n widget.contentHeader.node.getBoundingClientRect().height}px`;\n }\n if (searchView.model.searchExpression) {\n searchView.model.refresh();\n }\n }\n return searchView;\n };\n app.commands.addCommand(CommandIDs.search, {\n label: trans.__('Find…'),\n isEnabled: isEnabled,\n execute: async (args) => {\n const searchWidget = getSearchWidget(app.shell.currentWidget);\n if (searchWidget) {\n const searchText = args['searchText'];\n if (searchText) {\n searchWidget.setSearchText(searchText);\n }\n else {\n searchWidget.setSearchText(searchWidget.model.suggestedInitialQuery);\n }\n const selectionState = searchWidget.model.selectionState;\n let enableSelectionMode = false;\n switch (autoSearchInSelection) {\n case 'multiple-selected':\n enableSelectionMode = selectionState === 'multiple';\n break;\n case 'any-selected':\n enableSelectionMode =\n selectionState === 'multiple' || selectionState === 'single';\n break;\n case 'never':\n // no-op\n break;\n }\n if (enableSelectionMode) {\n await searchWidget.model.setFilter('selection', true);\n }\n searchWidget.focusSearchInput();\n }\n }\n });\n app.commands.addCommand(CommandIDs.searchAndReplace, {\n label: trans.__('Find and Replace…'),\n isEnabled: isEnabled,\n execute: args => {\n const searchWidget = getSearchWidget(app.shell.currentWidget);\n if (searchWidget) {\n const searchText = args['searchText'];\n if (searchText) {\n searchWidget.setSearchText(searchText);\n }\n else {\n searchWidget.setSearchText(searchWidget.model.suggestedInitialQuery);\n }\n const replaceText = args['replaceText'];\n if (replaceText) {\n searchWidget.setReplaceText(replaceText);\n }\n searchWidget.showReplace();\n searchWidget.focusSearchInput();\n }\n }\n });\n app.commands.addCommand(CommandIDs.findNext, {\n label: trans.__('Find Next'),\n isEnabled: () => !!app.shell.currentWidget &&\n searchViews.has(app.shell.currentWidget.id),\n execute: async () => {\n var _a;\n const currentWidget = app.shell.currentWidget;\n if (!currentWidget) {\n return;\n }\n await ((_a = searchViews.get(currentWidget.id)) === null || _a === void 0 ? void 0 : _a.model.highlightNext());\n }\n });\n app.commands.addCommand(CommandIDs.findPrevious, {\n label: trans.__('Find Previous'),\n isEnabled: () => !!app.shell.currentWidget &&\n searchViews.has(app.shell.currentWidget.id),\n execute: async () => {\n var _a;\n const currentWidget = app.shell.currentWidget;\n if (!currentWidget) {\n return;\n }\n await ((_a = searchViews.get(currentWidget.id)) === null || _a === void 0 ? void 0 : _a.model.highlightPrevious());\n }\n });\n app.commands.addCommand(CommandIDs.end, {\n label: trans.__('End Search'),\n isEnabled: () => !!app.shell.currentWidget &&\n searchViews.has(app.shell.currentWidget.id),\n execute: async () => {\n var _a;\n const currentWidget = app.shell.currentWidget;\n if (!currentWidget) {\n return;\n }\n (_a = searchViews.get(currentWidget.id)) === null || _a === void 0 ? void 0 : _a.close();\n }\n });\n app.commands.addCommand(CommandIDs.toggleSearchInSelection, {\n label: trans.__('Search in Selection'),\n isEnabled: () => !!app.shell.currentWidget &&\n searchViews.has(app.shell.currentWidget.id) &&\n 'selection' in\n searchViews.get(app.shell.currentWidget.id).model.filtersDefinition,\n execute: async () => {\n var _a;\n const currentWidget = app.shell.currentWidget;\n if (!currentWidget) {\n return;\n }\n const model = (_a = searchViews.get(currentWidget.id)) === null || _a === void 0 ? void 0 : _a.model;\n if (!model) {\n return;\n }\n const currentValue = model.filters['selection'];\n return model.setFilter('selection', !currentValue);\n }\n });\n (_a = app.shell.currentChanged) === null || _a === void 0 ? void 0 : _a.connect(() => {\n Object.values(CommandIDs).forEach(cmd => {\n app.commands.notifyCommandChanged(cmd);\n });\n });\n // Add the command to the palette.\n if (palette) {\n [\n CommandIDs.search,\n CommandIDs.findNext,\n CommandIDs.findPrevious,\n CommandIDs.end,\n CommandIDs.toggleSearchInSelection\n ].forEach(command => {\n palette.addItem({\n command,\n category: trans.__('Main Area')\n });\n });\n }\n // Provide the registry to the system.\n return registry;\n }\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([extension, labShellWidgetListener]);\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/documentsearch-extension/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/documentsearch-extension/style/index.js":
+/*!***************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/documentsearch-extension/style/index.js ***!
+ \***************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lumino_widgets_style_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets/style/index.js */ \"../node_modules/@lumino/widgets/style/index.js\");\n/* harmony import */ var _jupyterlab_apputils_style_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @jupyterlab/apputils/style/index.js */ \"../node_modules/@jupyterlab/apputils/style/index.js\");\n/* harmony import */ var _jupyterlab_application_style_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @jupyterlab/application/style/index.js */ \"../node_modules/@jupyterlab/application/style/index.js\");\n/* harmony import */ var _jupyterlab_documentsearch_style_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @jupyterlab/documentsearch/style/index.js */ \"../node_modules/@jupyterlab/documentsearch/style/index.js\");\n/*-----------------------------------------------------------------------------\n| Copyright (c) Jupyter Development Team.\n| Distributed under the terms of the Modified BSD License.\n|----------------------------------------------------------------------------*/\n\n/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */\n\n\n\n\n\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/documentsearch-extension/style/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/documentsearch/lib/index.js":
+/*!***************************************************************!*\
+ !*** ../node_modules/@jupyterlab/documentsearch/lib/index.js ***!
+ \***************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FOUND_CLASSES: () => (/* reexport safe */ _providers_genericsearchprovider__WEBPACK_IMPORTED_MODULE_0__.FOUND_CLASSES),\n/* harmony export */ GenericSearchProvider: () => (/* reexport safe */ _providers_genericsearchprovider__WEBPACK_IMPORTED_MODULE_0__.GenericSearchProvider),\n/* harmony export */ HTMLSearchEngine: () => (/* reexport safe */ _providers_genericsearchprovider__WEBPACK_IMPORTED_MODULE_0__.HTMLSearchEngine),\n/* harmony export */ ISearchProviderRegistry: () => (/* reexport safe */ _tokens__WEBPACK_IMPORTED_MODULE_6__.ISearchProviderRegistry),\n/* harmony export */ SearchDocumentModel: () => (/* reexport safe */ _searchmodel__WEBPACK_IMPORTED_MODULE_2__.SearchDocumentModel),\n/* harmony export */ SearchDocumentView: () => (/* reexport safe */ _searchview__WEBPACK_IMPORTED_MODULE_3__.SearchDocumentView),\n/* harmony export */ SearchProvider: () => (/* reexport safe */ _searchprovider__WEBPACK_IMPORTED_MODULE_4__.SearchProvider),\n/* harmony export */ SearchProviderRegistry: () => (/* reexport safe */ _searchproviderregistry__WEBPACK_IMPORTED_MODULE_5__.SearchProviderRegistry),\n/* harmony export */ TextSearchEngine: () => (/* reexport safe */ _providers_textprovider__WEBPACK_IMPORTED_MODULE_1__.TextSearchEngine)\n/* harmony export */ });\n/* harmony import */ var _providers_genericsearchprovider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./providers/genericsearchprovider */ \"../node_modules/@jupyterlab/documentsearch/lib/providers/genericsearchprovider.js\");\n/* harmony import */ var _providers_textprovider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./providers/textprovider */ \"../node_modules/@jupyterlab/documentsearch/lib/providers/textprovider.js\");\n/* harmony import */ var _searchmodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./searchmodel */ \"../node_modules/@jupyterlab/documentsearch/lib/searchmodel.js\");\n/* harmony import */ var _searchview__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./searchview */ \"../node_modules/@jupyterlab/documentsearch/lib/searchview.js\");\n/* harmony import */ var _searchprovider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./searchprovider */ \"../node_modules/@jupyterlab/documentsearch/lib/searchprovider.js\");\n/* harmony import */ var _searchproviderregistry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./searchproviderregistry */ \"../node_modules/@jupyterlab/documentsearch/lib/searchproviderregistry.js\");\n/* harmony import */ var _tokens__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./tokens */ \"../node_modules/@jupyterlab/documentsearch/lib/tokens.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n/**\n * @packageDocumentation\n * @module documentsearch\n */\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://_JUPYTERLAB.CORE_OUTPUT/../node_modules/@jupyterlab/documentsearch/lib/index.js?");
+
+/***/ }),
+
+/***/ "../node_modules/@jupyterlab/documentsearch/lib/providers/genericsearchprovider.js":
+/*!*****************************************************************************************!*\
+ !*** ../node_modules/@jupyterlab/documentsearch/lib/providers/genericsearchprovider.js ***!
+ \*****************************************************************************************/
+/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
+
+"use strict";
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FOUND_CLASSES: () => (/* binding */ FOUND_CLASSES),\n/* harmony export */ GenericSearchProvider: () => (/* binding */ GenericSearchProvider),\n/* harmony export */ HTMLSearchEngine: () => (/* binding */ HTMLSearchEngine)\n/* harmony export */ });\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @lumino/widgets */ \"webpack/sharing/consume/default/@lumino/widgets/@lumino/widgets\");\n/* harmony import */ var _lumino_widgets__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_lumino_widgets__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _searchprovider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../searchprovider */ \"../node_modules/@jupyterlab/documentsearch/lib/searchprovider.js\");\n// Copyright (c) Jupyter Development Team.\n// Distributed under the terms of the Modified BSD License.\n\n\nconst FOUND_CLASSES = ['cm-string', 'cm-overlay', 'cm-searching'];\nconst SELECTED_CLASSES = ['CodeMirror-selectedtext'];\n/**\n * HTML search engine\n */\nclass HTMLSearchEngine {\n /**\n * Search for a `query` in a DOM tree.\n *\n * @param query Regular expression to search\n * @param rootNode DOM root node to search in\n * @returns The list of matches\n */\n static search(query, rootNode) {\n if (!(rootNode instanceof Node)) {\n console.warn('Unable to search with HTMLSearchEngine the provided object.', rootNode);\n return Promise.resolve([]);\n }\n if (!query.global) {\n query = new RegExp(query.source, query.flags + 'g');\n }\n const matches = [];\n const walker = document.createTreeWalker(rootNode, NodeFilter.SHOW_TEXT, {\n acceptNode: node => {\n // Filter subtrees of UNSUPPORTED_ELEMENTS and nodes that\n // do not contain our search text\n let parentElement = node.parentElement;\n while (parentElement !== rootNode) {\n if (parentElement.nodeName in HTMLSearchEngine.UNSUPPORTED_ELEMENTS) {\n return NodeFilter.FILTER_REJECT;\n }\n parentElement = parentElement.parentElement;\n }\n return query.test(node.textContent)\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_REJECT;\n }\n });\n let node = null;\n while ((node = walker.nextNode()) !== null) {\n // Reset query index\n query.lastIndex = 0;\n let match = null;\n while ((match = query.exec(node.textContent)) !== null) {\n matches.push({\n text: match[0],\n position: match.index,\n node: node\n });\n }\n }\n return Promise.resolve(matches);\n }\n}\n/**\n * We choose opt out as most node types should be searched (e.g. script).\n * Even nodes like , could have textContent we care about.\n *\n * Note:\n * We will be checking each node's nodeName attribute in the Node interface.\n * ref: https://dom.spec.whatwg.org/#dom-node-nodename\n *\n * Specifically for Element nodes, where nodeName is stated as the\n * 'HTML-uppercased qualified name'. However, that does not mean that HTML\n * elements qualified name is guaranteed to be uppercased even when the\n * content type is HTML, i.e. XML tags like |