-
Notifications
You must be signed in to change notification settings - Fork 1
/
7.bundle.js
1 lines (1 loc) · 29.3 KB
/
7.bundle.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[7,11],{266:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _assets_sprite_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86);\n/* harmony import */ var _assets_sprite_svg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_assets_sprite_svg__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\nvar Button = function Button(props) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {\n className: props.cssClass ? props.cssClass : "button",\n onClick: function onClick() {\n if (props.task) props.clicked(props.task);else props.clicked();\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", {\n className: "btn__icon icon-".concat(props.icon)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("use", {\n xlinkHref: "".concat(_assets_sprite_svg__WEBPACK_IMPORTED_MODULE_1___default.a, "#icon-").concat(props.icon)\n })), props.text && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {\n className: \'buttonSecondary__text\'\n }, props.text));\n};\n\n/* harmony default export */ __webpack_exports__["default"] = (Button);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjY2LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL0NvbXBvbmVudHMvQXRvbWljQ29tcG9uZW50cy9CdXR0b24uanM/NmQ5YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgc3ZnIGZyb20gJy4uLy4uL2Fzc2V0cy9zcHJpdGUuc3ZnJztcblxuY29uc3QgQnV0dG9uID0gKHByb3BzKSA9PiAoXG4gICAgPHNwYW4gY2xhc3NOYW1lPXtwcm9wcy5jc3NDbGFzcz8gcHJvcHMuY3NzQ2xhc3MgOmBidXR0b25gfSBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgIGlmKHByb3BzLnRhc2spXG4gICAgICAgICAgICBwcm9wcy5jbGlja2VkKHByb3BzLnRhc2spXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHByb3BzLmNsaWNrZWQoKVxuICAgIH19PlxuICAgICAgICA8c3ZnIGNsYXNzTmFtZT17YGJ0bl9faWNvbiBpY29uLSR7cHJvcHMuaWNvbn1gfT5cbiAgICAgICAgPHVzZSBcbiAgICAgICAgICAgIHhsaW5rSHJlZj17YCR7c3ZnfSNpY29uLSR7cHJvcHMuaWNvbn1gfSAgICAgXG4gICAgICAgIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICB7cHJvcHMudGV4dCAmJiA8c3BhbiBjbGFzc05hbWU9eydidXR0b25TZWNvbmRhcnlfX3RleHQnfT57cHJvcHMudGV4dH08L3NwYW4+fVxuICAgIDwvc3Bhbj5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IEJ1dHRvbjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBSUE7QUFMQTtBQU1BO0FBQUE7QUFFQTtBQURBO0FBSUE7QUFBQTtBQVpBO0FBQ0E7QUFlQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///266\n')},477:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(0);\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/react-redux/es/index.js + 17 modules\nvar es = __webpack_require__(27);\n\n// EXTERNAL MODULE: ./src/Components/AtomicComponents/Button.js\nvar Button = __webpack_require__(266);\n\n// EXTERNAL MODULE: ./node_modules/react-modal/lib/index.js\nvar lib = __webpack_require__(267);\nvar lib_default = /*#__PURE__*/__webpack_require__.n(lib);\n\n// CONCATENATED MODULE: ./src/Components/AtomicComponents/ModalAddNewTask.js\n\n\n\nvar ModalAddNewTask_ModalAddNewTask = function ModalAddNewTask(props) {\n lib_default.a.setAppElement(\'#root\');\n var task, target;\n return react_default.a.createElement(lib_default.a, {\n isOpen: props.active,\n onRequestClose: props.close,\n contentLabel: "Edit Task or Add a new one",\n closeTimeoutMS: 200,\n className: "modal"\n }, react_default.a.createElement("span", {\n className: \'modal__close\',\n onClick: props.close\n }, "\\u02DF"), react_default.a.createElement("span", {\n className: "modal__label"\n }, "Enter below details to add a new task:"), react_default.a.createElement("input", {\n placeholder: "Task",\n className: "modal__input",\n onChange: function onChange(e) {\n task = e.target.value;\n }\n }), react_default.a.createElement("input", {\n placeholder: "Target sessions",\n className: "modal__input",\n onChange: function onChange(e) {\n if (/^[0-9]*$/.test(e.target.value)) target = parseInt(e.target.value, 10);else e.target.value = \'\';\n }\n }), react_default.a.createElement("button", {\n className: "modal__btn",\n onClick: function onClick() {\n props.addTask(task.toLowerCase(), target);\n props.close();\n }\n }, "ADD"));\n};\n\n/* harmony default export */ var AtomicComponents_ModalAddNewTask = (ModalAddNewTask_ModalAddNewTask);\n// CONCATENATED MODULE: ./src/Components/AtomicComponents/ModalEditTask.js\n\n\n\nvar ModalEditTask_ModalEditTask = function ModalEditTask(props) {\n lib_default.a.setAppElement(\'#root\');\n var target;\n return react_default.a.createElement(lib_default.a, {\n isOpen: props.active,\n onRequestClose: props.close,\n contentLabel: "Edit Task or Add a new one",\n closeTimeoutMS: 200,\n className: "modal edit"\n }, react_default.a.createElement("span", {\n className: \'modal__close\',\n onClick: props.close\n }, "\\u02DF"), react_default.a.createElement("span", {\n className: "modal__label"\n }, "Edit targets or remove the task:"), react_default.a.createElement("span", {\n className: "modal__label-task"\n }, props.displayTask), react_default.a.createElement("input", {\n placeholder: props.oldTarget,\n className: "modal__input",\n onChange: function onChange(e) {\n if (/^[0-9]*$/.test(e.target.value)) target = parseInt(e.target.value, 10);else e.target.value = \'\';\n }\n }), react_default.a.createElement("div", {\n className: "modal__btn-container"\n }, react_default.a.createElement("button", {\n className: "modal__btn",\n onClick: function onClick() {\n var task = props.displayTask.toLowerCase();\n if (target) props.editTask(task, target);\n props.close();\n }\n }, "EDIT"), react_default.a.createElement("button", {\n className: "modal__btn",\n onClick: function onClick() {\n var task = props.displayTask.toLowerCase();\n props.removeTask(task);\n props.close();\n }\n }, "REMOVE")));\n};\n\n/* harmony default export */ var AtomicComponents_ModalEditTask = (ModalEditTask_ModalEditTask);\n// EXTERNAL MODULE: ./src/actions/tasks.js\nvar tasks = __webpack_require__(89);\n\n// CONCATENATED MODULE: ./src/Components/Tasks.js\nfunction _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === \'function\') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\nfunction capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n;\n\nvar Tasks_Tasks =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Tasks, _Component);\n\n function Tasks(props) {\n var _this;\n\n _classCallCheck(this, Tasks);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Tasks).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), "toggleModalAddTask", function () {\n _this.setState(function (state) {\n return _objectSpread({}, state, {\n modalAddTaskActive: !state.modalAddTaskActive\n });\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), "toggleModalEditTask", function (task) {\n _this.setState(function (state) {\n return _objectSpread({}, state, {\n modalEditTaskActive: !state.modalEditTaskActive\n });\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), "addnewTask", function (task, target) {\n if (target > 44) {\n target = 44;\n }\n\n _this.props.dispatch(Object(tasks["a" /* startAddTask */])({\n task: task,\n target: target\n }));\n });\n\n _defineProperty(_assertThisInitialized(_this), "taskslistToComponents", function (tasksList) {\n var indent = [];\n tasksList.forEach(function (prop) {\n //to ignore the empty property\n if (prop !== \'empty\') {\n if (_this.state.searchedTask !== \'\') {\n if (prop.slice(0, _this.state.searchedTask.length) === _this.state.searchedTask) indent.push(react_default.a.createElement("span", {\n key: prop,\n className: "task"\n }, capitalizeFirstLetter(prop), react_default.a.createElement(Button["default"], {\n icon: \'cog\',\n task: capitalizeFirstLetter(prop),\n clicked: function clicked(task) {\n _this.setState(function (state) {\n return _objectSpread({}, state, {\n displayTask: task,\n target: "".concat(_this.props.targets[task.toLowerCase()])\n });\n });\n\n _this.toggleModalEditTask();\n }\n })));\n } else {\n indent.push(react_default.a.createElement("span", {\n key: prop,\n className: "task"\n }, capitalizeFirstLetter(prop), react_default.a.createElement(Button["default"], {\n icon: \'cog\',\n task: capitalizeFirstLetter(prop),\n clicked: function clicked(task) {\n _this.setState(function (state) {\n return _objectSpread({}, state, {\n displayTask: task,\n target: "".concat(_this.props.targets[task.toLowerCase()])\n });\n });\n\n _this.toggleModalEditTask();\n }\n })));\n }\n }\n });\n return indent;\n });\n\n _this.state = {\n modalAddTaskActive: false,\n modalEditTaskActive: false,\n displayTask: \'\',\n target: \'\',\n searchedTask: \'\'\n };\n return _this;\n }\n\n _createClass(Tasks, [{\n key: "render",\n value: function render() {\n var _this2 = this;\n\n return react_default.a.createElement("div", {\n className: "tasks"\n }, react_default.a.createElement("input", {\n placeholder: "Search",\n className: "tasks__search",\n onChange: function onChange(e) {\n var val = e.target.value;\n\n _this2.setState(function (state) {\n return _objectSpread({}, state, {\n searchedTask: val\n });\n });\n }\n }), react_default.a.createElement(Button["default"], {\n cssClass: \'buttonSecondary\',\n icon: \'plus\',\n text: \'Add new task\',\n clicked: this.toggleModalAddTask\n }), react_default.a.createElement("div", {\n className: "tasks__list"\n }, !!this.props.targets && this.taskslistToComponents(this.props.tasks), !this.props.targets && react_default.a.createElement("span", {\n className: \'warn\'\n }, "No tasks found.")), react_default.a.createElement(AtomicComponents_ModalAddNewTask, {\n active: this.state.modalAddTaskActive,\n close: this.toggleModalAddTask,\n addTask: this.addnewTask\n }), react_default.a.createElement(AtomicComponents_ModalEditTask, {\n active: this.state.modalEditTaskActive,\n close: this.toggleModalEditTask,\n displayTask: this.state.displayTask,\n editTask: function editTask(task, target) {\n if (target > 44) {\n target = 44;\n }\n\n _this2.props.dispatch(Object(tasks["b" /* startEditTask */])({\n task: task,\n target: target\n }));\n },\n removeTask: function removeTask(task) {\n _this2.props.dispatch(Object(tasks["c" /* startRemoveTask */])(task));\n },\n oldTarget: this.state.target\n }));\n }\n }]);\n\n return Tasks;\n}(react["Component"]);\n\n;\n\nvar mapsStateToProps = function mapsStateToProps(store) {\n //sending an array of all the tasks\n if (store.tasks) {\n var listTask = Object.keys(store.tasks);\n return {\n tasks: listTask,\n targets: store.tasks\n };\n } else {\n return {\n tasks: false,\n targets: false\n };\n }\n};\n\nvar ConnectedTask = Object(es["b" /* connect */])(mapsStateToProps)(Tasks_Tasks);\n/* harmony default export */ var Components_Tasks = __webpack_exports__["default"] = (ConnectedTask);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDc3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL0NvbXBvbmVudHMvQXRvbWljQ29tcG9uZW50cy9Nb2RhbEFkZE5ld1Rhc2suanM/NjZhMSIsIndlYnBhY2s6Ly8vLi9zcmMvQ29tcG9uZW50cy9BdG9taWNDb21wb25lbnRzL01vZGFsRWRpdFRhc2suanM/OTgzMCIsIndlYnBhY2s6Ly8vLi9zcmMvQ29tcG9uZW50cy9UYXNrcy5qcz81ZTNhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTW9kYWwgZnJvbSAncmVhY3QtbW9kYWwnO1xuXG5jb25zdCBNb2RhbEFkZE5ld1Rhc2sgPSAocHJvcHMpID0+IHtcbiAgICBNb2RhbC5zZXRBcHBFbGVtZW50KCcjcm9vdCcpO1xuXG4gICAgbGV0IHRhc2ssIHRhcmdldDtcbiAgICByZXR1cm4gKFxuICAgICAgICA8TW9kYWxcbiAgICAgICAgICAgIGlzT3Blbj17cHJvcHMuYWN0aXZlfVxuICAgICAgICAgICAgb25SZXF1ZXN0Q2xvc2U9e3Byb3BzLmNsb3NlfVxuICAgICAgICAgICAgY29udGVudExhYmVsPVwiRWRpdCBUYXNrIG9yIEFkZCBhIG5ldyBvbmVcIlxuICAgICAgICAgICAgY2xvc2VUaW1lb3V0TVM9ezIwMH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1vZGFsXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnbW9kYWxfX2Nsb3NlJ30gb25DbGljaz17cHJvcHMuY2xvc2V9PiYjNzM1Ozwvc3Bhbj5cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtb2RhbF9fbGFiZWwnPkVudGVyIGJlbG93IGRldGFpbHMgdG8gYWRkIGEgbmV3IHRhc2s6PC9zcGFuPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVGFza1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbW9kYWxfX2lucHV0J1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhc2sgPSBlLnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRhcmdldCBzZXNzaW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbW9kYWxfX2lucHV0J1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKC9eWzAtOV0qJC8udGVzdChlLnRhcmdldC52YWx1ZSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gcGFyc2VJbnQoZS50YXJnZXQudmFsdWUsMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LnZhbHVlID0gJydcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPSdtb2RhbF9fYnRuJyBvbkNsaWNrPXsoKT0+e1xuICAgICAgICAgICAgICAgIHByb3BzLmFkZFRhc2sodGFzay50b0xvd2VyQ2FzZSgpLHRhcmdldCk7XG4gICAgICAgICAgICAgICAgcHJvcHMuY2xvc2UoKTtcbiAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgIEFERFxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvTW9kYWw+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1vZGFsQWRkTmV3VGFzazsiLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IE1vZGFsIGZyb20gJ3JlYWN0LW1vZGFsJztcblxuY29uc3QgTW9kYWxFZGl0VGFzayA9IChwcm9wcykgPT4ge1xuICAgIE1vZGFsLnNldEFwcEVsZW1lbnQoJyNyb290Jyk7XG4gICAgbGV0IHRhcmdldDtcbiAgICByZXR1cm4gKFxuICAgICAgICA8TW9kYWxcbiAgICAgICAgICAgIGlzT3Blbj17cHJvcHMuYWN0aXZlfVxuICAgICAgICAgICAgb25SZXF1ZXN0Q2xvc2U9e3Byb3BzLmNsb3NlfVxuICAgICAgICAgICAgY29udGVudExhYmVsPVwiRWRpdCBUYXNrIG9yIEFkZCBhIG5ldyBvbmVcIlxuICAgICAgICAgICAgY2xvc2VUaW1lb3V0TVM9ezIwMH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1vZGFsIGVkaXRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydtb2RhbF9fY2xvc2UnfSBvbkNsaWNrPXtwcm9wcy5jbG9zZX0+JiM3MzU7PC9zcGFuPlxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J21vZGFsX19sYWJlbCc+RWRpdCB0YXJnZXRzIG9yIHJlbW92ZSB0aGUgdGFzazo8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J21vZGFsX19sYWJlbC10YXNrJz57cHJvcHMuZGlzcGxheVRhc2t9PC9zcGFuPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5vbGRUYXJnZXR9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbW9kYWxfX2lucHV0J1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoL15bMC05XSokLy50ZXN0KGUudGFyZ2V0LnZhbHVlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQgPSBwYXJzZUludChlLnRhcmdldC52YWx1ZSwxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQudmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbW9kYWxfX2J0bi1jb250YWluZXInPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPSdtb2RhbF9fYnRuJyBvbkNsaWNrPXsoKT0+e1xuICAgICAgICAgICAgICAgICAgICBsZXQgdGFzayA9IHByb3BzLmRpc3BsYXlUYXNrLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmKHRhcmdldClcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BzLmVkaXRUYXNrKHRhc2ssdGFyZ2V0KTtcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgRURJVFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9J21vZGFsX19idG4nIG9uQ2xpY2s9eygpPT57XG4gICAgICAgICAgICAgICAgICAgIGxldCB0YXNrID0gcHJvcHMuZGlzcGxheVRhc2sudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMucmVtb3ZlVGFzayh0YXNrKTtcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgUkVNT1ZFXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L01vZGFsPlxuICAgICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1vZGFsRWRpdFRhc2s7IiwiaW1wb3J0IFJlYWN0LHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7Y29ubmVjdH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4vQXRvbWljQ29tcG9uZW50cy9CdXR0b24nO1xuaW1wb3J0IE1vZGFsQWRkTmV3VGFzayBmcm9tICcuL0F0b21pY0NvbXBvbmVudHMvTW9kYWxBZGROZXdUYXNrJztcbmltcG9ydCBNb2RhbEVkaXRUYXNrIGZyb20gJy4vQXRvbWljQ29tcG9uZW50cy9Nb2RhbEVkaXRUYXNrJztcbmltcG9ydCB7c3RhcnRBZGRUYXNrLHN0YXJ0RWRpdFRhc2ssc3RhcnRSZW1vdmVUYXNrfSBmcm9tICcuLi9hY3Rpb25zL3Rhc2tzJztcblxuZnVuY3Rpb24gY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHN0cmluZykge1xuICAgIHJldHVybiBzdHJpbmcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmcuc2xpY2UoMSk7XG59O1xuXG5jbGFzcyBUYXNrcyBleHRlbmRzIENvbXBvbmVudHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKXtcbiAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgbW9kYWxBZGRUYXNrQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG1vZGFsRWRpdFRhc2tBY3RpdmU6IGZhbHNlLFxuICAgICAgICAgICAgZGlzcGxheVRhc2s6ICcnLFxuICAgICAgICAgICAgdGFyZ2V0OiAnJyxcbiAgICAgICAgICAgIHNlYXJjaGVkVGFzazogJydcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgdG9nZ2xlTW9kYWxBZGRUYXNrID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKCAoc3RhdGUpID0+ICh7Li4uc3RhdGUsIG1vZGFsQWRkVGFza0FjdGl2ZTogIXN0YXRlLm1vZGFsQWRkVGFza0FjdGl2ZX0pKTtcbiAgICB9O1xuXG4gICAgdG9nZ2xlTW9kYWxFZGl0VGFzayA9ICh0YXNrKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoIChzdGF0ZSkgPT4gKHsuLi5zdGF0ZSwgbW9kYWxFZGl0VGFza0FjdGl2ZTogIXN0YXRlLm1vZGFsRWRpdFRhc2tBY3RpdmV9KSk7XG4gICAgfVxuICAgIFxuICAgIGFkZG5ld1Rhc2sgPSAodGFzaywgdGFyZ2V0KSA9PiB7XG4gICAgICAgIGlmKHRhcmdldD40NCl7XG4gICAgICAgICAgICB0YXJnZXQ9NDQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm9wcy5kaXNwYXRjaChzdGFydEFkZFRhc2soe3Rhc2s6IHRhc2ssdGFyZ2V0OnRhcmdldH0pKTtcbiAgICB9O1xuXG4gICAgLy97IC8qaW1wbGVtZW50ZWQgc2VhcmNoIHdpdGggY29uZGl0aW9ucyBpbiBnZW5lcmF0aW5nIHNwYW4gZWxlbWVudHMqL31cbiAgICB0YXNrc2xpc3RUb0NvbXBvbmVudHMgPSAodGFza3NMaXN0KSA9PiB7XG4gICAgICAgIGxldCBpbmRlbnQgPSBbXTtcbiAgICAgICAgdGFza3NMaXN0LmZvckVhY2gocHJvcCA9PiB7XG4gICAgICAgICAgICAvL3RvIGlnbm9yZSB0aGUgZW1wdHkgcHJvcGVydHlcbiAgICAgICAgICAgIGlmKHByb3AgIT09ICdlbXB0eScpe1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuc3RhdGUuc2VhcmNoZWRUYXNrIT09Jycpe1xuICAgICAgICAgICAgICAgICAgICBpZihwcm9wLnNsaWNlKDAsIHRoaXMuc3RhdGUuc2VhcmNoZWRUYXNrLmxlbmd0aCkgPT09IHRoaXMuc3RhdGUuc2VhcmNoZWRUYXNrKVxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50LnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4ga2V5PXtwcm9wfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J3Rhc2snPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHByb3ApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIGljb249eydjb2cnfSB0YXNrPXtjYXBpdGFsaXplRmlyc3RMZXR0ZXIocHJvcCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrZWQ9eyh0YXNrKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKCAoc3RhdGUpID0+ICh7Li4uc3RhdGUsIGRpc3BsYXlUYXNrOnRhc2ssIHRhcmdldDogYCR7dGhpcy5wcm9wcy50YXJnZXRzW3Rhc2sudG9Mb3dlckNhc2UoKV19YH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlTW9kYWxFZGl0VGFzaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgICAgICAgIGluZGVudC5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4ga2V5PXtwcm9wfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0ndGFzayc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NhcGl0YWxpemVGaXJzdExldHRlcihwcm9wKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIGljb249eydjb2cnfSB0YXNrPXtjYXBpdGFsaXplRmlyc3RMZXR0ZXIocHJvcCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tlZD17KHRhc2spID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSggKHN0YXRlKSA9PiAoey4uLnN0YXRlLCBkaXNwbGF5VGFzazp0YXNrLCB0YXJnZXQ6IGAke3RoaXMucHJvcHMudGFyZ2V0c1t0YXNrLnRvTG93ZXJDYXNlKCldfWB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xlTW9kYWxFZGl0VGFzaygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpbmRlbnQ7XG4gICAgfVxuICAgIFxuICAgIHJlbmRlcigpe1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ndGFza3MnPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0ndGFza3NfX3NlYXJjaCdcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsID0gZS50YXJnZXQudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoKHN0YXRlKSA9PiAoey4uLnN0YXRlLHNlYXJjaGVkVGFzazp2YWx9KSlcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxCdXR0b24gY3NzQ2xhc3M9eydidXR0b25TZWNvbmRhcnknfSBpY29uPXsncGx1cyd9IHRleHQ9eydBZGQgbmV3IHRhc2snfSBjbGlja2VkPXt0aGlzLnRvZ2dsZU1vZGFsQWRkVGFza30vPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Rhc2tzX19saXN0Jz5cbiAgICAgICAgICAgICAgICAgICAgey8qaGVyZSBjYWxsaW5nIGEgZnVuY3Rpb24gdG8gZ2VuZXJ0ZSBhbmQgcmV0dXJuIGVsZW1lbnQgd2FzIHRoZSBiZXN0IGFuZCBvbmx5IHNvbHV0aW9uLCBvdGhlciB3YXkgXG4gICAgICAgICAgICAgICAgICAgIHdhcyB0byBnZW5lcmF0ZSBhIGxpc3QgaW4gbWFwc3RhdGV0b3Byb3BzIHdoaWNoIGkgd2FzIGRvaW5nIGVhcmxpZXIgYnV0IGl0IGRpZG4ndCBzdXN0YWluIGFzIHRoYXQgd291bGQgcnVuIHdpdGhvdXQgYW55IGFjY2VzcyB0byBcbiAgICAgICAgICAgICAgICAgICAgbXkgY2xhc3MgYW5kIGl0IGZ1bmN0aW9ucyAqL31cbiAgICAgICAgICAgICAgICAgICAgeyEhdGhpcy5wcm9wcy50YXJnZXRzICYmIHRoaXMudGFza3NsaXN0VG9Db21wb25lbnRzKHRoaXMucHJvcHMudGFza3MpfVxuICAgICAgICAgICAgICAgICAgICB7IXRoaXMucHJvcHMudGFyZ2V0cyAmJiA8c3BhbiBjbGFzc05hbWU9eyd3YXJuJ30+Tm8gdGFza3MgZm91bmQuPC9zcGFuPn1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuXG5cbiAgICAgICAgICAgICAgICB7Lyo9PT09PT09PT09PT09PT09PT09PT09PT09KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki99XG4gICAgICAgICAgICAgICAgey8qbW9kYWwgZGlzcGxheWVkIGZvciBhZGRpbmcgbmV3IHRhc2sqL31cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8TW9kYWxBZGROZXdUYXNrIGFjdGl2ZT17dGhpcy5zdGF0ZS5tb2RhbEFkZFRhc2tBY3RpdmV9IGNsb3NlPXt0aGlzLnRvZ2dsZU1vZGFsQWRkVGFza30gXG4gICAgICAgICAgICAgICAgYWRkVGFzaz17dGhpcy5hZGRuZXdUYXNrfS8+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgey8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki99XG4gICAgICAgICAgICAgICAgey8qbW9kYWwgZGlzcGxheWVkIGZvciBlZGl0aW5nIHRhcmdldHMgb2YgYSB0YXNrIG9yIHJlbW92ZSBpdCAqL31cbiAgICAgICAgICAgICAgICA8TW9kYWxFZGl0VGFzayBhY3RpdmU9e3RoaXMuc3RhdGUubW9kYWxFZGl0VGFza0FjdGl2ZX0gY2xvc2U9e3RoaXMudG9nZ2xlTW9kYWxFZGl0VGFza30gXG4gICAgICAgICAgICAgICAgZGlzcGxheVRhc2s9e3RoaXMuc3RhdGUuZGlzcGxheVRhc2t9XG4gICAgICAgICAgICAgICAgZWRpdFRhc2s9eyh0YXNrLHRhcmdldCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZih0YXJnZXQ+NDQpe1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PTQ0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuZGlzcGF0Y2goc3RhcnRFZGl0VGFzayh7dGFzazogdGFzayx0YXJnZXQ6dGFyZ2V0fSkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgcmVtb3ZlVGFzaz17KHRhc2spID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5kaXNwYXRjaChzdGFydFJlbW92ZVRhc2sodGFzaykpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgb2xkVGFyZ2V0PXt0aGlzLnN0YXRlLnRhcmdldH0vPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICB9XG59O1xuXG5jb25zdCBtYXBzU3RhdGVUb1Byb3BzID0gKHN0b3JlKSA9PiB7XG4gICAgLy9zZW5kaW5nIGFuIGFycmF5IG9mIGFsbCB0aGUgdGFza3NcbiAgICBpZihzdG9yZS50YXNrcyl7XG4gICAgICAgIGxldCBsaXN0VGFzayA9IE9iamVjdC5rZXlzKHN0b3JlLnRhc2tzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhc2tzOiBsaXN0VGFzayxcbiAgICAgICAgICAgIHRhcmdldHM6IHN0b3JlLnRhc2tzXG4gICAgICAgIH1cbiAgICB9ZWxzZXtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhc2tzOiBmYWxzZSxcbiAgICAgICAgICAgIHRhcmdldHM6IGZhbHNlXG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5jb25zdCBDb25uZWN0ZWRUYXNrID0gY29ubmVjdChtYXBzU3RhdGVUb1Byb3BzKShUYXNrcyk7XG5leHBvcnQgZGVmYXVsdCBDb25uZWN0ZWRUYXNrOyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBUkE7QUFXQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFRQTtBQUNBO0FBQ0E7O0FDL0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBUkE7QUFVQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBTEE7QUFTQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVdBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDbkRBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7Ozs7O0FBRUE7QUFBQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFGQTtBQVlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBZEE7QUFnQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFsQkE7QUFvQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUF6QkE7QUE0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQURBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBSkE7QUFRQTtBQUVBO0FBQ0E7QUFDQTtBQURBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBSkE7QUFRQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFoRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFGQTtBQVNBO0FBQ0E7OztBQXlEQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBTkE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUtBO0FBQUE7QUFRQTtBQUFBO0FBQ0E7QUFEQTtBQUtBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQWNBOzs7O0FBbkhBO0FBQ0E7QUFtSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///477\n')}}]);