/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./configuration/constants.js":
/*!************************************!*\
!*** ./configuration/constants.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 default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n classes: {\n wrapper: '__paged-toggle',\n toggle: '__paged-toggle',\n overlay: '__paged-overlay',\n input: '__paged-input',\n account: '__paged-account',\n alert: '__paged-alert',\n mask: '__paged-reading-mask',\n reader: '__paged-screen_reader'\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWd1cmF0aW9uL2NvbnN0YW50cy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsaUVBQWU7RUFDYkEsT0FBTyxFQUFFO0lBQ1BDLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekJDLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEJDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUJDLEtBQUssRUFBRSxlQUFlO0lBQ3RCQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCQyxLQUFLLEVBQUUsZUFBZTtJQUN0QkMsSUFBSSxFQUFFLHNCQUFzQjtJQUM1QkMsTUFBTSxFQUFFO0VBQ1Y7QUFDRixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vY29uZmlndXJhdGlvbi9jb25zdGFudHMuanM/NTMwYiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XG4gIGNsYXNzZXM6IHtcbiAgICB3cmFwcGVyOiAnX19wYWdlZC10b2dnbGUnLFxuICAgIHRvZ2dsZTogJ19fcGFnZWQtdG9nZ2xlJyxcbiAgICBvdmVybGF5OiAnX19wYWdlZC1vdmVybGF5JyxcbiAgICBpbnB1dDogJ19fcGFnZWQtaW5wdXQnLFxuICAgIGFjY291bnQ6ICdfX3BhZ2VkLWFjY291bnQnLFxuICAgIGFsZXJ0OiAnX19wYWdlZC1hbGVydCcsXG4gICAgbWFzazogJ19fcGFnZWQtcmVhZGluZy1tYXNrJyxcbiAgICByZWFkZXI6ICdfX3BhZ2VkLXNjcmVlbl9yZWFkZXInXG4gIH0sXG59O1xuIl0sIm5hbWVzIjpbImNsYXNzZXMiLCJ3cmFwcGVyIiwidG9nZ2xlIiwib3ZlcmxheSIsImlucHV0IiwiYWNjb3VudCIsImFsZXJ0IiwibWFzayIsInJlYWRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./configuration/constants.js\n");
/***/ }),
/***/ "./src/app.js":
/*!********************!*\
!*** ./src/app.js ***!
\********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/dom */ \"./src/utils/dom.js\");\n/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./style */ \"./src/style.js\");\n/* harmony import */ var _configuration_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../configuration/constants */ \"./configuration/constants.js\");\n/* harmony import */ var _components_toggle___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/toggle/ */ \"./src/components/toggle/index.js\");\n/* harmony import */ var _components_overlay___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/overlay/ */ \"./src/components/overlay/index.js\");\n/* harmony import */ var _components_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/store */ \"./src/components/store/index.js\");\n/* harmony import */ var _components_translation__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/translation */ \"./src/components/translation/index.js\");\n/* harmony import */ var _components_overlay_components_mask__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/overlay/components/mask */ \"./src/components/overlay/components/mask/index.js\");\n/* harmony import */ var _components_overlay_components_reader___WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/overlay/components/reader/ */ \"./src/components/overlay/components/reader/index.js\");\n\n\n\n\n\n\n\n\n\nlet Loaded = false;\nwindow.onload = () => {\n if (!isInElementorEditMode()) init();\n};\nconst isInElementorEditMode = () => {\n const searchParams = new URLSearchParams(window.location.search);\n return searchParams.has('elementor-preview');\n\n //return window.location.href.indexOf('action=elementor') > -1;\n};\nconst checkInitted = setInterval(() => {\n if (!Loaded) {\n if (!isInElementorEditMode()) init();\n } else {\n clearInterval(checkInitted);\n }\n}, 1000);\nlet position = 'right';\nlet color = '#222D39';\nlet account = true;\nlet language = 'DE';\n\n/* DYNAMIC VARS */\nposition='right'\n// {{COLOR}}\n// {{ACCOUNT}}\n// {{LANGUAGE}}\n\nconst init = () => {\n if (!document) {\n return;\n }\n _utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createElement({\n tag: 'style',\n appendTo: document.head,\n innerHTML: _style__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n });\n const toggle = _utils_dom__WEBPACK_IMPORTED_MODULE_0__[\"default\"].selectElement(`.${_configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.toggle}`);\n if (!toggle) {\n const tIns = new _components_toggle___WEBPACK_IMPORTED_MODULE_3__[\"default\"](position, color);\n window.pagedToggle = tIns;\n const sIns = new _components_store__WEBPACK_IMPORTED_MODULE_5__[\"default\"]();\n const translateIns = new _components_translation__WEBPACK_IMPORTED_MODULE_6__[\"default\"](language);\n const maskIns = new _components_overlay_components_mask__WEBPACK_IMPORTED_MODULE_7__[\"default\"]();\n const readerIns = new _components_overlay_components_reader___WEBPACK_IMPORTED_MODULE_8__[\"default\"]();\n const oIns = new _components_overlay___WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n toggle: tIns,\n store: sIns,\n translation: translateIns,\n model: sIns.get('config') ? JSON.parse(sIns.get('config')) : {},\n position,\n color,\n account,\n mask: maskIns,\n reader: readerIns\n });\n tIns._root.addEventListener('onClick', () => oIns.open = tIns.open);\n Loaded = true;\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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cyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL2FwcC5qcz8xMTEyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb20gZnJvbSAnLi91dGlscy9kb20nO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vc3R5bGUnO1xuaW1wb3J0IGVudiBmcm9tICcuLi9jb25maWd1cmF0aW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgVG9nZ2xlIGZyb20gJy4vY29tcG9uZW50cy90b2dnbGUvJztcbmltcG9ydCBPdmVybGF5IGZyb20gJy4vY29tcG9uZW50cy9vdmVybGF5Lyc7XG5pbXBvcnQgU3RvcmUgZnJvbSAnLi9jb21wb25lbnRzL3N0b3JlJztcbmltcG9ydCBUcmFuc2xhdGUgZnJvbSAnLi9jb21wb25lbnRzL3RyYW5zbGF0aW9uJztcbmltcG9ydCBNYXNrIGZyb20gJy4vY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWFzayc7XG5pbXBvcnQgUmVhZGVyIGZyb20gJy4vY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvcmVhZGVyLyc7XG5sZXQgTG9hZGVkID0gZmFsc2U7XG5cbndpbmRvdy5vbmxvYWQgPSAoKSA9PiB7XG4gIGlmKCFpc0luRWxlbWVudG9yRWRpdE1vZGUoKSlcbiAgICBpbml0KCk7XG59XG5cbmNvbnN0IGlzSW5FbGVtZW50b3JFZGl0TW9kZSA9ICgpID0+IHtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbiAgcmV0dXJuIHNlYXJjaFBhcmFtcy5oYXMoJ2VsZW1lbnRvci1wcmV2aWV3Jyk7XG5cbiAgLy9yZXR1cm4gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZignYWN0aW9uPWVsZW1lbnRvcicpID4gLTE7XG59XG5cbmNvbnN0IGNoZWNrSW5pdHRlZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgaWYgKCFMb2FkZWQpIHtcbiAgICBpZighaXNJbkVsZW1lbnRvckVkaXRNb2RlKCkpXG4gICAgICBpbml0KCk7XG4gIH0gZWxzZSB7XG4gICAgY2xlYXJJbnRlcnZhbChjaGVja0luaXR0ZWQpO1xuICB9XG59LCAxMDAwKTtcblxubGV0IHBvc2l0aW9uID0gJ3JpZ2h0JztcbmxldCBjb2xvciA9ICcjMjIyRDM5JztcbmxldCBhY2NvdW50ID0gdHJ1ZTtcbmxldCBsYW5ndWFnZSA9ICdERSc7XG5cbi8qIERZTkFNSUMgVkFSUyAqL1xuLy8ge3tQT1NJVElPTn19XG4vLyB7e0NPTE9SfX1cbi8vIHt7QUNDT1VOVH19XG4vLyB7e0xBTkdVQUdFfX1cblxuY29uc3QgaW5pdCA9ICgpID0+IHtcbiAgaWYgKCFkb2N1bWVudCkge1xuICAgIHJldHVybjtcbiAgfVxuICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgdGFnOiAnc3R5bGUnLFxuICAgIGFwcGVuZFRvOiBkb2N1bWVudC5oZWFkLFxuICAgIGlubmVySFRNTDogc3R5bGUsXG4gIH0pO1xuICBjb25zdCB0b2dnbGUgPSBkb20uc2VsZWN0RWxlbWVudChgLiR7ZW52LmNsYXNzZXMudG9nZ2xlfWApO1xuICBcbiAgaWYgKCF0b2dnbGUpIHtcbiAgICBjb25zdCB0SW5zID0gbmV3IFRvZ2dsZShwb3NpdGlvbiwgY29sb3IpO1xuICAgIHdpbmRvdy5wYWdlZFRvZ2dsZSA9IHRJbnM7XG4gICAgY29uc3Qgc0lucyA9IG5ldyBTdG9yZSgpO1xuICAgIGNvbnN0IHRyYW5zbGF0ZUlucyA9IG5ldyBUcmFuc2xhdGUobGFuZ3VhZ2UpO1xuICAgIGNvbnN0IG1hc2tJbnMgPSBuZXcgTWFzaygpO1xuICAgIGNvbnN0IHJlYWRlcklucyA9IG5ldyBSZWFkZXIoKTtcbiAgICBjb25zdCBvSW5zID0gbmV3IE92ZXJsYXkoe1xuICAgICAgdG9nZ2xlOiB0SW5zLFxuICAgICAgc3RvcmU6IHNJbnMsXG4gICAgICB0cmFuc2xhdGlvbjogdHJhbnNsYXRlSW5zLFxuICAgICAgbW9kZWw6IHNJbnMuZ2V0KCdjb25maWcnKSA/IEpTT04ucGFyc2Uoc0lucy5nZXQoJ2NvbmZpZycpKSA6IHt9LFxuICAgICAgcG9zaXRpb24sXG4gICAgICBjb2xvcixcbiAgICAgIGFjY291bnQsXG4gICAgICBtYXNrOiBtYXNrSW5zLFxuICAgICAgcmVhZGVyOiByZWFkZXJJbnMsXG4gICAgfSk7XG4gICAgdElucy5fcm9vdC5hZGRFdmVudExpc3RlbmVyKCdvbkNsaWNrJywgKCkgPT4gb0lucy5vcGVuID0gdElucy5vcGVuKTtcbiAgICBMb2FkZWQgPSB0cnVlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiZG9tIiwic3R5bGUiLCJlbnYiLCJUb2dnbGUiLCJPdmVybGF5IiwiU3RvcmUiLCJUcmFuc2xhdGUiLCJNYXNrIiwiUmVhZGVyIiwiTG9hZGVkIiwid2luZG93Iiwib25sb2FkIiwiaXNJbkVsZW1lbnRvckVkaXRNb2RlIiwiaW5pdCIsInNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiaGFzIiwiY2hlY2tJbml0dGVkIiwic2V0SW50ZXJ2YWwiLCJjbGVhckludGVydmFsIiwicG9zaXRpb24iLCJjb2xvciIsImFjY291bnQiLCJsYW5ndWFnZSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInRhZyIsImFwcGVuZFRvIiwiaGVhZCIsImlubmVySFRNTCIsInRvZ2dsZSIsInNlbGVjdEVsZW1lbnQiLCJjbGFzc2VzIiwidElucyIsInBhZ2VkVG9nZ2xlIiwic0lucyIsInRyYW5zbGF0ZUlucyIsIm1hc2tJbnMiLCJyZWFkZXJJbnMiLCJvSW5zIiwic3RvcmUiLCJ0cmFuc2xhdGlvbiIsIm1vZGVsIiwiZ2V0IiwiSlNPTiIsInBhcnNlIiwibWFzayIsInJlYWRlciIsIl9yb290IiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9wZW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/app.js\n");
/***/ }),
/***/ "./src/components/fetch/index.js":
/*!***************************************!*\
!*** ./src/components/fetch/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 */ Fetch: () => (/* binding */ Fetch)\n/* harmony export */ });\nclass Fetch {\n static fixUrl(url) {\n return false ? 0 : `http://localhost:3000${url}`;\n }\n static get(url, options) {\n return fetch(Fetch.fixUrl(url), {\n method: 'GET',\n ...options\n });\n }\n static post(url, options) {\n return fetch(Fetch.fixUrl(url), {\n method: 'POST',\n ...options\n });\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9mZXRjaC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU8sTUFBTUEsS0FBSyxDQUFDO0VBQ2pCLE9BQU9DLE1BQU1BLENBQUNDLEdBQUcsRUFBRTtJQUNqQixPQUFPQyxNQUFvQixHQUN2QixDQUF3QixHQUN4Qix3QkFBd0JELEdBQUcsRUFBRTtFQUNuQztFQUVBLE9BQU9FLEdBQUdBLENBQUNGLEdBQUcsRUFBRUcsT0FBTyxFQUFFO0lBQ3ZCLE9BQU9DLEtBQUssQ0FBQ04sS0FBSyxDQUFDQyxNQUFNLENBQUNDLEdBQUcsQ0FBQyxFQUFFO01BQzlCSyxNQUFNLEVBQUUsS0FBSztNQUNiLEdBQUdGO0lBQ0wsQ0FBQyxDQUFDO0VBQ0o7RUFFQSxPQUFPRyxJQUFJQSxDQUFDTixHQUFHLEVBQUVHLE9BQU8sRUFBRTtJQUN4QixPQUFPQyxLQUFLLENBQUNOLEtBQUssQ0FBQ0MsTUFBTSxDQUFDQyxHQUFHLENBQUMsRUFBRTtNQUM5QkssTUFBTSxFQUFFLE1BQU07TUFDZCxHQUFHRjtJQUNMLENBQUMsQ0FBQztFQUNKO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aWRnZXQvLi9zcmMvY29tcG9uZW50cy9mZXRjaC9pbmRleC5qcz9kN2MyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGZXRjaCB7XG4gIHN0YXRpYyBmaXhVcmwodXJsKSB7XG4gICAgcmV0dXJuIFBBR0VEX0VOViA9PT0gJ3Byb2QnXG4gICAgICA/IGBodHRwczovL3BhZ2VkLmFpJHt1cmx9YFxuICAgICAgOiBgaHR0cDovL2xvY2FsaG9zdDozMDAwJHt1cmx9YDtcbiAgfVxuXG4gIHN0YXRpYyBnZXQodXJsLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGZldGNoKEZldGNoLmZpeFVybCh1cmwpLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwb3N0KHVybCwgb3B0aW9ucykge1xuICAgIHJldHVybiBmZXRjaChGZXRjaC5maXhVcmwodXJsKSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRmV0Y2giLCJmaXhVcmwiLCJ1cmwiLCJQQUdFRF9FTlYiLCJnZXQiLCJvcHRpb25zIiwiZmV0Y2giLCJtZXRob2QiLCJwb3N0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/fetch/index.js\n");
/***/ }),
/***/ "./src/components/icons.js":
/*!*********************************!*\
!*** ./src/components/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 */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst icons = {\n eye: ``,\n revert: ``,\n cancel: ``,\n minus: ``,\n plus: ``,\n profile: ``,\n arrow: ``,\n paged: ``,\n accessibility: ``,\n logoBlack: ``,\n play: ``,\n pause: ``,\n forward: ``,\n backward: ``,\n settings: `\n `\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (icons);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9pY29ucy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTUEsS0FBSyxHQUFHO0VBQ1pDLEdBQUcsRUFBRSxnWEFBZ1g7RUFDclhDLE1BQU0sRUFBRSwrUUFBK1E7RUFDdlJDLE1BQU0sRUFBRSx5VkFBeVY7RUFDaldDLEtBQUssRUFBRSw0UEFBNFA7RUFDblFDLElBQUksRUFBRSw4UUFBOFE7RUFDcFJDLE9BQU8sRUFBRSxxWkFBcVo7RUFDOVpDLEtBQUssRUFBRTtBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0VBQ2ZDLEtBQUssRUFBRTtBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87RUFDTEMsYUFBYSxFQUFFLHlUQUF5VDtFQUN4VUMsU0FBUyxFQUFFO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7RUFDUEMsSUFBSSxFQUFFO0FBQ1I7QUFDQTtBQUNBLFNBQVM7RUFDUEMsS0FBSyxFQUFFO0FBQ1Q7QUFDQSxTQUFTO0VBQ1BDLE9BQU8sRUFBRTtBQUNYO0FBQ0EsU0FBUztFQUNQQyxRQUFRLEVBQUU7QUFDWjtBQUNBLFNBQVM7RUFDUEMsUUFBUSxFQUFFO0FBQ1o7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGlFQUFlZixLQUFLIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvaWNvbnMuanM/ZDc0MCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBpY29ucyA9IHtcbiAgZXllOiBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI2ZmZmZmZlwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xMiA0LjVDNyA0LjUgMi43MyA3LjYxIDEgMTJjMS43MyA0LjM5IDYgNy41IDExIDcuNXM5LjI3LTMuMTEgMTEtNy41Yy0xLjczLTQuMzktNi03LjUtMTEtNy41ek0xMiAxN2MtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6bTAtOGMtMS42NiAwLTMgMS4zNC0zIDNzMS4zNCAzIDMgMyAzLTEuMzQgMy0zLTEuMzQtMy0zLTN6XCIvPjwvc3ZnPmAsXG4gIHJldmVydDogYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cInZhcigtLXBhZ2VkLWNvbG9yKVwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xMiA1VjFMNyA2bDUgNVY3YzMuMzEgMCA2IDIuNjkgNiA2cy0yLjY5IDYtNiA2LTYtMi42OS02LTZINGMwIDQuNDIgMy41OCA4IDggOHM4LTMuNTggOC04LTMuNTgtOC04LTh6XCIvPjwvc3ZnPmAsXG4gIGNhbmNlbDogYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cInZhcigtLXBhZ2VkLWNvbG9yKVwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xMiAyQzYuNDcgMiAyIDYuNDcgMiAxMnM0LjQ3IDEwIDEwIDEwIDEwLTQuNDcgMTAtMTBTMTcuNTMgMiAxMiAyem01IDEzLjU5TDE1LjU5IDE3IDEyIDEzLjQxIDguNDEgMTcgNyAxNS41OSAxMC41OSAxMiA3IDguNDEgOC40MSA3IDEyIDEwLjU5IDE1LjU5IDcgMTcgOC40MSAxMy40MSAxMiAxNyAxNS41OXpcIi8+PC9zdmc+YCxcbiAgbWludXM6IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjBweFwiIGZpbGw9XCJ2YXIoLS1wYWdlZC1jb2xvcilcIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptNSAxMUg3di0yaDEwdjJ6XCIvPjwvc3ZnPmAsXG4gIHBsdXM6IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyMHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjBweFwiIGZpbGw9XCJ2YXIoLS1wYWdlZC1jb2xvcilcIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptNSAxMWgtNHY0aC0ydi00SDd2LTJoNFY3aDJ2NGg0djJ6XCIvPjwvc3ZnPmAsXG4gIHByb2ZpbGU6IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjMjIyRDM5XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMHpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTEyIDUuOWMxLjE2IDAgMi4xLjk0IDIuMSAyLjFzLS45NCAyLjEtMi4xIDIuMVM5LjkgOS4xNiA5LjkgOHMuOTQtMi4xIDIuMS0yLjFtMCA5YzIuOTcgMCA2LjEgMS40NiA2LjEgMi4xdjEuMUg1LjlWMTdjMC0uNjQgMy4xMy0yLjEgNi4xLTIuMU0xMiA0QzkuNzkgNCA4IDUuNzkgOCA4czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0wIDljLTIuNjcgMC04IDEuMzQtOCA0djNoMTZ2LTNjMC0yLjY2LTUuMzMtNC04LTR6XCIvPjwvc3ZnPmAsXG4gIGFycm93OiBgPHN2Z1xuICAgIHZlcnNpb249XCIxLjFcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgdmlld0JveD1cIjAgMCAxODMuNyAxNzguMVwiXG4gICAgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDE4My43IDE3OC4xO3dpZHRoOiA2MHB4O2hlaWdodDogNjBweDtsZWZ0OiAtNDBweDt0b3A6IDcwcHg7cG9zaXRpb246IGZpeGVkO3RyYW5zZm9ybTogcm90YXRlWigtOTBkZWcpXCJcbiAgICB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiPlxuICAgIDxwYXRoIGZpbGw9XCIjMjIyRDM5XCIgZD1cIk0xMjkuMiwxNzMuOGMtMC44LDAtMS42LTAuMS0yLjQtMC4zYy0zLjgtMC44LTctMy41LTkuMS02LjdjLTIuMi0zLjQtMy4yLTcuNy0yLjEtMTEuN1xuICAgICAgYzEuMS0zLjksNC42LTcuMiw4LjctNy41YzQuMS0wLjMsOC4yLDMuMSw4LjMsNy4xYzguNC04LjUsMTYuOC0xNy4xLDI1LjItMjUuNmMxLjctMS44LDMuNS0zLjcsNC02LjFjMC44LTQuMS0yLjMtNy44LTUuMy0xMC43XG4gICAgICBsLTE1LjgtMTZjLTEuNi0xLjYtMy44LTIuNC02LTEuOWMtNCwwLjktNC4zLDQuOS00LjMsOC4yYzAsNi4yLDAsMTIuNSwwLDE4LjdjMCwxLjcsMCwzLjQtMC44LDQuOWMtMS40LDIuNS00LjcsMy4yLTcuNSwzXG4gICAgICBjLTMzLjEtMi4yLTY1LjctMTEuMy04OC41LTM3QzcuNSw2Mi44LDQuOCwyNC44LDQuOCwxMGMwLTMuNCwyLjktNiw2LjItNS43TDIyLDUuMmwtOC41LTAuN2wzLjEsMC4yYzMsMC4yLDUuMywyLjcsNS4zLDUuN1xuICAgICAgYzAuMSwxMi43LDIuNiw0NS45LDI0LjUsNzAuN2MxNC40LDE2LjIsMzQuNywyNi4xLDYwLjUsMjkuNmMzLjQsMC41LDYuNS0yLjIsNi41LTUuNmMwLTcuNi0yLjEtMTguMywxLjMtMjUuMlxuICAgICAgYzEuOS0zLjcsNS42LTYuMyw5LjctNy4zYzExLjItMywyMS4zLDQuNCwyOC41LDEyLjJjNyw3LjYsMTUuNywxMy43LDIxLjMsMjIuNWM0LjIsNi43LDYuMiwxNS4yLDMuNSwyMi42XG4gICAgICBjLTEuOSw1LjEtNS44LDkuMi05LjcsMTMuMWMtNi41LDYuNi0xMywxMy4yLTE5LjUsMTkuOEMxNDMuMSwxNjguMywxMzYuNSwxNzQuMSwxMjkuMiwxNzMuOHogTTEzMi45LDE1OS4xTDEzMi45LDE1OS4xTDEzMi45LDE1OS4xXG4gICAgICB6XCIvPjwvc3ZnPmAsXG4gIHBhZ2VkOiBgPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgaWQ9XCJMYXllcl8xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCJcblx0IHZpZXdCb3g9XCIwIDAgMjY2LjggMzcxXCIgc3R5bGU9XCJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI2Ni44IDM3MTt3aWR0aDogMjRweDtoZWlnaHQ6IDI0cHhcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiPlxuPHN0eWxlIHR5cGU9XCJ0ZXh0L2Nzc1wiPlxuXHQuc3Qwe2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MC43O3N0cm9rZTojZmZmZmZmO3N0cm9rZS1taXRlcmxpbWl0OjEwO31cblx0LnN0MXtmaWxsOiNmZmZmZmY7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fVxuPC9zdHlsZT5cbjxwYXRoIGNsYXNzPVwic3QwXCIgZD1cIk0xNTUuOSw3My44Yy0xOS4xLDAtMzgsNS4yLTU0LjQsMTVsLTEsMC42bDAsMGMtMy4yLDEuOS02LjMsNC4xLTkuMiw2LjNMMi42LDE1NS45bDMwLjIsMjguNWw4MS41LTU1LjRsMS0wLjdcblx0YzIuMS0xLjcsNC40LTMuMiw2LjctNC42bDAuMS0wLjFjMTAuMi02LjEsMjItOS4zLDMzLjktOS4zYzM3LjUsMCw2OCwzMS40LDY4LDcwYzAsMzguNi0zMC41LDcwLTY4LDcwYy0xMS45LDAtMjMuNS0zLjItMzMuOC05LjJcblx0bC0wLjItMC4xYy0yLjMtMS40LTQuNi0yLjktNi43LTQuNmwtMC41LTAuNGwtODItNTUuN0wyLjYsMjEzbDg4LjcsNjAuM2MzLjMsMi41LDYuNyw0LjgsMTAuMiw2LjlsMC4zLDAuMlxuXHRjMTYuNCw5LjcsMzUuMSwxNC44LDU0LjEsMTQuOGM1OS43LDAsMTA4LjMtNDkuNywxMDguMy0xMTAuN1MyMTUuNyw3My44LDE1NS45LDczLjh6XCIvPlxuPHBhdGggY2xhc3M9XCJzdDBcIiBkPVwiTTIzNC45LDEwOC45bC04NS4zLTgyLjFsLTI4LjcsMjguN2w4NS4zLDgyLjFjMCwwLDM5LjIsNDAuNiwxLDkzLjVsLTg2LjksODMuN2wyOC42LDI4LjZsODYuOS04My43XG5cdEMyMzUuOCwyNTkuNiwzMDEsMTg3LjYsMjM0LjksMTA4Ljl6XCIvPlxuPGNpcmNsZSBjbGFzcz1cInN0MVwiIGN4PVwiMTUzLjNcIiBjeT1cIjE4NC41XCIgcj1cIjMyLjlcIi8+XG48L3N2Zz5gLFxuICBhY2Nlc3NpYmlsaXR5OiBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI2ZmZmZmZlwiPjxwYXRoIGQ9XCJNMCAwaDI0djI0SDB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0yMC41IDZjLTIuNjEuNy01LjY3IDEtOC41IDFzLTUuODktLjMtOC41LTFMMyA4YzEuODYuNSA0IC44MyA2IDF2MTNoMnYtNmgydjZoMlY5YzItLjE3IDQuMTQtLjUgNi0xbC0uNS0yek0xMiA2YzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMi0yIC45LTIgMiAuOSAyIDIgMnpcIi8+PC9zdmc+YCxcbiAgbG9nb0JsYWNrOiBgPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgaWQ9XCJMYXllcl8xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCJcbiAgICAgdmlld0JveD1cIjAgMCAyMTguOSAxNTAuOFwiIHdpZHRoPVwiODBweFwiIGhlaWdodD1cIjQwcHhcIiBzdHlsZT1cImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjE4LjkgMTUwLjg7XCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIj5cbiAgPHN0eWxlIHR5cGU9XCJ0ZXh0L2Nzc1wiPlxuICAgIC5zdDB7ZmlsbDp2YXIoLS1wYWdlZC1jb2xvcik7fVxuICA8L3N0eWxlPlxuICA8cGF0aCBmaWxsPVwidmFyKC0tcGFnZWQtY29sb3IpXCIgZD1cIk0yOS44LDEwMi43Yy0wLjUsMi44LTIuNSw2LjgtNS45LDkuN2MtMi42LDIuMi02LjMsMy4xLTEwLjIsMy45Yy0yLDAuNS0yLjksMC41LTQuNiwwLjNjLTAuMi0wLjItMC41LTAuMi0wLjYtMC4yXG4gICAgYy0wLjIsMS45LTAuMiw0LjYsMCw1LjNMOCwxMzAuNXYxLjVjMCwwLjIsMC4yLDYuNSwwLjIsNi44YzAsMS41LDAsMS43LTAuMiwzLjZjMCwyLDAuMiw2LjIsMC4yLDYuMmMtMC4yLDMuMS03LjQsMy40LTcuNCwwLjN2LTEwXG4gICAgYzAtMS4yLDAtNC4yLDAuMi00Ljh2LTIuNWMwLTAuMywwLjItNS4zLDAuMi01LjZjMC01LjQtMC4yLTYuNS0wLjMtOS40di0xLjFjMC0wLjItMC4yLTQuOS0wLjItNS4zdi0wLjhsLTAuMy00LjN2LTEuOVxuICAgIGMwLTEuNCwwLTMuNiwwLjItNC44YzAuMi0xLjQsMC4zLTMuNiwwLjItNC44bC0wLjItNS4xYzAtMC42LTAuMi01LjYtMC4yLTZWNzAuM2MwLTEuMiwwLTIuOC0wLjItMy45di00LjVjMC0wLjUsMC0xLjksMC4yLTIuOFxuICAgIGMwLjItMC45LDAuMy0yLjUsMC4zLTRjMC42LTIuNSwyLjktMy43LDQuOS0zLjJjMS4xLDAsMy4xLTAuMywzLjctMC42bDAuNS0wLjJjMi4yLTAuNSw0LjUtMC44LDguMywwLjNjNi41LDIsOS45LDguNSwxMS40LDEyXG4gICAgYzAsMC4yLDAuMiwwLjUsMC4zLDAuNmwwLjgsMS43YzAuOCwxLjksMS41LDQuMiwxLjcsNmMwLjYsNC42LDEuMSwxMCwxLjEsMTMuNEMzMy40LDkxLDMyLDk3LjQsMjkuOCwxMDIuN3ogTTcuOSw3OFxuICAgIGMtMC4yLDItMC4yLDMuNywwLDQuM3YzLjRjMCwwLjMsMC4yLDMuNywwLjIsNHYzLjdjLTAuMiwwLjgsMCw0LjgsMC4yLDYuOGMwLjIsMS4yLDAuMiwzLjIsMC4yLDQuM3YzLjFjMCwwLjUtMC4yLDAuOSwwLDEuMlxuICAgIGMwLjMsMCwxLjEsMCwxLjQsMC4yYzAuMiwwLDAuMywwLjIsMC42LDAuMmMwLjUsMC4yLDAuOSwwLjMsMi41LTAuMmMyLTAuMyw0LjMtMC45LDUuNi0xLjljMS40LTEuMiwzLjQtNC44LDQtNy4xXG4gICAgYzIuNi02LjYsMy43LTExLjksMy43LTE2LjVjMC00LjgtMS41LTExLTMuMi0xNS44Yy0xLjQtNC42LTMuNy04LjUtNi04LjhjLTMuOS0wLjgtNC42LTAuNi03LjQsMGMtMC41LDAuMy0xLjIsMC4zLTEuMiwwLjNcbiAgICBDOCw2MS44LDcuOSw2Ni4yLDgsNjcuOEM4LjIsNjkuOSw4LDc1LjUsNy45LDc4elwiLz5cbiAgPHBhdGggY2xhc3M9XCJzdDBcIiBkPVwiTTU0LjIsNzYuOGMwLjUsMCwwLjgtMC4yLDEuMS0wLjJoMC45YzEuMS0wLjIsMi4zLTAuMiwzLjQsMHYtNS4xYy0wLjEtMC41LTAuMS0xLDAtMS41XG4gICAgYy0wLjEtMC44LTAuMi0xLjUtMC4yLTIuM1Y2NmMtMC4xLTEuNS0wLjQtMy0wLjgtNC41bC0wLjItMC42Yy0wLjItMC45LTAuNy0xLjgtMS40LTIuNWMtMS4yLTAuMi0yLjUtMC4zLTMuNy0wLjNcbiAgICBjLTEuNCwwLjItNC42LDIuMy02LjMsMy45bC0xLjIsMS41Yy0wLjksMC44LTEuNSwxLjgtMiwyLjljLTEuNywyLjMtNi4zLTEuNi01LjctNC4zYzAtMC4yLDAuMy0wLjUsMC4zLTAuNmMwLjQtMSwxLTEuOSwxLjctMi44XG4gICAgbDAuMy0wLjNjMC40LTAuOSwwLjktMS43LDEuNS0yLjVsMC42LTAuOGM0LjgtMy45LDcuNi00LjIsMTEuNi00LjNoMS42YzIuNCwwLjEsNC43LDAuOSw2LjUsMi41bDEuNywyLjRsMC45LDIuM2wwLjUsMS40bDAuMywxLjJcbiAgICBjMCwwLjIsMC4yLDAuNSwwLjIsMC42YzAuMiwwLjcsMC40LDEuNCwwLjUsMi4yYzAuMiwxLDAuNCwxLjksMC41LDIuOXYxMi41YzAuMiwyLjMsMCw3LjYtMC4yLDEwLjNjMCwxLjMsMCwyLjYsMC4yLDMuOXY4LjJcbiAgICBjLTAuMiwyLjItMC4yLDQuNCwwLDYuNnYyLjJjMCwwLjMsMC4yLDIsMC4yLDIuMmMwLDItMC45LDIuMy0yLjMsMi42Yy0yLjMsMC42LTMuMSwwLjgtNC45LDEuMmMtMS41LDAuNS0zLjIsMC44LTQuOCwwLjhcbiAgICBjLTgsMC0xNy45LTUuNy0xNy45LTE5QzM2LjksODQuOCw0NC45LDc3LjcsNTQuMiw3Ni44eiBNNTguOCw4NC4yYy0xLjItMC4yLTIuNC0wLjItMy42LDBjLTUuNywwLjktMTAuOCw0LjUtMTAuOCwxNC4yXG4gICAgYzAsOC41LDYuNSwxMSwxMC41LDExYzIuMywwLDMuNy0wLjUsNC41LTEuMXYtMi4yYy0wLjEtMS4xLTAuMi0yLjMtMC4yLTMuNGMwLTAuMi0wLjItMi0wLjItMi4zVjk5bDAuMi03Ljl2LTAuNlxuICAgIGMwLTAuNSwwLjItMS4yLDAuMi0yLjJ2LTQuMkg1OC44elwiLz5cbiAgPHBhdGggY2xhc3M9XCJzdDBcIiBkPVwiTTEwNS4yLDUxLjVjMS45LDAuNSwzLjksMC45LDQuMiwyLjlsMC4yLDUuN3Y4LjNjLTAuMiwxLjYtMC4zLDMuMi0wLjIsNC44bDAuMiw1LjZ2MTQuN2wwLjEsMy40djJcbiAgICBjMC4xLDEuMiwwLDIuNC0wLjEsMy42djAuNmwtMC4zLDMuNnY0LjJjMCwwLjUsMC4xLDUuNiwwLjEsNmMwLjIsNC42LDAuMiw3LjksMC4yLDkuNmMwLDAuMy0wLjIsNS45LTAuMiw2LjJcbiAgICBjLTAuMSwwLjctMC4yLDEuNC0wLjEsMi4yYzAuMSwxLjktMC4xLDMuNy0wLjUsNS42Yy0yLDYuNi0xMCwxMS42LTE3LjMsMTAuNGMtNC0wLjUtNy45LTMuNi05LjktNi45Yy0xLjYtMi42LDQtNi44LDUuNi00LjhcbiAgICBjMS41LDIuMiwyLjYsMy4yLDQsMy45YzAuNiwwLjIsMi4yLDAuOSwzLjQsMC44YzIuMy0wLjEsNC42LTEuNSw1LjQtMy4xbDEuMS0yLjJjMC44LTEuOSwwLjktOS45LDAuOS0xNi4yYzAtMi4yLDAtNC4yLTAuMi01LjdcbiAgICBjLTEuNCwwLjgtMi44LDAuNi02LjIsMC42Yy05LjEsMC0xMi41LTUuNC0xMy42LThsLTAuOS0yLjNjLTEuMi0yLjMtMi4yLTQuOC0yLjktNy4zbC0wLjYtNS4xYy0wLjYtNC4xLTAuOS04LjMtMC45LTEyLjVcbiAgICBjMC4xLTUuOSwxLjMtMTEuOCwzLjYtMTcuM2MxLjItMi45LDUuMS03LjYsNy42LTkuN2MzLjItMi4zLDYuMy0zLjksMTAuNy0zLjloMmMxLjQtMC4xLDIuOCwwLjEsNC4yLDAuNVxuICAgIEMxMDQuNyw1MS4zLDEwNC44LDUxLjUsMTA1LjIsNTEuNXogTTEwMS4zLDEwOC42di0zLjFjMC4yLTAuOCwwLjUtNi41LDAuNi05LjdjLTAuMi0xLjEtMC4yLTIuMywwLTMuNGwwLjItMS40XG4gICAgYzAuMi0xLjcsMC4yLTMuNSwwLTUuMnYtMy4xYzAtMC4zLTAuMi0zLjctMC4yLTR2LTAuOWwwLjItMi42YzAtMSwwLTItMC4yLTIuOWMwLTEuMSwwLTMuMS0wLjItNS43YzAtMC4yLTAuMi0xLjYtMC4yLTIuMnYtMS42XG4gICAgYzAtMS40LTAuMS0yLjktMC4zLTQuM2MtMC40LDAtMC44LDAtMS4yLTAuMmgtMmMtMS44LDAuMy0zLjUsMS4xLTQuOSwyLjNMOTEuNiw2MmwtMi4zLDIuMmMtMC4zLDAuNS0wLjYsMS4xLTAuOSwxLjZsLTAuOSwxLjFcbiAgICBjLTAuMiwwLjMtMC41LDEuMS0wLjUsMS4xYy0yLjEsNC45LTMuMSwxMC4xLTMuMSwxNS40YzAuMiw2LjksMS41LDEzLjcsMy44LDIwLjFjMS42LDMuNyw2LjUsNiw4LjUsNlxuICAgIEM5OSwxMDkuNCwxMDEuMywxMDkuMSwxMDEuMywxMDguNnpcIi8+XG4gIDxwYXRoIGNsYXNzPVwic3QwXCIgZD1cIk0xNTEuOSw2My44YzAuOSwzLjQsMS4xLDYuNSwxLjEsMTMuM2MtMC4yLDIuMS0wLjUsNC4yLTEuMSw2LjNjLTIuMywwLjgtNC44LDEuMy03LjIsMS42aC0xLjRcbiAgICBjLTAuMiwwLTEuMi0wLjItMS40LTAuMkgxNDFjLTIuMS0wLjItNC4yLTAuMS02LjMsMC4zYy0xLjgsMC4zLTMuNywwLjQtNS42LDAuM2gtMS4ydjMuOWMwLjIsMS42LDAuNSwzLjksMS4xLDcuMWwwLjMsMmwwLjUsMS43XG4gICAgYzAuMSwxLjksMC44LDMuOCwxLjksNS40YzEuMiwyLjIsMS45LDIuNSwyLjYsMi45YzEuNCwwLjYsMi45LDAuOSw0LjUsMC45YzEuOC0wLjIsMy42LTAuOCw1LjEtMS45YzAuNS0wLjMsMi4zLTEuNCwyLjMtMS40XG4gICAgYzIuMy0xLjcsNi4zLDIuNiw0LjMsNS45bC0wLjYsMC42Yy0zLjMsMi44LTcuNCw0LjMtMTEuNyw0LjVjLTEuOCwwLjEtMy42LTAuMi01LjMtMC45Yy0wLjUtMC4yLTAuNS0wLjMtMS4xLTAuNlxuICAgIGMtMS4zLTAuNy0yLjUtMS40LTMuNy0yLjJsLTIuMy0yLjVsLTAuOS0xLjdjLTAuNi0xLTEtMi0xLjItMy4xYy0wLjQtMC45LTAuNy0xLjgtMC45LTIuOGwtMC42LTMuMWMtMC45LTMuMy0xLjUtNi42LTEuNy0xMFxuICAgIGwtMC4yLTQuMnYtNi44YzAuMS01LjcsMS4xLTExLjMsMi45LTE2LjdjMS41LTMuNCwzLjctNi41LDYuNS05LjFjMS42LTEuMiw2LjItMi44LDEwLjQtMi42YzMuNiwwLjUsNy40LDMuNCw5LjQsNy42TDE1MS45LDYzLjh6XG4gICAgIE0xMjcuOSw3Ny45YzEuNiwwLjIsMy4zLDAuMSw0LjktMC4yYzIuMi0wLjQsNC40LTAuNCw2LjYtMC4yYzEuNCwwLjIsMi44LDAuMiw0LjIsMGwxLjEtMC4zaDAuOHYtMS45YzAtMC4zLTAuMi0xLjUtMC4yLTIuMnYtMS4xXG4gICAgYzAuMS0xLjYsMC0zLjItMC4zLTQuOGMtMC41LTIuMS0xLjMtNC4yLTIuMy02LjJsLTEuNC0xLjJjLTAuOC0xLTIuMS0xLjYtMy40LTEuNmMtMiwwLjItMy43LDEuNy00LjYsMi44Yy0xLjMsMS4yLTIuMywyLjctMy4xLDQuM1xuICAgIGwtMC45LDIuM2MtMC41LDEuNi0wLjksMy4yLTEuMSw0LjhjMCwwLjMsMCwwLjYtMC4xLDAuOWMwLDAuMi0wLjIsMC42LTAuMiwwLjh2MC42Yy0wLjEsMC41LTAuMiwwLjktMC4xLDEuNEwxMjcuOSw3Ny45elwiLz5cbiAgPHBhdGggY2xhc3M9XCJzdDBcIiBkPVwiTTE3Mi44LDUzLjFjMi45LTIsNi41LTIuNSwxMC0yLjVoMC42YzEuNS0wLjEsMywwLjIsNC41LDAuOGMwLjItNCwwLjItOC44LDAuMi05LjdsMC4zLTEzLjF2LTEuMlxuICAgIGMwLTAuMS0wLjItNS42LTAuMi01Ljd2LTAuOGMtMC4yLTIuNy0wLjEtNS41LDAuMi04LjJjMC0yLjUtMC4yLTcuNi0wLjItNy42YzAtMy41LDYuOC00LjIsNy4zLTAuOHYxNi44YzAsMC41LTAuMSw3LjYtMC4xLDh2MS4yXG4gICAgYy0wLjIsMi42LTAuMiw1LjItMC4yLDcuM2MwLDUuNCwwLjIsMTMsMC4zLDE3LjFjMCwwLjMsMC4yLDIuMiwwLjIsMi41djIuM2wwLjMsMi45djEuN2MwLDEuNCwwLDMuNi0wLjEsNC44XG4gICAgYy0wLjIsMS42LTAuMywzLjMtMC4xLDQuOWwwLjEsNS42YzAsMC41LDAuMSwwLjksMC4xLDEuMnYyLjVjMC4yLDEuNywwLjIsMy41LDAsNS4ydjUuN2wwLjIsMS40bDAuMSw2YzAsMC45LDAsMS45LTAuMSwyLjh2MC42XG4gICAgYy0wLjEsMC4zLTAuMiwwLjYtMC4yLDAuOWMtMC4xLDEuNy0wLjMsMy40LTAuMyw1LjFjLTAuNSwxLjgtMiwzLjEtMy45LDMuNGMtMy4yLDIuMi01LjQsMi41LTEyLjUsMi41Yy04LDAtMTEuNC03LTEzLjEtOS45XG4gICAgYy0wLjQtMC42LTAuNy0xLjMtMC44LTJjLTEtMi41LTEuNy01LjEtMi4yLTcuN2wtMC42LTQuNmMtMC41LTQuMi0wLjktOS4zLTAuOS0xMi44Yy0wLjEtNi4xLDEuMi0xMi4xLDMuNy0xNy42XG4gICAgQzE2NS44LDU5LDE3MCw1NS4yLDE3Mi44LDUzLjF6IE0xODguNiw4OS40di01LjljMC0wLjYtMC4xLTEuMi0wLjEtMS44bDAuMy01Ljd2LTAuNmMwLTEtMC4xLTItMC4zLTIuOWMtMC4yLTEuNi0wLjItMy4yLTAuMi00LjhcbiAgICBWNjdjMC0wLjMtMC4xLTAuNi0wLjEtMC45di0xLjdsLTAuMi00LjNsLTEuNC0wLjdjLTAuOC0wLjgtMS4xLTAuMi0yLjktMS4xYy0wLjMsMC0wLjksMC0xLjEtMC4yYy0xLjItMC4yLTMuNiwwLTQuMywwLjhcbiAgICBjLTAuMywwLjMtMC43LDAuNS0xLjEsMC42Yy0wLjQsMC4zLTAuOCwwLjctMS4yLDFjLTEsMC45LTIsMS44LTIuOCwyLjhjMCwwLjYtMC44LDEuMS0wLjksMS43Yy0yLjEsNS4zLTMuMiwxMS0zLjMsMTYuOFxuICAgIGMwLDUuMSwyLDE0LDMuNCwxOS45bDAuNSwxLjdjMS42LDQuMiw0LjYsNS45LDcsNS45YzQuOCwwLDUuNy0wLjUsNy4xLTEuNGwxLjItMC41di0xLjhjMC0wLjUsMC4xLTAuOSwwLjEtMS41XG4gICAgYzAuMi0yLjQsMC4zLTQuOCwwLjItNy4zQzE4OC4yLDk0LjQsMTg4LjMsOTEuOSwxODguNiw4OS40elwiLz5cbiAgPHBhdGggY2xhc3M9XCJzdDBcIiBkPVwiTTIxOC4yLDExMC4xbDAuNSwwLjhjMC4zLDAuOCwwLjMsMS44LDAuMiwyLjZjLTAuMiwxLjctMS4xLDIuMy0yLjMsMy4xYzAsMC0yLDAuMy0yLjUsMC4zaC0xLjJcbiAgICBjLTEuNi0wLjUtMi45LTEuOC0zLjQtMy40YzAsMCwxLjUtNS42LDQuMy01LjlDMjE2LjIsMTA3LjIsMjE3LjcsMTA4LjQsMjE4LjIsMTEwLjF6XCIvPlxuICA8L3N2Zz5gLFxuICBwbGF5OiBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJ3LTYgaC02XCI+XG4gICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0yMSAxMmE5IDkgMCAxMS0xOCAwIDkgOSAwIDAxMTggMHpcIiAvPlxuICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTUuOTEgMTEuNjcyYS4zNzUuMzc1IDAgMDEwIC42NTZsLTUuNjAzIDMuMTEzYS4zNzUuMzc1IDAgMDEtLjU1Ny0uMzI4VjguODg3YzAtLjI4Ni4zMDctLjQ2Ni41NTctLjMyN2w1LjYwMyAzLjExMnpcIiAvPlxuICA8L3N2Zz5gLFxuICBwYXVzZTogYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIGNsYXNzPVwidy02IGgtNlwiPlxuICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTQuMjUgOXY2bS00LjUgMFY5TTIxIDEyYTkgOSAwIDExLTE4IDAgOSA5IDAgMDExOCAwelwiIC8+XG4gIDwvc3ZnPmAsXG4gIGZvcndhcmQ6IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInctNiBoLTZcIj5cbiAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTMgOC42ODhjMC0uODY0LjkzMy0xLjQwNSAxLjY4My0uOTc3bDcuMTA4IDQuMDYyYTEuMTI1IDEuMTI1IDAgMDEwIDEuOTUzbC03LjEwOCA0LjA2MkExLjEyNSAxLjEyNSAwIDAxMyAxNi44MVY4LjY4OHpNMTIuNzUgOC42ODhjMC0uODY0LjkzMy0xLjQwNSAxLjY4My0uOTc3bDcuMTA4IDQuMDYyYTEuMTI1IDEuMTI1IDAgMDEwIDEuOTUzbC03LjEwOCA0LjA2MmExLjEyNSAxLjEyNSAwIDAxLTEuNjgzLS45NzdWOC42ODh6XCIgLz5cbiAgPC9zdmc+YCxcbiAgYmFja3dhcmQ6IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cInctNiBoLTZcIj5cbiAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTIxIDE2LjgxMWMwIC44NjQtLjkzMyAxLjQwNS0xLjY4My45NzdsLTcuMTA4LTQuMDYyYTEuMTI1IDEuMTI1IDAgMDEwLTEuOTUzbDcuMTA4LTQuMDYyQTEuMTI1IDEuMTI1IDAgMDEyMSA4LjY4OHY4LjEyM3pNMTEuMjUgMTYuODExYzAgLjg2NC0uOTMzIDEuNDA1LTEuNjgzLjk3N2wtNy4xMDgtNC4wNjJhMS4xMjUgMS4xMjUgMCAwMTAtMS45NTNMOS41NjcgNy43MWExLjEyNSAxLjEyNSAwIDAxMS42ODMuOTc3djguMTIzelwiIC8+XG4gIDwvc3ZnPmAsXG4gIHNldHRpbmdzOiBgXG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgY2xhc3M9XCJ3LTYgaC02XCI+XG4gICAgPHBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMC41IDZoOS43NU0xMC41IDZhMS41IDEuNSAwIDExLTMgMG0zIDBhMS41IDEuNSAwIDEwLTMgME0zLjc1IDZINy41bTMgMTJoOS43NW0tOS43NSAwYTEuNSAxLjUgMCAwMS0zIDBtMyAwYTEuNSAxLjUgMCAwMC0zIDBtLTMuNzUgMEg3LjVtOS02aDMuNzVtLTMuNzUgMGExLjUgMS41IDAgMDEtMyAwbTMgMGExLjUgMS41IDAgMDAtMyAwbS05Ljc1IDBoOS43NVwiIC8+XG4gIDwvc3ZnPmAsXG59O1xuZXhwb3J0IGRlZmF1bHQgaWNvbnM7XG4iXSwibmFtZXMiOlsiaWNvbnMiLCJleWUiLCJyZXZlcnQiLCJjYW5jZWwiLCJtaW51cyIsInBsdXMiLCJwcm9maWxlIiwiYXJyb3ciLCJwYWdlZCIsImFjY2Vzc2liaWxpdHkiLCJsb2dvQmxhY2siLCJwbGF5IiwicGF1c2UiLCJmb3J3YXJkIiwiYmFja3dhcmQiLCJzZXR0aW5ncyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/icons.js\n");
/***/ }),
/***/ "./src/components/overlay/components/account/index.js":
/*!************************************************************!*\
!*** ./src/components/overlay/components/account/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\": () => (/* binding */ Account)\n/* harmony export */ });\n/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ \"./src/components/overlay/components/account/style.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../utils/dom */ \"./src/utils/dom.js\");\n/* harmony import */ var _configuration_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../configuration/constants */ \"./configuration/constants.js\");\n/* harmony import */ var _fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../fetch */ \"./src/components/fetch/index.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../icons */ \"./src/components/icons.js\");\n/* harmony import */ var _alert__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../alert */ \"./src/components/overlay/components/alert/index.js\");\n\n\n\n\n\n\nclass Account {\n _root = null;\n _rootShadow = null;\n _parent = null;\n _mode = 'login';\n _user = null;\n _store = null;\n _translation = null;\n _onUserLogin = () => {};\n _onAccountViewChange = () => {};\n constructor(options) {\n if (options) {\n this._parent = options.parent ? options.parent : undefined;\n this._store = options.store ? options.store : undefined;\n this._translation = options.translation ? options.translation : undefined;\n if (options.onUserLogin) {\n this._onUserLogin = options.onUserLogin;\n }\n if (options.onAccountViewChange) {\n this._onAccountViewChange = options.onAccountViewChange;\n }\n }\n this.__init__();\n }\n get _label() {\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'label',\n innerHTML: this._mode === 'login' ? this._translation.get('signIn') : this._mode === 'register' ? this._translation.get('signUp') : null\n });\n }\n get _content() {\n const content = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'form',\n attributes: {\n class: '__paged-account-form'\n },\n innerHTML: this._mode === 'login' ? `\n \n \n ${this._translation.get('forgotCredentials')}\n \n ${this._translation.get('orText')}\n ` : this._mode === 'register' ? `\n \n \n \n \n \n \n \n ${this._translation.get('orText')}\n ` : `\n
\n ${_icons__WEBPACK_IMPORTED_MODULE_4__[\"default\"].profile}\n
\n ${this._user.username}
\n ${this._translation.get('fullName')}: ${this._user.name}
\n ${this._translation.get('email')}: ${this._user.email}
\n ${this._translation.get('lastSaved')}: ${new Date().toLocaleDateString('en-us', {\n weekday: \"long\",\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\"\n })}
\n \n `,\n events: {\n submit: this._onSubmit.bind(this)\n }\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n appendTo: content,\n attributes: {\n type: 'link'\n },\n events: {\n click: e => {\n if (this._mode !== 'profile') {\n this._onViewChange(e, this._mode === 'login' ? 'register' : 'login');\n return;\n }\n this._user = null;\n this._mode = 'login';\n this._store.remove('auth_token');\n this._store.remove('user_settings');\n this._onViewChange(e, 'login');\n }\n },\n innerHTML: this._mode === 'login' ? this._translation.get('openAccount') : this._mode === 'register' ? this._translation.get('signIn') : this._translation.get('signOut')\n });\n return content;\n }\n get _children() {\n return [this._label, this._content];\n }\n __init__() {\n this._getSession().then(data => {\n if (data && data.user) {\n this._mode = 'profile';\n this._user = data.user;\n }\n const exists = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].selectElement(`.${_configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.account}`, this._parent);\n this._root = exists ? exists : _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: this._parent ? this._parent : undefined,\n attributes: {\n class: _configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.account\n }\n });\n if (!exists) {\n this._rootShadow = this._root.attachShadow({\n mode: 'open'\n });\n }\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'style',\n innerHTML: _style__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n appendTo: this._rootShadow\n });\n this._children.filter(child => child).forEach(child => this._rootShadow.appendChild(child));\n });\n }\n _onViewChange(event, mode) {\n if (event) {\n event.preventDefault();\n }\n this._mode = mode;\n this._rootShadow.innerHTML = '';\n this.__init__();\n this._onAccountViewChange(mode);\n }\n _onSubmit(event) {\n event.preventDefault();\n const form = event.path ? Array.from(event.path).find(el => el.tagName === 'FORM') : this._rootShadow.querySelector('.__paged-account-form');\n const inputs = Array.from(form.childNodes).filter(el => el.tagName === 'INPUT');\n const errors = Array.from(form.childNodes).filter(el => el.tagName === 'P').filter(el => el.className === '__paged-form-error');\n const value = inputs.reduce((payload, input) => {\n const key = input.getAttribute('dataId');\n if (key && input.value) {\n payload[key] = input.value;\n }\n return payload;\n }, {});\n errors.forEach(error => error.remove());\n switch (this._mode) {\n case 'login':\n this._login(value, form);\n break;\n case 'register':\n this._register(value, form);\n break;\n case 'profile':\n this._saveSettings(value);\n break;\n }\n }\n _login(value, form) {\n _fetch__WEBPACK_IMPORTED_MODULE_3__.Fetch.post('/api/auth/signin', {\n body: JSON.stringify(value || {})\n }).then(response => {\n if (response.status === 200) {\n response.json().then(token => {\n this._store.set('auth_token', token.token);\n this._getSession().then(data => {\n if (data && data.user) {\n if (data.user.settings) {\n this._store.set('config', data.user.settings);\n this._store.set('user_settings', data.user.settings);\n }\n this._user = data.user;\n this._onViewChange(null, 'profile');\n this._onUserLogin();\n } else {\n form.insertBefore(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'p',\n attributes: {\n class: '__paged-form-error'\n },\n innerHTML: 'Incorrect username or password. Check your credentials are correct and try again'\n }), form.querySelector('button[type=\"submit\"]'));\n }\n });\n });\n } else {\n form.insertBefore(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'p',\n attributes: {\n class: '__paged-form-error'\n },\n innerHTML: 'Incorrect username or password. Check your credentials are correct and try again'\n }), form.querySelector('button[type=\"submit\"]'));\n }\n });\n }\n _register(value, form) {\n if (form.querySelector('input[type=\"checkbox\"]').checked === false) {\n form.insertBefore(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'p',\n attributes: {\n class: '__paged-form-error'\n },\n innerHTML: \"Please accept our terms!\"\n }), form.querySelector('button[type=\"submit\"]'));\n return;\n }\n _fetch__WEBPACK_IMPORTED_MODULE_3__.Fetch.post('/api/auth/register', {\n body: JSON.stringify(value || {})\n }).then(response => response.json().then(data => {\n if (data && data.code !== 200) {\n form.insertBefore(_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'p',\n attributes: {\n class: '__paged-form-error'\n },\n innerHTML: data.message\n }), form.querySelector('button[type=\"submit\"]'));\n return;\n } else {\n this._onViewChange(undefined, 'login');\n new _alert__WEBPACK_IMPORTED_MODULE_5__[\"default\"]({\n parent: this._rootShadow,\n text: data.message\n });\n }\n }));\n }\n _saveSettings(value) {\n _fetch__WEBPACK_IMPORTED_MODULE_3__.Fetch.post('/api/user/settings', {\n headers: {\n Authorization: this._store.get('auth_token')\n },\n body: JSON.stringify(this._store.get('config') || {})\n }).then(response => response.json()).then(data => {\n this._store.set('user_settings', data.settings || {});\n new _alert__WEBPACK_IMPORTED_MODULE_5__[\"default\"]({\n parent: this._rootShadow,\n text: data.message\n });\n });\n }\n async _getSession() {\n return await _fetch__WEBPACK_IMPORTED_MODULE_3__.Fetch.get('/api/auth/session', {\n headers: {\n Authorization: this._store.get('auth_token')\n }\n }).then(response => response.json());\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvYWNjb3VudC9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQTRCO0FBQ1k7QUFDaUI7QUFDbEI7QUFDSjtBQUNOO0FBRWQsTUFBTU0sT0FBTyxDQUFDO0VBQzNCQyxLQUFLLEdBQUcsSUFBSTtFQUNaQyxXQUFXLEdBQUcsSUFBSTtFQUNsQkMsT0FBTyxHQUFHLElBQUk7RUFDZEMsS0FBSyxHQUFHLE9BQU87RUFDZkMsS0FBSyxHQUFHLElBQUk7RUFDWkMsTUFBTSxHQUFHLElBQUk7RUFDYkMsWUFBWSxHQUFHLElBQUk7RUFDbkJDLFlBQVksR0FBR0EsQ0FBQSxLQUFNLENBQUMsQ0FBQztFQUN2QkMsb0JBQW9CLEdBQUdBLENBQUEsS0FBTSxDQUFDLENBQUM7RUFFL0JDLFdBQVdBLENBQUNDLE9BQU8sRUFBRTtJQUNuQixJQUFJQSxPQUFPLEVBQUU7TUFDWCxJQUFJLENBQUNSLE9BQU8sR0FBR1EsT0FBTyxDQUFDQyxNQUFNLEdBQ3pCRCxPQUFPLENBQUNDLE1BQU0sR0FBR0MsU0FBUztNQUM5QixJQUFJLENBQUNQLE1BQU0sR0FBR0ssT0FBTyxDQUFDRyxLQUFLLEdBQ3ZCSCxPQUFPLENBQUNHLEtBQUssR0FBR0QsU0FBUztNQUM3QixJQUFJLENBQUNOLFlBQVksR0FBR0ksT0FBTyxDQUFDSSxXQUFXLEdBQ25DSixPQUFPLENBQUNJLFdBQVcsR0FBR0YsU0FBUztNQUNuQyxJQUFJRixPQUFPLENBQUNLLFdBQVcsRUFBRTtRQUN2QixJQUFJLENBQUNSLFlBQVksR0FBR0csT0FBTyxDQUFDSyxXQUFXO01BQ3pDO01BQ0EsSUFBSUwsT0FBTyxDQUFDTSxtQkFBbUIsRUFBRTtRQUMvQixJQUFJLENBQUNSLG9CQUFvQixHQUFHRSxPQUFPLENBQUNNLG1CQUFtQjtNQUN6RDtJQUNGO0lBRUEsSUFBSSxDQUFDQyxRQUFRLENBQUMsQ0FBQztFQUNqQjtFQUVBLElBQUlDLE1BQU1BLENBQUEsRUFB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QztJQUNGLENBQUMsQ0FBQyxDQUFDMkIsSUFBSSxDQUFDeUMsUUFBUSxJQUFJQSxRQUFRLENBQUNFLElBQUksQ0FBQyxDQUFDLENBQUM7RUFDdEM7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL3NyYy9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9hY2NvdW50L2luZGV4LmpzPzkzYTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlIGZyb20gJy4vc3R5bGUnO1xuaW1wb3J0IGRvbSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9kb20nO1xuaW1wb3J0IGVudiBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25maWd1cmF0aW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGZXRjaCB9IGZyb20gJy4uLy4uLy4uL2ZldGNoJztcbmltcG9ydCBpY29ucyBmcm9tICcuLi8uLi8uLi9pY29ucyc7XG5pbXBvcnQgQWxlcnQgZnJvbSAnLi4vYWxlcnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBY2NvdW50IHtcbiAgX3Jvb3QgPSBudWxsO1xuICBfcm9vdFNoYWRvdyA9IG51bGw7XG4gIF9wYXJlbnQgPSBudWxsO1xuICBfbW9kZSA9ICdsb2dpbic7XG4gIF91c2VyID0gbnVsbDtcbiAgX3N0b3JlID0gbnVsbDtcbiAgX3RyYW5zbGF0aW9uID0gbnVsbDtcbiAgX29uVXNlckxvZ2luID0gKCkgPT4ge307XG4gIF9vbkFjY291bnRWaWV3Q2hhbmdlID0gKCkgPT4ge307XG5cbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICB0aGlzLl9wYXJlbnQgPSBvcHRpb25zLnBhcmVudFxuICAgICAgICA/IG9wdGlvbnMucGFyZW50IDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fc3RvcmUgPSBvcHRpb25zLnN0b3JlXG4gICAgICAgID8gb3B0aW9ucy5zdG9yZSA6IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX3RyYW5zbGF0aW9uID0gb3B0aW9ucy50cmFuc2xhdGlvblxuICAgICAgICA/IG9wdGlvbnMudHJhbnNsYXRpb24gOiB1bmRlZmluZWQ7XG4gICAgICBpZiAob3B0aW9ucy5vblVzZXJMb2dpbikge1xuICAgICAgICB0aGlzLl9vblVzZXJMb2dpbiA9IG9wdGlvbnMub25Vc2VyTG9naW47XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy5vbkFjY291bnRWaWV3Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMuX29uQWNjb3VudFZpZXdDaGFuZ2UgPSBvcHRpb25zLm9uQWNjb3VudFZpZXdDaGFuZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fX2luaXRfXygpO1xuICB9XG5cbiAgZ2V0IF9sYWJlbCgpIHtcbiAgICByZXR1cm4gZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnbGFiZWwnLFxuICAgICAgaW5uZXJIVE1MOiB0aGlzLl9tb2RlID09PSAnbG9naW4nXG4gICAgICAgID8gdGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdzaWduSW4nKSA6IHRoaXMuX21vZGUgPT09ICdyZWdpc3RlcicgPyB0aGlzLl90cmFuc2xhdGlvbi5nZXQoJ3NpZ25VcCcpIDogbnVsbCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBfY29udGVudCgpIHtcbiAgICBjb25zdCBjb250ZW50ID0gZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnZm9ybScsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnX19wYWdlZC1hY2NvdW50LWZvcm0nLFxuICAgICAgfSxcbiAgICAgIGlubmVySFRNTDogdGhpcy5fbW9kZSA9PT0gJ2xvZ2luJyA/IGBcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCIke3RoaXMuX3RyYW5zbGF0aW9uLmdldCgndXNlcm5hbWVPckVtYWlsJyl9XCIgZGF0YUlkPVwidXNlcm5hbWVcIi8+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIiR7dGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdwYXNzd29yZCcpfVwiIGRhdGFJZD1cInBhc3N3b3JkXCIvPlxuICAgICAgICA8YSBocmVmPVwiI1wiPiR7dGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdmb3Jnb3RDcmVkZW50aWFscycpfTwvYT5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCI+JHt0aGlzLl90cmFuc2xhdGlvbi5nZXQoJ3NpZ25JbicpfTwvYnV0dG9uPlxuICAgICAgICA8c3Bhbj4ke3RoaXMuX3RyYW5zbGF0aW9uLmdldCgnb3JUZXh0Jyl9PC9zcGFuPlxuICAgICAgYCA6IHRoaXMuX21vZGUgPT09ICdyZWdpc3RlcicgPyBgXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiJHt0aGlzLl90cmFuc2xhdGlvbi5nZXQoJ2Z1bGxOYW1lJyl9XCIgZGF0YUlkPVwibmFtZVwiLz5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJlbWFpbFwiIHBsYWNlaG9sZGVyPVwiJHt0aGlzLl90cmFuc2xhdGlvbi5nZXQoJ2VtYWlsJyl9XCIgZGF0YUlkPVwiZW1haWxcIi8+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiJHt0aGlzLl90cmFuc2xhdGlvbi5nZXQoJ3VzZXJuYW1lJyl9XCIgZGF0YUlkPVwidXNlcm5hbWVcIi8+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIiR7dGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdwYXNzd29yZCcpfVwiIGRhdGFJZD1cInBhc3N3b3JkXCIvPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgcGxhY2Vob2xkZXI9XCIke3RoaXMuX3RyYW5zbGF0aW9uLmdldCgnY29uZmlybVBhc3N3b3JkJyl9XCIgZGF0YUlkPVwiY29uZmlybVBhc3N3b3JkXCIvPlxuICAgICAgICA8bGFiZWwgc3R5bGU9XCJtYXgtd2lkdGg6IDMwMHB4XCIgZm9yPVwicG9saWN5Q29uc2VudFwiPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInBvbGljeUNvbnNlbnRcIj5ZZXMsIEkgd291bGQgbGlrZSB0byByZWdpc3RlciB3aXRoIHBhZ2VkLiBUaGUgdGVybXMgb2YgdXNlIGFwcGx5IHRvIHRoZSB1c2Ugb2YgdGhlIGFjY291bnQuIFJlYWQgdGhlIDxhIGhyZWY9XCJodHRwczovL3BhZ2VkLmFpL3VzZVRlcm1Qcm9maWxlXCI+VGVybXMgb2YgVXNlPC9hPiBhbmQgPGEgaHJlZj1cImh0dHBzOi8vcGFnZWQuYWkvcHJpdmFjeVBvbGljeVwiPiBQcml2YWN5IFBvbGljeSA8L2E+IGhlcmUuPC9hPjwvbGFiZWw+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiPiR7dGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdyZWdpc3RlcicpfTwvYnV0dG9uPlxuICAgICAgICA8c3Bhbj4ke3RoaXMuX3RyYW5zbGF0aW9uLmdldCgnb3JUZXh0Jyl9PC9zcGFuPlxuICAgICAgYCA6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fcGFnZWQtcHJvZmlsZVwiPlxuICAgICAgICAgIDxzcGFuPiR7aWNvbnMucHJvZmlsZX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aDE+JHt0aGlzLl91c2VyLnVzZXJuYW1lfTwvaDE+XG4gICAgICAgIDxoMz48Yj4ke3RoaXMuX3RyYW5zbGF0aW9uLmdldCgnZnVsbE5hbWUnKX06PC9iPiAke3RoaXMuX3VzZXIubmFtZX08L2gzPlxuICAgICAgICA8aDM+PGI+JHt0aGlzLl90cmFuc2xhdGlvbi5nZXQoJ2VtYWlsJyl9OjwvYj4gJHt0aGlzLl91c2VyLmVtYWlsfTwvaDM+XG4gICAgICAgIDxoMz48Yj4ke3RoaXMuX3RyYW5zbGF0aW9uLmdldCgnbGFzdFNhdmVkJyl9OjwvYj4gJHtuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tdXMnLCB7IHdlZWtkYXk6XCJsb25nXCIsIHllYXI6XCJudW1lcmljXCIsIG1vbnRoOlwic2hvcnRcIiwgZGF5OlwibnVtZXJpY1wifSkgfTwvaDM+XG4gICAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiPiR7dGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdzYXZlU2V0dGluZ3MnKX08L2J1dHRvbj5cbiAgICAgIGAsXG4gICAgICBldmVudHM6IHtcbiAgICAgICAgc3VibWl0OiB0aGlzLl9vblN1Ym1pdC5iaW5kKHRoaXMpLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ2J1dHRvbicsXG4gICAgICBhcHBlbmRUbzogY29udGVudCxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgdHlwZTogJ2xpbmsnLFxuICAgICAgfSxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICBjbGljazogZSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX21vZGUgIT09ICdwcm9maWxlJykge1xuICAgICAgICAgICAgdGhpcy5fb25WaWV3Q2hhbmdlKGUsIHRoaXMuX21vZGUgPT09ICdsb2dpbicgPyAncmVnaXN0ZXInIDogJ2xvZ2luJylcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fdXNlciA9IG51bGw7XG4gICAgICAgICAgdGhpcy5fbW9kZSA9ICdsb2dpbic7XG4gICAgICAgICAgdGhpcy5fc3RvcmUucmVtb3ZlKCdhdXRoX3Rva2VuJyk7XG4gICAgICAgICAgdGhpcy5fc3RvcmUucmVtb3ZlKCd1c2VyX3NldHRpbmdzJyk7XG4gICAgICAgICAgdGhpcy5fb25WaWV3Q2hhbmdlKGUsICdsb2dpbicpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGlubmVySFRNTDogdGhpcy5fbW9kZSA9PT0gJ2xvZ2luJyA/IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgnb3BlbkFjY291bnQnKSA6IHRoaXMuX21vZGUgPT09ICdyZWdpc3RlcicgPyB0aGlzLl90cmFuc2xhdGlvbi5nZXQoJ3NpZ25JbicpIDogdGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdzaWduT3V0JyksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGdldCBfY2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuX2xhYmVsLFxuICAgICAgdGhpcy5fY29udGVudCxcbiAgICBdO1xuICB9XG5cbiAgX19pbml0X18oKSB7XG4gICAgdGhpcy5fZ2V0U2Vzc2lvbigpLnRoZW4oZGF0YSA9PiB7XG4gICAgICBpZiAoZGF0YSAmJiBkYXRhLnVzZXIpIHtcbiAgICAgICAgdGhpcy5fbW9kZSA9ICdwcm9maWxlJztcbiAgICAgICAgdGhpcy5fdXNlciA9IGRhdGEudXNlcjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGV4aXN0cyA9IGRvbS5zZWxlY3RFbGVtZW50KGAuJHtlbnYuY2xhc3Nlcy5hY2NvdW50fWAsIHRoaXMuX3BhcmVudCk7XG4gICAgICB0aGlzLl9yb290ID0gZXhpc3RzID8gZXhpc3RzIDogZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgICB0YWc6ICdkaXYnLFxuICAgICAgICBhcHBlbmRUbzogdGhpcy5fcGFyZW50ID8gdGhpcy5fcGFyZW50IDogdW5kZWZpbmVkLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgY2xhc3M6IGVudi5jbGFzc2VzLmFjY291bnQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKCFleGlzdHMpIHtcbiAgICAgICAgdGhpcy5fcm9vdFNoYWRvdyA9IHRoaXMuX3Jvb3QuYXR0YWNoU2hhZG93KHtcbiAgICAgICAgICBtb2RlOiAnb3BlbicsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICAgIHRhZzogJ3N0eWxlJyxcbiAgICAgICAgaW5uZXJIVE1MOiBzdHlsZSxcbiAgICAgICAgYXBwZW5kVG86IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5fY2hpbGRyZW5cbiAgICAgICAgLmZpbHRlcihjaGlsZCA9PiBjaGlsZClcbiAgICAgICAgLmZvckVhY2goY2hpbGQgPT4gdGhpcy5fcm9vdFNoYWRvdy5hcHBlbmRDaGlsZChjaGlsZCkpO1xuICAgICAgfSk7XG4gIH1cblxuICBfb25WaWV3Q2hhbmdlKGV2ZW50LCBtb2RlKSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHRoaXMuX21vZGUgPSBtb2RlO1xuICAgIHRoaXMuX3Jvb3RTaGFkb3cuaW5uZXJIVE1MID0gJyc7XG4gICAgdGhpcy5fX2luaXRfXygpO1xuICAgIHRoaXMuX29uQWNjb3VudFZpZXdDaGFuZ2UobW9kZSk7XG4gIH1cblxuICBfb25TdWJtaXQoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IGZvcm0gPSBldmVudC5wYXRoID8gQXJyYXkuZnJvbShldmVudC5wYXRoKS5maW5kKGVsID0+IGVsLnRhZ05hbWUgPT09ICdGT1JNJykgOiB0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJy5fX3BhZ2VkLWFjY291bnQtZm9ybScpO1xuICAgIGNvbnN0IGlucHV0cyA9IEFycmF5LmZyb20oZm9ybS5jaGlsZE5vZGVzKS5maWx0ZXIoZWwgPT4gZWwudGFnTmFtZSA9PT0gJ0lOUFVUJyk7XG4gICAgY29uc3QgZXJyb3JzID0gQXJyYXkuZnJvbShmb3JtLmNoaWxkTm9kZXMpXG4gICAgICAuZmlsdGVyKGVsID0+IGVsLnRhZ05hbWUgPT09ICdQJylcbiAgICAgIC5maWx0ZXIoZWwgPT4gZWwuY2xhc3NOYW1lID09PSAnX19wYWdlZC1mb3JtLWVycm9yJyk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IGlucHV0cy5yZWR1Y2UoKHBheWxvYWQsIGlucHV0KSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBpbnB1dC5nZXRBdHRyaWJ1dGUoJ2RhdGFJZCcpO1xuICAgICAgaWYgKGtleSAmJiBpbnB1dC52YWx1ZSkge1xuICAgICAgICBwYXlsb2FkW2tleV0gPSBpbnB1dC52YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgIH0sIHt9KTtcblxuICAgIGVycm9ycy5mb3JFYWNoKGVycm9yID0+IGVycm9yLnJlbW92ZSgpKTtcblxuICAgIHN3aXRjaCAodGhpcy5fbW9kZSkge1xuICAgICAgY2FzZSAnbG9naW4nOlxuICAgICAgICB0aGlzLl9sb2dpbih2YWx1ZSwgZm9ybSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmVnaXN0ZXInOlxuICAgICAgICB0aGlzLl9yZWdpc3Rlcih2YWx1ZSwgZm9ybSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncHJvZmlsZSc6XG4gICAgICAgIHRoaXMuX3NhdmVTZXR0aW5ncyh2YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIF9sb2dpbih2YWx1ZSwgZm9ybSkge1xuICAgICAgRmV0Y2gucG9zdCgnL2FwaS9hdXRoL3NpZ25pbicsIHtcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkodmFsdWUgfHwge30pLFxuICAgICAgfSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgcmVzcG9uc2UuanNvbigpLnRoZW4odG9rZW4gPT4ge1xuICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5zZXQoJ2F1dGhfdG9rZW4nLCB0b2tlbi50b2tlbik7XG4gICAgICAgICAgICAgIHRoaXMuX2dldFNlc3Npb24oKS50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhICYmIGRhdGEudXNlcikge1xuICAgICAgICAgICAgICAgICAgaWYgKGRhdGEudXNlci5zZXR0aW5ncykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yZS5zZXQoJ2NvbmZpZycsIGRhdGEudXNlci5zZXR0aW5ncyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0b3JlLnNldCgndXNlcl9zZXR0aW5ncycsIGRhdGEudXNlci5zZXR0aW5ncyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB0aGlzLl91c2VyID0gZGF0YS51c2VyO1xuICAgICAgICAgICAgICAgICAgdGhpcy5fb25WaWV3Q2hhbmdlKG51bGwsICdwcm9maWxlJyk7XG4gICAgICAgICAgICAgICAgICB0aGlzLl9vblVzZXJMb2dpbigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBmb3JtLmluc2VydEJlZm9yZShkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhZzogJ3AnLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M6ICdfX3BhZ2VkLWZvcm0tZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBpbm5lckhUTUw6ICdJbmNvcnJlY3QgdXNlcm5hbWUgb3IgcGFzc3dvcmQuIENoZWNrIHlvdXIgY3JlZGVudGlhbHMgYXJlIGNvcnJlY3QgYW5kIHRyeSBhZ2FpbicsXG4gICAgICAgICAgICAgICAgICB9KSwgZm9ybS5xdWVyeVNlbGVjdG9yKCdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9ybS5pbnNlcnRCZWZvcmUoZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgICAgICAgdGFnOiAncCcsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgIGNsYXNzOiAnX19wYWdlZC1mb3JtLWVycm9yJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbm5lckhUTUw6ICdJbmNvcnJlY3QgdXNlcm5hbWUgb3IgcGFzc3dvcmQuIENoZWNrIHlvdXIgY3JlZGVudGlhbHMgYXJlIGNvcnJlY3QgYW5kIHRyeSBhZ2FpbicsXG4gICAgICAgICAgfSksIGZvcm0ucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0nKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgX3JlZ2lzdGVyKHZhbHVlLCBmb3JtKSB7XG5cbiAgICAgIGlmKGZvcm0ucXVlcnlTZWxlY3RvcignaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykuY2hlY2tlZCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICBmb3JtLmluc2VydEJlZm9yZShkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICAgICAgICAgIHRhZzogJ3AnLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgICBjbGFzczogJ19fcGFnZWQtZm9ybS1lcnJvcicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGlubmVySFRNTDogXCJQbGVhc2UgYWNjZXB0IG91ciB0ZXJtcyFcIixcbiAgICAgICAgICB9KSwgZm9ybS5xdWVyeVNlbGVjdG9yKCdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScpKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBGZXRjaC5wb3N0KCcvYXBpL2F1dGgvcmVnaXN0ZXInLCB7XG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh2YWx1ZSB8fCB7fSksXG4gICAgfSkudGhlbihyZXNwb25zZSA9PiByZXNwb25zZS5qc29uKCkudGhlbihkYXRhID0+IHtcbiAgICAgIGlmIChkYXRhICYmIGRhdGEuY29kZSAhPT0gMjAwKSB7XG4gICAgICAgIGZvcm0uaW5zZXJ0QmVmb3JlKGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICB0YWc6ICdwJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBjbGFzczogJ19fcGFnZWQtZm9ybS1lcnJvcicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbm5lckhUTUw6IGRhdGEubWVzc2FnZSxcbiAgICAgICAgfSksIGZvcm0ucXVlcnlTZWxlY3RvcignYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0nKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX29uVmlld0NoYW5nZSh1bmRlZmluZWQsICdsb2dpbicpO1xuICAgICAgICBuZXcgQWxlcnQoeyBwYXJlbnQ6IHRoaXMuX3Jvb3RTaGFkb3csIHRleHQ6IGRhdGEubWVzc2FnZSB9KVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIF9zYXZlU2V0dGluZ3ModmFsdWUpIHtcbiAgICBGZXRjaC5wb3N0KCcvYXBpL3VzZXIvc2V0dGluZ3MnLCB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IHRoaXMuX3N0b3JlLmdldCgnYXV0aF90b2tlbicpLFxuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHRoaXMuX3N0b3JlLmdldCgnY29uZmlnJykgfHwge30pLFxuICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKS50aGVuKGRhdGEgPT4ge1xuICAgICAgdGhpcy5fc3RvcmUuc2V0KCd1c2VyX3NldHRpbmdzJywgZGF0YS5zZXR0aW5ncyB8fCB7fSk7XG4gICAgICBuZXcgQWxlcnQoeyBwYXJlbnQ6IHRoaXMuX3Jvb3RTaGFkb3csIHRleHQ6IGRhdGEubWVzc2FnZSB9KVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgX2dldFNlc3Npb24oKSB7XG4gICAgcmV0dXJuIGF3YWl0IEZldGNoLmdldCgnL2FwaS9hdXRoL3Nlc3Npb24nLCB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IHRoaXMuX3N0b3JlLmdldCgnYXV0aF90b2tlbicpLFxuICAgICAgfSxcbiAgICB9KS50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmpzb24oKSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJzdHlsZSIsImRvbSIsImVudiIsIkZldGNoIiwiaWNvbnMiLCJBbGVydCIsIkFjY291bnQiLCJfcm9vdCIsIl9yb290U2hhZG93IiwiX3BhcmVudCIsIl9tb2RlIiwiX3VzZXIiLCJfc3RvcmUiLCJfdHJhbnNsYXRpb24iLCJfb25Vc2VyTG9naW4iLCJfb25BY2NvdW50Vmlld0NoYW5nZSIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsInBhcmVudCIsInVuZGVmaW5lZCIsInN0b3JlIiwidHJhbnNsYXRpb24iLCJvblVzZXJMb2dpbiIsIm9uQWNjb3VudFZpZXdDaGFuZ2UiLCJfX2luaXRfXyIsIl9sYWJlbCIsImNyZWF0ZUVsZW1lbnQiLCJ0YWciLCJpbm5lckhUTUwiLCJnZXQiLCJfY29udGVudCIsImNvbnRlbnQiLCJhdHRyaWJ1dGVzIiwiY2xhc3MiLCJwcm9maWxlIiwidXNlcm5hbWUiLCJuYW1lIiwiZW1haWwiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwid2Vla2RheSIsInllYXIiLCJtb250aCIsImRheSIsImV2ZW50cyIsInN1Ym1pdCIsIl9vblN1Ym1pdCIsImJpbmQiLCJhcHBlbmRUbyIsInR5cGUiLCJjbGljayIsImUiLCJfb25WaWV3Q2hhbmdlIiwicmVtb3ZlIiwiX2NoaWxkcmVuIiwiX2dldFNlc3Npb24iLCJ0aGVuIiwiZGF0YSIsInVzZXIiLCJleGlzdHMiLCJzZWxlY3RFbGVtZW50IiwiY2xhc3NlcyIsImFjY291bnQiLCJhdHRhY2hTaGFkb3ciLCJtb2RlIiwiZmlsdGVyIiwiY2hpbGQiLCJmb3JFYWNoIiwiYXBwZW5kQ2hpbGQiLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiZm9ybSIsInBhdGgiLCJBcnJheSIsImZyb20iLCJmaW5kIiwiZWwiLCJ0YWdOYW1lIiwicXVlcnlTZWxlY3RvciIsImlucHV0cyIsImNoaWxkTm9kZXMiLCJlcnJvcnMiLCJjbGFzc05hbWUiLCJ2YWx1ZSIsInJlZHVjZSIsInBheWxvYWQiLCJpbnB1dCIsImtleSIsImdldEF0dHJpYnV0ZSIsImVycm9yIiwiX2xvZ2luIiwiX3JlZ2lzdGVyIiwiX3NhdmVTZXR0aW5ncyIsInBvc3QiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsInJlc3BvbnNlIiwic3RhdHVzIiwianNvbiIsInRva2VuIiwic2V0Iiwic2V0dGluZ3MiLCJpbnNlcnRCZWZvcmUiLCJjaGVja2VkIiwiY29kZSIsIm1lc3NhZ2UiLCJ0ZXh0IiwiaGVhZGVycyIsIkF1dGhvcml6YXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/overlay/components/account/index.js\n");
/***/ }),
/***/ "./src/components/overlay/components/account/style.js":
/*!************************************************************!*\
!*** ./src/components/overlay/components/account/style.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 */ });\nconst styles = `\n \n :host .__paged-account-form input[type=\"checkbox\"] {\n width: auto;\n height: auto;\n position: relative;\n margin-bottom: 0;\n }\n\n :host {\n width: fit-content;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n min-height: 300px;\n position: relative;\n }\n\n :host label {\n margin: 16px 12px;\n }\n\n :host .__paged-account-form {\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n }\n\n :host .__paged-account-form input {\n width: calc(100% - 42px);\n margin-bottom: 12px;\n outline: none;\n border-radius: 5px;\n border: none;\n background: rgba(0, 0, 0, 0.04);\n color: #222D39;\n padding: 12px 8px;\n min-width: 280px;\n margin-right: 16px;\n margin-left: 16px;\n }\n\n :host .__paged-account-form button[type=\"submit\"] {\n border-radius: 5px;\n background: var(--paged-color);\n padding: 12px 8px;\n width: calc(100% - 28px);\n outline: none;\n border: none;\n cursor: pointer;\n font-weight: 600;\n color: white;\n }\n\n :host .__paged-account-form span {\n color: #222D39;\n padding: 12px;\n position: relative;\n background: white;\n }\n\n :host .__paged-account-form span:after {\n content: '';\n width: 100px;\n height: 2px;\n background: #222D39;\n position: absolute;\n top: 0;\n left: -25px;\n right: 0;\n bottom: 0;\n margin: auto;\n z-index: -1;\n }\n\n :host .__paged-account-form button[type=\"link\"] {\n border-radius: 5px;\n background: none;\n border: 2px solid var(--paged-color);\n padding: 10px 8px;\n width: calc(100% - 28px);\n color: var(--paged-color);\n outline: none;\n cursor: pointer;\n margin-bottom: 12px;\n font-weight: 600;\n }\n\n :host .__paged-account-form a {\n color: #222D39;\n text-decoration: underline;\n margin-bottom: 12px;\n }\n\n /*:host .__paged-account-form a:hover {\n text-decoration: underline;\n }*/\n\n :host .__paged-form-error {\n color: red;\n margin: 0 12px 12px 12px;\n }\n\n :host .__paged-profile {\n width: 60px;\n height: 60px;\n background: rgba(255, 255, 255, 0.03);\n border-radius: 50%;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n }\n\n :host .__paged-profile span {\n padding 0;\n background: none;\n }\n\n :host .__paged-profile span::after {\n display: none;\n }\n\n :host h1 {\n margin: 12px auto;\n font-weight: 500;\n margin-bottom: 24px;\n }\n\n :host h3 {\n text-align: start;\n font-weight: 400;\n width: calc(100% - 24px);\n margin: 0 0 12px 0;\n }\n :host h3:last-of-type {\n margin-bottom: 24px;\n }\n :host button:nth-of-type(1) {\n margin-bottom: 12px;\n }\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (styles);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvYWNjb3VudC9zdHlsZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTUEsTUFBTSxHQUFHO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxpRUFBZUEsTUFBTSIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL3NyYy9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9hY2NvdW50L3N0eWxlLmpzPzY2ZTUiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgc3R5bGVzID0gYFxuICAgICAgXG4gIDpob3N0IC5fX3BhZ2VkLWFjY291bnQtZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIDpob3N0IHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIDpob3N0IGxhYmVsIHtcbiAgICBtYXJnaW46IDE2cHggMTJweDtcbiAgfVxuXG4gIDpob3N0IC5fX3BhZ2VkLWFjY291bnQtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgOmhvc3QgLl9fcGFnZWQtYWNjb3VudC1mb3JtIGlucHV0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDJweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICBjb2xvcjogIzIyMkQzOTtcbiAgICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgICBtaW4td2lkdGg6IDI4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgfVxuXG4gIDpob3N0IC5fX3BhZ2VkLWFjY291bnQtZm9ybSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBhZ2VkLWNvbG9yKTtcbiAgICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjhweCk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgOmhvc3QgLl9fcGFnZWQtYWNjb3VudC1mb3JtIHNwYW4ge1xuICAgIGNvbG9yOiAjMjIyRDM5O1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG5cbiAgOmhvc3QgLl9fcGFnZWQtYWNjb3VudC1mb3JtIHNwYW46YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyRDM5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIDpob3N0IC5fX3BhZ2VkLWFjY291bnQtZm9ybSBidXR0b25bdHlwZT1cImxpbmtcIl0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBhZ2VkLWNvbG9yKTtcbiAgICBwYWRkaW5nOiAxMHB4IDhweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjhweCk7XG4gICAgY29sb3I6IHZhcigtLXBhZ2VkLWNvbG9yKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICA6aG9zdCAuX19wYWdlZC1hY2NvdW50LWZvcm0gYSB7XG4gICAgY29sb3I6ICMyMjJEMzk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuXG4gIC8qOmhvc3QgLl9fcGFnZWQtYWNjb3VudC1mb3JtIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9Ki9cblxuICA6aG9zdCAuX19wYWdlZC1mb3JtLWVycm9yIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIG1hcmdpbjogMCAxMnB4IDEycHggMTJweDtcbiAgfVxuXG4gIDpob3N0IC5fX3BhZ2VkLXByb2ZpbGUge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIDpob3N0IC5fX3BhZ2VkLXByb2ZpbGUgc3BhbiB7XG4gICAgcGFkZGluZyAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICA6aG9zdCAuX19wYWdlZC1wcm9maWxlIHNwYW46OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgOmhvc3QgaDEge1xuICAgIG1hcmdpbjogMTJweCBhdXRvO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxuXG4gIDpob3N0IGgzIHtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNHB4KTtcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gIH1cbiAgOmhvc3QgaDM6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG4gIDpob3N0IGJ1dHRvbjpudGgtb2YtdHlwZSgxKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuYDtcbmV4cG9ydCBkZWZhdWx0IHN0eWxlcztcbiJdLCJuYW1lcyI6WyJzdHlsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/overlay/components/account/style.js\n");
/***/ }),
/***/ "./src/components/overlay/components/alert/index.js":
/*!**********************************************************!*\
!*** ./src/components/overlay/components/alert/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\": () => (/* binding */ Alert)\n/* harmony export */ });\n/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ \"./src/components/overlay/components/alert/style.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../utils/dom */ \"./src/utils/dom.js\");\n/* harmony import */ var _configuration_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../configuration/constants */ \"./configuration/constants.js\");\n/* harmony import */ var _fetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../fetch */ \"./src/components/fetch/index.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../icons */ \"./src/components/icons.js\");\n\n\n\n\n\nclass Alert {\n _root = null;\n _rootShadow = null;\n _parent = null;\n _text = null;\n _id = null;\n constructor(options) {\n if (options) {\n this._parent = options.parent ? options.parent : undefined;\n this._text = options.text ? options.text : undefined;\n }\n this.__init__();\n }\n get _content() {\n const content = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n class: '__paged-alert'\n },\n innerHTML: this._text,\n events: {\n click: () => console.log('clicked')\n }\n });\n return content;\n }\n get _children() {\n return [this._content];\n }\n __init__() {\n this._id = this._genId();\n this._root = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: this._parent ? this._parent : undefined,\n attributes: {\n id: this._id\n }\n });\n this._rootShadow = this._root.attachShadow({\n mode: 'closed'\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'style',\n innerHTML: _style__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n appendTo: this._rootShadow\n });\n this._children.filter(child => child).forEach(child => this._rootShadow.appendChild(child));\n setTimeout(() => {\n const element = this._parent.getElementById(this._id);\n if (element) {\n element.remove();\n }\n }, 3000);\n }\n _genId() {\n const ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n const ID_LENGTH = 8;\n var rtn = '';\n for (var i = 0; i < ID_LENGTH; i++) {\n rtn += ALPHABET.charAt(Math.floor(Math.random() * ALPHABET.length));\n }\n return rtn;\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvYWxlcnQvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTRCO0FBQ1k7QUFDaUI7QUFDbEI7QUFDSjtBQUVwQixNQUFNSyxLQUFLLENBQUM7RUFDekJDLEtBQUssR0FBRyxJQUFJO0VBQ1pDLFdBQVcsR0FBRyxJQUFJO0VBQ2xCQyxPQUFPLEdBQUcsSUFBSTtFQUNkQyxLQUFLLEdBQUcsSUFBSTtFQUNaQyxHQUFHLEdBQUcsSUFBSTtFQUVWQyxXQUFXQSxDQUFDQyxPQUFPLEVBQUU7SUFDbkIsSUFBSUEsT0FBTyxFQUFFO01BQ1gsSUFBSSxDQUFDSixPQUFPLEdBQUdJLE9BQU8sQ0FBQ0MsTUFBTSxHQUN6QkQsT0FBTyxDQUFDQyxNQUFNLEdBQUdDLFNBQVM7TUFDOUIsSUFBSSxDQUFDTCxLQUFLLEdBQUdHLE9BQU8sQ0FBQ0csSUFBSSxHQUNyQkgsT0FBTyxDQUFDRyxJQUFJLEdBQUdELFNBQVM7SUFDOUI7SUFFQSxJQUFJLENBQUNFLFFBQVEsQ0FBQyxDQUFDO0VBQ2pCO0VBRUEsSUFBSUMsUUFBUUEsQ0FBQSxFQUFHO0lBQ2IsTUFBTUMsT0FBTyxHQUFHakIsa0RBQUcsQ0FBQ2tCLGFBQWEsQ0FBQztNQUNoQ0MsR0FBRyxFQUFFLEtBQUs7TUFDVkMsVUFBVSxFQUFFO1FBQ1ZDLEtBQUssRUFBRTtNQUNULENBQUM7TUFDREMsU0FBUyxFQUFFLElBQUksQ0FBQ2QsS0FBSztNQUNyQmUsTUFBTSxFQUFFO1FBQ05DLEtBQUssRUFBRUEsQ0FBQSxLQUFNQyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxTQUFTO01BQ3BDO0lBQ0YsQ0FBQyxDQUFDO0lBRUYsT0FBT1QsT0FBTztFQUNoQjtFQUVBLElBQUlVLFNBQVNBLENBQUEsRUFBRztJQUNkLE9BQU8sQ0FDTCxJQUFJLENBQUNYLFFBQVEsQ0FDZDtFQUNIO0VBRUFELFFBQVFBLENBQUEsRUFBRztJQUNULElBQUksQ0FBQ04sR0FBRyxHQUFHLElBQUksQ0FBQ21CLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLElBQUksQ0FBQ3ZCLEtBQUssR0FBR0wsa0RBQUcsQ0FBQ2tCLGFBQWEsQ0FBQztNQUM3QkMsR0FBRyxFQUFFLEtBQUs7TUFDVlUsUUFBUSxFQUFFLElBQUksQ0FBQ3RCLE9BQU8sR0FBRyxJQUFJLENBQUNBLE9BQU8sR0FBR00sU0FBUztNQUNqRE8sVUFBVSxFQUFFO1FBQ1ZVLEVBQUUsRUFBRSxJQUFJLENBQUNyQjtNQUNYO0lBQ0YsQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDSCxXQUFXLEdBQUcsSUFBSSxDQUFDRCxLQUFLLENBQUMwQixZQUFZLENBQUM7TUFDekNDLElBQUksRUFBRTtJQUNSLENBQUMsQ0FBQztJQUVGaEMsa0RBQUcsQ0FBQ2tCLGFBQWEsQ0FBQztNQUNoQkMsR0FBRyxFQUFFLE9BQU87TUFDWkcsU0FBUyxFQUFFdkIsOENBQUs7TUFDaEI4QixRQUFRLEVBQUUsSUFBSSxDQUFDdkI7SUFDakIsQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDcUIsU0FBUyxDQUNYTSxNQUFNLENBQUNDLEtBQUssSUFBSUEsS0FBSyxDQUFDLENBQ3RCQyxPQUFPLENBQUNELEtBQUssSUFBSSxJQUFJLENBQUM1QixXQUFXLENBQUM4QixXQUFXLENBQUNGLEtBQUssQ0FBQyxDQUFDO0lBRXhERyxVQUFVLENBQUMsTUFBTTtNQUNmLE1BQU1DLE9BQU8sR0FBRyxJQUFJLENBQUMvQixPQUFPLENBQUNnQyxjQUFjLENBQUMsSUFBSSxDQUFDOUIsR0FBRyxDQUFDO01BQ3JELElBQUk2QixPQUFPLEVBQUU7UUFDWEEsT0FBTyxDQUFDRSxNQUFNLENBQUMsQ0FBQztNQUNsQjtJQUNGLENBQUMsRUFBRSxJQUFJLENBQUM7RUFDVjtFQUVBWixNQUFNQSxDQUFBLEVBQUc7SUFDUCxNQUFNYSxRQUFRLEdBQUcsZ0VBQWdFO0lBQ2pGLE1BQU1DLFNBQVMsR0FBRyxDQUFDO0lBQ25CLElBQUlDLEdBQUcsR0FBRyxFQUFFO0lBQ1osS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdGLFNBQVMsRUFBRUUsQ0FBQyxFQUFFLEVBQUU7TUFDbENELEdBQUcsSUFBSUYsUUFBUSxDQUFDSSxNQUFNLENBQUNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDRCxJQUFJLENBQUNFLE1BQU0sQ0FBQyxDQUFDLEdBQUdQLFFBQVEsQ0FBQ1EsTUFBTSxDQUFDLENBQUM7SUFDckU7SUFDQSxPQUFPTixHQUFHO0VBQ1o7QUFHRiIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL3NyYy9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9hbGVydC9pbmRleC5qcz80NWVjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZSBmcm9tICcuL3N0eWxlJztcbmltcG9ydCBkb20gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCBlbnYgZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRmV0Y2ggfSBmcm9tICcuLi8uLi8uLi9mZXRjaCc7XG5pbXBvcnQgaWNvbnMgZnJvbSAnLi4vLi4vLi4vaWNvbnMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBbGVydCB7XG4gIF9yb290ID0gbnVsbDtcbiAgX3Jvb3RTaGFkb3cgPSBudWxsO1xuICBfcGFyZW50ID0gbnVsbDtcbiAgX3RleHQgPSBudWxsO1xuICBfaWQgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgdGhpcy5fcGFyZW50ID0gb3B0aW9ucy5wYXJlbnRcbiAgICAgICAgPyBvcHRpb25zLnBhcmVudCA6IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX3RleHQgPSBvcHRpb25zLnRleHRcbiAgICAgICAgPyBvcHRpb25zLnRleHQgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdGhpcy5fX2luaXRfXygpO1xuICB9XG5cbiAgZ2V0IF9jb250ZW50KCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBjbGFzczogJ19fcGFnZWQtYWxlcnQnLFxuICAgICAgfSxcbiAgICAgIGlubmVySFRNTDogdGhpcy5fdGV4dCxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICBjbGljazogKCkgPT4gY29uc29sZS5sb2coJ2NsaWNrZWQnKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGdldCBfY2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMuX2NvbnRlbnQsXG4gICAgXTtcbiAgfVxuXG4gIF9faW5pdF9fKCkge1xuICAgIHRoaXMuX2lkID0gdGhpcy5fZ2VuSWQoKTtcbiAgICB0aGlzLl9yb290ID0gZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGFwcGVuZFRvOiB0aGlzLl9wYXJlbnQgPyB0aGlzLl9wYXJlbnQgOiB1bmRlZmluZWQsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGlkOiB0aGlzLl9pZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9yb290U2hhZG93ID0gdGhpcy5fcm9vdC5hdHRhY2hTaGFkb3coe1xuICAgICAgbW9kZTogJ2Nsb3NlZCcsXG4gICAgfSk7XG5cbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdzdHlsZScsXG4gICAgICBpbm5lckhUTUw6IHN0eWxlLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgfSk7XG5cbiAgICB0aGlzLl9jaGlsZHJlblxuICAgICAgLmZpbHRlcihjaGlsZCA9PiBjaGlsZClcbiAgICAgIC5mb3JFYWNoKGNoaWxkID0+IHRoaXMuX3Jvb3RTaGFkb3cuYXBwZW5kQ2hpbGQoY2hpbGQpKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX3BhcmVudC5nZXRFbGVtZW50QnlJZCh0aGlzLl9pZCk7XG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnJlbW92ZSgpO1xuICAgICAgfVxuICAgIH0sIDMwMDApO1xuICB9XG5cbiAgX2dlbklkKCkge1xuICAgIGNvbnN0IEFMUEhBQkVUID0gJzAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJztcbiAgICBjb25zdCBJRF9MRU5HVEggPSA4O1xuICAgIHZhciBydG4gPSAnJztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IElEX0xFTkdUSDsgaSsrKSB7XG4gICAgICBydG4gKz0gQUxQSEFCRVQuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIEFMUEhBQkVULmxlbmd0aCkpO1xuICAgIH1cbiAgICByZXR1cm4gcnRuO1xuICB9XG5cblxufVxuIl0sIm5hbWVzIjpbInN0eWxlIiwiZG9tIiwiZW52IiwiRmV0Y2giLCJpY29ucyIsIkFsZXJ0IiwiX3Jvb3QiLCJfcm9vdFNoYWRvdyIsIl9wYXJlbnQiLCJfdGV4dCIsIl9pZCIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsInBhcmVudCIsInVuZGVmaW5lZCIsInRleHQiLCJfX2luaXRfXyIsIl9jb250ZW50IiwiY29udGVudCIsImNyZWF0ZUVsZW1lbnQiLCJ0YWciLCJhdHRyaWJ1dGVzIiwiY2xhc3MiLCJpbm5lckhUTUwiLCJldmVudHMiLCJjbGljayIsImNvbnNvbGUiLCJsb2ciLCJfY2hpbGRyZW4iLCJfZ2VuSWQiLCJhcHBlbmRUbyIsImlkIiwiYXR0YWNoU2hhZG93IiwibW9kZSIsImZpbHRlciIsImNoaWxkIiwiZm9yRWFjaCIsImFwcGVuZENoaWxkIiwic2V0VGltZW91dCIsImVsZW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInJlbW92ZSIsIkFMUEhBQkVUIiwiSURfTEVOR1RIIiwicnRuIiwiaSIsImNoYXJBdCIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsImxlbmd0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/overlay/components/alert/index.js\n");
/***/ }),
/***/ "./src/components/overlay/components/alert/style.js":
/*!**********************************************************!*\
!*** ./src/components/overlay/components/alert/style.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 */ });\nconst styles = `\n :host .__paged-alert {\n width: calc(100% - 50px);\n padding: 12px;\n border-radius: 5px;\n background: rgba(255, 255, 255, 0.5);\n color: black;\n position: absolute;\n top: 12px;\n left: 0;\n right: 0;\n margin: auto;\n mix-blend-mode: difference !important;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n box-shadow: 0 2px 4px 0 rgb(0 0 0 / 20%);\n }\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (styles);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvYWxlcnQvc3R5bGUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU1BLE1BQU0sR0FBRztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsaUVBQWVBLE1BQU0iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aWRnZXQvLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvYWxlcnQvc3R5bGUuanM/NjMxOCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzdHlsZXMgPSBgXG4gIDpob3N0IC5fX3BhZ2VkLWFsZXJ0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2IoMCAwIDAgLyAyMCUpO1xuICB9XG5gO1xuZXhwb3J0IGRlZmF1bHQgc3R5bGVzO1xuIl0sIm5hbWVzIjpbInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/overlay/components/alert/style.js\n");
/***/ }),
/***/ "./src/components/overlay/components/input/index.js":
/*!**********************************************************!*\
!*** ./src/components/overlay/components/input/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\": () => (/* binding */ Input)\n/* harmony export */ });\n/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ \"./src/components/overlay/components/input/style.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../utils/dom */ \"./src/utils/dom.js\");\n/* harmony import */ var _configuration_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../configuration/constants */ \"./configuration/constants.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../icons */ \"./src/components/icons.js\");\n\n\n\n\nclass Input {\n _root = null;\n _rootShadow = null;\n _parent = null;\n _text = null;\n _type = null;\n _uniqId = null;\n _options = null;\n _key = null;\n _value = null;\n _validations = null;\n _widget = null;\n onChange = () => {};\n inputEvent = new CustomEvent('input', {\n details: {\n text: () => text.value\n }\n });\n constructor(options) {\n if (options) {\n this._widget = options.widget;\n this._key = options.key;\n this._parent = options.parent ? options.parent : undefined;\n this._text = options.label ? options.label : undefined;\n this._type = options.type ? options.type : undefined;\n this._options = options.options ? options.options : undefined;\n this._validations = options.validations ? options.validations : undefined;\n this._value = typeof options.value !== undefined ? options.value : undefined;\n if (options.onChange) {\n this.onChange = options.onChange;\n }\n this._uniqId = this._genId();\n }\n this.__init__();\n }\n set value(val) {\n this._value = val;\n this._rootShadow.removeChild(this._rootShadow.childNodes[2]);\n this._rootShadow.appendChild(this._content);\n }\n get _label() {\n if (this._text) {\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'label',\n attributes: {\n class: '__paged-input-label'\n },\n innerHTML: this._text\n });\n }\n return undefined;\n }\n getWithFormat(value) {\n if (this._validations && this._validations.format) {\n return this._validations.format(value);\n }\n return value;\n }\n get _content() {\n if (this._type) {\n switch (this._type) {\n case 'switch':\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n class: '__paged-input-switch'\n },\n children: [_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'input',\n attributes: {\n type: 'checkbox',\n id: this._uniqId,\n checked: this._value\n },\n events: {\n input: this._onChange.bind(this)\n }\n }), _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'label',\n attributes: {\n type: 'checkbox',\n for: this._uniqId\n }\n })]\n });\n case 'increment':\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n class: '__paged-input-increment'\n },\n children: [_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'span',\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].minus,\n events: {\n click: this._stepDown.bind(this)\n }\n }), _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'input',\n attributes: {\n type: 'number',\n value: 0,\n min: this._validations && typeof this._validations.min === 'number' ? this.getWithFormat(this._validations.min) : 0,\n max: this._validations && typeof this._validations.max === 'number' ? this.getWithFormat(this._validations.max) : this._isMobile() ? 5 : 15,\n step: this._validations && typeof this._validations.step === 'number' ? this.getWithFormat(this._validations.step) : 1,\n value: this.getWithFormat(this._value)\n },\n events: {\n keyup: ev => {\n const input = this._rootShadow.querySelector('input[type=\"number\"]');\n const maxValue = this._validations && typeof this._validations.max === 'number' ? this._validations.max : this._isMobile() ? 5 : 15;\n const minValue = this._validations && typeof this._validations.min === 'number' ? this._validations.min : 0;\n if (parseInt(input.value) >= maxValue) {\n ev.preventDefault();\n input.value = this.getWithFormat(15);\n input.dispatchEvent(this.inputEvent);\n }\n if (parseInt(input.value) <= minValue) {\n ev.preventDefault();\n input.value = this.getWithFormat(0);\n input.dispatchEvent(this.inputEvent);\n }\n },\n input: this._onChange.bind(this)\n }\n }), _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'span',\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].plus,\n events: {\n click: this._stepUp.bind(this)\n }\n })]\n });\n case 'select':\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'select',\n attributes: {\n class: '__paged-input-select',\n id: this._key\n },\n events: {\n input: this._onChange.bind(this)\n },\n children: (this._options || []).map(option => {\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'option',\n attributes: {\n value: option.value,\n selected: option.value === this._value\n },\n innerHTML: option.label\n });\n })\n });\n default:\n return this._type;\n }\n }\n return undefined;\n }\n get _children() {\n return [this._label, this._content];\n }\n __init__() {\n this._root = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: this._parent ? this._parent : undefined,\n attributes: {\n class: _configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.input,\n labelKey: this._key\n }\n });\n this._rootShadow = this._root.attachShadow({\n mode: 'open'\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'style',\n innerHTML: _style__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n appendTo: this._rootShadow\n });\n this._children.filter(child => child).forEach(child => this._rootShadow.appendChild(child));\n }\n _genId() {\n const ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n const ID_LENGTH = 8;\n var rtn = '';\n for (var i = 0; i < ID_LENGTH; i++) {\n rtn += ALPHABET.charAt(Math.floor(Math.random() * ALPHABET.length));\n }\n return rtn;\n }\n _stepDown() {\n const input = this._rootShadow.querySelector('input[type=\"number\"]');\n if (input) {\n input.stepDown();\n input.dispatchEvent(this.inputEvent);\n }\n }\n _stepUp() {\n const input = this._rootShadow.querySelector('input[type=\"number\"]');\n if (input) {\n input.stepUp();\n input.dispatchEvent(this.inputEvent);\n }\n }\n _isMobile() {\n return window.matchMedia('(max-width: 767px)').matches;\n }\n _onChange(event) {\n let value;\n switch (this._type) {\n case 'select':\n const select = this._rootShadow.querySelector('select');\n value = select.value;\n break;\n case 'switch':\n const checkbox = this._rootShadow.querySelector('input[type=\"checkbox\"]');\n value = checkbox.checked || false;\n\n //Check for close widget on mobile (Screenreader)\n const switchElement = checkbox.parentElement;\n const label = switchElement.previousElementSibling.innerHTML;\n if (this._isMobile() && label === 'Screen Reader' && value) {\n this._widget._close();\n }\n break;\n case 'increment':\n const number = this._rootShadow.querySelector('input[type=\"number\"]');\n if (this._validations && this._validations.format) {\n value = Number(number.value || 0) / 100;\n } else {\n value = Number(number.value || 0);\n }\n break;\n }\n this.onChange(value);\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvaW5wdXQvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNEI7QUFDWTtBQUNpQjtBQUN0QjtBQUVwQixNQUFNSSxLQUFLLENBQUM7RUFDekJDLEtBQUssR0FBRyxJQUFJO0VBQ1pDLFdBQVcsR0FBRyxJQUFJO0VBQ2xCQyxPQUFPLEdBQUcsSUFBSTtFQUNkQyxLQUFLLEdBQUcsSUFBSTtFQUNaQyxLQUFLLEdBQUcsSUFBSTtFQUNaQyxPQUFPLEdBQUcsSUFBSTtFQUNkQyxRQUFRLEdBQUcsSUFBSTtFQUNmQyxJQUFJLEdBQUcsSUFBSTtFQUNYQyxNQUFNLEdBQUcsSUFBSTtFQUNiQyxZQUFZLEdBQUcsSUFBSTtFQUNuQkMsT0FBTyxHQUFHLElBQUk7RUFDZEMsUUFBUSxHQUFHQSxDQUFBLEtBQU0sQ0FBQyxDQUFDO0VBQ25CQyxVQUFVLEdBQUcsSUFBSUMsV0FBVyxDQUFDLE9BQU8sRUFBRTtJQUNwQ0MsT0FBTyxFQUFFO01BQ1BDLElBQUksRUFBRUEsQ0FBQSxLQUFNQSxJQUFJLENBQUNDO0lBQ25CO0VBQ0YsQ0FBQyxDQUFDO0VBRUZDLFdBQVdBLENBQUNDLE9BQU8sRUFBRTtJQUNuQixJQUFJQSxPQUFPLEVBQUU7TUFDWCxJQUFJLENBQUNSLE9BQU8sR0FBR1EsT0FBTyxDQUFDQyxNQUFNO01BQzdCLElBQUksQ0FBQ1osSUFBSSxHQUFHVyxPQUFPLENBQUNFLEdBQUc7TUFDdkIsSUFBSSxDQUFDbEIsT0FBTyxHQUFHZ0IsT0FBTyxDQUFDRyxNQUFNLEdBQ3pCSCxPQUFPLENBQUNHLE1BQU0sR0FBR0MsU0FBUztNQUM5QixJQUFJLENBQUNuQixLQUFLLEdBQUdlLE9BQU8sQ0FBQ0ssS0FBSyxHQUN0QkwsT0FBTyxDQUFDSyxLQUFLLEdBQUdELFNBQVM7TUFDN0IsSUFBSSxDQUFDbEIsS0FBSyxHQUFHYyxPQUFPLENBQUNNLElBQUksR0FDckJOLE9BQU8sQ0FBQ00sSUFBSSxHQUFHRixTQUFTO01BQzVCLElBQUksQ0FBQ2hCLFFBQVEsR0FBR1ksT0FBTyxDQUFDQSxPQUFPLEdBQzNCQSxPQUFPLENBQUNBLE9BQU8sR0FBR0ksU0FBUztNQUMvQixJQUFJLENBQUNiLFlBQVksR0FBR1MsT0FBTyxDQUFDTyxXQUFXLEdBQ25DUCxPQUFPLENBQUNPLFdBQVcsR0FBR0gsU0FBUztNQUNuQyxJQUFJLENBQUNkLE1BQU0sR0FBRyxPQUFPVSxPQUFPLENBQUNGLEtBQUssS0FBS00sU0FBUyxHQUM1Q0osT0FBTyxDQUFDRixLQUFLLEdBQUdNLFNBQVM7TUFDN0IsSUFBSUosT0FBTyxDQUFDUCxRQUFRLEVBQUU7UUFDcEIsSUFBSSxDQUFDQSxRQUFRLEdBQUdPLE9BQU8sQ0FBQ1AsUUFBUTtNQUNsQztNQUNBLElBQUksQ0FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQ3FCLE1BQU0sQ0FBQyxDQUFDO0lBQzlCO0lBQ0EsSUFBSSxDQUFDQyxRQUFRLENBQUMsQ0FBQztFQUNqQjtFQUVBLElBQUlYLEtBQUtBLENBQUNZLEdBQUcsRUFBRTtJQUNiLElBQUksQ0FBQ3BCLE1BQU0sR0FBR29CLEdBQUc7SUFDakIsSUFBSSxDQUFDM0IsV0FBVyxDQUFDNEIsV0FBVyxDQUFDLElBQUksQ0FBQzVCLFdBQVcsQ0FBQzZCLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxJQUFJLENBQUM3QixXQUFXLENBQUM4QixXQUFXLENBQUMsSUFBSSxDQUFDQyxRQUFRLENBQUM7RUFDN0M7RUFFQSxJQUFJQyxNQUFNQSxDQUFBLEVBQUc7SUFDWCxJQUFJLElBQUksQ0FBQzlCLEtBQUssRUFBRTtNQUNkLE9BQU9QLGtEQUFHLENBQUNzQyxhQUFhLENBQUM7UUFDdkJDLEdBQUcsRUFBRSxPQUFPO1FBQ1pDLFVBQVUsRUFBRTtVQUNWQyxLQUFLLEVBQUU7UUFDVCxDQUFDO1FBQ0RDLFNBQVMsRUFBRSxJQUFJLENBQUNuQztNQUNsQixDQUFDLENBQUM7SUFDSjtJQUNBLE9BQU9tQixTQUFTO0VBQ2xCO0VBRUFpQixhQUFhQSxDQUFDdkIsS0FBSyxFQUFFO0lBQ25CLElBQUksSUFBSSxDQUFDUCxZQUFZLElBQUksSUFBSSxDQUFDQSxZQUFZLENBQUMrQixNQUFNLEVBQUU7TUFDakQsT0FBTyxJQUFJLENBQUMvQixZQUFZLENBQUMrQixNQUFNLENBQUN4QixLQUFLLENBQUM7SUFDeEM7SUFDQSxPQUFPQSxLQUFLO0VBQ2Q7RUFFQSxJQUFJZ0IsUUFBUUEsQ0FBQSxFQUFHO0lBQ2IsSUFBSSxJQUFJLENBQUM1QixLQUFLLEVBQUU7TUFDZCxRQUFRLElBQUksQ0FBQ0EsS0FBSztRQUNoQixLQUFLLFFBQVE7VUFDWCxPQUFPUixrREFBRyxDQUFDc0MsYUFBYSxDQUFDO1lBQ3ZCQyxHQUFHLEVBQUUsS0FBSztZQUNWQyxVQUFVLEVBQUU7Y0FDVkMsS0FBSyxFQUFFO1lBQ1QsQ0FBQztZQUNESSxRQUFRLEVBQUUsQ0FDUjdDLGtEQUFHLENBQUNzQyxhQUFhLENBQUM7Y0FDaEJDLEdBQUcsRUFBRSxPQUFPO2NBQ1pDLFVBQVUsRUFBRTtnQkFDVlosSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCa0IsRUFBRSxFQUFFLElBQUksQ0FBQ3JDLE9BQU87Z0JBQ2hCc0MsT0FBTyxFQUFFLElBQUksQ0FBQ25DO2NBQ2hCLENBQUM7Y0FDRG9DLE1BQU0sRUFBRTtnQkFDTkMsS0FBSyxFQUFFLElBQUksQ0FBQ0MsU0FBUyxDQUFDQyxJQUFJLENBQUMsSUFBSTtjQUNqQztZQUNGLENBQUMsQ0FBQyxFQUNGbkQsa0RBQUcsQ0FBQ3NDLGFBQWEsQ0FBQztjQUNoQkMsR0FBRyxFQUFFLE9BQU87Y0FDWkMsVUFBVSxFQUFFO2dCQUNWWixJQUFJLEVBQUUsVUFBVTtnQkFDaEJ3QixHQUFHLEVBQUUsSUFBSSxDQUFDM0M7Y0FDWjtZQUNGLENBQUMsQ0FBQztVQUVOLENBQUMsQ0FBQztRQUNKLEtBQUssV0FBVztVQUNkLE9BQU9ULGtEQUFHLENBQUNzQyxhQUFhLENBQUM7WUFDdkJDLEdBQUcsRUFBRSxLQUFLO1lBQ1ZDLFVBQVUsRUFBRTtjQUNWQyxLQUFLLEVBQUU7WUFDVCxDQUFDO1lBQ0RJLFFBQVEsRUFBRSxDQUNSN0Msa0RBQUcsQ0FBQ3NDLGFBQWEsQ0FBQztjQUNoQkMsR0FBRyxFQUFFLE1BQU07Y0FDWEcsU0FBUyxFQUFFeEMsOENBQUssQ0FBQ21ELEtBQUs7Y0FDdEJMLE1BQU0sRUFBRTtnQkFDTk0sS0FBSyxFQUFFLElBQUksQ0FBQ0MsU0FBUyxDQUFDSixJQUFJLENBQUMsSUFBSTtjQUNqQztZQUNGLENBQUMsQ0FBQyxFQUNGbkQsa0RBQUcsQ0FBQ3NDLGFBQWEsQ0FBQztjQUNoQkMsR0FBRyxFQUFFLE9BQU87Y0FDWkMsVUFBVSxFQUFFO2dCQUNWWixJQUFJLEVBQUUsUUFBUTtnQkFDZFIsS0FBSyxFQUFFLENBQUM7Z0JBQ1JvQyxHQUFHLEVBQUcsSUFBSSxDQUFDM0MsWUFBWSxJQUFJLE9BQU8sSUFBSSxDQUFDQSxZQUFZLENBQUMyQyxHQUFHLEtBQUssUUFBUSxHQUFHLElBQUksQ0FBQ2IsYUFBYSxDQUFDLElBQUksQ0FBQzlCLFlBQVksQ0FBQzJDLEdBQUcsQ0FBQyxHQUFHLENBQUU7Z0JBQ3JIQyxHQUFHLEVBQUcsSUFBSSxDQUFDNUMsWUFBWSxJQUFJLE9BQU8sSUFBSSxDQUFDQSxZQUFZLENBQUM0QyxHQUFHLEtBQUssUUFBUSxHQUFHLElBQUksQ0FBQ2QsYUFBYSxDQUFDLElBQUksQ0FBQzlCLFlBQVksQ0FBQzRDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRztnQkFDN0lDLElBQUksRUFBRyxJQUFJLENBQUM5QyxZQUFZLElBQUksT0FBTyxJQUFJLENBQUNBLFlBQVksQ0FBQzhDLElBQUksS0FBSyxRQUFRLEdBQUcsSUFBSSxDQUFDaEIsYUFBYSxDQUFDLElBQUksQ0FBQzlCLFlBQVksQ0FBQzhDLElBQUksQ0FBQyxHQUFHLENBQUU7Z0JBQ3hIdkMsS0FBSyxFQUFFLElBQUksQ0FBQ3VCLGFBQWEsQ0FBQyxJQUFJLENBQUMvQixNQUFNO2NBQ3ZDLENBQUM7Y0FDRG9DLE1BQU0sRUFBRTtnQkFDTlksS0FBSyxFQUFFQyxFQUFFLElBQUk7a0JBQ1gsTUFBTVosS0FBSyxHQUFHLElBQUksQ0FBQzVDLFdBQVcsQ0FBQ3lELGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztrQkFDcEUsTUFBTUMsUUFBUSxHQUFHLElBQUksQ0FBQ2xELFlBQVksSUFBSSxPQUFPLElBQUksQ0FBQ0EsWUFBWSxDQUFDNEMsR0FBRyxLQUFLLFFBQVEsR0FBRyxJQUFJLENBQUM1QyxZQUFZLENBQUM0QyxHQUFHLEdBQUcsSUFBSSxDQUFDQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2tCQUNuSSxNQUFNTSxRQUFRLEdBQUcsSUFBSSxDQUFDbkQsWUFBWSxJQUFJLE9BQU8sSUFBSSxDQUFDQSxZQUFZLENBQUMyQyxHQUFHLEtBQUssUUFBUSxHQUFHLElBQUksQ0FBQzNDLFlBQVksQ0FBQzJDLEdBQUcsR0FBRyxDQUFDO2tCQUMzRyxJQUFJUyxRQUFRLENBQUNoQixLQUFLLENBQUM3QixLQUFLLENBQUMsSUFBSTJDLFFBQVEsRUFBRTtvQkFDckNGLEVBQUUsQ0FBQ0ssY0FBYyxDQUFDLENBQUM7b0JBQ25CakIsS0FBSyxDQUFDN0IsS0FBSyxHQUFHLElBQUksQ0FBQ3VCLGFBQWEsQ0FBQyxFQUFFLENBQUM7b0JBQ3BDTSxLQUFLLENBQUNrQixhQUFhLENBQUMsSUFBSSxDQUFDbkQsVUFBVSxDQUFDO2tCQUN0QztrQkFDQSxJQUFJaUQsUUFBUSxDQUFDaEIsS0FBSyxDQUFDN0IsS0FBSyxDQUFDLElBQUk0QyxRQUFRLEVBQUU7b0JBQ3JDSCxFQUFFLENBQUNLLGNBQWMsQ0FBQyxDQUFDO29CQUNuQmpCLEtBQUssQ0FBQzdCLEtBQUssR0FBRyxJQUFJLENBQUN1QixhQUFhLENBQUMsQ0FBQyxDQUFDO29CQUNuQ00sS0FBSyxDQUFDa0IsYUFBYSxDQUFDLElBQUksQ0FBQ25ELFVBQVUsQ0FBQztrQkFDdEM7Z0JBQ0YsQ0FBQztnQkFDRGlDLEtBQUssRUFBRSxJQUFJLENBQUNDLFNBQVMsQ0FBQ0MsSUFBSSxDQUFDLElBQUk7Y0FDakM7WUFDRixDQUFDLENBQUMsRUFDRm5ELGtEQUFHLENBQUNzQyxhQUFhLENBQUM7Y0FDaEJDLEdBQUcsRUFBRSxNQUFNO2NBQ1hHLFNBQVMsRUFBRXhDLDhDQUFLLENBQUNrRSxJQUFJO2NBQ3JCcEIsTUFBTSxFQUFFO2dCQUNOTSxLQUFLLEVBQUUsSUFBSSxDQUFDZSxPQUFPLENBQUNsQixJQUFJLENBQUMsSUFBSTtjQUMvQjtZQUNGLENBQUMsQ0FBQztVQUVOLENBQUMsQ0FBQztRQUNKLEtBQUssUUFBUTtVQUNYLE9BQU9uRCxrREFBRyxDQUFDc0MsYUFBYSxDQUFDO1lBQ3ZCQyxHQUFHLEVBQUUsUUFBUTtZQUNiQyxVQUFVLEVBQUU7Y0FDVkMsS0FBSyxFQUFFLHNCQUFzQjtjQUM3QkssRUFBRSxFQUFFLElBQUksQ0FBQ25DO1lBQ1gsQ0FBQztZQUNEcUMsTUFBTSxFQUFFO2NBQ05DLEtBQUssRUFBRSxJQUFJLENBQUNDLFNBQVMsQ0FBQ0MsSUFBSSxDQUFDLElBQUk7WUFDakMsQ0FBQztZQUNETixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUNuQyxRQUFRLElBQUksRUFBRSxFQUFFNEQsR0FBRyxDQUFDQyxNQUFNLElBQUk7Y0FDNUMsT0FBT3ZFLGtEQUFHLENBQUNzQyxhQUFhLENBQUM7Z0JBQ3ZCQyxHQUFHLEVBQUUsUUFBUTtnQkFDYkMsVUFBVSxFQUFFO2tCQUNWcEIsS0FBSyxFQUFFbUQsTUFBTSxDQUFDbkQsS0FBSztrQkFDbkJvRCxRQUFRLEVBQUVELE1BQU0sQ0FBQ25ELEtBQUssS0FBSyxJQUFJLENBQUNSO2dCQUNsQyxDQUFDO2dCQUNEOEIsU0FBUyxFQUFFNkIsTUFBTSxDQUFDNUM7Y0FDcEIsQ0FBQyxDQUFDO1lBQ0osQ0FBQztVQUNILENBQUMsQ0FBQztRQUNKO1VBQ0UsT0FBTyxJQUFJLENBQUNuQixLQUFLO01BQ3JCO0lBQ0Y7SUFDQSxPQUFPa0IsU0FBUztFQUNsQjtFQUVBLElBQUkrQyxTQUFTQSxDQUFBLEVBQUc7SUFDZCxPQUFPLENBQ0wsSUFBSSxDQUFDcEMsTUFBTSxFQUNYLElBQUksQ0FBQ0QsUUFBUSxDQUNkO0VBQ0g7RUFFQUwsUUFBUUEsQ0FBQSxFQUFHO0lBQ1QsSUFBSSxDQUFDM0IsS0FBSyxHQUFHSixrREFBRyxDQUFDc0MsYUFBYSxDQUFDO01BQzdCQyxHQUFHLEVBQUUsS0FBSztNQUNWbUMsUUFBUSxFQUFFLElBQUksQ0FBQ3BFLE9BQU8sR0FBRyxJQUFJLENBQUNBLE9BQU8sR0FBR29CLFNBQVM7TUFDakRjLFVBQVUsRUFBRTtRQUNWQyxLQUFLLEVBQUV4QyxnRUFBRyxDQUFDMEUsT0FBTyxDQUFDMUIsS0FBSztRQUN4QjJCLFFBQVEsRUFBRSxJQUFJLENBQUNqRTtNQUNqQjtJQUNGLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQ04sV0FBVyxHQUFHLElBQUksQ0FBQ0QsS0FBSyxDQUFDeUUsWUFBWSxDQUFDO01BQ3pDQyxJQUFJLEVBQUU7SUFDUixDQUFDLENBQUM7SUFFRjlFLGtEQUFHLENBQUNzQyxhQUFhLENBQUM7TUFDaEJDLEdBQUcsRUFBRSxPQUFPO01BQ1pHLFNBQVMsRUFBRTNDLDhDQUFLO01BQ2hCMkUsUUFBUSxFQUFFLElBQUksQ0FBQ3JFO0lBQ2pCLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQ29FLFNBQVMsQ0FDWE0sTUFBTSxDQUFDQyxLQUFLLElBQUlBLEtBQUssQ0FBQyxDQUN0QkMsT0FBTyxDQUFDRCxLQUFLLElBQUksSUFBSSxDQUFDM0UsV0FBVyxDQUFDOEIsV0FBVyxDQUFDNkMsS0FBSyxDQUFDLENBQUM7RUFDMUQ7RUFFQWxELE1BQU1BLENBQUEsRUFBRztJQUNQLE1BQU1vRCxRQUFRLEdBQUcsZ0VBQWdFO0lBQ2pGLE1BQU1DLFNBQVMsR0FBRyxDQUFDO0lBQ25CLElBQUlDLEdBQUcsR0FBRyxFQUFFO0lBQ1osS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdGLFNBQVMsRUFBRUUsQ0FBQyxFQUFFLEVBQUU7TUFDbENELEdBQUcsSUFBSUYsUUFBUSxDQUFDSSxNQUFNLENBQUNDLElBQUksQ0FBQ0MsS0FBSyxDQUFDRCxJQUFJLENBQUNFLE1BQU0sQ0FBQyxDQUFDLEdBQUdQLFFBQVEsQ0FBQ1EsTUFBTSxDQUFDLENBQUM7SUFDckU7SUFDQSxPQUFPTixHQUFHO0VBQ1o7RUFFQTdCLFNBQVNBLENBQUEsRUFBRztJQUNWLE1BQU1OLEtBQUssR0FBRyxJQUFJLENBQUM1QyxXQUFXLENBQUN5RCxhQUFhLENBQUMsc0JBQXNCLENBQUM7SUFDcEUsSUFBSWIsS0FBSyxFQUFFO01BQ1RBLEtBQUssQ0FBQzBDLFFBQVEsQ0FBQyxDQUFDO01BQ2hCMUMsS0FBSyxDQUFDa0IsYUFBYSxDQUFDLElBQUksQ0FBQ25ELFVBQVUsQ0FBQztJQUN0QztFQUNGO0VBRUFxRCxPQUFPQSxDQUFBLEVBQUc7SUFDUixNQUFNcEIsS0FBSyxHQUFHLElBQUksQ0FBQzVDLFdBQVcsQ0FBQ3lELGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztJQUNwRSxJQUFJYixLQUFLLEVBQUU7TUFDVEEsS0FBSyxDQUFDMkMsTUFBTSxDQUFDLENBQUM7TUFDZDNDLEtBQUssQ0FBQ2tCLGFBQWEsQ0FBQyxJQUFJLENBQUNuRCxVQUFVLENBQUM7SUFDdEM7RUFDRjtFQUVBMEMsU0FBU0EsQ0FBQSxFQUFHO0lBQ1YsT0FBT21DLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUNDLE9BQU87RUFDeEQ7RUFFQTdDLFNBQVNBLENBQUM4QyxLQUFLLEVBQUU7SUFDZixJQUFJNUUsS0FBSztJQUNULFFBQVEsSUFBSSxDQUFDWixLQUFLO01BQ2hCLEtBQUssUUFBUTtRQUNYLE1BQU15RixNQUFNLEdBQUcsSUFBSSxDQUFDNUYsV0FBVyxDQUFDeUQsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUN2RDFDLEtBQUssR0FBRzZFLE1BQU0sQ0FBQzdFLEtBQUs7UUFDcEI7TUFDRixLQUFLLFFBQVE7UUFDWCxNQUFNOEUsUUFBUSxHQUFHLElBQUksQ0FBQzdGLFdBQVcsQ0FBQ3lELGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQztRQUN6RTFDLEtBQUssR0FBRzhFLFFBQVEsQ0FBQ25ELE9BQU8sSUFBSSxLQUFLOztRQUVqQztRQUNBLE1BQU1vRCxhQUFhLEdBQUdELFFBQVEsQ0FBQ0UsYUFBYTtRQUM1QyxNQUFNekUsS0FBSyxHQUFHd0UsYUFBYSxDQUFDRSxzQkFBc0IsQ0FBQzNELFNBQVM7UUFFNUQsSUFBRyxJQUFJLENBQUNnQixTQUFTLENBQUMsQ0FBQyxJQUFJL0IsS0FBSyxLQUFLLGVBQWUsSUFBSVAsS0FBSyxFQUFFO1VBQ3pELElBQUksQ0FBQ04sT0FBTyxDQUFDd0YsTUFBTSxDQUFDLENBQUM7UUFDdkI7UUFFQTtNQUNGLEtBQUssV0FBVztRQUNkLE1BQU1DLE1BQU0sR0FBRyxJQUFJLENBQUNsRyxXQUFXLENBQUN5RCxhQUFhLENBQUMsc0JBQXNCLENBQUM7UUFDckUsSUFBSSxJQUFJLENBQUNqRCxZQUFZLElBQUksSUFBSSxDQUFDQSxZQUFZLENBQUMrQixNQUFNLEVBQUU7VUFDakR4QixLQUFLLEdBQUdvRixNQUFNLENBQUNELE1BQU0sQ0FBQ25GLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHO1FBQ3pDLENBQUMsTUFBTTtVQUNMQSxLQUFLLEdBQUdvRixNQUFNLENBQUNELE1BQU0sQ0FBQ25GLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDbkM7UUFDQTtJQUNKO0lBQ0EsSUFBSSxDQUFDTCxRQUFRLENBQUNLLEtBQUssQ0FBQztFQUN0QjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL2lucHV0L2luZGV4LmpzPzYyNWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlIGZyb20gJy4vc3R5bGUnO1xuaW1wb3J0IGRvbSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9kb20nO1xuaW1wb3J0IGVudiBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25maWd1cmF0aW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgaWNvbnMgZnJvbSAnLi4vLi4vLi4vaWNvbnMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbnB1dCB7XG4gIF9yb290ID0gbnVsbDtcbiAgX3Jvb3RTaGFkb3cgPSBudWxsO1xuICBfcGFyZW50ID0gbnVsbDtcbiAgX3RleHQgPSBudWxsO1xuICBfdHlwZSA9IG51bGw7XG4gIF91bmlxSWQgPSBudWxsO1xuICBfb3B0aW9ucyA9IG51bGw7XG4gIF9rZXkgPSBudWxsO1xuICBfdmFsdWUgPSBudWxsO1xuICBfdmFsaWRhdGlvbnMgPSBudWxsO1xuICBfd2lkZ2V0ID0gbnVsbDtcbiAgb25DaGFuZ2UgPSAoKSA9PiB7fTtcbiAgaW5wdXRFdmVudCA9IG5ldyBDdXN0b21FdmVudCgnaW5wdXQnLCB7XG4gICAgZGV0YWlsczoge1xuICAgICAgdGV4dDogKCkgPT4gdGV4dC52YWx1ZSxcbiAgICB9LFxuICB9KTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuX3dpZGdldCA9IG9wdGlvbnMud2lkZ2V0O1xuICAgICAgdGhpcy5fa2V5ID0gb3B0aW9ucy5rZXk7XG4gICAgICB0aGlzLl9wYXJlbnQgPSBvcHRpb25zLnBhcmVudFxuICAgICAgICA/IG9wdGlvbnMucGFyZW50IDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fdGV4dCA9IG9wdGlvbnMubGFiZWxcbiAgICAgICAgPyBvcHRpb25zLmxhYmVsIDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fdHlwZSA9IG9wdGlvbnMudHlwZVxuICAgICAgICA/IG9wdGlvbnMudHlwZSA6IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuX29wdGlvbnMgPSBvcHRpb25zLm9wdGlvbnNcbiAgICAgICAgPyBvcHRpb25zLm9wdGlvbnMgOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl92YWxpZGF0aW9ucyA9IG9wdGlvbnMudmFsaWRhdGlvbnNcbiAgICAgICAgPyBvcHRpb25zLnZhbGlkYXRpb25zIDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fdmFsdWUgPSB0eXBlb2Ygb3B0aW9ucy52YWx1ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gb3B0aW9ucy52YWx1ZSA6IHVuZGVmaW5lZDtcbiAgICAgIGlmIChvcHRpb25zLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBvcHRpb25zLm9uQ2hhbmdlO1xuICAgICAgfVxuICAgICAgdGhpcy5fdW5pcUlkID0gdGhpcy5fZ2VuSWQoKTtcbiAgICB9XG4gICAgdGhpcy5fX2luaXRfXygpO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbCkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xuICAgIHRoaXMuX3Jvb3RTaGFkb3cucmVtb3ZlQ2hpbGQodGhpcy5fcm9vdFNoYWRvdy5jaGlsZE5vZGVzWzJdKTtcbiAgICB0aGlzLl9yb290U2hhZG93LmFwcGVuZENoaWxkKHRoaXMuX2NvbnRlbnQpO1xuICB9XG5cbiAgZ2V0IF9sYWJlbCgpIHtcbiAgICBpZiAodGhpcy5fdGV4dCkge1xuICAgICAgcmV0dXJuIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgdGFnOiAnbGFiZWwnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgY2xhc3M6ICdfX3BhZ2VkLWlucHV0LWxhYmVsJyxcbiAgICAgICAgfSxcbiAgICAgICAgaW5uZXJIVE1MOiB0aGlzLl90ZXh0LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRXaXRoRm9ybWF0KHZhbHVlKSB7XG4gICAgaWYgKHRoaXMuX3ZhbGlkYXRpb25zICYmIHRoaXMuX3ZhbGlkYXRpb25zLmZvcm1hdCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRpb25zLmZvcm1hdCh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGdldCBfY29udGVudCgpIHtcbiAgICBpZiAodGhpcy5fdHlwZSkge1xuICAgICAgc3dpdGNoICh0aGlzLl90eXBlKSB7XG4gICAgICAgIGNhc2UgJ3N3aXRjaCc6XG4gICAgICAgICAgcmV0dXJuIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICAgIHRhZzogJ2RpdicsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgIGNsYXNzOiAnX19wYWdlZC1pbnB1dC1zd2l0Y2gnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICAgICAgICB0YWc6ICdpbnB1dCcsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLl91bmlxSWQsXG4gICAgICAgICAgICAgICAgICBjaGVja2VkOiB0aGlzLl92YWx1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGV2ZW50czoge1xuICAgICAgICAgICAgICAgICAgaW5wdXQ6IHRoaXMuX29uQ2hhbmdlLmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICAgICAgICB0YWc6ICdsYWJlbCcsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICAgICAgICAgIGZvcjogdGhpcy5fdW5pcUlkLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgY2FzZSAnaW5jcmVtZW50JzpcbiAgICAgICAgICByZXR1cm4gZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgICAgICAgdGFnOiAnZGl2JyxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgY2xhc3M6ICdfX3BhZ2VkLWlucHV0LWluY3JlbWVudCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgICAgICAgICAgIHRhZzogJ3NwYW4nLFxuICAgICAgICAgICAgICAgIGlubmVySFRNTDogaWNvbnMubWludXMsXG4gICAgICAgICAgICAgICAgZXZlbnRzOiB7XG4gICAgICAgICAgICAgICAgICBjbGljazogdGhpcy5fc3RlcERvd24uYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgICAgICAgICAgIHRhZzogJ2lucHV0JyxcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgICAgICAgbWluOiAodGhpcy5fdmFsaWRhdGlvbnMgJiYgdHlwZW9mIHRoaXMuX3ZhbGlkYXRpb25zLm1pbiA9PT0gJ251bWJlcicgPyB0aGlzLmdldFdpdGhGb3JtYXQodGhpcy5fdmFsaWRhdGlvbnMubWluKSA6IDApLFxuICAgICAgICAgICAgICAgICAgbWF4OiAodGhpcy5fdmFsaWRhdGlvbnMgJiYgdHlwZW9mIHRoaXMuX3ZhbGlkYXRpb25zLm1heCA9PT0gJ251bWJlcicgPyB0aGlzLmdldFdpdGhGb3JtYXQodGhpcy5fdmFsaWRhdGlvbnMubWF4KSA6IHRoaXMuX2lzTW9iaWxlKCkgPyA1IDogMTUpLFxuICAgICAgICAgICAgICAgICAgc3RlcDogKHRoaXMuX3ZhbGlkYXRpb25zICYmIHR5cGVvZiB0aGlzLl92YWxpZGF0aW9ucy5zdGVwID09PSAnbnVtYmVyJyA/IHRoaXMuZ2V0V2l0aEZvcm1hdCh0aGlzLl92YWxpZGF0aW9ucy5zdGVwKSA6IDEpLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZ2V0V2l0aEZvcm1hdCh0aGlzLl92YWx1ZSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgICAgICAgIGtleXVwOiBldiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fcm9vdFNoYWRvdy5xdWVyeVNlbGVjdG9yKCdpbnB1dFt0eXBlPVwibnVtYmVyXCJdJyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1heFZhbHVlID0gdGhpcy5fdmFsaWRhdGlvbnMgJiYgdHlwZW9mIHRoaXMuX3ZhbGlkYXRpb25zLm1heCA9PT0gJ251bWJlcicgPyB0aGlzLl92YWxpZGF0aW9ucy5tYXggOiB0aGlzLl9pc01vYmlsZSgpID8gNSA6IDE1O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtaW5WYWx1ZSA9IHRoaXMuX3ZhbGlkYXRpb25zICYmIHR5cGVvZiB0aGlzLl92YWxpZGF0aW9ucy5taW4gPT09ICdudW1iZXInID8gdGhpcy5fdmFsaWRhdGlvbnMubWluIDogMDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlSW50KGlucHV0LnZhbHVlKSA+PSBtYXhWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXQudmFsdWUgPSB0aGlzLmdldFdpdGhGb3JtYXQoMTUpO1xuICAgICAgICAgICAgICAgICAgICAgIGlucHV0LmRpc3BhdGNoRXZlbnQodGhpcy5pbnB1dEV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VJbnQoaW5wdXQudmFsdWUpIDw9IG1pblZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMuZ2V0V2l0aEZvcm1hdCgwKTtcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KHRoaXMuaW5wdXRFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBpbnB1dDogdGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgICAgICAgICAgIHRhZzogJ3NwYW4nLFxuICAgICAgICAgICAgICAgIGlubmVySFRNTDogaWNvbnMucGx1cyxcbiAgICAgICAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgICAgICAgIGNsaWNrOiB0aGlzLl9zdGVwVXAuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICAgICAgcmV0dXJuIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICAgIHRhZzogJ3NlbGVjdCcsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgIGNsYXNzOiAnX19wYWdlZC1pbnB1dC1zZWxlY3QnLFxuICAgICAgICAgICAgICBpZDogdGhpcy5fa2V5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV2ZW50czoge1xuICAgICAgICAgICAgICBpbnB1dDogdGhpcy5fb25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogKHRoaXMuX29wdGlvbnMgfHwgW10pLm1hcChvcHRpb24gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgICAgICAgICAgIHRhZzogJ29wdGlvbicsXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBvcHRpb24udmFsdWUgPT09IHRoaXMuX3ZhbHVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaW5uZXJIVE1MOiBvcHRpb24ubGFiZWwsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgX2NoaWxkcmVuKCkge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLl9sYWJlbCxcbiAgICAgIHRoaXMuX2NvbnRlbnQsXG4gICAgXTtcbiAgfVxuXG4gIF9faW5pdF9fKCkge1xuICAgIHRoaXMuX3Jvb3QgPSBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX3BhcmVudCA/IHRoaXMuX3BhcmVudCA6IHVuZGVmaW5lZCxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6IGVudi5jbGFzc2VzLmlucHV0LFxuICAgICAgICBsYWJlbEtleTogdGhpcy5fa2V5XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5fcm9vdFNoYWRvdyA9IHRoaXMuX3Jvb3QuYXR0YWNoU2hhZG93KHtcbiAgICAgIG1vZGU6ICdvcGVuJyxcbiAgICB9KTtcblxuICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ3N0eWxlJyxcbiAgICAgIGlubmVySFRNTDogc3R5bGUsXG4gICAgICBhcHBlbmRUbzogdGhpcy5fcm9vdFNoYWRvdyxcbiAgICB9KTtcblxuICAgIHRoaXMuX2NoaWxkcmVuXG4gICAgICAuZmlsdGVyKGNoaWxkID0+IGNoaWxkKVxuICAgICAgLmZvckVhY2goY2hpbGQgPT4gdGhpcy5fcm9vdFNoYWRvdy5hcHBlbmRDaGlsZChjaGlsZCkpO1xuICB9XG5cbiAgX2dlbklkKCkge1xuICAgIGNvbnN0IEFMUEhBQkVUID0gJzAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJztcbiAgICBjb25zdCBJRF9MRU5HVEggPSA4O1xuICAgIHZhciBydG4gPSAnJztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IElEX0xFTkdUSDsgaSsrKSB7XG4gICAgICBydG4gKz0gQUxQSEFCRVQuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIEFMUEhBQkVULmxlbmd0aCkpO1xuICAgIH1cbiAgICByZXR1cm4gcnRuO1xuICB9XG5cbiAgX3N0ZXBEb3duKCkge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5fcm9vdFNoYWRvdy5xdWVyeVNlbGVjdG9yKCdpbnB1dFt0eXBlPVwibnVtYmVyXCJdJyk7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBpbnB1dC5zdGVwRG93bigpO1xuICAgICAgaW5wdXQuZGlzcGF0Y2hFdmVudCh0aGlzLmlucHV0RXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIF9zdGVwVXAoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nKTtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGlucHV0LnN0ZXBVcCgpO1xuICAgICAgaW5wdXQuZGlzcGF0Y2hFdmVudCh0aGlzLmlucHV0RXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIF9pc01vYmlsZSgpIHtcbiAgICByZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDc2N3B4KScpLm1hdGNoZXM7XG4gIH1cblxuICBfb25DaGFuZ2UoZXZlbnQpIHtcbiAgICBsZXQgdmFsdWU7XG4gICAgc3dpdGNoICh0aGlzLl90eXBlKSB7XG4gICAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgICBjb25zdCBzZWxlY3QgPSB0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJ3NlbGVjdCcpO1xuICAgICAgICB2YWx1ZSA9IHNlbGVjdC52YWx1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzd2l0Y2gnOlxuICAgICAgICBjb25zdCBjaGVja2JveCA9IHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJyk7XG4gICAgICAgIHZhbHVlID0gY2hlY2tib3guY2hlY2tlZCB8fCBmYWxzZTtcblxuICAgICAgICAvL0NoZWNrIGZvciBjbG9zZSB3aWRnZXQgb24gbW9iaWxlIChTY3JlZW5yZWFkZXIpXG4gICAgICAgIGNvbnN0IHN3aXRjaEVsZW1lbnQgPSBjaGVja2JveC5wYXJlbnRFbGVtZW50O1xuICAgICAgICBjb25zdCBsYWJlbCA9IHN3aXRjaEVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZy5pbm5lckhUTUw7XG5cbiAgICAgICAgaWYodGhpcy5faXNNb2JpbGUoKSAmJiBsYWJlbCA9PT0gJ1NjcmVlbiBSZWFkZXInICYmIHZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5fd2lkZ2V0Ll9jbG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdpbmNyZW1lbnQnOlxuICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nKTtcbiAgICAgICAgaWYgKHRoaXMuX3ZhbGlkYXRpb25zICYmIHRoaXMuX3ZhbGlkYXRpb25zLmZvcm1hdCkge1xuICAgICAgICAgIHZhbHVlID0gTnVtYmVyKG51bWJlci52YWx1ZSB8fCAwKSAvIDEwMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZSA9IE51bWJlcihudW1iZXIudmFsdWUgfHwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICB9XG59XG4iXSwibmFtZXMiOlsic3R5bGUiLCJkb20iLCJlbnYiLCJpY29ucyIsIklucHV0IiwiX3Jvb3QiLCJfcm9vdFNoYWRvdyIsIl9wYXJlbnQiLCJfdGV4dCIsIl90eXBlIiwiX3VuaXFJZCIsIl9vcHRpb25zIiwiX2tleSIsIl92YWx1ZSIsIl92YWxpZGF0aW9ucyIsIl93aWRnZXQiLCJvbkNoYW5nZSIsImlucHV0RXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbHMiLCJ0ZXh0IiwidmFsdWUiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJ3aWRnZXQiLCJrZXkiLCJwYXJlbnQiLCJ1bmRlZmluZWQiLCJsYWJlbCIsInR5cGUiLCJ2YWxpZGF0aW9ucyIsIl9nZW5JZCIsIl9faW5pdF9fIiwidmFsIiwicmVtb3ZlQ2hpbGQiLCJjaGlsZE5vZGVzIiwiYXBwZW5kQ2hpbGQiLCJfY29udGVudCIsIl9sYWJlbCIsImNyZWF0ZUVsZW1lbnQiLCJ0YWciLCJhdHRyaWJ1dGVzIiwiY2xhc3MiLCJpbm5lckhUTUwiLCJnZXRXaXRoRm9ybWF0IiwiZm9ybWF0IiwiY2hpbGRyZW4iLCJpZCIsImNoZWNrZWQiLCJldmVudHMiLCJpbnB1dCIsIl9vbkNoYW5nZSIsImJpbmQiLCJmb3IiLCJtaW51cyIsImNsaWNrIiwiX3N0ZXBEb3duIiwibWluIiwibWF4IiwiX2lzTW9iaWxlIiwic3RlcCIsImtleXVwIiwiZXYiLCJxdWVyeVNlbGVjdG9yIiwibWF4VmFsdWUiLCJtaW5WYWx1ZSIsInBhcnNlSW50IiwicHJldmVudERlZmF1bHQiLCJkaXNwYXRjaEV2ZW50IiwicGx1cyIsIl9zdGVwVXAiLCJtYXAiLCJvcHRpb24iLCJzZWxlY3RlZCIsIl9jaGlsZHJlbiIsImFwcGVuZFRvIiwiY2xhc3NlcyIsImxhYmVsS2V5IiwiYXR0YWNoU2hhZG93IiwibW9kZSIsImZpbHRlciIsImNoaWxkIiwiZm9yRWFjaCIsIkFMUEhBQkVUIiwiSURfTEVOR1RIIiwicnRuIiwiaSIsImNoYXJBdCIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsImxlbmd0aCIsInN0ZXBEb3duIiwic3RlcFVwIiwid2luZG93IiwibWF0Y2hNZWRpYSIsIm1hdGNoZXMiLCJldmVudCIsInNlbGVjdCIsImNoZWNrYm94Iiwic3dpdGNoRWxlbWVudCIsInBhcmVudEVsZW1lbnQiLCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwiX2Nsb3NlIiwibnVtYmVyIiwiTnVtYmVyIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/overlay/components/input/index.js\n");
/***/ }),
/***/ "./src/components/overlay/components/input/style.js":
/*!**********************************************************!*\
!*** ./src/components/overlay/components/input/style.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 */ });\nconst styles = `\n :host {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n flex-wrap: nowrap;\n width: calc(100% - 50px);\n margin: 0 12px 12px 12px;\n background: rgba(0, 0, 0, 0.04);\n padding: 12px;\n user-select: none;\n min-width: 280px;\n //gap: 12px;\n //width: fit-content;\n }\n\n :host label {\n font-size: 16px;\n margin: auto 0;\n white-space: nowrap;\n }\n\n :host .__paged-input-switch {\n display: flex;\n }\n :host .__paged-input-switch input[type=checkbox]{\n height: 0;\n width: 0;\n visibility: hidden;\n }\n\n :host .__paged-input-switch label {\n cursor: pointer;\n text-indent: -9999px;\n width: 46px;\n height: 24px;\n background: rgba(0, 0, 0, 0.1);\n display: block;\n border-radius: 5px;\n position: relative;\n }\n\n :host .__paged-input-switch label:after {\n content: '';\n position: absolute;\n top: 3px;\n left: 3px;\n width: 18px;\n height: 18px;\n background: var(--paged-color);\n border-radius: 5px;\n transition: 0.3s;\n }\n\n :host .__paged-input-switch input:checked + label {\n background: var(--paged-color);\n }\n\n :host .__paged-input-switch input:checked + label:after {\n left: calc(100% - 3px);\n transform: translateX(-100%);\n background: white;\n }\n\n :host .__paged-input-switch label:active:after {\n width: 20px;\n }\n\n :host .__paged-input-increment {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n background: rgba(0, 0, 0, 0.1);\n border-radius: 5px;\n max-height: 30px;\n //width: -webkit-fill-available;\n }\n :host .__paged-input-increment input[type=\"number\"] {\n width: 40px;\n margin: 0 4px;\n background: none;\n border: none;\n color: #222D39;\n font-size: 16px;\n text-align: center;\n //width: -webkit-fill-available;\n }\n :host .__paged-input-increment input[type=\"number\"]:focus {\n background: none;\n border: none;\n outline: none;\n }\n :host .__paged-input-increment input[type=\"number\"]::-webkit-outer-spin-button,\n :host .__paged-input-increment input[type=\"number\"]::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n :host .__paged-input-increment span {\n display: flex;\n max-height: 20px;\n cursor: pointer;\n padding: 4px;\n }\n :host .__paged-input-select {\n color: #222D39;\n background: rgba(0, 0, 0, 0.1);\n font-size: 15px;\n border: none;\n padding: 4px;\n border-radius: 5px;\n min-height: fit-content;\n //max-height: 30px;\n //width: -webkit-fill-available;\n width: fit-content;\n }\n :host .__paged-input-select:focus {\n outline: none;\n }\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (styles);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvaW5wdXQvc3R5bGUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU1BLE1BQU0sR0FBRztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGlFQUFlQSxNQUFNIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL2lucHV0L3N0eWxlLmpzPzY4ZDkiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgc3R5bGVzID0gYFxuICA6aG9zdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgbWFyZ2luOiAwIDEycHggMTJweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBtaW4td2lkdGg6IDI4MHB4O1xuICAgIC8vZ2FwOiAxMnB4O1xuICAgIC8vd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG5cbiAgOmhvc3QgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgOmhvc3QgLl9fcGFnZWQtaW5wdXQtc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIDpob3N0IC5fX3BhZ2VkLWlucHV0LXN3aXRjaCBpbnB1dFt0eXBlPWNoZWNrYm94XXtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgOmhvc3QgLl9fcGFnZWQtaW5wdXQtc3dpdGNoIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgd2lkdGg6IDQ2cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgOmhvc3QgLl9fcGFnZWQtaW5wdXQtc3dpdGNoIGxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzcHg7XG4gICAgbGVmdDogM3B4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYWdlZC1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gIH1cblxuICA6aG9zdCAuX19wYWdlZC1pbnB1dC1zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYWdlZC1jb2xvcik7XG4gIH1cblxuICA6aG9zdCAuX19wYWdlZC1pbnB1dC1zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgLSAzcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cblxuICA6aG9zdCAuX19wYWdlZC1pbnB1dC1zd2l0Y2ggbGFiZWw6YWN0aXZlOmFmdGVyIHtcbiAgICB3aWR0aDogMjBweDtcbiAgfVxuXG4gIDpob3N0IC5fX3BhZ2VkLWlucHV0LWluY3JlbWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbWF4LWhlaWdodDogMzBweDtcbiAgICAvL3dpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICB9XG4gIDpob3N0IC5fX3BhZ2VkLWlucHV0LWluY3JlbWVudCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBtYXJnaW46IDAgNHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjMjIyRDM5O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLy93aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgfVxuICA6aG9zdCAuX19wYWdlZC1pbnB1dC1pbmNyZW1lbnQgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICA6aG9zdCAuX19wYWdlZC1pbnB1dC1pbmNyZW1lbnQgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgOmhvc3QgLl9fcGFnZWQtaW5wdXQtaW5jcmVtZW50IGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgOmhvc3QgLl9fcGFnZWQtaW5wdXQtaW5jcmVtZW50IHNwYW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LWhlaWdodDogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogNHB4O1xuICB9XG4gIDpob3N0IC5fX3BhZ2VkLWlucHV0LXNlbGVjdCB7XG4gICAgY29sb3I6ICMyMjJEMzk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAvL21heC1oZWlnaHQ6IDMwcHg7XG4gICAgLy93aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIH1cbiAgOmhvc3QgLl9fcGFnZWQtaW5wdXQtc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5gO1xuZXhwb3J0IGRlZmF1bHQgc3R5bGVzO1xuIl0sIm5hbWVzIjpbInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/overlay/components/input/style.js\n");
/***/ }),
/***/ "./src/components/overlay/components/mask/index.js":
/*!*********************************************************!*\
!*** ./src/components/overlay/components/mask/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\": () => (/* binding */ Mask)\n/* harmony export */ });\n/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ \"./src/components/overlay/components/mask/style.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../utils/dom */ \"./src/utils/dom.js\");\n/* harmony import */ var _configuration_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../configuration/constants */ \"./configuration/constants.js\");\n\n\n\nclass Mask {\n _root = null;\n _rootShadow = null;\n _parent = null;\n _isEnabled = false;\n constructor(options) {\n if (!this._parent) {\n this._parent = document.body;\n }\n this.__init__();\n }\n set enabled(value) {\n if (value) {\n if (!this._isEnabled) {\n this._children.filter(child => child).forEach(child => this._rootShadow.appendChild(child));\n this._parent.addEventListener(this._isMobile ? 'touchmove' : 'mousemove', this._onMouseMove);\n }\n } else {\n if (this._rootShadow.childNodes.length > 1) {\n this._rootShadow.querySelector('.__paged-reading-mask-top').remove();\n this._rootShadow.querySelector('.__paged-reading-mask-bottom').remove();\n this._parent.removeEventListener(this._isMobile ? 'touchmove' : 'mousemove', this._onMouseMove);\n }\n }\n this._isEnabled = value;\n }\n get _topMask() {\n const exists = (this._rootShadow.childNotes || []).find(node => Array.from(node.classList).includes('__paged-reading-mask-top'));\n const initialHeight = window.innerHeight / 2 - 50;\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n class: '__paged-reading-mask-top',\n style: `height: ${initialHeight}px`\n }\n });\n }\n get _bottomMask() {\n const initialHeight = window.innerHeight / 2 - 50;\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n class: '__paged-reading-mask-bottom',\n style: `height: ${initialHeight}px`\n }\n });\n }\n get _children() {\n return [this._topMask, this._bottomMask];\n }\n get _isMobile() {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n }\n __init__() {\n const exists = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].selectElement(`.${_configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.mask}`, this._parent);\n this._onMouseMove = this._onMouseMove.bind(this);\n this._root = exists ? exists : _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: this._parent ? this._parent : undefined,\n attributes: {\n class: _configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.mask\n }\n });\n if (!exists) {\n this._rootShadow = this._root.attachShadow({\n mode: 'open'\n });\n }\n this._rootShadow.innerHTML = '';\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'style',\n innerHTML: _style__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n appendTo: this._rootShadow\n });\n }\n _onMouseMove(event) {\n event.preventDefault();\n const windowHeight = window.innerHeight - 100;\n const distanceFromTop = this._isMobile ? event.touches[0].clientY : event.clientY - 50;\n const distanceFromBottom = windowHeight - distanceFromTop;\n this._rootShadow.querySelector('.__paged-reading-mask-top').setAttribute('style', `height: ${distanceFromTop >= 0 ? distanceFromTop : 0}px`);\n this._rootShadow.querySelector('.__paged-reading-mask-bottom').setAttribute('style', `height: ${distanceFromBottom >= 0 ? distanceFromBottom : 0}px`);\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWFzay9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTRCO0FBQ1k7QUFDaUI7QUFFMUMsTUFBTUcsSUFBSSxDQUFDO0VBQ3hCQyxLQUFLLEdBQUcsSUFBSTtFQUNaQyxXQUFXLEdBQUcsSUFBSTtFQUNsQkMsT0FBTyxHQUFHLElBQUk7RUFDZEMsVUFBVSxHQUFHLEtBQUs7RUFFbEJDLFdBQVdBLENBQUNDLE9BQU8sRUFBRTtJQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDSCxPQUFPLEVBQUU7TUFDakIsSUFBSSxDQUFDQSxPQUFPLEdBQUdJLFFBQVEsQ0FBQ0MsSUFBSTtJQUM5QjtJQUNBLElBQUksQ0FBQ0MsUUFBUSxDQUFDLENBQUM7RUFDakI7RUFFQSxJQUFJQyxPQUFPQSxDQUFDQyxLQUFLLEVBQUU7SUFDakIsSUFBSUEsS0FBSyxFQUFFO01BQ1QsSUFBSSxDQUFDLElBQUksQ0FBQ1AsVUFBVSxFQUFFO1FBQ3BCLElBQUksQ0FBQ1EsU0FBUyxDQUNYQyxNQUFNLENBQUNDLEtBQUssSUFBSUEsS0FBSyxDQUFDLENBQ3RCQyxPQUFPLENBQUNELEtBQUssSUFBSSxJQUFJLENBQUNaLFdBQVcsQ0FBQ2MsV0FBVyxDQUFDRixLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUNYLE9BQU8sQ0FBQ2MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDQyxTQUFTLEdBQUcsV0FBVyxHQUFHLFdBQVcsRUFBRSxJQUFJLENBQUNDLFlBQVksQ0FBQztNQUM5RjtJQUNGLENBQUMsTUFBTTtNQUNMLElBQUksSUFBSSxDQUFDakIsV0FBVyxDQUFDa0IsVUFBVSxDQUFDQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzFDLElBQUksQ0FBQ25CLFdBQVcsQ0FBQ29CLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDQyxNQUFNLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUNyQixXQUFXLENBQUNvQixhQUFhLENBQUMsOEJB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QUFLLENBQUNDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RCLE1BQU1DLFlBQVksR0FBR3JCLE1BQU0sQ0FBQ0MsV0FBVyxHQUFHLEdBQUc7SUFDN0MsTUFBTXFCLGVBQWUsR0FBRyxJQUFJLENBQUN2QyxTQUFTLEdBQUdvQyxLQUFLLENBQUNJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxHQUFHTCxLQUFLLENBQUNLLE9BQU8sR0FBRyxFQUFFO0lBQ3RGLE1BQU1DLGtCQUFrQixHQUFHSixZQUFZLEdBQUdDLGVBQWU7SUFDekQsSUFBSSxDQUFDdkQsV0FBVyxDQUFDb0IsYUFBYSxDQUFDLDJCQUEyQixDQUFDLENBQ3hEdUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxXQUFXSixlQUFlLElBQUksQ0FBQyxHQUFHQSxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDbkYsSUFBSSxDQUFDdkQsV0FBVyxDQUFDb0IsYUFBYSxDQUFDLDhCQUE4QixDQUFDLENBQzNEdUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxXQUFXRCxrQkFBa0IsSUFBSSxDQUFDLEdBQUdBLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDO0VBQzNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aWRnZXQvLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWFzay9pbmRleC5qcz8xOGY1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZSBmcm9tICcuL3N0eWxlJztcbmltcG9ydCBkb20gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCBlbnYgZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi9jb25zdGFudHMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNYXNrIHtcbiAgX3Jvb3QgPSBudWxsO1xuICBfcm9vdFNoYWRvdyA9IG51bGw7XG4gIF9wYXJlbnQgPSBudWxsO1xuICBfaXNFbmFibGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIGlmICghdGhpcy5fcGFyZW50KSB7XG4gICAgICB0aGlzLl9wYXJlbnQgPSBkb2N1bWVudC5ib2R5O1xuICAgIH1cbiAgICB0aGlzLl9faW5pdF9fKCk7XG4gIH1cblxuICBzZXQgZW5hYmxlZCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5fY2hpbGRyZW5cbiAgICAgICAgICAuZmlsdGVyKGNoaWxkID0+IGNoaWxkKVxuICAgICAgICAgIC5mb3JFYWNoKGNoaWxkID0+IHRoaXMuX3Jvb3RTaGFkb3cuYXBwZW5kQ2hpbGQoY2hpbGQpKTtcbiAgICAgICAgdGhpcy5fcGFyZW50LmFkZEV2ZW50TGlzdGVuZXIodGhpcy5faXNNb2JpbGUgPyAndG91Y2htb3ZlJyA6ICdtb3VzZW1vdmUnLCB0aGlzLl9vbk1vdXNlTW92ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHsgXG4gICAgICBpZiAodGhpcy5fcm9vdFNoYWRvdy5jaGlsZE5vZGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgdGhpcy5fcm9vdFNoYWRvdy5xdWVyeVNlbGVjdG9yKCcuX19wYWdlZC1yZWFkaW5nLW1hc2stdG9wJykucmVtb3ZlKCk7XG4gICAgICAgIHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignLl9fcGFnZWQtcmVhZGluZy1tYXNrLWJvdHRvbScpLnJlbW92ZSgpO1xuICAgICAgICB0aGlzLl9wYXJlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLl9pc01vYmlsZSA/ICd0b3VjaG1vdmUnIDogJ21vdXNlbW92ZScsIHRoaXMuX29uTW91c2VNb3ZlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5faXNFbmFibGVkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgX3RvcE1hc2soKSB7XG4gICAgY29uc3QgZXhpc3RzID0gKHRoaXMuX3Jvb3RTaGFkb3cuY2hpbGROb3RlcyB8fCBbXSkuZmluZChub2RlID0+IFxuICAgICAgQXJyYXkuZnJvbShub2RlLmNsYXNzTGlzdCkuaW5jbHVkZXMoJ19fcGFnZWQtcmVhZGluZy1tYXNrLXRvcCcpKTsgXG4gICAgY29uc3QgaW5pdGlhbEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSA1MDtcbiAgICByZXR1cm4gZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6ICdfX3BhZ2VkLXJlYWRpbmctbWFzay10b3AnLFxuICAgICAgICBzdHlsZTogYGhlaWdodDogJHtpbml0aWFsSGVpZ2h0fXB4YCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBnZXQgX2JvdHRvbU1hc2soKSB7XG4gICAgY29uc3QgaW5pdGlhbEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSA1MDtcbiAgICByZXR1cm4gZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6ICdfX3BhZ2VkLXJlYWRpbmctbWFzay1ib3R0b20nLFxuICAgICAgICBzdHlsZTogYGhlaWdodDogJHtpbml0aWFsSGVpZ2h0fXB4YCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBnZXQgX2NoaWxkcmVuKCkge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLl90b3BNYXNrLFxuICAgICAgdGhpcy5fYm90dG9tTWFzayxcbiAgICBdO1xuICB9XG5cbiAgZ2V0IF9pc01vYmlsZSgpIHtcbiAgICByZXR1cm4gL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICB9O1xuXG4gIF9faW5pdF9fKCkge1xuICAgIGNvbnN0IGV4aXN0cyA9IGRvbS5zZWxlY3RFbGVtZW50KGAuJHtlbnYuY2xhc3Nlcy5tYXNrfWAsIHRoaXMuX3BhcmVudCk7XG5cbiAgICB0aGlzLl9vbk1vdXNlTW92ZSA9IHRoaXMuX29uTW91c2VNb3ZlLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLl9yb290ID0gZXhpc3RzID8gZXhpc3RzIDogZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGFwcGVuZFRvOiB0aGlzLl9wYXJlbnQgPyB0aGlzLl9wYXJlbnQgOiB1bmRlZmluZWQsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiBlbnYuY2xhc3Nlcy5tYXNrLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmICghZXhpc3RzKSB7XG4gICAgICB0aGlzLl9yb290U2hhZG93ID0gdGhpcy5fcm9vdC5hdHRhY2hTaGFkb3coe1xuICAgICAgICBtb2RlOiAnb3BlbicsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl9yb290U2hhZG93LmlubmVySFRNTCA9ICcnO1xuXG4gICAgZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnc3R5bGUnLFxuICAgICAgaW5uZXJIVE1MOiBzdHlsZSxcbiAgICAgIGFwcGVuZFRvOiB0aGlzLl9yb290U2hhZG93LFxuICAgIH0pO1xuICB9XG5cbiAgX29uTW91c2VNb3ZlKGV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSAxMDA7XG4gICAgY29uc3QgZGlzdGFuY2VGcm9tVG9wID0gdGhpcy5faXNNb2JpbGUgPyBldmVudC50b3VjaGVzWzBdLmNsaWVudFkgOiBldmVudC5jbGllbnRZIC0gNTA7XG4gICAgY29uc3QgZGlzdGFuY2VGcm9tQm90dG9tID0gd2luZG93SGVpZ2h0IC0gZGlzdGFuY2VGcm9tVG9wO1xuICAgIHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignLl9fcGFnZWQtcmVhZGluZy1tYXNrLXRvcCcpXG4gICAgICAuc2V0QXR0cmlidXRlKCdzdHlsZScsIGBoZWlnaHQ6ICR7ZGlzdGFuY2VGcm9tVG9wID49IDAgPyBkaXN0YW5jZUZyb21Ub3AgOiAwfXB4YClcbiAgICB0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJy5fX3BhZ2VkLXJlYWRpbmctbWFzay1ib3R0b20nKVxuICAgICAgLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBgaGVpZ2h0OiAke2Rpc3RhbmNlRnJvbUJvdHRvbSA+PSAwID8gZGlzdGFuY2VGcm9tQm90dG9tIDogMH1weGApXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJzdHlsZSIsImRvbSIsImVudiIsIk1hc2siLCJfcm9vdCIsIl9yb290U2hhZG93IiwiX3BhcmVudCIsIl9pc0VuYWJsZWQiLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJkb2N1bWVudCIsImJvZHkiLCJfX2luaXRfXyIsImVuYWJsZWQiLCJ2YWx1ZSIsIl9jaGlsZHJlbiIsImZpbHRlciIsImNoaWxkIiwiZm9yRWFjaCIsImFwcGVuZENoaWxkIiwiYWRkRXZlbnRMaXN0ZW5lciIsIl9pc01vYmlsZSIsIl9vbk1vdXNlTW92ZSIsImNoaWxkTm9kZXMiLCJsZW5ndGgiLCJxdWVyeVNlbGVjdG9yIiwicmVtb3ZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl90b3BNYXNrIiwiZXhpc3RzIiwiY2hpbGROb3RlcyIsImZpbmQiLCJub2RlIiwiQXJyYXkiLCJmcm9tIiwiY2xhc3NMaXN0IiwiaW5jbHVkZXMiLCJpbml0aWFsSGVpZ2h0Iiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJjcmVhdGVFbGVtZW50IiwidGFnIiwiYXR0cmlidXRlcyIsImNsYXNzIiwiX2JvdHRvbU1hc2siLCJ0ZXN0IiwibmF2aWdhdG9yIiwidXNlckFnZW50Iiwic2VsZWN0RWxlbWVudCIsImNsYXNzZXMiLCJtYXNrIiwiYmluZCIsImFwcGVuZFRvIiwidW5kZWZpbmVkIiwiYXR0YWNoU2hhZG93IiwibW9kZSIsImlubmVySFRNTCIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJ3aW5kb3dIZWlnaHQiLCJkaXN0YW5jZUZyb21Ub3AiLCJ0b3VjaGVzIiwiY2xpZW50WSIsImRpc3RhbmNlRnJvbUJvdHRvbSIsInNldEF0dHJpYnV0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/overlay/components/mask/index.js\n");
/***/ }),
/***/ "./src/components/overlay/components/mask/style.js":
/*!*********************************************************!*\
!*** ./src/components/overlay/components/mask/style.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 */ });\nconst styles = `\n :host {\n display: flex;\n flex-direction: column;\n justify-content: flex-between;\n }\n :host .__paged-reading-mask-top {\n width: 100vw;\n height: 43%;\n background: rgba(0, 0, 0, 0.3);\n position: fixed;\n top: 0;\n left: 0;\n z-index: 100;\n }\n :host .__paged-reading-mask-bottom {\n width: 100vw;\n height: 43%;\n background: rgba(0, 0, 0, 0.3);\n position: fixed;\n bottom: 0;\n left: 0;\n z-index: 100;\n }\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (styles);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWFzay9zdHlsZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBTUEsTUFBTSxHQUFHO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFFRCxpRUFBZUEsTUFBTSIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL3NyYy9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9tYXNrL3N0eWxlLmpzPzE4YjYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgc3R5bGVzID0gYFxuICA6aG9zdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1iZXR3ZWVuO1xuICB9XG4gIDpob3N0IC5fX3BhZ2VkLXJlYWRpbmctbWFzay10b3Age1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDQzJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgfVxuICA6aG9zdCAuX19wYWdlZC1yZWFkaW5nLW1hc2stYm90dG9tIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiA0MyU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gIH1cbmA7XG5cbmV4cG9ydCBkZWZhdWx0IHN0eWxlcztcbiJdLCJuYW1lcyI6WyJzdHlsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/overlay/components/mask/style.js\n");
/***/ }),
/***/ "./src/components/overlay/components/reader/index.js":
/*!***********************************************************!*\
!*** ./src/components/overlay/components/reader/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\": () => (/* binding */ Reader)\n/* harmony export */ });\n/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ \"./src/components/overlay/components/reader/style.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../utils/dom */ \"./src/utils/dom.js\");\n/* harmony import */ var _configuration_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../configuration/constants */ \"./configuration/constants.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../icons */ \"./src/components/icons.js\");\n/* harmony import */ var _input__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../input */ \"./src/components/overlay/components/input/index.js\");\n/* harmony import */ var _translation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../translation */ \"./src/components/translation/index.js\");\n\n\n\n\n\n\nclass Reader {\n _root = null;\n _rootShadow = null;\n _parent = null;\n _isEnabled = false;\n _isHovered = false;\n _isDragging = false;\n _synth = null;\n _dragger = null;\n _draggerPosition = {\n pos1: 0,\n pos2: 0,\n pos3: 0,\n pos4: 0\n };\n _popUp = null;\n _isAutoPlay = false;\n _isSpeaking = false;\n _currentParent = null;\n _currentText = null;\n _currentLine = 0;\n _readingLines = [];\n _currentElement = null;\n _languageChanger = null;\n _autoPlayButton = null;\n _cursorEnabled = false;\n _translation = null;\n _readerInputs = [];\n _settings = {\n rate: 1,\n pitch: 1,\n volume: 1,\n lang: 'DE'\n };\n constructor(options) {\n if (!this._parent) {\n this._parent = document.body;\n }\n this._translation = new _translation__WEBPACK_IMPORTED_MODULE_5__[\"default\"](this._settings.lang);\n this.__init__();\n }\n set enabled(value) {\n if (value) {\n if (!this._isEnabled) {\n this._parent.addEventListener('mousemove', this._readEvent);\n this._root.style.display = 'flex';\n }\n } else {\n this._parent.removeEventListener('mousemove', this._readEvent);\n this._root.style.display = 'none';\n this._synth.cancel();\n window.isAutoPlay = false;\n this._autoPlayButton.innerHTML = _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].play;\n }\n this._isEnabled = value;\n }\n set language(value) {\n this._settings.lang = value;\n this._languageChanger.value = value;\n this._translation.set_language(value);\n this._changeLanguage();\n }\n _changeLanguage() {\n //Change elements-innerHtml\n const tabs = Array.from(this._rootShadow.querySelectorAll('[dataId]'));\n tabs.forEach(tab => {\n tab.innerHTML = this._translation.get(tab.getAttribute('dataid'));\n });\n\n //Change input-labels\n const inputs = Array.from(this._rootShadow.querySelectorAll('.__paged-input'));\n inputs.forEach(input => {\n const searchModuleRoot = input && input.shadowRoot;\n const label = searchModuleRoot.querySelector('label');\n label.innerHTML = this._translation.get(input.getAttribute('labelKey'));\n });\n }\n __init__() {\n this._createSettingsDialog();\n this._readEvent = this._readEvent.bind(this);\n this._translation.set_language(this._settings.lang);\n this._synth = window.speechSynthesis;\n this._synth.resume();\n this._synth.cancel();\n }\n _createSettingsDialog() {\n this._root = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: this._parent ? this._parent : undefined,\n attributes: {\n class: _configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.reader\n }\n });\n this._rootShadow = this._root.attachShadow({\n mode: 'open'\n });\n this._rootShadow.innerHTML = ``;\n this._dragger = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: this._rootShadow,\n /*innerHTML: `\n Screen Reader
\n `,*/\n attributes: {\n class: 'paged-reader-dragger'\n //dataId: 'screenReader'\n },\n events: {\n mousedown: this._mouseDownEvent.bind(this)\n }\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'h1',\n appendTo: this._dragger,\n /*innerHTML: `\n Screen Reader
\n `,*/\n innerHTML: this._translation.get('screenReader'),\n attributes: {\n dataId: 'screenReader'\n }\n });\n\n /*const { height } = window.getComputedStyle(this._rootShadow.querySelector('.paged-reader-dragger'));\n const headerHeight = Number(height.split('px')[0]);\n this._root.style.maxHeight = `${headerHeight + 80}px`;*/\n\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n appendTo: this._dragger,\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cancel,\n events: {\n click: () => this._root.style.display = 'none'\n }\n });\n\n /*this._popUp = dom.createElement({\n tag: 'div',\n appendTo: this._rootShadow,\n attributes: {\n class: 'paged_popUp'\n },\n innerHTML: 'Voice quality can suffer, if preferred language of your system is not the same as the language of the screen reader.
'\n });\n dom.createElement({\n tag: 'button',\n appendTo: this._popUp,\n innerHTML: 'Okay',\n attributes: {\n class: 'button'\n },\n events: {\n click: () => this._popUp.style.display = 'none',\n },\n });*/\n\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'style',\n innerHTML: _style__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n appendTo: this._rootShadow\n });\n const cursor_switch = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'label',\n appendTo: this._rootShadow,\n attributes: {\n class: '__paged_reader_cursor'\n }\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'input',\n attributes: {\n type: 'checkbox'\n },\n appendTo: cursor_switch,\n events: {\n change: event => {\n this._cursorEnabled = event.target.checked;\n this._rootShadow.querySelector('.__paged_reader_play').innerHTML = _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].play;\n if (this._readingLines[this._currentLine]) {\n this._mouseReaderEventStyleContrast(this._readingLines[this._currentLine].elem, false);\n }\n window.isAutoPlay = false;\n this._synth.cancel();\n }\n }\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n class: 'slider'\n },\n appendTo: cursor_switch\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n appendTo: this._rootShadow,\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].backward,\n attributes: {\n class: '__paged_reader_backward'\n },\n events: {\n click: this._onBackward.bind(this)\n }\n });\n this._autoPlayButton = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n appendTo: this._rootShadow,\n innerHTML: window.isAutoPlay ? _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].pause : _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].play,\n attributes: {\n class: '__paged_reader_play'\n },\n events: {\n click: this._onPlay.bind(this)\n }\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n appendTo: this._rootShadow,\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].forward,\n attributes: {\n class: '__paged_reader_forward'\n },\n events: {\n click: this._onForward.bind(this)\n }\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n appendTo: this._rootShadow,\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].settings,\n attributes: {\n class: '__paged_reader_settings'\n },\n events: {\n click: () => {\n if (inputDiv.style.display === 'none') {\n inputDiv.style.display = 'block';\n } else {\n inputDiv.style.display = 'none';\n }\n\n /*const { maxHeight } = getComputedStyle(this._root);\n if (maxHeight !== 'fit-content') {\n this._root.style.maxHeight = 'fit-content';\n } else {\n const { height } = window.getComputedStyle(this._rootShadow.querySelector('.paged-reader-dragger'));\n const headerHeight = Number(height.split('px')[0]);\n this._root.style.maxHeight = `${headerHeight + 100}px`;\n }*/\n }\n }\n });\n const labelDiv = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: this._rootShadow,\n attributes: {\n class: 'paged-reader-labels',\n style: 'display: flex;flex-direction: row;justify-content:space-between;width: -webkit-fill-available;padding: 0 12px 12px 12px;'\n }\n /*innerHTML: `\n Cursor mode
\n Website mode
\n Settings
\n `,*/\n });\n const cursorDiv = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: labelDiv,\n attributes: {\n style: 'width: calc(100% / 3);margin-bottom: 8px'\n }\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'p',\n appendTo: cursorDiv,\n attributes: {\n dataId: 'cursor',\n style: 'margin: 0;'\n },\n innerHTML: this._translation.get('cursor')\n });\n const websiteDiv = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: labelDiv,\n attributes: {\n style: 'width: calc(100% / 3);margin-bottom: 8px;display: flex;justify-content: center; text-align: center'\n }\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'p',\n appendTo: websiteDiv,\n attributes: {\n dataId: 'website',\n style: 'margin: 0;'\n },\n innerHTML: this._translation.get('website')\n });\n const settingsDiv = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: labelDiv,\n attributes: {\n style: 'width: calc(100% / 3);margin-bottom: 8px;display: flex;justify-content: flex-end;'\n }\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'p',\n appendTo: settingsDiv,\n attributes: {\n dataId: 'settings',\n style: 'margin: 0;'\n },\n innerHTML: this._translation.get('settings')\n });\n const inputDiv = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: this._rootShadow,\n attributes: {\n class: 'settings',\n style: 'display: none; width: 100%'\n }\n });\n const rateInput = new _input__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n key: 'rate',\n parent: inputDiv,\n value: 1,\n label: this._translation.get('rate'),\n type: 'increment',\n base: 1,\n default: 1,\n validations: {\n max: 2,\n min: 0.5,\n step: 0.1\n },\n onChange: value => {\n const wasPlaying = window.isAutoPlay;\n window.isAutoPlay = false;\n this._rootShadow.querySelector('.__paged_reader_play').innerHTML = _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].play;\n this._settings.rate = value;\n this._synth.cancel();\n if (wasPlaying) {\n this._onPlay(undefined);\n }\n }\n });\n const pitchInput = new _input__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n key: 'pitch',\n parent: inputDiv,\n value: 1,\n label: this._translation.get('pitch'),\n type: 'increment',\n base: 1,\n default: 1,\n validations: {\n max: 2,\n min: 0,\n step: 0.1\n },\n onChange: value => {\n const wasPlaying = window.isAutoPlay;\n window.isAutoPlay = false;\n this._rootShadow.querySelector('.__paged_reader_play').innerHTML = _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].play;\n this._settings.pitch = value;\n this._synth.cancel();\n if (wasPlaying) {\n this._onPlay(undefined);\n }\n }\n });\n const volumeInput = new _input__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n key: 'volume',\n parent: inputDiv,\n value: 1,\n label: this._translation.get('volume'),\n type: 'increment',\n base: 1,\n default: 1,\n validations: {\n max: 1,\n min: 0,\n step: 0.05,\n format: n => n * 100\n },\n onChange: value => {\n const wasPlaying = window.isAutoPlay;\n window.isAutoPlay = false;\n this._rootShadow.querySelector('.__paged_reader_play').innerHTML = _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].play;\n this._settings.volume = value;\n this._synth.cancel();\n if (wasPlaying) {\n this._onPlay(undefined);\n }\n }\n });\n this._languageChanger = new _input__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n key: 'lang',\n parent: inputDiv,\n value: 1,\n label: this._translation.get('lang'),\n type: 'select',\n default: 'DE',\n options: [{\n label: 'Deutsch',\n value: 'DE'\n }, {\n label: 'English',\n value: 'EN'\n }],\n onChange: value => {\n const wasPlaying = window.isAutoPlay;\n window.isAutoPlay = false;\n this._rootShadow.querySelector('.__paged_reader_play').innerHTML = _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].play;\n this._settings.lang = value;\n this._translation.set_language(value);\n this._synth.cancel();\n if (wasPlaying) {\n this._onPlay(undefined);\n }\n this._changeLanguage();\n }\n });\n this._readerInputs.push(rateInput, pitchInput, volumeInput, this._languageChanger);\n this._root.style.display = 'none';\n }\n _checkForPlatfrom() {\n /*if (window.navigator.platform.indexOf(\"Win\") != -1) {\n console.log(\"The user is running Windows\");\n } else if (window.navigator.platform.indexOf(\"Mac\") != -1) {\n console.log(\"The user is running Mac OS\");\n } else if (window.navigator.platform.indexOf(\"Linux\") != -1) {\n console.log(\"The user is running Linux\");\n } else {\n console.log(\"The user's operating system could not be determined\");\n }*/\n //var isIOS = /(iPhone|iPod|iPad)/i.test(navigator.platform);\n\n return window.navigator.platform.indexOf(\"Mac\") !== -1;\n }\n _checkParentElement(element) {\n for (; element && element !== document; element = element.parentNode) {\n let list = element.classList.value.split(' ').filter(cls => cls.toLocaleLowerCase().includes('footer') /* || cls.toLocaleLowerCase().includes('header')*/);\n if (element.parentNode.tagName === 'HEADER' || element.parentNode.tagName === 'FOOTER' || list.length > 0) {\n return true;\n }\n }\n return false;\n }\n _checkForElementorAttributeOnBody() {\n return !!document.body.className.match(/elementor/);\n }\n _onPlay(event) {\n if (this._currentElement) {\n this._mouseReaderEventStyleContrast(this._currentElement, false);\n }\n window.isAutoPlay = window.isAutoPlay ? false : true;\n this._cursorEnabled = false;\n this._rootShadow.querySelector('.__paged_reader_cursor').querySelector('input').checked = false;\n const button = this._rootShadow.querySelector('.__paged_reader_play');\n if (window.isAutoPlay) {\n button.innerHTML = _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].pause;\n this._synth.cancel();\n //const elements = Array.from(document.querySelector('main').querySelectorAll('p, span, h1, h2, h3, h4, h5, h6, li, td'));\n let elements;\n if (this._checkForElementorAttributeOnBody()) {\n elements = Array.from(document.querySelector(\"[data-elementor-type='wp-post']\").querySelectorAll('p/*, span*/, h1, h2, h3, h4, h5, h6, li, td'));\n } else {\n elements = Array.from(document.querySelectorAll('p/*, span*/, h1, h2, h3, h4, h5, h6, li, td')).filter(elem => this._checkParentElement(elem) !== true);\n }\n const allElements = elements.filter(text => text.innerText);\n let textElements = [];\n for (let i = 0; i < allElements.length; i++) {\n if (i > 0 && allElements[i].innerText === allElements[i - 1].innerText) {\n textElements.pop();\n }\n textElements.push(allElements[i]);\n }\n const lines = textElements.map(element => {\n const {\n backgroundColor\n } = getComputedStyle(element);\n const {\n color\n } = getComputedStyle(element);\n element.setAttribute('bg-color', backgroundColor);\n element.setAttribute('font-color', color);\n return {\n elem: element,\n text: element.textContent.trim()\n };\n });\n const htmlTagRegex = /<[^>]+>/;\n this._readingLines = lines.filter(line => !htmlTagRegex.test(line.text));\n for (let i = this._currentLine; i < this._readingLines.length; i++) {\n const utterance = new SpeechSynthesisUtterance(this._readingLines[i].text);\n utterance.onend = () => {\n //this._readingLines[i].elem.style.backgroundColor = 'transparent';\n this._mouseReaderEventStyleContrast(this._readingLines[i].elem, false);\n };\n utterance.onstart = () => {\n //this._readingLines[i].elem.style.backgroundColor = 'rgba(255, 255, 0, 0.6)';\n this._mouseReaderEventStyleContrast(this._readingLines[i].elem, true);\n this._currentLine = i;\n };\n Object.keys(this._settings).forEach(key => {\n utterance[key] = this._settings[key];\n });\n\n //Set special voice for MacOs\n if (this._checkForPlatfrom() && this._settings.lang === 'EN') {\n const voices = window.speechSynthesis.getVoices();\n utterance.voice = voices[5];\n }\n this._synth.speak(utterance);\n }\n } else {\n this._mouseReaderEventStyleContrast(this._readingLines[this._currentLine].elem, false);\n this._synth.cancel();\n button.innerHTML = _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].play;\n }\n }\n _onForward(event) {\n if (this._readingLines.length) {\n const wasPlaying = window.isAutoPlay;\n if (window.isAutoPlay) {\n this._onPlay(undefined);\n }\n if (this._currentLine + 1 <= this._readingLines.length - 1) {\n //this._readingLines[this._currentLine].elem.style.backgroundColor = 'transparent';\n //this._mouseReaderEventStyleContrast(this._readingLines[this._currentLine].elem, false);\n this._currentLine++;\n //this._readingLines[this._currentLine].elem.style.backgroundColor = 'rgba(255, 255, 0, 0.6)';\n //this._mouseReaderEventStyleContrast(this._readingLines[this._currentLine].elem, false);\n if (wasPlaying) {\n this._onPlay(undefined);\n }\n }\n }\n }\n _onBackward(event) {\n if (this._readingLines.length) {\n const wasPlaying = window.isAutoPlay;\n if (window.isAutoPlay) {\n this._onPlay(undefined);\n }\n if (this._currentLine - 1 >= 0) {\n //this._readingLines[this._currentLine].elem.style.backgroundColor = 'transparent';\n //this._mouseReaderEventStyleContrast(this._readingLines[this._currentLine].elem, false);\n this._currentLine--;\n //this._readingLines[this._currentLine].elem.style.backgroundColor = 'rgba(255, 255, 0, 0.6)';\n //this._mouseReaderEventStyleContrast(this._readingLines[this._currentLine].elem, true);\n if (wasPlaying) {\n this._onPlay(undefined);\n }\n }\n }\n }\n _onStop(event) {\n if (this._readingLines.length) {\n const wasPlaying = window.isAutoPlay;\n /*if (window.isAutoPlay) {\n // pause if its playing\n this._onPlay(undefined);\n }*/\n //this._readingLines[this._currentLine].elem.style.backgroundColor = 'transparent';\n //this._mouseReaderEventStyleContrast(this._readingLines[this._currentLine].elem, false);\n //this._currentLine--;\n //this._readingLines[this._currentLine].elem.style.backgroundColor = 'rgba(255, 255, 0, 0.6)';\n //this._mouseReaderEventStyleContrast(this._readingLines[this._currentLine].elem, true);\n if (wasPlaying) {\n this._onPlay(undefined);\n }\n this._currentLine = 0;\n }\n if (this._cursorEnabled) {\n this._isHovered = false;\n this._currentElement = null;\n this._currentText = null;\n }\n this._parent.addEventListener('mousemove', this._readEvent);\n }\n _mouseDownEvent(event) {\n event.preventDefault();\n this._draggerPosition.pos3 = event.clientX;\n this._draggerPosition.pos4 = event.clientY;\n this._isDragging = true;\n document.addEventListener('mousemove', this._mouseMoveEvent.bind(this));\n document.addEventListener('mouseup', this._mouseUpEvent.bind(this));\n }\n _mouseMoveEvent(event) {\n if (!this._isDragging) return;\n event.preventDefault();\n this._draggerPosition.pos1 = this._draggerPosition.pos3 - event.clientX;\n this._draggerPosition.pos2 = this._draggerPosition.pos4 - event.clientY;\n this._draggerPosition.pos3 = event.clientX;\n this._draggerPosition.pos4 = event.clientY;\n this._root.style.top = this._root.offsetTop - this._draggerPosition.pos2 + 'px';\n this._root.style.left = this._root.offsetLeft - this._draggerPosition.pos1 + 'px';\n }\n _mouseUpEvent(event) {\n this._isDragging = false;\n document.removeEventListener('mousemove', this._mouseMoveEvent.bind(this));\n document.removeEventListener('mouseup', this._mouseUpEvent.bind(this));\n }\n _mouseReaderEventStyleContrast(element, active) {\n //#191824\n //rgb(34, 45, 57)\n if (active) {\n //element.style.background = 'rgba(34, 45, 57, 1)';\n element.style.background = '#222d39';\n element.style.color = '#ffffff';\n } else {\n element.style.background = element.getAttribute('bg-color') || 'transparent';\n element.style.color = element.getAttribute('font-color') || '#000';\n }\n }\n _readEvent(event) {\n if (!this._cursorEnabled) {\n return;\n }\n if (!this._isEnabled) {\n return;\n }\n if (window.isAutoPlay) {\n return;\n }\n\n //const element = event.target;\n\n if (!this._isHovered) {\n const element = event.target;\n if (['SPAN', 'P', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'LI', 'TD', 'TH', 'A', 'BUTTON', 'LABEL', 'INPUT'].includes(element.nodeName)) {\n //if (this._synth.speaking && this._currentText === element.innerText) return;\n\n if (this._currentText !== element.innerText) {\n const {\n backgroundColor\n } = getComputedStyle(element);\n const {\n color\n } = getComputedStyle(element);\n element.setAttribute('bg-color', backgroundColor);\n element.setAttribute('font-color', color);\n element.style.position = 'relative';\n this._mouseReaderEventStyleContrast(element, true);\n this._parent.removeEventListener('mousemove', this._readEvent);\n const readTimeout = setTimeout(() => {\n this._currentText = element.innerText;\n //this._isHovered = true;\n this._synth.cancel();\n const message = new SpeechSynthesisUtterance(this._currentText);\n message.onstart = () => {\n const loader = element.querySelector('.progress');\n if (loader) loader.remove();\n this._isSpeaking = true;\n if (this._currentParent !== null) {\n this._mouseReaderEventStyleContrast(this._currentParent, false);\n this._currentParent = null;\n }\n this._currentParent = element;\n };\n message.onend = () => {\n this._isSpeaking = false;\n this._mouseReaderEventStyleContrast(this._currentParent, false);\n };\n message.error = () => console.log('paused', element);\n Object.keys(this._settings).forEach(key => {\n message[key] = this._settings[key];\n });\n\n //Set special voice for MacOs\n if (this._checkForPlatfrom() && this._settings.lang === 'EN') {\n const voices = window.speechSynthesis.getVoices();\n message.voice = voices[5];\n }\n this._currentElement = element;\n this._synth.speak(message);\n /*if (!element.querySelector('.progress')) {\n dom.createElement({\n tag: 'div',\n appendTo: element,\n innerHTML: `\n \n \n \n `,\n attributes: {\n class: 'progress',\n },\n });\n }*/\n }, 800);\n element.addEventListener('mouseout', () => {\n const loader = element.querySelector('.progress');\n if (loader) loader.remove();\n this._isHovered = false;\n clearTimeout(readTimeout);\n this._parent.addEventListener('mousemove', this._readEvent);\n if (element !== this._currentParent) {\n element.style.background = element.getAttribute('bg-color') || 'transparent';\n element.style.color = element.getAttribute('font-color') || '#000';\n }\n if (!this._synth.speaking) {\n element.style.background = element.getAttribute('bg-color') || 'transparent';\n element.style.color = element.getAttribute('font-color') || '#000';\n }\n });\n }\n }\n }\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvcmVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBNEI7QUFDWTtBQUNpQjtBQUN0QjtBQUNOO0FBQ2dCO0FBRTlCLE1BQU1NLE1BQU0sQ0FBQztFQUMxQkMsS0FBSyxHQUFHLElBQUk7RUFDWkMsV0FBVyxHQUFHLElBQUk7RUFDbEJDLE9BQU8sR0FBRyxJQUFJO0VBQ2RDLFVBQVUsR0FBRyxLQUFLO0VBQ2xCQyxVQUFVLEdBQUcsS0FBSztFQUNsQkMsV0FBVyxHQUFHLEtBQUs7RUFDbkJDLE1BQU0sR0FBRyxJQUFJO0VBQ2JDLFFBQVEsR0FBRyxJQUFJO0VBQ2ZDLGdCQUFnQixHQUFHO0lBQUVDLElBQUksRUFBRSxDQUFDO0lBQUVDLElBQUksRUFBRSxDQUFDO0lBQUVDLElBQUksRUFBRSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFFLENBQUM7RUFDekRDLE1BQU0sR0FBRyxJQUFJO0VBQ2JDLFdBQVcsR0FBRyxLQUFLO0VBQ25CQyxXQUFXLEdBQUcsS0FBSztFQUNuQkMsY0FBYyxHQUFHLElBQUk7RUFDckJDLFlBQVksR0FBRyxJQUFJO0VBQ25CQyxZQUFZLEdBQUcsQ0FBQztFQUNoQkMsYUFBYSxHQUFHLEVBQUU7RUFDbEJDLGVBQWUsR0FBRyxJQUFJO0VBQ3RCQyxnQkFBZ0IsR0FBRyxJQUFJO0VBQ3ZCQyxlQUFlLEdBQUcsSUFBSTtFQUN0QkMsY0FBYyxHQUFHLEtBQUs7RUFDdEJDLFlBQVksR0FBRyxJQUFJO0VBQ25CQyxhQUFhLEdBQUcsRUFBRTtFQUNsQkMsU0FBUyxHQUFHO0lBQ1ZDLElBQUksRUFBRSxDQUFDO0lBQ1BDLEtBQUssRUFBRSxDQUFDO0lBQ1JDLE1BQU0sRUFBRSxDQUFDO0lBQ1RDLElBQUksRUFBRTtFQUNSLENBQUM7RUFFREMsV0FBV0EsQ0FBQ0MsT0FBTyxFQUFFO0lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUM5QixPQUFPLEVBQUU7TUFDakIsSUFB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RUFBRSxNQUFNO1lBQ3pDLE1BQU1rSixNQUFNLEdBQUc1RCxPQUFPLENBQUM3RCxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQ2pELElBQUl5SCxNQUFNLEVBQUVBLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDckwsVUFBVSxHQUFHLEtBQUs7WUFDdkJ5TCxZQUFZLENBQUNSLFdBQVcsQ0FBQztZQUN6QixJQUFJLENBQUNuTCxPQUFPLENBQUNvQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDQyxVQUFVLENBQUM7WUFFM0QsSUFBR3FGLE9BQU8sS0FBSyxJQUFJLENBQUM1RyxjQUFjLEVBQUU7Y0FDbEM0RyxPQUFPLENBQUNuSSxLQUFLLENBQUN5TCxVQUFVLEdBQUd0RCxPQUFPLENBQUNuRSxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksYUFBYTtjQUM1RW1FLE9BQU8sQ0FBQ25JLEtBQUssQ0FBQzZKLEtBQUssR0FBRzFCLE9BQU8sQ0FBQ25FLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxNQUFNO1lBQ3BFO1lBRUEsSUFBSSxDQUFDLElBQUksQ0FBQ25ELE1BQU0sQ0FBQ3dMLFFBQVEsRUFBRTtjQUN6QmxFLE9BQU8sQ0FBQ25JLEtBQUssQ0FBQ3lMLFVBQVUsR0FBR3RELE9BQU8sQ0FBQ25FLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxhQUFhO2NBQzVFbUUsT0FBTyxDQUFDbkksS0FBSyxDQUFDNkosS0FBSyxHQUFHMUIsT0FBTyxDQUFDbkUsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLE1BQU07WUFDcEU7VUFFRixDQUFDLENBQUM7UUFDSjtNQUNGO0lBQ0Y7RUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL3JlYWRlci9pbmRleC5qcz85ZDI3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZSBmcm9tICcuL3N0eWxlJztcbmltcG9ydCBkb20gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCBlbnYgZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi9jb25zdGFudHMnO1xuaW1wb3J0IGljb25zIGZyb20gJy4uLy4uLy4uL2ljb25zJztcbmltcG9ydCBJbnB1dCBmcm9tICcuLi9pbnB1dCc7XG5pbXBvcnQgVHJhbnNsYXRlIGZyb20gJy4uLy4uLy4uL3RyYW5zbGF0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVhZGVyIHtcbiAgX3Jvb3QgPSBudWxsO1xuICBfcm9vdFNoYWRvdyA9IG51bGw7XG4gIF9wYXJlbnQgPSBudWxsO1xuICBfaXNFbmFibGVkID0gZmFsc2U7XG4gIF9pc0hvdmVyZWQgPSBmYWxzZTtcbiAgX2lzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgX3N5bnRoID0gbnVsbDtcbiAgX2RyYWdnZXIgPSBudWxsO1xuICBfZHJhZ2dlclBvc2l0aW9uID0geyBwb3MxOiAwLCBwb3MyOiAwLCBwb3MzOiAwLCBwb3M0OiAwIH07XG4gIF9wb3BVcCA9IG51bGw7XG4gIF9pc0F1dG9QbGF5ID0gZmFsc2U7XG4gIF9pc1NwZWFraW5nID0gZmFsc2U7XG4gIF9jdXJyZW50UGFyZW50ID0gbnVsbDtcbiAgX2N1cnJlbnRUZXh0ID0gbnVsbDtcbiAgX2N1cnJlbnRMaW5lID0gMDtcbiAgX3JlYWRpbmdMaW5lcyA9IFtdO1xuICBfY3VycmVudEVsZW1lbnQgPSBudWxsO1xuICBfbGFuZ3VhZ2VDaGFuZ2VyID0gbnVsbDtcbiAgX2F1dG9QbGF5QnV0dG9uID0gbnVsbDtcbiAgX2N1cnNvckVuYWJsZWQgPSBmYWxzZTtcbiAgX3RyYW5zbGF0aW9uID0gbnVsbDtcbiAgX3JlYWRlcklucHV0cyA9IFtdO1xuICBfc2V0dGluZ3MgPSB7XG4gICAgcmF0ZTogMSxcbiAgICBwaXRjaDogMSxcbiAgICB2b2x1bWU6IDEsXG4gICAgbGFuZzogJ0RFJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgaWYgKCF0aGlzLl9wYXJlbnQpIHtcbiAgICAgIHRoaXMuX3BhcmVudCA9IGRvY3VtZW50LmJvZHk7XG4gICAgfVxuICAgIHRoaXMuX3RyYW5zbGF0aW9uID0gbmV3IFRyYW5zbGF0ZSh0aGlzLl9zZXR0aW5ncy5sYW5nKTtcbiAgICB0aGlzLl9faW5pdF9fKCk7XG4gIH1cblxuICBzZXQgZW5hYmxlZCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuX3JlYWRFdmVudCk7XG4gICAgICAgIHRoaXMuX3Jvb3Quc3R5bGUuZGlzcGxheSA9ICdmbGV4JztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcGFyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuX3JlYWRFdmVudCk7XG4gICAgICB0aGlzLl9yb290LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICB0aGlzLl9zeW50aC5jYW5jZWwoKTtcbiAgICAgIHdpbmRvdy5pc0F1dG9QbGF5ID0gZmFsc2U7XG4gICAgICB0aGlzLl9hdXRvUGxheUJ1dHRvbi5pbm5lckhUTUwgPSBpY29ucy5wbGF5O1xuICAgIH1cbiAgICB0aGlzLl9pc0VuYWJsZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHNldCBsYW5ndWFnZSh2YWx1ZSkge1xuICAgIHRoaXMuX3NldHRpbmdzLmxhbmcgPSB2YWx1ZTtcbiAgICB0aGlzLl9sYW5ndWFnZUNoYW5nZXIudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl90cmFuc2xhdGlvbi5zZXRfbGFuZ3VhZ2UodmFsdWUpO1xuICAgIHRoaXMuX2NoYW5nZUxhbmd1YWdlKCk7XG4gIH1cblxuICBfY2hhbmdlTGFuZ3VhZ2UoKSB7XG4gICAgLy9DaGFuZ2UgZWxlbWVudHMtaW5uZXJIdG1sXG4gICAgY29uc3QgdGFicyA9IEFycmF5LmZyb20odGhpcy5fcm9vdFNoYWRvdy5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YUlkXScpKTtcbiAgICB0YWJzLmZvckVhY2godGFiID0+IHtcbiAgICAgIHRhYi5pbm5lckhUTUwgPSB0aGlzLl90cmFuc2xhdGlvbi5nZXQodGFiLmdldEF0dHJpYnV0ZSgnZGF0YWlkJykpO1xuICAgIH0pXG5cbiAgICAvL0NoYW5nZSBpbnB1dC1sYWJlbHNcbiAgICBjb25zdCBpbnB1dHMgPSBBcnJheS5mcm9tKHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvckFsbCgnLl9fcGFnZWQtaW5wdXQnKSk7XG4gICAgaW5wdXRzLmZvckVhY2goaW5wdXQgPT4ge1xuICAgICAgY29uc3Qgc2VhcmNoTW9kdWxlUm9vdCA9IGlucHV0ICYmIGlucHV0LnNoYWRvd1Jvb3Q7XG4gICAgICBjb25zdCBsYWJlbCA9IHNlYXJjaE1vZHVsZVJvb3QucXVlcnlTZWxlY3RvcignbGFiZWwnKTtcbiAgICAgIGxhYmVsLmlubmVySFRNTCA9IHRoaXMuX3RyYW5zbGF0aW9uLmdldChpbnB1dC5nZXRBdHRyaWJ1dGUoJ2xhYmVsS2V5JykpO1xuICAgIH0pXG4gIH1cblxuICBfX2luaXRfXygpIHtcbiAgICB0aGlzLl9jcmVhdGVTZXR0aW5nc0RpYWxvZygpO1xuICAgIHRoaXMuX3JlYWRFdmVudCA9IHRoaXMuX3JlYWRFdmVudC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuX3RyYW5zbGF0aW9uLnNldF9sYW5ndWFnZSh0aGlzLl9zZXR0aW5ncy5sYW5nKTtcbiAgICB0aGlzLl9zeW50aCA9IHdpbmRvdy5zcGVlY2hTeW50aGVzaXM7XG4gICAgdGhpcy5fc3ludGgucmVzdW1lKCk7XG4gICAgdGhpcy5fc3ludGguY2FuY2VsKCk7XG4gIH1cblxuICBfY3JlYXRlU2V0dGluZ3NEaWFsb2coKSB7XG4gICAgdGhpcy5fcm9vdCA9IGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ2RpdicsXG4gICAgICBhcHBlbmRUbzogdGhpcy5fcGFyZW50ID8gdGhpcy5fcGFyZW50IDogdW5kZWZpbmVkLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBjbGFzczogZW52LmNsYXNzZXMucmVhZGVyLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuX3Jvb3RTaGFkb3cgPSB0aGlzLl9yb290LmF0dGFjaFNoYWRvdyh7XG4gICAgICBtb2RlOiAnb3BlbicsXG4gICAgfSk7XG5cbiAgICB0aGlzLl9yb290U2hhZG93LmlubmVySFRNTCA9IGBgO1xuXG4gICAgdGhpcy5fZHJhZ2dlciA9IGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ2RpdicsXG4gICAgICBhcHBlbmRUbzogdGhpcy5fcm9vdFNoYWRvdyxcbiAgICAgIC8qaW5uZXJIVE1MOiBgXG4gICAgICAgIDxoMT5TY3JlZW4gUmVhZGVyPC9oMT5cbiAgICAgIGAsKi9cbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6ICdwYWdlZC1yZWFkZXItZHJhZ2dlcicsXG4gICAgICAgIC8vZGF0YUlkOiAnc2NyZWVuUmVhZGVyJ1xuICAgICAgfSxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICBtb3VzZWRvd246IHRoaXMuX21vdXNlRG93bkV2ZW50LmJpbmQodGhpcyksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnaDEnLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX2RyYWdnZXIsXG4gICAgICAvKmlubmVySFRNTDogYFxuICAgICAgICA8aDE+U2NyZWVuIFJlYWRlcjwvaDE+XG4gICAgICBgLCovXG4gICAgICBpbm5lckhUTUw6IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgnc2NyZWVuUmVhZGVyJyksXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGRhdGFJZDogJ3NjcmVlblJlYWRlcidcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvKmNvbnN0IHsgaGVpZ2h0IH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJy5wYWdlZC1yZWFkZXItZHJhZ2dlcicpKTtcbiAgICBjb25zdCBoZWFkZXJIZWlnaHQgPSBOdW1iZXIoaGVpZ2h0LnNwbGl0KCdweCcpWzBdKTtcbiAgICB0aGlzLl9yb290LnN0eWxlLm1heEhlaWdodCA9IGAke2hlYWRlckhlaWdodCArIDgwfXB4YDsqL1xuXG5cbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdidXR0b24nLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX2RyYWdnZXIsXG4gICAgICBpbm5lckhUTUw6IGljb25zLmNhbmNlbCxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICBjbGljazogKCkgPT4gdGhpcy5fcm9vdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8qdGhpcy5fcG9wVXAgPSBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAncGFnZWRfcG9wVXAnXG4gICAgICB9LFxuICAgICAgaW5uZXJIVE1MOiAnPHA+Vm9pY2UgcXVhbGl0eSBjYW4gc3VmZmVyLCBpZiBwcmVmZXJyZWQgbGFuZ3VhZ2Ugb2YgeW91ciBzeXN0ZW0gaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBsYW5ndWFnZSBvZiB0aGUgc2NyZWVuIHJlYWRlci48L3A+J1xuICAgIH0pO1xuXG4gICAgZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnYnV0dG9uJyxcbiAgICAgIGFwcGVuZFRvOiB0aGlzLl9wb3BVcCxcbiAgICAgIGlubmVySFRNTDogJ09rYXknLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBjbGFzczogJ2J1dHRvbidcbiAgICAgIH0sXG4gICAgICBldmVudHM6IHtcbiAgICAgICAgY2xpY2s6ICgpID0+IHRoaXMuX3BvcFVwLnN0eWxlLmRpc3BsYXkgPSAnbm9uZScsXG4gICAgICB9LFxuICAgIH0pOyovXG5cbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdzdHlsZScsXG4gICAgICBpbm5lckhUTUw6IHN0eWxlLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgfSk7XG5cbiAgICBjb25zdCBjdXJzb3Jfc3dpdGNoID0gZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnbGFiZWwnLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnX19wYWdlZF9yZWFkZXJfY3Vyc29yJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdpbnB1dCcsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICB9LFxuICAgICAgYXBwZW5kVG86IGN1cnNvcl9zd2l0Y2gsXG4gICAgICBldmVudHM6IHtcbiAgICAgICAgY2hhbmdlOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl9jdXJzb3JFbmFibGVkID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XG4gICAgICAgICAgdGhpcy5fcm9vdFNoYWRvdy5xdWVyeVNlbGVjdG9yKCcuX19wYWdlZF9yZWFkZXJfcGxheScpLmlubmVySFRNTCA9IGljb25zLnBsYXk7XG4gICAgICAgICAgaWYodGhpcy5fcmVhZGluZ0xpbmVzW3RoaXMuX2N1cnJlbnRMaW5lXSkge1xuICAgICAgICAgICAgdGhpcy5fbW91c2VSZWFkZXJFdmVudFN0eWxlQ29udHJhc3QodGhpcy5fcmVhZGluZ0xpbmVzW3RoaXMuX2N1cnJlbnRMaW5lXS5lbGVtLCBmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHdpbmRvdy5pc0F1dG9QbGF5ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fc3ludGguY2FuY2VsKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ2RpdicsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnc2xpZGVyJyxcbiAgICAgIH0sXG4gICAgICBhcHBlbmRUbzogY3Vyc29yX3N3aXRjaCxcbiAgICB9KTtcblxuICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ2J1dHRvbicsXG4gICAgICBhcHBlbmRUbzogdGhpcy5fcm9vdFNoYWRvdyxcbiAgICAgIGlubmVySFRNTDogaWNvbnMuYmFja3dhcmQsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnX19wYWdlZF9yZWFkZXJfYmFja3dhcmQnLFxuICAgICAgfSxcbiAgICAgIGV2ZW50czoge1xuICAgICAgICBjbGljazogdGhpcy5fb25CYWNrd2FyZC5iaW5kKHRoaXMpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBcbiAgICB0aGlzLl9hdXRvUGxheUJ1dHRvbiA9IGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ2J1dHRvbicsXG4gICAgICBhcHBlbmRUbzogdGhpcy5fcm9vdFNoYWRvdyxcbiAgICAgIGlubmVySFRNTDogd2luZG93LmlzQXV0b1BsYXkgPyBpY29ucy5wYXVzZSA6IGljb25zLnBsYXksXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnX19wYWdlZF9yZWFkZXJfcGxheScsXG4gICAgICB9LFxuICAgICAgZXZlbnRzOiB7XG4gICAgICAgIGNsaWNrOiB0aGlzLl9vblBsYXkuYmluZCh0aGlzKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdidXR0b24nLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgICBpbm5lckhUTUw6IGljb25zLmZvcndhcmQsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnX19wYWdlZF9yZWFkZXJfZm9yd2FyZCcsXG4gICAgICB9LFxuICAgICAgZXZlbnRzOiB7XG4gICAgICAgIGNsaWNrOiB0aGlzLl9vbkZvcndhcmQuYmluZCh0aGlzKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdidXR0b24nLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgICBpbm5lckhUTUw6IGljb25zLnNldHRpbmdzLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBjbGFzczogJ19fcGFnZWRfcmVhZGVyX3NldHRpbmdzJyxcbiAgICAgIH0sXG4gICAgICBldmVudHM6IHtcbiAgICAgICAgY2xpY2s6ICgpID0+IHtcbiAgICAgICAgICBpZihpbnB1dERpdi5zdHlsZS5kaXNwbGF5ID09PSAnbm9uZScpIHtcbiAgICAgICAgICAgIGlucHV0RGl2LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlucHV0RGl2LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvKmNvbnN0IHsgbWF4SGVpZ2h0IH0gPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuX3Jvb3QpO1xuICAgICAgICAgIGlmIChtYXhIZWlnaHQgIT09ICdmaXQtY29udGVudCcpIHtcbiAgICAgICAgICAgIHRoaXMuX3Jvb3Quc3R5bGUubWF4SGVpZ2h0ID0gJ2ZpdC1jb250ZW50JztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgeyBoZWlnaHQgfSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignLnBhZ2VkLXJlYWRlci1kcmFnZ2VyJykpO1xuICAgICAgICAgICAgY29uc3QgaGVhZGVySGVpZ2h0ID0gTnVtYmVyKGhlaWdodC5zcGxpdCgncHgnKVswXSk7XG4gICAgICAgICAgICB0aGlzLl9yb290LnN0eWxlLm1heEhlaWdodCA9IGAke2hlYWRlckhlaWdodCArIDEwMH1weGA7XG4gICAgICAgICAgfSovXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgbGFiZWxEaXYgPSBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAncGFnZWQtcmVhZGVyLWxhYmVscycsXG4gICAgICAgIHN0eWxlOiAnZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogcm93O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3dpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO3BhZGRpbmc6IDAgMTJweCAxMnB4IDEycHg7JyxcbiAgICAgIH0sXG4gICAgICAvKmlubmVySFRNTDogYFxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IGNhbGMoMTAwJSAvIDMpO21hcmdpbi1ib3R0b206IDhweFwiPkN1cnNvciBtb2RlPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogY2FsYygxMDAlIC8gMyk7bWFyZ2luLWJvdHRvbTogOHB4O2Rpc3BsYXk6IGZsZXg7anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XCI+PHNwYW4+V2Vic2l0ZSBtb2RlPC9zcGFuPjwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IGNhbGMoMTAwJSAvIDMpO21hcmdpbi1ib3R0b206IDhweDtkaXNwbGF5OiBmbGV4O2p1c3RpZnktY29udGVudDogZmxleC1lbmQ7XCI+PHNwYW4+U2V0dGluZ3M8L3NwYW4+PC9kaXY+XG4gICAgICBgLCovXG4gICAgfSk7XG5cbiAgICBjb25zdCBjdXJzb3JEaXYgPSBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgYXBwZW5kVG86IGxhYmVsRGl2LFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBzdHlsZTogJ3dpZHRoOiBjYWxjKDEwMCUgLyAzKTttYXJnaW4tYm90dG9tOiA4cHgnXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdwJyxcbiAgICAgIGFwcGVuZFRvOiBjdXJzb3JEaXYsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGRhdGFJZDogJ2N1cnNvcicsXG4gICAgICAgIHN0eWxlOiAnbWFyZ2luOiAwOydcbiAgICAgIH0sXG4gICAgICBpbm5lckhUTUw6IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgnY3Vyc29yJylcbiAgICB9KVxuXG4gICAgY29uc3Qgd2Vic2l0ZURpdiA9IGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ2RpdicsXG4gICAgICBhcHBlbmRUbzogbGFiZWxEaXYsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIHN0eWxlOiAnd2lkdGg6IGNhbGMoMTAwJSAvIDMpO21hcmdpbi1ib3R0b206IDhweDtkaXNwbGF5OiBmbGV4O2p1c3RpZnktY29udGVudDogY2VudGVyOyB0ZXh0LWFsaWduOiBjZW50ZXInXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdwJyxcbiAgICAgIGFwcGVuZFRvOiB3ZWJzaXRlRGl2LFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBkYXRhSWQ6ICd3ZWJzaXRlJyxcbiAgICAgICAgc3R5bGU6ICdtYXJnaW46IDA7J1xuICAgICAgfSxcbiAgICAgIGlubmVySFRNTDogdGhpcy5fdHJhbnNsYXRpb24uZ2V0KCd3ZWJzaXRlJylcbiAgICB9KVxuXG4gICAgY29uc3Qgc2V0dGluZ3NEaXYgPSBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgYXBwZW5kVG86IGxhYmVsRGl2LFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBzdHlsZTogJ3dpZHRoOiBjYWxjKDEwMCUgLyAzKTttYXJnaW4tYm90dG9tOiA4cHg7ZGlzcGxheTogZmxleDtqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOydcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ3AnLFxuICAgICAgYXBwZW5kVG86IHNldHRpbmdzRGl2LFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBkYXRhSWQ6ICdzZXR0aW5ncycsXG4gICAgICAgIHN0eWxlOiAnbWFyZ2luOiAwOydcbiAgICAgIH0sXG4gICAgICBpbm5lckhUTUw6IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgnc2V0dGluZ3MnKVxuICAgIH0pO1xuXG4gICAgY29uc3QgaW5wdXREaXYgPSBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgYXBwZW5kVG86IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnc2V0dGluZ3MnLFxuICAgICAgICBzdHlsZTogJ2Rpc3BsYXk6IG5vbmU7IHdpZHRoOiAxMDAlJ1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgcmF0ZUlucHV0ID0gbmV3IElucHV0KHtcbiAgICAgIGtleTogJ3JhdGUnLFxuICAgICAgcGFyZW50OiBpbnB1dERpdixcbiAgICAgIHZhbHVlOiAxLFxuICAgICAgbGFiZWw6IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgncmF0ZScpLFxuICAgICAgdHlwZTogJ2luY3JlbWVudCcsXG4gICAgICBiYXNlOiAxLFxuICAgICAgZGVmYXVsdDogMSxcbiAgICAgIHZhbGlkYXRpb25zOiB7XG4gICAgICAgIG1heDogMixcbiAgICAgICAgbWluOiAwLjUsXG4gICAgICAgIHN0ZXA6IDAuMSxcbiAgICAgIH0sXG4gICAgICBvbkNoYW5nZTogdmFsdWUgPT4ge1xuICAgICAgICBjb25zdCB3YXNQbGF5aW5nID0gd2luZG93LmlzQXV0b1BsYXk7XG4gICAgICAgIHdpbmRvdy5pc0F1dG9QbGF5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignLl9fcGFnZWRfcmVhZGVyX3BsYXknKS5pbm5lckhUTUwgPSBpY29ucy5wbGF5O1xuICAgICAgICB0aGlzLl9zZXR0aW5ncy5yYXRlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3N5bnRoLmNhbmNlbCgpO1xuICAgICAgICBpZiAod2FzUGxheWluZykge1xuICAgICAgICAgIHRoaXMuX29uUGxheSh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGl0Y2hJbnB1dCA9IG5ldyBJbnB1dCh7XG4gICAgICBrZXk6ICdwaXRjaCcsXG4gICAgICBwYXJlbnQ6IGlucHV0RGl2LFxuICAgICAgdmFsdWU6IDEsXG4gICAgICBsYWJlbDogdGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdwaXRjaCcpLFxuICAgICAgdHlwZTogJ2luY3JlbWVudCcsXG4gICAgICBiYXNlOiAxLFxuICAgICAgZGVmYXVsdDogMSxcbiAgICAgIHZhbGlkYXRpb25zOiB7XG4gICAgICAgIG1heDogMixcbiAgICAgICAgbWluOiAwLFxuICAgICAgICBzdGVwOiAwLjEsXG4gICAgICB9LFxuICAgICAgb25DaGFuZ2U6IHZhbHVlID0+IHtcbiAgICAgICAgY29uc3Qgd2FzUGxheWluZyA9IHdpbmRvdy5pc0F1dG9QbGF5O1xuICAgICAgICB3aW5kb3cuaXNBdXRvUGxheSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJy5fX3BhZ2VkX3JlYWRlcl9wbGF5JykuaW5uZXJIVE1MID0gaWNvbnMucGxheTtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MucGl0Y2ggPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fc3ludGguY2FuY2VsKCk7XG4gICAgICAgIGlmICh3YXNQbGF5aW5nKSB7XG4gICAgICAgICAgdGhpcy5fb25QbGF5KHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCB2b2x1bWVJbnB1dCA9IG5ldyBJbnB1dCh7XG4gICAgICBrZXk6ICd2b2x1bWUnLFxuICAgICAgcGFyZW50OiBpbnB1dERpdixcbiAgICAgIHZhbHVlOiAxLFxuICAgICAgbGFiZWw6IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgndm9sdW1lJyksXG4gICAgICB0eXBlOiAnaW5jcmVtZW50JyxcbiAgICAgIGJhc2U6IDEsXG4gICAgICBkZWZhdWx0OiAxLFxuICAgICAgdmFsaWRhdGlvbnM6IHtcbiAgICAgICAgbWF4OiAxLFxuICAgICAgICBtaW46IDAsXG4gICAgICAgIHN0ZXA6IDAuMDUsXG4gICAgICAgIGZvcm1hdDogKG4pID0+IG4gKiAxMDAsXG4gICAgICB9LFxuICAgICAgb25DaGFuZ2U6IHZhbHVlID0+IHtcbiAgICAgICAgY29uc3Qgd2FzUGxheWluZyA9IHdpbmRvdy5pc0F1dG9QbGF5O1xuICAgICAgICB3aW5kb3cuaXNBdXRvUGxheSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJy5fX3BhZ2VkX3JlYWRlcl9wbGF5JykuaW5uZXJIVE1MID0gaWNvbnMucGxheTtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3Mudm9sdW1lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3N5bnRoLmNhbmNlbCgpO1xuICAgICAgICBpZiAod2FzUGxheWluZykge1xuICAgICAgICAgIHRoaXMuX29uUGxheSh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5fbGFuZ3VhZ2VDaGFuZ2VyID0gbmV3IElucHV0KHtcbiAgICAgIGtleTogJ2xhbmcnLFxuICAgICAgcGFyZW50OiBpbnB1dERpdixcbiAgICAgIHZhbHVlOiAxLFxuICAgICAgbGFiZWw6IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgnbGFuZycpLFxuICAgICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgICBkZWZhdWx0OiAnREUnLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7IGxhYmVsOiAnRGV1dHNjaCcsIHZhbHVlOiAnREUnIH0sXG4gICAgICAgIHsgbGFiZWw6ICdFbmdsaXNoJywgdmFsdWU6ICdFTicgfSxcbiAgICAgIF0sXG4gICAgICBvbkNoYW5nZTogdmFsdWUgPT4ge1xuICAgICAgICBjb25zdCB3YXNQbGF5aW5nID0gd2luZG93LmlzQXV0b1BsYXk7XG4gICAgICAgIHdpbmRvdy5pc0F1dG9QbGF5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignLl9fcGFnZWRfcmVhZGVyX3BsYXknKS5pbm5lckhUTUwgPSBpY29ucy5wbGF5O1xuICAgICAgICB0aGlzLl9zZXR0aW5ncy5sYW5nID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX3RyYW5zbGF0aW9uLnNldF9sYW5ndWFnZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX3N5bnRoLmNhbmNlbCgpO1xuICAgICAgICBpZiAod2FzUGxheWluZykge1xuICAgICAgICAgIHRoaXMuX29uUGxheSh1bmRlZmluZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlTGFuZ3VhZ2UoKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9yZWFkZXJJbnB1dHMucHVzaChyYXRlSW5wdXQsIHBpdGNoSW5wdXQsIHZvbHVtZUlucHV0LCB0aGlzLl9sYW5ndWFnZUNoYW5nZXIpO1xuXG4gICAgdGhpcy5fcm9vdC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXG4gIH1cblxuICBfY2hlY2tGb3JQbGF0ZnJvbSgpIHtcbiAgICAvKmlmICh3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoXCJXaW5cIikgIT0gLTEpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiVGhlIHVzZXIgaXMgcnVubmluZyBXaW5kb3dzXCIpO1xuICAgIH0gZWxzZSBpZiAod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybS5pbmRleE9mKFwiTWFjXCIpICE9IC0xKSB7XG4gICAgICBjb25zb2xlLmxvZyhcIlRoZSB1c2VyIGlzIHJ1bm5pbmcgTWFjIE9TXCIpO1xuICAgIH0gZWxzZSBpZiAod2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybS5pbmRleE9mKFwiTGludXhcIikgIT0gLTEpIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiVGhlIHVzZXIgaXMgcnVubmluZyBMaW51eFwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coXCJUaGUgdXNlcidzIG9wZXJhdGluZyBzeXN0ZW0gY291bGQgbm90IGJlIGRldGVybWluZWRcIik7XG4gICAgfSovXG4gICAgLy92YXIgaXNJT1MgPSAvKGlQaG9uZXxpUG9kfGlQYWQpL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pO1xuXG5cbiAgICByZXR1cm4gd2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybS5pbmRleE9mKFwiTWFjXCIpICE9PSAtMTtcbiAgfVxuXG4gIF9jaGVja1BhcmVudEVsZW1lbnQoZWxlbWVudCkge1xuICAgIGZvcig7IGVsZW1lbnQgJiYgZWxlbWVudCAhPT0gZG9jdW1lbnQ7IGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGUpIHtcblxuICAgICAgbGV0IGxpc3QgPSBlbGVtZW50LmNsYXNzTGlzdC52YWx1ZS5zcGxpdCgnICcpLmZpbHRlcihjbHMgPT4gY2xzLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2Zvb3RlcicpLyogfHwgY2xzLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2hlYWRlcicpKi8pO1xuXG4gICAgICBpZihlbGVtZW50LnBhcmVudE5vZGUudGFnTmFtZSA9PT0gJ0hFQURFUicgfHxcbiAgICAgICAgICBlbGVtZW50LnBhcmVudE5vZGUudGFnTmFtZSA9PT0gJ0ZPT1RFUicgfHxcbiAgICAgICAgICBsaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIF9jaGVja0ZvckVsZW1lbnRvckF0dHJpYnV0ZU9uQm9keSgpIHtcbiAgICByZXR1cm4gISFkb2N1bWVudC5ib2R5LmNsYXNzTmFtZS5tYXRjaCgvZWxlbWVudG9yLyk7XG4gIH1cblxuICBfb25QbGF5KGV2ZW50KSB7XG4gICAgaWYodGhpcy5fY3VycmVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX21vdXNlUmVhZGVyRXZlbnRTdHlsZUNvbnRyYXN0KHRoaXMuX2N1cnJlbnRFbGVtZW50LCBmYWxzZSk7XG4gICAgfVxuICAgIHdpbmRvdy5pc0F1dG9QbGF5ID0gd2luZG93LmlzQXV0b1BsYXkgPyBmYWxzZSA6IHRydWU7XG4gICAgdGhpcy5fY3Vyc29yRW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignLl9fcGFnZWRfcmVhZGVyX2N1cnNvcicpLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykuY2hlY2tlZCA9IGZhbHNlO1xuICAgIGNvbnN0IGJ1dHRvbiA9IHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignLl9fcGFnZWRfcmVhZGVyX3BsYXknKTtcblxuICAgIGlmICh3aW5kb3cuaXNBdXRvUGxheSkge1xuICAgICAgYnV0dG9uLmlubmVySFRNTCA9IGljb25zLnBhdXNlO1xuICAgICAgdGhpcy5fc3ludGguY2FuY2VsKCk7XG4gICAgICAvL2NvbnN0IGVsZW1lbnRzID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtYWluJykucXVlcnlTZWxlY3RvckFsbCgncCwgc3BhbiwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgbGksIHRkJykpO1xuICAgICAgbGV0IGVsZW1lbnRzO1xuICAgICAgaWYodGhpcy5fY2hlY2tGb3JFbGVtZW50b3JBdHRyaWJ1dGVPbkJvZHkoKSkge1xuICAgICAgICBlbGVtZW50cyA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIltkYXRhLWVsZW1lbnRvci10eXBlPSd3cC1wb3N0J11cIikucXVlcnlTZWxlY3RvckFsbCgncC8qLCBzcGFuKi8sIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGxpLCB0ZCcpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnRzID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdwLyosIHNwYW4qLywgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgbGksIHRkJykpLmZpbHRlcigoZWxlbSkgPT4gdGhpcy5fY2hlY2tQYXJlbnRFbGVtZW50KGVsZW0pICE9PSB0cnVlKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWxsRWxlbWVudHMgPSBlbGVtZW50cy5maWx0ZXIodGV4dCA9PiB0ZXh0LmlubmVyVGV4dCk7XG5cblxuICAgICAgbGV0IHRleHRFbGVtZW50cyA9IFtdO1xuXG4gICAgICBmb3IobGV0IGkgPSAwOyBpIDwgYWxsRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcblxuICAgICAgICBpZihpID4gMCAmJiBhbGxFbGVtZW50c1tpXS5pbm5lclRleHQgPT09IGFsbEVsZW1lbnRzW2ktMV0uaW5uZXJUZXh0KSB7XG4gICAgICAgICAgdGV4dEVsZW1lbnRzLnBvcCgpO1xuICAgICAgICB9XG4gICAgICAgIHRleHRFbGVtZW50cy5wdXNoKGFsbEVsZW1lbnRzW2ldKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGluZXMgPSB0ZXh0RWxlbWVudHMubWFwKGVsZW1lbnQgPT4ge1xuXG4gICAgICAgIGNvbnN0IHsgYmFja2dyb3VuZENvbG9yIH0gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgICAgICBjb25zdCB7Y29sb3J9ID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2JnLWNvbG9yJywgYmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2ZvbnQtY29sb3InLCBjb2xvcik7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBlbGVtOiBlbGVtZW50LFxuICAgICAgICAgIHRleHQ6IGVsZW1lbnQudGV4dENvbnRlbnQudHJpbSgpXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgaHRtbFRhZ1JlZ2V4ID0gLzxbXj5dKz4vO1xuICAgICAgdGhpcy5fcmVhZGluZ0xpbmVzID0gbGluZXMuZmlsdGVyKGxpbmUgPT4gIWh0bWxUYWdSZWdleC50ZXN0KGxpbmUudGV4dCkpO1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMuX2N1cnJlbnRMaW5lOyBpIDwgdGhpcy5fcmVhZGluZ0xpbmVzLmxlbmd0aDsgaSsrKSB7XG5cbiAgICAgICAgY29uc3QgdXR0ZXJhbmNlID0gbmV3IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSh0aGlzLl9yZWFkaW5nTGluZXNbaV0udGV4dCk7XG5cbiAgICAgICAgdXR0ZXJhbmNlLm9uZW5kID0gKCkgPT4ge1xuICAgICAgICAgIC8vdGhpcy5fcmVhZGluZ0xpbmVzW2ldLmVsZW0uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgICB0aGlzLl9tb3VzZVJlYWRlckV2ZW50U3R5bGVDb250cmFzdCh0aGlzLl9yZWFkaW5nTGluZXNbaV0uZWxlbSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHV0dGVyYW5jZS5vbnN0YXJ0ID0gKCkgPT4ge1xuICAgICAgICAgIC8vdGhpcy5fcmVhZGluZ0xpbmVzW2ldLmVsZW0uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDAuNiknO1xuICAgICAgICAgIHRoaXMuX21vdXNlUmVhZGVyRXZlbnRTdHlsZUNvbnRyYXN0KHRoaXMuX3JlYWRpbmdMaW5lc1tpXS5lbGVtLCB0cnVlKTtcbiAgICAgICAgICB0aGlzLl9jdXJyZW50TGluZSA9IGk7XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5fc2V0dGluZ3MpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICB1dHRlcmFuY2Vba2V5XSA9IHRoaXMuX3NldHRpbmdzW2tleV07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vU2V0IHNwZWNpYWwgdm9pY2UgZm9yIE1hY09zXG4gICAgICAgIGlmKHRoaXMuX2NoZWNrRm9yUGxhdGZyb20oKSAmJiB0aGlzLl9zZXR0aW5ncy5sYW5nID09PSAnRU4nKSB7XG4gICAgICAgICAgY29uc3Qgdm9pY2VzID0gd2luZG93LnNwZWVjaFN5bnRoZXNpcy5nZXRWb2ljZXMoKTtcbiAgICAgICAgICB1dHRlcmFuY2Uudm9pY2UgPSB2b2ljZXNbNV07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc3ludGguc3BlYWsodXR0ZXJhbmNlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbW91c2VSZWFkZXJFdmVudFN0eWxlQ29udHJhc3QodGhpcy5fcmVhZGluZ0xpbmVzW3RoaXMuX2N1cnJlbnRMaW5lXS5lbGVtLCBmYWxzZSk7XG4gICAgICB0aGlzLl9zeW50aC5jYW5jZWwoKTtcbiAgICAgIGJ1dHRvbi5pbm5lckhUTUwgPSBpY29ucy5wbGF5O1xuICAgIH1cbiAgfVxuXG4gIF9vbkZvcndhcmQoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5fcmVhZGluZ0xpbmVzLmxlbmd0aCkge1xuICAgICAgY29uc3Qgd2FzUGxheWluZyA9IHdpbmRvdy5pc0F1dG9QbGF5O1xuICAgICAgaWYgKHdpbmRvdy5pc0F1dG9QbGF5KSB7XG4gICAgICAgIHRoaXMuX29uUGxheSh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgICAgaWYgKCh0aGlzLl9jdXJyZW50TGluZSArIDEpIDw9ICh0aGlzLl9yZWFkaW5nTGluZXMubGVuZ3RoIC0gMSkpIHtcbiAgICAgICAgLy90aGlzLl9yZWFkaW5nTGluZXNbdGhpcy5fY3VycmVudExpbmVdLmVsZW0uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgLy90aGlzLl9tb3VzZVJlYWRlckV2ZW50U3R5bGVDb250cmFzdCh0aGlzLl9yZWFkaW5nTGluZXNbdGhpcy5fY3VycmVudExpbmVdLmVsZW0sIGZhbHNlKTtcbiAgICAgICAgdGhpcy5fY3VycmVudExpbmUrKztcbiAgICAgICAgLy90aGlzLl9yZWFkaW5nTGluZXNbdGhpcy5fY3VycmVudExpbmVdLmVsZW0uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDAuNiknO1xuICAgICAgICAvL3RoaXMuX21vdXNlUmVhZGVyRXZlbnRTdHlsZUNvbnRyYXN0KHRoaXMuX3JlYWRpbmdMaW5lc1t0aGlzLl9jdXJyZW50TGluZV0uZWxlbSwgZmFsc2UpO1xuICAgICAgICBpZiAod2FzUGxheWluZykge1xuICAgICAgICAgIHRoaXMuX29uUGxheSh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX29uQmFja3dhcmQoZXZlbnQpIHtcbiAgICBpZiAodGhpcy5fcmVhZGluZ0xpbmVzLmxlbmd0aCkge1xuICAgICAgY29uc3Qgd2FzUGxheWluZyA9IHdpbmRvdy5pc0F1dG9QbGF5O1xuICAgICAgaWYgKHdpbmRvdy5pc0F1dG9QbGF5KSB7XG4gICAgICAgIHRoaXMuX29uUGxheSh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgICAgaWYgKCh0aGlzLl9jdXJyZW50TGluZSAtIDEpID49IDApIHtcbiAgICAgICAgLy90aGlzLl9yZWFkaW5nTGluZXNbdGhpcy5fY3VycmVudExpbmVdLmVsZW0uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3RyYW5zcGFyZW50JztcbiAgICAgICAgLy90aGlzLl9tb3VzZVJlYWRlckV2ZW50U3R5bGVDb250cmFzdCh0aGlzLl9yZWFkaW5nTGluZXNbdGhpcy5fY3VycmVudExpbmVdLmVsZW0sIGZhbHNlKTtcbiAgICAgICAgdGhpcy5fY3VycmVudExpbmUtLTtcbiAgICAgICAgLy90aGlzLl9yZWFkaW5nTGluZXNbdGhpcy5fY3VycmVudExpbmVdLmVsZW0uc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMjU1LCAyNTUsIDAsIDAuNiknO1xuICAgICAgICAvL3RoaXMuX21vdXNlUmVhZGVyRXZlbnRTdHlsZUNvbnRyYXN0KHRoaXMuX3JlYWRpbmdMaW5lc1t0aGlzLl9jdXJyZW50TGluZV0uZWxlbSwgdHJ1ZSk7XG4gICAgICAgIGlmICh3YXNQbGF5aW5nKSB7XG4gICAgICAgICAgdGhpcy5fb25QbGF5KHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfb25TdG9wKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMuX3JlYWRpbmdMaW5lcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHdhc1BsYXlpbmcgPSB3aW5kb3cuaXNBdXRvUGxheTtcbiAgICAgIC8qaWYgKHdpbmRvdy5pc0F1dG9QbGF5KSB7XG4gICAgICAgIC8vIHBhdXNlIGlmIGl0cyBwbGF5aW5nXG4gICAgICAgIHRoaXMuX29uUGxheSh1bmRlZmluZWQpO1xuICAgICAgfSovXG4gICAgICAvL3RoaXMuX3JlYWRpbmdMaW5lc1t0aGlzLl9jdXJyZW50TGluZV0uZWxlbS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAndHJhbnNwYXJlbnQnO1xuICAgICAgLy90aGlzLl9tb3VzZVJlYWRlckV2ZW50U3R5bGVDb250cmFzdCh0aGlzLl9yZWFkaW5nTGluZXNbdGhpcy5fY3VycmVudExpbmVdLmVsZW0sIGZhbHNlKTtcbiAgICAgIC8vdGhpcy5fY3VycmVudExpbmUtLTtcbiAgICAgIC8vdGhpcy5fcmVhZGluZ0xpbmVzW3RoaXMuX2N1cnJlbnRMaW5lXS5lbGVtLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2JhKDI1NSwgMjU1LCAwLCAwLjYpJztcbiAgICAgIC8vdGhpcy5fbW91c2VSZWFkZXJFdmVudFN0eWxlQ29udHJhc3QodGhpcy5fcmVhZGluZ0xpbmVzW3RoaXMuX2N1cnJlbnRMaW5lXS5lbGVtLCB0cnVlKTtcbiAgICAgIGlmICh3YXNQbGF5aW5nKSB7XG4gICAgICAgIHRoaXMuX29uUGxheSh1bmRlZmluZWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9jdXJyZW50TGluZSA9IDA7XG4gICAgfVxuXG4gICAgaWYodGhpcy5fY3Vyc29yRW5hYmxlZCkge1xuICAgICAgdGhpcy5faXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9jdXJyZW50RWxlbWVudCA9bnVsbDtcbiAgICAgIHRoaXMuX2N1cnJlbnRUZXh0ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5fcGFyZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuX3JlYWRFdmVudCk7XG4gIH1cblxuICBfbW91c2VEb3duRXZlbnQoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuX2RyYWdnZXJQb3NpdGlvbi5wb3MzID0gZXZlbnQuY2xpZW50WDtcbiAgICB0aGlzLl9kcmFnZ2VyUG9zaXRpb24ucG9zNCA9IGV2ZW50LmNsaWVudFk7XG4gICAgdGhpcy5faXNEcmFnZ2luZyA9IHRydWU7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5fbW91c2VNb3ZlRXZlbnQuYmluZCh0aGlzKSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuX21vdXNlVXBFdmVudC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIF9tb3VzZU1vdmVFdmVudChldmVudCkge1xuICAgIGlmICghdGhpcy5faXNEcmFnZ2luZykgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB0aGlzLl9kcmFnZ2VyUG9zaXRpb24ucG9zMSA9IHRoaXMuX2RyYWdnZXJQb3NpdGlvbi5wb3MzIC0gZXZlbnQuY2xpZW50WDtcbiAgICB0aGlzLl9kcmFnZ2VyUG9zaXRpb24ucG9zMiA9IHRoaXMuX2RyYWdnZXJQb3NpdGlvbi5wb3M0IC0gZXZlbnQuY2xpZW50WTtcbiAgICB0aGlzLl9kcmFnZ2VyUG9zaXRpb24ucG9zMyA9IGV2ZW50LmNsaWVudFg7XG4gICAgdGhpcy5fZHJhZ2dlclBvc2l0aW9uLnBvczQgPSBldmVudC5jbGllbnRZO1xuXG4gICAgdGhpcy5fcm9vdC5zdHlsZS50b3AgPSAodGhpcy5fcm9vdC5vZmZzZXRUb3AgLSB0aGlzLl9kcmFnZ2VyUG9zaXRpb24ucG9zMikgKyAncHgnO1xuICAgIHRoaXMuX3Jvb3Quc3R5bGUubGVmdCA9ICh0aGlzLl9yb290Lm9mZnNldExlZnQgLSB0aGlzLl9kcmFnZ2VyUG9zaXRpb24ucG9zMSkgKyAncHgnO1xuICB9XG5cbiAgX21vdXNlVXBFdmVudChldmVudCkge1xuICAgIHRoaXMuX2lzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLl9tb3VzZU1vdmVFdmVudC5iaW5kKHRoaXMpKTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5fbW91c2VVcEV2ZW50LmJpbmQodGhpcykpO1xuICB9XG5cbiAgX21vdXNlUmVhZGVyRXZlbnRTdHlsZUNvbnRyYXN0KGVsZW1lbnQsIGFjdGl2ZSkge1xuICAgIC8vIzE5MTgyNFxuICAgIC8vcmdiKDM0LCA0NSwgNTcpXG4gICAgaWYoYWN0aXZlKSB7XG4gICAgICAvL2VsZW1lbnQuc3R5bGUuYmFja2dyb3VuZCA9ICdyZ2JhKDM0LCA0NSwgNTcsIDEpJztcbiAgICAgIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZCA9ICcjMjIyZDM5JztcbiAgICAgIGVsZW1lbnQuc3R5bGUuY29sb3IgPSAnI2ZmZmZmZic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdiZy1jb2xvcicpIHx8ICd0cmFuc3BhcmVudCc7XG4gICAgICBlbGVtZW50LnN0eWxlLmNvbG9yID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2ZvbnQtY29sb3InKSB8fCAnIzAwMCc7XG4gICAgfVxuICB9XG5cbiAgX3JlYWRFdmVudChldmVudCkge1xuXG4gICAgaWYgKCF0aGlzLl9jdXJzb3JFbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAod2luZG93LmlzQXV0b1BsYXkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvL2NvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQ7XG5cblxuICAgIGlmICghdGhpcy5faXNIb3ZlcmVkKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgICBpZiAoWydTUEFOJywgJ1AnLCAnSDEnLCAnSDInLCAnSDMnLCAnSDQnLCAnSDUnLCAnSDYnLCAnTEknLCAnVEQnLCAnVEgnLCAnQScsICdCVVRUT04nLCAnTEFCRUwnLCAnSU5QVVQnXS5pbmNsdWRlcyhlbGVtZW50Lm5vZGVOYW1lKSkge1xuICAgICAgICAvL2lmICh0aGlzLl9zeW50aC5zcGVha2luZyAmJiB0aGlzLl9jdXJyZW50VGV4dCA9PT0gZWxlbWVudC5pbm5lclRleHQpIHJldHVybjtcblxuICAgICAgICBpZiAodGhpcy5fY3VycmVudFRleHQgIT09IGVsZW1lbnQuaW5uZXJUZXh0KSB7XG4gICAgICAgICAgY29uc3QgeyBiYWNrZ3JvdW5kQ29sb3IgfSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgICAgICAgY29uc3Qge2NvbG9yfSA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2JnLWNvbG9yJywgYmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZm9udC1jb2xvcicsIGNvbG9yKTtcbiAgICAgICAgICBlbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICAgICAgICB0aGlzLl9tb3VzZVJlYWRlckV2ZW50U3R5bGVDb250cmFzdChlbGVtZW50LCB0cnVlKTtcbiAgICAgICAgICB0aGlzLl9wYXJlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5fcmVhZEV2ZW50KTtcbiAgICAgICAgICBjb25zdCByZWFkVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudFRleHQgPSBlbGVtZW50LmlubmVyVGV4dDtcbiAgICAgICAgICAgIC8vdGhpcy5faXNIb3ZlcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX3N5bnRoLmNhbmNlbCgpO1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UodGhpcy5fY3VycmVudFRleHQpO1xuICAgICAgICAgICAgbWVzc2FnZS5vbnN0YXJ0ID0gKCkgPT4ge1xuXG4gICAgICAgICAgICAgIGNvbnN0IGxvYWRlciA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLnByb2dyZXNzJyk7XG4gICAgICAgICAgICAgIGlmIChsb2FkZXIpIGxvYWRlci5yZW1vdmUoKTtcblxuICAgICAgICAgICAgICB0aGlzLl9pc1NwZWFraW5nID0gdHJ1ZTtcblxuICAgICAgICAgICAgICBpZih0aGlzLl9jdXJyZW50UGFyZW50ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbW91c2VSZWFkZXJFdmVudFN0eWxlQ29udHJhc3QodGhpcy5fY3VycmVudFBhcmVudCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRQYXJlbnQgPSBudWxsO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhcmVudCA9IGVsZW1lbnQ7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbWVzc2FnZS5vbmVuZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5faXNTcGVha2luZyA9IGZhbHNlO1xuICAgICAgICAgICAgICB0aGlzLl9tb3VzZVJlYWRlckV2ZW50U3R5bGVDb250cmFzdCh0aGlzLl9jdXJyZW50UGFyZW50LCBmYWxzZSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbWVzc2FnZS5lcnJvciA9ICgpID0+IGNvbnNvbGUubG9nKCdwYXVzZWQnLCBlbGVtZW50KTtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuX3NldHRpbmdzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICAgIG1lc3NhZ2Vba2V5XSA9IHRoaXMuX3NldHRpbmdzW2tleV07XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy9TZXQgc3BlY2lhbCB2b2ljZSBmb3IgTWFjT3NcbiAgICAgICAgICAgIGlmKHRoaXMuX2NoZWNrRm9yUGxhdGZyb20oKSAmJiB0aGlzLl9zZXR0aW5ncy5sYW5nID09PSAnRU4nKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHZvaWNlcyA9IHdpbmRvdy5zcGVlY2hTeW50aGVzaXMuZ2V0Vm9pY2VzKCk7XG4gICAgICAgICAgICAgIG1lc3NhZ2Uudm9pY2UgPSB2b2ljZXNbNV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50RWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLl9zeW50aC5zcGVhayhtZXNzYWdlKTtcbiAgICAgICAgICAgIC8qaWYgKCFlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wcm9ncmVzcycpKSB7XG4gICAgICAgICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICAgICAgICB0YWc6ICdkaXYnLFxuICAgICAgICAgICAgICAgIGFwcGVuZFRvOiBlbGVtZW50LFxuICAgICAgICAgICAgICAgIGlubmVySFRNTDogYFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXlcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgIGNsYXNzOiAncHJvZ3Jlc3MnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSovXG4gICAgICAgICAgfSwgODAwKTtcbiAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG9hZGVyID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucHJvZ3Jlc3MnKTtcbiAgICAgICAgICAgIGlmIChsb2FkZXIpIGxvYWRlci5yZW1vdmUoKTtcbiAgICAgICAgICAgIHRoaXMuX2lzSG92ZXJlZCA9IGZhbHNlO1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHJlYWRUaW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMuX3BhcmVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLl9yZWFkRXZlbnQpO1xuXG4gICAgICAgICAgICBpZihlbGVtZW50ICE9PSB0aGlzLl9jdXJyZW50UGFyZW50KSB7XG4gICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdiZy1jb2xvcicpIHx8ICd0cmFuc3BhcmVudCc7XG4gICAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuY29sb3IgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZm9udC1jb2xvcicpIHx8ICcjMDAwJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF0aGlzLl9zeW50aC5zcGVha2luZykge1xuICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmQgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnYmctY29sb3InKSB8fCAndHJhbnNwYXJlbnQnO1xuICAgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmNvbG9yID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2ZvbnQtY29sb3InKSB8fCAnIzAwMCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbInN0eWxlIiwiZG9tIiwiZW52IiwiaWNvbnMiLCJJbnB1dCIsIlRyYW5zbGF0ZSIsIlJlYWRlciIsIl9yb290IiwiX3Jvb3RTaGFkb3ciLCJfcGFyZW50IiwiX2lzRW5hYmxlZCIsIl9pc0hvdmVyZWQiLCJfaXNEcmFnZ2luZyIsIl9zeW50aCIsIl9kcmFnZ2VyIiwiX2RyYWdnZXJQb3NpdGlvbiIsInBvczEiLCJwb3MyIiwicG9zMyIsInBvczQiLCJfcG9wVXAiLCJfaXNBdXRvUGxheSIsIl9pc1NwZWFraW5nIiwiX2N1cnJlbnRQYXJlbnQiLCJfY3VycmVudFRleHQiLCJfY3VycmVudExpbmUiLCJfcmVhZGluZ0xpbmVzIiwiX2N1cnJlbnRFbGVtZW50IiwiX2xhbmd1YWdlQ2hhbmdlciIsIl9hdXRvUGxheUJ1dHRvbiIsIl9jdXJzb3JFbmFibGVkIiwiX3RyYW5zbGF0aW9uIiwiX3JlYWRlcklucHV0cyIsIl9zZXR0aW5ncyIsInJhdGUiLCJwaXRjaCIsInZvbHVtZSIsImxhbmciLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJkb2N1bWVudCIsImJvZHkiLCJfX2luaXRfXyIsImVuYWJsZWQiLCJ2YWx1ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJfcmVhZEV2ZW50IiwiZGlzcGxheSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjYW5jZWwiLCJ3aW5kb3ciLCJpc0F1dG9QbGF5IiwiaW5uZXJIVE1MIiwicGxheSIsImxhbmd1YWdlIiwic2V0X2xhbmd1YWdlIiwiX2NoYW5nZUxhbmd1YWdlIiwidGFicyIsIkFycmF5IiwiZnJvbSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwidGFiIiwiZ2V0IiwiZ2V0QXR0cmlidXRlIiwiaW5wdXRzIiwiaW5wdXQiLCJzZWFyY2hNb2R1bGVSb290Iiwic2hhZG93Um9vdCIsImxhYmVsIiwicXVlcnlTZWxlY3RvciIsIl9jcmVhdGVTZXR0aW5nc0RpYWxvZyIsImJpbmQiLCJzcGVlY2hTeW50aGVzaXMiLCJyZXN1bWUiLCJjcmVhdGVFbGVtZW50IiwidGFnIiwiYXBwZW5kVG8iLCJ1bmRlZmluZWQiLCJhdHRyaWJ1dGVzIiwiY2xhc3MiLCJjbGFzc2VzIiwicmVhZGVyIiwiYXR0YWNoU2hhZG93IiwibW9kZSIsImV2ZW50cyIsIm1vdXNlZG93biIsIl9tb3VzZURvd25FdmVudCIsImRhdGFJZCIsImNsaWNrIiwiY3Vyc29yX3N3aXRjaCIsInR5cGUiLCJjaGFuZ2UiLCJldmVudCIsInRhcmdldCIsImNoZWNrZWQiLCJfbW91c2VSZWFkZXJFdmVudFN0eWxlQ29udHJhc3QiLCJlbGVtIiwiYmFja3dhcmQiLCJfb25CYWNrd2FyZCIsInBhdXNlIiwiX29uUGxheSIsImZvcndhcmQiLCJfb25Gb3J3YXJkIiwic2V0dGluZ3MiLCJpbnB1dERpdiIsImxhYmVsRGl2IiwiY3Vyc29yRGl2Iiwid2Vic2l0ZURpdiIsInNldHRpbmdzRGl2IiwicmF0ZUlucHV0Iiwia2V5IiwicGFyZW50IiwiYmFzZSIsImRlZmF1bHQiLCJ2YWxpZGF0aW9ucyIsIm1heCIsIm1pbiIsInN0ZXAiLCJvbkNoYW5nZSIsIndhc1BsYXlpbmciLCJwaXRjaElucHV0Iiwidm9sdW1lSW5wdXQiLCJmb3JtYXQiLCJuIiwicHVzaCIsIl9jaGVja0ZvclBsYXRmcm9tIiwibmF2aWdhdG9yIiwicGxhdGZvcm0iLCJpbmRleE9mIiwiX2NoZWNrUGFyZW50RWxlbWVudCIsImVsZW1lbnQiLCJwYXJlbnROb2RlIiwibGlzdCIsImNsYXNzTGlzdCIsInNwbGl0IiwiZmlsdGVyIiwiY2xzIiwidG9Mb2NhbGVMb3dlckNhc2UiLCJpbmNsdWRlcyIsInRhZ05hbWUiLCJsZW5ndGgiLCJfY2hlY2tGb3JFbGVtZW50b3JBdHRyaWJ1dGVPbkJvZHkiLCJjbGFzc05hbWUiLCJtYXRjaCIsImJ1dHRvbiIsImVsZW1lbnRzIiwiYWxsRWxlbWVudHMiLCJ0ZXh0IiwiaW5uZXJUZXh0IiwidGV4dEVsZW1lbnRzIiwiaSIsInBvcCIsImxpbmVzIiwibWFwIiwiYmFja2dyb3VuZENvbG9yIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImNvbG9yIiwic2V0QXR0cmlidXRlIiwidGV4dENvbnRlbnQiLCJ0cmltIiwiaHRtbFRhZ1JlZ2V4IiwibGluZSIsInRlc3QiLCJ1dHRlcmFuY2UiLCJTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UiLCJvbmVuZCIsIm9uc3RhcnQiLCJPYmplY3QiLCJrZXlzIiwidm9pY2VzIiwiZ2V0Vm9pY2VzIiwidm9pY2UiLCJzcGVhayIsIl9vblN0b3AiLCJwcmV2ZW50RGVmYXVsdCIsImNsaWVudFgiLCJjbGllbnRZIiwiX21vdXNlTW92ZUV2ZW50IiwiX21vdXNlVXBFdmVudCIsInRvcCIsIm9mZnNldFRvcCIsImxlZnQiLCJvZmZzZXRMZWZ0IiwiYWN0aXZlIiwiYmFja2dyb3VuZCIsIm5vZGVOYW1lIiwicG9zaXRpb24iLCJyZWFkVGltZW91dCIsInNldFRpbWVvdXQiLCJtZXNzYWdlIiwibG9hZGVyIiwicmVtb3ZlIiwiZXJyb3IiLCJjb25zb2xlIiwibG9nIiwiY2xlYXJUaW1lb3V0Iiwic3BlYWtpbmciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/overlay/components/reader/index.js\n");
/***/ }),
/***/ "./src/components/overlay/components/reader/style.js":
/*!***********************************************************!*\
!*** ./src/components/overlay/components/reader/style.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 */ });\nconst styles = `\n :host {\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n flex-wrap: wrap;\n position: fixed;\n border-radius: 5px;\n width: fit-content;\n min-width: 300px;\n /*max-width: 430px;*/\n max-width: 550px;\n z-index: 1000;\n top: auto;\n bottom: 0;\n left: 20px;\n box-shadow: -3px 0px 16px 0px rgba(0, 0, 0, 0.15);\n -webkit-box-shadow: -3px 0px 16px 0px rgba(0, 0, 0, 0.15);\n color: #222D39;\n background: white;\n user-select: none;\n height: fit-content;\n // min-height: fit-content;\n // max-height: 95px;\n overflow: hidden;\n }\n\n :host .paged-reader-dragger {\n width: 100%;\n border-bottom: 2px solid #222D39;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding: 0 12px;\n cursor: grab;\n margin-bottom: 12px\n }\n\n :host .paged-reader-dragger h1 {\n font-size: 22px;\n margin: 0;\n margin-right: 100px;\n }\n \n :host .paged-reader-dragger button {\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n margin: auto 0;\n height: 24px;\n cursor: pointer;\n }\n\n :host .__paged_reader_play, :host .__paged_reader_forward, :host .__paged_reader_backward, :host .__paged_reader_settings {\n width: fit-content;\n background: #222D39;\n color: white;\n border: none;\n outline: none;\n margin: 0 auto;\n border-radius: 8px;\n margin-bottom: 12px;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 6px;\n }\n\n :host .__paged_reader_play svg, :host .__paged_reader_forward svg, :host .__paged_reader_backward svg, :host .__paged_reader_settings svg {\n width: 24px;\n height: 24px;\n margin: 0;\n }\n\n :host .__paged_reader_cursor {\n position: relative;\n display: inline-block;\n width: 60px;\n height: 34px;\n border-radius: 5px;\n overflow: hidden;\n margin-left: 14px;\n }\n\n\n :host .__paged_reader_cursor input { \n opacity: 0;\n width: 0;\n height: 0;\n }\n\n :host .__paged_reader_cursor .slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #ccc;\n -webkit-transition: .4s;\n transition: .4s;\n border-radius: 5px;\n }\n\n :host .__paged_reader_cursor .slider:before {\n position: absolute;\n content: \"\";\n height: 26px;\n width: 26px;\n left: 4px;\n bottom: 4px;\n background-color: white;\n -webkit-transition: .4s;\n transition: .4s;\n border-radius: 5px;\n }\n\n :host .__paged_reader_cursor input:checked + .slider {\n background-color: #222D39;\n }\n\n :host .__paged_reader_cursor input:focus + .slider {\n box-shadow: 0 0 1px #222D39;\n }\n\n :host .__paged_reader_cursor input:checked + .slider:before {\n -webkit-transform: translateX(26px);\n -ms-transform: translateX(26px);\n transform: translateX(26px);\n }\n \n :host .paged_popUp {\n display: flex;\n flex-direction: column;\n position: fixed;\n bottom: 150px;\n padding: 10px;\n width: 410px;\n z-index: 99;\n background: white;\n border: 1px solid black;\n border-radius: 30px;\n }\n \n :host .paged_popUp button {\n width: fit-content;\n align-self: center;\n background: #222D39;\n color: white;\n border: none;\n outline: none;\n margin: 0 auto;\n border-radius: 8px;\n margin-bottom: 12px;\n cursor: pointer;\n padding: 6px;\n } \n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (styles);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvcmVhZGVyL3N0eWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNQSxNQUFNLEdBQUc7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFFRCxpRUFBZUEsTUFBTSIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL3NyYy9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9yZWFkZXIvc3R5bGUuanM/NTEzZSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzdHlsZXMgPSBgXG4gIDpob3N0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgIC8qbWF4LXdpZHRoOiA0MzBweDsqL1xuICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgYm94LXNoYWRvdzogLTNweCAwcHggMTZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IC0zcHggMHB4IDE2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgY29sb3I6ICMyMjJEMzk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAvLyBtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAvLyBtYXgtaGVpZ2h0OiA5NXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICA6aG9zdCAucGFnZWQtcmVhZGVyLWRyYWdnZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjIyRDM5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgY3Vyc29yOiBncmFiO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHhcbiAgfVxuXG4gIDpob3N0IC5wYWdlZC1yZWFkZXItZHJhZ2dlciBoMSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICB9XG4gIFxuICA6aG9zdCAucGFnZWQtcmVhZGVyLWRyYWdnZXIgYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgOmhvc3QgLl9fcGFnZWRfcmVhZGVyX3BsYXksIDpob3N0IC5fX3BhZ2VkX3JlYWRlcl9mb3J3YXJkLCA6aG9zdCAuX19wYWdlZF9yZWFkZXJfYmFja3dhcmQsIDpob3N0IC5fX3BhZ2VkX3JlYWRlcl9zZXR0aW5ncyB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGJhY2tncm91bmQ6ICMyMjJEMzk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH1cblxuICA6aG9zdCAuX19wYWdlZF9yZWFkZXJfcGxheSBzdmcsIDpob3N0IC5fX3BhZ2VkX3JlYWRlcl9mb3J3YXJkIHN2ZywgOmhvc3QgLl9fcGFnZWRfcmVhZGVyX2JhY2t3YXJkIHN2ZywgOmhvc3QgLl9fcGFnZWRfcmVhZGVyX3NldHRpbmdzIHN2ZyB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIDpob3N0IC5fX3BhZ2VkX3JlYWRlcl9jdXJzb3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICB9XG5cblxuICA6aG9zdCAuX19wYWdlZF9yZWFkZXJfY3Vyc29yIGlucHV0IHsgXG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICA6aG9zdCAuX19wYWdlZF9yZWFkZXJfY3Vyc29yIC5zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XG4gICAgdHJhbnNpdGlvbjogLjRzO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxuXG4gIDpob3N0IC5fX3BhZ2VkX3JlYWRlcl9jdXJzb3IgLnNsaWRlcjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMjZweDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBsZWZ0OiA0cHg7XG4gICAgYm90dG9tOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuNHM7XG4gICAgdHJhbnNpdGlvbjogLjRzO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxuXG4gIDpob3N0IC5fX3BhZ2VkX3JlYWRlcl9jdXJzb3IgaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjJEMzk7XG4gIH1cblxuICA6aG9zdCAuX19wYWdlZF9yZWFkZXJfY3Vyc29yIGlucHV0OmZvY3VzICsgLnNsaWRlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCAjMjIyRDM5O1xuICB9XG5cbiAgOmhvc3QgLl9fcGFnZWRfcmVhZGVyX2N1cnNvciBpbnB1dDpjaGVja2VkICsgLnNsaWRlcjpiZWZvcmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjZweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI2cHgpO1xuICB9XG4gIFxuICA6aG9zdCAucGFnZWRfcG9wVXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAxNTBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHdpZHRoOiA0MTBweDtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICB9XG4gIFxuICA6aG9zdCAucGFnZWRfcG9wVXAgYnV0dG9uIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICMyMjJEMzk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiA2cHg7XG4gIH0gXG5gO1xuXG5leHBvcnQgZGVmYXVsdCBzdHlsZXM7XG4iXSwibmFtZXMiOlsic3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/overlay/components/reader/style.js\n");
/***/ }),
/***/ "./src/components/overlay/index.js":
/*!*****************************************!*\
!*** ./src/components/overlay/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\": () => (/* binding */ Overlay)\n/* harmony export */ });\n/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ \"./src/components/overlay/style.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/dom */ \"./src/utils/dom.js\");\n/* harmony import */ var _configuration_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../configuration/constants */ \"./configuration/constants.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons */ \"./src/components/icons.js\");\n/* harmony import */ var _components_input__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/input */ \"./src/components/overlay/components/input/index.js\");\n/* harmony import */ var _components_account__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/account */ \"./src/components/overlay/components/account/index.js\");\n/* harmony import */ var _components_reader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/reader */ \"./src/components/overlay/components/reader/index.js\");\n/* harmony import */ var _settings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./settings */ \"./src/components/overlay/settings.js\");\n/* harmony import */ var _personas__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./personas */ \"./src/components/overlay/personas.js\");\n\n\n\n\n\n\n\n\n\n\n// DENIZ: Add recursive function to detect background color of images\nfunction getInheritedBackgroundColor(el) {\n // get default style for current browser\n var defaultStyle = getDefaultBackground(); // typically \"rgba(0, 0, 0, 0)\"\n\n // get computed color for el\n var backgroundColor = window.getComputedStyle(el).backgroundColor;\n\n // if we got a real value, return it\n if (backgroundColor != defaultStyle) return backgroundColor;\n\n // if we've reached the top parent el without getting an explicit color, return default\n if (!el.parentElement) return defaultStyle;\n\n // otherwise, recurse and try again on parent element\n return getInheritedBackgroundColor(el.parentElement);\n}\nfunction getDefaultBackground() {\n // have to add to the document in order to use getComputedStyle\n var div = document.createElement(\"div\");\n document.head.appendChild(div);\n var bg = window.getComputedStyle(div).backgroundColor;\n document.head.removeChild(div);\n return bg;\n}\nconst textNodes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'a', 'li', 'mark', 'ins', 'del', 'sup', 'sub', 'small', 'i', 'b', 'code', 'pre', 'span', 'textarea', 'button', 'label', 'form', 'select', 'input', 'td'];\nclass Overlay {\n _root = null;\n _rootShadow = null;\n _toggle = null;\n _open = false;\n _account = true;\n _position = 'right';\n _color = '#222D39';\n _model = {};\n _store = null;\n _inputs = [];\n _readerInputs = [];\n _oldRef = null;\n _translation = null;\n _mask = null;\n _reader = null;\n _fontFamilyReference = null;\n constructor(options) {\n this._toggle = options && options.toggle ? options.toggle : undefined;\n this._mask = options && options.mask ? options.mask : undefined;\n this._reader = options && options.reader ? options.reader : undefined;\n this._model = options && Object.keys(options.model || {}).length ? options.model : this.defaultModel;\n this._position = options && options.position ? options.position : 'right';\n this._color = options && options.color ? options.color : '#222D39';\n this._color = options.color && !options.color.includes('#') ? '#' + options.color : this._color;\n this._account = options && typeof options.account !== 'undefined' ? options.account === 'false' ? false : true : true;\n this._store = options.store;\n this._translation = options.translation;\n this.__init__();\n }\n set open(value) {\n this._open = value;\n this._open ? this._root.classList.add('open') : this._root.classList.remove('open');\n if (!value) {\n //const width = getComputedStyle(this._root).width;\n\n const widgetWidth = getComputedStyle(this._root).width.slice(0, -2);\n const widthWithScrollbar = parseInt(widgetWidth) + (this._root.offsetWidth - this._root.clientWidth);\n const width = widthWithScrollbar + 'px';\n\n //this._root.style.right = `-${width}`;\n //this._root.style.left = `-${width}`;\n this._position === 'left' ? this._root.style.left = `-${width}` : this._root.style.right = `-${width}`;\n } else {\n //this._root.style.right = '0';\n //this._root.style.left = '0';\n this._position === 'left' ? this._root.style.left = 0 : this._root.style.right = 0;\n }\n }\n get defaultModel() {\n return _settings__WEBPACK_IMPORTED_MODULE_7__[\"default\"].reduce((m, cfg) => {\n if (cfg.default !== null && typeof cfg.default !== undefined) {\n m[cfg.id] = cfg.default;\n }\n return m;\n }, {});\n }\n get _header() {\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n class: 'header'\n },\n children: [_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n style: 'display: flex;align-items: middle'\n },\n children: [_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'span',\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].revert,\n events: {\n click: this._revert.bind(this)\n }\n }), _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'select',\n attributes: {\n style: 'margin: auto 8px',\n class: '__paged_language_changer'\n },\n innerHTML: `\n \n \n `,\n events: {\n change: this._changeLanguage.bind(this)\n }\n })]\n }), _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'a',\n attributes: {\n href: 'https://paged.ai',\n target: '_blank'\n },\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].logoBlack\n }), _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n style: 'width: 70px;display: flex;justify-content: flex-end;'\n },\n children: [_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'span',\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].cancel,\n events: {\n click: this._close.bind(this)\n }\n })]\n })]\n });\n }\n get _tabs() {\n return _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n class: 'tabs'\n },\n children: [_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n innerHTML: this._translation.get('settings'),\n attributes: {\n dataId: 'settings'\n },\n events: {\n click: () => this._setTab('settings')\n }\n })].concat(this._account ? [_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n innerHTML: this._translation.get('account'),\n attributes: {\n dataId: 'account'\n },\n events: {\n click: () => this._setTab('account')\n }\n })] : []).concat([_utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n innerHTML: this._translation.get('individual'),\n attributes: {\n dataId: 'individual'\n },\n events: {\n click: () => this._setTab('settings')\n }\n }), _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'button',\n innerHTML: this._translation.get('personas'),\n attributes: {\n dataId: 'personas'\n },\n events: {\n click: () => this._setTab('personas')\n }\n })])\n });\n }\n hidePictures(active) {\n const divs = Array.from(document.querySelectorAll('div'));\n divs.forEach(div => {\n let bg = window.getComputedStyle(div).background;\n let bgImg = window.getComputedStyle(div).backgroundImage;\n const previousStyles = div.getAttribute('style');\n const isImgUrl = str => new RegExp(/url\\(\".+\"\\)$/gm).test(str);\n if (isImgUrl(bg)) {\n if (active) {\n if (!div.getAttribute('bg')) {\n div.setAttribute('bg', bg);\n }\n div.setAttribute('style', previousStyles ? `${previousStyles};background: none !important;` : 'background: none !important');\n } else {\n if (isImgUrl(div.getAttribute('bg'))) {\n div.setAttribute('style', previousStyles ? `${previousStyles};background: ${div.getAttribute('bg')} !important;` : `background: ${div.getAttribute('bg')} !important`);\n }\n }\n }\n if (isImgUrl(bgImg)) {\n if (active) {\n if (!div.getAttribute('bgImg')) {\n div.setAttribute('bgImg', bgImg);\n }\n div.setAttribute('style', previousStyles ? `${previousStyles};background-image: none !important;` : `background-image: none !important`);\n } else {\n if (isImgUrl(div.getAttribute('bgImg'))) {\n div.setAttribute('style', previousStyles ? `${previousStyles};background-image: ${div.getAttribute('bgImg')} !important;` : `background-image: ${div.getAttribute('bgImg')} !important`);\n }\n }\n }\n });\n const imgs = Array.from(document.querySelectorAll('img'));\n imgs.forEach(img => {\n if (img.parentNode.closest('header')) {\n return;\n }\n const previousStyles = img.getAttribute('style');\n if (active) {\n const formattedStyles = previousStyles.replace(/visibility: (visible|hidden);;?/gm, '');\n img.setAttribute('style', previousStyles ? `${formattedStyles}visibility: hidden;` : 'visibility: hidden;');\n } else {\n const formattedStyles = previousStyles.replace(/visibility: (visible|hidden);;?/gm, '');\n img.setAttribute('style', previousStyles ? `${formattedStyles}visibility: visible;` : `visibility: visible;`);\n }\n });\n return `\n img {\n visibility: hidden;\n }\n \n video {\n display: none;\n }\n \n * {\n background-image: none;\n }\n `;\n }\n readingMask(active) {\n if (!this._mask.enabled && active) {\n this._mask.enabled = active;\n } else {\n this._mask.enabled = false;\n }\n return '';\n }\n monochrome(active) {\n return `\n html {\n filter: grayscale(${!active ? 0 : 1});\n }\n `;\n }\n parkinson(active) {\n if (active) {\n document.querySelectorAll('button').forEach(button => {\n button.style.padding = '24px';\n button.setAttribute('data-padding', window.getComputedStyle(button).padding);\n });\n } else {\n document.querySelectorAll('button').forEach(button => {\n button.style.padding = button.getAttribute('data-padding') || 0;\n });\n }\n return `h1, h2, h3, h4, h5, h6, p, a, button, span, li { padding: 24px }`;\n }\n adhs(active) {\n if (active) {\n if (!this._mask.enabled) {\n if (!this._isMobile()) {\n this.readingMask(true);\n this._model.readingMask = true;\n }\n this.monochrome(true);\n this._model.monochrome = true;\n }\n } else {\n if (!this._isMobile()) {\n this.readingMask(false);\n this._model.readingMask = false;\n }\n this.monochrome(false);\n this._model.monochrome = false;\n this._mask.enabled = false;\n }\n return ``;\n }\n lowVision(active) {\n this._model.fontSize = active ? 5 : 0;\n //this._model.fontFamily = active ? \"{\\\"url\\\":\\\"https://paged.ai/fonts/OpenSans-prod.css\\\",\\\"css\\\":\\\"font-family: 'Open Sans', sans-serif !important\\\"}\" : null;\n if (this._fontFamilyReference) {\n const currentOption = Array.from(this._fontFamilyReference.options).filter(option => option.value.includes('OpenSans'))[0];\n this._model.fontFamily = active ? currentOption.value : null;\n }\n return ``;\n }\n dyslexia(active) {\n if (active) {\n if (!this._mask.enabled) {\n if (!this._isMobile()) {\n this.readingMask(true);\n this._model.readingMask = true;\n }\n }\n } else {\n if (!this._isMobile()) {\n this.readingMask(false);\n this._model.readingMask = false;\n }\n\n //this._model.fontFamily = null;\n }\n //const font = \"{\\\"url\\\":\\\"https://paged.ai/fonts/OpenDyslexic-prod.css\\\",\\\"css\\\":\\\"font-family: 'OpenDyslexic', serif !important\\\"}\";\n //this._model.fontFamily = active ? font : null;\n\n //this._model.fontFamily = active ? \"{\\\"url\\\":\\\"http://localhost:3000/fonts/OpenDyslexic-dev.css\\\",\\\"css\\\":\\\"font-family: 'OpenDyslexic', serif !important\\\"}\" : null;\n\n //if(this._fontFamilyReference)\n //this._fontFamilyReference.value = active ? font : '';\n\n if (this._fontFamilyReference) {\n const currentOption = Array.from(this._fontFamilyReference.options).filter(option => option.value.includes('OpenDyslexic'))[0];\n this._model.fontFamily = active ? currentOption.value : null;\n }\n return ``;\n }\n screenReader(active) {\n if (!this._reader.enabled && active) {\n this._reader.enabled = active;\n } else {\n this._reader.enabled = false;\n }\n return '';\n }\n contrast(active) {\n const divs = Array.from(document.querySelectorAll('div'));\n divs.forEach(div => {\n let bg = window.getComputedStyle(div).background;\n let bgImg = window.getComputedStyle(div).backgroundImage;\n let previousStyles = div.getAttribute('style');\n const rgs = new RegExp(/background(-image)?:\\s?.*;\\s?/gm);\n const isImgUrl = str => new RegExp(/url\\(\".+\"\\)$/gm).test(str);\n if (isImgUrl(bg) || div.getAttribute('bgImg')) {\n if (active) {\n if (!div.getAttribute('bgImg')) {\n div.setAttribute('bgImg', bg);\n }\n } else {\n div.setAttribute('style', previousStyles ? `${previousStyles};background: ${div.getAttribute('bgImg')} !important;` : `background: ${div.getAttribute('bgImg')} !important`);\n }\n }\n if (isImgUrl(bgImg) || div.getAttribute('bgImg')) {\n if (active) {\n if (!div.getAttribute('bgImg')) {\n div.setAttribute('bgImg', bgImg);\n }\n } else {\n div.setAttribute('style', previousStyles ? `${previousStyles};background-image: ${div.getAttribute('bgImg')} !important;` : `background-image: ${div.getAttribute('bgImg')} !important`);\n }\n }\n });\n const imgs = Array.from(document.querySelectorAll('img'));\n imgs.forEach(img => {\n const previousStyles = img.getAttribute('style');\n img.setAttribute('style', previousStyles ? `${previousStyles};visibility: visible;` : `visibility: visible;`);\n\n // check for background\n if (!img.getAttribute('defaultBg')) {\n if (img.style.background) {\n img.setAttribute('defaultBg', img.style.background);\n } else {\n img.setAttribute('noInlineBg', '1');\n }\n } else {\n img.style.background = img.getAttribute('defaultBg');\n }\n\n // check for background-color\n\n if (!img.getAttribute('defaultBgColor')) {\n if (img.style.backgroundColor) {\n img.setAttribute('defaultBgColor', img.style.backgroundColor);\n } else {\n img.setAttribute('noInlineBgColor', '1');\n }\n } else {\n img.style.backgroundColor = img.getAttribute('defaultBgColor');\n }\n\n // check for background-size\n\n if (!img.getAttribute('defaultBgSize')) {\n if (img.style.backgroundSize) {\n img.setAttribute('defaultBgSize', img.style.backgroundSize);\n } else {\n img.setAttribute('noInlineBgSize', '1');\n }\n } else {\n img.style.backgroundSize = img.getAttribute('defaultBgSize');\n }\n\n // check for background-position\n\n if (!img.getAttribute('defaultBgPosition')) {\n if (img.style.backgroundPosition) {\n img.setAttribute('defaultBgPosition', img.style.backgroundPosition);\n } else {\n img.setAttribute('noInlineBgPosition', '1');\n }\n } else {\n img.style.backgroundPosition = img.getAttribute('defaultBgPosition');\n }\n if (!img.getAttribute('defaultBgRepeat')) {\n if (img.style.backgroundRepeat) {\n img.setAttribute('defaultBgRepeat', img.style.backgroundRepeat);\n } else {\n img.setAttribute('noInlineBgRepeat', '1');\n }\n } else {\n img.style.backgroundRepeat = img.getAttribute('defaultBgRepeat');\n }\n if (active) {\n var bgColor = getInheritedBackgroundColor(img);\n img.style.setProperty('background', bgColor);\n } else {\n if (img.getAttribute('noInlineBg') === '1' || img.getAttribute('noInlineBgColor') === '1') {\n img.style.removeProperty('background');\n }\n if (!(img.getAttribute('noInlineBg') === '1')) {\n img.style.background = img.getAttribute('defaultBg');\n }\n if (!(img.getAttribute('noInlineBgColor') === '1')) {\n img.style.backgroundColor = img.getAttribute('defaultBgColor');\n }\n if (!(img.getAttribute('noInlineBgSize') === '1')) {\n img.style.backgroundSize = img.getAttribute('defaultBgSize');\n }\n if (!(img.getAttribute('noInlineBgPosition') === '1')) {\n img.style.backgroundPosition = img.getAttribute('defaultBgPosition');\n }\n if (!(img.getAttribute('noInlineBgRepeat') === '1')) {\n img.style.backgroundRepeat = img.getAttribute('defaultBgRepeat');\n }\n }\n });\n const texts = [].concat(...['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'a', 'span', 'time', 'li'].map(selector => Array.from(document.querySelectorAll(selector))));\n texts.forEach(textNode => {\n // check for color\n if (!textNode.getAttribute('defaultColor')) {\n if (textNode.style.color) {\n textNode.setAttribute('defaultColor', textNode.style.color);\n } else {\n textNode.setAttribute('noInlineColor', '1');\n }\n } else {\n textNode.style.color = textNode.getAttribute('defaultColor');\n }\n\n // check for background\n if (!textNode.getAttribute('defaultBg')) {\n if (textNode.style.background) {\n textNode.setAttribute('defaultBg', textNode.style.background);\n } else {\n textNode.setAttribute('noInlineBg', '1');\n }\n } else {\n textNode.style.background = textNode.getAttribute('defaultBg');\n }\n\n // check for background-color\n\n if (!textNode.getAttribute('defaultBgColor')) {\n if (textNode.style.backgroundColor) {\n textNode.setAttribute('defaultBgColor', textNode.style.backgroundColor);\n } else {\n textNode.setAttribute('noInlineBgColor', '1');\n }\n } else {\n textNode.style.backgroundColor = textNode.getAttribute('defaultBgColor');\n }\n\n // check for background-image\n\n if (!textNode.getAttribute('defaultBgImage')) {\n if (textNode.style.backgroundImage) {\n textNode.setAttribute('defaultBgImage', textNode.style.backgroundImage);\n } else {\n textNode.setAttribute('noInlineBgImage', '1');\n }\n } else {\n textNode.style.backgroundImage = textNode.getAttribute('defaultBgImage');\n }\n\n // check for background-size\n\n if (!textNode.getAttribute('defaultBgSize')) {\n if (textNode.style.backgroundSize) {\n textNode.setAttribute('defaultBgSize', textNode.style.backgroundSize);\n } else {\n textNode.setAttribute('noInlineBgSize', '1');\n }\n } else {\n textNode.style.backgroundSize = textNode.getAttribute('defaultBgSize');\n }\n\n // check for background-position\n\n if (!textNode.getAttribute('defaultBgPosition')) {\n if (textNode.style.backgroundPosition) {\n textNode.setAttribute('defaultBgPosition', textNode.style.backgroundPosition);\n } else {\n textNode.setAttribute('noInlineBgPosition', '1');\n }\n } else {\n textNode.style.backgroundPosition = textNode.getAttribute('defaultBgPosition');\n }\n if (!textNode.getAttribute('defaultBgRepeat')) {\n if (textNode.style.backgroundRepeat) {\n textNode.setAttribute('defaultBgRepeat', textNode.style.backgroundRepeat);\n } else {\n textNode.setAttribute('noInlineBgRepeat', '1');\n }\n } else {\n textNode.style.backgroundRepeat = textNode.getAttribute('defaultBgRepeat');\n }\n if (active) {\n textNode.style.setProperty('background', 'rgba(0, 0, 0, 1)', 'important');\n textNode.style.setProperty('color', '#ffffff', 'important');\n } else {\n if (textNode.getAttribute('noInlineColor') === '1') {\n textNode.style.removeProperty('color');\n }\n if (textNode.getAttribute('noInlineBg') === '1' || textNode.getAttribute('noInlineBgColor') === '1' || textNode.getAttribute('noInlineBgImage') === '1') {\n textNode.style.removeProperty('background');\n }\n if (!textNode.getAttribute('noInlineBg') === '1') {\n textNode.style.background = textNode.getAttribute('defaultBg');\n }\n if (!(textNode.getAttribute('noInlineBgColor') === '1')) {\n textNode.style.backgroundColor = textNode.getAttribute('defaultBgColor');\n }\n if (!(textNode.getAttribute('noInlineBgImage') === '1')) {\n textNode.style.backgroundImage = textNode.getAttribute('defaultBgImage');\n }\n if (!(textNode.getAttribute('noInlineBgSize') === '1')) {\n textNode.style.backgroundSize = textNode.getAttribute('defaultBgSize');\n }\n if (!(textNode.getAttribute('noInlineBgPosition') === '1')) {\n textNode.style.backgroundPosition = textNode.getAttribute('defaultBgPosition');\n }\n if (!(textNode.getAttribute('noInlineBgRepeat') === '1')) {\n textNode.style.backgroundRepeat = textNode.getAttribute('defaultBgRepeat');\n }\n }\n ;\n });\n let globalStyles = `\n img, figure {\n mix-blend-mode: unset !important;\n }\n `;\n globalStyles += `\n body, main, section {\n background: black !important;\n color: white !important;\n }\n `;\n return globalStyles;\n }\n isFirefox() {\n return new RegExp(/Firefox/gm).test(navigator.userAgent);\n }\n colorAnalyzer(color) {\n var r, g, b, hsp;\n if (color.match(/^rgb/)) {\n color = color.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/);\n r = color[1];\n g = color[2];\n b = color[3];\n } else {\n color = +(\"0x\" + color.slice(1).replace(color.length < 5 && /./g, '$&$&'));\n r = color >> 16;\n g = color >> 8 & 255;\n b = color & 255;\n }\n hsp = Math.sqrt(0.299 * (r * r) + 0.587 * (g * g) + 0.114 * (b * b));\n if (hsp > 127.5) {\n return 'light';\n } else {\n return 'dark';\n }\n }\n __init__() {\n this._root = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: document.body,\n attributes: {\n class: `${_configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.overlay} ${this._position}`\n }\n });\n this._rootShadow = this._root.attachShadow({\n mode: 'open'\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'style',\n innerHTML: _style__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n appendTo: this._rootShadow\n });\n this._rootShadow.appendChild(this._header);\n this._rootShadow.appendChild(this._tabs);\n this._store.set('config', this._model);\n this._applyStyles();\n const fn = () => this._applyStyles();\n const obs = new MutationObserver(fn.bind(this));\n obs.observe(document.querySelector('body'), {\n childList: true,\n subtree: true\n });\n this._setTab('settings');\n setTimeout(() => {\n if (!this._open) {\n //const width = getComputedStyle(this._root).width;\n //this._root.style.left = `-${width}`;\n\n const widgetWidth = getComputedStyle(this._root).width.slice(0, -2);\n const widthWithScrollbar = parseInt(widgetWidth) + (this._root.offsetWidth - this._root.clientWidth);\n const width = widthWithScrollbar + 'px';\n this._position === 'left' ? this._root.style.left = `-${width}` : this._root.style.right = `-${width}`;\n this._root.style.opacity = '1';\n this._root.style.boxSizing = 'content-box';\n }\n }, 100);\n let lastLocation;\n setInterval(() => {\n if (window.location.href !== lastLocation) {\n if (this._reader && this._reader._isEnabled) {\n /*this._reader.enabled = false;\n const readerElement = document.querySelector('.__paged-screen_reader');\n if (readerElement) {\n readerElement.remove();\n }\n this._reader = new Reader();\n this._reader.enabled = true;*/\n //this._reader._synth.cancel();\n this._reader._onStop();\n this._reader.isAutoPlay = false;\n }\n lastLocation = window.location.href;\n }\n }, 100);\n if (!this._fontFamilyReference) {\n const fontFamilyInput = Array.from(this._rootShadow.children).filter(element => element.labelKey === 'fontFamily')[0];\n this._fontFamilyReference = Array.from(fontFamilyInput.shadowRoot.children).filter(element => element.id === 'fontFamily')[0];\n }\n }\n _addResizeHandler() {\n if (!this._isMobile()) {\n let x = 0;\n let y = 0;\n let dx = 0;\n let dy = 0;\n let width = Number(getComputedStyle(this._root).width.split('px')[0]);\n let height = Number(getComputedStyle(this._root).height.split('px')[0]);\n function resize(event) {\n dx = event.screenX - x;\n dy = event.screenY - y;\n x = event.screenX;\n y = event.screenY;\n width -= dx;\n height += dy;\n if (width >= 360 && width <= 1200) {\n this._root.style.width = width + 'px';\n }\n if (height > 300) {\n this._root.style.height = height + 'px';\n }\n }\n const bound = resize.bind(this);\n const handler = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n attributes: {\n class: '__paged-resize-handler'\n },\n innerHTML: '',\n appendTo: this._rootShadow,\n events: {\n mousedown: event => {\n event.preventDefault();\n x = event.screenX;\n y = event.screenY;\n document.addEventListener('mousemove', bound);\n document.addEventListener('mouseup', () => {\n document.removeEventListener('mousemove', bound);\n });\n }\n }\n });\n const overlayObserver = new ResizeObserver(entries => {\n const toggle = document.querySelector('.' + _configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.toggle);\n //const width = getComputedStyle(this._root).width;\n\n const widgetWidth = getComputedStyle(this._root).width.slice(0, -2);\n const widthWithScrollbar = parseInt(widgetWidth) + (this._root.offsetWidth - this._root.clientWidth);\n const width = widthWithScrollbar + 'px';\n if (toggle && this._open) {\n //toggle.style.right = width;\n this._position === 'left' ? toggle.style.left = width : toggle.style.right = width;\n }\n });\n overlayObserver.observe(this._root);\n }\n }\n _minifyStyles(styles) {\n return styles.replace(/([^0-9a-zA-Z\\.#])\\s+/g, \"$1\").replace(/\\s([^0-9a-zA-Z\\.#]+)/g, \"$1\").replace(/;}/g, \"}\").replace(/\\/\\*.*?\\*\\//g, \"\");\n }\n qsa(node, selector) {\n const nodes = [...node.querySelectorAll(selector)];\n const nodeIterator = document.createNodeIterator(node, Node.ELEMENT_NODE);\n let currentNode;\n while (currentNode = nodeIterator.nextNode()) {\n if (Array.from(currentNode.classList).includes('__paged-account')) {}\n if (currentNode.shadowRoot) {\n nodes.push(...this.qsa(currentNode.shadowRoot, selector));\n }\n }\n return nodes;\n }\n accountSelector(selector) {\n return new Promise(r => {\n setTimeout(() => {\n const account = this._rootShadow.querySelector('.__paged-account');\n if (account) {\n r(Array.from(account.shadowRoot.querySelectorAll(selector)));\n } else {\n r([]);\n }\n }, 100);\n });\n }\n _applyStyles() {\n const toCssProp = str => str.replace(/[A-Z]/g, letter => `-${letter.toLowerCase()}`);\n const globalStyles = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].selectElements('.__paged-global-style', document.head);\n globalStyles.forEach(child => document.head.removeChild(child));\n let styleConfig = '';\n Object.keys(this._model).filter(styleKey => {\n const cfg = [..._settings__WEBPACK_IMPORTED_MODULE_7__[\"default\"], ..._personas__WEBPACK_IMPORTED_MODULE_8__[\"default\"]].find(s => s.id === styleKey);\n return cfg && cfg.apply !== 'text';\n }).forEach(styleKey => {\n const cfg = [..._settings__WEBPACK_IMPORTED_MODULE_7__[\"default\"], ..._personas__WEBPACK_IMPORTED_MODULE_8__[\"default\"]].find(s => s.id === styleKey);\n switch (cfg.type) {\n case 'switch':\n if (this._model[styleKey]) {\n styleConfig += this[styleKey](this._model[styleKey]);\n } else {\n if (styleKey === 'adhs') {\n this.adhs(false);\n delete this._model.adhs;\n }\n if (styleKey === 'lowVision') {\n this.lowVision(false);\n delete this._model.lowVision;\n }\n if (styleKey === 'dyslexia') {\n this.dyslexia(false);\n delete this._model.dyslexia;\n }\n if (styleKey === 'contrast') {\n this.contrast(this._model[styleKey]);\n }\n if (styleKey === 'readingMask') {\n this.readingMask(false);\n }\n if (styleKey === 'monochrome') {\n this.monochrome(false);\n }\n if (styleKey === 'screenReader') {\n this.screenReader(false);\n }\n }\n break;\n default:\n break;\n }\n });\n styleConfig = `\n :root {\n --paged-color: ${this._color};\n }\n h1:not([isNonText=\"1\"]), h2:not([isNonText=\"1\"]), h3:not([isNonText=\"1\"]), h4:not([isNonText=\"1\"]), h5:not([isNonText=\"1\"]), h6:not([isNonText=\"1\"]), p:not([isNonText=\"1\"]), a:not([isNonText=\"1\"]), li:not([isNonText=\"1\"]), mark:not([isNonText=\"1\"]), ins:not([isNonText=\"1\"]), del:not([isNonText=\"1\"]), sup:not([isNonText=\"1\"]), sub:not([isNonText=\"1\"]), small:not([isNonText=\"1\"]), i:not([isNonText=\"1\"]), b:not([isNonText=\"1\"]), code:not([isNonText=\"1\"]), pre:not([isNonText=\"1\"]), label:not([isNonText=\"1\"]), input:not([isNonText=\"1\"]), textarea:not([isNonText=\"1\"]), button:not([isNonText=\"1\"]), span:not([isNonText=\"1\"]), select:not([isNonText=\"1\"]), td:not([isNonText=\"1\"]) {\n ${Object.keys(this._model).filter(styleKey => {\n const cfg = _settings__WEBPACK_IMPORTED_MODULE_7__[\"default\"].find(s => s.id === styleKey);\n return cfg && cfg.apply === 'text';\n }).map(styleKey => {\n const cfg = _settings__WEBPACK_IMPORTED_MODULE_7__[\"default\"].find(s => s.id === styleKey);\n switch (cfg.type) {\n case 'increment':\n if (cfg.unit && cfg.unit === 'px') {\n Promise.all([].concat(...textNodes.map(async selector => {\n return [...this.qsa(document, selector), ...(await this.accountSelector(selector))];\n }))).then(texts => {\n const allTexts = texts.flat(Infinity);\n allTexts.forEach(textElem => {\n // Flag non-text\n if (textElem.textContent == '') {\n textElem.setAttribute(`isNonText`, '1' || 0);\n }\n let currentValue = Number(window.getComputedStyle(textElem)[cfg.id].split('px')[0] || 0);\n const basePx = textElem.getAttribute(`basePx${styleKey}`);\n if (!basePx) {\n // DENIZ\n if (textElem.classList.contains('as-link')) {\n if (styleKey === 'fontSize') {\n currentValue = Number(textElem.firstElementChild.style.fontSize.split('px')[0]);\n }\n }\n if (textElem.classList.contains('nav-link')) {\n if (styleKey === 'lineHeight') {\n currentValue = Number(getComputedStyle(textElem.parentElement).lineHeight.split('px')[0]);\n }\n }\n\n // fix tablepress issue\n\n if (textElem.textContent != '' && currentValue == 0) {\n if (styleKey === 'lineHeight') {\n currentValue = null;\n }\n if (styleKey === 'fontSize') {\n currentValue = null;\n }\n console.log(\"Start\");\n console.log(textElem);\n console.log(textElem.closest(\".tablepress\"));\n console.log(\"End\");\n }\n\n // if(textElem.closest(\".tablepress\") != null){\n // console.log(textElem)\n // currentValue = Number(getComputedStyle(textElem.closest(\".tablepress\"))[cfg.id].split('px')[0]);\n // console.log(currentValue)\n // }\n\n textElem.setAttribute(`basePx${styleKey}`, currentValue);\n }\n let previousStyles = textElem.getAttribute('style');\n const newStyle = `;${toCssProp(styleKey)}: ${Number(textElem.getAttribute(`basePx${styleKey}`)) + this._model[styleKey]}px`;\n if (previousStyles) {\n const replacer = new RegExp(`\\\\s?${toCssProp(styleKey)}:\\\\s?.+px;?`, 'gm');\n previousStyles = previousStyles.replace(replacer, '');\n }\n textElem.setAttribute('style', previousStyles ? `${previousStyles}${newStyle}` : newStyle);\n });\n });\n } else {\n const baseEm = cfg && cfg.base ? cfg.base : 0;\n const addEm = this._model[styleKey] * (cfg && cfg.increment ? cfg.increment : 0.1);\n return `${toCssProp(styleKey)}: ${baseEm + addEm}rem !important`;\n }\n case 'select':\n switch (cfg.id) {\n case 'fontFamily':\n const parsedValue = this._model[styleKey] !== cfg.default ? JSON.parse(this._model[styleKey]) : undefined;\n if (!parsedValue) {\n break;\n }\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'link',\n attributes: {\n href: parsedValue.url,\n rel: 'stylesheet'\n },\n appendTo: document.head\n });\n return parsedValue.css;\n default:\n break;\n }\n break;\n default:\n break;\n }\n }).filter(style => style && style.length).join(';')}\n }`;\n Object.keys(this._model).filter(styleKey => {\n const cfg = [..._settings__WEBPACK_IMPORTED_MODULE_7__[\"default\"], ..._personas__WEBPACK_IMPORTED_MODULE_8__[\"default\"]].find(s => s.id === styleKey);\n return cfg && cfg.apply !== 'text';\n }).forEach(styleKey => {\n const cfg = [..._settings__WEBPACK_IMPORTED_MODULE_7__[\"default\"], ..._personas__WEBPACK_IMPORTED_MODULE_8__[\"default\"]].find(s => s.id === styleKey);\n switch (cfg.type) {\n case 'switch':\n if (this._model[styleKey]) {\n styleConfig += this[styleKey](this._model[styleKey]);\n } else {\n if (styleKey === 'adhs') {\n this.adhs(false);\n delete this._model.adhs;\n }\n if (styleKey === 'lowVision') {\n this.lowVision(false);\n delete this._model.lowVision;\n }\n if (styleKey === 'dyslexia') {\n this.dyslexia(false);\n delete this._model.dyslexia;\n }\n if (styleKey === 'contrast') {\n this.contrast(this._model[styleKey]);\n }\n if (styleKey === 'readingMask') {\n this.readingMask(false);\n }\n if (styleKey === 'monochrome') {\n this.monochrome(false);\n }\n if (styleKey === 'screenReader') {\n this.screenReader(false);\n }\n }\n break;\n default:\n break;\n }\n });\n const widgetStyle = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].selectElement('style[class=\"__paged-widget-style\"]', this._rootShadow);\n if (!widgetStyle) {\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'style',\n innerHTML: this._minifyStyles(styleConfig),\n attributes: {\n class: '__paged-widget-style'\n },\n appendTo: this._rootShadow\n });\n } else {\n widgetStyle.innerHTML = this._minifyStyles(styleConfig);\n }\n if (this._reader) {\n const reader_root = this._reader._rootShadow;\n if (reader_root) {\n const style = reader_root.querySelector('style');\n if (!style.getAttribute('pre')) {\n style.setAttribute('pre', style.innerHTML);\n }\n style.innerHTML = style.getAttribute('pre') + styleConfig;\n }\n }\n this._reader._readerInputs.forEach(readerInput => {\n if (this._inputs.length > 0) {\n this._inputs.push(readerInput);\n }\n });\n if (Array.isArray(this._inputs)) {\n (this._inputs || []).forEach(input => {\n const input_root = input._rootShadow;\n if (input_root) {\n const style = input_root.querySelector('style');\n if (!style.getAttribute('pre')) {\n style.setAttribute('pre', style.innerHTML);\n }\n style.innerHTML = style.getAttribute('pre') + styleConfig;\n }\n });\n } else {\n const check_account_ready = setInterval(() => {\n if (this._inputs._rootShadow) {\n this._inputs._rootShadow.querySelector('style').innerHTML += styleConfig;\n clearInterval(check_account_ready);\n }\n }, 1);\n }\n const existsStyle = document.head.querySelector('.__paged-global-style');\n if (existsStyle) {\n existsStyle.remove();\n }\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'style',\n innerHTML: this._minifyStyles(styleConfig),\n attributes: {\n class: '__paged-global-style'\n },\n appendTo: document.head\n });\n }\n _revert() {\n this._model = this.defaultModel;\n if (this._store.get('user_settings')) {\n const settings = this._store.get('user_settings');\n this._model = typeof settings === 'string' ? JSON.parse(settings) : settings || {};\n }\n this._store.set('config', this._model);\n const globalStyles = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].selectElements('.__paged-global-style', document.head);\n globalStyles.forEach(child => document.head.removeChild(child));\n if (this._inputs instanceof _components_account__WEBPACK_IMPORTED_MODULE_5__[\"default\"] === false) {\n (this._inputs || []).forEach(input => {\n input.value = this._model[input._key];\n });\n }\n this._applyStyles();\n this._reader = new _components_reader__WEBPACK_IMPORTED_MODULE_6__[\"default\"]();\n }\n _changeLanguage(event) {\n const tabs = Array.from(this._rootShadow.querySelectorAll('[dataId]'));\n const activeTab = tabs.find(t => Array.from(t.classList).includes('active')).getAttribute('dataid');\n const select = this._rootShadow.querySelector('.__paged_language_changer');\n //this._reader.language = select.value.toLowerCase();\n this._translation.set_language(select.value);\n this._reader.language = select.value;\n this._reader._translation = this._translation;\n this._setTab(activeTab);\n tabs.forEach(tab => {\n tab.innerHTML = this._translation.get(tab.getAttribute('dataid'));\n });\n }\n _isMobile() {\n return window.matchMedia('(max-width: 767px)').matches;\n }\n _close() {\n if (this._toggle) {\n this.open = false;\n this._toggle.open = false;\n }\n }\n _setTab(tab) {\n const tabs = Array.from(this._rootShadow.querySelectorAll('[dataId]'));\n tabs.forEach(t => {\n if (['individual', 'personas'].includes(t.getAttribute('dataId'))) {\n if (tab === 'account') {\n t.setAttribute('style', 'display: none');\n } else {\n t.setAttribute('style', 'display: block');\n }\n }\n });\n tabs.forEach(t => {\n if (t.getAttribute('dataId') === tab) {\n t.classList.add('active');\n } else {\n t.classList.remove('active');\n }\n if (tab === 'settings' && t.getAttribute('dataId') === 'individual') {\n t.classList.add('active');\n }\n if (tab === 'personas' && t.getAttribute('dataId') === 'settings') {\n t.classList.add('active');\n }\n });\n this._inputs = [];\n const content = Array.from(this._rootShadow.childNodes).filter(child => {\n return child.tagName === 'DIV' && !Array.from(child.classList).includes('header') && !Array.from(child.classList).includes('tabs');\n });\n content.forEach(node => node.remove());\n switch (tab) {\n case 'settings':\n this._inputs = _settings__WEBPACK_IMPORTED_MODULE_7__[\"default\"].map(setting => {\n return new _components_input__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n key: setting.id,\n parent: this._rootShadow,\n value: this._model[setting.id],\n label: this._translation.get(setting.id),\n type: setting.type,\n options: setting.options ? setting.options.map(opt => ({\n ...opt,\n label: opt.label === '-- Select --' ? this._translation.get('select_placeholder') : opt.label\n })) : undefined,\n widget: this,\n onChange: value => {\n Object.assign(this._model, {\n [setting.id]: value\n });\n this._store.set('config', Object.keys(this._model).filter(key => !_personas__WEBPACK_IMPORTED_MODULE_8__[\"default\"].map(p => p.id).includes(key)).reduce((mod, key) => {\n mod[key] = this._model[key];\n return mod;\n }, {}));\n this._applyStyles();\n }\n });\n });\n this._applyStyles();\n this._addResizeHandler();\n break;\n case 'account':\n this._inputs = new _components_account__WEBPACK_IMPORTED_MODULE_5__[\"default\"]({\n parent: this._rootShadow,\n store: this._store,\n translation: this._translation,\n onUserLogin: () => {\n this._revert();\n },\n onAccountViewChange: () => {\n setTimeout(() => {\n this._applyStyles();\n }, 100);\n }\n });\n this._applyStyles();\n setTimeout(() => {\n this._addResizeHandler();\n }, 200);\n break;\n case 'personas':\n this._inputs = _personas__WEBPACK_IMPORTED_MODULE_8__[\"default\"].map(persona => {\n return new _components_input__WEBPACK_IMPORTED_MODULE_4__[\"default\"]({\n key: persona.id,\n parent: this._rootShadow,\n value: this._model[persona.id],\n label: this._translation.get(persona.id),\n type: persona.type,\n onChange: value => {\n Object.assign(this._model, {\n [persona.id]: value\n });\n this._store.set('config', this._model);\n //this._setTab('settings');\n this._applyStyles();\n }\n });\n });\n this._applyStyles();\n this._addResizeHandler();\n break;\n }\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QVksQ0FBQzZELEdBQUcsQ0FBQzRNLE9BQU8sQ0FBQ2pPLEVBQUUsQ0FBQztZQUN4Q2lLLElBQUksRUFBRWdFLE9BQU8sQ0FBQ2hFLElBQUk7WUFDbEIwRCxRQUFRLEVBQUU1TyxLQUFLLElBQUk7Y0FDakJiLE1BQU0sQ0FBQzBQLE1BQU0sQ0FBQyxJQUFJLENBQUN6USxNQUFNLEVBQUU7Z0JBQ3pCLENBQUM4USxPQUFPLENBQUNqTyxFQUFFLEdBQUdqQjtjQUNoQixDQUFDLENBQUM7Y0FDRixJQUFJLENBQUMzQixNQUFNLENBQUMwSSxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQzNJLE1BQU0sQ0FBQztjQUN0QztjQUNBLElBQUksQ0FBQzRJLFlBQVksQ0FBQyxDQUFDO1lBQ3JCO1VBQ0YsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDQSxZQUFZLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUNxQixpQkFBaUIsQ0FBQyxDQUFDO1FBQ3hCO0lBQ0o7RUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvb3ZlcmxheS9pbmRleC5qcz8wZjA4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZSBmcm9tICcuL3N0eWxlJztcbmltcG9ydCBkb20gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCBlbnYgZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9jb25zdGFudHMnO1xuaW1wb3J0IGljb25zIGZyb20gJy4uL2ljb25zJzsgXG5pbXBvcnQgSW5wdXQgZnJvbSAnLi9jb21wb25lbnRzL2lucHV0JztcbmltcG9ydCBBY2NvdW50IGZyb20gJy4vY29tcG9uZW50cy9hY2NvdW50JztcbmltcG9ydCBSZWFkZXIgZnJvbSAnLi9jb21wb25lbnRzL3JlYWRlcic7XG5pbXBvcnQgc2V0dGluZ3MgZnJvbSAnLi9zZXR0aW5ncyc7XG5pbXBvcnQgcGVyc29uYXMgZnJvbSAnLi9wZXJzb25hcyc7XG5cblxuLy8gREVOSVo6IEFkZCByZWN1cnNpdmUgZnVuY3Rpb24gdG8gZGV0ZWN0IGJhY2tncm91bmQgY29sb3Igb2YgaW1hZ2VzXG5mdW5jdGlvbiBnZXRJbmhlcml0ZWRCYWNrZ3JvdW5kQ29sb3IoZWwpIHtcbiAgLy8gZ2V0IGRlZmF1bHQgc3R5bGUgZm9yIGN1cnJlbnQgYnJvd3NlclxuICB2YXIgZGVmYXVsdFN0eWxlID0gZ2V0RGVmYXVsdEJhY2tncm91bmQoKSAvLyB0eXBpY2FsbHkgXCJyZ2JhKDAsIDAsIDAsIDApXCJcbiAgXG4gIC8vIGdldCBjb21wdXRlZCBjb2xvciBmb3IgZWxcbiAgdmFyIGJhY2tncm91bmRDb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS5iYWNrZ3JvdW5kQ29sb3JcbiAgXG4gIC8vIGlmIHdlIGdvdCBhIHJlYWwgdmFsdWUsIHJldHVybiBpdFxuICBpZiAoYmFja2dyb3VuZENvbG9yICE9IGRlZmF1bHRTdHlsZSkgcmV0dXJuIGJhY2tncm91bmRDb2xvclxuXG4gIC8vIGlmIHdlJ3ZlIHJlYWNoZWQgdGhlIHRvcCBwYXJlbnQgZWwgd2l0aG91dCBnZXR0aW5nIGFuIGV4cGxpY2l0IGNvbG9yLCByZXR1cm4gZGVmYXVsdFxuICBpZiAoIWVsLnBhcmVudEVsZW1lbnQpIHJldHVybiBkZWZhdWx0U3R5bGVcbiAgXG4gIC8vIG90aGVyd2lzZSwgcmVjdXJzZSBhbmQgdHJ5IGFnYWluIG9uIHBhcmVudCBlbGVtZW50XG4gIHJldHVybiBnZXRJbmhlcml0ZWRCYWNrZ3JvdW5kQ29sb3IoZWwucGFyZW50RWxlbWVudClcbn1cblxuZnVuY3Rpb24gZ2V0RGVmYXVsdEJhY2tncm91bmQoKSB7XG4gIC8vIGhhdmUgdG8gYWRkIHRvIHRoZSBkb2N1bWVudCBpbiBvcmRlciB0byB1c2UgZ2V0Q29tcHV0ZWRTdHlsZVxuICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKVxuICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGRpdilcbiAgdmFyIGJnID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2KS5iYWNrZ3JvdW5kQ29sb3JcbiAgZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZChkaXYpXG4gIHJldHVybiBiZ1xufVxuXG5jb25zdCB0ZXh0Tm9kZXMgPSBbXG4gICdoMScsXG4gICdoMicsXG4gICdoMycsXG4gICdoNCcsXG4gICdoNScsXG4gICdoNicsXG4gICdwJyxcbiAgJ2EnLFxuICAnbGknLFxuICAnbWFyaycsXG4gICdpbnMnLFxuICAnZGVsJyxcbiAgJ3N1cCcsXG4gICdzdWInLFxuICAnc21hbGwnLFxuICAnaScsXG4gICdiJyxcbiAgJ2NvZGUnLFxuICAncHJlJyxcbiAgJ3NwYW4nLFxuICAndGV4dGFyZWEnLFxuICAnYnV0dG9uJyxcbiAgJ2xhYmVsJyxcbiAgJ2Zvcm0nLFxuICAnc2VsZWN0JyxcbiAgJ2lucHV0JyxcbiAgICAndGQnLFxuXTtcblxuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE92ZXJsYXkge1xuICBfcm9vdCA9IG51bGw7XG4gIF9yb290U2hhZG93ID0gbnVsbDtcbiAgX3RvZ2dsZSA9IG51bGw7XG4gIF9vcGVuID0gZmFsc2U7XG4gIF9hY2NvdW50ID0gdHJ1ZTtcbiAgX3Bvc2l0aW9uID0gJ3JpZ2h0JztcbiAgX2NvbG9yID0gJyMyMjJEMzknO1xuICBfbW9kZWwgPSB7fTtcbiAgX3N0b3JlID0gbnVsbDtcbiAgX2lucHV0cyA9IFtdO1xuICBfcmVhZGVySW5wdXRzID0gW107XG5cdF9vbGRSZWYgPSBudWxsO1xuICBfdHJhbnNsYXRpb24gPSBudWxsO1xuICBfbWFzayA9IG51bGw7XG4gIF9yZWFkZXIgPSBudWxsO1xuICBfZm9udEZhbWlseVJlZmVyZW5jZSA9IG51bGw7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgIHRoaXMuX3RvZ2dsZSA9IG9wdGlvbnMgJiYgb3B0aW9ucy50b2dnbGVcbiAgICAgID8gb3B0aW9ucy50b2dnbGUgOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5fbWFzayA9IG9wdGlvbnMgJiYgb3B0aW9ucy5tYXNrXG4gICAgICA/IG9wdGlvbnMubWFzayA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9yZWFkZXIgPSBvcHRpb25zICYmIG9wdGlvbnMucmVhZGVyXG4gICAgICA/IG9wdGlvbnMucmVhZGVyIDogdW5kZWZpbmVkO1xuICAgIHRoaXMuX21vZGVsID0gb3B0aW9ucyAmJiBPYmplY3Qua2V5cyhvcHRpb25zLm1vZGVsIHx8IHt9KS5sZW5ndGhcbiAgICAgID8gb3B0aW9ucy5tb2RlbCA6IHRoaXMuZGVmYXVsdE1vZGVsO1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gb3B0aW9ucyAmJiBvcHRpb25zLnBvc2l0aW9uXG4gICAgICA/IG9wdGlvbnMucG9zaXRpb24gOiAncmlnaHQnO1xuICAgIHRoaXMuX2NvbG9yID0gb3B0aW9ucyAmJiBvcHRpb25zLmNvbG9yXG4gICAgPyBvcHRpb25zLmNvbG9yIDogJyMyMjJEMzknO1xuICAgIHRoaXMuX2NvbG9yID0gb3B0aW9ucy5jb2xvciAmJiAhb3B0aW9ucy5jb2xvci5pbmNsdWRlcygnIycpID8gJyMnICsgb3B0aW9ucy5jb2xvciA6IHRoaXMuX2NvbG9yO1xuICAgIHRoaXMuX2FjY291bnQgPSBvcHRpb25zICYmIHR5cGVvZiBvcHRpb25zLmFjY291bnQgIT09ICd1bmRlZmluZWQnID8gKFxuICAgICAgb3B0aW9ucy5hY2NvdW50ID09PSAnZmFsc2UnID8gZmFsc2UgOiB0cnVlXG4gICAgKSA6IHRydWU7XG5cbiAgICB0aGlzLl9zdG9yZSA9IG9wdGlvbnMuc3RvcmU7XG4gICAgdGhpcy5fdHJhbnNsYXRpb24gPSBvcHRpb25zLnRyYW5zbGF0aW9uO1xuICAgIHRoaXMuX19pbml0X18oKTtcbiAgfVxuXG4gIHNldCBvcGVuKHZhbHVlKSB7XG4gICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xuICAgIHRoaXMuX29wZW4gPyB0aGlzLl9yb290LmNsYXNzTGlzdC5hZGQoJ29wZW4nKVxuICAgICAgOiB0aGlzLl9yb290LmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAvL2NvbnN0IHdpZHRoID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9yb290KS53aWR0aDtcblxuICAgICAgY29uc3Qgd2lkZ2V0V2lkdGggPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuX3Jvb3QpLndpZHRoLnNsaWNlKDAsLTIpO1xuICAgICAgY29uc3Qgd2lkdGhXaXRoU2Nyb2xsYmFyID0gcGFyc2VJbnQod2lkZ2V0V2lkdGgpICsgKHRoaXMuX3Jvb3Qub2Zmc2V0V2lkdGggLSB0aGlzLl9yb290LmNsaWVudFdpZHRoKTtcbiAgICAgIGNvbnN0IHdpZHRoID0gd2lkdGhXaXRoU2Nyb2xsYmFyICsgJ3B4JztcblxuICAgICAgLy90aGlzLl9yb290LnN0eWxlLnJpZ2h0ID0gYC0ke3dpZHRofWA7XG4gICAgICAvL3RoaXMuX3Jvb3Quc3R5bGUubGVmdCA9IGAtJHt3aWR0aH1gO1xuICAgICAgdGhpcy5fcG9zaXRpb24gPT09ICdsZWZ0JyA/IHRoaXMuX3Jvb3Quc3R5bGUubGVmdCA9IGAtJHt3aWR0aH1gIDogdGhpcy5fcm9vdC5zdHlsZS5yaWdodCA9IGAtJHt3aWR0aH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL3RoaXMuX3Jvb3Quc3R5bGUucmlnaHQgPSAnMCc7XG4gICAgICAvL3RoaXMuX3Jvb3Quc3R5bGUubGVmdCA9ICcwJztcbiAgICAgIHRoaXMuX3Bvc2l0aW9uID09PSAnbGVmdCcgPyB0aGlzLl9yb290LnN0eWxlLmxlZnQgPSAwIDogdGhpcy5fcm9vdC5zdHlsZS5yaWdodCA9IDA7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGRlZmF1bHRNb2RlbCgpIHtcbiAgICByZXR1cm4gc2V0dGluZ3MucmVkdWNlKChtLCBjZmcpID0+IHtcbiAgICAgIGlmIChjZmcuZGVmYXVsdCAhPT0gbnVsbCAmJiB0eXBlb2YgY2ZnLmRlZmF1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBtW2NmZy5pZF0gPSBjZmcuZGVmYXVsdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIGdldCBfaGVhZGVyKCkge1xuICAgIHJldHVybiBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdkaXYnLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBjbGFzczogJ2hlYWRlcicsXG4gICAgICB9LFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgICAgIHRhZzogJ2RpdicsXG4gICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgc3R5bGU6ICdkaXNwbGF5OiBmbGV4O2FsaWduLWl0ZW1zOiBtaWRkbGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICAgICAgdGFnOiAnc3BhbicsXG4gICAgICAgICAgICAgIGlubmVySFRNTDogaWNvbnMucmV2ZXJ0LFxuICAgICAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgICAgICBjbGljazogdGhpcy5fcmV2ZXJ0LmJpbmQodGhpcyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICAgICAgdGFnOiAnc2VsZWN0JyxcbiAgICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgIHN0eWxlOiAnbWFyZ2luOiBhdXRvIDhweCcsXG4gICAgICAgICAgICAgICAgY2xhc3M6ICdfX3BhZ2VkX2xhbmd1YWdlX2NoYW5nZXInLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBpbm5lckhUTUw6IGBcbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiRU5cIiAke3RoaXMuX3RyYW5zbGF0aW9uLl9sYW5ndWFnZSA9PT0gJ0VOJyA/ICdzZWxlY3RlZCcgOiAnJ30+RU48L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiREVcIiAke3RoaXMuX3RyYW5zbGF0aW9uLl9sYW5ndWFnZSA9PT0gJ0RFJyA/ICdzZWxlY3RlZCcgOiAnJ30+REU8L29wdGlvbj5cbiAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgZXZlbnRzOiB7XG4gICAgICAgICAgICAgICAgY2hhbmdlOiB0aGlzLl9jaGFuZ2VMYW5ndWFnZS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICB0YWc6ICdhJyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBocmVmOiAnaHR0cHM6Ly9wYWdlZC5haScsXG4gICAgICAgICAgICB0YXJnZXQ6ICdfYmxhbmsnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5uZXJIVE1MOiBpY29ucy5sb2dvQmxhY2ssXG4gICAgICAgIH0pLFxuICAgICAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICAgICAgdGFnOiAnZGl2JyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBzdHlsZTogJ3dpZHRoOiA3MHB4O2Rpc3BsYXk6IGZsZXg7anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICAgICAgdGFnOiAnc3BhbicsXG4gICAgICAgICAgICAgIGlubmVySFRNTDogaWNvbnMuY2FuY2VsLFxuICAgICAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgICAgICBjbGljazogdGhpcy5fY2xvc2UuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBfdGFicygpIHtcbiAgICByZXR1cm4gZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnZGl2JyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6ICd0YWJzJyxcbiAgICAgIH0sXG4gICAgICBjaGlsZHJlbjogW1xuICAgICAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICAgICAgdGFnOiAnYnV0dG9uJyxcbiAgICAgICAgICBpbm5lckhUTUw6IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgnc2V0dGluZ3MnKSxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBkYXRhSWQ6ICdzZXR0aW5ncycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgIGNsaWNrOiAoKSA9PiB0aGlzLl9zZXRUYWIoJ3NldHRpbmdzJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICBdLmNvbmNhdCh0aGlzLl9hY2NvdW50ID8gW1xuICAgICAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICAgICAgdGFnOiAnYnV0dG9uJyxcbiAgICAgICAgICBpbm5lckhUTUw6IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgnYWNjb3VudCcpLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgIGRhdGFJZDogJ2FjY291bnQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZXZlbnRzOiB7XG4gICAgICAgICAgICBjbGljazogKCkgPT4gdGhpcy5fc2V0VGFiKCdhY2NvdW50JyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICBdIDogW10pLmNvbmNhdChbXG4gICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICB0YWc6ICdidXR0b24nLFxuICAgICAgICAgIGlubmVySFRNTDogdGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdpbmRpdmlkdWFsJyksXG4gICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgZGF0YUlkOiAnaW5kaXZpZHVhbCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgIGNsaWNrOiAoKSA9PiB0aGlzLl9zZXRUYWIoJ3NldHRpbmdzJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICB0YWc6ICdidXR0b24nLFxuICAgICAgICAgIGlubmVySFRNTDogdGhpcy5fdHJhbnNsYXRpb24uZ2V0KCdwZXJzb25hcycpLFxuICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgIGRhdGFJZDogJ3BlcnNvbmFzJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGV2ZW50czoge1xuICAgICAgICAgICAgY2xpY2s6ICgpID0+IHRoaXMuX3NldFRhYigncGVyc29uYXMnKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIF0pLFxuICAgIH0pO1xuICB9XG5cbiAgaGlkZVBpY3R1cmVzKGFjdGl2ZSkge1xuICAgIGNvbnN0IGRpdnMgPSBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RpdicpKTtcbiAgICBkaXZzLmZvckVhY2goZGl2ID0+IHtcbiAgICAgIGxldCBiZyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpdikuYmFja2dyb3VuZDtcbiAgICAgIGxldCBiZ0ltZyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRpdikuYmFja2dyb3VuZEltYWdlO1xuICAgICAgY29uc3QgcHJldmlvdXNTdHlsZXMgPSBkaXYuZ2V0QXR0cmlidXRlKCdzdHlsZScpO1xuICAgICAgY29uc3QgaXNJbWdVcmwgPSAoc3RyKSA9PiBuZXcgUmVnRXhwKC91cmxcXChcIi4rXCJcXCkkL2dtKS50ZXN0KHN0cik7XG4gICAgICBpZiAoaXNJbWdVcmwoYmcpKSB7XG4gICAgICAgIGlmIChhY3RpdmUpIHtcbiAgICAgICAgICBpZiAoIWRpdi5nZXRBdHRyaWJ1dGUoJ2JnJykpIHtcbiAgICAgICAgICAgIGRpdi5zZXRBdHRyaWJ1dGUoJ2JnJywgYmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkaXYuc2V0QXR0cmlidXRlKCdzdHlsZScsXG4gICAgICAgICAgICBwcmV2aW91c1N0eWxlcyA/IGAke3ByZXZpb3VzU3R5bGVzfTtiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7YCA6ICdiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNJbWdVcmwoZGl2LmdldEF0dHJpYnV0ZSgnYmcnKSkpIHtcbiAgICAgICAgICAgIGRpdi5zZXRBdHRyaWJ1dGUoJ3N0eWxlJyxcbiAgICAgICAgICAgICAgcHJldmlvdXNTdHlsZXNcbiAgICAgICAgICAgICAgICA/IGAke3ByZXZpb3VzU3R5bGVzfTtiYWNrZ3JvdW5kOiAke2Rpdi5nZXRBdHRyaWJ1dGUoJ2JnJyl9ICFpbXBvcnRhbnQ7YFxuICAgICAgICAgICAgICAgIDogYGJhY2tncm91bmQ6ICR7ZGl2LmdldEF0dHJpYnV0ZSgnYmcnKX0gIWltcG9ydGFudGApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGlzSW1nVXJsKGJnSW1nKSkge1xuICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgaWYgKCFkaXYuZ2V0QXR0cmlidXRlKCdiZ0ltZycpKSB7XG4gICAgICAgICAgICBkaXYuc2V0QXR0cmlidXRlKCdiZ0ltZycsIGJnSW1nKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLFxuICAgICAgICAgICAgcHJldmlvdXNTdHlsZXNcbiAgICAgICAgICAgICAgPyBgJHtwcmV2aW91c1N0eWxlc307YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O2BcbiAgICAgICAgICAgICAgOiBgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGlzSW1nVXJsKGRpdi5nZXRBdHRyaWJ1dGUoJ2JnSW1nJykpKSB7XG4gICAgICAgICAgICBkaXYuc2V0QXR0cmlidXRlKCdzdHlsZScsXG4gICAgICAgICAgICAgIHByZXZpb3VzU3R5bGVzXG4gICAgICAgICAgICAgICAgPyBgJHtwcmV2aW91c1N0eWxlc307YmFja2dyb3VuZC1pbWFnZTogJHtkaXYuZ2V0QXR0cmlidXRlKCdiZ0ltZycpfSAhaW1wb3J0YW50O2BcbiAgICAgICAgICAgICAgICA6IGBiYWNrZ3JvdW5kLWltYWdlOiAke2Rpdi5nZXRBdHRyaWJ1dGUoJ2JnSW1nJyl9ICFpbXBvcnRhbnRgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBpbWdzID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbWcnKSk7XG4gICAgaW1ncy5mb3JFYWNoKGltZyA9PiB7XG5cbiAgICAgIGlmKGltZy5wYXJlbnROb2RlLmNsb3Nlc3QoJ2hlYWRlcicpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJldmlvdXNTdHlsZXMgPSBpbWcuZ2V0QXR0cmlidXRlKCdzdHlsZScpO1xuICAgICAgaWYgKGFjdGl2ZSkge1xuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFN0eWxlcyA9IHByZXZpb3VzU3R5bGVzLnJlcGxhY2UoL3Zpc2liaWxpdHk6ICh2aXNpYmxlfGhpZGRlbik7Oz8vZ20sICcnKTtcbiAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgnc3R5bGUnLCBwcmV2aW91c1N0eWxlc1xuICAgICAgICAgID8gYCR7Zm9ybWF0dGVkU3R5bGVzfXZpc2liaWxpdHk6IGhpZGRlbjtgXG4gICAgICAgICAgOiAndmlzaWJpbGl0eTogaGlkZGVuOycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkU3R5bGVzID0gcHJldmlvdXNTdHlsZXMucmVwbGFjZSgvdmlzaWJpbGl0eTogKHZpc2libGV8aGlkZGVuKTs7Py9nbSwgJycpO1xuICAgICAgICBpbWcuc2V0QXR0cmlidXRlKCdzdHlsZScsXG4gICAgICAgICAgcHJldmlvdXNTdHlsZXNcbiAgICAgICAgICAgID8gYCR7Zm9ybWF0dGVkU3R5bGVzfXZpc2liaWxpdHk6IHZpc2libGU7YFxuICAgICAgICAgICAgOiBgdmlzaWJpbGl0eTogdmlzaWJsZTtgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBgXG4gICAgICBpbWcge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG4gICAgICBcbiAgICAgIHZpZGVvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgKiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICB9XG4gICAgYDtcbiAgfVxuXG4gIHJlYWRpbmdNYXNrKGFjdGl2ZSkge1xuICAgIGlmICghdGhpcy5fbWFzay5lbmFibGVkICYmIGFjdGl2ZSkge1xuICAgICAgdGhpcy5fbWFzay5lbmFibGVkID0gYWN0aXZlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9tYXNrLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgbW9ub2Nocm9tZShhY3RpdmUpIHtcbiAgICByZXR1cm4gYFxuICAgICAgaHRtbCB7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKCR7IWFjdGl2ZSA/IDAgOiAxfSk7XG4gICAgICB9XG4gICAgYDtcbiAgfVxuXG4gIHBhcmtpbnNvbihhY3RpdmUpIHtcblxuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2J1dHRvbicpLmZvckVhY2goYnV0dG9uID0+IHtcbiAgICAgICAgYnV0dG9uLnN0eWxlLnBhZGRpbmcgPSAnMjRweCc7XG4gICAgICAgIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ2RhdGEtcGFkZGluZycsIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGJ1dHRvbikucGFkZGluZyk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uJykuZm9yRWFjaChidXR0b24gPT4ge1xuICAgICAgICBidXR0b24uc3R5bGUucGFkZGluZyA9IGJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGFkZGluZycpIHx8IDA7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBhLCBidXR0b24sIHNwYW4sIGxpIHsgcGFkZGluZzogMjRweCB9YDtcbiAgfVxuXG4gIGFkaHMoYWN0aXZlKSB7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgaWYgKCF0aGlzLl9tYXNrLmVuYWJsZWQpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc01vYmlsZSgpKSB7XG4gICAgICAgICAgdGhpcy5yZWFkaW5nTWFzayh0cnVlKTtcbiAgICAgICAgICB0aGlzLl9tb2RlbC5yZWFkaW5nTWFzayA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb25vY2hyb21lKHRydWUpO1xuICAgICAgICB0aGlzLl9tb2RlbC5tb25vY2hyb21lID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLl9pc01vYmlsZSgpKSB7XG4gICAgICAgIHRoaXMucmVhZGluZ01hc2soZmFsc2UpO1xuICAgICAgICB0aGlzLl9tb2RlbC5yZWFkaW5nTWFzayA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5tb25vY2hyb21lKGZhbHNlKTtcbiAgICAgIHRoaXMuX21vZGVsLm1vbm9jaHJvbWUgPSBmYWxzZTtcbiAgICAgIHRoaXMuX21hc2suZW5hYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gYGA7XG4gIH1cblxuICBsb3dWaXNpb24oYWN0aXZlKSB7XG4gICAgdGhpcy5fbW9kZWwuZm9udFNpemUgPSBhY3RpdmUgPyA1IDogMDtcbiAgICAvL3RoaXMuX21vZGVsLmZvbnRGYW1pbHkgPSBhY3RpdmUgPyBcIntcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9wYWdlZC5haS9mb250cy9PcGVuU2Fucy1wcm9kLmNzc1xcXCIsXFxcImNzc1xcXCI6XFxcImZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50XFxcIn1cIiA6IG51bGw7XG4gICAgaWYodGhpcy5fZm9udEZhbWlseVJlZmVyZW5jZSkge1xuICAgICAgY29uc3QgY3VycmVudE9wdGlvbiA9IEFycmF5LmZyb20odGhpcy5fZm9udEZhbWlseVJlZmVyZW5jZS5vcHRpb25zKS5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi52YWx1ZS5pbmNsdWRlcygnT3BlblNhbnMnKSlbMF07XG4gICAgICB0aGlzLl9tb2RlbC5mb250RmFtaWx5ID0gYWN0aXZlID8gY3VycmVudE9wdGlvbi52YWx1ZSA6IG51bGw7XG4gICAgfVxuICAgIHJldHVybiBgYDtcbiAgfVxuXG4gIGR5c2xleGlhKGFjdGl2ZSkge1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIGlmICghdGhpcy5fbWFzay5lbmFibGVkKSB7XG4gICAgICAgIGlmICghdGhpcy5faXNNb2JpbGUoKSkge1xuICAgICAgICAgIHRoaXMucmVhZGluZ01hc2sodHJ1ZSk7XG4gICAgICAgICAgdGhpcy5fbW9kZWwucmVhZGluZ01hc2sgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLl9pc01vYmlsZSgpKSB7XG4gICAgICAgIHRoaXMucmVhZGluZ01hc2soZmFsc2UpO1xuICAgICAgICB0aGlzLl9tb2RlbC5yZWFkaW5nTWFzayA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICAvL3RoaXMuX21vZGVsLmZvbnRGYW1pbHkgPSBudWxsO1xuICAgIH1cbiAgICAvL2NvbnN0IGZvbnQgPSBcIntcXFwidXJsXFxcIjpcXFwiaHR0cHM6Ly9wYWdlZC5haS9mb250cy9PcGVuRHlzbGV4aWMtcHJvZC5jc3NcXFwiLFxcXCJjc3NcXFwiOlxcXCJmb250LWZhbWlseTogJ09wZW5EeXNsZXhpYycsIHNlcmlmICFpbXBvcnRhbnRcXFwifVwiO1xuICAgIC8vdGhpcy5fbW9kZWwuZm9udEZhbWlseSA9IGFjdGl2ZSA/IGZvbnQgOiBudWxsO1xuXG4gICAgLy90aGlzLl9tb2RlbC5mb250RmFtaWx5ID0gYWN0aXZlID8gXCJ7XFxcInVybFxcXCI6XFxcImh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9mb250cy9PcGVuRHlzbGV4aWMtZGV2LmNzc1xcXCIsXFxcImNzc1xcXCI6XFxcImZvbnQtZmFtaWx5OiAnT3BlbkR5c2xleGljJywgc2VyaWYgIWltcG9ydGFudFxcXCJ9XCIgOiBudWxsO1xuXG4gICAgLy9pZih0aGlzLl9mb250RmFtaWx5UmVmZXJlbmNlKVxuICAgICAgLy90aGlzLl9mb250RmFtaWx5UmVmZXJlbmNlLnZhbHVlID0gYWN0aXZlID8gZm9udCA6ICcnO1xuXG4gICAgaWYodGhpcy5fZm9udEZhbWlseVJlZmVyZW5jZSkge1xuICAgICAgY29uc3QgY3VycmVudE9wdGlvbiA9IEFycmF5LmZyb20odGhpcy5fZm9udEZhbWlseVJlZmVyZW5jZS5vcHRpb25zKS5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi52YWx1ZS5pbmNsdWRlcygnT3BlbkR5c2xleGljJykpWzBdO1xuICAgICAgdGhpcy5fbW9kZWwuZm9udEZhbWlseSA9IGFjdGl2ZSA/IGN1cnJlbnRPcHRpb24udmFsdWUgOiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBgYDtcbiAgfVxuXG4gIHNjcmVlblJlYWRlcihhY3RpdmUpIHtcblxuICAgIGlmICghdGhpcy5fcmVhZGVyLmVuYWJsZWQgJiYgYWN0aXZlKSB7XG4gICAgICB0aGlzLl9yZWFkZXIuZW5hYmxlZCA9IGFjdGl2ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcmVhZGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29udHJhc3QoYWN0aXZlKSB7XG4gICAgY29uc3QgZGl2cyA9IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGl2JykpO1xuICAgIGRpdnMuZm9yRWFjaChkaXYgPT4ge1xuICAgICAgbGV0IGJnID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2KS5iYWNrZ3JvdW5kO1xuICAgICAgbGV0IGJnSW1nID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZGl2KS5iYWNrZ3JvdW5kSW1hZ2U7XG4gICAgICBsZXQgcHJldmlvdXNTdHlsZXMgPSBkaXYuZ2V0QXR0cmlidXRlKCdzdHlsZScpO1xuICAgICAgY29uc3QgcmdzID0gbmV3IFJlZ0V4cCgvYmFja2dyb3VuZCgtaW1hZ2UpPzpcXHM/Lio7XFxzPy9nbSk7XG4gICAgICBjb25zdCBpc0ltZ1VybCA9IChzdHIpID0+IG5ldyBSZWdFeHAoL3VybFxcKFwiLitcIlxcKSQvZ20pLnRlc3Qoc3RyKTtcbiAgICAgIGlmIChpc0ltZ1VybChiZykgfHwgZGl2LmdldEF0dHJpYnV0ZSgnYmdJbWcnKSkge1xuICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgaWYgKCFkaXYuZ2V0QXR0cmlidXRlKCdiZ0ltZycpKSB7XG4gICAgICAgICAgICBkaXYuc2V0QXR0cmlidXRlKCdiZ0ltZycsIGJnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLFxuICAgICAgICAgICAgcHJldmlvdXNTdHlsZXNcbiAgICAgICAgICAgICAgPyBgJHtwcmV2aW91c1N0eWxlc307YmFja2dyb3VuZDogJHtkaXYuZ2V0QXR0cmlidXRlKCdiZ0ltZycpfSAhaW1wb3J0YW50O2BcbiAgICAgICAgICAgICAgOiBgYmFja2dyb3VuZDogJHtkaXYuZ2V0QXR0cmlidXRlKCdiZ0ltZycpfSAhaW1wb3J0YW50YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpc0ltZ1VybChiZ0ltZykgfHwgZGl2LmdldEF0dHJpYnV0ZSgnYmdJbWcnKSkge1xuICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgaWYgKCFkaXYuZ2V0QXR0cmlidXRlKCdiZ0ltZycpKSB7XG4gICAgICAgICAgICBkaXYuc2V0QXR0cmlidXRlKCdiZ0ltZycsIGJnSW1nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGl2LnNldEF0dHJpYnV0ZSgnc3R5bGUnLFxuICAgICAgICAgICAgcHJldmlvdXNTdHlsZXNcbiAgICAgICAgICAgICAgPyBgJHtwcmV2aW91c1N0eWxlc307YmFja2dyb3VuZC1pbWFnZTogJHtkaXYuZ2V0QXR0cmlidXRlKCdiZ0ltZycpfSAhaW1wb3J0YW50O2BcbiAgICAgICAgICAgICAgOiBgYmFja2dyb3VuZC1pbWFnZTogJHtkaXYuZ2V0QXR0cmlidXRlKCdiZ0ltZycpfSAhaW1wb3J0YW50YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBpbWdzID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbWcnKSk7XG4gICAgaW1ncy5mb3JFYWNoKGltZyA9PiB7XG4gICAgICBjb25zdCBwcmV2aW91c1N0eWxlcyA9IGltZy5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7XG4gICAgICBpbWcuc2V0QXR0cmlidXRlKCdzdHlsZScsXG4gICAgICBwcmV2aW91c1N0eWxlc1xuICAgICAgICA/IGAke3ByZXZpb3VzU3R5bGVzfTt2aXNpYmlsaXR5OiB2aXNpYmxlO2BcbiAgICAgICAgOiBgdmlzaWJpbGl0eTogdmlzaWJsZTtgKTtcblxuICAgICAgLy8gY2hlY2sgZm9yIGJhY2tncm91bmRcbiAgICAgIGlmICghaW1nLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnJykpIHtcblxuICAgICAgICBpZihpbWcuc3R5bGUuYmFja2dyb3VuZCl7XG4gICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgnZGVmYXVsdEJnJywgaW1nLnN0eWxlLmJhY2tncm91bmQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZycsICcxJyk7XG4gICAgICAgIH0gICBcbiAgICAgIH0gICAgICBcbiAgICAgIGVsc2V7XG4gICAgICAgIGltZy5zdHlsZS5iYWNrZ3JvdW5kID0gaW1nLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIGNoZWNrIGZvciBiYWNrZ3JvdW5kLWNvbG9yXG5cbiAgICAgIGlmICghaW1nLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnQ29sb3InKSkge1xuXG4gICAgICAgIGlmKGltZy5zdHlsZS5iYWNrZ3JvdW5kQ29sb3Ipe1xuICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ0NvbG9yJywgaW1nLnN0eWxlLmJhY2tncm91bmRDb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgICBpbWcuc2V0QXR0cmlidXRlKCdub0lubGluZUJnQ29sb3InLCAnMScpO1xuICAgICAgICB9ICAgXG4gICAgICB9ICAgICAgXG4gICAgICBlbHNle1xuXG4gICAgICAgIGltZy5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBpbWcuZ2V0QXR0cmlidXRlKCdkZWZhdWx0QmdDb2xvcicpO1xuXG4gICAgICB9XG5cbiAgICAgIC8vIGNoZWNrIGZvciBiYWNrZ3JvdW5kLXNpemVcblxuICAgICAgaWYgKCFpbWcuZ2V0QXR0cmlidXRlKCdkZWZhdWx0QmdTaXplJykpIHtcblxuICAgICAgICBpZihpbWcuc3R5bGUuYmFja2dyb3VuZFNpemUpe1xuICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1NpemUnLCBpbWcuc3R5bGUuYmFja2dyb3VuZFNpemUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZ1NpemUnLCAnMScpO1xuICAgICAgICB9ICAgXG4gICAgICB9ICAgICAgXG4gICAgICBlbHNle1xuXG4gICAgICAgIGltZy5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9IGltZy5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1NpemUnKTtcblxuICAgICAgfVxuXG4gICAgICAvLyBjaGVjayBmb3IgYmFja2dyb3VuZC1wb3NpdGlvblxuXG4gICAgICBpZiAoIWltZy5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1Bvc2l0aW9uJykpIHtcblxuICAgICAgICBpZihpbWcuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uKXtcbiAgICAgICAgICBpbWcuc2V0QXR0cmlidXRlKCdkZWZhdWx0QmdQb3NpdGlvbicsIGltZy5zdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgaW1nLnNldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZ1Bvc2l0aW9uJywgJzEnKTtcbiAgICAgICAgfSAgIFxuICAgICAgfSAgICAgIFxuICAgICAgZWxzZXtcblxuICAgICAgICBpbWcuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uID0gaW1nLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnUG9zaXRpb24nKTtcblxuICAgICAgfVxuXG4gICAgICBpZiAoIWltZy5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1JlcGVhdCcpKSB7XG5cbiAgICAgICAgaWYoaW1nLnN0eWxlLmJhY2tncm91bmRSZXBlYXQpe1xuICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1JlcGVhdCcsIGltZy5zdHlsZS5iYWNrZ3JvdW5kUmVwZWF0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgIGltZy5zZXRBdHRyaWJ1dGUoJ25vSW5saW5lQmdSZXBlYXQnLCAnMScpO1xuICAgICAgICB9ICAgXG4gICAgICB9ICAgICAgXG4gICAgICBlbHNle1xuXG4gICAgICAgIGltZy5zdHlsZS5iYWNrZ3JvdW5kUmVwZWF0ID0gaW1nLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnUmVwZWF0Jyk7XG4gICAgICAgIFxuICAgICAgfVxuXG4gICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgIHZhciBiZ0NvbG9yID0gZ2V0SW5oZXJpdGVkQmFja2dyb3VuZENvbG9yKGltZylcbiAgICAgICAgaW1nLnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kJywgYmdDb2xvcik7XG4gICAgICB9XG4gICAgICBlbHNlIHtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgaW1nLmdldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZycpPT09JzEnIHx8IFxuICAgICAgICAgIGltZy5nZXRBdHRyaWJ1dGUoJ25vSW5saW5lQmdDb2xvcicpPT09JzEnKXtcbiAgICAgICAgICAgIGltZy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnYmFja2dyb3VuZCcpOyBcbiAgICAgICAgfVxuICAgICAgICBpZighIChpbWcuZ2V0QXR0cmlidXRlKCdub0lubGluZUJnJyk9PT0nMScpKXtcbiAgICAgICAgICBpbWcuc3R5bGUuYmFja2dyb3VuZCA9IGltZy5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZycpO1xuICAgICAgICB9XG4gICAgICAgIGlmKCEgKGltZy5nZXRBdHRyaWJ1dGUoJ25vSW5saW5lQmdDb2xvcicpPT09JzEnKSl7XG4gICAgICAgICAgaW1nLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IGltZy5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ0NvbG9yJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZighIChpbWcuZ2V0QXR0cmlidXRlKCdub0lubGluZUJnU2l6ZScpPT09JzEnKSl7ICAgICBcbiAgICAgICAgICBpbWcuc3R5bGUuYmFja2dyb3VuZFNpemUgPSBpbWcuZ2V0QXR0cmlidXRlKCdkZWZhdWx0QmdTaXplJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoISAoaW1nLmdldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZ1Bvc2l0aW9uJyk9PT0nMScpKXtcbiAgICAgICAgICBpbWcuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uID0gaW1nLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnUG9zaXRpb24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZighIChpbWcuZ2V0QXR0cmlidXRlKCdub0lubGluZUJnUmVwZWF0Jyk9PT0nMScpKXtcbiAgICAgICAgICBpbWcuc3R5bGUuYmFja2dyb3VuZFJlcGVhdCA9IGltZy5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1JlcGVhdCcpO1xuICAgICAgICB9XG4gICAgICB9IFxuICAgICAgfSk7XG4gICAgY29uc3QgdGV4dHMgPSBbXS5jb25jYXQoLi4uWydoMScsICdoMicsICdoMycsICdoNCcsICdoNScsICdoNicsICdwJywgJ2EnLCAnc3BhbicsICd0aW1lJywgJ2xpJ11cbiAgICAgIC5tYXAoc2VsZWN0b3IgPT4gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSkpKTtcbiAgICB0ZXh0cy5mb3JFYWNoKHRleHROb2RlID0+IHsgICAgICBcblxuXG4gICAgICAvLyBjaGVjayBmb3IgY29sb3JcbiAgICAgIGlmICghdGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdkZWZhdWx0Q29sb3InKSl7XG5cbiAgICAgIGlmKHRleHROb2RlLnN0eWxlLmNvbG9yKXtcbiAgICAgICAgICB0ZXh0Tm9kZS5zZXRBdHRyaWJ1dGUoJ2RlZmF1bHRDb2xvcicsIHRleHROb2RlLnN0eWxlLmNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgIHRleHROb2RlLnNldEF0dHJpYnV0ZSgnbm9JbmxpbmVDb2xvcicsICcxJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICAgIHRleHROb2RlLnN0eWxlLmNvbG9yID0gdGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdkZWZhdWx0Q29sb3InKTtcbiAgICAgIH0gXG5cbiAgICAgIC8vIGNoZWNrIGZvciBiYWNrZ3JvdW5kXG4gICAgICBpZiAoIXRleHROb2RlLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnJykpIHtcblxuICAgICAgICBpZih0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kKXtcbiAgICAgICAgICB0ZXh0Tm9kZS5zZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZycsIHRleHROb2RlLnN0eWxlLmJhY2tncm91bmQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgdGV4dE5vZGUuc2V0QXR0cmlidXRlKCdub0lubGluZUJnJywgJzEnKTtcbiAgICAgICAgfSAgIFxuICAgICAgfSAgICAgIFxuICAgICAgZWxzZXtcbiAgICAgICAgdGV4dE5vZGUuc3R5bGUuYmFja2dyb3VuZCA9IHRleHROb2RlLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIGNoZWNrIGZvciBiYWNrZ3JvdW5kLWNvbG9yXG5cbiAgICAgIGlmICghdGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdkZWZhdWx0QmdDb2xvcicpKSB7XG5cbiAgICAgICAgaWYodGV4dE5vZGUuc3R5bGUuYmFja2dyb3VuZENvbG9yKXtcbiAgICAgICAgICB0ZXh0Tm9kZS5zZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ0NvbG9yJywgdGV4dE5vZGUuc3R5bGUuYmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgIHRleHROb2RlLnNldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZ0NvbG9yJywgJzEnKTtcbiAgICAgICAgfSAgIFxuICAgICAgfSAgICAgIFxuICAgICAgZWxzZXtcblxuICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ0NvbG9yJyk7XG5cbiAgICAgIH1cblxuICAgICAgLy8gY2hlY2sgZm9yIGJhY2tncm91bmQtaW1hZ2VcblxuICAgICAgaWYgKCF0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ0ltYWdlJykpIHtcblxuICAgICAgICBpZih0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2Upe1xuICAgICAgICAgIHRleHROb2RlLnNldEF0dHJpYnV0ZSgnZGVmYXVsdEJnSW1hZ2UnLCB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgdGV4dE5vZGUuc2V0QXR0cmlidXRlKCdub0lubGluZUJnSW1hZ2UnLCAnMScpO1xuICAgICAgICB9ICAgXG4gICAgICB9ICAgICAgXG4gICAgICBlbHNle1xuICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSB0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ0ltYWdlJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIGNoZWNrIGZvciBiYWNrZ3JvdW5kLXNpemVcblxuICAgICAgaWYgKCF0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1NpemUnKSkge1xuXG4gICAgICAgIGlmKHRleHROb2RlLnN0eWxlLmJhY2tncm91bmRTaXplKXtcbiAgICAgICAgICB0ZXh0Tm9kZS5zZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1NpemUnLCB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgICB0ZXh0Tm9kZS5zZXRBdHRyaWJ1dGUoJ25vSW5saW5lQmdTaXplJywgJzEnKTtcbiAgICAgICAgfSAgIFxuICAgICAgfSAgICAgIFxuICAgICAgZWxzZXtcblxuICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9IHRleHROb2RlLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnU2l6ZScpO1xuXG4gICAgICB9XG5cbiAgICAgIC8vIGNoZWNrIGZvciBiYWNrZ3JvdW5kLXBvc2l0aW9uXG5cbiAgICAgIGlmICghdGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdkZWZhdWx0QmdQb3NpdGlvbicpKSB7XG5cbiAgICAgICAgaWYodGV4dE5vZGUuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uKXtcbiAgICAgICAgICB0ZXh0Tm9kZS5zZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1Bvc2l0aW9uJywgdGV4dE5vZGUuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgIHRleHROb2RlLnNldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZ1Bvc2l0aW9uJywgJzEnKTtcbiAgICAgICAgfSAgIFxuICAgICAgfSAgICAgIFxuICAgICAgZWxzZXtcblxuICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb24gPSB0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1Bvc2l0aW9uJyk7XG5cbiAgICAgIH1cblxuICAgICAgaWYgKCF0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1JlcGVhdCcpKSB7XG5cbiAgICAgICAgaWYodGV4dE5vZGUuc3R5bGUuYmFja2dyb3VuZFJlcGVhdCl7XG4gICAgICAgICAgdGV4dE5vZGUuc2V0QXR0cmlidXRlKCdkZWZhdWx0QmdSZXBlYXQnLCB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kUmVwZWF0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgIHRleHROb2RlLnNldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZ1JlcGVhdCcsICcxJyk7XG4gICAgICAgIH0gICBcbiAgICAgIH0gICAgICBcbiAgICAgIGVsc2V7XG5cbiAgICAgICAgdGV4dE5vZGUuc3R5bGUuYmFja2dyb3VuZFJlcGVhdCA9IHRleHROb2RlLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnUmVwZWF0Jyk7XG4gICAgICAgIFxuICAgICAgfVxuXG5cblxuICAgICAgaWYgKGFjdGl2ZSkge1xuICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZCcsICdyZ2JhKDAsIDAsIDAsIDEpJywgJ2ltcG9ydGFudCcpO1xuICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3InLCAnI2ZmZmZmZicsICdpbXBvcnRhbnQnKTtcbiAgICAgIH0gXG4gICAgICBlbHNlIHtcblxuICAgICAgICBpZiAodGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdub0lubGluZUNvbG9yJyk9PT0nMScpe1xuICAgICAgICAgIHRleHROb2RlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdjb2xvcicpOyBcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ25vSW5saW5lQmcnKT09PScxJyB8fCBcbiAgICAgICAgICB0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ25vSW5saW5lQmdDb2xvcicpPT09JzEnIHx8XG4gICAgICAgICAgdGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdub0lubGluZUJnSW1hZ2UnKT09PScxJyl7XG4gICAgICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnYmFja2dyb3VuZCcpOyBcbiAgICAgICAgfVxuICAgICAgICBpZigoISB0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ25vSW5saW5lQmcnKT09PScxJykpe1xuICAgICAgICAgIHRleHROb2RlLnN0eWxlLmJhY2tncm91bmQgPSB0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZycpO1xuICAgICAgICB9XG4gICAgICAgIGlmKCEgKHRleHROb2RlLmdldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZ0NvbG9yJyk9PT0nMScpKXtcbiAgICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSB0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ0NvbG9yJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZighICh0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ25vSW5saW5lQmdJbWFnZScpPT09JzEnKSl7XG4gICAgICAgICAgdGV4dE5vZGUuc3R5bGUuYmFja2dyb3VuZEltYWdlID0gdGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdkZWZhdWx0QmdJbWFnZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYoISAodGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdub0lubGluZUJnU2l6ZScpPT09JzEnKSl7ICAgICBcbiAgICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kU2l6ZSA9IHRleHROb2RlLmdldEF0dHJpYnV0ZSgnZGVmYXVsdEJnU2l6ZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmKCEgKHRleHROb2RlLmdldEF0dHJpYnV0ZSgnbm9JbmxpbmVCZ1Bvc2l0aW9uJyk9PT0nMScpKXtcbiAgICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb24gPSB0ZXh0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RlZmF1bHRCZ1Bvc2l0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoISAodGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdub0lubGluZUJnUmVwZWF0Jyk9PT0nMScpKXtcbiAgICAgICAgICB0ZXh0Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kUmVwZWF0ID0gdGV4dE5vZGUuZ2V0QXR0cmlidXRlKCdkZWZhdWx0QmdSZXBlYXQnKTtcbiAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgIH07XG4gICAgfSk7XG4gICAgbGV0IGdsb2JhbFN0eWxlcyA9IGBcbiAgICAgIGltZywgZmlndXJlIHtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYDtcbiAgICBnbG9iYWxTdHlsZXMgKz0gYFxuICAgICAgYm9keSwgbWFpbiwgc2VjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIGA7XG4gICAgcmV0dXJuIGdsb2JhbFN0eWxlcztcbiAgfVxuXG4gIGlzRmlyZWZveCgpIHtcbiAgICAgcmV0dXJuIG5ldyBSZWdFeHAoL0ZpcmVmb3gvZ20pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gIH1cblxuICBjb2xvckFuYWx5emVyKGNvbG9yKSB7XG4gICAgdmFyIHIsIGcsIGIsIGhzcDtcbiAgICBpZiAoY29sb3IubWF0Y2goL15yZ2IvKSkge1xuICAgICAgY29sb3IgPSBjb2xvci5tYXRjaCgvXnJnYmE/XFwoKFxcZCspLFxccyooXFxkKyksXFxzKihcXGQrKSg/OixcXHMqKFxcZCsoPzpcXC5cXGQrKT8pKT9cXCkkLyk7XG4gICAgICByID0gY29sb3JbMV07XG4gICAgICBnID0gY29sb3JbMl07XG4gICAgICBiID0gY29sb3JbM107XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbG9yID0gKyhcIjB4XCIgKyBjb2xvci5zbGljZSgxKS5yZXBsYWNlKFxuICAgICAgY29sb3IubGVuZ3RoIDwgNSAmJiAvLi9nLCAnJCYkJicpKTtcbiAgICAgIHIgPSBjb2xvciA+PiAxNjtcbiAgICAgIGcgPSBjb2xvciA+PiA4ICYgMjU1O1xuICAgICAgYiA9IGNvbG9yICYgMjU1O1xuICAgIH1cbiAgICBoc3AgPSBNYXRoLnNxcnQoXG4gICAgICAwLjI5OSAqIChyICogcikgK1xuICAgICAgMC41ODcgKiAoZyAqIGcpICtcbiAgICAgIDAuMTE0ICogKGIgKiBiKVxuICAgICk7XG4gICAgaWYgKGhzcD4xMjcuNSkge1xuICAgICAgcmV0dXJuICdsaWdodCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnZGFyayc7XG4gICAgfVxuICB9XG5cbiAgX19pbml0X18oKSB7XG4gICAgdGhpcy5fcm9vdCA9IGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ2RpdicsXG4gICAgICBhcHBlbmRUbzogZG9jdW1lbnQuYm9keSxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6IGAke2Vudi5jbGFzc2VzLm92ZXJsYXl9ICR7dGhpcy5fcG9zaXRpb259YCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLl9yb290U2hhZG93ID0gdGhpcy5fcm9vdC5hdHRhY2hTaGFkb3coe1xuICAgICAgbW9kZTogJ29wZW4nLFxuICAgIH0pO1xuXG4gICAgZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgdGFnOiAnc3R5bGUnLFxuICAgICAgaW5uZXJIVE1MOiBzdHlsZSxcbiAgICAgIGFwcGVuZFRvOiB0aGlzLl9yb290U2hhZG93LFxuICAgIH0pO1xuXG4gICAgdGhpcy5fcm9vdFNoYWRvdy5hcHBlbmRDaGlsZCh0aGlzLl9oZWFkZXIpO1xuICAgIHRoaXMuX3Jvb3RTaGFkb3cuYXBwZW5kQ2hpbGQodGhpcy5fdGFicyk7XG4gICAgdGhpcy5fc3RvcmUuc2V0KCdjb25maWcnLCB0aGlzLl9tb2RlbCk7XG4gICAgdGhpcy5fYXBwbHlTdHlsZXMoKTtcbiAgICBjb25zdCBmbiA9ICgpID0+IHRoaXMuX2FwcGx5U3R5bGVzKCk7XG4gICAgY29uc3Qgb2JzID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoZm4uYmluZCh0aGlzKSk7XG4gICAgb2JzLm9ic2VydmUoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpLCB7XG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMuX3NldFRhYignc2V0dGluZ3MnKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5fb3Blbikge1xuICAgICAgICAvL2NvbnN0IHdpZHRoID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9yb290KS53aWR0aDtcbiAgICAgICAgLy90aGlzLl9yb290LnN0eWxlLmxlZnQgPSBgLSR7d2lkdGh9YDtcblxuICAgICAgICBjb25zdCB3aWRnZXRXaWR0aCA9IGdldENvbXB1dGVkU3R5bGUodGhpcy5fcm9vdCkud2lkdGguc2xpY2UoMCwtMik7XG4gICAgICAgIGNvbnN0IHdpZHRoV2l0aFNjcm9sbGJhciA9IHBhcnNlSW50KHdpZGdldFdpZHRoKSArICh0aGlzLl9yb290Lm9mZnNldFdpZHRoIC0gdGhpcy5fcm9vdC5jbGllbnRXaWR0aCk7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gd2lkdGhXaXRoU2Nyb2xsYmFyICsgJ3B4JztcblxuICAgICAgICB0aGlzLl9wb3NpdGlvbiA9PT0gJ2xlZnQnID8gdGhpcy5fcm9vdC5zdHlsZS5sZWZ0ID0gYC0ke3dpZHRofWAgOiB0aGlzLl9yb290LnN0eWxlLnJpZ2h0ID0gYC0ke3dpZHRofWA7XG4gICAgICAgIHRoaXMuX3Jvb3Quc3R5bGUub3BhY2l0eSA9ICcxJztcbiAgICAgICAgdGhpcy5fcm9vdC5zdHlsZS5ib3hTaXppbmcgPSAnY29udGVudC1ib3gnXG4gICAgICB9XG4gICAgfSwgMTAwKTtcblxuICAgIGxldCBsYXN0TG9jYXRpb247XG4gICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ocmVmICE9PSBsYXN0TG9jYXRpb24pIHtcbiAgICAgICAgaWYgKHRoaXMuX3JlYWRlciAmJiB0aGlzLl9yZWFkZXIuX2lzRW5hYmxlZCkge1xuICAgICAgICAgIC8qdGhpcy5fcmVhZGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICBjb25zdCByZWFkZXJFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLl9fcGFnZWQtc2NyZWVuX3JlYWRlcicpO1xuICAgICAgICAgIGlmIChyZWFkZXJFbGVtZW50KSB7XG4gICAgICAgICAgICByZWFkZXJFbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9yZWFkZXIgPSBuZXcgUmVhZGVyKCk7XG4gICAgICAgICAgdGhpcy5fcmVhZGVyLmVuYWJsZWQgPSB0cnVlOyovXG4gICAgICAgICAgLy90aGlzLl9yZWFkZXIuX3N5bnRoLmNhbmNlbCgpO1xuICAgICAgICAgIHRoaXMuX3JlYWRlci5fb25TdG9wKCk7XG4gICAgICAgICAgdGhpcy5fcmVhZGVyLmlzQXV0b1BsYXkgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBsYXN0TG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cbiAgICB9LCAxMDApO1xuXG4gICAgaWYoIXRoaXMuX2ZvbnRGYW1pbHlSZWZlcmVuY2UpIHtcbiAgICAgIGNvbnN0IGZvbnRGYW1pbHlJbnB1dCA9IEFycmF5LmZyb20odGhpcy5fcm9vdFNoYWRvdy5jaGlsZHJlbikuZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudC5sYWJlbEtleSA9PT0gJ2ZvbnRGYW1pbHknKVswXTtcbiAgICAgIHRoaXMuX2ZvbnRGYW1pbHlSZWZlcmVuY2UgPSBBcnJheS5mcm9tKGZvbnRGYW1pbHlJbnB1dC5zaGFkb3dSb290LmNoaWxkcmVuKS5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50LmlkID09PSAnZm9udEZhbWlseScpWzBdO1xuICAgIH1cblxuICB9XG5cbiAgX2FkZFJlc2l6ZUhhbmRsZXIoKSB7XG4gICAgaWYgKCF0aGlzLl9pc01vYmlsZSgpKSB7XG4gICAgICAgIGxldCB4ID0gMDtcbiAgICAgICAgbGV0IHkgPSAwO1xuICAgICAgICBsZXQgZHggPSAwO1xuICAgICAgICBsZXQgZHkgPSAwO1xuICAgICAgICBsZXQgd2lkdGggPSBOdW1iZXIoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9yb290KS53aWR0aC5zcGxpdCgncHgnKVswXSk7XG4gICAgICAgIGxldCBoZWlnaHQgPSBOdW1iZXIoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9yb290KS5oZWlnaHQuc3BsaXQoJ3B4JylbMF0pO1xuXG4gICAgICAgIGZ1bmN0aW9uIHJlc2l6ZShldmVudCkge1xuICAgICAgICAgICAgZHggPSBldmVudC5zY3JlZW5YIC0geDtcbiAgICAgICAgICAgIGR5ID0gZXZlbnQuc2NyZWVuWSAtIHk7XG4gICAgICAgICAgICB4ID0gZXZlbnQuc2NyZWVuWDtcbiAgICAgICAgICAgIHkgPSBldmVudC5zY3JlZW5ZO1xuICAgICAgICAgICAgd2lkdGggLT0gZHg7XG4gICAgICAgICAgICBoZWlnaHQgKz0gZHk7XG4gICAgICAgICAgICBpZiAod2lkdGggPj0gMzYwICYmIHdpZHRoIDw9IDEyMDApIHtcbiAgICAgICAgICAgICAgdGhpcy5fcm9vdC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChoZWlnaHQgPiAzMDApIHtcbiAgICAgICAgICAgICAgdGhpcy5fcm9vdC5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJvdW5kID0gcmVzaXplLmJpbmQodGhpcyk7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICAgICAgdGFnOiAnZGl2JyxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBjbGFzczogJ19fcGFnZWQtcmVzaXplLWhhbmRsZXInLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5uZXJIVE1MOiAnJyxcbiAgICAgICAgICBhcHBlbmRUbzogdGhpcy5fcm9vdFNoYWRvdyxcbiAgICAgICAgICBldmVudHM6IHtcbiAgICAgICAgICAgIG1vdXNlZG93bjogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHggPSBldmVudC5zY3JlZW5YO1xuICAgICAgICAgICAgICB5ID0gZXZlbnQuc2NyZWVuWTtcbiAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgYm91bmQpO1xuICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIGJvdW5kKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBvdmVybGF5T2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZW50cmllcyA9PiB7XG4gICAgICAgICAgY29uc3QgdG9nZ2xlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLicrZW52LmNsYXNzZXMudG9nZ2xlKTtcbiAgICAgICAgICAvL2NvbnN0IHdpZHRoID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9yb290KS53aWR0aDtcblxuICAgICAgICAgIGNvbnN0IHdpZGdldFdpZHRoID0gZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9yb290KS53aWR0aC5zbGljZSgwLC0yKTtcbiAgICAgICAgICBjb25zdCB3aWR0aFdpdGhTY3JvbGxiYXIgPSBwYXJzZUludCh3aWRnZXRXaWR0aCkgKyAodGhpcy5fcm9vdC5vZmZzZXRXaWR0aCAtIHRoaXMuX3Jvb3QuY2xpZW50V2lkdGgpO1xuICAgICAgICAgIGNvbnN0IHdpZHRoID0gd2lkdGhXaXRoU2Nyb2xsYmFyICsgJ3B4JztcblxuICAgICAgICAgIGlmICh0b2dnbGUgJiYgdGhpcy5fb3Blbikge1xuICAgICAgICAgICAgLy90b2dnbGUuc3R5bGUucmlnaHQgPSB3aWR0aDtcbiAgICAgICAgICAgIHRoaXMuX3Bvc2l0aW9uID09PSAnbGVmdCcgPyB0b2dnbGUuc3R5bGUubGVmdCA9IHdpZHRoIDogdG9nZ2xlLnN0eWxlLnJpZ2h0ID0gd2lkdGg7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgb3ZlcmxheU9ic2VydmVyLm9ic2VydmUodGhpcy5fcm9vdCk7XG4gICAgfVxuICB9XG5cbiAgX21pbmlmeVN0eWxlcyhzdHlsZXMpIHtcbiAgICByZXR1cm4gc3R5bGVzXG4gICAgICAucmVwbGFjZSgvKFteMC05YS16QS1aXFwuI10pXFxzKy9nLCBcIiQxXCIpXG4gICAgICAucmVwbGFjZSgvXFxzKFteMC05YS16QS1aXFwuI10rKS9nLCBcIiQxXCIpXG4gICAgICAucmVwbGFjZSgvO30vZywgXCJ9XCIpXG4gICAgICAucmVwbGFjZSgvXFwvXFwqLio/XFwqXFwvL2csIFwiXCIpO1xuICB9XG5cbiAgcXNhKG5vZGUsIHNlbGVjdG9yKSB7XG4gICAgY29uc3Qgbm9kZXMgPSBbLi4ubm9kZS5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKV1cbiAgICBjb25zdCBub2RlSXRlcmF0b3IgPSBkb2N1bWVudC5jcmVhdGVOb2RlSXRlcmF0b3Iobm9kZSwgTm9kZS5FTEVNRU5UX05PREUpO1xuICAgIGxldCBjdXJyZW50Tm9kZTtcbiAgICB3aGlsZSAoY3VycmVudE5vZGUgPSBub2RlSXRlcmF0b3IubmV4dE5vZGUoKSkge1xuICAgICAgaWYgKEFycmF5LmZyb20oY3VycmVudE5vZGUuY2xhc3NMaXN0KS5pbmNsdWRlcygnX19wYWdlZC1hY2NvdW50JykpIHtcbiAgICAgIH1cbiAgICAgIGlmKGN1cnJlbnROb2RlLnNoYWRvd1Jvb3QpIHtcbiAgICAgICAgbm9kZXMucHVzaCguLi50aGlzLnFzYShjdXJyZW50Tm9kZS5zaGFkb3dSb290LHNlbGVjdG9yKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBub2RlcztcbiAgfVxuXG4gIGFjY291bnRTZWxlY3RvcihzZWxlY3Rvcikge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocikgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjY291bnQgPSB0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJy5fX3BhZ2VkLWFjY291bnQnKTtcbiAgICAgICAgaWYgKGFjY291bnQpIHtcbiAgICAgICAgICByKEFycmF5LmZyb20oYWNjb3VudC5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcihbXSk7XG4gICAgICAgIH1cbiAgICAgIH0sIDEwMCk7XG4gICAgfSk7XG4gIH1cblxuICBfYXBwbHlTdHlsZXMoKSB7XG4gICAgY29uc3QgdG9Dc3NQcm9wID0gc3RyID0+IHN0ci5yZXBsYWNlKC9bQS1aXS9nLCBsZXR0ZXIgPT4gYC0ke2xldHRlci50b0xvd2VyQ2FzZSgpfWApO1xuICAgIGNvbnN0IGdsb2JhbFN0eWxlcyA9IGRvbS5zZWxlY3RFbGVtZW50cygnLl9fcGFnZWQtZ2xvYmFsLXN0eWxlJywgZG9jdW1lbnQuaGVhZCk7XG4gICAgZ2xvYmFsU3R5bGVzLmZvckVhY2goY2hpbGQgPT4gZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZChjaGlsZCkpO1xuXG4gICAgbGV0IHN0eWxlQ29uZmlnID0gJyc7XG5cbiAgICBPYmplY3Qua2V5cyh0aGlzLl9tb2RlbCkuZmlsdGVyKHN0eWxlS2V5ID0+IHtcbiAgICAgIGNvbnN0IGNmZyA9IFsuLi5zZXR0aW5ncywgLi4ucGVyc29uYXNdLmZpbmQocyA9PiBzLmlkID09PSBzdHlsZUtleSk7XG4gICAgICByZXR1cm4gY2ZnICYmIGNmZy5hcHBseSAhPT0gJ3RleHQnO1xuICAgIH0pLmZvckVhY2goc3R5bGVLZXkgPT4ge1xuICAgICAgY29uc3QgY2ZnID0gWy4uLnNldHRpbmdzLCAuLi5wZXJzb25hc10uZmluZChzID0+IHMuaWQgPT09IHN0eWxlS2V5KTtcbiAgICAgIHN3aXRjaCAoY2ZnLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnc3dpdGNoJzpcbiAgICAgICAgICBpZiAodGhpcy5fbW9kZWxbc3R5bGVLZXldKSB7XG4gICAgICAgICAgICBzdHlsZUNvbmZpZyArPSB0aGlzW3N0eWxlS2V5XSh0aGlzLl9tb2RlbFtzdHlsZUtleV0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoc3R5bGVLZXkgPT09ICdhZGhzJykge1xuICAgICAgICAgICAgICB0aGlzLmFkaHMoZmFsc2UpO1xuICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fbW9kZWwuYWRocztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdHlsZUtleSA9PT0gJ2xvd1Zpc2lvbicpIHtcbiAgICAgICAgICAgICAgdGhpcy5sb3dWaXNpb24oZmFsc2UpO1xuICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fbW9kZWwubG93VmlzaW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0eWxlS2V5ID09PSAnZHlzbGV4aWEnKSB7XG4gICAgICAgICAgICAgIHRoaXMuZHlzbGV4aWEoZmFsc2UpO1xuICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fbW9kZWwuZHlzbGV4aWE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3R5bGVLZXkgPT09ICdjb250cmFzdCcpIHtcbiAgICAgICAgICAgICAgdGhpcy5jb250cmFzdCh0aGlzLl9tb2RlbFtzdHlsZUtleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0eWxlS2V5ID09PSAncmVhZGluZ01hc2snKSB7XG4gICAgICAgICAgICAgIHRoaXMucmVhZGluZ01hc2soZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0eWxlS2V5ID09PSAnbW9ub2Nocm9tZScpIHtcbiAgICAgICAgICAgICAgdGhpcy5tb25vY2hyb21lKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdHlsZUtleSA9PT0gJ3NjcmVlblJlYWRlcicpIHtcbiAgICAgICAgICAgICAgdGhpcy5zY3JlZW5SZWFkZXIoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHN0eWxlQ29uZmlnICA9IGBcbiAgICA6cm9vdCB7XG4gICAgICAtLXBhZ2VkLWNvbG9yOiAke3RoaXMuX2NvbG9yfTtcbiAgICB9XG4gICAgaDE6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgaDI6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgaDM6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgaDQ6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgaDU6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgaDY6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgcDpub3QoW2lzTm9uVGV4dD1cIjFcIl0pLCBhOm5vdChbaXNOb25UZXh0PVwiMVwiXSksIGxpOm5vdChbaXNOb25UZXh0PVwiMVwiXSksIG1hcms6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgaW5zOm5vdChbaXNOb25UZXh0PVwiMVwiXSksIGRlbDpub3QoW2lzTm9uVGV4dD1cIjFcIl0pLCBzdXA6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgc3ViOm5vdChbaXNOb25UZXh0PVwiMVwiXSksIHNtYWxsOm5vdChbaXNOb25UZXh0PVwiMVwiXSksIGk6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgYjpub3QoW2lzTm9uVGV4dD1cIjFcIl0pLCBjb2RlOm5vdChbaXNOb25UZXh0PVwiMVwiXSksIHByZTpub3QoW2lzTm9uVGV4dD1cIjFcIl0pLCBsYWJlbDpub3QoW2lzTm9uVGV4dD1cIjFcIl0pLCBpbnB1dDpub3QoW2lzTm9uVGV4dD1cIjFcIl0pLCB0ZXh0YXJlYTpub3QoW2lzTm9uVGV4dD1cIjFcIl0pLCBidXR0b246bm90KFtpc05vblRleHQ9XCIxXCJdKSwgc3Bhbjpub3QoW2lzTm9uVGV4dD1cIjFcIl0pLCBzZWxlY3Q6bm90KFtpc05vblRleHQ9XCIxXCJdKSwgdGQ6bm90KFtpc05vblRleHQ9XCIxXCJdKSB7XG4gICAgICAke09iamVjdC5rZXlzKHRoaXMuX21vZGVsKS5maWx0ZXIoc3R5bGVLZXkgPT4ge1xuICAgICAgICBjb25zdCBjZmcgPSBzZXR0aW5ncy5maW5kKHMgPT4gcy5pZCA9PT0gc3R5bGVLZXkpO1xuICAgICAgICByZXR1cm4gY2ZnICYmIGNmZy5hcHBseSA9PT0gJ3RleHQnO1xuICAgICAgfSkubWFwKHN0eWxlS2V5ID0+IHtcbiAgICAgICAgY29uc3QgY2ZnID0gc2V0dGluZ3MuZmluZChzID0+IHMuaWQgPT09IHN0eWxlS2V5KTtcbiAgICAgICAgXG4gICAgICAgIHN3aXRjaCAoY2ZnLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdpbmNyZW1lbnQnOlxuICAgICAgICAgICAgaWYgKGNmZy51bml0ICYmIGNmZy51bml0ID09PSAncHgnKSB7XG4gICAgICAgICAgICAgICAgUHJvbWlzZS5hbGwoW10uY29uY2F0KC4uLnRleHROb2Rlcy5tYXAoYXN5bmMgc2VsZWN0b3IgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIFsuLi50aGlzLnFzYShkb2N1bWVudCwgc2VsZWN0b3IpLCAuLi4oYXdhaXQgdGhpcy5hY2NvdW50U2VsZWN0b3Ioc2VsZWN0b3IpKV07XG4gICAgICAgICAgICAgICAgfSkpKS50aGVuKHRleHRzID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGFsbFRleHRzID0gdGV4dHMuZmxhdChJbmZpbml0eSk7XG4gICAgICAgICAgICAgICAgICBhbGxUZXh0cy5mb3JFYWNoKHRleHRFbGVtID0+IHtcblxuICAgICAgICAgICAgICAgICAgLy8gRmxhZyBub24tdGV4dFxuICAgICAgICAgICAgICAgICAgaWYgKHRleHRFbGVtLnRleHRDb250ZW50ID09ICcnKXtcbiAgICAgICAgICAgICAgICAgICAgdGV4dEVsZW0uc2V0QXR0cmlidXRlKGBpc05vblRleHRgLCAnMScgfHwgMClcbiAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgIGxldCBjdXJyZW50VmFsdWUgPSBOdW1iZXIod2luZG93LmdldENvbXB1dGVkU3R5bGUodGV4dEVsZW0pW2NmZy5pZF0uc3BsaXQoJ3B4JylbMF0gfHwgMCk7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFzZVB4ID0gdGV4dEVsZW0uZ2V0QXR0cmlidXRlKGBiYXNlUHgke3N0eWxlS2V5fWApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWJhc2VQeCkge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIERFTklaXG4gICAgICAgICAgICAgICAgICAgICAgaWYodGV4dEVsZW0uY2xhc3NMaXN0LmNvbnRhaW5zKCdhcy1saW5rJykpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihzdHlsZUtleSA9PT0gJ2ZvbnRTaXplJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VmFsdWUgPSBOdW1iZXIodGV4dEVsZW0uZmlyc3RFbGVtZW50Q2hpbGQuc3R5bGUuZm9udFNpemUuc3BsaXQoJ3B4JylbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIGlmKHRleHRFbGVtLmNsYXNzTGlzdC5jb250YWlucygnbmF2LWxpbmsnKSl7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZihzdHlsZUtleSA9PT0gJ2xpbmVIZWlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IE51bWJlcihnZXRDb21wdXRlZFN0eWxlKHRleHRFbGVtLnBhcmVudEVsZW1lbnQpLmxpbmVIZWlnaHQuc3BsaXQoJ3B4JylbMF0pOyAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgLy8gZml4IHRhYmxlcHJlc3MgaXNzdWVcblxuICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXh0RWxlbS50ZXh0Q29udGVudCAhPSAnJyAmJiBjdXJyZW50VmFsdWUgPT0gMCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZihzdHlsZUtleSA9PT0gJ2xpbmVIZWlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IG51bGw7ICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHN0eWxlS2V5ID09PSAnZm9udFNpemUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiU3RhcnRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0ZXh0RWxlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0ZXh0RWxlbS5jbG9zZXN0KFwiLnRhYmxlcHJlc3NcIikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJFbmRcIik7XG5cbiAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAvLyBpZih0ZXh0RWxlbS5jbG9zZXN0KFwiLnRhYmxlcHJlc3NcIikgIT0gbnVsbCl7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gICBjb25zb2xlLmxvZyh0ZXh0RWxlbSlcbiAgICAgICAgICAgICAgICAgICAgICAvLyAgIGN1cnJlbnRWYWx1ZSA9ICBOdW1iZXIoZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0RWxlbS5jbG9zZXN0KFwiLnRhYmxlcHJlc3NcIikpW2NmZy5pZF0uc3BsaXQoJ3B4JylbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgIC8vICAgY29uc29sZS5sb2coY3VycmVudFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgICAgICAgICAgIHRleHRFbGVtLnNldEF0dHJpYnV0ZShgYmFzZVB4JHtzdHlsZUtleX1gLCBjdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxldCBwcmV2aW91c1N0eWxlcyA9IHRleHRFbGVtLmdldEF0dHJpYnV0ZSgnc3R5bGUnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3U3R5bGUgPSBgOyR7dG9Dc3NQcm9wKHN0eWxlS2V5KX06ICR7TnVtYmVyKHRleHRFbGVtLmdldEF0dHJpYnV0ZShgYmFzZVB4JHtzdHlsZUtleX1gKSkgKyB0aGlzLl9tb2RlbFtzdHlsZUtleV19cHhgO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNTdHlsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXBsYWNlciA9IG5ldyBSZWdFeHAoYFxcXFxzPyR7dG9Dc3NQcm9wKHN0eWxlS2V5KX06XFxcXHM/LitweDs/YCwgJ2dtJyk7XG4gICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNTdHlsZXMgPSBwcmV2aW91c1N0eWxlcy5yZXBsYWNlKHJlcGxhY2VyLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGV4dEVsZW0uc2V0QXR0cmlidXRlKCdzdHlsZScsIHByZXZpb3VzU3R5bGVzID8gYCR7cHJldmlvdXNTdHlsZXN9JHtuZXdTdHlsZX1gIDogbmV3U3R5bGUpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zdCBiYXNlRW0gPSBjZmcgJiYgY2ZnLmJhc2UgPyBjZmcuYmFzZSA6IDA7XG4gICAgICAgICAgICAgIGNvbnN0IGFkZEVtID0gKHRoaXMuX21vZGVsW3N0eWxlS2V5XSAqIChjZmcgJiYgY2ZnLmluY3JlbWVudCA/IGNmZy5pbmNyZW1lbnQgOiAwLjEpKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGAke3RvQ3NzUHJvcChzdHlsZUtleSl9OiAke2Jhc2VFbSArIGFkZEVtfXJlbSAhaW1wb3J0YW50YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgICAgICAgc3dpdGNoIChjZmcuaWQpIHtcbiAgICAgICAgICAgICAgY2FzZSAnZm9udEZhbWlseSc6XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSB0aGlzLl9tb2RlbFtzdHlsZUtleV0gIT09IGNmZy5kZWZhdWx0XG4gICAgICAgICAgICAgICAgICA/IEpTT04ucGFyc2UodGhpcy5fbW9kZWxbc3R5bGVLZXldKVxuICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJzZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgICAgICAgICAgICAgIHRhZzogJ2xpbmsnLFxuICAgICAgICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgICAgICBocmVmOiBwYXJzZWRWYWx1ZS51cmwsXG4gICAgICAgICAgICAgICAgICAgIHJlbDogJ3N0eWxlc2hlZXQnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGFwcGVuZFRvOiBkb2N1bWVudC5oZWFkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWRWYWx1ZS5jc3M7XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pLmZpbHRlcihzdHlsZSA9PiBzdHlsZSAmJiBzdHlsZS5sZW5ndGgpLmpvaW4oJzsnKX1cbiAgICB9YDtcblxuICAgIE9iamVjdC5rZXlzKHRoaXMuX21vZGVsKS5maWx0ZXIoc3R5bGVLZXkgPT4ge1xuICAgICAgY29uc3QgY2ZnID0gWy4uLnNldHRpbmdzLCAuLi5wZXJzb25hc10uZmluZChzID0+IHMuaWQgPT09IHN0eWxlS2V5KTtcbiAgICAgIHJldHVybiBjZmcgJiYgY2ZnLmFwcGx5ICE9PSAndGV4dCc7XG4gICAgfSkuZm9yRWFjaChzdHlsZUtleSA9PiB7XG4gICAgICBjb25zdCBjZmcgPSBbLi4uc2V0dGluZ3MsIC4uLnBlcnNvbmFzXS5maW5kKHMgPT4gcy5pZCA9PT0gc3R5bGVLZXkpO1xuICAgICAgc3dpdGNoIChjZmcudHlwZSkge1xuICAgICAgICBjYXNlICdzd2l0Y2gnOlxuICAgICAgICAgIGlmICh0aGlzLl9tb2RlbFtzdHlsZUtleV0pIHtcbiAgICAgICAgICAgIHN0eWxlQ29uZmlnICs9IHRoaXNbc3R5bGVLZXldKHRoaXMuX21vZGVsW3N0eWxlS2V5XSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChzdHlsZUtleSA9PT0gJ2FkaHMnKSB7XG4gICAgICAgICAgICAgIHRoaXMuYWRocyhmYWxzZSk7XG4gICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9tb2RlbC5hZGhzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0eWxlS2V5ID09PSAnbG93VmlzaW9uJykge1xuICAgICAgICAgICAgICB0aGlzLmxvd1Zpc2lvbihmYWxzZSk7XG4gICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9tb2RlbC5sb3dWaXNpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3R5bGVLZXkgPT09ICdkeXNsZXhpYScpIHtcbiAgICAgICAgICAgICAgdGhpcy5keXNsZXhpYShmYWxzZSk7XG4gICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9tb2RlbC5keXNsZXhpYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdHlsZUtleSA9PT0gJ2NvbnRyYXN0Jykge1xuICAgICAgICAgICAgICB0aGlzLmNvbnRyYXN0KHRoaXMuX21vZGVsW3N0eWxlS2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3R5bGVLZXkgPT09ICdyZWFkaW5nTWFzaycpIHtcbiAgICAgICAgICAgICAgdGhpcy5yZWFkaW5nTWFzayhmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc3R5bGVLZXkgPT09ICdtb25vY2hyb21lJykge1xuICAgICAgICAgICAgICB0aGlzLm1vbm9jaHJvbWUoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0eWxlS2V5ID09PSAnc2NyZWVuUmVhZGVyJykge1xuICAgICAgICAgICAgICB0aGlzLnNjcmVlblJlYWRlcihmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3Qgd2lkZ2V0U3R5bGUgPSBkb20uc2VsZWN0RWxlbWVudCgnc3R5bGVbY2xhc3M9XCJfX3BhZ2VkLXdpZGdldC1zdHlsZVwiXScsIHRoaXMuX3Jvb3RTaGFkb3cpO1xuXG4gICAgaWYgKCF3aWRnZXRTdHlsZSkge1xuICAgICAgZG9tLmNyZWF0ZUVsZW1lbnQoe1xuICAgICAgICB0YWc6ICdzdHlsZScsXG4gICAgICAgIGlubmVySFRNTDogdGhpcy5fbWluaWZ5U3R5bGVzKHN0eWxlQ29uZmlnKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIGNsYXNzOiAnX19wYWdlZC13aWRnZXQtc3R5bGUnLFxuICAgICAgICB9LFxuICAgICAgICBhcHBlbmRUbzogdGhpcy5fcm9vdFNoYWRvdyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aWRnZXRTdHlsZS5pbm5lckhUTUwgPSB0aGlzLl9taW5pZnlTdHlsZXMoc3R5bGVDb25maWcpO1xuICAgIH1cblxuICAgIGlmKHRoaXMuX3JlYWRlcikge1xuICAgICAgY29uc3QgcmVhZGVyX3Jvb3QgPSB0aGlzLl9yZWFkZXIuX3Jvb3RTaGFkb3c7XG4gICAgICBpZihyZWFkZXJfcm9vdCkge1xuICAgICAgICBjb25zdCBzdHlsZSA9IHJlYWRlcl9yb290LnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlJyk7XG4gICAgICAgIGlmICghc3R5bGUuZ2V0QXR0cmlidXRlKCdwcmUnKSkge1xuICAgICAgICAgIHN0eWxlLnNldEF0dHJpYnV0ZSgncHJlJywgc3R5bGUuaW5uZXJIVE1MKTtcbiAgICAgICAgfVxuICAgICAgICBzdHlsZS5pbm5lckhUTUwgPSBzdHlsZS5nZXRBdHRyaWJ1dGUoJ3ByZScpICsgc3R5bGVDb25maWc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fcmVhZGVyLl9yZWFkZXJJbnB1dHMuZm9yRWFjaChyZWFkZXJJbnB1dCA9PiB7XG4gICAgICBpZih0aGlzLl9pbnB1dHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLl9pbnB1dHMucHVzaChyZWFkZXJJbnB1dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9pbnB1dHMpKSB7XG4gICAgICAodGhpcy5faW5wdXRzIHx8IFtdKS5mb3JFYWNoKGlucHV0ID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRfcm9vdCA9IGlucHV0Ll9yb290U2hhZG93O1xuICAgICAgICBpZiAoaW5wdXRfcm9vdCkge1xuICAgICAgICAgIGNvbnN0IHN0eWxlID0gaW5wdXRfcm9vdC5xdWVyeVNlbGVjdG9yKCdzdHlsZScpO1xuICAgICAgICAgIGlmICghc3R5bGUuZ2V0QXR0cmlidXRlKCdwcmUnKSkge1xuICAgICAgICAgICAgc3R5bGUuc2V0QXR0cmlidXRlKCdwcmUnLCBzdHlsZS5pbm5lckhUTUwpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdHlsZS5pbm5lckhUTUwgPSBzdHlsZS5nZXRBdHRyaWJ1dGUoJ3ByZScpICsgc3R5bGVDb25maWc7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjaGVja19hY2NvdW50X3JlYWR5ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5faW5wdXRzLl9yb290U2hhZG93KSB7XG4gICAgICAgICAgdGhpcy5faW5wdXRzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlJykuaW5uZXJIVE1MICs9IHN0eWxlQ29uZmlnO1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tfYWNjb3VudF9yZWFkeSk7XG4gICAgICAgIH1cbiAgICAgIH0sIDEpO1xuICAgIH1cblxuICAgIGNvbnN0IGV4aXN0c1N0eWxlID0gZG9jdW1lbnQuaGVhZC5xdWVyeVNlbGVjdG9yKCcuX19wYWdlZC1nbG9iYWwtc3R5bGUnKTtcbiAgICBpZiAoZXhpc3RzU3R5bGUpIHtcbiAgICAgIGV4aXN0c1N0eWxlLnJlbW92ZSgpO1xuICAgIH1cbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdzdHlsZScsXG4gICAgICBpbm5lckhUTUw6IHRoaXMuX21pbmlmeVN0eWxlcyhzdHlsZUNvbmZpZyksXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIGNsYXNzOiAnX19wYWdlZC1nbG9iYWwtc3R5bGUnLFxuICAgICAgfSxcbiAgICAgIGFwcGVuZFRvOiBkb2N1bWVudC5oZWFkLFxuICAgIH0pO1xuICB9XG5cbiAgX3JldmVydCgpIHtcbiAgICB0aGlzLl9tb2RlbCA9IHRoaXMuZGVmYXVsdE1vZGVsO1xuICAgIGlmICh0aGlzLl9zdG9yZS5nZXQoJ3VzZXJfc2V0dGluZ3MnKSkge1xuICAgICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLl9zdG9yZS5nZXQoJ3VzZXJfc2V0dGluZ3MnKTtcbiAgICAgIHRoaXMuX21vZGVsID0gdHlwZW9mIHNldHRpbmdzID09PSAnc3RyaW5nJyA/IEpTT04ucGFyc2Uoc2V0dGluZ3MpIDogKHNldHRpbmdzIHx8IHt9KTtcbiAgICB9XG4gICAgdGhpcy5fc3RvcmUuc2V0KCdjb25maWcnLCB0aGlzLl9tb2RlbCk7XG4gICAgY29uc3QgZ2xvYmFsU3R5bGVzID0gZG9tLnNlbGVjdEVsZW1lbnRzKCcuX19wYWdlZC1nbG9iYWwtc3R5bGUnLCBkb2N1bWVudC5oZWFkKTtcbiAgICBnbG9iYWxTdHlsZXMuZm9yRWFjaChjaGlsZCA9PiBkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGNoaWxkKSk7XG4gICAgaWYgKHRoaXMuX2lucHV0cyBpbnN0YW5jZW9mIEFjY291bnQgPT09IGZhbHNlKSB7XG4gICAgICAodGhpcy5faW5wdXRzIHx8IFtdKS5mb3JFYWNoKGlucHV0ID0+IHtcbiAgICAgICAgaW5wdXQudmFsdWUgPSB0aGlzLl9tb2RlbFtpbnB1dC5fa2V5XTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLl9hcHBseVN0eWxlcygpO1xuICAgIHRoaXMuX3JlYWRlciA9IG5ldyBSZWFkZXIoKTtcbiAgfVxuXG4gIF9jaGFuZ2VMYW5ndWFnZShldmVudCkge1xuICAgIGNvbnN0IHRhYnMgPSBBcnJheS5mcm9tKHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvckFsbCgnW2RhdGFJZF0nKSk7XG4gICAgY29uc3QgYWN0aXZlVGFiID0gdGFicy5maW5kKHQgPT4gQXJyYXkuZnJvbSh0LmNsYXNzTGlzdCkuaW5jbHVkZXMoJ2FjdGl2ZScpKS5nZXRBdHRyaWJ1dGUoJ2RhdGFpZCcpO1xuICAgIGNvbnN0IHNlbGVjdCA9IHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignLl9fcGFnZWRfbGFuZ3VhZ2VfY2hhbmdlcicpO1xuICAgIC8vdGhpcy5fcmVhZGVyLmxhbmd1YWdlID0gc2VsZWN0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5fdHJhbnNsYXRpb24uc2V0X2xhbmd1YWdlKHNlbGVjdC52YWx1ZSk7XG4gICAgdGhpcy5fcmVhZGVyLmxhbmd1YWdlID0gc2VsZWN0LnZhbHVlO1xuICAgIHRoaXMuX3JlYWRlci5fdHJhbnNsYXRpb24gPSB0aGlzLl90cmFuc2xhdGlvbjtcbiAgICB0aGlzLl9zZXRUYWIoYWN0aXZlVGFiKTtcbiAgICB0YWJzLmZvckVhY2godGFiID0+IHtcbiAgICAgIHRhYi5pbm5lckhUTUwgPSB0aGlzLl90cmFuc2xhdGlvbi5nZXQodGFiLmdldEF0dHJpYnV0ZSgnZGF0YWlkJykpO1xuICAgIH0pXG4gIH1cblxuICBfaXNNb2JpbGUoKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhKCcobWF4LXdpZHRoOiA3NjdweCknKS5tYXRjaGVzO1xuICB9XG5cbiAgX2Nsb3NlKCkge1xuICAgIGlmICh0aGlzLl90b2dnbGUpIHtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5fdG9nZ2xlLm9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBfc2V0VGFiKHRhYikge1xuICAgIGNvbnN0IHRhYnMgPSBBcnJheS5mcm9tKHRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvckFsbCgnW2RhdGFJZF0nKSk7XG5cbiAgICB0YWJzLmZvckVhY2godCA9PiB7XG4gICAgICBpZiAoWydpbmRpdmlkdWFsJywgJ3BlcnNvbmFzJ10uaW5jbHVkZXModC5nZXRBdHRyaWJ1dGUoJ2RhdGFJZCcpKSkge1xuICAgICAgICBpZiAodGFiID09PSAnYWNjb3VudCcpIHtcbiAgICAgICAgICB0LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAnZGlzcGxheTogbm9uZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHQuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBibG9jaycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0YWJzLmZvckVhY2godCA9PiB7XG4gICAgICBpZiAodC5nZXRBdHRyaWJ1dGUoJ2RhdGFJZCcpID09PSB0YWIpIHtcbiAgICAgICAgdC5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHQuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJyk7XG4gICAgICB9XG4gICAgICBpZiAodGFiID09PSAnc2V0dGluZ3MnICYmIHQuZ2V0QXR0cmlidXRlKCdkYXRhSWQnKSA9PT0gJ2luZGl2aWR1YWwnKSB7XG4gICAgICAgIHQuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7XG4gICAgICB9XG4gICAgICBpZiAodGFiID09PSAncGVyc29uYXMnICYmIHQuZ2V0QXR0cmlidXRlKCdkYXRhSWQnKSA9PT0gJ3NldHRpbmdzJykge1xuICAgICAgICB0LmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5faW5wdXRzID0gW107XG5cbiAgICBjb25zdCBjb250ZW50ID0gQXJyYXkuZnJvbSh0aGlzLl9yb290U2hhZG93LmNoaWxkTm9kZXMpLmZpbHRlcihjaGlsZCA9PiB7XG4gICAgICByZXR1cm4gY2hpbGQudGFnTmFtZSA9PT0gJ0RJVicgJiZcbiAgICAgICAgIUFycmF5LmZyb20oY2hpbGQuY2xhc3NMaXN0KS5pbmNsdWRlcygnaGVhZGVyJykgJiZcbiAgICAgICAgIUFycmF5LmZyb20oY2hpbGQuY2xhc3NMaXN0KS5pbmNsdWRlcygndGFicycpXG4gICAgfSk7XG5cbiAgICBjb250ZW50LmZvckVhY2gobm9kZSA9PiBub2RlLnJlbW92ZSgpKTtcblxuXG5cbiAgICBzd2l0Y2ggKHRhYikge1xuICAgICAgY2FzZSAnc2V0dGluZ3MnOlxuICAgICAgICB0aGlzLl9pbnB1dHMgPSBzZXR0aW5ncy5tYXAoc2V0dGluZyA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBJbnB1dCh7XG4gICAgICAgICAgICBrZXk6IHNldHRpbmcuaWQsXG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX3Jvb3RTaGFkb3csXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5fbW9kZWxbc2V0dGluZy5pZF0sXG4gICAgICAgICAgICBsYWJlbDogdGhpcy5fdHJhbnNsYXRpb24uZ2V0KHNldHRpbmcuaWQpLFxuICAgICAgICAgICAgdHlwZTogc2V0dGluZy50eXBlLFxuICAgICAgICAgICAgb3B0aW9uczogc2V0dGluZy5vcHRpb25zID8gc2V0dGluZy5vcHRpb25zLm1hcChvcHQgPT4gKHtcbiAgICAgICAgICAgICAgLi4ub3B0LFxuICAgICAgICAgICAgICBsYWJlbDogb3B0LmxhYmVsID09PSAnLS0gU2VsZWN0IC0tJyA/IHRoaXMuX3RyYW5zbGF0aW9uLmdldCgnc2VsZWN0X3BsYWNlaG9sZGVyJykgOiBvcHQubGFiZWxcbiAgICAgICAgICAgIH0pKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHdpZGdldDogdGhpcyxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fbW9kZWwsIHtcbiAgICAgICAgICAgICAgICBbc2V0dGluZy5pZF06IHZhbHVlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGhpcy5fc3RvcmUuc2V0KCdjb25maWcnLCBPYmplY3Qua2V5cyh0aGlzLl9tb2RlbClcbiAgICAgICAgICAgICAgLmZpbHRlcihrZXkgPT4gIXBlcnNvbmFzLm1hcChwID0+IHAuaWQpLmluY2x1ZGVzKGtleSkpXG4gICAgICAgICAgICAgIC5yZWR1Y2UoKG1vZCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgbW9kW2tleV0gPSB0aGlzLl9tb2RlbFtrZXldO1xuICAgICAgICAgICAgICAgIHJldHVybiBtb2Q7XG4gICAgICAgICAgICAgIH0sIHt9KSk7XG4gICAgICAgICAgICAgIHRoaXMuX2FwcGx5U3R5bGVzKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fYXBwbHlTdHlsZXMoKTtcbiAgICAgICAgdGhpcy5fYWRkUmVzaXplSGFuZGxlcigpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2FjY291bnQnOlxuICAgICAgICB0aGlzLl9pbnB1dHMgPSBuZXcgQWNjb3VudCh7XG4gICAgICAgICAgcGFyZW50OiB0aGlzLl9yb290U2hhZG93LFxuICAgICAgICAgIHN0b3JlOiB0aGlzLl9zdG9yZSxcbiAgICAgICAgICB0cmFuc2xhdGlvbjogdGhpcy5fdHJhbnNsYXRpb24sXG4gICAgICAgICAgb25Vc2VyTG9naW46ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3JldmVydCgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgb25BY2NvdW50Vmlld0NoYW5nZTogKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuX2FwcGx5U3R5bGVzKClcbiAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2FwcGx5U3R5bGVzKCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2FkZFJlc2l6ZUhhbmRsZXIoKTtcbiAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdwZXJzb25hcyc6XG4gICAgICAgIHRoaXMuX2lucHV0cyA9IHBlcnNvbmFzLm1hcChwZXJzb25hID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IElucHV0KHtcbiAgICAgICAgICAgIGtleTogcGVyc29uYS5pZCxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5fcm9vdFNoYWRvdyxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLl9tb2RlbFtwZXJzb25hLmlkXSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGlvbi5nZXQocGVyc29uYS5pZCksXG4gICAgICAgICAgICB0eXBlOiBwZXJzb25hLnR5cGUsXG4gICAgICAgICAgICBvbkNoYW5nZTogdmFsdWUgPT4ge1xuICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX21vZGVsLCB7XG4gICAgICAgICAgICAgICAgW3BlcnNvbmEuaWRdOiB2YWx1ZSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIHRoaXMuX3N0b3JlLnNldCgnY29uZmlnJywgdGhpcy5fbW9kZWwpO1xuICAgICAgICAgICAgICAvL3RoaXMuX3NldFRhYignc2V0dGluZ3MnKTtcbiAgICAgICAgICAgICAgdGhpcy5fYXBwbHlTdHlsZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2FwcGx5U3R5bGVzKCk7XG4gICAgICAgIHRoaXMuX2FkZFJlc2l6ZUhhbmRsZXIoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsic3R5bGUiLCJkb20iLCJlbnYiLCJpY29ucyIsIklucHV0IiwiQWNjb3VudCIsIlJlYWRlciIsInNldHRpbmdzIiwicGVyc29uYXMiLCJnZXRJbmhlcml0ZWRCYWNrZ3JvdW5kQ29sb3IiLCJlbCIsImRlZmF1bHRTdHlsZSIsImdldERlZmF1bHRCYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENvbG9yIiwid2luZG93IiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInBhcmVudEVsZW1lbnQiLCJkaXYiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJoZWFkIiwiYXBwZW5kQ2hpbGQiLCJiZyIsInJlbW92ZUNoaWxkIiwidGV4dE5vZGVzIiwiT3ZlcmxheSIsIl9yb290IiwiX3Jvb3RTaGFkb3ciLCJfdG9nZ2xlIiwiX29wZW4iLCJfYWNjb3VudCIsIl9wb3NpdGlvbiIsIl9jb2xvciIsIl9tb2RlbCIsIl9zdG9yZSIsIl9pbnB1dHMiLCJfcmVhZGVySW5wdXRzIiwiX29sZFJlZiIsIl90cmFuc2xhdGlvbiIsIl9tYXNrIiwiX3JlYWRlciIsIl9mb250RmFtaWx5UmVmZXJlbmNlIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwidG9nZ2xlIiwidW5kZWZpbmVkIiwibWFzayIsInJlYWRlciIsIk9iamVjdCIsImtleXMiLCJtb2RlbCIsImxlbmd0aCIsImRlZmF1bHRNb2RlbCIsInBvc2l0aW9uIiwiY29sb3IiLCJpbmNsdWRlcyIsImFjY291bnQiLCJzdG9yZSIsInRyYW5zbGF0aW9uIiwiX19pbml0X18iLCJvcGVuIiwidmFsdWUiLCJjbGFzc0xpc3QiLCJhZGQiLCJyZW1vdmUiLCJ3aWRnZXRXaWR0aCIsIndpZHRoIiwic2xpY2UiLCJ3aWR0aFdpdGhTY3JvbGxiYXIiLCJwYXJzZUludCIsIm9mZnNldFdpZHRoIiwiY2xpZW50V2lkdGgiLCJsZWZ0IiwicmlnaHQiLCJyZWR1Y2UiLCJtIiwiY2ZnIiwiZGVmYXVsdCIsImlkIiwiX2hlYWRlciIsInRhZyIsImF0dHJpYnV0ZXMiLCJjbGFzcyIsImNoaWxkcmVuIiwiaW5uZXJIVE1MIiwicmV2ZXJ0IiwiZXZlbnRzIiwiY2xpY2siLCJfcmV2ZXJ0IiwiYmluZCIsIl9sYW5ndWFnZSIsImNoYW5nZSIsIl9jaGFuZ2VMYW5ndWFnZSIsImhyZWYiLCJ0YXJnZXQiLCJsb2dvQmxhY2siLCJjYW5jZWwiLCJfY2xvc2UiLCJfdGFicyIsImdldCIsImRhdGFJZCIsIl9zZXRUYWIiLCJjb25jYXQiLCJoaWRlUGljdHVyZXMiLCJhY3RpdmUiLCJkaXZzIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJiYWNrZ3JvdW5kIiwiYmdJbWciLCJiYWNrZ3JvdW5kSW1hZ2UiLCJwcmV2aW91c1N0eWxlcyIsImdldEF0dHJpYnV0ZSIsImlzSW1nVXJsIiwic3RyIiwiUmVnRXhwIiwidGVzdCIsInNldEF0dHJpYnV0ZSIsImltZ3MiLCJpbWciLCJwYXJlbnROb2RlIiwiY2xvc2VzdCIsImZvcm1hdHRlZFN0eWxlcyIsInJlcGxhY2UiLCJyZWFkaW5nTWFzayIsImVuYWJsZWQiLCJtb25vY2hyb21lIiwicGFya2luc29uIiwiYnV0dG9uIiwicGFkZGluZyIsImFkaHMiLCJfaXNNb2JpbGUiLCJsb3dWaXNpb24iLCJmb250U2l6ZSIsImN1cnJlbnRPcHRpb24iLCJmaWx0ZXIiLCJvcHRpb24iLCJmb250RmFtaWx5IiwiZHlzbGV4aWEiLCJzY3JlZW5SZWFkZXIiLCJjb250cmFzdCIsInJncyIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZFJlcGVhdCIsImJnQ29sb3IiLCJzZXRQcm9wZXJ0eSIsInJlbW92ZVByb3BlcnR5IiwidGV4dHMiLCJtYXAiLCJzZWxlY3RvciIsInRleHROb2RlIiwiZ2xvYmFsU3R5bGVzIiwiaXNGaXJlZm94IiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwiY29sb3JBbmFseXplciIsInIiLCJnIiwiYiIsImhzcCIsIm1hdGNoIiwiTWF0aCIsInNxcnQiLCJhcHBlbmRUbyIsImJvZHkiLCJjbGFzc2VzIiwib3ZlcmxheSIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJzZXQiLCJfYXBwbHlTdHlsZXMiLCJmbiIsIm9icyIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJvYnNlcnZlIiwicXVlcnlTZWxlY3RvciIsImNoaWxkTGlzdCIsInN1YnRyZWUiLCJzZXRUaW1lb3V0Iiwib3BhY2l0eSIsImJveFNpemluZyIsImxhc3RMb2NhdGlvbiIsInNldEludGVydmFsIiwibG9jYXRpb24iLCJfaXNFbmFibGVkIiwiX29uU3RvcCIsImlzQXV0b1BsYXkiLCJmb250RmFtaWx5SW5wdXQiLCJlbGVtZW50IiwibGFiZWxLZXkiLCJzaGFkb3dSb290IiwiX2FkZFJlc2l6ZUhhbmRsZXIiLCJ4IiwieSIsImR4IiwiZHkiLCJOdW1iZXIiLCJzcGxpdCIsImhlaWdodCIsInJlc2l6ZSIsImV2ZW50Iiwic2NyZWVuWCIsInNjcmVlblkiLCJib3VuZCIsImhhbmRsZXIiLCJtb3VzZWRvd24iLCJwcmV2ZW50RGVmYXVsdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib3ZlcmxheU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJlbnRyaWVzIiwiX21pbmlmeVN0eWxlcyIsInN0eWxlcyIsInFzYSIsIm5vZGUiLCJub2RlcyIsIm5vZGVJdGVyYXRvciIsImNyZWF0ZU5vZGVJdGVyYXRvciIsIk5vZGUiLCJFTEVNRU5UX05PREUiLCJjdXJyZW50Tm9kZSIsIm5leHROb2RlIiwicHVzaCIsImFjY291bnRTZWxlY3RvciIsIlByb21pc2UiLCJ0b0Nzc1Byb3AiLCJsZXR0ZXIiLCJ0b0xvd2VyQ2FzZSIsInNlbGVjdEVsZW1lbnRzIiwiY2hpbGQiLCJzdHlsZUNvbmZpZyIsInN0eWxlS2V5IiwiZmluZCIsInMiLCJhcHBseSIsInR5cGUiLCJ1bml0IiwiYWxsIiwidGhlbiIsImFsbFRleHRzIiwiZmxhdCIsIkluZmluaXR5IiwidGV4dEVsZW0iLCJ0ZXh0Q29udGVudCIsImN1cnJlbnRWYWx1ZSIsImJhc2VQeCIsImNvbnRhaW5zIiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJsaW5lSGVpZ2h0IiwiY29uc29sZSIsImxvZyIsIm5ld1N0eWxlIiwicmVwbGFjZXIiLCJiYXNlRW0iLCJiYXNlIiwiYWRkRW0iLCJpbmNyZW1lbnQiLCJwYXJzZWRWYWx1ZSIsIkpTT04iLCJwYXJzZSIsInVybCIsInJlbCIsImNzcyIsImpvaW4iLCJ3aWRnZXRTdHlsZSIsInNlbGVjdEVsZW1lbnQiLCJyZWFkZXJfcm9vdCIsInJlYWRlcklucHV0IiwiaXNBcnJheSIsImlucHV0IiwiaW5wdXRfcm9vdCIsImNoZWNrX2FjY291bnRfcmVhZHkiLCJjbGVhckludGVydmFsIiwiZXhpc3RzU3R5bGUiLCJfa2V5IiwidGFicyIsImFjdGl2ZVRhYiIsInQiLCJzZWxlY3QiLCJzZXRfbGFuZ3VhZ2UiLCJsYW5ndWFnZSIsInRhYiIsIm1hdGNoTWVkaWEiLCJtYXRjaGVzIiwiY29udGVudCIsImNoaWxkTm9kZXMiLCJ0YWdOYW1lIiwic2V0dGluZyIsImtleSIsInBhcmVudCIsImxhYmVsIiwib3B0Iiwid2lkZ2V0Iiwib25DaGFuZ2UiLCJhc3NpZ24iLCJwIiwibW9kIiwib25Vc2VyTG9naW4iLCJvbkFjY291bnRWaWV3Q2hhbmdlIiwicGVyc29uYSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/overlay/index.js\n");
/***/ }),
/***/ "./src/components/overlay/personas.js":
/*!********************************************!*\
!*** ./src/components/overlay/personas.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 */ });\nconst personas = [{\n id: 'adhs',\n type: 'switch',\n apply: undefined,\n settings: {},\n default: false\n}, {\n id: 'parkinson',\n type: 'switch',\n apply: undefined,\n settings: {},\n default: false\n}, {\n id: 'lowVision',\n type: 'switch',\n apply: undefined,\n settings: {},\n default: false\n}, {\n id: 'dyslexia',\n type: 'switch',\n apply: undefined,\n settings: {},\n default: false\n}];\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (personas);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L3BlcnNvbmFzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQUcsQ0FDZjtFQUNFQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxJQUFJLEVBQUUsUUFBUTtFQUNmQyxLQUFLLEVBQUVDLFNBQVM7RUFDZkMsUUFBUSxFQUFFLENBQUMsQ0FBQztFQUNaQyxPQUFPLEVBQUU7QUFDWCxDQUFDLEVBQ0Q7RUFDRUwsRUFBRSxFQUFFLFdBQVc7RUFDZkMsSUFBSSxFQUFFLFFBQVE7RUFDZkMsS0FBSyxFQUFFQyxTQUFTO0VBQ2ZDLFFBQVEsRUFBRSxDQUFDLENBQUM7RUFDWkMsT0FBTyxFQUFFO0FBQ1gsQ0FBQyxFQUNEO0VBQ0VMLEVBQUUsRUFBRSxXQUFXO0VBQ2ZDLElBQUksRUFBRSxRQUFRO0VBQ2ZDLEtBQUssRUFBRUMsU0FBUztFQUNmQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0VBQ1pDLE9BQU8sRUFBRTtBQUNYLENBQUMsRUFDRDtFQUNFTCxFQUFFLEVBQUUsVUFBVTtFQUNkQyxJQUFJLEVBQUUsUUFBUTtFQUNmQyxLQUFLLEVBQUVDLFNBQVM7RUFDZkMsUUFBUSxFQUFFLENBQUMsQ0FBQztFQUNaQyxPQUFPLEVBQUU7QUFDWCxDQUFDLENBQ0Y7QUFFRCxpRUFBZU4sUUFBUSIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL3NyYy9jb21wb25lbnRzL292ZXJsYXkvcGVyc29uYXMuanM/YWVkNSJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBwZXJzb25hcyA9IFtcbiAge1xuICAgIGlkOiAnYWRocycsXG4gICAgdHlwZTogJ3N3aXRjaCcsXG5cdCAgYXBwbHk6IHVuZGVmaW5lZCxcbiAgICBzZXR0aW5nczoge30sXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHtcbiAgICBpZDogJ3BhcmtpbnNvbicsXG4gICAgdHlwZTogJ3N3aXRjaCcsXG5cdCAgYXBwbHk6IHVuZGVmaW5lZCxcbiAgICBzZXR0aW5nczoge30sXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2xvd1Zpc2lvbicsXG4gICAgdHlwZTogJ3N3aXRjaCcsXG5cdCAgYXBwbHk6IHVuZGVmaW5lZCxcbiAgICBzZXR0aW5nczoge30sXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2R5c2xleGlhJyxcbiAgICB0eXBlOiAnc3dpdGNoJyxcblx0ICBhcHBseTogdW5kZWZpbmVkLFxuICAgIHNldHRpbmdzOiB7fSxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbl07XG5cbmV4cG9ydCBkZWZhdWx0IHBlcnNvbmFzO1xuIl0sIm5hbWVzIjpbInBlcnNvbmFzIiwiaWQiLCJ0eXBlIiwiYXBwbHkiLCJ1bmRlZmluZWQiLCJzZXR0aW5ncyIsImRlZmF1bHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/overlay/personas.js\n");
/***/ }),
/***/ "./src/components/overlay/settings.js":
/*!********************************************!*\
!*** ./src/components/overlay/settings.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 */ });\nconst settings = (() => [{\n id: 'fontFamily',\n label: 'Font type',\n type: 'select',\n options: [{\n label: '-- Select --',\n value: 'default'\n }, {\n label: 'Roboto',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Roboto-${\"dev\"}.css`,\n css: `font-family: 'Roboto', sans-serif !important`\n })\n }, {\n label: 'Outfit',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Outfit-${\"dev\"}.css`,\n css: `font-family: 'Outfit', sans-serif !important`\n })\n }, {\n label: 'Open Sans',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/OpenSans-${\"dev\"}.css`,\n css: `font-family: 'Open Sans', sans-serif !important`\n })\n }, {\n label: 'Lato',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Lato-${\"dev\"}.css`,\n css: `font-family: 'Lato', sans-serif !important`\n })\n }, {\n label: 'Oswald',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Oswald-${\"dev\"}.css`,\n css: `font-family: 'Oswald', sans-serif !important`\n })\n }, {\n label: 'Playfair',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Playfair-${\"dev\"}.css`,\n css: `font-family: 'Playfair Display', serif !important`\n })\n }, {\n label: 'Ubuntu',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Ubuntu-${\"dev\"}.css`,\n css: `font-family: 'Ubuntu', sans-serif !important`\n })\n }, {\n label: 'Garamond',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Garamond-${\"dev\"}.css`,\n css: `font-family: 'EB Garamond', serif !important`\n })\n }, {\n label: 'Open-Dyslexic',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/OpenDyslexic-${\"dev\"}.css`,\n css: `font-family: 'OpenDyslexic', serif !important`\n })\n }, {\n label: 'Times New Roman',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/TimesNewRoman-${\"dev\"}.css`,\n css: `font-family: 'TimesNewRoman', serif !important`\n })\n }, {\n label: 'Arial',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Arial-${\"dev\"}.css`,\n css: `font-family: 'Arial', serif !important`\n })\n }, {\n label: 'Cambria',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Cambria-${\"dev\"}.css`,\n css: `font-family: 'Cambria', serif !important`\n })\n }, {\n label: 'Merriweather',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/merriweather-${\"dev\"}.css`,\n css: `font-family: 'Merriweather', serif !important`\n })\n }, {\n label: 'Inter',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Inter-${\"dev\"}.css`,\n css: `font-family: 'Inter', serif !important`\n })\n }, {\n label: 'Jost',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/Jost-${\"dev\"}.css`,\n css: `font-family: 'Jost', serif !important`\n })\n }, {\n label: 'Rokkitt',\n value: JSON.stringify({\n url: `${\"http://localhost:3000\"}/fonts/rokkitt-${\"dev\"}.css`,\n css: `font-family: 'Rokkitt', serif !important`\n })\n }],\n apply: 'text',\n default: 'default'\n}, {\n id: 'fontSize',\n label: 'Font size',\n type: 'increment',\n apply: 'text',\n unit: 'px',\n base: 0,\n increment: 1,\n default: 0\n}, {\n id: 'lineHeight',\n label: 'Line height',\n type: 'increment',\n apply: 'text',\n unit: 'px',\n base: 1,\n increment: 1,\n default: 0\n}, {\n id: 'wordSpacing',\n label: 'Word spacing',\n type: 'increment',\n apply: 'text',\n base: 0,\n increment: 0.1,\n default: 0\n}, {\n id: 'letterSpacing',\n label: 'Letter spacing',\n type: 'increment',\n apply: 'text',\n base: 0,\n increment: 0.05,\n default: 0\n}, {\n id: 'contrast',\n label: 'Contrast',\n type: 'switch',\n apply: undefined,\n default: false\n}, {\n id: 'hidePictures',\n label: 'Hide pictures',\n type: 'switch',\n apply: 'global',\n default: false\n}, {\n id: 'readingMask',\n label: 'Reading Mask',\n type: 'switch',\n apply: undefined,\n default: false,\n mobile: false\n}, {\n id: 'monochrome',\n label: 'Monochrome',\n type: 'switch',\n apply: undefined,\n default: false\n}, {\n id: 'screenReader',\n label: 'Screen Reader',\n type: 'switch',\n apply: undefined,\n default: false\n}].filter(setting => {\n const isMobile = window.matchMedia('(max-width: 767px)').matches;\n if (typeof setting.mobile === 'boolean') {\n if (!setting.mobile && isMobile) {\n return false;\n }\n return true;\n }\n return true;\n}))();\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (settings);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RSxhQUFhO0VBQ2pCQyxLQUFLLEVBQUUsY0FBYztFQUNyQkMsSUFBSSxFQUFFLFFBQVE7RUFDZlMsS0FBSyxFQUFFSyxTQUFTO0VBQ2ZKLE9BQU8sRUFBRSxLQUFLO0VBQ2RLLE1BQU0sRUFBRTtBQUNWLENBQUMsRUFDRDtFQUNFakIsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEtBQUssRUFBRSxZQUFZO0VBQ25CQyxJQUFJLEVBQUUsUUFBUTtFQUNmUyxLQUFLLEVBQUVLLFNBQVM7RUFDZkosT0FBTyxFQUFFO0FBQ1gsQ0FBQyxFQUNEO0VBQ0VaLEVBQUUsRUFBRSxjQUFjO0VBQ2xCQyxLQUFLLEVBQUUsZUFBZTtFQUN0QkMsSUFBSSxFQUFFLFFBQVE7RUFDZlMsS0FBSyxFQUFFSyxTQUFTO0VBQ2ZKLE9BQU8sRUFBRTtBQUNYLENBQUMsQ0FDRixDQUFDTSxNQUFNLENBQUNDLE9BQU8sSUFBSTtFQUNsQixNQUFNQyxRQUFRLEdBQUdDLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUNDLE9BQU87RUFDaEUsSUFBSSxPQUFPSixPQUFPLENBQUNGLE1BQU0sS0FBSyxTQUFTLEVBQUU7SUFDdkMsSUFBSSxDQUFDRSxPQUFPLENBQUNGLE1BQU0sSUFBSUcsUUFBUSxFQUFFO01BQy9CLE9BQU8sS0FBSztJQUNkO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7RUFDQSxPQUFPLElBQUk7QUFDYixDQUFDLENBQUMsRUFBRSxDQUFDO0FBRUwsaUVBQWVyQixRQUFRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvb3ZlcmxheS9zZXR0aW5ncy5qcz9kM2RkIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHNldHRpbmdzID0gKCgpID0+IFtcbiAge1xuICAgIGlkOiAnZm9udEZhbWlseScsXG4gICAgbGFiZWw6ICdGb250IHR5cGUnLFxuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHsgbGFiZWw6ICctLSBTZWxlY3QgLS0nLCB2YWx1ZTogJ2RlZmF1bHQnIH0sXG4gICAgICB7IGxhYmVsOiAnUm9ib3RvJywgdmFsdWU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgdXJsOiBgJHtQQUdFRF9FTlZfVVJMfS9mb250cy9Sb2JvdG8tJHtQQUdFRF9FTlZ9LmNzc2AsXG4gICAgICAgIGNzczogYGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50YCxcbiAgICAgIH0pIH0sXG4gICAgICB7IGxhYmVsOiAnT3V0Zml0JywgdmFsdWU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgdXJsOiBgJHtQQUdFRF9FTlZfVVJMfS9mb250cy9PdXRmaXQtJHtQQUdFRF9FTlZ9LmNzc2AsXG4gICAgICAgIGNzczogYGZvbnQtZmFtaWx5OiAnT3V0Zml0Jywgc2Fucy1zZXJpZiAhaW1wb3J0YW50YCxcbiAgICAgIH0pIH0sXG4gICAgICB7IGxhYmVsOiAnT3BlbiBTYW5zJywgdmFsdWU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgdXJsOiBgJHtQQUdFRF9FTlZfVVJMfS9mb250cy9PcGVuU2Fucy0ke1BBR0VEX0VOVn0uY3NzYCxcbiAgICAgICAgY3NzOiBgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnRgLFxuICAgICAgfSkgfSxcbiAgICAgIHsgbGFiZWw6ICdMYXRvJywgdmFsdWU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgdXJsOiBgJHtQQUdFRF9FTlZfVVJMfS9mb250cy9MYXRvLSR7UEFHRURfRU5WfS5jc3NgLFxuICAgICAgICBjc3M6IGBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmICFpbXBvcnRhbnRgLFxuICAgICAgfSkgfSxcbiAgICAgIHsgbGFiZWw6ICdPc3dhbGQnLCB2YWx1ZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICB1cmw6IGAke1BBR0VEX0VOVl9VUkx9L2ZvbnRzL09zd2FsZC0ke1BBR0VEX0VOVn0uY3NzYCxcbiAgICAgICAgY3NzOiBgZm9udC1mYW1pbHk6ICdPc3dhbGQnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnRgLFxuICAgICAgfSkgfSxcbiAgICAgIHsgbGFiZWw6ICdQbGF5ZmFpcicsIHZhbHVlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHVybDogYCR7UEFHRURfRU5WX1VSTH0vZm9udHMvUGxheWZhaXItJHtQQUdFRF9FTlZ9LmNzc2AsXG4gICAgICAgIGNzczogYGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmICFpbXBvcnRhbnRgLFxuICAgICAgfSkgfSxcbiAgICAgIHsgbGFiZWw6ICdVYnVudHUnLCB2YWx1ZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICB1cmw6IGAke1BBR0VEX0VOVl9VUkx9L2ZvbnRzL1VidW50dS0ke1BBR0VEX0VOVn0uY3NzYCxcbiAgICAgICAgY3NzOiBgZm9udC1mYW1pbHk6ICdVYnVudHUnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnRgLFxuICAgICAgfSkgfSxcbiAgICAgIHsgbGFiZWw6ICdHYXJhbW9uZCcsIHZhbHVlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHVybDogYCR7UEFHRURfRU5WX1VSTH0vZm9udHMvR2FyYW1vbmQtJHtQQUdFRF9FTlZ9LmNzc2AsXG4gICAgICAgIGNzczogYGZvbnQtZmFtaWx5OiAnRUIgR2FyYW1vbmQnLCBzZXJpZiAhaW1wb3J0YW50YCxcbiAgICAgIH0pIH0sXG4gICAgICB7IGxhYmVsOiAnT3Blbi1EeXNsZXhpYycsIHZhbHVlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHVybDogYCR7UEFHRURfRU5WX1VSTH0vZm9udHMvT3BlbkR5c2xleGljLSR7UEFHRURfRU5WfS5jc3NgLFxuICAgICAgICBjc3M6IGBmb250LWZhbWlseTogJ09wZW5EeXNsZXhpYycsIHNlcmlmICFpbXBvcnRhbnRgLFxuICAgICAgfSkgfSxcbiAgICAgIHsgbGFiZWw6ICdUaW1lcyBOZXcgUm9tYW4nLCB2YWx1ZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICB1cmw6IGAke1BBR0VEX0VOVl9VUkx9L2ZvbnRzL1RpbWVzTmV3Um9tYW4tJHtQQUdFRF9FTlZ9LmNzc2AsXG4gICAgICAgIGNzczogYGZvbnQtZmFtaWx5OiAnVGltZXNOZXdSb21hbicsIHNlcmlmICFpbXBvcnRhbnRgLFxuICAgICAgfSkgfSxcbiAgICAgIHsgbGFiZWw6ICdBcmlhbCcsIHZhbHVlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHVybDogYCR7UEFHRURfRU5WX1VSTH0vZm9udHMvQXJpYWwtJHtQQUdFRF9FTlZ9LmNzc2AsXG4gICAgICAgIGNzczogYGZvbnQtZmFtaWx5OiAnQXJpYWwnLCBzZXJpZiAhaW1wb3J0YW50YCxcbiAgICAgIH0pIH0sXG4gICAgICB7IGxhYmVsOiAnQ2FtYnJpYScsIHZhbHVlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHVybDogYCR7UEFHRURfRU5WX1VSTH0vZm9udHMvQ2FtYnJpYS0ke1BBR0VEX0VOVn0uY3NzYCxcbiAgICAgICAgY3NzOiBgZm9udC1mYW1pbHk6ICdDYW1icmlhJywgc2VyaWYgIWltcG9ydGFudGAsXG4gICAgICB9KSB9LFxuICAgICAgeyBsYWJlbDogJ01lcnJpd2VhdGhlcicsIHZhbHVlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHVybDogYCR7UEFHRURfRU5WX1VSTH0vZm9udHMvbWVycml3ZWF0aGVyLSR7UEFHRURfRU5WfS5jc3NgLFxuICAgICAgICBjc3M6IGBmb250LWZhbWlseTogJ01lcnJpd2VhdGhlcicsIHNlcmlmICFpbXBvcnRhbnRgLFxuICAgICAgfSkgfSxcbiAgICAgIHsgbGFiZWw6ICdJbnRlcicsIHZhbHVlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHVybDogYCR7UEFHRURfRU5WX1VSTH0vZm9udHMvSW50ZXItJHtQQUdFRF9FTlZ9LmNzc2AsXG4gICAgICAgIGNzczogYGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzZXJpZiAhaW1wb3J0YW50YCxcbiAgICAgIH0pIH0sXG4gICAgICB7IGxhYmVsOiAnSm9zdCcsIHZhbHVlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHVybDogYCR7UEFHRURfRU5WX1VSTH0vZm9udHMvSm9zdC0ke1BBR0VEX0VOVn0uY3NzYCxcbiAgICAgICAgY3NzOiBgZm9udC1mYW1pbHk6ICdKb3N0Jywgc2VyaWYgIWltcG9ydGFudGAsXG4gICAgICB9KSB9LFxuICAgICAgeyBsYWJlbDogJ1Jva2tpdHQnLCB2YWx1ZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIHVybDogYCR7UEFHRURfRU5WX1VSTH0vZm9udHMvcm9ra2l0dC0ke1BBR0VEX0VOVn0uY3NzYCxcbiAgICAgICAgICBjc3M6IGBmb250LWZhbWlseTogJ1Jva2tpdHQnLCBzZXJpZiAhaW1wb3J0YW50YCxcbiAgICAgICAgfSkgfSxcbiAgICBdLFxuICAgIGFwcGx5OiAndGV4dCcsXG4gICAgZGVmYXVsdDogJ2RlZmF1bHQnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdmb250U2l6ZScsXG4gICAgbGFiZWw6ICdGb250IHNpemUnLFxuICAgIHR5cGU6ICdpbmNyZW1lbnQnLFxuICAgIGFwcGx5OiAndGV4dCcsXG4gICAgdW5pdDogJ3B4JyxcbiAgICBiYXNlOiAwLFxuICAgIGluY3JlbWVudDogMSxcbiAgICBkZWZhdWx0OiAwLFxuICB9LFxuICB7XG4gICAgaWQ6ICdsaW5lSGVpZ2h0JyxcbiAgICBsYWJlbDogJ0xpbmUgaGVpZ2h0JyxcbiAgICB0eXBlOiAnaW5jcmVtZW50JyxcbiAgICBhcHBseTogJ3RleHQnLFxuICAgIHVuaXQ6ICdweCcsXG4gICAgYmFzZTogMSxcbiAgICBpbmNyZW1lbnQ6IDEsXG4gICAgZGVmYXVsdDogMCxcbiAgfSxcbiAge1xuICAgIGlkOiAnd29yZFNwYWNpbmcnLFxuICAgIGxhYmVsOiAnV29yZCBzcGFjaW5nJyxcbiAgICB0eXBlOiAnaW5jcmVtZW50JyxcbiAgICBhcHBseTogJ3RleHQnLFxuICAgIGJhc2U6IDAsXG4gICAgaW5jcmVtZW50OiAwLjEsXG4gICAgZGVmYXVsdDogMCxcbiAgfSxcbiAge1xuICAgIGlkOiAnbGV0dGVyU3BhY2luZycsXG4gICAgbGFiZWw6ICdMZXR0ZXIgc3BhY2luZycsXG4gICAgdHlwZTogJ2luY3JlbWVudCcsXG4gICAgYXBwbHk6ICd0ZXh0JyxcbiAgICBiYXNlOiAwLFxuICAgIGluY3JlbWVudDogMC4wNSxcbiAgICBkZWZhdWx0OiAwLFxuICB9LFxuICB7XG4gICAgaWQ6ICdjb250cmFzdCcsXG4gICAgbGFiZWw6ICdDb250cmFzdCcsXG4gICAgdHlwZTogJ3N3aXRjaCcsXG5cdCAgYXBwbHk6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAge1xuICAgIGlkOiAnaGlkZVBpY3R1cmVzJyxcbiAgICBsYWJlbDogJ0hpZGUgcGljdHVyZXMnLFxuICAgIHR5cGU6ICdzd2l0Y2gnLFxuICAgIGFwcGx5OiAnZ2xvYmFsJyxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAge1xuICAgIGlkOiAncmVhZGluZ01hc2snLFxuICAgIGxhYmVsOiAnUmVhZGluZyBNYXNrJyxcbiAgICB0eXBlOiAnc3dpdGNoJyxcblx0ICBhcHBseTogdW5kZWZpbmVkLFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIG1vYmlsZTogZmFsc2UsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21vbm9jaHJvbWUnLFxuICAgIGxhYmVsOiAnTW9ub2Nocm9tZScsXG4gICAgdHlwZTogJ3N3aXRjaCcsXG5cdCAgYXBwbHk6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgfSxcbiAge1xuICAgIGlkOiAnc2NyZWVuUmVhZGVyJyxcbiAgICBsYWJlbDogJ1NjcmVlbiBSZWFkZXInLFxuICAgIHR5cGU6ICdzd2l0Y2gnLFxuXHQgIGFwcGx5OiB1bmRlZmluZWQsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gIH0sXG5dLmZpbHRlcihzZXR0aW5nID0+IHtcbiAgY29uc3QgaXNNb2JpbGUgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKG1heC13aWR0aDogNzY3cHgpJykubWF0Y2hlcztcbiAgaWYgKHR5cGVvZiBzZXR0aW5nLm1vYmlsZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgaWYgKCFzZXR0aW5nLm1vYmlsZSAmJiBpc01vYmlsZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn0pKSgpO1xuXG5leHBvcnQgZGVmYXVsdCBzZXR0aW5ncztcbiJdLCJuYW1lcyI6WyJzZXR0aW5ncyIsImlkIiwibGFiZWwiLCJ0eXBlIiwib3B0aW9ucyIsInZhbHVlIiwiSlNPTiIsInN0cmluZ2lmeSIsInVybCIsIlBBR0VEX0VOVl9VUkwiLCJQQUdFRF9FTlYiLCJjc3MiLCJhcHBseSIsImRlZmF1bHQiLCJ1bml0IiwiYmFzZSIsImluY3JlbWVudCIsInVuZGVmaW5lZCIsIm1vYmlsZSIsImZpbHRlciIsInNldHRpbmciLCJpc01vYmlsZSIsIndpbmRvdyIsIm1hdGNoTWVkaWEiLCJtYXRjaGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/components/overlay/settings.js\n");
/***/ }),
/***/ "./src/components/overlay/style.js":
/*!*****************************************!*\
!*** ./src/components/overlay/style.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 */ });\nconst styles = `\n :host {\n width: fit-content;\n height: fit-content;\n max-width: calc(100vw - 70px);\n max-height: calc(100% - 70px);\n min-width: 360px;\n background: white !important;\n position: fixed;\n display: flex;\n transition: right 200ms ease-in;\n flex-direction: column;\n align-items: center;\n flex-direction: space-between;\n z-index: 999;\n overflow-y: auto;\n overflow-x: hidden;\n user-select: none;\n opacity: 0;\n }\n :host(.right) {\n top: 0;\n bottom: 0;\n margin: auto !important;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n color: #222D39;\n box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n -webkit-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n -moz-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n }\n :host(.right.open) {\n right: 0;\n }\n :host(.left) {\n top: 0;\n bottom: 0;\n margin: auto !important;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n color: #222D39;\n box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n -webkit-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n -moz-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n }\n :host(.left.open) {\n left: 0;\n }\n :host .header {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding: 12px;\n width: calc(100% - 20px);\n margin-bottom: 12px;\n position: sticky;\n top: 0;\n background: white;\n z-index: 9999;\n }\n :host .header h1 {\n font-size: 24px;\n font-weight: 500;\n margin: 0;\n display: flex;\n }\n :host .header span {\n max-height: 24px;\n cursor: pointer;\n display: flex;\n }\n :host .__paged-input:nth-of-type(1) {\n margin-top: 6px;\n }\n :host .tabs {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n flex-wrap: wrap;\n margin-bottom: 12px;\n position: sticky;\n top: 70px;\n background: white;\n box-shadow: 1px 2px 5px 0px rgba(0,0,0,0.15);\n -webkit-box-shadow: 1px 2px 5px 0px rgba(0,0,0,0.15);\n -moz-box-shadow: 1px 2px 5px 0px rgba(0,0,0,0.15);\n z-index: 9999;\n }\n :host .tabs button {\n border: none;\n background: none;\n color: #222D39;\n font-weight: 500;\n font-size: 16px;\n text-align: center;\n width: calc(50% - 6px);\n cursor: pointer;\n padding: 12px 0;\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n outline: none;\n overflow: hidden;\n }\n :host .tabs button:hover {\n background: rgba(0, 0, 0, 0.04);\n }\n :host .tabs button.active {\n border-bottom: 2px solid var(--paged-color);\n background: rgba(0, 0, 0, 0.04);\n }\n :host .__paged-resize-handler {\n position: sticky;\n width: 20px;\n height: 20px;\n min-width: 20px;\n min-height: 20px;\n background: black;\n color: white;\n left: 0;\n bottom: 0;\n cursor: col-resize;\n border-radius: 1px;\n align-self: flex-start;\n }\n\n :host .__paged-screen_reader {\n min-height: fit-content;\n }\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (styles);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9vdmVybGF5L3N0eWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNQSxNQUFNLEdBQUc7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFFRCxpRUFBZUEsTUFBTSIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL3NyYy9jb21wb25lbnRzL292ZXJsYXkvc3R5bGUuanM/NzYwMiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzdHlsZXMgPSBgXG4gIDpob3N0IHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSA3MHB4KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICBtaW4td2lkdGg6IDM2MHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdHJhbnNpdGlvbjogcmlnaHQgMjAwbXMgZWFzZS1pbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHNwYWNlLWJldHdlZW47XG4gICAgei1pbmRleDogOTk5O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgOmhvc3QoLnJpZ2h0KSB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGNvbG9yOiAjMjIyRDM5O1xuICAgIGJveC1zaGFkb3c6IC0zcHggMHB4IDE2cHggMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtM3B4IDBweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMTUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogLTNweCAwcHggMTZweCAwcHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgfVxuICA6aG9zdCgucmlnaHQub3Blbikge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIDpob3N0KC5sZWZ0KSB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgY29sb3I6ICMyMjJEMzk7XG4gICAgYm94LXNoYWRvdzogLTNweCAwcHggMTZweCAwcHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IC0zcHggMHB4IDE2cHggMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAtM3B4IDBweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMTUpO1xuICB9XG4gIDpob3N0KC5sZWZ0Lm9wZW4pIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIDpob3N0IC5oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gIH1cbiAgOmhvc3QgLmhlYWRlciBoMSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgOmhvc3QgLmhlYWRlciBzcGFuIHtcbiAgICBtYXgtaGVpZ2h0OiAyNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIDpob3N0IC5fX3BhZ2VkLWlucHV0Om50aC1vZi10eXBlKDEpIHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gIH1cbiAgOmhvc3QgLnRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogNzBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAxcHggMnB4IDVweCAwcHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDFweCAycHggNXB4IDBweCByZ2JhKDAsMCwwLDAuMTUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMXB4IDJweCA1cHggMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxuICA6aG9zdCAudGFicyBidXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjMjIyRDM5O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA2cHgpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIDpob3N0IC50YWJzIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgfVxuICA6aG9zdCAudGFicyBidXR0b24uYWN0aXZlIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tcGFnZWQtY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIH1cbiAgOmhvc3QgLl9fcGFnZWQtcmVzaXplLWhhbmRsZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1pbi13aWR0aDogMjBweDtcbiAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICA6aG9zdCAuX19wYWdlZC1zY3JlZW5fcmVhZGVyIHtcbiAgICBtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgc3R5bGVzO1xuIl0sIm5hbWVzIjpbInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/overlay/style.js\n");
/***/ }),
/***/ "./src/components/store/index.js":
/*!***************************************!*\
!*** ./src/components/store/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\": () => (/* binding */ Store)\n/* harmony export */ });\n/* harmony import */ var _utils_CookiePermissions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/CookiePermissions */ \"./src/utils/CookiePermissions.js\");\n//import permission from '../../utils/permissions.js'; //Import js-file with the localStorage-function\n\nclass Store {\n NS = '__paged.';\n _data = new Map();\n _match = new RegExp(/__paged\\./);\n constructor() {\n // condition, if localStorage is available\n if (_utils_CookiePermissions__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getCookiePermission() !== false) {\n Object.keys(localStorage).filter(key => this._match.test(key)).forEach(key => {\n this._data.set(key.split(this.NS)[1], localStorage.getItem(key));\n });\n }\n }\n set(key, value) {\n this._data.set(key, value);\n // condition, if localStorage is available\n if (_utils_CookiePermissions__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getCookiePermission() === \"true\") {\n localStorage.setItem(`${this.NS}${key}`, typeof value === 'object' ? JSON.stringify(value) : value);\n }\n }\n get(key) {\n return this._data.get(key);\n }\n remove(key) {\n if (_utils_CookiePermissions__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getCookiePermission()) {\n localStorage.removeItem(`${this.NS}${key}`);\n }\n this._data.delete(key);\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9zdG9yZS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ3VEO0FBRXhDLE1BQU1DLEtBQUssQ0FBQztFQUN6QkMsRUFBRSxHQUFHLFVBQVU7RUFDZkMsS0FBSyxHQUFHLElBQUlDLEdBQUcsQ0FBQyxDQUFDO0VBQ2pCQyxNQUFNLEdBQUcsSUFBSUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztFQUVoQ0MsV0FBV0EsQ0FBQSxFQUFHO0lBQ1Y7SUFDRixJQUFHUCxnRUFBVSxDQUFDUSxtQkFBbUIsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO01BQzdDQyxNQUFNLENBQUNDLElBQUksQ0FBQ0MsWUFBWSxDQUFDLENBQ3RCQyxNQUFNLENBQUNDLEdBQUcsSUFBSSxJQUFJLENBQUNSLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDRCxHQUFHLENBQUMsQ0FBQyxDQUNwQ0UsT0FBTyxDQUFDRixHQUFHLElBQUk7UUFDZCxJQUFJLENBQUNWLEtBQUssQ0FBQ2EsR0FBRyxDQUFDSCxHQUFHLENBQUNJLEtBQUssQ0FBQyxJQUFJLENBQUNmLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFUyxZQUFZLENBQUNPLE9BQU8sQ0FBQ0wsR0FBRyxDQUFDLENBQUM7TUFDbEUsQ0FBQyxDQUFDO0lBQ047RUFDRjtFQUVBRyxHQUFHQSxDQUFDSCxHQUFHLEVBQUVNLEtBQUssRUFBRTtJQUNkLElBQUksQ0FBQ2hCLEtBQUssQ0FBQ2EsR0FBRyxDQUFDSCxHQUFHLEVBQUVNLEtBQUssQ0FBQztJQUN4QjtJQUNGLElBQUduQixnRUFBVSxDQUFDUSxtQkFBbUIsQ0FBQyxDQUFDLEtBQUssTUFBTSxFQUFFO01BQzlDRyxZQUFZLENBQUNTLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQ2xCLEVBQUUsR0FBR1csR0FBRyxFQUFFLEVBQ3JDLE9BQU9NLEtBQUssS0FBSyxRQUFRLEdBQUdFLElBQUksQ0FBQ0MsU0FBUyxDQUFDSCxLQUFLLENBQUMsR0FBR0EsS0FBSyxDQUFDO0lBQzlEO0VBQ0Y7RUFFQUksR0FBR0EsQ0FBQ1YsR0FBRyxFQUFFO0lBQ1AsT0FBTyxJQUFJLENBQUNWLEtBQUssQ0FBQ29CLEdBQUcsQ0FBQ1YsR0FBRyxDQUFDO0VBQzVCO0VBRUFXLE1BQU1BLENBQUNYLEdBQUcsRUFBRTtJQUVWLElBQUdiLGdFQUFVLENBQUNRLG1CQUFtQixDQUFDLENBQUMsRUFBRTtNQUNqQ0csWUFBWSxDQUFDYyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUN2QixFQUFFLEdBQUdXLEdBQUcsRUFBRSxDQUFDO0lBQy9DO0lBRUEsSUFBSSxDQUFDVixLQUFLLENBQUN1QixNQUFNLENBQUNiLEdBQUcsQ0FBQztFQUN4QjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvc3RvcmUvaW5kZXguanM/ZTY3MCJdLCJzb3VyY2VzQ29udGVudCI6WyIvL2ltcG9ydCBwZXJtaXNzaW9uIGZyb20gJy4uLy4uL3V0aWxzL3Blcm1pc3Npb25zLmpzJzsgLy9JbXBvcnQganMtZmlsZSB3aXRoIHRoZSBsb2NhbFN0b3JhZ2UtZnVuY3Rpb25cbmltcG9ydCBwZXJtaXNzaW9uIGZyb20gJy4uLy4uL3V0aWxzL0Nvb2tpZVBlcm1pc3Npb25zJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RvcmUge1xuICBOUyA9ICdfX3BhZ2VkLic7XG4gIF9kYXRhID0gbmV3IE1hcCgpO1xuICBfbWF0Y2ggPSBuZXcgUmVnRXhwKC9fX3BhZ2VkXFwuLyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgICAvLyBjb25kaXRpb24sIGlmIGxvY2FsU3RvcmFnZSBpcyBhdmFpbGFibGVcbiAgICBpZihwZXJtaXNzaW9uLmdldENvb2tpZVBlcm1pc3Npb24oKSAhPT0gZmFsc2UpIHtcbiAgICAgIE9iamVjdC5rZXlzKGxvY2FsU3RvcmFnZSlcbiAgICAgICAgLmZpbHRlcihrZXkgPT4gdGhpcy5fbWF0Y2gudGVzdChrZXkpKVxuICAgICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIHRoaXMuX2RhdGEuc2V0KGtleS5zcGxpdCh0aGlzLk5TKVsxXSwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldChrZXksIHZhbHVlKSB7XG4gICAgdGhpcy5fZGF0YS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAvLyBjb25kaXRpb24sIGlmIGxvY2FsU3RvcmFnZSBpcyBhdmFpbGFibGVcbiAgICBpZihwZXJtaXNzaW9uLmdldENvb2tpZVBlcm1pc3Npb24oKSA9PT0gXCJ0cnVlXCIpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGAke3RoaXMuTlN9JHtrZXl9YCxcbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQoa2V5KSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGtleSk7XG4gIH1cblxuICByZW1vdmUoa2V5KSB7XG5cbiAgICBpZihwZXJtaXNzaW9uLmdldENvb2tpZVBlcm1pc3Npb24oKSkge1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShgJHt0aGlzLk5TfSR7a2V5fWApO1xuICAgIH1cblxuICAgIHRoaXMuX2RhdGEuZGVsZXRlKGtleSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwZXJtaXNzaW9uIiwiU3RvcmUiLCJOUyIsIl9kYXRhIiwiTWFwIiwiX21hdGNoIiwiUmVnRXhwIiwiY29uc3RydWN0b3IiLCJnZXRDb29raWVQZXJtaXNzaW9uIiwiT2JqZWN0Iiwia2V5cyIsImxvY2FsU3RvcmFnZSIsImZpbHRlciIsImtleSIsInRlc3QiLCJmb3JFYWNoIiwic2V0Iiwic3BsaXQiLCJnZXRJdGVtIiwidmFsdWUiLCJzZXRJdGVtIiwiSlNPTiIsInN0cmluZ2lmeSIsImdldCIsInJlbW92ZSIsInJlbW92ZUl0ZW0iLCJkZWxldGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/store/index.js\n");
/***/ }),
/***/ "./src/components/toggle/index.js":
/*!****************************************!*\
!*** ./src/components/toggle/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\": () => (/* binding */ Toggle)\n/* harmony export */ });\n/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./style */ \"./src/components/toggle/style.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/dom */ \"./src/utils/dom.js\");\n/* harmony import */ var _configuration_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../configuration/constants */ \"./configuration/constants.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons */ \"./src/components/icons.js\");\n\n\n\n\nclass Toggle {\n _root = null;\n _rootShadow = null;\n _open = false;\n _position = 'right';\n _color = '#222d39';\n _clickEvent = new CustomEvent('onClick');\n constructor(position, color) {\n this._position = position || 'right';\n this._color = color || '#222d39';\n this.__init__();\n }\n get open() {\n return this._open;\n }\n set open(value) {\n this._open = value;\n this._open ? this._root.classList.add('open') : this._root.classList.remove('open');\n if (value) {\n //const width = getComputedStyle(document.querySelector('.__paged-overlay')).width;\n //this._root.style.right = width;\n //this._root.style.left = width;\n\n const widgetWidth = getComputedStyle(document.querySelector('.__paged-overlay')).width.slice(0, -2);\n const widthWithScrollbar = parseInt(widgetWidth) + (document.querySelector('.__paged-overlay').offsetWidth - document.querySelector('.__paged-overlay').clientWidth);\n const width = widthWithScrollbar + 'px';\n this._position === 'left' ? this._root.style.left = width : this._root.style.right = width;\n } else {\n //this._root.style.left = '0';\n this._position === 'left' ? this._root.style.left = 0 : this._root.style.right = 0;\n }\n }\n __init__() {\n this._root = _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'div',\n appendTo: document.body,\n attributes: {\n class: `${_configuration_constants__WEBPACK_IMPORTED_MODULE_2__[\"default\"].classes.toggle} ${this._position}`,\n style: `background: ${this._color}`\n }\n });\n this._rootShadow = this._root.attachShadow({\n mode: 'closed'\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'style',\n innerHTML: _style__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n appendTo: this._rootShadow\n });\n _utils_dom__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createElement({\n tag: 'span',\n attributes: {\n class: '__paged_toggle_icon'\n },\n innerHTML: _icons__WEBPACK_IMPORTED_MODULE_3__[\"default\"].accessibility,\n appendTo: this._rootShadow\n });\n /*dom.createElement({\n tag: 'span',\n attributes: {\n class: '__paged_tryit'\n },\n innerHTML: window.innerWidth > 800 ? window.location.pathname === '/' ? `Try It!
${icons.arrow}` : null : null,\n appendTo: this._rootShadow,\n });*/\n this._root.addEventListener('click', this._onClick.bind(this));\n }\n _onClick(event) {\n this.open = !this._open;\n //Hide Try-it-sign when widget is open\n /*this._rootShadow.querySelector('.__paged_tryit')\n .setAttribute('style', `visibility: ${this.open ? 'hidden' : 'visible'}`);*/\n /*this._rootShadow.querySelector('.__paged_tryit')\n .setAttribute('style', `visibility: ${'hidden'}`);*/\n this._root.dispatchEvent(this._clickEvent);\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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U0FBUyxFQUFFM0MsOENBQUs7TUFDaEJtQyxRQUFRLEVBQUUsSUFBSSxDQUFDN0I7SUFDakIsQ0FBQyxDQUFDO0lBQ0ZMLGtEQUFHLENBQUNnQyxhQUFhLENBQUM7TUFDaEJDLEdBQUcsRUFBRSxNQUFNO01BQ1hHLFVBQVUsRUFBRTtRQUNWQyxLQUFLLEVBQUU7TUFDVCxDQUFDO01BQ0RLLFNBQVMsRUFBRXhDLDhDQUFLLENBQUN5QyxhQUFhO01BQzlCVCxRQUFRLEVBQUUsSUFBSSxDQUFDN0I7SUFDakIsQ0FBQyxDQUFDO0lBQ0Y7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNJLElBQUksQ0FBQ0QsS0FBSyxDQUFDd0MsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7RUFDaEU7RUFFQUQsUUFBUUEsQ0FBQ0UsS0FBSyxFQUFFO0lBQ2QsSUFBSSxDQUFDaEMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDVCxLQUFLO0lBQ3ZCO0lBQ0E7QUFDSjtJQUNJO0FBQ0o7SUFDSSxJQUFJLENBQUNGLEtBQUssQ0FBQzRDLGFBQWEsQ0FBQyxJQUFJLENBQUN2QyxXQUFXLENBQUM7RUFDNUM7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL3NyYy9jb21wb25lbnRzL3RvZ2dsZS9pbmRleC5qcz81ODFhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZSBmcm9tICcuL3N0eWxlJztcbmltcG9ydCBkb20gZnJvbSAnLi4vLi4vdXRpbHMvZG9tJztcbmltcG9ydCBlbnYgZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9jb25zdGFudHMnO1xuaW1wb3J0IGljb25zIGZyb20gJy4uL2ljb25zJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9nZ2xlIHtcbiAgX3Jvb3QgPSBudWxsO1xuICBfcm9vdFNoYWRvdyA9IG51bGw7XG4gIF9vcGVuID0gZmFsc2U7XG4gIF9wb3NpdGlvbiA9ICdyaWdodCc7XG4gIF9jb2xvciA9ICcjMjIyZDM5JztcblxuICBfY2xpY2tFdmVudCA9IG5ldyBDdXN0b21FdmVudCgnb25DbGljaycpO1xuXG4gIGNvbnN0cnVjdG9yKHBvc2l0aW9uLCBjb2xvcikge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb24gfHwgJ3JpZ2h0JztcbiAgICB0aGlzLl9jb2xvciA9IGNvbG9yIHx8ICcjMjIyZDM5JztcbiAgICB0aGlzLl9faW5pdF9fKCk7XG4gIH1cblxuICBnZXQgb3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuXG4gIHNldCBvcGVuKHZhbHVlKSB7XG4gICAgdGhpcy5fb3BlbiA9IHZhbHVlO1xuICAgIHRoaXMuX29wZW4gPyB0aGlzLl9yb290LmNsYXNzTGlzdC5hZGQoJ29wZW4nKVxuICAgICAgOiB0aGlzLl9yb290LmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIC8vY29uc3Qgd2lkdGggPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5fX3BhZ2VkLW92ZXJsYXknKSkud2lkdGg7XG4gICAgICAvL3RoaXMuX3Jvb3Quc3R5bGUucmlnaHQgPSB3aWR0aDtcbiAgICAgIC8vdGhpcy5fcm9vdC5zdHlsZS5sZWZ0ID0gd2lkdGg7XG5cbiAgICAgIGNvbnN0IHdpZGdldFdpZHRoID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuX19wYWdlZC1vdmVybGF5JykpLndpZHRoLnNsaWNlKDAsLTIpOyAgICAgIFxuICAgICAgY29uc3Qgd2lkdGhXaXRoU2Nyb2xsYmFyID0gcGFyc2VJbnQod2lkZ2V0V2lkdGgpICsgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5fX3BhZ2VkLW92ZXJsYXknKS5vZmZzZXRXaWR0aCAtIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5fX3BhZ2VkLW92ZXJsYXknKS5jbGllbnRXaWR0aCk7XG5cbiAgICAgIGNvbnN0IHdpZHRoID0gd2lkdGhXaXRoU2Nyb2xsYmFyICsgJ3B4JztcblxuICAgICAgdGhpcy5fcG9zaXRpb24gPT09ICdsZWZ0JyA/IHRoaXMuX3Jvb3Quc3R5bGUubGVmdCA9IHdpZHRoIDogdGhpcy5fcm9vdC5zdHlsZS5yaWdodCA9IHdpZHRoO1xuICAgIH0gZWxzZSB7XG4gICAgICAvL3RoaXMuX3Jvb3Quc3R5bGUubGVmdCA9ICcwJztcbiAgICAgIHRoaXMuX3Bvc2l0aW9uID09PSAnbGVmdCcgPyB0aGlzLl9yb290LnN0eWxlLmxlZnQgPSAwIDogdGhpcy5fcm9vdC5zdHlsZS5yaWdodCA9IDA7XG4gICAgfVxuICB9XG5cbiAgX19pbml0X18oKSB7XG4gICAgdGhpcy5fcm9vdCA9IGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ2RpdicsXG4gICAgICBhcHBlbmRUbzogZG9jdW1lbnQuYm9keSxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6IGAke2Vudi5jbGFzc2VzLnRvZ2dsZX0gJHt0aGlzLl9wb3NpdGlvbn1gLFxuICAgICAgICBzdHlsZTogYGJhY2tncm91bmQ6ICR7dGhpcy5fY29sb3J9YFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuX3Jvb3RTaGFkb3cgPSB0aGlzLl9yb290LmF0dGFjaFNoYWRvdyh7XG4gICAgICBtb2RlOiAnY2xvc2VkJyxcbiAgICB9KTtcblxuICAgIGRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ3N0eWxlJyxcbiAgICAgIGlubmVySFRNTDogc3R5bGUsXG4gICAgICBhcHBlbmRUbzogdGhpcy5fcm9vdFNoYWRvdyxcbiAgICB9KTtcbiAgICBkb20uY3JlYXRlRWxlbWVudCh7XG4gICAgICB0YWc6ICdzcGFuJyxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgY2xhc3M6ICdfX3BhZ2VkX3RvZ2dsZV9pY29uJyxcbiAgICAgIH0sXG4gICAgICBpbm5lckhUTUw6IGljb25zLmFjY2Vzc2liaWxpdHksXG4gICAgICBhcHBlbmRUbzogdGhpcy5fcm9vdFNoYWRvdyxcbiAgICB9KTtcbiAgICAvKmRvbS5jcmVhdGVFbGVtZW50KHtcbiAgICAgIHRhZzogJ3NwYW4nLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBjbGFzczogJ19fcGFnZWRfdHJ5aXQnXG4gICAgICB9LFxuICAgICAgaW5uZXJIVE1MOiB3aW5kb3cuaW5uZXJXaWR0aCA+IDgwMCA/IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSA9PT0gJy8nID8gYDxoMT5UcnkgSXQhPC9oMT4ke2ljb25zLmFycm93fWAgOiBudWxsIDogbnVsbCxcbiAgICAgIGFwcGVuZFRvOiB0aGlzLl9yb290U2hhZG93LFxuICAgIH0pOyovXG4gICAgdGhpcy5fcm9vdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX29uQ2xpY2suYmluZCh0aGlzKSk7XG4gIH1cblxuICBfb25DbGljayhldmVudCkge1xuICAgIHRoaXMub3BlbiA9ICF0aGlzLl9vcGVuO1xuICAgIC8vSGlkZSBUcnktaXQtc2lnbiB3aGVuIHdpZGdldCBpcyBvcGVuXG4gICAgLyp0aGlzLl9yb290U2hhZG93LnF1ZXJ5U2VsZWN0b3IoJy5fX3BhZ2VkX3RyeWl0JylcbiAgICAgIC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgYHZpc2liaWxpdHk6ICR7dGhpcy5vcGVuID8gJ2hpZGRlbicgOiAndmlzaWJsZSd9YCk7Ki9cbiAgICAvKnRoaXMuX3Jvb3RTaGFkb3cucXVlcnlTZWxlY3RvcignLl9fcGFnZWRfdHJ5aXQnKVxuICAgICAgICAuc2V0QXR0cmlidXRlKCdzdHlsZScsIGB2aXNpYmlsaXR5OiAkeydoaWRkZW4nfWApOyovXG4gICAgdGhpcy5fcm9vdC5kaXNwYXRjaEV2ZW50KHRoaXMuX2NsaWNrRXZlbnQpO1xuICB9XG59XG4iXSwibmFtZXMiOlsic3R5bGUiLCJkb20iLCJlbnYiLCJpY29ucyIsIlRvZ2dsZSIsIl9yb290IiwiX3Jvb3RTaGFkb3ciLCJfb3BlbiIsIl9wb3NpdGlvbiIsIl9jb2xvciIsIl9jbGlja0V2ZW50IiwiQ3VzdG9tRXZlbnQiLCJjb25zdHJ1Y3RvciIsInBvc2l0aW9uIiwiY29sb3IiLCJfX2luaXRfXyIsIm9wZW4iLCJ2YWx1ZSIsImNsYXNzTGlzdCIsImFkZCIsInJlbW92ZSIsIndpZGdldFdpZHRoIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsIndpZHRoIiwic2xpY2UiLCJ3aWR0aFdpdGhTY3JvbGxiYXIiLCJwYXJzZUludCIsIm9mZnNldFdpZHRoIiwiY2xpZW50V2lkdGgiLCJsZWZ0IiwicmlnaHQiLCJjcmVhdGVFbGVtZW50IiwidGFnIiwiYXBwZW5kVG8iLCJib2R5IiwiYXR0cmlidXRlcyIsImNsYXNzIiwiY2xhc3NlcyIsInRvZ2dsZSIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJpbm5lckhUTUwiLCJhY2Nlc3NpYmlsaXR5IiwiYWRkRXZlbnRMaXN0ZW5lciIsIl9vbkNsaWNrIiwiYmluZCIsImV2ZW50IiwiZGlzcGF0Y2hFdmVudCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/toggle/index.js\n");
/***/ }),
/***/ "./src/components/toggle/style.js":
/*!****************************************!*\
!*** ./src/components/toggle/style.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 */ });\nconst styles = `\n :host {\n width: 50px;\n height: fit-content;\n background: #222D39;\n position: fixed;\n display: flex;\n cursor: pointer;\n // transition: all 200ms ease-in;\n z-index: 999;\n padding: 8px !important;\n -webkit-tap-highlight-color: transparent;\n width: fit-content;\n }\n\n :host(.right) {\n top: 0;\n right: 0px;\n bottom: 0;\n margin: auto !important;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n color: white;\n box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n -webkit-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n -moz-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n }\n :host(.right.open) {\n // right: 300px;\n }\n :host(.right) .__paged_toggle_icon {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n font-size: 18px;\n border-radius: 50%;\n padding: 3px;\n border: 2px solid white;\n max-height: 24px;\n max-width: 24px;\n margin-left: 3px;\n }\n :host(.right) .__paged_toggle_icon svg {\n margin: 0;\n }\n :host(.right) span.__paged_tryit {\n transform: rotate(90deg);\n }\n :host(.right) span.__paged_tryit h1 {\n transform: rotateZ(-90deg);\n left: -100px;\n position: fixed;\n color: #222D39;\n top: 100px;\n font-size: 26px;\n text-shadow: 4px 4px 5px 0px rgba(0,0,0,0.75);\n }\n :host(.right) span > svg {\n margin-right: 6px;\n }\n :host(.right):hover {\n box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.35);\n -webkit-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.35);\n -moz-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.35);\n }\n\n :host(.left) {\n top: 0;\n left: 0;\n bottom: 0;\n margin: auto !important;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n color: white;\n box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n -webkit-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n -moz-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.15);\n }\n :host(.left.open) {\n // left: 300px;\n }\n :host(.left) .__paged_toggle_icon {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n font-size: 18px;\n border-radius: 50%;\n padding: 3px;\n border: 2px solid white;\n max-height: 24px;\n max-width: 24px;\n margin-left: 3px;\n }\n :host(.left) .__paged_toggle_icon svg {\n margin: 0;\n }\n :host(.left) span.__paged_tryit {\n transform: rotate(90deg);\n }\n :host(.left) span.__paged_tryit h1 {\n transform: rotateZ(-90deg);\n left: -100px;\n position: fixed;\n color: #222D39;\n top: 100px;\n font-size: 26px;\n text-shadow: 4px 4px 5px 0px rgba(0,0,0,0.75);\n }\n :host(.left) span > svg {\n margin-right: 6px;\n }\n :host(.left):hover {\n box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.35);\n -webkit-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.35);\n -moz-box-shadow: -3px 0px 16px 0px rgba(0,0,0,0.35);\n }\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (styles);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy90b2dnbGUvc3R5bGUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU1BLE1BQU0sR0FBRztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxpRUFBZUEsTUFBTSIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL3NyYy9jb21wb25lbnRzL3RvZ2dsZS9zdHlsZS5qcz9lNDQzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHN0eWxlcyA9IGBcbiAgOmhvc3Qge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZDogIzIyMkQzOTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47XG4gICAgei1pbmRleDogOTk5O1xuICAgIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG5cbiAgOmhvc3QoLnJpZ2h0KSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IC0zcHggMHB4IDE2cHggMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtM3B4IDBweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMTUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogLTNweCAwcHggMTZweCAwcHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgfVxuICA6aG9zdCgucmlnaHQub3Blbikge1xuICAgIC8vIHJpZ2h0OiAzMDBweDtcbiAgfVxuICA6aG9zdCgucmlnaHQpIC5fX3BhZ2VkX3RvZ2dsZV9pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICBtYXgtaGVpZ2h0OiAyNHB4O1xuICAgIG1heC13aWR0aDogMjRweDtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICB9XG4gIDpob3N0KC5yaWdodCkgLl9fcGFnZWRfdG9nZ2xlX2ljb24gc3ZnIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgOmhvc3QoLnJpZ2h0KSBzcGFuLl9fcGFnZWRfdHJ5aXQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxuICA6aG9zdCgucmlnaHQpIHNwYW4uX19wYWdlZF90cnlpdCBoMSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC05MGRlZyk7XG4gICAgbGVmdDogLTEwMHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBjb2xvcjogIzIyMkQzOTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICB0ZXh0LXNoYWRvdzogNHB4IDRweCA1cHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG4gIH1cbiAgOmhvc3QoLnJpZ2h0KSBzcGFuID4gc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuICA6aG9zdCgucmlnaHQpOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAtM3B4IDBweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMzUpO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTNweCAwcHggMTZweCAwcHggcmdiYSgwLDAsMCwwLjM1KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IC0zcHggMHB4IDE2cHggMHB4IHJnYmEoMCwwLDAsMC4zNSk7XG4gIH1cblxuICA6aG9zdCgubGVmdCkge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IC0zcHggMHB4IDE2cHggMHB4IHJnYmEoMCwwLDAsMC4xNSk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAtM3B4IDBweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMTUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogLTNweCAwcHggMTZweCAwcHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgfVxuICA6aG9zdCgubGVmdC5vcGVuKSB7XG4gICAgLy8gbGVmdDogMzAwcHg7XG4gIH1cbiAgOmhvc3QoLmxlZnQpIC5fX3BhZ2VkX3RvZ2dsZV9pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICBtYXgtaGVpZ2h0OiAyNHB4O1xuICAgIG1heC13aWR0aDogMjRweDtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICB9XG4gIDpob3N0KC5sZWZ0KSAuX19wYWdlZF90b2dnbGVfaWNvbiBzdmcge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICA6aG9zdCgubGVmdCkgc3Bhbi5fX3BhZ2VkX3RyeWl0IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbiAgOmhvc3QoLmxlZnQpIHNwYW4uX19wYWdlZF90cnlpdCBoMSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC05MGRlZyk7XG4gICAgbGVmdDogLTEwMHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBjb2xvcjogIzIyMkQzOTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICB0ZXh0LXNoYWRvdzogNHB4IDRweCA1cHggMHB4IHJnYmEoMCwwLDAsMC43NSk7XG4gIH1cbiAgOmhvc3QoLmxlZnQpIHNwYW4gPiBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICB9XG4gIDpob3N0KC5sZWZ0KTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogLTNweCAwcHggMTZweCAwcHggcmdiYSgwLDAsMCwwLjM1KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IC0zcHggMHB4IDE2cHggMHB4IHJnYmEoMCwwLDAsMC4zNSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAtM3B4IDBweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMzUpO1xuICB9XG5gO1xuZXhwb3J0IGRlZmF1bHQgc3R5bGVzO1xuIl0sIm5hbWVzIjpbInN0eWxlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/toggle/style.js\n");
/***/ }),
/***/ "./src/components/translation/i18n/de.js":
/*!***********************************************!*\
!*** ./src/components/translation/i18n/de.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 default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n settings: 'Einstellungen',\n account: 'Account',\n fontFamily: 'Schriftart',\n lineHeight: 'Zeilenhöhe',\n fontSize: 'Schriftgröße',\n wordSpacing: 'Wortabstand',\n letterSpacing: 'Zeichenabstand',\n contrast: 'Kontrast',\n hidePictures: 'Bilder ausblenden',\n signIn: 'Anmelden',\n usernameOrEmail: 'Username oder Email',\n password: 'Passwort',\n forgotCredentials: 'Anmeldedaten vergessen?',\n openAccount: 'Account erstellen',\n signUp: 'Refistrieren',\n fullName: 'Voller Name',\n email: 'Email',\n username: 'Username',\n confirmPassword: 'Passwort bestätigen',\n lastSaved: 'Letzter Speicherstand',\n saveSettings: 'Einstellungen speichern',\n signOut: 'Abmelden',\n readingMask: 'Reading Mask',\n monochrome: 'Monochrome',\n personas: 'Persona',\n individual: 'Individuell',\n adhs: 'ADHS',\n parkinson: 'Parkinson',\n lowVision: 'Geringe Sehkraft',\n dyslexia: 'Legasthenie',\n screenReader: 'Screen Reader',\n select_placeholder: '-- Auswählen --',\n rate: 'Sprechgeschwindigkeit',\n pitch: 'Stimmlage',\n volume: 'Lautstärke',\n lang: 'Sprache',\n cursor: 'Maus Modus',\n website: 'Webseiten Modus',\n orText: 'oder'\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy90cmFuc2xhdGlvbi9pMThuL2RlLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZTtFQUNiQSxRQUFRLEVBQUUsZUFBZTtFQUN6QkMsT0FBTyxFQUFFLFNBQVM7RUFDbEJDLFVBQVUsRUFBRSxZQUFZO0VBQ3hCQyxVQUFVLEVBQUUsWUFBWTtFQUN4QkMsUUFBUSxFQUFFLGNBQWM7RUFDeEJDLFdBQVcsRUFBRSxhQUFhO0VBQzFCQyxhQUFhLEVBQUUsZ0JBQWdCO0VBQy9CQyxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsWUFBWSxFQUFFLG1CQUFtQjtFQUNqQ0MsTUFBTSxFQUFFLFVBQVU7RUFDbEJDLGVBQWUsRUFBRSxxQkFBcUI7RUFDdENDLFFBQVEsRUFBRSxVQUFVO0VBQ3BCQyxpQkFBaUIsRUFBRSx5QkFBeUI7RUFDNUNDLFdBQVcsRUFBRSxtQkFBbUI7RUFDaENDLE1BQU0sRUFBRSxjQUFjO0VBQ3RCQyxRQUFRLEVBQUUsYUFBYTtFQUN2QkMsS0FBSyxFQUFFLE9BQU87RUFDZEMsUUFBUSxFQUFFLFVBQVU7RUFDcEJDLGVBQWUsRUFBRSxxQkFBcUI7RUFDdENDLFNBQVMsRUFBRSx1QkFBdUI7RUFDbENDLFlBQVksRUFBRSx5QkFBeUI7RUFDdkNDLE9BQU8sRUFBRSxVQUFVO0VBQ25CQyxXQUFXLEVBQUUsY0FBYztFQUMzQkMsVUFBVSxFQUFFLFlBQVk7RUFDeEJDLFFBQVEsRUFBRSxTQUFTO0VBQ25CQyxVQUFVLEVBQUUsYUFBYTtFQUN6QkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsU0FBUyxFQUFFLFdBQVc7RUFDdEJDLFNBQVMsRUFBRSxrQkFBa0I7RUFDN0JDLFFBQVEsRUFBRSxhQUFhO0VBQ3ZCQyxZQUFZLEVBQUUsZUFBZTtFQUM3QkMsa0JBQWtCLEVBQUUsaUJBQWlCO0VBR3JDQyxJQUFJLEVBQUUsdUJBQXVCO0VBQzdCQyxLQUFLLEVBQUUsV0FBVztFQUNsQkMsTUFBTSxFQUFFLFlBQVk7RUFDcEJDLElBQUksRUFBRSxTQUFTO0VBRWZDLE1BQU0sRUFBRSxZQUFZO0VBQ3BCQyxPQUFPLEVBQUUsaUJBQWlCO0VBRTFCQyxNQUFNLEVBQUU7QUFDVixDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL2NvbXBvbmVudHMvdHJhbnNsYXRpb24vaTE4bi9kZS5qcz9jYjY2Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IHtcbiAgc2V0dGluZ3M6ICdFaW5zdGVsbHVuZ2VuJyxcbiAgYWNjb3VudDogJ0FjY291bnQnLFxuICBmb250RmFtaWx5OiAnU2NocmlmdGFydCcsXG4gIGxpbmVIZWlnaHQ6ICdaZWlsZW5ow7ZoZScsXG4gIGZvbnRTaXplOiAnU2NocmlmdGdyw7bDn2UnLFxuICB3b3JkU3BhY2luZzogJ1dvcnRhYnN0YW5kJyxcbiAgbGV0dGVyU3BhY2luZzogJ1plaWNoZW5hYnN0YW5kJyxcbiAgY29udHJhc3Q6ICdLb250cmFzdCcsXG4gIGhpZGVQaWN0dXJlczogJ0JpbGRlciBhdXNibGVuZGVuJyxcbiAgc2lnbkluOiAnQW5tZWxkZW4nLFxuICB1c2VybmFtZU9yRW1haWw6ICdVc2VybmFtZSBvZGVyIEVtYWlsJyxcbiAgcGFzc3dvcmQ6ICdQYXNzd29ydCcsXG4gIGZvcmdvdENyZWRlbnRpYWxzOiAnQW5tZWxkZWRhdGVuIHZlcmdlc3Nlbj8nLFxuICBvcGVuQWNjb3VudDogJ0FjY291bnQgZXJzdGVsbGVuJyxcbiAgc2lnblVwOiAnUmVmaXN0cmllcmVuJyxcbiAgZnVsbE5hbWU6ICdWb2xsZXIgTmFtZScsXG4gIGVtYWlsOiAnRW1haWwnLFxuICB1c2VybmFtZTogJ1VzZXJuYW1lJyxcbiAgY29uZmlybVBhc3N3b3JkOiAnUGFzc3dvcnQgYmVzdMOkdGlnZW4nLFxuICBsYXN0U2F2ZWQ6ICdMZXR6dGVyIFNwZWljaGVyc3RhbmQnLFxuICBzYXZlU2V0dGluZ3M6ICdFaW5zdGVsbHVuZ2VuIHNwZWljaGVybicsXG4gIHNpZ25PdXQ6ICdBYm1lbGRlbicsXG4gIHJlYWRpbmdNYXNrOiAnUmVhZGluZyBNYXNrJyxcbiAgbW9ub2Nocm9tZTogJ01vbm9jaHJvbWUnLFxuICBwZXJzb25hczogJ1BlcnNvbmEnLFxuICBpbmRpdmlkdWFsOiAnSW5kaXZpZHVlbGwnLFxuICBhZGhzOiAnQURIUycsXG4gIHBhcmtpbnNvbjogJ1BhcmtpbnNvbicsXG4gIGxvd1Zpc2lvbjogJ0dlcmluZ2UgU2Voa3JhZnQnLFxuICBkeXNsZXhpYTogJ0xlZ2FzdGhlbmllJyxcbiAgc2NyZWVuUmVhZGVyOiAnU2NyZWVuIFJlYWRlcicsXG4gIHNlbGVjdF9wbGFjZWhvbGRlcjogJy0tIEF1c3fDpGhsZW4gLS0nLFxuXG5cbiAgcmF0ZTogJ1NwcmVjaGdlc2Nod2luZGlna2VpdCcsXG4gIHBpdGNoOiAnU3RpbW1sYWdlJyxcbiAgdm9sdW1lOiAnTGF1dHN0w6Rya2UnLFxuICBsYW5nOiAnU3ByYWNoZScsXG5cbiAgY3Vyc29yOiAnTWF1cyBNb2R1cycsXG4gIHdlYnNpdGU6ICdXZWJzZWl0ZW4gTW9kdXMnLFxuXG4gIG9yVGV4dDogJ29kZXInLFxufVxuIl0sIm5hbWVzIjpbInNldHRpbmdzIiwiYWNjb3VudCIsImZvbnRGYW1pbHkiLCJsaW5lSGVpZ2h0IiwiZm9udFNpemUiLCJ3b3JkU3BhY2luZyIsImxldHRlclNwYWNpbmciLCJjb250cmFzdCIsImhpZGVQaWN0dXJlcyIsInNpZ25JbiIsInVzZXJuYW1lT3JFbWFpbCIsInBhc3N3b3JkIiwiZm9yZ290Q3JlZGVudGlhbHMiLCJvcGVuQWNjb3VudCIsInNpZ25VcCIsImZ1bGxOYW1lIiwiZW1haWwiLCJ1c2VybmFtZSIsImNvbmZpcm1QYXNzd29yZCIsImxhc3RTYXZlZCIsInNhdmVTZXR0aW5ncyIsInNpZ25PdXQiLCJyZWFkaW5nTWFzayIsIm1vbm9jaHJvbWUiLCJwZXJzb25hcyIsImluZGl2aWR1YWwiLCJhZGhzIiwicGFya2luc29uIiwibG93VmlzaW9uIiwiZHlzbGV4aWEiLCJzY3JlZW5SZWFkZXIiLCJzZWxlY3RfcGxhY2Vob2xkZXIiLCJyYXRlIiwicGl0Y2giLCJ2b2x1bWUiLCJsYW5nIiwiY3Vyc29yIiwid2Vic2l0ZSIsIm9yVGV4dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/translation/i18n/de.js\n");
/***/ }),
/***/ "./src/components/translation/i18n/en.js":
/*!***********************************************!*\
!*** ./src/components/translation/i18n/en.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 default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n settings: 'Settings',\n account: 'Account',\n fontFamily: 'Font Family',\n lineHeight: 'Line Height',\n fontSize: 'Font Size',\n wordSpacing: 'Word Spacing',\n letterSpacing: 'Letter Spacing',\n contrast: 'Contrast',\n hidePictures: 'Hide Pictures',\n signIn: 'Sign In',\n usernameOrEmail: 'Username or Email',\n password: 'Password',\n forgotCredentials: 'Forgot credentials ?',\n openAccount: 'Open Account',\n signUp: 'Sign Up',\n fullName: 'Full Name',\n email: 'Email',\n username: 'Username',\n confirmPassword: 'Confirm Password',\n lastSaved: 'Last Save',\n saveSettings: 'Save Settings',\n signOut: 'Sign Out',\n readingMask: 'Reading Mask',\n monochrome: 'Monochrome',\n personas: 'Persona',\n individual: 'Individual',\n adhs: 'ADHD',\n parkinson: 'Parkinson',\n lowVision: 'Low Vision',\n dyslexia: 'Dyslexia',\n screenReader: 'Screen Reader',\n select_placeholder: '-- Select --',\n rate: 'Speaking speed',\n pitch: 'Voice pitch',\n volume: 'Volume',\n lang: 'Language',\n cursor: 'Cursor mode',\n website: 'Website mode',\n orText: 'or'\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy90cmFuc2xhdGlvbi9pMThuL2VuLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZTtFQUNiQSxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsT0FBTyxFQUFFLFNBQVM7RUFDbEJDLFVBQVUsRUFBRSxhQUFhO0VBQ3pCQyxVQUFVLEVBQUUsYUFBYTtFQUN6QkMsUUFBUSxFQUFFLFdBQVc7RUFDckJDLFdBQVcsRUFBRSxjQUFjO0VBQzNCQyxhQUFhLEVBQUUsZ0JBQWdCO0VBQy9CQyxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsWUFBWSxFQUFFLGVBQWU7RUFDN0JDLE1BQU0sRUFBRSxTQUFTO0VBQ2pCQyxlQUFlLEVBQUUsbUJBQW1CO0VBQ3BDQyxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsaUJBQWlCLEVBQUUsc0JBQXNCO0VBQ3pDQyxXQUFXLEVBQUUsY0FBYztFQUMzQkMsTUFBTSxFQUFFLFNBQVM7RUFDakJDLFFBQVEsRUFBRSxXQUFXO0VBQ3JCQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsZUFBZSxFQUFFLGtCQUFrQjtFQUNuQ0MsU0FBUyxFQUFFLFdBQVc7RUFDdEJDLFlBQVksRUFBRSxlQUFlO0VBQzdCQyxPQUFPLEVBQUUsVUFBVTtFQUNuQkMsV0FBVyxFQUFFLGNBQWM7RUFDM0JDLFVBQVUsRUFBRSxZQUFZO0VBQ3hCQyxRQUFRLEVBQUUsU0FBUztFQUNuQkMsVUFBVSxFQUFFLFlBQVk7RUFDeEJDLElBQUksRUFBRSxNQUFNO0VBQ1pDLFNBQVMsRUFBRSxXQUFXO0VBQ3RCQyxTQUFTLEVBQUUsWUFBWTtFQUN2QkMsUUFBUSxFQUFFLFVBQVU7RUFDcEJDLFlBQVksRUFBRSxlQUFlO0VBQzdCQyxrQkFBa0IsRUFBRSxjQUFjO0VBRWxDQyxJQUFJLEVBQUUsZ0JBQWdCO0VBQ3RCQyxLQUFLLEVBQUUsYUFBYTtFQUNwQkMsTUFBTSxFQUFFLFFBQVE7RUFDaEJDLElBQUksRUFBRSxVQUFVO0VBRWhCQyxNQUFNLEVBQUUsYUFBYTtFQUNyQkMsT0FBTyxFQUFFLGNBQWM7RUFFdkJDLE1BQU0sRUFBRTtBQUNWLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aWRnZXQvLi9zcmMvY29tcG9uZW50cy90cmFuc2xhdGlvbi9pMThuL2VuLmpzPzU3YWMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBzZXR0aW5nczogJ1NldHRpbmdzJyxcbiAgYWNjb3VudDogJ0FjY291bnQnLFxuICBmb250RmFtaWx5OiAnRm9udCBGYW1pbHknLFxuICBsaW5lSGVpZ2h0OiAnTGluZSBIZWlnaHQnLFxuICBmb250U2l6ZTogJ0ZvbnQgU2l6ZScsXG4gIHdvcmRTcGFjaW5nOiAnV29yZCBTcGFjaW5nJyxcbiAgbGV0dGVyU3BhY2luZzogJ0xldHRlciBTcGFjaW5nJyxcbiAgY29udHJhc3Q6ICdDb250cmFzdCcsXG4gIGhpZGVQaWN0dXJlczogJ0hpZGUgUGljdHVyZXMnLFxuICBzaWduSW46ICdTaWduIEluJyxcbiAgdXNlcm5hbWVPckVtYWlsOiAnVXNlcm5hbWUgb3IgRW1haWwnLFxuICBwYXNzd29yZDogJ1Bhc3N3b3JkJyxcbiAgZm9yZ290Q3JlZGVudGlhbHM6ICdGb3Jnb3QgY3JlZGVudGlhbHMgPycsXG4gIG9wZW5BY2NvdW50OiAnT3BlbiBBY2NvdW50JyxcbiAgc2lnblVwOiAnU2lnbiBVcCcsXG4gIGZ1bGxOYW1lOiAnRnVsbCBOYW1lJyxcbiAgZW1haWw6ICdFbWFpbCcsXG4gIHVzZXJuYW1lOiAnVXNlcm5hbWUnLFxuICBjb25maXJtUGFzc3dvcmQ6ICdDb25maXJtIFBhc3N3b3JkJyxcbiAgbGFzdFNhdmVkOiAnTGFzdCBTYXZlJyxcbiAgc2F2ZVNldHRpbmdzOiAnU2F2ZSBTZXR0aW5ncycsXG4gIHNpZ25PdXQ6ICdTaWduIE91dCcsXG4gIHJlYWRpbmdNYXNrOiAnUmVhZGluZyBNYXNrJyxcbiAgbW9ub2Nocm9tZTogJ01vbm9jaHJvbWUnLFxuICBwZXJzb25hczogJ1BlcnNvbmEnLFxuICBpbmRpdmlkdWFsOiAnSW5kaXZpZHVhbCcsXG4gIGFkaHM6ICdBREhEJyxcbiAgcGFya2luc29uOiAnUGFya2luc29uJyxcbiAgbG93VmlzaW9uOiAnTG93IFZpc2lvbicsXG4gIGR5c2xleGlhOiAnRHlzbGV4aWEnLFxuICBzY3JlZW5SZWFkZXI6ICdTY3JlZW4gUmVhZGVyJyxcbiAgc2VsZWN0X3BsYWNlaG9sZGVyOiAnLS0gU2VsZWN0IC0tJyxcblxuICByYXRlOiAnU3BlYWtpbmcgc3BlZWQnLFxuICBwaXRjaDogJ1ZvaWNlIHBpdGNoJyxcbiAgdm9sdW1lOiAnVm9sdW1lJyxcbiAgbGFuZzogJ0xhbmd1YWdlJyxcblxuICBjdXJzb3I6ICdDdXJzb3IgbW9kZScsXG4gIHdlYnNpdGU6ICdXZWJzaXRlIG1vZGUnLFxuXG4gIG9yVGV4dDogJ29yJ1xufVxuIl0sIm5hbWVzIjpbInNldHRpbmdzIiwiYWNjb3VudCIsImZvbnRGYW1pbHkiLCJsaW5lSGVpZ2h0IiwiZm9udFNpemUiLCJ3b3JkU3BhY2luZyIsImxldHRlclNwYWNpbmciLCJjb250cmFzdCIsImhpZGVQaWN0dXJlcyIsInNpZ25JbiIsInVzZXJuYW1lT3JFbWFpbCIsInBhc3N3b3JkIiwiZm9yZ290Q3JlZGVudGlhbHMiLCJvcGVuQWNjb3VudCIsInNpZ25VcCIsImZ1bGxOYW1lIiwiZW1haWwiLCJ1c2VybmFtZSIsImNvbmZpcm1QYXNzd29yZCIsImxhc3RTYXZlZCIsInNhdmVTZXR0aW5ncyIsInNpZ25PdXQiLCJyZWFkaW5nTWFzayIsIm1vbm9jaHJvbWUiLCJwZXJzb25hcyIsImluZGl2aWR1YWwiLCJhZGhzIiwicGFya2luc29uIiwibG93VmlzaW9uIiwiZHlzbGV4aWEiLCJzY3JlZW5SZWFkZXIiLCJzZWxlY3RfcGxhY2Vob2xkZXIiLCJyYXRlIiwicGl0Y2giLCJ2b2x1bWUiLCJsYW5nIiwiY3Vyc29yIiwid2Vic2l0ZSIsIm9yVGV4dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/translation/i18n/en.js\n");
/***/ }),
/***/ "./src/components/translation/index.js":
/*!*********************************************!*\
!*** ./src/components/translation/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\": () => (/* binding */ Translation)\n/* harmony export */ });\nclass Translation {\n _language = 'EN';\n _languages = ['EN', 'DE'];\n _data = new Map();\n constructor(lng) {\n this._language = lng;\n this._languages.forEach(language => {\n const translations = this.get_translation_file(language);\n Object.keys(translations).forEach(key => {\n if (!this._data.has(language)) {\n this._data.set(language, new Map());\n }\n this._data.get(language).set(key, translations[key]);\n });\n });\n }\n get_translation_file(key) {\n const imported = __webpack_require__(\"./src/components/translation/i18n sync recursive ^\\\\.\\\\/.*\\\\.js$\")(\"./\" + key.toLowerCase() + \".js\");\n if (imported && imported.default) {\n return imported.default;\n }\n return {};\n }\n set_language(language) {\n this._language = language;\n }\n get(key) {\n if (!this._data.has(this._language)) {\n return key;\n }\n if (!this._data.get(this._language).has(key)) {\n return key;\n }\n return this._data.get(this._language).get(key);\n }\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy90cmFuc2xhdGlvbi9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQWUsTUFBTUEsV0FBVyxDQUFDO0VBQy9CQyxTQUFTLEdBQUcsSUFBSTtFQUNoQkMsVUFBVSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztFQUN6QkMsS0FBSyxHQUFHLElBQUlDLEdBQUcsQ0FBQyxDQUFDO0VBRWpCQyxXQUFXQSxDQUFDQyxHQUFHLEVBQUU7SUFDZixJQUFJLENBQUNMLFNBQVMsR0FBR0ssR0FBRztJQUNwQixJQUFJLENBQUNKLFVBQVUsQ0FBQ0ssT0FBTyxDQUFDQyxRQUFRLElBQUk7TUFDbEMsTUFBTUMsWUFBWSxHQUFHLElBQUksQ0FBQ0Msb0JBQW9CLENBQUNGLFFBQVEsQ0FBQztNQUN4REcsTUFBTSxDQUFDQyxJQUFJLENBQUNILFlBQVksQ0FBQyxDQUFDRixPQUFPLENBQUNNLEdBQUcsSUFBSTtRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDVixLQUFLLENBQUNXLEdBQUcsQ0FBQ04sUUFBUSxDQUFDLEVBQUU7VUFDN0IsSUFBSSxDQUFDTCxLQUFLLENBQUNZLEdBQUcsQ0FBQ1AsUUFBUSxFQUFFLElBQUlKLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckM7UUFDQSxJQUFJLENBQUNELEtBQUssQ0FBQ2EsR0FBRyxDQUFDUixRQUFRLENBQUMsQ0FBQ08sR0FBRyxDQUFDRixHQUFHLEVBQUVKLFlBQVksQ0FBQ0ksR0FBRyxDQUFDLENBQUM7TUFDdEQsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0VBQ0o7RUFFQUgsb0JBQW9CQSxDQUFDRyxHQUFHLEVBQUU7SUFDeEIsTUFBTUksUUFBUSxHQUFHQyx3RkFBUSxJQUFTLEdBQUdMLEdBQUcsQ0FBQ00sV0FBVyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDL0QsSUFBSUYsUUFBUSxJQUFJQSxRQUFRLENBQUNHLE9BQU8sRUFBRTtNQUNoQyxPQUFPSCxRQUFRLENBQUNHLE9BQU87SUFDekI7SUFDQSxPQUFPLENBQUMsQ0FBQztFQUNYO0VBRUFDLFlBQVlBLENBQUNiLFFBQVEsRUFBRTtJQUNyQixJQUFJLENBQUNQLFNBQVMsR0FBR08sUUFBUTtFQUMzQjtFQUVBUSxHQUFHQSxDQUFDSCxHQUFHLEVBQUU7SUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDVixLQUFLLENBQUNXLEdBQUcsQ0FBQyxJQUFJLENBQUNiLFNBQVMsQ0FBQyxFQUFFO01BQ25DLE9BQU9ZLEdBQUc7SUFDWjtJQUNBLElBQUksQ0FBQyxJQUFJLENBQUNWLEtBQUssQ0FBQ2EsR0FBRyxDQUFDLElBQUksQ0FBQ2YsU0FBUyxDQUFDLENBQUNhLEdBQUcsQ0FBQ0QsR0FBRyxDQUFDLEVBQUU7TUFDNUMsT0FBT0EsR0FBRztJQUNaO0lBQ0EsT0FBTyxJQUFJLENBQUNWLEtBQUssQ0FBQ2EsR0FBRyxDQUFDLElBQUksQ0FBQ2YsU0FBUyxDQUFDLENBQUNlLEdBQUcsQ0FBQ0gsR0FBRyxDQUFDO0VBQ2hEO0FBRUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aWRnZXQvLi9zcmMvY29tcG9uZW50cy90cmFuc2xhdGlvbi9pbmRleC5qcz9jYWFhIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIFRyYW5zbGF0aW9uIHtcbiAgX2xhbmd1YWdlID0gJ0VOJztcbiAgX2xhbmd1YWdlcyA9IFsnRU4nLCAnREUnXTtcbiAgX2RhdGEgPSBuZXcgTWFwKCk7XG5cbiAgY29uc3RydWN0b3IobG5nKSB7XG4gICAgdGhpcy5fbGFuZ3VhZ2UgPSBsbmc7XG4gICAgdGhpcy5fbGFuZ3VhZ2VzLmZvckVhY2gobGFuZ3VhZ2UgPT4ge1xuICAgICAgY29uc3QgdHJhbnNsYXRpb25zID0gdGhpcy5nZXRfdHJhbnNsYXRpb25fZmlsZShsYW5ndWFnZSk7XG4gICAgICBPYmplY3Qua2V5cyh0cmFuc2xhdGlvbnMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLl9kYXRhLmhhcyhsYW5ndWFnZSkpIHtcbiAgICAgICAgICB0aGlzLl9kYXRhLnNldChsYW5ndWFnZSwgbmV3IE1hcCgpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kYXRhLmdldChsYW5ndWFnZSkuc2V0KGtleSwgdHJhbnNsYXRpb25zW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRfdHJhbnNsYXRpb25fZmlsZShrZXkpIHtcbiAgICBjb25zdCBpbXBvcnRlZCA9IHJlcXVpcmUoJy4vaTE4bi8nICsga2V5LnRvTG93ZXJDYXNlKCkgKyAnLmpzJyk7XG4gICAgaWYgKGltcG9ydGVkICYmIGltcG9ydGVkLmRlZmF1bHQpIHtcbiAgICAgIHJldHVybiBpbXBvcnRlZC5kZWZhdWx0O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBzZXRfbGFuZ3VhZ2UobGFuZ3VhZ2UpIHtcbiAgICB0aGlzLl9sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICB9XG5cbiAgZ2V0KGtleSkge1xuICAgIGlmICghdGhpcy5fZGF0YS5oYXModGhpcy5fbGFuZ3VhZ2UpKSB7XG4gICAgICByZXR1cm4ga2V5O1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX2RhdGEuZ2V0KHRoaXMuX2xhbmd1YWdlKS5oYXMoa2V5KSkge1xuICAgICAgcmV0dXJuIGtleTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZ2V0KHRoaXMuX2xhbmd1YWdlKS5nZXQoa2V5KTtcbiAgfVxuXG59XG4iXSwibmFtZXMiOlsiVHJhbnNsYXRpb24iLCJfbGFuZ3VhZ2UiLCJfbGFuZ3VhZ2VzIiwiX2RhdGEiLCJNYXAiLCJjb25zdHJ1Y3RvciIsImxuZyIsImZvckVhY2giLCJsYW5ndWFnZSIsInRyYW5zbGF0aW9ucyIsImdldF90cmFuc2xhdGlvbl9maWxlIiwiT2JqZWN0Iiwia2V5cyIsImtleSIsImhhcyIsInNldCIsImdldCIsImltcG9ydGVkIiwicmVxdWlyZSIsInRvTG93ZXJDYXNlIiwiZGVmYXVsdCIsInNldF9sYW5ndWFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/components/translation/index.js\n");
/***/ }),
/***/ "./src/style.js":
/*!**********************!*\
!*** ./src/style.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 */ });\nconst globalStyles = `\n.progress {\n width: 20px;\n height: 20px;\n min-width: 20px;\n min-height: 20px;\n color: #fff;\n border-radius: 50%;\n overflow: hidden;\n position: absolute;\n text-align: center;\n line-height: 200px;\n left: -10px;\n top: -10px;\n /*background: #f6f6f6;*/\n}\n\n.progress .overlay {\n width: 50%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n background-color: #f6f6f6;\n}\n\n.progress .left, .progress .right {\n width: 50%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n border: 10px solid #191824;\n border-radius: 100px 0px 0px 100px;\n border-right: 0;\n transform-origin: right;\n}\n\n.progress .left {animation: load1 .05s linear forwards;}\n\n.progress:nth-of-type(2) .right, .progress:nth-of-type(3) .right {animation: load2 .25s linear forwards .05s;}\n\n.progress:last-of-type .right, .progress:first-of-type .right {animation: load3 .25s linear forwards .05s;}\n\n@keyframes load1 {\n 0% {transform: rotate(0deg);}\n\n 100% {transform: rotate(180deg);}\n}\n\n@keyframes load2 {\n 0% {z-index: 100;transform: rotate(180deg);}\n\n 100% {z-index: 100;transform: rotate(270deg);}\n}\n\n@keyframes load3 {\n 0% {z-index: 100;transform: rotate(180deg);}\n\n 100% {\n z-index: 100;transform: rotate(360deg);}\n}\n`;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (globalStyles);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc3R5bGUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU1BLFlBQVksR0FBRztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELGlFQUFlQSxZQUFZIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL3N0eWxlLmpzPzViN2IiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZ2xvYmFsU3R5bGVzID0gYFxuLnByb2dyZXNzIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWluLXdpZHRoOiAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMjAwcHg7XG4gICAgbGVmdDogLTEwcHg7XG4gICAgdG9wOiAtMTBweDtcbiAgICAvKmJhY2tncm91bmQ6ICNmNmY2ZjY7Ki9cbn1cblxuLnByb2dyZXNzIC5vdmVybGF5IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xufVxuXG4ucHJvZ3Jlc3MgLmxlZnQsIC5wcm9ncmVzcyAucmlnaHQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXI6IDEwcHggc29saWQgIzE5MTgyNDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAwcHggMHB4IDEwMHB4O1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbn1cblxuLnByb2dyZXNzIC5sZWZ0IHthbmltYXRpb246IGxvYWQxIC4wNXMgbGluZWFyIGZvcndhcmRzO31cblxuLnByb2dyZXNzOm50aC1vZi10eXBlKDIpIC5yaWdodCwgLnByb2dyZXNzOm50aC1vZi10eXBlKDMpIC5yaWdodCB7YW5pbWF0aW9uOiBsb2FkMiAuMjVzIGxpbmVhciBmb3J3YXJkcyAuMDVzO31cblxuLnByb2dyZXNzOmxhc3Qtb2YtdHlwZSAucmlnaHQsIC5wcm9ncmVzczpmaXJzdC1vZi10eXBlIC5yaWdodCB7YW5pbWF0aW9uOiBsb2FkMyAuMjVzIGxpbmVhciBmb3J3YXJkcyAuMDVzO31cblxuQGtleWZyYW1lcyBsb2FkMSB7XG4gICAgMCUge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpO31cblxuICAgIDEwMCUge3RyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7fVxufVxuXG5Aa2V5ZnJhbWVzIGxvYWQyIHtcbiAgICAwJSB7ei1pbmRleDogMTAwO3RyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7fVxuXG4gICAgMTAwJSB7ei1pbmRleDogMTAwO3RyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7fVxufVxuXG5Aa2V5ZnJhbWVzIGxvYWQzIHtcbiAgICAwJSB7ei1pbmRleDogMTAwO3RyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7fVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHotaW5kZXg6IDEwMDt0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO31cbn1cbmA7XG5leHBvcnQgZGVmYXVsdCBnbG9iYWxTdHlsZXM7XG4iXSwibmFtZXMiOlsiZ2xvYmFsU3R5bGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/style.js\n");
/***/ }),
/***/ "./src/utils/CookiePermissions.js":
/*!****************************************!*\
!*** ./src/utils/CookiePermissions.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 _permissions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./permissions */ \"./src/utils/permissions.js\");\n\nconst cookiePermissions = {\n getCookiePermission: () => {\n if (!_permissions__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getBrowserPermission()) {\n return false;\n }\n\n /*if(permissions.isPaged() && permissions.getCookie() == null) {\n return false;\n }*/\n\n return _permissions__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getCookie();\n }\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (cookiePermissions);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvdXRpbHMvQ29va2llUGVybWlzc2lvbnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBd0M7QUFFeEMsTUFBTUMsaUJBQWlCLEdBQUc7RUFDeEJDLG1CQUFtQixFQUFFQSxDQUFBLEtBQU07SUFDekIsSUFBRyxDQUFDRixvREFBVyxDQUFDRyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUU7TUFDdEMsT0FBTyxLQUFLO0lBQ2Q7O0lBRUE7QUFDSjtBQUNBOztJQUVJLE9BQU9ILG9EQUFXLENBQUNJLFNBQVMsQ0FBQyxDQUFDO0VBQ2hDO0FBQ0YsQ0FBQztBQUVELGlFQUFlSCxpQkFBaUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aWRnZXQvLi9zcmMvdXRpbHMvQ29va2llUGVybWlzc2lvbnMuanM/MzA1YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGVybWlzc2lvbnMgZnJvbSBcIi4vcGVybWlzc2lvbnNcIjtcblxuY29uc3QgY29va2llUGVybWlzc2lvbnMgPSB7XG4gIGdldENvb2tpZVBlcm1pc3Npb246ICgpID0+IHtcbiAgICBpZighcGVybWlzc2lvbnMuZ2V0QnJvd3NlclBlcm1pc3Npb24oKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qaWYocGVybWlzc2lvbnMuaXNQYWdlZCgpICYmIHBlcm1pc3Npb25zLmdldENvb2tpZSgpID09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9Ki9cblxuICAgIHJldHVybiBwZXJtaXNzaW9ucy5nZXRDb29raWUoKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29va2llUGVybWlzc2lvbnM7XG4iXSwibmFtZXMiOlsicGVybWlzc2lvbnMiLCJjb29raWVQZXJtaXNzaW9ucyIsImdldENvb2tpZVBlcm1pc3Npb24iLCJnZXRCcm93c2VyUGVybWlzc2lvbiIsImdldENvb2tpZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/utils/CookiePermissions.js\n");
/***/ }),
/***/ "./src/utils/dom.js":
/*!**************************!*\
!*** ./src/utils/dom.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 */ });\nconst ROOT = document.body || document || window;\nconst domUtils = {\n selectElement: (selector, node) => {\n return (node || ROOT).querySelector(selector);\n },\n selectElements: (selectors, node) => {\n return Array.from((node || ROOT).querySelectorAll(selectors));\n },\n createElement: ({\n tag,\n appendTo,\n prependTo,\n children = [],\n attributes = {},\n events = {},\n innerHTML = null\n }) => {\n const element = document.createElement(tag);\n Object.entries(attributes).forEach(([key, value]) => {\n element[key] = value;\n element.setAttribute(key, value);\n });\n Object.entries(events).forEach(([key, value]) => {\n element.addEventListener(key, value);\n });\n children.forEach(child => element.appendChild(child));\n if (appendTo) {\n appendTo.appendChild(element);\n }\n if (prependTo) {\n prependTo.prepend(element);\n }\n if (innerHTML) {\n element.innerHTML = innerHTML;\n }\n return element;\n }\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (domUtils);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvdXRpbHMvZG9tLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNQSxJQUFJLEdBQUdDLFFBQVEsQ0FBQ0MsSUFBSSxJQUFJRCxRQUFRLElBQUlFLE1BQU07QUFFaEQsTUFBTUMsUUFBUSxHQUFHO0VBQ2ZDLGFBQWEsRUFBRUEsQ0FBQ0MsUUFBUSxFQUFFQyxJQUFJLEtBQUs7SUFDakMsT0FBTyxDQUFDQSxJQUFJLElBQUlQLElBQUksRUFBRVEsYUFBYSxDQUFDRixRQUFRLENBQUM7RUFDL0MsQ0FBQztFQUNERyxjQUFjLEVBQUVBLENBQUNDLFNBQVMsRUFBRUgsSUFBSSxLQUFLO0lBQ25DLE9BQU9JLEtBQUssQ0FBQ0MsSUFBSSxDQUFDLENBQUNMLElBQUksSUFBSVAsSUFBSSxFQUFFYSxnQkFBZ0IsQ0FBQ0gsU0FBUyxDQUFDLENBQUM7RUFDL0QsQ0FBQztFQUNESSxhQUFhLEVBQUVBLENBQUM7SUFDZEMsR0FBRztJQUNIQyxRQUFRO0lBQ1JDLFNBQVM7SUFDVEMsUUFBUSxHQUFHLEVBQUU7SUFDYkMsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNmQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1hDLFNBQVMsR0FBRztFQUNkLENBQUMsS0FBSztJQUNKLE1BQU1DLE9BQU8sR0FBR3JCLFFBQVEsQ0FBQ2EsYUFBYSxDQUFDQyxHQUFHLENBQUM7SUFFM0NRLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDTCxVQUFVLENBQUMsQ0FBQ00sT0FBTyxDQUFDLENBQUMsQ0FBQ0MsR0FBRyxFQUFFQyxLQUFLLENBQUMsS0FBSztNQUNuREwsT0FBTyxDQUFDSSxHQUFHLENBQUMsR0FBR0MsS0FBSztNQUNwQkwsT0FBTyxDQUFDTSxZQUFZLENBQUNGLEdBQUcsRUFBRUMsS0FBSyxDQUFDO0lBQ2xDLENBQUMsQ0FBQztJQUVGSixNQUFNLENBQUNDLE9BQU8sQ0FBQ0osTUFBTSxDQUFDLENBQUNLLE9BQU8sQ0FBQyxDQUFDLENBQUNDLEdBQUcsRUFBRUMsS0FBSyxDQUFDLEtBQUs7TUFDL0NMLE9BQU8sQ0FBQ08sZ0JBQWdCLENBQUNILEdBQUcsRUFBRUMsS0FBSyxDQUFDO0lBQ3RDLENBQUMsQ0FBQztJQUVGVCxRQUFRLENBQUNPLE9BQU8sQ0FBQ0ssS0FBSyxJQUFJUixPQUFPLENBQUNTLFdBQVcsQ0FBQ0QsS0FBSyxDQUFDLENBQUM7SUFFckQsSUFBSWQsUUFBUSxFQUFFO01BQ1pBLFFBQVEsQ0FBQ2UsV0FBVyxDQUFDVCxPQUFPLENBQUM7SUFDL0I7SUFFQSxJQUFJTCxTQUFTLEVBQUU7TUFDYkEsU0FBUyxDQUFDZSxPQUFPLENBQUNWLE9BQU8sQ0FBQztJQUM1QjtJQUVBLElBQUlELFNBQVMsRUFBRTtNQUNiQyxPQUFPLENBQUNELFNBQVMsR0FBR0EsU0FBUztJQUMvQjtJQUVBLE9BQU9DLE9BQU87RUFDaEI7QUFDRixDQUFDO0FBRUQsaUVBQWVsQixRQUFRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL3V0aWxzL2RvbS5qcz8yNmExIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFJPT1QgPSBkb2N1bWVudC5ib2R5IHx8IGRvY3VtZW50IHx8IHdpbmRvdztcblxuY29uc3QgZG9tVXRpbHMgPSB7XG4gIHNlbGVjdEVsZW1lbnQ6IChzZWxlY3Rvciwgbm9kZSkgPT4ge1xuICAgIHJldHVybiAobm9kZSB8fCBST09UKS5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgfSxcbiAgc2VsZWN0RWxlbWVudHM6IChzZWxlY3RvcnMsIG5vZGUpID0+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSgobm9kZSB8fCBST09UKS5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9ycykpO1xuICB9LFxuICBjcmVhdGVFbGVtZW50OiAoe1xuICAgIHRhZyxcbiAgICBhcHBlbmRUbyxcbiAgICBwcmVwZW5kVG8sXG4gICAgY2hpbGRyZW4gPSBbXSxcbiAgICBhdHRyaWJ1dGVzID0ge30sXG4gICAgZXZlbnRzID0ge30sXG4gICAgaW5uZXJIVE1MID0gbnVsbCxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7XG5cbiAgICBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGVsZW1lbnRba2V5XSA9IHZhbHVlO1xuICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoa2V5LCB2YWx1ZSk7XG4gICAgfSk7XG5cbiAgICBPYmplY3QuZW50cmllcyhldmVudHMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGtleSwgdmFsdWUpO1xuICAgIH0pO1xuXG4gICAgY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiBlbGVtZW50LmFwcGVuZENoaWxkKGNoaWxkKSk7XG5cbiAgICBpZiAoYXBwZW5kVG8pIHtcbiAgICAgIGFwcGVuZFRvLmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuICAgIH1cblxuICAgIGlmIChwcmVwZW5kVG8pIHtcbiAgICAgIHByZXBlbmRUby5wcmVwZW5kKGVsZW1lbnQpO1xuICAgIH1cblxuICAgIGlmIChpbm5lckhUTUwpIHtcbiAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gaW5uZXJIVE1MO1xuICAgIH1cblxuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBkb21VdGlscztcbiJdLCJuYW1lcyI6WyJST09UIiwiZG9jdW1lbnQiLCJib2R5Iiwid2luZG93IiwiZG9tVXRpbHMiLCJzZWxlY3RFbGVtZW50Iiwic2VsZWN0b3IiLCJub2RlIiwicXVlcnlTZWxlY3RvciIsInNlbGVjdEVsZW1lbnRzIiwic2VsZWN0b3JzIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsImNyZWF0ZUVsZW1lbnQiLCJ0YWciLCJhcHBlbmRUbyIsInByZXBlbmRUbyIsImNoaWxkcmVuIiwiYXR0cmlidXRlcyIsImV2ZW50cyIsImlubmVySFRNTCIsImVsZW1lbnQiLCJPYmplY3QiLCJlbnRyaWVzIiwiZm9yRWFjaCIsImtleSIsInZhbHVlIiwic2V0QXR0cmlidXRlIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNoaWxkIiwiYXBwZW5kQ2hpbGQiLCJwcmVwZW5kIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/utils/dom.js\n");
/***/ }),
/***/ "./src/utils/permissions.js":
/*!**********************************!*\
!*** ./src/utils/permissions.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 js_cookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! js-cookie */ \"./node_modules/js-cookie/dist/js.cookie.mjs\");\n//Request, if localStorage is available\n\nconst permissionUtils = {\n getPermissionState: () => {\n //return true;\n },\n /*isPaged: () => {\n return (location.host === \"localhost:3000\" || location.hostname === \"paged.website\");\n },*/\n getCookie: () => {\n return js_cookie__WEBPACK_IMPORTED_MODULE_0__[\"default\"].get(\"__paged.consent\");\n },\n getBrowserPermission: () => {\n let test = 'test';\n try {\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return true;\n } catch (e) {\n return false;\n }\n },\n //setExternalPermission: () => {},\n //getCookiePermission: () => true,\n\n setExternalPermission: permission => {\n js_cookie__WEBPACK_IMPORTED_MODULE_0__[\"default\"].set(\"__paged.consent\", permission, {\n sameSite: \"strict\",\n expires: 365\n });\n }\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (permissionUtils);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvdXRpbHMvcGVybWlzc2lvbnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUMrQjtBQUUvQixNQUFNQyxlQUFlLEdBQUc7RUFDcEJDLGtCQUFrQixFQUFFQSxDQUFBLEtBQU07SUFDeEI7RUFBQSxDQUNEO0VBQ0Q7QUFDSjtBQUNBO0VBQ0lDLFNBQVMsRUFBRUEsQ0FBQSxLQUFNO0lBQ2IsT0FBT0gsaURBQU0sQ0FBQ0ksR0FBRyxDQUFDLGlCQUFpQixDQUFDO0VBQ3hDLENBQUM7RUFDREMsb0JBQW9CLEVBQUVBLENBQUEsS0FBTTtJQUMxQixJQUFJQyxJQUFJLEdBQUcsTUFBTTtJQUVqQixJQUFJO01BQ0ZDLFlBQVksQ0FBQ0MsT0FBTyxDQUFDRixJQUFJLEVBQUVBLElBQUksQ0FBQztNQUNoQ0MsWUFBWSxDQUFDRSxVQUFVLENBQUNILElBQUksQ0FBQztNQUM3QixPQUFPLElBQUk7SUFDYixDQUFDLENBQUMsT0FBTUksQ0FBQyxFQUFFO01BQ1QsT0FBTyxLQUFLO0lBQ2Q7RUFDRixDQUFDO0VBQ0Q7RUFDQTs7RUFFQUMscUJBQXFCLEVBQUdDLFVBQVUsSUFBSztJQUNuQ1osaURBQU0sQ0FBQ2EsR0FBRyxDQUFDLGlCQUFpQixFQUFFRCxVQUFVLEVBQUU7TUFBRUUsUUFBUSxFQUFFLFFBQVE7TUFBRUMsT0FBTyxFQUFFO0lBQUksQ0FBQyxDQUFDO0VBQ25GO0FBRUosQ0FBQztBQUVELGlFQUFlZCxlQUFlIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vd2lkZ2V0Ly4vc3JjL3V0aWxzL3Blcm1pc3Npb25zLmpzP2JhZGUiXSwic291cmNlc0NvbnRlbnQiOlsiLy9SZXF1ZXN0LCBpZiBsb2NhbFN0b3JhZ2UgaXMgYXZhaWxhYmxlXG5pbXBvcnQgQ29va2llIGZyb20gXCJqcy1jb29raWVcIjtcblxuY29uc3QgcGVybWlzc2lvblV0aWxzID0ge1xuICAgIGdldFBlcm1pc3Npb25TdGF0ZTogKCkgPT4ge1xuICAgICAgLy9yZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIC8qaXNQYWdlZDogKCkgPT4ge1xuICAgICAgICByZXR1cm4gKGxvY2F0aW9uLmhvc3QgPT09IFwibG9jYWxob3N0OjMwMDBcIiB8fCBsb2NhdGlvbi5ob3N0bmFtZSA9PT0gXCJwYWdlZC53ZWJzaXRlXCIpO1xuICAgIH0sKi9cbiAgICBnZXRDb29raWU6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIENvb2tpZS5nZXQoXCJfX3BhZ2VkLmNvbnNlbnRcIik7XG4gICAgfSxcbiAgICBnZXRCcm93c2VyUGVybWlzc2lvbjogKCkgPT4ge1xuICAgICAgbGV0IHRlc3QgPSAndGVzdCc7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRlc3QsIHRlc3QpO1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0ZXN0KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0sXG4gICAgLy9zZXRFeHRlcm5hbFBlcm1pc3Npb246ICgpID0+IHt9LFxuICAgIC8vZ2V0Q29va2llUGVybWlzc2lvbjogKCkgPT4gdHJ1ZSxcblxuICAgIHNldEV4dGVybmFsUGVybWlzc2lvbjogKHBlcm1pc3Npb24pID0+IHtcbiAgICAgICAgQ29va2llLnNldChcIl9fcGFnZWQuY29uc2VudFwiLCBwZXJtaXNzaW9uLCB7IHNhbWVTaXRlOiBcInN0cmljdFwiLCBleHBpcmVzOiAzNjUgfSlcbiAgICB9XG5cbn1cblxuZXhwb3J0IGRlZmF1bHQgcGVybWlzc2lvblV0aWxzO1xuIl0sIm5hbWVzIjpbIkNvb2tpZSIsInBlcm1pc3Npb25VdGlscyIsImdldFBlcm1pc3Npb25TdGF0ZSIsImdldENvb2tpZSIsImdldCIsImdldEJyb3dzZXJQZXJtaXNzaW9uIiwidGVzdCIsImxvY2FsU3RvcmFnZSIsInNldEl0ZW0iLCJyZW1vdmVJdGVtIiwiZSIsInNldEV4dGVybmFsUGVybWlzc2lvbiIsInBlcm1pc3Npb24iLCJzZXQiLCJzYW1lU2l0ZSIsImV4cGlyZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/utils/permissions.js\n");
/***/ }),
/***/ "./node_modules/babel-regenerator-runtime/runtime.js":
/*!***********************************************************!*\
!*** ./node_modules/babel-regenerator-runtime/runtime.js ***!
\***********************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval("/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var hasOwn = Object.prototype.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var iteratorSymbol =\n typeof Symbol === \"function\" && Symbol.iterator || \"@@iterator\";\n\n var inModule = \"object\" === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided, then outerFn.prototype instanceof Generator.\n var generator = Object.create((outerFn || Generator).prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype;\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `value instanceof AwaitArgument` to determine if the yielded value is\n // meant to be awaited. Some may consider the name of this method too\n // cutesy, but they are curmudgeons.\n runtime.awrap = function(arg) {\n return new AwaitArgument(arg);\n };\n\n function AwaitArgument(arg) {\n this.arg = arg;\n }\n\n function AsyncIterator(generator) {\n // This invoke function is written in a style that assumes some\n // calling function (or Promise) will handle exceptions.\n function invoke(method, arg) {\n var result = generator[method](arg);\n var value = result.value;\n return value instanceof AwaitArgument\n ? Promise.resolve(value.arg).then(invokeNext, invokeThrow)\n : Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n return result;\n });\n }\n\n if (typeof process === \"object\" && process.domain) {\n invoke = process.domain.bind(invoke);\n }\n\n var invokeNext = invoke.bind(generator, \"next\");\n var invokeThrow = invoke.bind(generator, \"throw\");\n var invokeReturn = invoke.bind(generator, \"return\");\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return invoke(method, arg);\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : new Promise(function (resolve) {\n resolve(callInvokeWithMethodAndArg());\n });\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n if (method === \"return\" ||\n (method === \"throw\" && delegate.iterator[method] === undefined)) {\n // A return or throw (when the delegate iterator has no throw\n // method) always terminates the yield* loop.\n context.delegate = null;\n\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n var returnMethod = delegate.iterator[\"return\"];\n if (returnMethod) {\n var record = tryCatch(returnMethod, delegate.iterator, arg);\n if (record.type === \"throw\") {\n // If the return method threw an exception, let that\n // exception prevail over the original return or throw.\n method = \"throw\";\n arg = record.arg;\n continue;\n }\n }\n\n if (method === \"return\") {\n // Continue with the outer return, now that the delegate\n // iterator has been terminated.\n continue;\n }\n }\n\n var record = tryCatch(\n delegate.iterator[method],\n delegate.iterator,\n arg\n );\n\n if (record.type === \"throw\") {\n context.delegate = null;\n\n // Like returning generator.throw(uncaught), but without the\n // overhead of an extra function call.\n method = \"throw\";\n arg = record.arg;\n continue;\n }\n\n // Delegate generator ran and handled its own exceptions so\n // regardless of what the method was, we continue as if it is\n // \"next\" with an undefined arg.\n method = \"next\";\n arg = undefined;\n\n var info = record.arg;\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n } else {\n state = GenStateSuspendedYield;\n return info;\n }\n\n context.delegate = null;\n }\n\n if (method === \"next\") {\n context._sent = arg;\n\n if (state === GenStateSuspendedYield) {\n context.sent = arg;\n } else {\n context.sent = undefined;\n }\n } else if (method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw arg;\n }\n\n if (context.dispatchException(arg)) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n method = \"next\";\n arg = undefined;\n }\n\n } else if (method === \"return\") {\n context.abrupt(\"return\", arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n var info = {\n value: record.arg,\n done: context.done\n };\n\n if (record.arg === ContinueSentinel) {\n if (context.delegate && method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n arg = undefined;\n }\n } else {\n return info;\n }\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(arg) call above.\n method = \"throw\";\n arg = record.arg;\n }\n }\n };\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n this.sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.next = finallyEntry.finallyLoc;\n } else {\n this.complete(record);\n }\n\n return ContinueSentinel;\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = record.arg;\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof __webpack_require__.g === \"object\" ? __webpack_require__.g :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtcmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7O0FBRUEsaUJBQWlCLFFBQWE7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2YsTUFBTTtBQUNOLGVBQWU7QUFDZjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsV0FBVztBQUNyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsVUFBVTtBQUNWO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7O0FBRUEsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUMsbUJBQW1CO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQjs7QUFFbEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLGdCQUFnQjtBQUN6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGFBQWE7QUFDYjtBQUNBOztBQUVBO0FBQ0EsYUFBYTtBQUNiOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLCtDQUErQyxRQUFRO0FBQ3ZEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTs7QUFFQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7O0FBRUEsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLCtDQUErQyxRQUFRO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsK0NBQStDLFFBQVE7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsK0NBQStDLFFBQVE7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLFNBQVMscUJBQU0sZ0JBQWdCLHFCQUFNO0FBQ3JDO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL3dpZGdldC8uL25vZGVfbW9kdWxlcy9iYWJlbC1yZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWUuanM/MDEyOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxNCwgRmFjZWJvb2ssIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBodHRwczovL3Jhdy5naXRodWIuY29tL2ZhY2Vib29rL3JlZ2VuZXJhdG9yL21hc3Rlci9MSUNFTlNFIGZpbGUuIEFuXG4gKiBhZGRpdGlvbmFsIGdyYW50IG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW5cbiAqIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqL1xuXG4hKGZ1bmN0aW9uKGdsb2JhbCkge1xuICBcInVzZSBzdHJpY3RcIjtcblxuICB2YXIgaGFzT3duID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbiAgdmFyIHVuZGVmaW5lZDsgLy8gTW9yZSBjb21wcmVzc2libGUgdGhhbiB2b2lkIDAuXG4gIHZhciBpdGVyYXRvclN5bWJvbCA9XG4gICAgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIFN5bWJvbC5pdGVyYXRvciB8fCBcIkBAaXRlcmF0b3JcIjtcblxuICB2YXIgaW5Nb2R1bGUgPSB0eXBlb2YgbW9kdWxlID09PSBcIm9iamVjdFwiO1xuICB2YXIgcnVudGltZSA9IGdsb2JhbC5yZWdlbmVyYXRvclJ1bnRpbWU7XG4gIGlmIChydW50aW1lKSB7XG4gICAgaWYgKGluTW9kdWxlKSB7XG4gICAgICAvLyBJZiByZWdlbmVyYXRvclJ1bnRpbWUgaXMgZGVmaW5lZCBnbG9iYWxseSBhbmQgd2UncmUgaW4gYSBtb2R1bGUsXG4gICAgICAvLyBtYWtlIHRoZSBleHBvcnRzIG9iamVjdCBpZGVudGljYWwgdG8gcmVnZW5lcmF0b3JSdW50aW1lLlxuICAgICAgbW9kdWxlLmV4cG9ydHMgPSBydW50aW1lO1xuICAgIH1cbiAgICAvLyBEb24ndCBib3RoZXIgZXZhbHVhdGluZyB0aGUgcmVzdCBvZiB0aGlzIGZpbGUgaWYgdGhlIHJ1bnRpbWUgd2FzXG4gICAgLy8gYWxyZWFkeSBkZWZpbmVkIGdsb2JhbGx5LlxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIERlZmluZSB0aGUgcnVudGltZSBnbG9iYWxseSAoYXMgZXhwZWN0ZWQgYnkgZ2VuZXJhdGVkIGNvZGUpIGFzIGVpdGhlclxuICAvLyBtb2R1bGUuZXhwb3J0cyAoaWYgd2UncmUgaW4gYSBtb2R1bGUpIG9yIGEgbmV3LCBlbXB0eSBvYmplY3QuXG4gIHJ1bnRpbWUgPSBnbG9iYWwucmVnZW5lcmF0b3JSdW50aW1lID0gaW5Nb2R1bGUgPyBtb2R1bGUuZXhwb3J0cyA6IHt9O1xuXG4gIGZ1bmN0aW9uIHdyYXAoaW5uZXJGbiwgb3V0ZXJGbiwgc2VsZiwgdHJ5TG9jc0xpc3QpIHtcbiAgICAvLyBJZiBvdXRlckZuIHByb3ZpZGVkLCB0aGVuIG91dGVyRm4ucHJvdG90eXBlIGluc3RhbmNlb2YgR2VuZXJhdG9yLlxuICAgIHZhciBnZW5lcmF0b3IgPSBPYmplY3QuY3JlYXRlKChvdXRlckZuIHx8IEdlbmVyYXRvcikucHJvdG90eXBlKTtcbiAgICB2YXIgY29udGV4dCA9IG5ldyBDb250ZXh0KHRyeUxvY3NMaXN0IHx8IFtdKTtcblxuICAgIC8vIFRoZSAuX2ludm9rZSBtZXRob2QgdW5pZmllcyB0aGUgaW1wbGVtZW50YXRpb25zIG9mIHRoZSAubmV4dCxcbiAgICAvLyAudGhyb3csIGFuZCAucmV0dXJuIG1ldGhvZHMuXG4gICAgZ2VuZXJhdG9yLl9pbnZva2UgPSBtYWtlSW52b2tlTWV0aG9kKGlubmVyRm4sIHNlbGYsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGdlbmVyYXRvcjtcbiAgfVxuICBydW50aW1lLndyYXAgPSB3cmFwO1xuXG4gIC8vIFRyeS9jYXRjaCBoZWxwZXIgdG8gbWluaW1pemUgZGVvcHRpbWl6YXRpb25zLiBSZXR1cm5zIGEgY29tcGxldGlvblxuICAvLyByZWNvcmQgbGlrZSBjb250ZXh0LnRyeUVudHJpZXNbaV0uY29tcGxldGlvbi4gVGhpcyBpbnRlcmZhY2UgY291bGRcbiAgLy8gaGF2ZSBiZWVuIChhbmQgd2FzIHByZXZpb3VzbHkpIGRlc2lnbmVkIHRvIHRha2UgYSBjbG9zdXJlIHRvIGJlXG4gIC8vIGludm9rZWQgd2l0aG91dCBhcmd1bWVudHMsIGJ1dCBpbiBhbGwgdGhlIGNhc2VzIHdlIGNhcmUgYWJvdXQgd2VcbiAgLy8gYWxyZWFkeSBoYXZlIGFuIGV4aXN0aW5nIG1ldGhvZCB3ZSB3YW50IHRvIGNhbGwsIHNvIHRoZXJlJ3Mgbm8gbmVlZFxuICAvLyB0byBjcmVhdGUgYSBuZXcgZnVuY3Rpb24gb2JqZWN0LiBXZSBjYW4gZXZlbiBnZXQgYXdheSB3aXRoIGFzc3VtaW5nXG4gIC8vIHRoZSBtZXRob2QgdGFrZXMgZXhhY3RseSBvbmUgYXJndW1lbnQsIHNpbmNlIHRoYXQgaGFwcGVucyB0byBiZSB0cnVlXG4gIC8vIGluIGV2ZXJ5IGNhc2UsIHNvIHdlIGRvbid0IGhhdmUgdG8gdG91Y2ggdGhlIGFyZ3VtZW50cyBvYmplY3QuIFRoZVxuICAvLyBvbmx5IGFkZGl0aW9uYWwgYWxsb2NhdGlvbiByZXF1aXJlZCBpcyB0aGUgY29tcGxldGlvbiByZWNvcmQsIHdoaWNoXG4gIC8vIGhhcyBhIHN0YWJsZSBzaGFwZSBhbmQgc28gaG9wZWZ1bGx5IHNob3VsZCBiZSBjaGVhcCB0byBhbGxvY2F0ZS5cbiAgZnVuY3Rpb24gdHJ5Q2F0Y2goZm4sIG9iaiwgYXJnKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB7IHR5cGU6IFwibm9ybWFsXCIsIGFyZzogZm4uY2FsbChvYmosIGFyZykgfTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6IFwidGhyb3dcIiwgYXJnOiBlcnIgfTtcbiAgICB9XG4gIH1cblxuICB2YXIgR2VuU3RhdGVTdXNwZW5kZWRTdGFydCA9IFwic3VzcGVuZGVkU3RhcnRcIjtcbiAgdmFyIEdlblN0YXRlU3VzcGVuZGVkWWllbGQgPSBcInN1c3BlbmRlZFlpZWxkXCI7XG4gIHZhciBHZW5TdGF0ZUV4ZWN1dGluZyA9IFwiZXhlY3V0aW5nXCI7XG4gIHZhciBHZW5TdGF0ZUNvbXBsZXRlZCA9IFwiY29tcGxldGVkXCI7XG5cbiAgLy8gUmV0dXJuaW5nIHRoaXMgb2JqZWN0IGZyb20gdGhlIGlubmVyRm4gaGFzIHRoZSBzYW1lIGVmZmVjdCBhc1xuICAvLyBicmVha2luZyBvdXQgb2YgdGhlIGRpc3BhdGNoIHN3aXRjaCBzdGF0ZW1lbnQuXG4gIHZhciBDb250aW51ZVNlbnRpbmVsID0ge307XG5cbiAgLy8gRHVtbXkgY29uc3RydWN0b3IgZnVuY3Rpb25zIHRoYXQgd2UgdXNlIGFzIHRoZSAuY29uc3RydWN0b3IgYW5kXG4gIC8vIC5jb25zdHJ1Y3Rvci5wcm90b3R5cGUgcHJvcGVydGllcyBmb3IgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIEdlbmVyYXRvclxuICAvLyBvYmplY3RzLiBGb3IgZnVsbCBzcGVjIGNvbXBsaWFuY2UsIHlvdSBtYXkgd2lzaCB0byBjb25maWd1cmUgeW91clxuICAvLyBtaW5pZmllciBub3QgdG8gbWFuZ2xlIHRoZSBuYW1lcyBvZiB0aGVzZSB0d28gZnVuY3Rpb25zLlxuICBmdW5jdGlvbiBHZW5lcmF0b3IoKSB7fVxuICBmdW5jdGlvbiBHZW5lcmF0b3JGdW5jdGlvbigpIHt9XG4gIGZ1bmN0aW9uIEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlKCkge31cblxuICB2YXIgR3AgPSBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5wcm90b3R5cGUgPSBHZW5lcmF0b3IucHJvdG90eXBlO1xuICBHZW5lcmF0b3JGdW5jdGlvbi5wcm90b3R5cGUgPSBHcC5jb25zdHJ1Y3RvciA9IEdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlO1xuICBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEdlbmVyYXRvckZ1bmN0aW9uO1xuICBHZW5lcmF0b3JGdW5jdGlvbi5kaXNwbGF5TmFtZSA9IFwiR2VuZXJhdG9yRnVuY3Rpb25cIjtcblxuICAvLyBIZWxwZXIgZm9yIGRlZmluaW5nIHRoZSAubmV4dCwgLnRocm93LCBhbmQgLnJldHVybiBtZXRob2RzIG9mIHRoZVxuICAvLyBJdGVyYXRvciBpbnRlcmZhY2UgaW4gdGVybXMgb2YgYSBzaW5nbGUgLl9pbnZva2UgbWV0aG9kLlxuICBmdW5jdGlvbiBkZWZpbmVJdGVyYXRvck1ldGhvZHMocHJvdG90eXBlKSB7XG4gICAgW1wibmV4dFwiLCBcInRocm93XCIsIFwicmV0dXJuXCJdLmZvckVhY2goZnVuY3Rpb24obWV0aG9kKSB7XG4gICAgICBwcm90b3R5cGVbbWV0aG9kXSA9IGZ1bmN0aW9uKGFyZykge1xuICAgICAgICByZXR1cm4gdGhpcy5faW52b2tlKG1ldGhvZCwgYXJnKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBydW50aW1lLmlzR2VuZXJhdG9yRnVuY3Rpb24gPSBmdW5jdGlvbihnZW5GdW4pIHtcbiAgICB2YXIgY3RvciA9IHR5cGVvZiBnZW5GdW4gPT09IFwiZnVuY3Rpb25cIiAmJiBnZW5GdW4uY29uc3RydWN0b3I7XG4gICAgcmV0dXJuIGN0b3JcbiAgICAgID8gY3RvciA9PT0gR2VuZXJhdG9yRnVuY3Rpb24gfHxcbiAgICAgICAgLy8gRm9yIHRoZSBuYXRpdmUgR2VuZXJhdG9yRnVuY3Rpb24gY29uc3RydWN0b3IsIHRoZSBiZXN0IHdlIGNhblxuICAgICAgICAvLyBkbyBpcyB0byBjaGVjayBpdHMgLm5hbWUgcHJvcGVydHkuXG4gICAgICAgIChjdG9yLmRpc3BsYXlOYW1lIHx8IGN0b3IubmFtZSkgPT09IFwiR2VuZXJhdG9yRnVuY3Rpb25cIlxuICAgICAgOiBmYWxzZTtcbiAgfTtcblxuICBydW50aW1lLm1hcmsgPSBmdW5jdGlvbihnZW5GdW4pIHtcbiAgICBpZiAoT2JqZWN0LnNldFByb3RvdHlwZU9mKSB7XG4gICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YoZ2VuRnVuLCBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdlbkZ1bi5fX3Byb3RvX18gPSBHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZTtcbiAgICB9XG4gICAgZ2VuRnVuLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoR3ApO1xuICAgIHJldHVybiBnZW5GdW47XG4gIH07XG5cbiAgLy8gV2l0aGluIHRoZSBib2R5IG9mIGFueSBhc3luYyBmdW5jdGlvbiwgYGF3YWl0IHhgIGlzIHRyYW5zZm9ybWVkIHRvXG4gIC8vIGB5aWVsZCByZWdlbmVyYXRvclJ1bnRpbWUuYXdyYXAoeClgLCBzbyB0aGF0IHRoZSBydW50aW1lIGNhbiB0ZXN0XG4gIC8vIGB2YWx1ZSBpbnN0YW5jZW9mIEF3YWl0QXJndW1lbnRgIHRvIGRldGVybWluZSBpZiB0aGUgeWllbGRlZCB2YWx1ZSBpc1xuICAvLyBtZWFudCB0byBiZSBhd2FpdGVkLiBTb21lIG1heSBjb25zaWRlciB0aGUgbmFtZSBvZiB0aGlzIG1ldGhvZCB0b29cbiAgLy8gY3V0ZXN5LCBidXQgdGhleSBhcmUgY3VybXVkZ2VvbnMuXG4gIHJ1bnRpbWUuYXdyYXAgPSBmdW5jdGlvbihhcmcpIHtcbiAgICByZXR1cm4gbmV3IEF3YWl0QXJndW1lbnQoYXJnKTtcbiAgfTtcblxuICBmdW5jdGlvbiBBd2FpdEFyZ3VtZW50KGFyZykge1xuICAgIHRoaXMuYXJnID0gYXJnO1xuICB9XG5cbiAgZnVuY3Rpb24gQXN5bmNJdGVyYXRvcihnZW5lcmF0b3IpIHtcbiAgICAvLyBUaGlzIGludm9rZSBmdW5jdGlvbiBpcyB3cml0dGVuIGluIGEgc3R5bGUgdGhhdCBhc3N1bWVzIHNvbWVcbiAgICAvLyBjYWxsaW5nIGZ1bmN0aW9uIChvciBQcm9taXNlKSB3aWxsIGhhbmRsZSBleGNlcHRpb25zLlxuICAgIGZ1bmN0aW9uIGludm9rZShtZXRob2QsIGFyZykge1xuICAgICAgdmFyIHJlc3VsdCA9IGdlbmVyYXRvclttZXRob2RdKGFyZyk7XG4gICAgICB2YXIgdmFsdWUgPSByZXN1bHQudmFsdWU7XG4gICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBBd2FpdEFyZ3VtZW50XG4gICAgICAgID8gUHJvbWlzZS5yZXNvbHZlKHZhbHVlLmFyZykudGhlbihpbnZva2VOZXh0LCBpbnZva2VUaHJvdylcbiAgICAgICAgOiBQcm9taXNlLnJlc29sdmUodmFsdWUpLnRoZW4oZnVuY3Rpb24odW53cmFwcGVkKSB7XG4gICAgICAgICAgICAvLyBXaGVuIGEgeWllbGRlZCBQcm9taXNlIGlzIHJlc29sdmVkLCBpdHMgZmluYWwgdmFsdWUgYmVjb21lc1xuICAgICAgICAgICAgLy8gdGhlIC52YWx1ZSBvZiB0aGUgUHJvbWlzZTx7dmFsdWUsZG9uZX0+IHJlc3VsdCBmb3IgdGhlXG4gICAgICAgICAgICAvLyBjdXJyZW50IGl0ZXJhdGlvbi4gSWYgdGhlIFByb21pc2UgaXMgcmVqZWN0ZWQsIGhvd2V2ZXIsIHRoZVxuICAgICAgICAgICAgLy8gcmVzdWx0IGZvciB0aGlzIGl0ZXJhdGlvbiB3aWxsIGJlIHJlamVjdGVkIHdpdGggdGhlIHNhbWVcbiAgICAgICAgICAgIC8vIHJlYXNvbi4gTm90ZSB0aGF0IHJlamVjdGlvbnMgb2YgeWllbGRlZCBQcm9taXNlcyBhcmUgbm90XG4gICAgICAgICAgICAvLyB0aHJvd24gYmFjayBpbnRvIHRoZSBnZW5lcmF0b3IgZnVuY3Rpb24sIGFzIGlzIHRoZSBjYXNlXG4gICAgICAgICAgICAvLyB3aGVuIGFuIGF3YWl0ZWQgUHJvbWlzZSBpcyByZWplY3RlZC4gVGhpcyBkaWZmZXJlbmNlIGluXG4gICAgICAgICAgICAvLyBiZWhhdmlvciBiZXR3ZWVuIHlpZWxkIGFuZCBhd2FpdCBpcyBpbXBvcnRhbnQsIGJlY2F1c2UgaXRcbiAgICAgICAgICAgIC8vIGFsbG93cyB0aGUgY29uc3VtZXIgdG8gZGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGUgeWllbGRlZFxuICAgICAgICAgICAgLy8gcmVqZWN0aW9uIChzd2FsbG93IGl0IGFuZCBjb250aW51ZSwgbWFudWFsbHkgLnRocm93IGl0IGJhY2tcbiAgICAgICAgICAgIC8vIGludG8gdGhlIGdlbmVyYXRvciwgYWJhbmRvbiBpdGVyYXRpb24sIHdoYXRldmVyKS4gV2l0aFxuICAgICAgICAgICAgLy8gYXdhaXQsIGJ5IGNvbnRyYXN0LCB0aGVyZSBpcyBubyBvcHBvcnR1bml0eSB0byBleGFtaW5lIHRoZVxuICAgICAgICAgICAgLy8gcmVqZWN0aW9uIHJlYXNvbiBvdXRzaWRlIHRoZSBnZW5lcmF0b3IgZnVuY3Rpb24sIHNvIHRoZVxuICAgICAgICAgICAgLy8gb25seSBvcHRpb24gaXMgdG8gdGhyb3cgaXQgZnJvbSB0aGUgYXdhaXQgZXhwcmVzc2lvbiwgYW5kXG4gICAgICAgICAgICAvLyBsZXQgdGhlIGdlbmVyYXRvciBmdW5jdGlvbiBoYW5kbGUgdGhlIGV4Y2VwdGlvbi5cbiAgICAgICAgICAgIHJlc3VsdC52YWx1ZSA9IHVud3JhcHBlZDtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBwcm9jZXNzID09PSBcIm9iamVjdFwiICYmIHByb2Nlc3MuZG9tYWluKSB7XG4gICAgICBpbnZva2UgPSBwcm9jZXNzLmRvbWFpbi5iaW5kKGludm9rZSk7XG4gICAgfVxuXG4gICAgdmFyIGludm9rZU5leHQgPSBpbnZva2UuYmluZChnZW5lcmF0b3IsIFwibmV4dFwiKTtcbiAgICB2YXIgaW52b2tlVGhyb3cgPSBpbnZva2UuYmluZChnZW5lcmF0b3IsIFwidGhyb3dcIik7XG4gICAgdmFyIGludm9rZVJldHVybiA9IGludm9rZS5iaW5kKGdlbmVyYXRvciwgXCJyZXR1cm5cIik7XG4gICAgdmFyIHByZXZpb3VzUHJvbWlzZTtcblxuICAgIGZ1bmN0aW9uIGVucXVldWUobWV0aG9kLCBhcmcpIHtcbiAgICAgIGZ1bmN0aW9uIGNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnKCkge1xuICAgICAgICByZXR1cm4gaW52b2tlKG1ldGhvZCwgYXJnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHByZXZpb3VzUHJvbWlzZSA9XG4gICAgICAgIC8vIElmIGVucXVldWUgaGFzIGJlZW4gY2FsbGVkIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIHdhaXQgdW50aWxcbiAgICAgICAgLy8gYWxsIHByZXZpb3VzIFByb21pc2VzIGhhdmUgYmVlbiByZXNvbHZlZCBiZWZvcmUgY2FsbGluZyBpbnZva2UsXG4gICAgICAgIC8vIHNvIHRoYXQgcmVzdWx0cyBhcmUgYWx3YXlzIGRlbGl2ZXJlZCBpbiB0aGUgY29ycmVjdCBvcmRlci4gSWZcbiAgICAgICAgLy8gZW5xdWV1ZSBoYXMgbm90IGJlZW4gY2FsbGVkIGJlZm9yZSwgdGhlbiBpdCBpcyBpbXBvcnRhbnQgdG9cbiAgICAgICAgLy8gY2FsbCBpbnZva2UgaW1tZWRpYXRlbHksIHdpdGhvdXQgd2FpdGluZyBvbiBhIGNhbGxiYWNrIHRvIGZpcmUsXG4gICAgICAgIC8vIHNvIHRoYXQgdGhlIGFzeW5jIGdlbmVyYXRvciBmdW5jdGlvbiBoYXMgdGhlIG9wcG9ydHVuaXR5IHRvIGRvXG4gICAgICAgIC8vIGFueSBuZWNlc3Nhcnkgc2V0dXAgaW4gYSBwcmVkaWN0YWJsZSB3YXkuIFRoaXMgcHJlZGljdGFiaWxpdHlcbiAgICAgICAgLy8gaXMgd2h5IHRoZSBQcm9taXNlIGNvbnN0cnVjdG9yIHN5bmNocm9ub3VzbHkgaW52b2tlcyBpdHNcbiAgICAgICAgLy8gZXhlY3V0b3IgY2FsbGJhY2ssIGFuZCB3aHkgYXN5bmMgZnVuY3Rpb25zIHN5bmNocm9ub3VzbHlcbiAgICAgICAgLy8gZXhlY3V0ZSBjb2RlIGJlZm9yZSB0aGUgZmlyc3QgYXdhaXQuIFNpbmNlIHdlIGltcGxlbWVudCBzaW1wbGVcbiAgICAgICAgLy8gYXN5bmMgZnVuY3Rpb25zIGluIHRlcm1zIG9mIGFzeW5jIGdlbmVyYXRvcnMsIGl0IGlzIGVzcGVjaWFsbHlcbiAgICAgICAgLy8gaW1wb3J0YW50IHRvIGdldCB0aGlzIHJpZ2h0LCBldmVuIHRob3VnaCBpdCByZXF1aXJlcyBjYXJlLlxuICAgICAgICBwcmV2aW91c1Byb21pc2UgPyBwcmV2aW91c1Byb21pc2UudGhlbihcbiAgICAgICAgICBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyxcbiAgICAgICAgICAvLyBBdm9pZCBwcm9wYWdhdGluZyBmYWlsdXJlcyB0byBQcm9taXNlcyByZXR1cm5lZCBieSBsYXRlclxuICAgICAgICAgIC8vIGludm9jYXRpb25zIG9mIHRoZSBpdGVyYXRvci5cbiAgICAgICAgICBjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZ1xuICAgICAgICApIDogbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHtcbiAgICAgICAgICByZXNvbHZlKGNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnKCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBEZWZpbmUgdGhlIHVuaWZpZWQgaGVscGVyIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gaW1wbGVtZW50IC5uZXh0LFxuICAgIC8vIC50aHJvdywgYW5kIC5yZXR1cm4gKHNlZSBkZWZpbmVJdGVyYXRvck1ldGhvZHMpLlxuICAgIHRoaXMuX2ludm9rZSA9IGVucXVldWU7XG4gIH1cblxuICBkZWZpbmVJdGVyYXRvck1ldGhvZHMoQXN5bmNJdGVyYXRvci5wcm90b3R5cGUpO1xuXG4gIC8vIE5vdGUgdGhhdCBzaW1wbGUgYXN5bmMgZnVuY3Rpb25zIGFyZSBpbXBsZW1lbnRlZCBvbiB0b3Agb2ZcbiAgLy8gQXN5bmNJdGVyYXRvciBvYmplY3RzOyB0aGV5IGp1c3QgcmV0dXJuIGEgUHJvbWlzZSBmb3IgdGhlIHZhbHVlIG9mXG4gIC8vIHRoZSBmaW5hbCByZXN1bHQgcHJvZHVjZWQgYnkgdGhlIGl0ZXJhdG9yLlxuICBydW50aW1lLmFzeW5jID0gZnVuY3Rpb24oaW5uZXJGbiwgb3V0ZXJGbiwgc2VsZiwgdHJ5TG9jc0xpc3QpIHtcbiAgICB2YXIgaXRlciA9IG5ldyBBc3luY0l0ZXJhdG9yKFxuICAgICAgd3JhcChpbm5lckZuLCBvdXRlckZuLCBzZWxmLCB0cnlMb2NzTGlzdClcbiAgICApO1xuXG4gICAgcmV0dXJuIHJ1bnRpbWUuaXNHZW5lcmF0b3JGdW5jdGlvbihvdXRlckZuKVxuICAgICAgPyBpdGVyIC8vIElmIG91dGVyRm4gaXMgYSBnZW5lcmF0b3IsIHJldHVybiB0aGUgZnVsbCBpdGVyYXRvci5cbiAgICAgIDogaXRlci5uZXh0KCkudGhlbihmdW5jdGlvbihyZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0LmRvbmUgPyByZXN1bHQudmFsdWUgOiBpdGVyLm5leHQoKTtcbiAgICAgICAgfSk7XG4gIH07XG5cbiAgZnVuY3Rpb24gbWFrZUludm9rZU1ldGhvZChpbm5lckZuLCBzZWxmLCBjb250ZXh0KSB7XG4gICAgdmFyIHN0YXRlID0gR2VuU3RhdGVTdXNwZW5kZWRTdGFydDtcblxuICAgIHJldHVybiBmdW5jdGlvbiBpbnZva2UobWV0aG9kLCBhcmcpIHtcbiAgICAgIGlmIChzdGF0ZSA9PT0gR2VuU3RhdGVFeGVjdXRpbmcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZ1wiKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHN0YXRlID09PSBHZW5TdGF0ZUNvbXBsZXRlZCkge1xuICAgICAgICBpZiAobWV0aG9kID09PSBcInRocm93XCIpIHtcbiAgICAgICAgICB0aHJvdyBhcmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBCZSBmb3JnaXZpbmcsIHBlciAyNS4zLjMuMy4zIG9mIHRoZSBzcGVjOlxuICAgICAgICAvLyBodHRwczovL3Blb3BsZS5tb3ppbGxhLm9yZy9+am9yZW5kb3JmZi9lczYtZHJhZnQuaHRtbCNzZWMtZ2VuZXJhdG9ycmVzdW1lXG4gICAgICAgIHJldHVybiBkb25lUmVzdWx0KCk7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHZhciBkZWxlZ2F0ZSA9IGNvbnRleHQuZGVsZWdhdGU7XG4gICAgICAgIGlmIChkZWxlZ2F0ZSkge1xuICAgICAgICAgIGlmIChtZXRob2QgPT09IFwicmV0dXJuXCIgfHxcbiAgICAgICAgICAgICAgKG1ldGhvZCA9PT0gXCJ0aHJvd1wiICYmIGRlbGVnYXRlLml0ZXJhdG9yW21ldGhvZF0gPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICAgIC8vIEEgcmV0dXJuIG9yIHRocm93ICh3aGVuIHRoZSBkZWxlZ2F0ZSBpdGVyYXRvciBoYXMgbm8gdGhyb3dcbiAgICAgICAgICAgIC8vIG1ldGhvZCkgYWx3YXlzIHRlcm1pbmF0ZXMgdGhlIHlpZWxkKiBsb29wLlxuICAgICAgICAgICAgY29udGV4dC5kZWxlZ2F0ZSA9IG51bGw7XG5cbiAgICAgICAgICAgIC8vIElmIHRoZSBkZWxlZ2F0ZSBpdGVyYXRvciBoYXMgYSByZXR1cm4gbWV0aG9kLCBnaXZlIGl0IGFcbiAgICAgICAgICAgIC8vIGNoYW5jZSB0byBjbGVhbiB1cC5cbiAgICAgICAgICAgIHZhciByZXR1cm5NZXRob2QgPSBkZWxlZ2F0ZS5pdGVyYXRvcltcInJldHVyblwiXTtcbiAgICAgICAgICAgIGlmIChyZXR1cm5NZXRob2QpIHtcbiAgICAgICAgICAgICAgdmFyIHJlY29yZCA9IHRyeUNhdGNoKHJldHVybk1ldGhvZCwgZGVsZWdhdGUuaXRlcmF0b3IsIGFyZyk7XG4gICAgICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIHJldHVybiBtZXRob2QgdGhyZXcgYW4gZXhjZXB0aW9uLCBsZXQgdGhhdFxuICAgICAgICAgICAgICAgIC8vIGV4Y2VwdGlvbiBwcmV2YWlsIG92ZXIgdGhlIG9yaWdpbmFsIHJldHVybiBvciB0aHJvdy5cbiAgICAgICAgICAgICAgICBtZXRob2QgPSBcInRocm93XCI7XG4gICAgICAgICAgICAgICAgYXJnID0gcmVjb3JkLmFyZztcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobWV0aG9kID09PSBcInJldHVyblwiKSB7XG4gICAgICAgICAgICAgIC8vIENvbnRpbnVlIHdpdGggdGhlIG91dGVyIHJldHVybiwgbm93IHRoYXQgdGhlIGRlbGVnYXRlXG4gICAgICAgICAgICAgIC8vIGl0ZXJhdG9yIGhhcyBiZWVuIHRlcm1pbmF0ZWQuXG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciByZWNvcmQgPSB0cnlDYXRjaChcbiAgICAgICAgICAgIGRlbGVnYXRlLml0ZXJhdG9yW21ldGhvZF0sXG4gICAgICAgICAgICBkZWxlZ2F0ZS5pdGVyYXRvcixcbiAgICAgICAgICAgIGFyZ1xuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgICAgY29udGV4dC5kZWxlZ2F0ZSA9IG51bGw7XG5cbiAgICAgICAgICAgIC8vIExpa2UgcmV0dXJuaW5nIGdlbmVyYXRvci50aHJvdyh1bmNhdWdodCksIGJ1dCB3aXRob3V0IHRoZVxuICAgICAgICAgICAgLy8gb3ZlcmhlYWQgb2YgYW4gZXh0cmEgZnVuY3Rpb24gY2FsbC5cbiAgICAgICAgICAgIG1ldGhvZCA9IFwidGhyb3dcIjtcbiAgICAgICAgICAgIGFyZyA9IHJlY29yZC5hcmc7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBEZWxlZ2F0ZSBnZW5lcmF0b3IgcmFuIGFuZCBoYW5kbGVkIGl0cyBvd24gZXhjZXB0aW9ucyBzb1xuICAgICAgICAgIC8vIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGUgbWV0aG9kIHdhcywgd2UgY29udGludWUgYXMgaWYgaXQgaXNcbiAgICAgICAgICAvLyBcIm5leHRcIiB3aXRoIGFuIHVuZGVmaW5lZCBhcmcuXG4gICAgICAgICAgbWV0aG9kID0gXCJuZXh0XCI7XG4gICAgICAgICAgYXJnID0gdW5kZWZpbmVkO1xuXG4gICAgICAgICAgdmFyIGluZm8gPSByZWNvcmQuYXJnO1xuICAgICAgICAgIGlmIChpbmZvLmRvbmUpIHtcbiAgICAgICAgICAgIGNvbnRleHRbZGVsZWdhdGUucmVzdWx0TmFtZV0gPSBpbmZvLnZhbHVlO1xuICAgICAgICAgICAgY29udGV4dC5uZXh0ID0gZGVsZWdhdGUubmV4dExvYztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhdGUgPSBHZW5TdGF0ZVN1c3BlbmRlZFlpZWxkO1xuICAgICAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29udGV4dC5kZWxlZ2F0ZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWV0aG9kID09PSBcIm5leHRcIikge1xuICAgICAgICAgIGNvbnRleHQuX3NlbnQgPSBhcmc7XG5cbiAgICAgICAgICBpZiAoc3RhdGUgPT09IEdlblN0YXRlU3VzcGVuZGVkWWllbGQpIHtcbiAgICAgICAgICAgIGNvbnRleHQuc2VudCA9IGFyZztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udGV4dC5zZW50ID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChtZXRob2QgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgIGlmIChzdGF0ZSA9PT0gR2VuU3RhdGVTdXNwZW5kZWRTdGFydCkge1xuICAgICAgICAgICAgc3RhdGUgPSBHZW5TdGF0ZUNvbXBsZXRlZDtcbiAgICAgICAgICAgIHRocm93IGFyZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY29udGV4dC5kaXNwYXRjaEV4Y2VwdGlvbihhcmcpKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgZGlzcGF0Y2hlZCBleGNlcHRpb24gd2FzIGNhdWdodCBieSBhIGNhdGNoIGJsb2NrLFxuICAgICAgICAgICAgLy8gdGhlbiBsZXQgdGhhdCBjYXRjaCBibG9jayBoYW5kbGUgdGhlIGV4Y2VwdGlvbiBub3JtYWxseS5cbiAgICAgICAgICAgIG1ldGhvZCA9IFwibmV4dFwiO1xuICAgICAgICAgICAgYXJnID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cblxuICAgICAgICB9IGVsc2UgaWYgKG1ldGhvZCA9PT0gXCJyZXR1cm5cIikge1xuICAgICAgICAgIGNvbnRleHQuYWJydXB0KFwicmV0dXJuXCIsIGFyZyk7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0ZSA9IEdlblN0YXRlRXhlY3V0aW5nO1xuXG4gICAgICAgIHZhciByZWNvcmQgPSB0cnlDYXRjaChpbm5lckZuLCBzZWxmLCBjb250ZXh0KTtcbiAgICAgICAgaWYgKHJlY29yZC50eXBlID09PSBcIm5vcm1hbFwiKSB7XG4gICAgICAgICAgLy8gSWYgYW4gZXhjZXB0aW9uIGlzIHRocm93biBmcm9tIGlubmVyRm4sIHdlIGxlYXZlIHN0YXRlID09PVxuICAgICAgICAgIC8vIEdlblN0YXRlRXhlY3V0aW5nIGFuZCBsb29wIGJhY2sgZm9yIGFub3RoZXIgaW52b2NhdGlvbi5cbiAgICAgICAgICBzdGF0ZSA9IGNvbnRleHQuZG9uZVxuICAgICAgICAgICAgPyBHZW5TdGF0ZUNvbXBsZXRlZFxuICAgICAgICAgICAgOiBHZW5TdGF0ZVN1c3BlbmRlZFlpZWxkO1xuXG4gICAgICAgICAgdmFyIGluZm8gPSB7XG4gICAgICAgICAgICB2YWx1ZTogcmVjb3JkLmFyZyxcbiAgICAgICAgICAgIGRvbmU6IGNvbnRleHQuZG9uZVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAocmVjb3JkLmFyZyA9PT0gQ29udGludWVTZW50aW5lbCkge1xuICAgICAgICAgICAgaWYgKGNvbnRleHQuZGVsZWdhdGUgJiYgbWV0aG9kID09PSBcIm5leHRcIikge1xuICAgICAgICAgICAgICAvLyBEZWxpYmVyYXRlbHkgZm9yZ2V0IHRoZSBsYXN0IHNlbnQgdmFsdWUgc28gdGhhdCB3ZSBkb24ndFxuICAgICAgICAgICAgICAvLyBhY2NpZGVudGFsbHkgcGFzcyBpdCBvbiB0byB0aGUgZGVsZWdhdGUuXG4gICAgICAgICAgICAgIGFyZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICAgICAgfVxuXG4gICAgICAgIH0gZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgIHN0YXRlID0gR2VuU3RhdGVDb21wbGV0ZWQ7XG4gICAgICAgICAgLy8gRGlzcGF0Y2ggdGhlIGV4Y2VwdGlvbiBieSBsb29waW5nIGJhY2sgYXJvdW5kIHRvIHRoZVxuICAgICAgICAgIC8vIGNvbnRleHQuZGlzcGF0Y2hFeGNlcHRpb24oYXJnKSBjYWxsIGFib3ZlLlxuICAgICAgICAgIG1ldGhvZCA9IFwidGhyb3dcIjtcbiAgICAgICAgICBhcmcgPSByZWNvcmQuYXJnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8vIERlZmluZSBHZW5lcmF0b3IucHJvdG90eXBlLntuZXh0LHRocm93LHJldHVybn0gaW4gdGVybXMgb2YgdGhlXG4gIC8vIHVuaWZpZWQgLl9pbnZva2UgaGVscGVyIG1ldGhvZC5cbiAgZGVmaW5lSXRlcmF0b3JNZXRob2RzKEdwKTtcblxuICBHcFtpdGVyYXRvclN5bWJvbF0gPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICBHcC50b1N0cmluZyA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBcIltvYmplY3QgR2VuZXJhdG9yXVwiO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHB1c2hUcnlFbnRyeShsb2NzKSB7XG4gICAgdmFyIGVudHJ5ID0geyB0cnlMb2M6IGxvY3NbMF0gfTtcblxuICAgIGlmICgxIGluIGxvY3MpIHtcbiAgICAgIGVudHJ5LmNhdGNoTG9jID0gbG9jc1sxXTtcbiAgICB9XG5cbiAgICBpZiAoMiBpbiBsb2NzKSB7XG4gICAgICBlbnRyeS5maW5hbGx5TG9jID0gbG9jc1syXTtcbiAgICAgIGVudHJ5LmFmdGVyTG9jID0gbG9jc1szXTtcbiAgICB9XG5cbiAgICB0aGlzLnRyeUVudHJpZXMucHVzaChlbnRyeSk7XG4gIH1cblxuICBmdW5jdGlvbiByZXNldFRyeUVudHJ5KGVudHJ5KSB7XG4gICAgdmFyIHJlY29yZCA9IGVudHJ5LmNvbXBsZXRpb24gfHwge307XG4gICAgcmVjb3JkLnR5cGUgPSBcIm5vcm1hbFwiO1xuICAgIGRlbGV0ZSByZWNvcmQuYXJnO1xuICAgIGVudHJ5LmNvbXBsZXRpb24gPSByZWNvcmQ7XG4gIH1cblxuICBmdW5jdGlvbiBDb250ZXh0KHRyeUxvY3NMaXN0KSB7XG4gICAgLy8gVGhlIHJvb3QgZW50cnkgb2JqZWN0IChlZmZlY3RpdmVseSBhIHRyeSBzdGF0ZW1lbnQgd2l0aG91dCBhIGNhdGNoXG4gICAgLy8gb3IgYSBmaW5hbGx5IGJsb2NrKSBnaXZlcyB1cyBhIHBsYWNlIHRvIHN0b3JlIHZhbHVlcyB0aHJvd24gZnJvbVxuICAgIC8vIGxvY2F0aW9ucyB3aGVyZSB0aGVyZSBpcyBubyBlbmNsb3NpbmcgdHJ5IHN0YXRlbWVudC5cbiAgICB0aGlzLnRyeUVudHJpZXMgPSBbeyB0cnlMb2M6IFwicm9vdFwiIH1dO1xuICAgIHRyeUxvY3NMaXN0LmZvckVhY2gocHVzaFRyeUVudHJ5LCB0aGlzKTtcbiAgICB0aGlzLnJlc2V0KHRydWUpO1xuICB9XG5cbiAgcnVudGltZS5rZXlzID0gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgdmFyIGtleXMgPSBbXTtcbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqZWN0KSB7XG4gICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICB9XG4gICAga2V5cy5yZXZlcnNlKCk7XG5cbiAgICAvLyBSYXRoZXIgdGhhbiByZXR1cm5pbmcgYW4gb2JqZWN0IHdpdGggYSBuZXh0IG1ldGhvZCwgd2Uga2VlcFxuICAgIC8vIHRoaW5ncyBzaW1wbGUgYW5kIHJldHVybiB0aGUgbmV4dCBmdW5jdGlvbiBpdHNlbGYuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgICB3aGlsZSAoa2V5cy5sZW5ndGgpIHtcbiAgICAgICAgdmFyIGtleSA9IGtleXMucG9wKCk7XG4gICAgICAgIGlmIChrZXkgaW4gb2JqZWN0KSB7XG4gICAgICAgICAgbmV4dC52YWx1ZSA9IGtleTtcbiAgICAgICAgICBuZXh0LmRvbmUgPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUbyBhdm9pZCBjcmVhdGluZyBhbiBhZGRpdGlvbmFsIG9iamVjdCwgd2UganVzdCBoYW5nIHRoZSAudmFsdWVcbiAgICAgIC8vIGFuZCAuZG9uZSBwcm9wZXJ0aWVzIG9mZiB0aGUgbmV4dCBmdW5jdGlvbiBvYmplY3QgaXRzZWxmLiBUaGlzXG4gICAgICAvLyBhbHNvIGVuc3VyZXMgdGhhdCB0aGUgbWluaWZpZXIgd2lsbCBub3QgYW5vbnltaXplIHRoZSBmdW5jdGlvbi5cbiAgICAgIG5leHQuZG9uZSA9IHRydWU7XG4gICAgICByZXR1cm4gbmV4dDtcbiAgICB9O1xuICB9O1xuXG4gIGZ1bmN0aW9uIHZhbHVlcyhpdGVyYWJsZSkge1xuICAgIGlmIChpdGVyYWJsZSkge1xuICAgICAgdmFyIGl0ZXJhdG9yTWV0aG9kID0gaXRlcmFibGVbaXRlcmF0b3JTeW1ib2xdO1xuICAgICAgaWYgKGl0ZXJhdG9yTWV0aG9kKSB7XG4gICAgICAgIHJldHVybiBpdGVyYXRvck1ldGhvZC5jYWxsKGl0ZXJhYmxlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpdGVyYWJsZS5uZXh0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIGl0ZXJhYmxlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWlzTmFOKGl0ZXJhYmxlLmxlbmd0aCkpIHtcbiAgICAgICAgdmFyIGkgPSAtMSwgbmV4dCA9IGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgICAgICAgd2hpbGUgKCsraSA8IGl0ZXJhYmxlLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKGhhc093bi5jYWxsKGl0ZXJhYmxlLCBpKSkge1xuICAgICAgICAgICAgICBuZXh0LnZhbHVlID0gaXRlcmFibGVbaV07XG4gICAgICAgICAgICAgIG5leHQuZG9uZSA9IGZhbHNlO1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBuZXh0LnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICAgIG5leHQuZG9uZSA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gbmV4dC5uZXh0ID0gbmV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gYW4gaXRlcmF0b3Igd2l0aCBubyB2YWx1ZXMuXG4gICAgcmV0dXJuIHsgbmV4dDogZG9uZVJlc3VsdCB9O1xuICB9XG4gIHJ1bnRpbWUudmFsdWVzID0gdmFsdWVzO1xuXG4gIGZ1bmN0aW9uIGRvbmVSZXN1bHQoKSB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9O1xuICB9XG5cbiAgQ29udGV4dC5wcm90b3R5cGUgPSB7XG4gICAgY29uc3RydWN0b3I6IENvbnRleHQsXG5cbiAgICByZXNldDogZnVuY3Rpb24oc2tpcFRlbXBSZXNldCkge1xuICAgICAgdGhpcy5wcmV2ID0gMDtcbiAgICAgIHRoaXMubmV4dCA9IDA7XG4gICAgICB0aGlzLnNlbnQgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmRvbmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZGVsZWdhdGUgPSBudWxsO1xuXG4gICAgICB0aGlzLnRyeUVudHJpZXMuZm9yRWFjaChyZXNldFRyeUVudHJ5KTtcblxuICAgICAgaWYgKCFza2lwVGVtcFJlc2V0KSB7XG4gICAgICAgIGZvciAodmFyIG5hbWUgaW4gdGhpcykge1xuICAgICAgICAgIC8vIE5vdCBzdXJlIGFib3V0IHRoZSBvcHRpbWFsIG9yZGVyIG9mIHRoZXNlIGNvbmRpdGlvbnM6XG4gICAgICAgICAgaWYgKG5hbWUuY2hhckF0KDApID09PSBcInRcIiAmJlxuICAgICAgICAgICAgICBoYXNPd24uY2FsbCh0aGlzLCBuYW1lKSAmJlxuICAgICAgICAgICAgICAhaXNOYU4oK25hbWUuc2xpY2UoMSkpKSB7XG4gICAgICAgICAgICB0aGlzW25hbWVdID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG5cbiAgICBzdG9wOiBmdW5jdGlvbigpIHtcbiAgICAgIHRoaXMuZG9uZSA9IHRydWU7XG5cbiAgICAgIHZhciByb290RW50cnkgPSB0aGlzLnRyeUVudHJpZXNbMF07XG4gICAgICB2YXIgcm9vdFJlY29yZCA9IHJvb3RFbnRyeS5jb21wbGV0aW9uO1xuICAgICAgaWYgKHJvb3RSZWNvcmQudHlwZSA9PT0gXCJ0aHJvd1wiKSB7XG4gICAgICAgIHRocm93IHJvb3RSZWNvcmQuYXJnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5ydmFsO1xuICAgIH0sXG5cbiAgICBkaXNwYXRjaEV4Y2VwdGlvbjogZnVuY3Rpb24oZXhjZXB0aW9uKSB7XG4gICAgICBpZiAodGhpcy5kb25lKSB7XG4gICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbnRleHQgPSB0aGlzO1xuICAgICAgZnVuY3Rpb24gaGFuZGxlKGxvYywgY2F1Z2h0KSB7XG4gICAgICAgIHJlY29yZC50eXBlID0gXCJ0aHJvd1wiO1xuICAgICAgICByZWNvcmQuYXJnID0gZXhjZXB0aW9uO1xuICAgICAgICBjb250ZXh0Lm5leHQgPSBsb2M7XG4gICAgICAgIHJldHVybiAhIWNhdWdodDtcbiAgICAgIH1cblxuICAgICAgZm9yICh2YXIgaSA9IHRoaXMudHJ5RW50cmllcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICB2YXIgZW50cnkgPSB0aGlzLnRyeUVudHJpZXNbaV07XG4gICAgICAgIHZhciByZWNvcmQgPSBlbnRyeS5jb21wbGV0aW9uO1xuXG4gICAgICAgIGlmIChlbnRyeS50cnlMb2MgPT09IFwicm9vdFwiKSB7XG4gICAgICAgICAgLy8gRXhjZXB0aW9uIHRocm93biBvdXRzaWRlIG9mIGFueSB0cnkgYmxvY2sgdGhhdCBjb3VsZCBoYW5kbGVcbiAgICAgICAgICAvLyBpdCwgc28gc2V0IHRoZSBjb21wbGV0aW9uIHZhbHVlIG9mIHRoZSBlbnRpcmUgZnVuY3Rpb24gdG9cbiAgICAgICAgICAvLyB0aHJvdyB0aGUgZXhjZXB0aW9uLlxuICAgICAgICAgIHJldHVybiBoYW5kbGUoXCJlbmRcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW50cnkudHJ5TG9jIDw9IHRoaXMucHJldikge1xuICAgICAgICAgIHZhciBoYXNDYXRjaCA9IGhhc093bi5jYWxsKGVudHJ5LCBcImNhdGNoTG9jXCIpO1xuICAgICAgICAgIHZhciBoYXNGaW5hbGx5ID0gaGFzT3duLmNhbGwoZW50cnksIFwiZmluYWxseUxvY1wiKTtcblxuICAgICAgICAgIGlmIChoYXNDYXRjaCAmJiBoYXNGaW5hbGx5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2IDwgZW50cnkuY2F0Y2hMb2MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZShlbnRyeS5jYXRjaExvYywgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucHJldiA8IGVudHJ5LmZpbmFsbHlMb2MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZShlbnRyeS5maW5hbGx5TG9jKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0gZWxzZSBpZiAoaGFzQ2F0Y2gpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXYgPCBlbnRyeS5jYXRjaExvYykge1xuICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlKGVudHJ5LmNhdGNoTG9jLCB0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0gZWxzZSBpZiAoaGFzRmluYWxseSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJldiA8IGVudHJ5LmZpbmFsbHlMb2MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZShlbnRyeS5maW5hbGx5TG9jKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ0cnkgc3RhdGVtZW50IHdpdGhvdXQgY2F0Y2ggb3IgZmluYWxseVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuXG4gICAgYWJydXB0OiBmdW5jdGlvbih0eXBlLCBhcmcpIHtcbiAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gdGhpcy50cnlFbnRyaWVzW2ldO1xuICAgICAgICBpZiAoZW50cnkudHJ5TG9jIDw9IHRoaXMucHJldiAmJlxuICAgICAgICAgICAgaGFzT3duLmNhbGwoZW50cnksIFwiZmluYWxseUxvY1wiKSAmJlxuICAgICAgICAgICAgdGhpcy5wcmV2IDwgZW50cnkuZmluYWxseUxvYykge1xuICAgICAgICAgIHZhciBmaW5hbGx5RW50cnkgPSBlbnRyeTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmluYWxseUVudHJ5ICYmXG4gICAgICAgICAgKHR5cGUgPT09IFwiYnJlYWtcIiB8fFxuICAgICAgICAgICB0eXBlID09PSBcImNvbnRpbnVlXCIpICYmXG4gICAgICAgICAgZmluYWxseUVudHJ5LnRyeUxvYyA8PSBhcmcgJiZcbiAgICAgICAgICBhcmcgPD0gZmluYWxseUVudHJ5LmZpbmFsbHlMb2MpIHtcbiAgICAgICAgLy8gSWdub3JlIHRoZSBmaW5hbGx5IGVudHJ5IGlmIGNvbnRyb2wgaXMgbm90IGp1bXBpbmcgdG8gYVxuICAgICAgICAvLyBsb2NhdGlvbiBvdXRzaWRlIHRoZSB0cnkvY2F0Y2ggYmxvY2suXG4gICAgICAgIGZpbmFsbHlFbnRyeSA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWNvcmQgPSBmaW5hbGx5RW50cnkgPyBmaW5hbGx5RW50cnkuY29tcGxldGlvbiA6IHt9O1xuICAgICAgcmVjb3JkLnR5cGUgPSB0eXBlO1xuICAgICAgcmVjb3JkLmFyZyA9IGFyZztcblxuICAgICAgaWYgKGZpbmFsbHlFbnRyeSkge1xuICAgICAgICB0aGlzLm5leHQgPSBmaW5hbGx5RW50cnkuZmluYWxseUxvYztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY29tcGxldGUocmVjb3JkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgfSxcblxuICAgIGNvbXBsZXRlOiBmdW5jdGlvbihyZWNvcmQsIGFmdGVyTG9jKSB7XG4gICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICB0aHJvdyByZWNvcmQuYXJnO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwiYnJlYWtcIiB8fFxuICAgICAgICAgIHJlY29yZC50eXBlID09PSBcImNvbnRpbnVlXCIpIHtcbiAgICAgICAgdGhpcy5uZXh0ID0gcmVjb3JkLmFyZztcbiAgICAgIH0gZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFwicmV0dXJuXCIpIHtcbiAgICAgICAgdGhpcy5ydmFsID0gcmVjb3JkLmFyZztcbiAgICAgICAgdGhpcy5uZXh0ID0gXCJlbmRcIjtcbiAgICAgIH0gZWxzZSBpZiAocmVjb3JkLnR5cGUgPT09IFwibm9ybWFsXCIgJiYgYWZ0ZXJMb2MpIHtcbiAgICAgICAgdGhpcy5uZXh0ID0gYWZ0ZXJMb2M7XG4gICAgICB9XG4gICAgfSxcblxuICAgIGZpbmlzaDogZnVuY3Rpb24oZmluYWxseUxvYykge1xuICAgICAgZm9yICh2YXIgaSA9IHRoaXMudHJ5RW50cmllcy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICB2YXIgZW50cnkgPSB0aGlzLnRyeUVudHJpZXNbaV07XG4gICAgICAgIGlmIChlbnRyeS5maW5hbGx5TG9jID09PSBmaW5hbGx5TG9jKSB7XG4gICAgICAgICAgdGhpcy5jb21wbGV0ZShlbnRyeS5jb21wbGV0aW9uLCBlbnRyeS5hZnRlckxvYyk7XG4gICAgICAgICAgcmVzZXRUcnlFbnRyeShlbnRyeSk7XG4gICAgICAgICAgcmV0dXJuIENvbnRpbnVlU2VudGluZWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuXG4gICAgXCJjYXRjaFwiOiBmdW5jdGlvbih0cnlMb2MpIHtcbiAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRyeUVudHJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gdGhpcy50cnlFbnRyaWVzW2ldO1xuICAgICAgICBpZiAoZW50cnkudHJ5TG9jID09PSB0cnlMb2MpIHtcbiAgICAgICAgICB2YXIgcmVjb3JkID0gZW50cnkuY29tcGxldGlvbjtcbiAgICAgICAgICBpZiAocmVjb3JkLnR5cGUgPT09IFwidGhyb3dcIikge1xuICAgICAgICAgICAgdmFyIHRocm93biA9IHJlY29yZC5hcmc7XG4gICAgICAgICAgICByZXNldFRyeUVudHJ5KGVudHJ5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRocm93bjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaGUgY29udGV4dC5jYXRjaCBtZXRob2QgbXVzdCBvbmx5IGJlIGNhbGxlZCB3aXRoIGEgbG9jYXRpb25cbiAgICAgIC8vIGFyZ3VtZW50IHRoYXQgY29ycmVzcG9uZHMgdG8gYSBrbm93biBjYXRjaCBibG9jay5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdFwiKTtcbiAgICB9LFxuXG4gICAgZGVsZWdhdGVZaWVsZDogZnVuY3Rpb24oaXRlcmFibGUsIHJlc3VsdE5hbWUsIG5leHRMb2MpIHtcbiAgICAgIHRoaXMuZGVsZWdhdGUgPSB7XG4gICAgICAgIGl0ZXJhdG9yOiB2YWx1ZXMoaXRlcmFibGUpLFxuICAgICAgICByZXN1bHROYW1lOiByZXN1bHROYW1lLFxuICAgICAgICBuZXh0TG9jOiBuZXh0TG9jXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gQ29udGludWVTZW50aW5lbDtcbiAgICB9XG4gIH07XG59KShcbiAgLy8gQW1vbmcgdGhlIHZhcmlvdXMgdHJpY2tzIGZvciBvYnRhaW5pbmcgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbFxuICAvLyBvYmplY3QsIHRoaXMgc2VlbXMgdG8gYmUgdGhlIG1vc3QgcmVsaWFibGUgdGVjaG5pcXVlIHRoYXQgZG9lcyBub3RcbiAgLy8gdXNlIGluZGlyZWN0IGV2YWwgKHdoaWNoIHZpb2xhdGVzIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5KS5cbiAgdHlwZW9mIGdsb2JhbCA9PT0gXCJvYmplY3RcIiA/IGdsb2JhbCA6XG4gIHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIgPyB3aW5kb3cgOlxuICB0eXBlb2Ygc2VsZiA9PT0gXCJvYmplY3RcIiA/IHNlbGYgOiB0aGlzXG4pO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-regenerator-runtime/runtime.js\n");
/***/ }),
/***/ "./src/components/translation/i18n sync recursive ^\\.\\/.*\\.js$":
/*!************************************************************!*\
!*** ./src/components/translation/i18n/ sync ^\.\/.*\.js$ ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var map = {
"./de.js": "./src/components/translation/i18n/de.js",
"./en.js": "./src/components/translation/i18n/en.js"
};
function webpackContext(req) {
var id = webpackContextResolve(req);
return __webpack_require__(id);
}
function webpackContextResolve(req) {
if(!__webpack_require__.o(map, req)) {
var e = new Error("Cannot find module '" + req + "'");
e.code = 'MODULE_NOT_FOUND';
throw e;
}
return map[req];
}
webpackContext.keys = function webpackContextKeys() {
return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "./src/components/translation/i18n sync recursive ^\\.\\/.*\\.js$";
/***/ }),
/***/ "./node_modules/js-cookie/dist/js.cookie.mjs":
/*!***************************************************!*\
!*** ./node_modules/js-cookie/dist/js.cookie.mjs ***!
\***************************************************/
/***/ ((__unused_webpack___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\": () => (/* binding */ api)\n/* harmony export */ });\n/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvanMtY29va2llL2Rpc3QvanMuY29va2llLm1qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHNCQUFzQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxFQUFFO0FBQ3RDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCOztBQUUxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFFQUFxRTtBQUNyRTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0EsdUVBQXVFO0FBQ3ZFOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNkRBQTZEO0FBQzdEO0FBQ0Esb0JBQW9CLG9CQUFvQjtBQUN4QztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0EsV0FBVztBQUNYO0FBQ0EsT0FBTztBQUNQO0FBQ0EsNkNBQTZDO0FBQzdDLE9BQU87QUFDUDtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBLEtBQUs7QUFDTDtBQUNBLG9CQUFvQix5Q0FBeUM7QUFDN0QsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUMsV0FBVztBQUM5Qzs7QUFFMEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly93aWRnZXQvLi9ub2RlX21vZHVsZXMvanMtY29va2llL2Rpc3QvanMuY29va2llLm1qcz8wNjU4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qISBqcy1jb29raWUgdjMuMC41IHwgTUlUICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby12YXIgKi9cbmZ1bmN0aW9uIGFzc2lnbiAodGFyZ2V0KSB7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcbiAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdGFyZ2V0XG59XG4vKiBlc2xpbnQtZW5hYmxlIG5vLXZhciAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby12YXIgKi9cbnZhciBkZWZhdWx0Q29udmVydGVyID0ge1xuICByZWFkOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICBpZiAodmFsdWVbMF0gPT09ICdcIicpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUuc2xpY2UoMSwgLTEpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvKCVbXFxkQS1GXXsyfSkrL2dpLCBkZWNvZGVVUklDb21wb25lbnQpXG4gIH0sXG4gIHdyaXRlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKS5yZXBsYWNlKFxuICAgICAgLyUoMlszNDZCRl18M1tBQy1GXXw0MHw1W0JERV18NjB8N1tCQ0RdKS9nLFxuICAgICAgZGVjb2RlVVJJQ29tcG9uZW50XG4gICAgKVxuICB9XG59O1xuLyogZXNsaW50LWVuYWJsZSBuby12YXIgKi9cblxuLyogZXNsaW50LWRpc2FibGUgbm8tdmFyICovXG5cbmZ1bmN0aW9uIGluaXQgKGNvbnZlcnRlciwgZGVmYXVsdEF0dHJpYnV0ZXMpIHtcbiAgZnVuY3Rpb24gc2V0IChuYW1lLCB2YWx1ZSwgYXR0cmlidXRlcykge1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBhdHRyaWJ1dGVzID0gYXNzaWduKHt9LCBkZWZhdWx0QXR0cmlidXRlcywgYXR0cmlidXRlcyk7XG5cbiAgICBpZiAodHlwZW9mIGF0dHJpYnV0ZXMuZXhwaXJlcyA9PT0gJ251bWJlcicpIHtcbiAgICAgIGF0dHJpYnV0ZXMuZXhwaXJlcyA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBhdHRyaWJ1dGVzLmV4cGlyZXMgKiA4NjRlNSk7XG4gICAgfVxuICAgIGlmIChhdHRyaWJ1dGVzLmV4cGlyZXMpIHtcbiAgICAgIGF0dHJpYnV0ZXMuZXhwaXJlcyA9IGF0dHJpYnV0ZXMuZXhwaXJlcy50b1VUQ1N0cmluZygpO1xuICAgIH1cblxuICAgIG5hbWUgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSlcbiAgICAgIC5yZXBsYWNlKC8lKDJbMzQ2Ql18NUV8NjB8N0MpL2csIGRlY29kZVVSSUNvbXBvbmVudClcbiAgICAgIC5yZXBsYWNlKC9bKCldL2csIGVzY2FwZSk7XG5cbiAgICB2YXIgc3RyaW5naWZpZWRBdHRyaWJ1dGVzID0gJyc7XG4gICAgZm9yICh2YXIgYXR0cmlidXRlTmFtZSBpbiBhdHRyaWJ1dGVzKSB7XG4gICAgICBpZiAoIWF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV0pIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgc3RyaW5naWZpZWRBdHRyaWJ1dGVzICs9ICc7ICcgKyBhdHRyaWJ1dGVOYW1lO1xuXG4gICAgICBpZiAoYXR0cmlidXRlc1thdHRyaWJ1dGVOYW1lXSA9PT0gdHJ1ZSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICAvLyBDb25zaWRlcnMgUkZDIDYyNjUgc2VjdGlvbiA1LjI6XG4gICAgICAvLyAuLi5cbiAgICAgIC8vIDMuICBJZiB0aGUgcmVtYWluaW5nIHVucGFyc2VkLWF0dHJpYnV0ZXMgY29udGFpbnMgYSAleDNCIChcIjtcIilcbiAgICAgIC8vICAgICBjaGFyYWN0ZXI6XG4gICAgICAvLyBDb25zdW1lIHRoZSBjaGFyYWN0ZXJzIG9mIHRoZSB1bnBhcnNlZC1hdHRyaWJ1dGVzIHVwIHRvLFxuICAgICAgLy8gbm90IGluY2x1ZGluZywgdGhlIGZpcnN0ICV4M0IgKFwiO1wiKSBjaGFyYWN0ZXIuXG4gICAgICAvLyAuLi5cbiAgICAgIHN0cmluZ2lmaWVkQXR0cmlidXRlcyArPSAnPScgKyBhdHRyaWJ1dGVzW2F0dHJpYnV0ZU5hbWVdLnNwbGl0KCc7JylbMF07XG4gICAgfVxuXG4gICAgcmV0dXJuIChkb2N1bWVudC5jb29raWUgPVxuICAgICAgbmFtZSArICc9JyArIGNvbnZlcnRlci53cml0ZSh2YWx1ZSwgbmFtZSkgKyBzdHJpbmdpZmllZEF0dHJpYnV0ZXMpXG4gIH1cblxuICBmdW5jdGlvbiBnZXQgKG5hbWUpIHtcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJyB8fCAoYXJndW1lbnRzLmxlbmd0aCAmJiAhbmFtZSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIFRvIHByZXZlbnQgdGhlIGZvciBsb29wIGluIHRoZSBmaXJzdCBwbGFjZSBhc3NpZ24gYW4gZW1wdHkgYXJyYXlcbiAgICAvLyBpbiBjYXNlIHRoZXJlIGFyZSBubyBjb29raWVzIGF0IGFsbC5cbiAgICB2YXIgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZSA/IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOyAnKSA6IFtdO1xuICAgIHZhciBqYXIgPSB7fTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvb2tpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBwYXJ0cyA9IGNvb2tpZXNbaV0uc3BsaXQoJz0nKTtcbiAgICAgIHZhciB2YWx1ZSA9IHBhcnRzLnNsaWNlKDEpLmpvaW4oJz0nKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIGZvdW5kID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhcnRzWzBdKTtcbiAgICAgICAgamFyW2ZvdW5kXSA9IGNvbnZlcnRlci5yZWFkKHZhbHVlLCBmb3VuZCk7XG5cbiAgICAgICAgaWYgKG5hbWUgPT09IGZvdW5kKSB7XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZSA/IGphcltuYW1lXSA6IGphclxuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5jcmVhdGUoXG4gICAge1xuICAgICAgc2V0LFxuICAgICAgZ2V0LFxuICAgICAgcmVtb3ZlOiBmdW5jdGlvbiAobmFtZSwgYXR0cmlidXRlcykge1xuICAgICAgICBzZXQoXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBhc3NpZ24oe30sIGF0dHJpYnV0ZXMsIHtcbiAgICAgICAgICAgIGV4cGlyZXM6IC0xXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICB3aXRoQXR0cmlidXRlczogZnVuY3Rpb24gKGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgcmV0dXJuIGluaXQodGhpcy5jb252ZXJ0ZXIsIGFzc2lnbih7fSwgdGhpcy5hdHRyaWJ1dGVzLCBhdHRyaWJ1dGVzKSlcbiAgICAgIH0sXG4gICAgICB3aXRoQ29udmVydGVyOiBmdW5jdGlvbiAoY29udmVydGVyKSB7XG4gICAgICAgIHJldHVybiBpbml0KGFzc2lnbih7fSwgdGhpcy5jb252ZXJ0ZXIsIGNvbnZlcnRlciksIHRoaXMuYXR0cmlidXRlcylcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHsgdmFsdWU6IE9iamVjdC5mcmVlemUoZGVmYXVsdEF0dHJpYnV0ZXMpIH0sXG4gICAgICBjb252ZXJ0ZXI6IHsgdmFsdWU6IE9iamVjdC5mcmVlemUoY29udmVydGVyKSB9XG4gICAgfVxuICApXG59XG5cbnZhciBhcGkgPSBpbml0KGRlZmF1bHRDb252ZXJ0ZXIsIHsgcGF0aDogJy8nIH0pO1xuLyogZXNsaW50LWVuYWJsZSBuby12YXIgKi9cblxuZXhwb3J0IHsgYXBpIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/js-cookie/dist/js.cookie.mjs\n");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module is referenced by other modules so it can't be inlined
/******/ __webpack_require__("./node_modules/babel-regenerator-runtime/runtime.js");
/******/ var __webpack_exports__ = __webpack_require__("./src/app.js");
/******/
/******/ })()
;