"use strict"; (self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_shared_views_main_d"],{ /***/ "./src/shared/views/main/disability_type/form.tsx": /*!********************************************************!*\ !*** ./src/shared/views/main/disability_type/form.tsx ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../services/disability_type/core/actions */ "./src/services/disability_type/core/actions.ts"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var NewEditDisabilityTypePage = function NewEditDisabilityTypePage() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useSelector)(function (state) { return state.disabilityType; }), disabilityType = _useSelector.disabilityType, registerErrorMessage = _useSelector.registerErrorMessage, disabilityTypeUpdatePending = _useSelector.disabilityTypeUpdatePending; var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].useForm(), _Form$useForm2 = _slicedToArray(_Form$useForm, 1), form = _Form$useForm2[0]; var searchParams = new URLSearchParams(location.search); var id = searchParams.get('id'); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false), _useState2 = _slicedToArray(_useState, 2), isClick = _useState2[0], setIsClick = _useState2[1]; // πŸ‘‰ Fetch data when editing or reset form when adding (0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () { if (id) { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_8__.disabilityTypeDetailAction)(Number(id))); } else { form.resetFields(); // Reset form fields when adding a new item } }, [dispatch, id, form]); // πŸ‘‰ Populate form with fetched data (0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () { if (id && disabilityType) { form.setFieldsValue({ name: disabilityType.name || '', description: disabilityType.description || '' }); } }, [disabilityType, form, id]); // πŸ‘‰ Show success or error alerts (0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () { if (!disabilityTypeUpdatePending && isClick) { if (registerErrorMessage) { antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].error(registerErrorMessage); } else { antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].success(id ? 'Updated successfully!' : 'Created successfully!'); navigate('/disability-types'); } } }, [disabilityTypeUpdatePending, registerErrorMessage, id, isClick, navigate]); // πŸ‘‰ Handle form submit var onFinish = function onFinish(values) { if (id) { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_8__.updateDisabilityTypeAction)({ id: Number(id), data: values })); form.resetFields(); } else { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_8__.createDisabilityTypeAction)({ data: values })); form.resetFields(); // Reset form after successful creation } setIsClick(true); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((react__WEBPACK_IMPORTED_MODULE_6___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement("h2", null, id ? 'αž€αŸ‚αž”αŸ’αžšαŸ‚αž”αŸ’αžšαž—αŸαž‘αž–αž·αž€αžΆαžšαž—αžΆαž–' : 'αž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αž˜αžΈαž”αŸ’αžšαž—αŸαž‘αž–αž·αž€αžΆαžšαž—αžΆαž–'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"], { form: form, layout: "vertical", onFinish: onFinish, style: { maxWidth: '100%', margin: '0 auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, { label: "\u1788\u17D2\u1798\u17C4\u17C7", name: "name", rules: [{ required: true, message: 'Please enter a name' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_3__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, { label: "\u1794\u179A\u17B7\u1799\u17B6\u1799", name: "description" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__["default"], { rows: 3 })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), { type: "primary", block: true, htmlType: "submit", loading: disabilityTypeUpdatePending }, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), { htmlType: "button", onClick: function onClick() { return navigate('/disability-types'); } }, "Cancel")))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditDisabilityTypePage); /***/ }), /***/ "./src/shared/views/main/disability_type/index.tsx": /*!*********************************************************!*\ !*** ./src/shared/views/main/disability_type/index.tsx ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js"); /* harmony import */ var _services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../services/disability_type/core/actions */ "./src/services/disability_type/core/actions.ts"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_12__); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var DisabilityTypeList = function DisabilityTypeList() { var _disabilityTypes$meta, _disabilityTypes$meta2; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_6__.useNavigate)(); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(1), _useState2 = _slicedToArray(_useState, 2), currentPage = _useState2[0], setCurrentPage = _useState2[1]; var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(10), _useState4 = _slicedToArray(_useState3, 2), pageSize = _useState4[0], setPageSize = _useState4[1]; var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)([]), _useState6 = _slicedToArray(_useState5, 2), selectedRows = _useState6[0], setSelectedRows = _useState6[1]; var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(''), _useState8 = _slicedToArray(_useState7, 2), searchText = _useState8[0], setSearchText = _useState8[1]; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(function (state) { return state.disabilityType; }), disabilityTypes = _useSelector.disabilityTypes, disabilityTypesPending = _useSelector.disabilityTypesPending; (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchDisabilityTypes)({ search: searchText, page: currentPage, pageSize: pageSize })); }, [dispatch, searchText, currentPage, pageSize]); var handleEdit = function handleEdit(id) { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__.disabilityTypeDetailAction)(id)); navigate("/disability-types/form?id=".concat(id)); }; var handleDelete = function handleDelete(id) { sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire({ title: 'Are you sure?', text: 'You won\'t be able to revert this!', icon: 'warning', showConfirmButton: false, showCancelButton: false, html: "\n
\n \n \n
\n ", didOpen: function didOpen() { var _Swal$getPopup, _Swal$getPopup2; var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete'); var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete'); confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () { dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__.deleteDisabilityTypeAction)(id)).then(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire('Deleted!', 'The item has been deleted.', 'success'); dispatch((0,_services_disability_type_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchDisabilityTypes)()); }); sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close(); }); cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () { sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close(); }); } }); }; var handleSearch = function handleSearch() { // Triggers search by setting state setCurrentPage(1); setSearchText(searchText.trim()); }; var handleReset = function handleReset() { // Clears input and shows all data setSearchText(''); }; var handleTableChange = function handleTableChange(pagination) { setCurrentPage(pagination.current); setPageSize(pagination.pageSize); }; var columns = [{ title: 'αž›αŸαžαžšαŸ€αž„', dataIndex: 'index', key: 'index', responsive: ['sm'] }, { title: 'αžˆαŸ’αž˜αŸ„αŸ‡', dataIndex: 'name', key: 'name', responsive: ['sm'] }, { title: 'αž”αžšαž·αž™αžΆαž™', dataIndex: 'description', key: 'description', responsive: ['sm'] }, { title: 'Action', key: 'action', responsive: ['xs', 'sm', 'md', 'lg'], render: function render(_, record) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], { size: "middle" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null), type: "primary", onClick: function onClick() { return handleEdit(record.id); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null), danger: true, onClick: function onClick() { return handleDelete(record.id); } })); } }]; var filteredData = ((disabilityTypes === null || disabilityTypes === void 0 ? void 0 : disabilityTypes.data) || []).filter(function (it) { var _it$name; return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase()); }); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { style: { overflowX: 'auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u1794\u17D2\u179A\u1797\u17C1\u1791\u1796\u17B7\u1780\u17B6\u179A\u1797\u17B6\u1796"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { style: { display: 'flex', justifyContent: 'space-between', padding: '10px', background: '#f5f5f5', marginBottom: '10px', flexWrap: 'wrap' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (disabilityTypes === null || disabilityTypes === void 0 || (_disabilityTypes$meta = disabilityTypes.meta) === null || _disabilityTypes$meta === void 0 ? void 0 : _disabilityTypes$meta.total) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_1__["default"], { placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...", style: { width: 200 }, value: searchText, onChange: function onChange(e) { setCurrentPage(1); setSearchText(e.target.value); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { onClick: handleSearch, type: "primary" }, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { onClick: handleReset }, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null), type: "primary", onClick: function onClick() { return navigate("/disability-types/form"); } }, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_0__["default"], { rowSelection: { type: 'checkbox', onChange: function onChange(_, selectedRows) { return setSelectedRows(selectedRows); } }, columns: columns, dataSource: filteredData.map(function (it, index) { return _objectSpread({ key: it.id, index: index + 1, name: it.name }, it); }), pagination: { current: currentPage, pageSize: pageSize, total: (disabilityTypes === null || disabilityTypes === void 0 || (_disabilityTypes$meta2 = disabilityTypes.meta) === null || _disabilityTypes$meta2 === void 0 ? void 0 : _disabilityTypes$meta2.total) || 0, showSizeChanger: true }, onChange: handleTableChange, rowKey: "id", scroll: { x: 'max-content' } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__["default"], { visible: disabilityTypesPending })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DisabilityTypeList); /***/ }), /***/ "./src/shared/views/main/education_institution/form.tsx": /*!**************************************************************!*\ !*** ./src/shared/views/main/education_institution/form.tsx ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../services/education_institution/core/actions */ "./src/services/education_institution/core/actions.ts"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var NewEditEducationInstitutionPage = function NewEditEducationInstitutionPage() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useSelector)(function (state) { return state.educationInstitution; }), educationInstitution = _useSelector.educationInstitution, registerErrorMessage = _useSelector.registerErrorMessage, educationInstitutionUpdatePending = _useSelector.educationInstitutionUpdatePending; var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].useForm(), _Form$useForm2 = _slicedToArray(_Form$useForm, 1), form = _Form$useForm2[0]; var searchParams = new URLSearchParams(location.search); var id = searchParams.get('id'); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false), _useState2 = _slicedToArray(_useState, 2), isClick = _useState2[0], setIsClick = _useState2[1]; // πŸ‘‰ Fetch data when editing or reset form when adding (0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () { if (id) { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_8__.educationInstitutionDetailAction)(Number(id))); } else { form.resetFields(); // Reset form fields when adding a new item } }, [dispatch, id, form]); // πŸ‘‰ Populate form with fetched data (0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () { if (id && educationInstitution) { form.setFieldsValue({ name: educationInstitution.name || '', description: educationInstitution.description || '' }); } }, [educationInstitution, form, id]); // πŸ‘‰ Show success or error alerts (0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () { if (!educationInstitutionUpdatePending && isClick) { if (registerErrorMessage) { antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].error(registerErrorMessage); } else { antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].success(id ? 'Updated successfully!' : 'Created successfully!'); navigate('/education-institutions'); } } }, [educationInstitutionUpdatePending, registerErrorMessage, id, isClick, navigate]); // πŸ‘‰ Handle form submit var onFinish = function onFinish(values) { if (id) { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_8__.updateEducationInstitutionAction)({ id: Number(id), data: values })); form.resetFields(); } else { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_8__.createEducationInstitutionAction)({ data: values })); form.resetFields(); // Reset form after successful creation } setIsClick(true); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((react__WEBPACK_IMPORTED_MODULE_6___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement("h2", null, id ? 'αž€αŸ‚αž”αŸ’αžšαŸ‚αžŸαŸ’αžαžΆαž”αŸαž“αž’αž”αŸ‹αžšαŸ†' : 'αž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αž˜αžΈαžŸαŸ’αžαžΆαž”αŸαž“αž’αž”αŸ‹αžšαŸ†'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"], { form: form, layout: "vertical", onFinish: onFinish, style: { maxWidth: '100%', margin: '0 auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, { label: "\u1788\u17D2\u1798\u17C4\u17C7", name: "name", rules: [{ required: true, message: 'Please enter a name' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_3__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, { label: "\u1794\u179A\u17B7\u1799\u17B6\u1799", name: "description" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__["default"], { rows: 3 })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), { type: "primary", block: true, htmlType: "submit", loading: educationInstitutionUpdatePending }, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), { htmlType: "button", onClick: function onClick() { return navigate('/education-institutions'); } }, "Cancel")))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditEducationInstitutionPage); /***/ }), /***/ "./src/shared/views/main/education_institution/index.tsx": /*!***************************************************************!*\ !*** ./src/shared/views/main/education_institution/index.tsx ***! \***************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js"); /* harmony import */ var _services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../services/education_institution/core/actions */ "./src/services/education_institution/core/actions.ts"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_12__); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var EducationInstitutionList = function EducationInstitutionList() { var _educationInstitution, _educationInstitution2; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_6__.useNavigate)(); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(1), _useState2 = _slicedToArray(_useState, 2), currentPage = _useState2[0], setCurrentPage = _useState2[1]; var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(10), _useState4 = _slicedToArray(_useState3, 2), pageSize = _useState4[0], setPageSize = _useState4[1]; var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)([]), _useState6 = _slicedToArray(_useState5, 2), selectedRows = _useState6[0], setSelectedRows = _useState6[1]; var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(''), _useState8 = _slicedToArray(_useState7, 2), searchText = _useState8[0], setSearchText = _useState8[1]; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(function (state) { return state.educationInstitution; }), educationInstitutions = _useSelector.educationInstitutions, educationInstitutionsPending = _useSelector.educationInstitutionsPending; (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchEducationInstitutions)({ search: searchText, page: currentPage, pageSize: pageSize })); }, [dispatch, searchText, currentPage, pageSize]); var handleEdit = function handleEdit(id) { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__.educationInstitutionDetailAction)(id)); navigate("/education-institutions/form?id=".concat(id)); }; var handleDelete = function handleDelete(id) { sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire({ title: 'Are you sure?', text: 'You won\'t be able to revert this!', icon: 'warning', showConfirmButton: false, showCancelButton: false, html: "\n
\n \n \n
\n ", didOpen: function didOpen() { var _Swal$getPopup, _Swal$getPopup2; var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete'); var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete'); confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () { dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__.deleteEducationInstitutionAction)(id)).then(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire('Deleted!', 'The item has been deleted.', 'success'); dispatch((0,_services_education_institution_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchEducationInstitutions)()); }); sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close(); }); cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () { sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close(); }); } }); }; var handleSearch = function handleSearch() { // Triggers search by setting state setCurrentPage(1); setSearchText(searchText.trim()); }; var handleReset = function handleReset() { // Clears input and shows all data setSearchText(''); }; var handleTableChange = function handleTableChange(pagination) { setCurrentPage(pagination.current); setPageSize(pagination.pageSize); }; var columns = [{ title: 'αž›αŸαžαžšαŸ€αž„', dataIndex: 'index', key: 'index', responsive: ['sm'] }, { title: 'αžˆαŸ’αž˜αŸ„αŸ‡', dataIndex: 'name', key: 'name', responsive: ['sm'] }, { title: 'αž”αžšαž·αž™αžΆαž™', dataIndex: 'description', key: 'description', responsive: ['sm'] }, { title: 'Action', key: 'action', responsive: ['xs', 'sm', 'md', 'lg'], render: function render(_, record) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], { size: "middle" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null), type: "primary", onClick: function onClick() { return handleEdit(record.id); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null), danger: true, onClick: function onClick() { return handleDelete(record.id); } })); } }]; var filteredData = ((educationInstitutions === null || educationInstitutions === void 0 ? void 0 : educationInstitutions.data) || []).filter(function (it) { var _it$name; return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase()); }); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { style: { overflowX: 'auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u179F\u17D2\u1790\u17B6\u1794\u17D0\u1793\u17A2\u1794\u17CB\u179A\u17C6"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { style: { display: 'flex', justifyContent: 'space-between', padding: '10px', background: '#f5f5f5', marginBottom: '10px', flexWrap: 'wrap' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (educationInstitutions === null || educationInstitutions === void 0 || (_educationInstitution = educationInstitutions.meta) === null || _educationInstitution === void 0 ? void 0 : _educationInstitution.total) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_1__["default"], { placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...", style: { width: 200 }, value: searchText, onChange: function onChange(e) { setCurrentPage(1); setSearchText(e.target.value); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { onClick: handleSearch, type: "primary" }, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { onClick: handleReset }, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null), type: "primary", onClick: function onClick() { return navigate("/education-institutions/form"); } }, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_0__["default"], { rowSelection: { type: 'checkbox', onChange: function onChange(_, selectedRows) { return setSelectedRows(selectedRows); } }, columns: columns, dataSource: filteredData.map(function (it, index) { return _objectSpread({ key: it.id, index: index + 1, name: it.name }, it); }), pagination: { current: currentPage, pageSize: pageSize, total: (educationInstitutions === null || educationInstitutions === void 0 || (_educationInstitution2 = educationInstitutions.meta) === null || _educationInstitution2 === void 0 ? void 0 : _educationInstitution2.total) || 0, showSizeChanger: true }, onChange: handleTableChange, rowKey: "id", scroll: { x: 'max-content' } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__["default"], { visible: educationInstitutionsPending })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (EducationInstitutionList); /***/ }), /***/ "./src/shared/views/main/food/form.tsx": /*!*********************************************!*\ !*** ./src/shared/views/main/food/form.tsx ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_food_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../services/food/core/actions */ "./src/services/food/core/actions.ts"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/input/TextArea */ "../../../node_modules/antd/lib/input/TextArea.js"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var NewEditFoodPage = function NewEditFoodPage() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_9__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_7__.useSelector)(function (state) { return state.food; }), food = _useSelector.food, registerErrorMessage = _useSelector.registerErrorMessage, foodUpdatePending = _useSelector.foodUpdatePending; var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].useForm(), _Form$useForm2 = _slicedToArray(_Form$useForm, 1), form = _Form$useForm2[0]; var searchParams = new URLSearchParams(location.search); var id = searchParams.get('id'); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_6__.useState)(false), _useState2 = _slicedToArray(_useState, 2), isClick = _useState2[0], setIsClick = _useState2[1]; // πŸ‘‰ Fetch data when editing or reset form when adding (0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () { if (id) { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_8__.foodDetailAction)(Number(id))); } else { form.resetFields(); // Reset form fields when adding a new item } }, [dispatch, id, form]); // πŸ‘‰ Populate form with fetched data (0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () { if (id && food) { form.setFieldsValue({ name: food.name || '', description: food.description || '' }); } }, [food, form, id]); // πŸ‘‰ Show success or error alerts (0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () { if (!foodUpdatePending && isClick) { if (registerErrorMessage) { antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].error(registerErrorMessage); } else { antd_es_message__WEBPACK_IMPORTED_MODULE_4__["default"].success(id ? 'Updated successfully!' : 'Created successfully!'); navigate('/foods'); } } }, [foodUpdatePending, registerErrorMessage, id, isClick, navigate]); // πŸ‘‰ Handle form submit var onFinish = function onFinish(values) { if (id) { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_8__.updateFoodAction)({ id: Number(id), data: values })); form.resetFields(); } else { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_8__.createFoodAction)({ data: values })); form.resetFields(); // Reset form after successful creation } setIsClick(true); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((react__WEBPACK_IMPORTED_MODULE_6___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement("h2", null, id ? 'αž€αŸ‚αž”αŸ’αžšαŸ‚αž’αžΆαž αžΆαžš' : 'αž”αž“αŸ’αžαŸ‚αž˜αžαŸ’αž˜αžΈαž’αžΆαž αžΆαžš'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"], { form: form, layout: "vertical", onFinish: onFinish, style: { maxWidth: '100%', margin: '0 auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, { label: "\u1788\u17D2\u1798\u17C4\u17C7", name: "name", rules: [{ required: true, message: 'Please enter a name' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_3__["default"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, { label: "\u1794\u179A\u17B7\u1799\u17B6\u1799", name: "description" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_input_TextArea__WEBPACK_IMPORTED_MODULE_10__["default"], { rows: 3 })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_1__["default"], { gutter: [12, 12] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), { type: "primary", block: true, htmlType: "submit", loading: foodUpdatePending }, "Submit"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_2__["default"], { span: 3 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_6___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_0___default()), { htmlType: "button", onClick: function onClick() { return navigate('/foods'); } }, "Cancel")))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditFoodPage); /***/ }), /***/ "./src/shared/views/main/food/index.tsx": /*!**********************************************!*\ !*** ./src/shared/views/main/food/index.tsx ***! \**********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js"); /* harmony import */ var _services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../services/food/core/actions */ "./src/services/food/core/actions.ts"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_12__); function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var FoodList = function FoodList() { var _foods$meta, _foods$meta2; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_6__.useNavigate)(); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(1), _useState2 = _slicedToArray(_useState, 2), currentPage = _useState2[0], setCurrentPage = _useState2[1]; var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(10), _useState4 = _slicedToArray(_useState3, 2), pageSize = _useState4[0], setPageSize = _useState4[1]; var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)([]), _useState6 = _slicedToArray(_useState5, 2), selectedRows = _useState6[0], setSelectedRows = _useState6[1]; var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_4__.useState)(''), _useState8 = _slicedToArray(_useState7, 2), searchText = _useState8[0], setSearchText = _useState8[1]; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_5__.useSelector)(function (state) { return state.food; }), foods = _useSelector.foods, foodsPending = _useSelector.foodsPending; (0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchFoods)({ search: searchText, page: currentPage, pageSize: pageSize })); }, [dispatch, searchText, currentPage, pageSize]); var handleEdit = function handleEdit(id) { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__.foodDetailAction)(id)); navigate("/foods/form?id=".concat(id)); }; var handleDelete = function handleDelete(id) { sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire({ title: 'Are you sure?', text: 'You won\'t be able to revert this!', icon: 'warning', showConfirmButton: false, showCancelButton: false, html: "\n
\n \n \n
\n ", didOpen: function didOpen() { var _Swal$getPopup, _Swal$getPopup2; var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete'); var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete'); confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () { dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__.deleteFoodAction)(id)).then(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire('Deleted!', 'The item has been deleted.', 'success'); dispatch((0,_services_food_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchFoods)()); }); sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close(); }); cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () { sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().close(); }); } }); }; var handleSearch = function handleSearch() { // Triggers search by setting state setCurrentPage(1); setSearchText(searchText.trim()); }; var handleReset = function handleReset() { // Clears input and shows all data setSearchText(''); }; var handleTableChange = function handleTableChange(pagination) { setCurrentPage(pagination.current); setPageSize(pagination.pageSize); }; var columns = [{ title: 'αž›αŸαžαžšαŸ€αž„', dataIndex: 'index', key: 'index', responsive: ['sm'] }, { title: 'αžˆαŸ’αž˜αŸ„αŸ‡', dataIndex: 'name', key: 'name', responsive: ['sm'] }, { title: 'αž”αžšαž·αž™αžΆαž™', dataIndex: 'description', key: 'description', responsive: ['sm'] }, { title: 'Action', key: 'action', responsive: ['xs', 'sm', 'md', 'lg'], render: function render(_, record) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], { size: "middle" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null), type: "primary", onClick: function onClick() { return handleEdit(record.id); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null), danger: true, onClick: function onClick() { return handleDelete(record.id); } })); } }]; var filteredData = ((foods === null || foods === void 0 ? void 0 : foods.data) || []).filter(function (it) { var _it$name; return (_it$name = it.name) === null || _it$name === void 0 ? void 0 : _it$name.toLowerCase().includes(searchText.toLowerCase()); }); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { style: { overflowX: 'auto' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("h2", null, "\u1794\u1789\u17D2\u1787\u17B8\u17A2\u17B6\u17A0\u17B6\u179A"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("div", { style: { display: 'flex', justifyContent: 'space-between', padding: '10px', background: '#f5f5f5', marginBottom: '10px', flexWrap: 'wrap' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (foods === null || foods === void 0 || (_foods$meta = foods.meta) === null || _foods$meta === void 0 ? void 0 : _foods$meta.total) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_1__["default"], { placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...", style: { width: 200 }, value: searchText, onChange: function onChange(e) { setCurrentPage(1); setSearchText(e.target.value); } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { onClick: handleSearch, type: "primary" }, "\u1785\u1798\u17D2\u179A\u17C4\u17C7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { onClick: handleReset }, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_2__["default"], { wrap: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null), type: "primary", onClick: function onClick() { return navigate("/foods/form"); } }, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_0__["default"], { rowSelection: { type: 'checkbox', onChange: function onChange(_, selectedRows) { return setSelectedRows(selectedRows); } }, columns: columns, dataSource: filteredData.map(function (it, index) { return _objectSpread({ key: it.id, index: index + 1, name: it.name }, it); }), pagination: { current: currentPage, pageSize: pageSize, total: (foods === null || foods === void 0 || (_foods$meta2 = foods.meta) === null || _foods$meta2 === void 0 ? void 0 : _foods$meta2.total) || 0, showSizeChanger: true }, onChange: handleTableChange, rowKey: "id", scroll: { x: 'max-content' } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_4___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_7__["default"], { visible: foodsPending })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FoodList); /***/ }), /***/ "./src/shared/views/main/home/index.tsx": /*!**********************************************!*\ !*** ./src/shared/views/main/home/index.tsx ***! \**********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_statistic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/statistic */ "../../../node_modules/antd/lib/statistic/index.js"); /* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/breadcrumb */ "../../../node_modules/antd/lib/breadcrumb/index.js"); /* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/index.js"); /* harmony import */ var antd_es_typography__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/typography */ "../../../node_modules/antd/lib/typography/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../services/volunteer/core/actions */ "./src/services/volunteer/core/actions.ts"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/CalendarOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileExcelOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/TeamOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Legend.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Tooltip.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/ResponsiveContainer.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Cell.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/polar/Pie.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/CartesianGrid.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/Bar.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/XAxis.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/YAxis.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/chart/BarChart.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/chart/PieChart.js"); /* harmony import */ var xlsx__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! xlsx */ "../../../node_modules/xlsx/xlsx.mjs"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } // βœ… Import XLSX for Excel export var Title = antd_es_typography__WEBPACK_IMPORTED_MODULE_7__["default"].Title; var Content = antd_es_layout__WEBPACK_IMPORTED_MODULE_6__["default"].Content; var COLORS = ['#0088FE', '#00C49F', '#FFBB28', '#FF8042', '#A28DFF', '#FF4560', '#775DD0', '#F86624']; var STAT_COLORS = ['#FF5733', '#0073e6', '#2ECC71', '#1E90FF', '#FF69B4', '#FFA500', '#F0BBF0FF']; var DashboardHome = function DashboardHome() { var _dashboard$count_user, _dashboard$count_volu, _dashboard$count_volu2; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_9__.useSelector)(function (state) { return state.volunteer; }), dashboard = _useSelector.dashboard; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_9__.useDispatch)(); (0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () { dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_10__.fetchDashboardAction)()); }, [dispatch]); var chartData = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_status) || {}).map(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1]; return { name: key.replace("count_", "").replace("_", " "), value: value }; }); var chatVolunteerProvince = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_provinces) || {}).map(function (_ref3) { var _ref4 = _slicedToArray(_ref3, 2), key = _ref4[0], value = _ref4[1]; return { name: key.split("/").pop().trim(), value: value }; }); var chatVolunteerGender = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_genders) || {}).map(function (_ref5) { var _ref6 = _slicedToArray(_ref5, 2), key = _ref6[0], value = _ref6[1]; return { name: key.replace("count_", "").replace("_", " "), value: value }; }); var chatVolunteerTshirt = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_shirt_sizes) || {}).map(function (_ref7) { var _ref8 = _slicedToArray(_ref7, 2), key = _ref8[0], value = _ref8[1]; return { name: key, value: value }; }); // count_volunteer_occupations var chatVolunteerOccupations = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_occupations) || {}).map(function (_ref9) { var _ref0 = _slicedToArray(_ref9, 2), key = _ref0[0], value = _ref0[1]; return { name: key, value: value }; }); // count_volunteer_education_institutions var chatVolunteerEducationInst = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_education_institutions) || {}).map(function (_ref1) { var _ref10 = _slicedToArray(_ref1, 2), key = _ref10[0], value = _ref10[1]; return { name: key, value: value }; }); // count_interested_team var chatVolunteerInterestedTeam = Object.entries((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_interested_team) || {}).map(function (_ref11) { var _ref12 = _slicedToArray(_ref11, 2), key = _ref12[0], value = _ref12[1]; return { name: key, value: value }; }); // βœ… Function to Export All Data to Excel var exportToExcel = function exportToExcel() { var wb = xlsx__WEBPACK_IMPORTED_MODULE_26__.utils.book_new(); // Create individual sheets for each dataset var sheets = { "Volunteer Status": chartData, "Volunteer by Province": chatVolunteerProvince, "Volunteer Gender": chatVolunteerGender, "Volunteer T-Shirt Size": chatVolunteerTshirt, "Volunteer Occupations": chatVolunteerOccupations, "Education Institutions": chatVolunteerEducationInst, "Team": chatVolunteerInterestedTeam }; Object.entries(sheets).forEach(function (_ref13) { var _ref14 = _slicedToArray(_ref13, 2), sheetName = _ref14[0], data = _ref14[1]; var ws = xlsx__WEBPACK_IMPORTED_MODULE_26__.utils.json_to_sheet(data); xlsx__WEBPACK_IMPORTED_MODULE_26__.utils.book_append_sheet(wb, ws, sheetName); }); // βœ… Generate and Download the Excel File xlsx__WEBPACK_IMPORTED_MODULE_26__.writeFile(wb, "Volunteer_Dashboard_Report.xlsx"); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_6__["default"], { style: { padding: '16px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_5__["default"], { style: { marginBottom: '12px', display: 'flex', justifyContent: 'space-between', alignItems: 'center' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_5__["default"].Item, null, "Dashboard")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(Content, { style: { background: '#fff', padding: '16px', borderRadius: '8px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], { justify: "space-between", align: "middle", style: { marginBottom: "16px" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(Title, { level: 4, style: { margin: 0 } }, "Dashboard Overview")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { type: "primary", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["default"], null), onClick: exportToExcel, style: { display: "flex", alignItems: "center", gap: "8px" } }, "Export to Excel"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], { gutter: [8, 8] }, [{ title: 'Total Volunteers', value: dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteers, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["default"], null), color: STAT_COLORS[0] }, { title: 'Total Events', value: 1, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__["default"], null), color: STAT_COLORS[1] }, { title: 'Total Admin Users', value: dashboard === null || dashboard === void 0 || (_dashboard$count_user = dashboard.count_user_roles) === null || _dashboard$count_user === void 0 ? void 0 : _dashboard$count_user.count_super_admin, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null), color: STAT_COLORS[2] }, // { title: 'Total Users', value: dashboard?.count_user_roles?.count_user, icon: , color: STAT_COLORS[3] }, { title: 'Male Volunteers', value: dashboard === null || dashboard === void 0 || (_dashboard$count_volu = dashboard.count_volunteer_genders) === null || _dashboard$count_volu === void 0 ? void 0 : _dashboard$count_volu.count_male, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null), color: STAT_COLORS[4] }, { title: 'Female Volunteers', value: dashboard === null || dashboard === void 0 || (_dashboard$count_volu2 = dashboard.count_volunteer_genders) === null || _dashboard$count_volu2 === void 0 ? void 0 : _dashboard$count_volu2.count_female, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null), color: STAT_COLORS[5] } // { title: 'Total Training Sessions', value: dashboard?.count_training_sessions, icon: , color: STAT_COLORS[6] }, ].map(function (stat, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], { xs: 24, sm: 24, md: 6, key: index }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], { style: { backgroundColor: stat.color, color: '#fff', minHeight: 160 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_statistic__WEBPACK_IMPORTED_MODULE_1__["default"], { title: stat.title, value: stat.value, prefix: stat.icon, valueStyle: { color: '#fff' } }))); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Status Breakdown"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.BarChart, { data: chartData, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Team"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.BarChart, { data: chatVolunteerInterestedTeam, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Status Breakdown"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Pie, { data: chartData, dataKey: "value", nameKey: "name", cx: "50%", cy: "50%", outerRadius: 80, label: true }, chartData.map(function (_, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_15__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null)))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer by Province"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.BarChart, { data: chatVolunteerProvince, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Gender"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Pie, { data: chatVolunteerGender, dataKey: "value", nameKey: "name", cx: "50%", cy: "50%", outerRadius: 80, label: true }, chatVolunteerGender.map(function (_, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_15__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer T-Shirt Size"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Pie, { data: chatVolunteerTshirt, dataKey: "value", nameKey: "name", cx: "50%", cy: "50%", outerRadius: 80, label: true }, chatVolunteerTshirt.map(function (_, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_15__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Occupation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Pie, { data: chatVolunteerOccupations, dataKey: "value", nameKey: "name", cx: "50%", cy: "50%", outerRadius: 80, label: true }, chatVolunteerOccupations.map(function (_, index) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_15__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_4__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Education Institude"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.BarChart, { data: chatVolunteerEducationInst, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 })))))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DashboardHome); /***/ }), /***/ "./src/shared/views/main/home/main.tsx": /*!*********************************************!*\ !*** ./src/shared/views/main/home/main.tsx ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_drawer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/drawer */ "../../../node_modules/antd/lib/drawer/index.js"); /* harmony import */ var antd_es_menu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/menu */ "../../../node_modules/antd/lib/menu/index.js"); /* harmony import */ var antd_es_avatar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/avatar */ "../../../node_modules/antd/lib/avatar/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/AppstoreOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/BookOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/BuildOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/BulbOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/CarOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DashboardOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EnvironmentOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileAddOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/GlobalOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/LogoutOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/MenuOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/NotificationOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/SettingOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/ShopOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/SketchOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/TeamOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router-dom/dist/index.js"); /* harmony import */ var _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../../../services/authentication/login/core/reducer */ "./src/services/authentication/login/core/reducer.ts"); /* harmony import */ var ___WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! . */ "./src/shared/views/main/home/index.tsx"); /* harmony import */ var _components_footer_footer_component__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../../components/footer/footer-component */ "./src/shared/components/footer/footer-component.tsx"); /* harmony import */ var _assets_logos_logo_png__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../../assets/logos/logo.png */ "./src/shared/assets/logos/logo.png"); /* harmony import */ var _volunteer__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../volunteer */ "./src/shared/views/main/volunteer/index.tsx"); /* harmony import */ var _volunteer_form__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../volunteer/form */ "./src/shared/views/main/volunteer/form.tsx"); /* harmony import */ var _disability_type__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../disability_type */ "./src/shared/views/main/disability_type/index.tsx"); /* harmony import */ var _disability_type_form__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../disability_type/form */ "./src/shared/views/main/disability_type/form.tsx"); /* harmony import */ var _education_institution_form__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../education_institution/form */ "./src/shared/views/main/education_institution/form.tsx"); /* harmony import */ var _education_institution__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../education_institution */ "./src/shared/views/main/education_institution/index.tsx"); /* harmony import */ var _food__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../food */ "./src/shared/views/main/food/index.tsx"); /* harmony import */ var _food_form__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../food/form */ "./src/shared/views/main/food/form.tsx"); /* harmony import */ var _interested_team__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../interested_team */ "./src/shared/views/main/interested_team/index.tsx"); /* harmony import */ var _interested_team_form__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../interested_team/form */ "./src/shared/views/main/interested_team/form.tsx"); /* harmony import */ var _language__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../language */ "./src/shared/views/main/language/index.tsx"); /* harmony import */ var _language_form__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../language/form */ "./src/shared/views/main/language/form.tsx"); /* harmony import */ var _occupation__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../occupation */ "./src/shared/views/main/occupation/index.tsx"); /* harmony import */ var _occupation_form__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../occupation/form */ "./src/shared/views/main/occupation/form.tsx"); /* harmony import */ var _opportunity_source__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../opportunity_source */ "./src/shared/views/main/opportunity_source/index.tsx"); /* harmony import */ var _opportunity_source_form__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../opportunity_source/form */ "./src/shared/views/main/opportunity_source/form.tsx"); /* harmony import */ var _province__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../province */ "./src/shared/views/main/province/index.tsx"); /* harmony import */ var _province_form__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ../province/form */ "./src/shared/views/main/province/form.tsx"); /* harmony import */ var _skill__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ../skill */ "./src/shared/views/main/skill/index.tsx"); /* harmony import */ var _skill_form__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../skill/form */ "./src/shared/views/main/skill/form.tsx"); /* harmony import */ var _terms_condition__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ../terms_condition */ "./src/shared/views/main/terms_condition/index.tsx"); /* harmony import */ var _terms_condition_form__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ../terms_condition/form */ "./src/shared/views/main/terms_condition/form.tsx"); /* harmony import */ var _training_session__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ../training_session */ "./src/shared/views/main/training_session/index.tsx"); /* harmony import */ var _training_session_form__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ../training_session/form */ "./src/shared/views/main/training_session/form.tsx"); /* harmony import */ var _volunteer_event__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../volunteer_event */ "./src/shared/views/main/volunteer_event/index.tsx"); /* harmony import */ var _volunteer_event_form__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../volunteer_event/form */ "./src/shared/views/main/volunteer_event/form.tsx"); /* harmony import */ var _user__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../user */ "./src/shared/views/main/user/index.tsx"); /* harmony import */ var _user_form__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../user/form */ "./src/shared/views/main/user/form.tsx"); /* harmony import */ var _offer_program_form__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../offer_program/form */ "./src/shared/views/main/offer_program/form.tsx"); /* harmony import */ var _offer_program__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../offer_program */ "./src/shared/views/main/offer_program/index.tsx"); /* harmony import */ var _travel_day__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../travel_day */ "./src/shared/views/main/travel_day/index.tsx"); /* harmony import */ var _travel_day_form__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../travel_day/form */ "./src/shared/views/main/travel_day/form.tsx"); /* harmony import */ var _notification_index__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../notification/index */ "./src/shared/views/main/notification/index.tsx"); /* harmony import */ var _user_attendance_index__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../user_attendance/index */ "./src/shared/views/main/user_attendance/index.tsx"); /* harmony import */ var _user_attendance_form__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../user_attendance/form */ "./src/shared/views/main/user_attendance/form.tsx"); /* harmony import */ var _family_survey_FamilySurveyForm__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../../family_survey/FamilySurveyForm */ "./src/shared/views/family_survey/FamilySurveyForm.tsx"); /* harmony import */ var _family_survey_index__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../../family_survey/index */ "./src/shared/views/family_survey/index.tsx"); function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var Header = antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"].Header, Content = antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"].Content, Sider = antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"].Sider; // Menu Configuration var menus = [{ key: "/", title: "Dashboard", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_11__["default"], null), to: "/" }, { key: "/volunteers", title: "αž’αŸ’αž“αž€αžŸαŸ’αž˜αŸαž‚αŸ’αžšαž…αž·αžαŸ’αž", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_6__["default"], null), to: "/volunteers" }, { key: "/volunteer/upload-csv", title: "Import Volunteers", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null), to: "/volunteer/upload-csv" }, { key: "/volunteer/update-team-csv", title: "Assign to Teams", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_21__["default"], null), to: "/volunteer/update-team-csv" }, { key: "/volunteer/update-identity-csv", title: "Update Identity", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_22__["default"], null), to: "/volunteer/update-identity-csv" }, { key: "/user-attendances", title: "User Attendances", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_21__["default"], null), to: "/user-attendances" }, { key: "/family-survey", title: "Family Survey", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_21__["default"], null), to: "/family-survey" }, { key: "settings", title: "αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_18__["default"], null), children: [{ key: '/users', title: 'αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹', to: '/users', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_22__["default"], null) }, { key: '/disability-types', title: 'αž”αŸ’αžšαž—αŸαž‘αž–αž·αž€αžΆαžšαž—αžΆαž–', to: '/disability-types', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_22__["default"], null) }, { key: '/education-institutions', title: 'αžŸαŸ’αžαžΆαž”αŸαž“αž’αž”αŸ‹αžšαŸ†', to: '/education-institutions', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_7__["default"], null) }, { key: '/foods', title: 'ធអហអរ', to: '/foods', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_19__["default"], null) }, { key: '/interested-teams', title: 'αž€αŸ’αžšαž»αž˜', to: '/interested-teams', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_21__["default"], null) }, { key: '/languages', title: 'αž—αžΆαžŸαžΆ', to: '/languages', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["default"], null) }, { key: '/occupations', title: 'αž˜αž»αžαžšαž”αžš', to: '/occupations', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__["default"], null) }, { key: '/opportunity-sources', title: 'αž”αŸ’αžšαž—αž–αž±αž€αžΆαžŸ', to: '/opportunity-sources', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_22__["default"], null) }, { key: '/provinces', title: 'αžαŸαžαŸ’αž/αž€αŸ’αžšαž»αž„', to: '/provinces', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["default"], null) }, { key: '/skills', title: 'αž‡αŸ†αž“αžΆαž‰', to: '/skills', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_20__["default"], null) }, { key: '/terms-conditions', title: 'αž›αž€αŸ’αžαžαžŽαŸ’αžŒ', to: '/terms-conditions', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_18__["default"], null) }, { key: '/training-sessions', title: 'αžœαž‚αŸ’αž‚αž”αžŽαŸ’αžαž»αŸ‡αž”αžŽαŸ’αžαžΆαž›', to: '/training-sessions', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_9__["default"], null) }, { key: '/volunteer-events', title: 'αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαžŸαŸ’αž˜αŸαž‚αŸ’αžšαž…αž·αžαŸ’αž', to: '/volunteer-events', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_6__["default"], null) }, { key: '/offer-programs', title: 'αž€αž˜αŸ’αž˜αžœαžΈαž’αžΈαž•αŸ’αžŠαž›αŸ‹αž‡αžΌαž“', to: '/offer-programs', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_6__["default"], null) }, { key: '/travel-days', title: 'αžαŸ’αž„αŸƒαž’αŸ’αžœαžΎαžŠαŸ†αžŽαžΎαžš', to: '/travel-days', icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_10__["default"], null) }] }, { key: "notification", title: "αžŸαžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_17__["default"], null), to: "/notification" }]; // First, let's define user role types and permissions var USER_ROLES = { SUPER_ADMIN: "super_admin", ADMIN: "admin", REPORTER: "reporter", USER: "user" }; // Modify menu visibility based on role var getAuthorizedMenus = function getAuthorizedMenus(role) { // Handle undefined role case if (!role) return []; switch (role) { case USER_ROLES.SUPER_ADMIN: return menus; case USER_ROLES.REPORTER: return menus.filter(function (menu) { return menu.key === "/family-survey"; }); case USER_ROLES.ADMIN: return menus.filter(function (menu) { return menu.key === "/volunteers" || menu.key === "/user-attendances"; }); default: return menus.filter(function (menu) { return menu.key === "/volunteers"; }); } }; var Main = function Main() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_23__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_24__.useNavigate)(); var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_24__.useLocation)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_23__.useSelector)(function (state) { return state; }), auth = _useSelector.auth; var currentUser = auth.currentUser; var userRole = currentUser === null || currentUser === void 0 ? void 0 : currentUser.role; var _useState = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(location.pathname), _useState2 = _slicedToArray(_useState, 2), activeMenuKey = _useState2[0], setActiveMenuKey = _useState2[1]; var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false), _useState4 = _slicedToArray(_useState3, 2), collapsed = _useState4[0], setCollapsed = _useState4[1]; var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(false), _useState6 = _slicedToArray(_useState5, 2), drawerVisible = _useState6[0], setDrawerVisible = _useState6[1]; var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)([]), _useState8 = _slicedToArray(_useState7, 2), filteredMenus = _useState8[0], setFilteredMenus = _useState8[1]; var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_5__.useState)(true), _useState0 = _slicedToArray(_useState9, 2), isLoading = _useState0[0], setIsLoading = _useState0[1]; (0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () { setActiveMenuKey(location.pathname); }, [location]); // Update useEffect to handle menu updates (0,react__WEBPACK_IMPORTED_MODULE_5__.useEffect)(function () { if (userRole) { var authorizedMenus = getAuthorizedMenus(userRole); setFilteredMenus(authorizedMenus); setIsLoading(false); } }, [userRole]); // Depend on userRole changes var handleLogout = function handleLogout() { dispatch((0,_services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_26__.logout)()); navigate("/login"); }; console.log("Current User:", currentUser === null || currentUser === void 0 ? void 0 : currentUser.role); // Check if user has admin access var canAccessAdminRoutes = userRole === USER_ROLES.SUPER_ADMIN; var canAccessReporterRoutes = userRole === USER_ROLES.REPORTER; var canAccessBasicRoutes = userRole === USER_ROLES.USER || userRole === USER_ROLES.ADMIN; if (isLoading) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"], { style: { minHeight: "100vh" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", { style: { display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100vh' } }, "Loading...")); } return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"], { style: { minHeight: "100vh" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(Header, { style: { position: "fixed", top: 0, left: 0, right: 0, width: "100%", zIndex: 1000, height: 65, background: "#318ADEFF", display: "flex", alignItems: "center", padding: "0 20px", boxShadow: "0 2px 8px rgba(0, 0, 0, 0.15)" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { type: "text", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_16__["default"], null), onClick: function onClick() { return setDrawerVisible(true); }, style: { marginRight: 10, display: 'none' }, className: "mobile-menu-button" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", { style: { flex: 1, display: 'flex', alignItems: 'center' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("img", { src: _assets_logos_logo_png__WEBPACK_IMPORTED_MODULE_29__, style: { width: 45, marginRight: 16 }, alt: "Logo" })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", { style: { display: 'flex', alignItems: 'center' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_avatar__WEBPACK_IMPORTED_MODULE_2__["default"], { src: currentUser.photo_url, size: "large" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", { style: { fontWeight: 'bold', color: '#fff', marginRight: '16px', marginLeft: 16 } }, currentUser !== null && currentUser !== void 0 && currentUser.username ? currentUser.username.split('-').pop() : 'Guest'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", { style: { fontSize: 12, color: '#fff', marginRight: '16px' } }, (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) || 'Addministrator')), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"], { theme: "dark", mode: "horizontal", style: { background: 'transparent', borderBottom: 'none' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, { key: "logout", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_15__["default"], null), onClick: handleLogout }, "Logout"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"], { style: { marginTop: 65 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(Sider, { collapsible: true, collapsed: collapsed, onCollapse: setCollapsed, width: 200, style: { background: "#fff", overflow: "auto", height: "100vh", position: "fixed", left: 0, top: 65 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"], { mode: "inline", selectedKeys: [activeMenuKey], style: { height: "100%", overflowY: 'auto' } }, filteredMenus.map(function (menu) { return menu.children ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].SubMenu, { key: menu.key, icon: menu.icon, title: menu.title }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement("div", { style: { maxHeight: '60vh', overflowY: 'auto', marginBottom: '50px' } }, menu.children.map(function (submenu) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, { key: submenu.key, icon: submenu.icon }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Link, { to: submenu.to }, submenu.title)); }))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, { key: menu.key, icon: menu.icon }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Link, { to: menu.to }, menu.title)); }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_drawer__WEBPACK_IMPORTED_MODULE_0__["default"], { title: "Menu", placement: "left", closable: true, onClose: function onClose() { return setDrawerVisible(false); }, open: drawerVisible, bodyStyle: { padding: 0 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"], { mode: "inline", selectedKeys: [activeMenuKey], style: { height: "100%" } }, filteredMenus.map(function (menu) { return menu.children ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].SubMenu, { key: menu.key, icon: menu.icon, title: menu.title }, menu.children.map(function (submenu) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, { key: submenu.key }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Link, { to: submenu.to }, submenu.title)); })) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_menu__WEBPACK_IMPORTED_MODULE_1__["default"].Item, { key: menu.key, icon: menu.icon }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Link, { to: menu.to }, menu.title)); }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_4__["default"], { style: { marginLeft: collapsed ? 80 : 200, padding: "24px" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(Content, { style: { background: "#fff", padding: "24px", minHeight: "calc(100vh - 65px)" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Routes, null, canAccessReporterRoutes && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement((react__WEBPACK_IMPORTED_MODULE_5___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/family-survey", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_family_survey_index__WEBPACK_IMPORTED_MODULE_66__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/family-survey/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_family_survey_FamilySurveyForm__WEBPACK_IMPORTED_MODULE_65__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Navigate, { to: "/family-survey", replace: true }) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "*", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Navigate, { to: "/family-survey", replace: true }) })), (canAccessAdminRoutes || canAccessBasicRoutes) && !canAccessReporterRoutes && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement((react__WEBPACK_IMPORTED_MODULE_5___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/volunteers", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_volunteer__WEBPACK_IMPORTED_MODULE_30__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/volunteer/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_volunteer_form__WEBPACK_IMPORTED_MODULE_31__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/user-attendances", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_user_attendance_index__WEBPACK_IMPORTED_MODULE_63__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/user-attendances/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_user_attendance_form__WEBPACK_IMPORTED_MODULE_64__["default"], null) })), canAccessAdminRoutes && !canAccessReporterRoutes && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement((react__WEBPACK_IMPORTED_MODULE_5___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(___WEBPACK_IMPORTED_MODULE_27__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/notification", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_notification_index__WEBPACK_IMPORTED_MODULE_62__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/users", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_user__WEBPACK_IMPORTED_MODULE_56__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/users/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_user_form__WEBPACK_IMPORTED_MODULE_57__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/disability-types", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_disability_type__WEBPACK_IMPORTED_MODULE_32__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/disability-types/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_disability_type_form__WEBPACK_IMPORTED_MODULE_33__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/education-institutions", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_education_institution__WEBPACK_IMPORTED_MODULE_35__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/education-institutions/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_education_institution_form__WEBPACK_IMPORTED_MODULE_34__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/foods", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_food__WEBPACK_IMPORTED_MODULE_36__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/foods/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_food_form__WEBPACK_IMPORTED_MODULE_37__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/interested-teams", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_interested_team__WEBPACK_IMPORTED_MODULE_38__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/interested-teams/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_interested_team_form__WEBPACK_IMPORTED_MODULE_39__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/languages", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_language__WEBPACK_IMPORTED_MODULE_40__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/languages/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_language_form__WEBPACK_IMPORTED_MODULE_41__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/occupations", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_occupation__WEBPACK_IMPORTED_MODULE_42__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/occupations/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_occupation_form__WEBPACK_IMPORTED_MODULE_43__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/opportunity-sources", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_opportunity_source__WEBPACK_IMPORTED_MODULE_44__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/opportunity-sources/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_opportunity_source_form__WEBPACK_IMPORTED_MODULE_45__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/provinces", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_province__WEBPACK_IMPORTED_MODULE_46__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/provinces/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_province_form__WEBPACK_IMPORTED_MODULE_47__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/skills", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_skill__WEBPACK_IMPORTED_MODULE_48__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/skills/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_skill_form__WEBPACK_IMPORTED_MODULE_49__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/terms-conditions", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_terms_condition__WEBPACK_IMPORTED_MODULE_50__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/terms-conditions/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_terms_condition_form__WEBPACK_IMPORTED_MODULE_51__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/training-sessions", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_training_session__WEBPACK_IMPORTED_MODULE_52__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/training-sessions/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_training_session_form__WEBPACK_IMPORTED_MODULE_53__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/volunteer-events", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_volunteer_event__WEBPACK_IMPORTED_MODULE_54__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/volunteer-events/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_volunteer_event_form__WEBPACK_IMPORTED_MODULE_55__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/offer-programs", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_offer_program__WEBPACK_IMPORTED_MODULE_59__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/offer-programs/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_offer_program_form__WEBPACK_IMPORTED_MODULE_58__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/travel-days", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_travel_day__WEBPACK_IMPORTED_MODULE_60__["default"], null) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_24__.Route, { path: "/travel-days/form", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_travel_day_form__WEBPACK_IMPORTED_MODULE_61__["default"], null) })))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_components_footer_footer_component__WEBPACK_IMPORTED_MODULE_28__["default"], null)))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Main); /***/ }) }]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX3ZpZXdzX21haW5fZC52b2x1bnRlZXJhcGkuN2Q0YzZlYTlhMmQwNzRkZDYxYjEuYnVuZGxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW1EO0FBR0k7QUFFZ0c7QUFDeEc7QUFDRDtBQUU5QyxJQUFNVSx5QkFBbUMsR0FBRyxTQUF0Q0EseUJBQW1DQSxDQUFBLEVBQVM7RUFDaEQsSUFBTUMsUUFBUSxHQUFHUix3REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBTVMsUUFBUSxHQUFHSiw2REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBQUssWUFBQSxHQUE4RVQsd0RBQVcsQ0FDdkYsVUFBQ1UsS0FBZ0I7TUFBQSxPQUFLQSxLQUFLLENBQUNDLGNBQWM7SUFBQSxDQUM1QyxDQUFDO0lBRk9BLGNBQWMsR0FBQUYsWUFBQSxDQUFkRSxjQUFjO0lBQUVDLG9CQUFvQixHQUFBSCxZQUFBLENBQXBCRyxvQkFBb0I7SUFBRUMsMkJBQTJCLEdBQUFKLFlBQUEsQ0FBM0JJLDJCQUEyQjtFQUd6RSxJQUFBQyxhQUFBLEdBQWVDLG9EQUFBLENBQUtDLE9BQU8sQ0FBQyxDQUFDO0lBQUFDLGNBQUEsR0FBQUMsY0FBQSxDQUFBSixhQUFBO0lBQXRCSyxJQUFJLEdBQUFGLGNBQUE7RUFFWCxJQUFNRyxZQUFZLEdBQUcsSUFBSUMsZUFBZSxDQUFDQyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUN6RCxJQUFNQyxFQUFFLEdBQUdKLFlBQVksQ0FBQ0ssR0FBRyxDQUFDLElBQUksQ0FBQztFQUVqQyxJQUFBQyxTQUFBLEdBQThCNUIsK0NBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTZCLFVBQUEsR0FBQVQsY0FBQSxDQUFBUSxTQUFBO0lBQXRDRSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBOztFQUUxQjtFQUNBOUIsZ0RBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTJCLEVBQUUsRUFBRTtNQUNOakIsUUFBUSxDQUFDTCxrR0FBMEIsQ0FBQzRCLE1BQU0sQ0FBQ04sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDLE1BQU07TUFDTEwsSUFBSSxDQUFDWSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEI7RUFDRixDQUFDLEVBQUUsQ0FBQ3hCLFFBQVEsRUFBRWlCLEVBQUUsRUFBRUwsSUFBSSxDQUFDLENBQUM7O0VBRXhCO0VBQ0F0QixnREFBUyxDQUFDLFlBQU07SUFDZCxJQUFJMkIsRUFBRSxJQUFJYixjQUFjLEVBQUU7TUFDeEJRLElBQUksQ0FBQ2EsY0FBYyxDQUFDO1FBQ2xCQyxJQUFJLEVBQUV0QixjQUFjLENBQUNzQixJQUFJLElBQUksRUFBRTtRQUMvQkMsV0FBVyxFQUFFdkIsY0FBYyxDQUFDdUIsV0FBVyxJQUFJO01BQzdDLENBQUMsQ0FBQztJQUNKO0VBQ0YsQ0FBQyxFQUFFLENBQUN2QixjQUFjLEVBQUVRLElBQUksRUFBRUssRUFBRSxDQUFDLENBQUM7O0VBRTlCO0VBQ0EzQixnREFBUyxDQUFDLFlBQU07SUFDZCxJQUFJLENBQUNnQiwyQkFBMkIsSUFBSWUsT0FBTyxFQUFFO01BQzNDLElBQUloQixvQkFBb0IsRUFBRTtRQUN4QnVCLHVEQUFBLENBQVFDLEtBQUssQ0FBQ3hCLG9CQUFvQixDQUFDO01BQ3JDLENBQUMsTUFBTTtRQUNMdUIsdURBQUEsQ0FBUUUsT0FBTyxDQUFDYixFQUFFLEdBQUcsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDdkVoQixRQUFRLENBQUMsbUJBQW1CLENBQUM7TUFDL0I7SUFDRjtFQUNGLENBQUMsRUFBRSxDQUFDSywyQkFBMkIsRUFBRUQsb0JBQW9CLEVBQUVZLEVBQUUsRUFBRUksT0FBTyxFQUFFcEIsUUFBUSxDQUFDLENBQUM7O0VBRTlFO0VBQ0EsSUFBTThCLFFBQVEsR0FBRyxTQUFYQSxRQUFRQSxDQUFJQyxNQUFzQixFQUFLO0lBQzNDLElBQUlmLEVBQUUsRUFBRTtNQUNOakIsUUFBUSxDQUFDSixrR0FBMEIsQ0FBQztRQUFFcUIsRUFBRSxFQUFFTSxNQUFNLENBQUNOLEVBQUUsQ0FBQztRQUFFZ0IsSUFBSSxFQUFFRDtNQUFPLENBQUMsQ0FBQyxDQUFDO01BQ3RFcEIsSUFBSSxDQUFDWSxXQUFXLENBQUMsQ0FBQztJQUNwQixDQUFDLE1BQU07TUFDTHhCLFFBQVEsQ0FBQ04sa0dBQTBCLENBQUM7UUFBRXVDLElBQUksRUFBRUQ7TUFBTyxDQUFDLENBQUMsQ0FBQztNQUN0RHBCLElBQUksQ0FBQ1ksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCO0lBQ0FGLFVBQVUsQ0FBQyxJQUFJLENBQUM7RUFDbEIsQ0FBQztFQUVELG9CQUNFakMsMERBQUEsQ0FBQUEsdURBQUEscUJBQ0VBLDBEQUFBLGFBQUs0QixFQUFFLEdBQUcsc0JBQXNCLEdBQUcsMEJBQStCLENBQUMsZUFDbkU1QiwwREFBQSxDQUFBbUIsb0RBQUE7SUFBTUksSUFBSSxFQUFFQSxJQUFLO0lBQUN3QixNQUFNLEVBQUMsVUFBVTtJQUFDTCxRQUFRLEVBQUVBLFFBQVM7SUFBQ00sS0FBSyxFQUFFO01BQUVDLFFBQVEsRUFBRSxNQUFNO01BQUVDLE1BQU0sRUFBRTtJQUFTO0VBQUUsZ0JBQ3BHbEQsMERBQUEsQ0FBQW1ELG1EQUFBO0lBQUtDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO0VBQUUsZ0JBQ3BCcEQsMERBQUEsQ0FBQXFELG1EQUFBO0lBQUtDLElBQUksRUFBRTtFQUFHLGdCQUNadEQsMERBQUEsQ0FBQW1CLG9EQUFBLENBQU1vQyxJQUFJO0lBQUNDLEtBQUssRUFBQyxnQ0FBTztJQUFDbkIsSUFBSSxFQUFDLE1BQU07SUFBQ29CLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRSxJQUFJO01BQUVDLE9BQU8sRUFBRTtJQUFzQixDQUFDO0VBQUUsZ0JBQy9GM0QsMERBQUEsQ0FBQTRELHFEQUFBLE1BQVEsQ0FDQyxDQUNSLENBQUMsZUFDTjVELDBEQUFBLENBQUFxRCxtREFBQTtJQUFLQyxJQUFJLEVBQUU7RUFBRyxnQkFDWnRELDBEQUFBLENBQUFtQixvREFBQSxDQUFNb0MsSUFBSTtJQUFDQyxLQUFLLEVBQUMsc0NBQVE7SUFBQ25CLElBQUksRUFBQztFQUFhLGdCQUMxQ3JDLDBEQUFBLENBQUNTLCtEQUFRO0lBQUNvRCxJQUFJLEVBQUU7RUFBRSxDQUFFLENBQ1gsQ0FDUixDQUNGLENBQUMsZUFDTjdELDBEQUFBLENBQUFtRCxtREFBQTtJQUFLQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtFQUFFLGdCQUNwQnBELDBEQUFBLENBQUFxRCxtREFBQTtJQUFLQyxJQUFJLEVBQUU7RUFBRSxnQkFDWHRELDBEQUFBLENBQUFtQixvREFBQSxDQUFNb0MsSUFBSSxxQkFDUnZELDBEQUFBLENBQUE4RCx1REFBQTtJQUFRQyxJQUFJLEVBQUMsU0FBUztJQUFDQyxLQUFLO0lBQUNDLFFBQVEsRUFBQyxRQUFRO0lBQUNDLE9BQU8sRUFBRWpEO0VBQTRCLEdBQUMsUUFFN0UsQ0FDQyxDQUNSLENBQUMsZUFDTmpCLDBEQUFBLENBQUFxRCxtREFBQTtJQUFLQyxJQUFJLEVBQUU7RUFBRSxnQkFDWHRELDBEQUFBLENBQUFtQixvREFBQSxDQUFNb0MsSUFBSSxxQkFDUnZELDBEQUFBLENBQUE4RCx1REFBQTtJQUFRRyxRQUFRLEVBQUMsUUFBUTtJQUFDRSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtNQUFBLE9BQVF2RCxRQUFRLENBQUMsbUJBQW1CLENBQUM7SUFBQTtFQUFDLEdBQUMsUUFFaEUsQ0FDQyxDQUNSLENBQ0YsQ0FDRCxDQUNOLENBQUM7QUFFUCxDQUFDO0FBRUQsaUVBQWVGLHlCQUF5QixFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3RHVztBQUVJO0FBRVI7QUFDdUI7QUFDUztBQUNrRTtBQUNsSDtBQUUvQixJQUFNaUUsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQSxFQUFTO0VBQUEsSUFBQUMscUJBQUEsRUFBQUMsc0JBQUE7RUFDL0IsSUFBTWxFLFFBQVEsR0FBR1Isd0RBQVcsQ0FBQyxDQUFDO0VBQzlCLElBQU1TLFFBQVEsR0FBR0osNkRBQVcsQ0FBQyxDQUFDO0VBRTlCLElBQUFzQixTQUFBLEdBQXNDNUIsK0NBQVEsQ0FBQyxDQUFDLENBQUM7SUFBQTZCLFVBQUEsR0FBQVQsY0FBQSxDQUFBUSxTQUFBO0lBQTFDZ0QsV0FBVyxHQUFBL0MsVUFBQTtJQUFFZ0QsY0FBYyxHQUFBaEQsVUFBQTtFQUNsQyxJQUFBaUQsVUFBQSxHQUFnQzlFLCtDQUFRLENBQUMsRUFBRSxDQUFDO0lBQUErRSxVQUFBLEdBQUEzRCxjQUFBLENBQUEwRCxVQUFBO0lBQXJDRSxRQUFRLEdBQUFELFVBQUE7SUFBRUUsV0FBVyxHQUFBRixVQUFBO0VBQzVCLElBQUFHLFVBQUEsR0FBd0NsRiwrQ0FBUSxDQUFNLEVBQUUsQ0FBQztJQUFBbUYsVUFBQSxHQUFBL0QsY0FBQSxDQUFBOEQsVUFBQTtJQUFsREUsWUFBWSxHQUFBRCxVQUFBO0lBQUVFLGVBQWUsR0FBQUYsVUFBQTtFQUNwQyxJQUFBRyxVQUFBLEdBQW9DdEYsK0NBQVEsQ0FBQyxFQUFFLENBQUM7SUFBQXVGLFVBQUEsR0FBQW5FLGNBQUEsQ0FBQWtFLFVBQUE7SUFBekNFLFVBQVUsR0FBQUQsVUFBQTtJQUFFRSxhQUFhLEdBQUFGLFVBQUE7RUFDaEMsSUFBQTVFLFlBQUEsR0FBb0RULHdEQUFXLENBQUMsVUFBQ1UsS0FBZ0I7TUFBQSxPQUFLQSxLQUFLLENBQUNDLGNBQWM7SUFBQSxFQUFDO0lBQW5HNkUsZUFBZSxHQUFBL0UsWUFBQSxDQUFmK0UsZUFBZTtJQUFFQyxzQkFBc0IsR0FBQWhGLFlBQUEsQ0FBdEJnRixzQkFBc0I7RUFFL0M1RixnREFBUyxDQUFDLFlBQU07SUFDZFUsUUFBUSxDQUFDOEQsNkZBQW9CLENBQUM7TUFDNUI5QyxNQUFNLEVBQUUrRCxVQUFVO01BQ2xCSSxJQUFJLEVBQUVoQixXQUFXO01BQ2pCSSxRQUFRLEVBQVJBO0lBQ0YsQ0FBQyxDQUFDLENBQUM7RUFDTCxDQUFDLEVBQUUsQ0FBQ3ZFLFFBQVEsRUFBRStFLFVBQVUsRUFBRVosV0FBVyxFQUFFSSxRQUFRLENBQUMsQ0FBQztFQUVqRCxJQUFNYSxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBSW5FLEVBQU8sRUFBSztJQUM5QmpCLFFBQVEsQ0FBQ0wsbUdBQTBCLENBQUNzQixFQUFFLENBQUMsQ0FBQztJQUN4Q2hCLFFBQVEsOEJBQUFvRixNQUFBLENBQThCcEUsRUFBRSxDQUFFLENBQUM7RUFDN0MsQ0FBQztFQUVELElBQU1xRSxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSXJFLEVBQU8sRUFBSztJQUNoQzhDLHdEQUFTLENBQUM7TUFDUnlCLEtBQUssRUFBRSxlQUFlO01BQ3RCQyxJQUFJLEVBQUUsb0NBQW9DO01BQzFDQyxJQUFJLEVBQUUsU0FBUztNQUNmQyxpQkFBaUIsRUFBRSxLQUFLO01BQ3hCQyxnQkFBZ0IsRUFBRSxLQUFLO01BQ3ZCQyxJQUFJLDJYQUtIO01BQ0RDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7UUFBQSxJQUFBQyxjQUFBLEVBQUFDLGVBQUE7UUFDYixJQUFNQyxhQUFhLElBQUFGLGNBQUEsR0FBR2hDLDREQUFhLENBQUMsQ0FBQyxjQUFBZ0MsY0FBQSx1QkFBZkEsY0FBQSxDQUFpQkksYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZFLElBQU1DLFlBQVksSUFBQUosZUFBQSxHQUFHakMsNERBQWEsQ0FBQyxDQUFDLGNBQUFpQyxlQUFBLHVCQUFmQSxlQUFBLENBQWlCRyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7UUFFckVGLGFBQWEsYUFBYkEsYUFBYSxlQUFiQSxhQUFhLENBQUVJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxZQUFNO1VBQzdDckcsUUFBUSxDQUFDNkQsbUdBQTBCLENBQUM1QyxFQUFFLENBQUMsQ0FBQyxDQUFDcUYsSUFBSSxDQUFDLFlBQU07WUFDbER2Qyx3REFBUyxDQUFDLFVBQVUsRUFBRSw0QkFBNEIsRUFBRSxTQUFTLENBQUM7WUFDOUQvRCxRQUFRLENBQUM4RCw2RkFBb0IsQ0FBQyxDQUFDLENBQUM7VUFDbEMsQ0FBQyxDQUFDO1VBQ0ZDLHlEQUFVLENBQUMsQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGcUMsWUFBWSxhQUFaQSxZQUFZLGVBQVpBLFlBQVksQ0FBRUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQU07VUFDNUN0Qyx5REFBVSxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUM7TUFDSjtJQUNGLENBQUMsQ0FBQztFQUNKLENBQUM7RUFFRCxJQUFNeUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztJQUN6QjtJQUNBcEMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNqQlksYUFBYSxDQUFDRCxVQUFVLENBQUMwQixJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQSxFQUFTO0lBQ3hCO0lBQ0ExQixhQUFhLENBQUMsRUFBRSxDQUFDO0VBQ25CLENBQUM7RUFFRCxJQUFNMkIsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsVUFBZSxFQUFLO0lBQzdDeEMsY0FBYyxDQUFDd0MsVUFBVSxDQUFDQyxPQUFPLENBQUM7SUFDbENyQyxXQUFXLENBQUNvQyxVQUFVLENBQUNyQyxRQUFRLENBQUM7RUFDbEMsQ0FBQztFQUVELElBQU11QyxPQUFPLEdBQUcsQ0FDZDtJQUFFdEIsS0FBSyxFQUFFLFFBQVE7SUFBRXVCLFNBQVMsRUFBRSxPQUFPO0lBQUVDLEdBQUcsRUFBRSxPQUFPO0lBQUVDLFVBQVUsRUFBRSxDQUFDLElBQUk7RUFBRSxDQUFDLEVBQ3pFO0lBQUV6QixLQUFLLEVBQUUsT0FBTztJQUFFdUIsU0FBUyxFQUFFLE1BQU07SUFBRUMsR0FBRyxFQUFFLE1BQU07SUFBRUMsVUFBVSxFQUFFLENBQUMsSUFBSTtFQUFFLENBQUMsRUFDdEU7SUFBRXpCLEtBQUssRUFBRSxRQUFRO0lBQUV1QixTQUFTLEVBQUUsYUFBYTtJQUFFQyxHQUFHLEVBQUUsYUFBYTtJQUFFQyxVQUFVLEVBQUUsQ0FBQyxJQUFJO0VBQUUsQ0FBQyxFQUNyRjtJQUNFekIsS0FBSyxFQUFFLFFBQVE7SUFDZndCLEdBQUcsRUFBRSxRQUFRO0lBQ2JDLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNwQ0MsTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUdDLENBQVMsRUFBRUMsTUFBVztNQUFBLG9CQUM3Qi9ILDBEQUFBLENBQUFnSSxxREFBQTtRQUFPQyxJQUFJLEVBQUM7TUFBUSxnQkFDbEJqSSwwREFBQSxDQUFBOEQsdURBQUE7UUFBUXVDLElBQUksZUFBRXJHLDBEQUFBLENBQUNzRSx5REFBWSxNQUFFLENBQUU7UUFBQ1AsSUFBSSxFQUFDLFNBQVM7UUFBQ0ksT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7VUFBQSxPQUFRNEIsVUFBVSxDQUFDZ0MsTUFBTSxDQUFDbkcsRUFBRSxDQUFDO1FBQUE7TUFBQyxDQUFFLENBQUMsZUFDdkY1QiwwREFBQSxDQUFBOEQsdURBQUE7UUFBUXVDLElBQUksZUFBRXJHLDBEQUFBLENBQUNxRSx5REFBYyxNQUFFLENBQUU7UUFBQzZELE1BQU07UUFBQy9ELE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1VBQUEsT0FBUThCLFlBQVksQ0FBQzhCLE1BQU0sQ0FBQ25HLEVBQUUsQ0FBQztRQUFBO01BQUMsQ0FBRSxDQUM3RSxDQUFDO0lBQUE7RUFFWixDQUFDLENBQ0Y7RUFFRCxJQUFNdUcsWUFBWSxHQUFHLENBQUMsQ0FBQXZDLGVBQWUsYUFBZkEsZUFBZSx1QkFBZkEsZUFBZSxDQUFFaEQsSUFBSSxLQUFJLEVBQUUsRUFBRXdGLE1BQU0sQ0FBQyxVQUFDQyxFQUFFO0lBQUEsSUFBQUMsUUFBQTtJQUFBLFFBQUFBLFFBQUEsR0FDM0RELEVBQUUsQ0FBQ2hHLElBQUksY0FBQWlHLFFBQUEsdUJBQVBBLFFBQUEsQ0FBU0MsV0FBVyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDOUMsVUFBVSxDQUFDNkMsV0FBVyxDQUFDLENBQUMsQ0FBQztFQUFBLENBQzNELENBQUM7RUFFRCxvQkFDRXZJLDBEQUFBO0lBQUtnRCxLQUFLLEVBQUU7TUFBRXlGLFNBQVMsRUFBRTtJQUFPO0VBQUUsZ0JBQ2hDekksMERBQUEsYUFBSSxvSEFBdUIsQ0FBQyxlQUM1QkEsMERBQUE7SUFDRWdELEtBQUssRUFBRTtNQUNMMEYsT0FBTyxFQUFFLE1BQU07TUFDZkMsY0FBYyxFQUFFLGVBQWU7TUFDL0JDLE9BQU8sRUFBRSxNQUFNO01BQ2ZDLFVBQVUsRUFBRSxTQUFTO01BQ3JCQyxZQUFZLEVBQUUsTUFBTTtNQUNwQkMsUUFBUSxFQUFFO0lBQ1o7RUFBRSxnQkFFRi9JLDBEQUFBLENBQUFnSSxxREFBQTtJQUFPZ0IsSUFBSTtFQUFBLGdCQUNUaEosMERBQUEsZUFBTSw0QkFBTSxFQUFDLENBQUE0RixlQUFlLGFBQWZBLGVBQWUsZ0JBQUFoQixxQkFBQSxHQUFmZ0IsZUFBZSxDQUFFcUQsSUFBSSxjQUFBckUscUJBQUEsdUJBQXJCQSxxQkFBQSxDQUF1QnNFLEtBQUssS0FBSSxDQUFRLENBQUMsZUFDdERsSiwwREFBQSxDQUFBNEQscURBQUE7SUFDRXVGLFdBQVcsRUFBQywrQ0FBWTtJQUN4Qm5HLEtBQUssRUFBRTtNQUFFb0csS0FBSyxFQUFFO0lBQUksQ0FBRTtJQUN0QkMsS0FBSyxFQUFFM0QsVUFBVztJQUNsQjRELFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHQyxDQUFDLEVBQUs7TUFDZnhFLGNBQWMsQ0FBQyxDQUFDLENBQUM7TUFDakJZLGFBQWEsQ0FBQzRELENBQUMsQ0FBQ0MsTUFBTSxDQUFDSCxLQUFLLENBQUM7SUFDL0I7RUFBRSxDQUNILENBQUMsZUFDRnJKLDBEQUFBLENBQUE4RCx1REFBQTtJQUFRSyxPQUFPLEVBQUVnRCxZQUFhO0lBQUNwRCxJQUFJLEVBQUM7RUFBUyxHQUFDLHNDQUFjLENBQUMsZUFDN0QvRCwwREFBQSxDQUFBOEQsdURBQUE7SUFBUUssT0FBTyxFQUFFa0Q7RUFBWSxHQUFDLG9FQUFtQixDQUM1QyxDQUFDLGVBQ1JySCwwREFBQSxDQUFBZ0kscURBQUE7SUFBT2dCLElBQUk7RUFBQSxnQkFDVGhKLDBEQUFBLENBQUE4RCx1REFBQTtJQUFRdUMsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ3VFLDBEQUFZLE1BQUUsQ0FBRTtJQUFDUixJQUFJLEVBQUMsU0FBUztJQUFDSSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtNQUFBLE9BQVF2RCxRQUFRLHlCQUF5QixDQUFDO0lBQUE7RUFBQyxHQUFDLDhEQUFrQixDQUMvRyxDQUNKLENBQUMsZUFDTlosMERBQUEsQ0FBQXlKLHFEQUFBO0lBQ0VDLFlBQVksRUFBRTtNQUNaM0YsSUFBSSxFQUFFLFVBQVU7TUFDaEJ1RixRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR3hCLENBQUMsRUFBRXhDLFlBQVk7UUFBQSxPQUFLQyxlQUFlLENBQUNELFlBQVksQ0FBQztNQUFBO0lBQzlELENBQUU7SUFDRm1DLE9BQU8sRUFBRUEsT0FBUTtJQUNqQmtDLFVBQVUsRUFBRXhCLFlBQVksQ0FBQ3lCLEdBQUcsQ0FBQyxVQUFDdkIsRUFBRSxFQUFFd0IsS0FBSztNQUFBLE9BQUFDLGFBQUE7UUFDckNuQyxHQUFHLEVBQUVVLEVBQUUsQ0FBQ3pHLEVBQUU7UUFDVmlJLEtBQUssRUFBRUEsS0FBSyxHQUFHLENBQUM7UUFDaEJ4SCxJQUFJLEVBQUVnRyxFQUFFLENBQUNoRztNQUFJLEdBQ1ZnRyxFQUFFO0lBQUEsQ0FDTCxDQUFFO0lBQ0pkLFVBQVUsRUFBRTtNQUNWQyxPQUFPLEVBQUUxQyxXQUFXO01BQ3BCSSxRQUFRLEVBQUVBLFFBQVE7TUFDbEJnRSxLQUFLLEVBQUUsQ0FBQXRELGVBQWUsYUFBZkEsZUFBZSxnQkFBQWYsc0JBQUEsR0FBZmUsZUFBZSxDQUFFcUQsSUFBSSxjQUFBcEUsc0JBQUEsdUJBQXJCQSxzQkFBQSxDQUF1QnFFLEtBQUssS0FBSSxDQUFDO01BQ3hDYSxlQUFlLEVBQUU7SUFDbkIsQ0FBRTtJQUNGVCxRQUFRLEVBQUVoQyxpQkFBa0I7SUFDNUIwQyxNQUFNLEVBQUMsSUFBSTtJQUNYQyxNQUFNLEVBQUU7TUFBRUMsQ0FBQyxFQUFFO0lBQWM7RUFBRSxDQUM5QixDQUFDLGVBQ0ZsSywwREFBQSxDQUFDb0UseUVBQWE7SUFBQytGLE9BQU8sRUFBRXRFO0VBQXVCLENBQUUsQ0FDOUMsQ0FBQztBQUVWLENBQUM7QUFFRCxpRUFBZWxCLGtCQUFrQixFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNoS2tCO0FBR0k7QUFFd0g7QUFDaEk7QUFDRDtBQUU5QyxJQUFNNEYsK0JBQXlDLEdBQUcsU0FBNUNBLCtCQUF5Q0EsQ0FBQSxFQUFTO0VBQ3RELElBQU01SixRQUFRLEdBQUdSLHdEQUFXLENBQUMsQ0FBQztFQUM5QixJQUFNUyxRQUFRLEdBQUdKLDZEQUFXLENBQUMsQ0FBQztFQUM5QixJQUFBSyxZQUFBLEdBQTBGVCx3REFBVyxDQUNuRyxVQUFDVSxLQUFnQjtNQUFBLE9BQUtBLEtBQUssQ0FBQzBKLG9CQUFvQjtJQUFBLENBQ2xELENBQUM7SUFGT0Esb0JBQW9CLEdBQUEzSixZQUFBLENBQXBCMkosb0JBQW9CO0lBQUV4SixvQkFBb0IsR0FBQUgsWUFBQSxDQUFwQkcsb0JBQW9CO0lBQUV5SixpQ0FBaUMsR0FBQTVKLFlBQUEsQ0FBakM0SixpQ0FBaUM7RUFHckYsSUFBQXZKLGFBQUEsR0FBZUMsb0RBQUEsQ0FBS0MsT0FBTyxDQUFDLENBQUM7SUFBQUMsY0FBQSxHQUFBQyxjQUFBLENBQUFKLGFBQUE7SUFBdEJLLElBQUksR0FBQUYsY0FBQTtFQUVYLElBQU1HLFlBQVksR0FBRyxJQUFJQyxlQUFlLENBQUNDLFFBQVEsQ0FBQ0MsTUFBTSxDQUFDO0VBQ3pELElBQU1DLEVBQUUsR0FBR0osWUFBWSxDQUFDSyxHQUFHLENBQUMsSUFBSSxDQUFDO0VBRWpDLElBQUFDLFNBQUEsR0FBOEI1QiwrQ0FBUSxDQUFDLEtBQUssQ0FBQztJQUFBNkIsVUFBQSxHQUFBVCxjQUFBLENBQUFRLFNBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7O0VBRTFCO0VBQ0E5QixnREFBUyxDQUFDLFlBQU07SUFDZCxJQUFJMkIsRUFBRSxFQUFFO01BQ05qQixRQUFRLENBQUMwSiw4R0FBZ0MsQ0FBQ25JLE1BQU0sQ0FBQ04sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDLE1BQU07TUFDTEwsSUFBSSxDQUFDWSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEI7RUFDRixDQUFDLEVBQUUsQ0FBQ3hCLFFBQVEsRUFBRWlCLEVBQUUsRUFBRUwsSUFBSSxDQUFDLENBQUM7O0VBRXhCO0VBQ0F0QixnREFBUyxDQUFDLFlBQU07SUFDZCxJQUFJMkIsRUFBRSxJQUFJNEksb0JBQW9CLEVBQUU7TUFDOUJqSixJQUFJLENBQUNhLGNBQWMsQ0FBQztRQUNsQkMsSUFBSSxFQUFFbUksb0JBQW9CLENBQUNuSSxJQUFJLElBQUksRUFBRTtRQUNyQ0MsV0FBVyxFQUFFa0ksb0JBQW9CLENBQUNsSSxXQUFXLElBQUk7TUFDbkQsQ0FBQyxDQUFDO0lBQ0o7RUFDRixDQUFDLEVBQUUsQ0FBQ2tJLG9CQUFvQixFQUFFakosSUFBSSxFQUFFSyxFQUFFLENBQUMsQ0FBQzs7RUFFcEM7RUFDQTNCLGdEQUFTLENBQUMsWUFBTTtJQUNkLElBQUksQ0FBQ3dLLGlDQUFpQyxJQUFJekksT0FBTyxFQUFFO01BQ2pELElBQUloQixvQkFBb0IsRUFBRTtRQUN4QnVCLHVEQUFBLENBQVFDLEtBQUssQ0FBQ3hCLG9CQUFvQixDQUFDO01BQ3JDLENBQUMsTUFBTTtRQUNMdUIsdURBQUEsQ0FBUUUsT0FBTyxDQUFDYixFQUFFLEdBQUcsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDdkVoQixRQUFRLENBQUMseUJBQXlCLENBQUM7TUFDckM7SUFDRjtFQUNGLENBQUMsRUFBRSxDQUFDNkosaUNBQWlDLEVBQUV6SixvQkFBb0IsRUFBRVksRUFBRSxFQUFFSSxPQUFPLEVBQUVwQixRQUFRLENBQUMsQ0FBQzs7RUFFcEY7RUFDQSxJQUFNOEIsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUlDLE1BQTRCLEVBQUs7SUFDakQsSUFBSWYsRUFBRSxFQUFFO01BQ05qQixRQUFRLENBQUMySiw4R0FBZ0MsQ0FBQztRQUFFMUksRUFBRSxFQUFFTSxNQUFNLENBQUNOLEVBQUUsQ0FBQztRQUFFZ0IsSUFBSSxFQUFFRDtNQUFPLENBQUMsQ0FBQyxDQUFDO01BQzVFcEIsSUFBSSxDQUFDWSxXQUFXLENBQUMsQ0FBQztJQUNwQixDQUFDLE1BQU07TUFDTHhCLFFBQVEsQ0FBQ3lKLDhHQUFnQyxDQUFDO1FBQUV4SCxJQUFJLEVBQUVEO01BQU8sQ0FBQyxDQUFDLENBQUM7TUFDNURwQixJQUFJLENBQUNZLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QjtJQUNBRixVQUFVLENBQUMsSUFBSSxDQUFDO0VBQ2xCLENBQUM7RUFFRCxvQkFDRWpDLDBEQUFBLENBQUFBLHVEQUFBLHFCQUNFQSwwREFBQSxhQUFLNEIsRUFBRSxHQUFHLG9CQUFvQixHQUFHLHdCQUE2QixDQUFDLGVBQy9ENUIsMERBQUEsQ0FBQW1CLG9EQUFBO0lBQU1JLElBQUksRUFBRUEsSUFBSztJQUFDd0IsTUFBTSxFQUFDLFVBQVU7SUFBQ0wsUUFBUSxFQUFFQSxRQUFTO0lBQUNNLEtBQUssRUFBRTtNQUFFQyxRQUFRLEVBQUUsTUFBTTtNQUFFQyxNQUFNLEVBQUU7SUFBUztFQUFFLGdCQUNwR2xELDBEQUFBLENBQUFtRCxtREFBQTtJQUFLQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtFQUFFLGdCQUNwQnBELDBEQUFBLENBQUFxRCxtREFBQTtJQUFLQyxJQUFJLEVBQUU7RUFBRyxnQkFDWnRELDBEQUFBLENBQUFtQixvREFBQSxDQUFNb0MsSUFBSTtJQUFDQyxLQUFLLEVBQUMsZ0NBQU87SUFBQ25CLElBQUksRUFBQyxNQUFNO0lBQUNvQixLQUFLLEVBQUUsQ0FBQztNQUFFQyxRQUFRLEVBQUUsSUFBSTtNQUFFQyxPQUFPLEVBQUU7SUFBc0IsQ0FBQztFQUFFLGdCQUMvRjNELDBEQUFBLENBQUE0RCxxREFBQSxNQUFRLENBQ0MsQ0FDUixDQUFDLGVBQ041RCwwREFBQSxDQUFBcUQsbURBQUE7SUFBS0MsSUFBSSxFQUFFO0VBQUcsZ0JBQ1p0RCwwREFBQSxDQUFBbUIsb0RBQUEsQ0FBTW9DLElBQUk7SUFBQ0MsS0FBSyxFQUFDLHNDQUFRO0lBQUNuQixJQUFJLEVBQUM7RUFBYSxnQkFDMUNyQywwREFBQSxDQUFDUywrREFBUTtJQUFDb0QsSUFBSSxFQUFFO0VBQUUsQ0FBRSxDQUNYLENBQ1IsQ0FDRixDQUFDLGVBQ043RCwwREFBQSxDQUFBbUQsbURBQUE7SUFBS0MsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUU7RUFBRSxnQkFDcEJwRCwwREFBQSxDQUFBcUQsbURBQUE7SUFBS0MsSUFBSSxFQUFFO0VBQUUsZ0JBQ1h0RCwwREFBQSxDQUFBbUIsb0RBQUEsQ0FBTW9DLElBQUkscUJBQ1J2RCwwREFBQSxDQUFBOEQsdURBQUE7SUFBUUMsSUFBSSxFQUFDLFNBQVM7SUFBQ0MsS0FBSztJQUFDQyxRQUFRLEVBQUMsUUFBUTtJQUFDQyxPQUFPLEVBQUV1RztFQUFrQyxHQUFDLFFBRW5GLENBQ0MsQ0FDUixDQUFDLGVBQ056SywwREFBQSxDQUFBcUQsbURBQUE7SUFBS0MsSUFBSSxFQUFFO0VBQUUsZ0JBQ1h0RCwwREFBQSxDQUFBbUIsb0RBQUEsQ0FBTW9DLElBQUkscUJBQ1J2RCwwREFBQSxDQUFBOEQsdURBQUE7SUFBUUcsUUFBUSxFQUFDLFFBQVE7SUFBQ0UsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7TUFBQSxPQUFRdkQsUUFBUSxDQUFDLHlCQUF5QixDQUFDO0lBQUE7RUFBQyxHQUFDLFFBRXRFLENBQ0MsQ0FDUixDQUNGLENBQ0QsQ0FDTixDQUFDO0FBRVAsQ0FBQztBQUVELGlFQUFlMkosK0JBQStCLEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDdEdLO0FBRUk7QUFFUjtBQUN1QjtBQUNTO0FBQzBGO0FBQzFJO0FBRS9CLElBQU1LLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUEsRUFBUztFQUFBLElBQUFDLHFCQUFBLEVBQUFDLHNCQUFBO0VBQ3JDLElBQU1uSyxRQUFRLEdBQUdSLHdEQUFXLENBQUMsQ0FBQztFQUM5QixJQUFNUyxRQUFRLEdBQUdKLDZEQUFXLENBQUMsQ0FBQztFQUU5QixJQUFBc0IsU0FBQSxHQUFzQzVCLCtDQUFRLENBQUMsQ0FBQyxDQUFDO0lBQUE2QixVQUFBLEdBQUFULGNBQUEsQ0FBQVEsU0FBQTtJQUExQ2dELFdBQVcsR0FBQS9DLFVBQUE7SUFBRWdELGNBQWMsR0FBQWhELFVBQUE7RUFDbEMsSUFBQWlELFVBQUEsR0FBZ0M5RSwrQ0FBUSxDQUFDLEVBQUUsQ0FBQztJQUFBK0UsVUFBQSxHQUFBM0QsY0FBQSxDQUFBMEQsVUFBQTtJQUFyQ0UsUUFBUSxHQUFBRCxVQUFBO0lBQUVFLFdBQVcsR0FBQUYsVUFBQTtFQUM1QixJQUFBRyxVQUFBLEdBQXdDbEYsK0NBQVEsQ0FBTSxFQUFFLENBQUM7SUFBQW1GLFVBQUEsR0FBQS9ELGNBQUEsQ0FBQThELFVBQUE7SUFBbERFLFlBQVksR0FBQUQsVUFBQTtJQUFFRSxlQUFlLEdBQUFGLFVBQUE7RUFDcEMsSUFBQUcsVUFBQSxHQUFvQ3RGLCtDQUFRLENBQUMsRUFBRSxDQUFDO0lBQUF1RixVQUFBLEdBQUFuRSxjQUFBLENBQUFrRSxVQUFBO0lBQXpDRSxVQUFVLEdBQUFELFVBQUE7SUFBRUUsYUFBYSxHQUFBRixVQUFBO0VBQ2hDLElBQUE1RSxZQUFBLEdBQWdFVCx3REFBVyxDQUFDLFVBQUNVLEtBQWdCO01BQUEsT0FBS0EsS0FBSyxDQUFDMEosb0JBQW9CO0lBQUEsRUFBQztJQUFySE8scUJBQXFCLEdBQUFsSyxZQUFBLENBQXJCa0sscUJBQXFCO0lBQUVDLDRCQUE0QixHQUFBbkssWUFBQSxDQUE1Qm1LLDRCQUE0QjtFQUUzRC9LLGdEQUFTLENBQUMsWUFBTTtJQUNkVSxRQUFRLENBQUNnSyx5R0FBMEIsQ0FBQztNQUNsQ2hKLE1BQU0sRUFBRStELFVBQVU7TUFDbEJJLElBQUksRUFBRWhCLFdBQVc7TUFDakJJLFFBQVEsRUFBUkE7SUFDRixDQUFDLENBQUMsQ0FBQztFQUNMLENBQUMsRUFBRSxDQUFDdkUsUUFBUSxFQUFFK0UsVUFBVSxFQUFFWixXQUFXLEVBQUVJLFFBQVEsQ0FBQyxDQUFDO0VBRWpELElBQU1hLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJbkUsRUFBTyxFQUFLO0lBQzlCakIsUUFBUSxDQUFDMEosK0dBQWdDLENBQUN6SSxFQUFFLENBQUMsQ0FBQztJQUM5Q2hCLFFBQVEsb0NBQUFvRixNQUFBLENBQW9DcEUsRUFBRSxDQUFFLENBQUM7RUFDbkQsQ0FBQztFQUVELElBQU1xRSxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSXJFLEVBQU8sRUFBSztJQUNoQzhDLHdEQUFTLENBQUM7TUFDUnlCLEtBQUssRUFBRSxlQUFlO01BQ3RCQyxJQUFJLEVBQUUsb0NBQW9DO01BQzFDQyxJQUFJLEVBQUUsU0FBUztNQUNmQyxpQkFBaUIsRUFBRSxLQUFLO01BQ3hCQyxnQkFBZ0IsRUFBRSxLQUFLO01BQ3ZCQyxJQUFJLDJYQUtIO01BQ0RDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7UUFBQSxJQUFBQyxjQUFBLEVBQUFDLGVBQUE7UUFDYixJQUFNQyxhQUFhLElBQUFGLGNBQUEsR0FBR2hDLDREQUFhLENBQUMsQ0FBQyxjQUFBZ0MsY0FBQSx1QkFBZkEsY0FBQSxDQUFpQkksYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZFLElBQU1DLFlBQVksSUFBQUosZUFBQSxHQUFHakMsNERBQWEsQ0FBQyxDQUFDLGNBQUFpQyxlQUFBLHVCQUFmQSxlQUFBLENBQWlCRyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7UUFFckVGLGFBQWEsYUFBYkEsYUFBYSxlQUFiQSxhQUFhLENBQUVJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxZQUFNO1VBQzdDckcsUUFBUSxDQUFDK0osK0dBQWdDLENBQUM5SSxFQUFFLENBQUMsQ0FBQyxDQUFDcUYsSUFBSSxDQUFDLFlBQU07WUFDeER2Qyx3REFBUyxDQUFDLFVBQVUsRUFBRSw0QkFBNEIsRUFBRSxTQUFTLENBQUM7WUFDOUQvRCxRQUFRLENBQUNnSyx5R0FBMEIsQ0FBQyxDQUFDLENBQUM7VUFDeEMsQ0FBQyxDQUFDO1VBQ0ZqRyx5REFBVSxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRnFDLFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUVDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxZQUFNO1VBQzVDdEMseURBQVUsQ0FBQyxDQUFDO1FBQ2QsQ0FBQyxDQUFDO01BQ0o7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDO0VBRUQsSUFBTXlDLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBLEVBQVM7SUFDekI7SUFDQXBDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDakJZLGFBQWEsQ0FBQ0QsVUFBVSxDQUFDMEIsSUFBSSxDQUFDLENBQUMsQ0FBQztFQUNsQyxDQUFDO0VBRUQsSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUEsRUFBUztJQUN4QjtJQUNBMUIsYUFBYSxDQUFDLEVBQUUsQ0FBQztFQUNuQixDQUFDO0VBRUQsSUFBTTJCLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLFVBQWUsRUFBSztJQUM3Q3hDLGNBQWMsQ0FBQ3dDLFVBQVUsQ0FBQ0MsT0FBTyxDQUFDO0lBQ2xDckMsV0FBVyxDQUFDb0MsVUFBVSxDQUFDckMsUUFBUSxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFNdUMsT0FBTyxHQUFHLENBQ2Q7SUFBRXRCLEtBQUssRUFBRSxRQUFRO0lBQUV1QixTQUFTLEVBQUUsT0FBTztJQUFFQyxHQUFHLEVBQUUsT0FBTztJQUFFQyxVQUFVLEVBQUUsQ0FBQyxJQUFJO0VBQUUsQ0FBQyxFQUN6RTtJQUFFekIsS0FBSyxFQUFFLE9BQU87SUFBRXVCLFNBQVMsRUFBRSxNQUFNO0lBQUVDLEdBQUcsRUFBRSxNQUFNO0lBQUVDLFVBQVUsRUFBRSxDQUFDLElBQUk7RUFBRSxDQUFDLEVBQ3RFO0lBQUV6QixLQUFLLEVBQUUsUUFBUTtJQUFFdUIsU0FBUyxFQUFFLGFBQWE7SUFBRUMsR0FBRyxFQUFFLGFBQWE7SUFBRUMsVUFBVSxFQUFFLENBQUMsSUFBSTtFQUFFLENBQUMsRUFDckY7SUFDRXpCLEtBQUssRUFBRSxRQUFRO0lBQ2Z3QixHQUFHLEVBQUUsUUFBUTtJQUNiQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7SUFDcENDLE1BQU0sRUFBRSxTQUFSQSxNQUFNQSxDQUFHQyxDQUFTLEVBQUVDLE1BQVc7TUFBQSxvQkFDN0IvSCwwREFBQSxDQUFBZ0kscURBQUE7UUFBT0MsSUFBSSxFQUFDO01BQVEsZ0JBQ2xCakksMERBQUEsQ0FBQThELHVEQUFBO1FBQVF1QyxJQUFJLGVBQUVyRywwREFBQSxDQUFDc0UseURBQVksTUFBRSxDQUFFO1FBQUNQLElBQUksRUFBQyxTQUFTO1FBQUNJLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1VBQUEsT0FBUTRCLFVBQVUsQ0FBQ2dDLE1BQU0sQ0FBQ25HLEVBQUUsQ0FBQztRQUFBO01BQUMsQ0FBRSxDQUFDLGVBQ3ZGNUIsMERBQUEsQ0FBQThELHVEQUFBO1FBQVF1QyxJQUFJLGVBQUVyRywwREFBQSxDQUFDcUUseURBQWMsTUFBRSxDQUFFO1FBQUM2RCxNQUFNO1FBQUMvRCxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtVQUFBLE9BQVE4QixZQUFZLENBQUM4QixNQUFNLENBQUNuRyxFQUFFLENBQUM7UUFBQTtNQUFDLENBQUUsQ0FDN0UsQ0FBQztJQUFBO0VBRVosQ0FBQyxDQUNGO0VBRUQsSUFBTXVHLFlBQVksR0FBRyxDQUFDLENBQUE0QyxxQkFBcUIsYUFBckJBLHFCQUFxQix1QkFBckJBLHFCQUFxQixDQUFFbkksSUFBSSxLQUFJLEVBQUUsRUFBRXdGLE1BQU0sQ0FBQyxVQUFDQyxFQUFFO0lBQUEsSUFBQUMsUUFBQTtJQUFBLFFBQUFBLFFBQUEsR0FDakVELEVBQUUsQ0FBQ2hHLElBQUksY0FBQWlHLFFBQUEsdUJBQVBBLFFBQUEsQ0FBU0MsV0FBVyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDOUMsVUFBVSxDQUFDNkMsV0FBVyxDQUFDLENBQUMsQ0FBQztFQUFBLENBQzNELENBQUM7RUFFRCxvQkFDRXZJLDBEQUFBO0lBQUtnRCxLQUFLLEVBQUU7TUFBRXlGLFNBQVMsRUFBRTtJQUFPO0VBQUUsZ0JBQ2hDekksMERBQUEsYUFBSSx3R0FBcUIsQ0FBQyxlQUMxQkEsMERBQUE7SUFDRWdELEtBQUssRUFBRTtNQUNMMEYsT0FBTyxFQUFFLE1BQU07TUFDZkMsY0FBYyxFQUFFLGVBQWU7TUFDL0JDLE9BQU8sRUFBRSxNQUFNO01BQ2ZDLFVBQVUsRUFBRSxTQUFTO01BQ3JCQyxZQUFZLEVBQUUsTUFBTTtNQUNwQkMsUUFBUSxFQUFFO0lBQ1o7RUFBRSxnQkFFRi9JLDBEQUFBLENBQUFnSSxxREFBQTtJQUFPZ0IsSUFBSTtFQUFBLGdCQUNUaEosMERBQUEsZUFBTSw0QkFBTSxFQUFDLENBQUErSyxxQkFBcUIsYUFBckJBLHFCQUFxQixnQkFBQUYscUJBQUEsR0FBckJFLHFCQUFxQixDQUFFOUIsSUFBSSxjQUFBNEIscUJBQUEsdUJBQTNCQSxxQkFBQSxDQUE2QjNCLEtBQUssS0FBSSxDQUFRLENBQUMsZUFDNURsSiwwREFBQSxDQUFBNEQscURBQUE7SUFDRXVGLFdBQVcsRUFBQywrQ0FBWTtJQUN4Qm5HLEtBQUssRUFBRTtNQUFFb0csS0FBSyxFQUFFO0lBQUksQ0FBRTtJQUN0QkMsS0FBSyxFQUFFM0QsVUFBVztJQUNsQjRELFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHQyxDQUFDLEVBQUs7TUFDZnhFLGNBQWMsQ0FBQyxDQUFDLENBQUM7TUFDakJZLGFBQWEsQ0FBQzRELENBQUMsQ0FBQ0MsTUFBTSxDQUFDSCxLQUFLLENBQUM7SUFDL0I7RUFBRSxDQUNILENBQUMsZUFDRnJKLDBEQUFBLENBQUE4RCx1REFBQTtJQUFRSyxPQUFPLEVBQUVnRCxZQUFhO0lBQUNwRCxJQUFJLEVBQUM7RUFBUyxHQUFDLHNDQUFjLENBQUMsZUFDN0QvRCwwREFBQSxDQUFBOEQsdURBQUE7SUFBUUssT0FBTyxFQUFFa0Q7RUFBWSxHQUFDLG9FQUFtQixDQUM1QyxDQUFDLGVBQ1JySCwwREFBQSxDQUFBZ0kscURBQUE7SUFBT2dCLElBQUk7RUFBQSxnQkFDVGhKLDBEQUFBLENBQUE4RCx1REFBQTtJQUFRdUMsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ3VFLDBEQUFZLE1BQUUsQ0FBRTtJQUFDUixJQUFJLEVBQUMsU0FBUztJQUFDSSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtNQUFBLE9BQVF2RCxRQUFRLCtCQUErQixDQUFDO0lBQUE7RUFBQyxHQUFDLDhEQUFrQixDQUNySCxDQUNKLENBQUMsZUFDTlosMERBQUEsQ0FBQXlKLHFEQUFBO0lBQ0VDLFlBQVksRUFBRTtNQUNaM0YsSUFBSSxFQUFFLFVBQVU7TUFDaEJ1RixRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR3hCLENBQUMsRUFBRXhDLFlBQVk7UUFBQSxPQUFLQyxlQUFlLENBQUNELFlBQVksQ0FBQztNQUFBO0lBQzlELENBQUU7SUFDRm1DLE9BQU8sRUFBRUEsT0FBUTtJQUNqQmtDLFVBQVUsRUFBRXhCLFlBQVksQ0FBQ3lCLEdBQUcsQ0FBQyxVQUFDdkIsRUFBRSxFQUFFd0IsS0FBSztNQUFBLE9BQUFDLGFBQUE7UUFDckNuQyxHQUFHLEVBQUVVLEVBQUUsQ0FBQ3pHLEVBQUU7UUFDVmlJLEtBQUssRUFBRUEsS0FBSyxHQUFHLENBQUM7UUFDaEJ4SCxJQUFJLEVBQUVnRyxFQUFFLENBQUNoRztNQUFJLEdBQ1ZnRyxFQUFFO0lBQUEsQ0FDTCxDQUFFO0lBQ0pkLFVBQVUsRUFBRTtNQUNWQyxPQUFPLEVBQUUxQyxXQUFXO01BQ3BCSSxRQUFRLEVBQUVBLFFBQVE7TUFDbEJnRSxLQUFLLEVBQUUsQ0FBQTZCLHFCQUFxQixhQUFyQkEscUJBQXFCLGdCQUFBRCxzQkFBQSxHQUFyQkMscUJBQXFCLENBQUU5QixJQUFJLGNBQUE2QixzQkFBQSx1QkFBM0JBLHNCQUFBLENBQTZCNUIsS0FBSyxLQUFJLENBQUM7TUFDOUNhLGVBQWUsRUFBRTtJQUNuQixDQUFFO0lBQ0ZULFFBQVEsRUFBRWhDLGlCQUFrQjtJQUM1QjBDLE1BQU0sRUFBQyxJQUFJO0lBQ1hDLE1BQU0sRUFBRTtNQUFFQyxDQUFDLEVBQUU7SUFBYztFQUFFLENBQzlCLENBQUMsZUFDRmxLLDBEQUFBLENBQUNvRSx5RUFBYTtJQUFDK0YsT0FBTyxFQUFFYTtFQUE2QixDQUFFLENBQ3BELENBQUM7QUFFVixDQUFDO0FBRUQsaUVBQWVKLHdCQUF3QixFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNoS1k7QUFHSTtBQUV1RDtBQUMvRDtBQUNEO0FBRTlDLElBQU1RLGVBQXlCLEdBQUcsU0FBNUJBLGVBQXlCQSxDQUFBLEVBQVM7RUFDdEMsSUFBTXpLLFFBQVEsR0FBR1Isd0RBQVcsQ0FBQyxDQUFDO0VBQzlCLElBQU1TLFFBQVEsR0FBR0osNkRBQVcsQ0FBQyxDQUFDO0VBQzlCLElBQUFLLFlBQUEsR0FBMERULHdEQUFXLENBQ25FLFVBQUNVLEtBQWdCO01BQUEsT0FBS0EsS0FBSyxDQUFDdUssSUFBSTtJQUFBLENBQ2xDLENBQUM7SUFGT0EsSUFBSSxHQUFBeEssWUFBQSxDQUFKd0ssSUFBSTtJQUFFckssb0JBQW9CLEdBQUFILFlBQUEsQ0FBcEJHLG9CQUFvQjtJQUFFc0ssaUJBQWlCLEdBQUF6SyxZQUFBLENBQWpCeUssaUJBQWlCO0VBR3JELElBQUFwSyxhQUFBLEdBQWVDLG9EQUFBLENBQUtDLE9BQU8sQ0FBQyxDQUFDO0lBQUFDLGNBQUEsR0FBQUMsY0FBQSxDQUFBSixhQUFBO0lBQXRCSyxJQUFJLEdBQUFGLGNBQUE7RUFFWCxJQUFNRyxZQUFZLEdBQUcsSUFBSUMsZUFBZSxDQUFDQyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUN6RCxJQUFNQyxFQUFFLEdBQUdKLFlBQVksQ0FBQ0ssR0FBRyxDQUFDLElBQUksQ0FBQztFQUVqQyxJQUFBQyxTQUFBLEdBQThCNUIsK0NBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTZCLFVBQUEsR0FBQVQsY0FBQSxDQUFBUSxTQUFBO0lBQXRDRSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBOztFQUUxQjtFQUNBOUIsZ0RBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTJCLEVBQUUsRUFBRTtNQUNOakIsUUFBUSxDQUFDdUssNkVBQWdCLENBQUNoSixNQUFNLENBQUNOLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxNQUFNO01BQ0xMLElBQUksQ0FBQ1ksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCO0VBQ0YsQ0FBQyxFQUFFLENBQUN4QixRQUFRLEVBQUVpQixFQUFFLEVBQUVMLElBQUksQ0FBQyxDQUFDOztFQUV4QjtFQUNBdEIsZ0RBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTJCLEVBQUUsSUFBSXlKLElBQUksRUFBRTtNQUNkOUosSUFBSSxDQUFDYSxjQUFjLENBQUM7UUFDbEJDLElBQUksRUFBRWdKLElBQUksQ0FBQ2hKLElBQUksSUFBSSxFQUFFO1FBQ3JCQyxXQUFXLEVBQUUrSSxJQUFJLENBQUMvSSxXQUFXLElBQUk7TUFDbkMsQ0FBQyxDQUFDO0lBQ0o7RUFDRixDQUFDLEVBQUUsQ0FBQytJLElBQUksRUFBRTlKLElBQUksRUFBRUssRUFBRSxDQUFDLENBQUM7O0VBRXBCO0VBQ0EzQixnREFBUyxDQUFDLFlBQU07SUFDZCxJQUFJLENBQUNxTCxpQkFBaUIsSUFBSXRKLE9BQU8sRUFBRTtNQUNqQyxJQUFJaEIsb0JBQW9CLEVBQUU7UUFDeEJ1Qix1REFBQSxDQUFRQyxLQUFLLENBQUN4QixvQkFBb0IsQ0FBQztNQUNyQyxDQUFDLE1BQU07UUFDTHVCLHVEQUFBLENBQVFFLE9BQU8sQ0FBQ2IsRUFBRSxHQUFHLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDO1FBQ3ZFaEIsUUFBUSxDQUFDLFFBQVEsQ0FBQztNQUNwQjtJQUNGO0VBQ0YsQ0FBQyxFQUFFLENBQUMwSyxpQkFBaUIsRUFBRXRLLG9CQUFvQixFQUFFWSxFQUFFLEVBQUVJLE9BQU8sRUFBRXBCLFFBQVEsQ0FBQyxDQUFDOztFQUVwRTtFQUNBLElBQU04QixRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBSUMsTUFBWSxFQUFLO0lBQ2pDLElBQUlmLEVBQUUsRUFBRTtNQUNOakIsUUFBUSxDQUFDd0ssNkVBQWdCLENBQUM7UUFBRXZKLEVBQUUsRUFBRU0sTUFBTSxDQUFDTixFQUFFLENBQUM7UUFBRWdCLElBQUksRUFBRUQ7TUFBTyxDQUFDLENBQUMsQ0FBQztNQUM1RHBCLElBQUksQ0FBQ1ksV0FBVyxDQUFDLENBQUM7SUFDcEIsQ0FBQyxNQUFNO01BQ0x4QixRQUFRLENBQUNzSyw2RUFBZ0IsQ0FBQztRQUFFckksSUFBSSxFQUFFRDtNQUFPLENBQUMsQ0FBQyxDQUFDO01BQzVDcEIsSUFBSSxDQUFDWSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEI7SUFDQUYsVUFBVSxDQUFDLElBQUksQ0FBQztFQUNsQixDQUFDO0VBRUQsb0JBQ0VqQywwREFBQSxDQUFBQSx1REFBQSxxQkFDRUEsMERBQUEsYUFBSzRCLEVBQUUsR0FBRyxhQUFhLEdBQUcsaUJBQXNCLENBQUMsZUFDakQ1QiwwREFBQSxDQUFBbUIsb0RBQUE7SUFBTUksSUFBSSxFQUFFQSxJQUFLO0lBQUN3QixNQUFNLEVBQUMsVUFBVTtJQUFDTCxRQUFRLEVBQUVBLFFBQVM7SUFBQ00sS0FBSyxFQUFFO01BQUVDLFFBQVEsRUFBRSxNQUFNO01BQUVDLE1BQU0sRUFBRTtJQUFTO0VBQUUsZ0JBQ3BHbEQsMERBQUEsQ0FBQW1ELG1EQUFBO0lBQUtDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO0VBQUUsZ0JBQ3BCcEQsMERBQUEsQ0FBQXFELG1EQUFBO0lBQUtDLElBQUksRUFBRTtFQUFHLGdCQUNadEQsMERBQUEsQ0FBQW1CLG9EQUFBLENBQU1vQyxJQUFJO0lBQUNDLEtBQUssRUFBQyxnQ0FBTztJQUFDbkIsSUFBSSxFQUFDLE1BQU07SUFBQ29CLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRSxJQUFJO01BQUVDLE9BQU8sRUFBRTtJQUFzQixDQUFDO0VBQUUsZ0JBQy9GM0QsMERBQUEsQ0FBQTRELHFEQUFBLE1BQVEsQ0FDQyxDQUNSLENBQUMsZUFDTjVELDBEQUFBLENBQUFxRCxtREFBQTtJQUFLQyxJQUFJLEVBQUU7RUFBRyxnQkFDWnRELDBEQUFBLENBQUFtQixvREFBQSxDQUFNb0MsSUFBSTtJQUFDQyxLQUFLLEVBQUMsc0NBQVE7SUFBQ25CLElBQUksRUFBQztFQUFhLGdCQUMxQ3JDLDBEQUFBLENBQUNTLCtEQUFRO0lBQUNvRCxJQUFJLEVBQUU7RUFBRSxDQUFFLENBQ1gsQ0FDUixDQUNGLENBQUMsZUFDTjdELDBEQUFBLENBQUFtRCxtREFBQTtJQUFLQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtFQUFFLGdCQUNwQnBELDBEQUFBLENBQUFxRCxtREFBQTtJQUFLQyxJQUFJLEVBQUU7RUFBRSxnQkFDWHRELDBEQUFBLENBQUFtQixvREFBQSxDQUFNb0MsSUFBSSxxQkFDUnZELDBEQUFBLENBQUE4RCx1REFBQTtJQUFRQyxJQUFJLEVBQUMsU0FBUztJQUFDQyxLQUFLO0lBQUNDLFFBQVEsRUFBQyxRQUFRO0lBQUNDLE9BQU8sRUFBRW9IO0VBQWtCLEdBQUMsUUFFbkUsQ0FDQyxDQUNSLENBQUMsZUFDTnRMLDBEQUFBLENBQUFxRCxtREFBQTtJQUFLQyxJQUFJLEVBQUU7RUFBRSxnQkFDWHRELDBEQUFBLENBQUFtQixvREFBQSxDQUFNb0MsSUFBSSxxQkFDUnZELDBEQUFBLENBQUE4RCx1REFBQTtJQUFRRyxRQUFRLEVBQUMsUUFBUTtJQUFDRSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtNQUFBLE9BQVF2RCxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQUE7RUFBQyxHQUFDLFFBRXJELENBQ0MsQ0FDUixDQUNGLENBQ0QsQ0FDTixDQUFDO0FBRVAsQ0FBQztBQUVELGlFQUFld0ssZUFBZSxFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3RHcUI7QUFFSTtBQUVSO0FBQ3VCO0FBQ1M7QUFDeUI7QUFDekU7QUFFL0IsSUFBTUssUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUEsRUFBUztFQUFBLElBQUFDLFdBQUEsRUFBQUMsWUFBQTtFQUNyQixJQUFNaEwsUUFBUSxHQUFHUix3REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBTVMsUUFBUSxHQUFHSiw2REFBVyxDQUFDLENBQUM7RUFFOUIsSUFBQXNCLFNBQUEsR0FBc0M1QiwrQ0FBUSxDQUFDLENBQUMsQ0FBQztJQUFBNkIsVUFBQSxHQUFBVCxjQUFBLENBQUFRLFNBQUE7SUFBMUNnRCxXQUFXLEdBQUEvQyxVQUFBO0lBQUVnRCxjQUFjLEdBQUFoRCxVQUFBO0VBQ2xDLElBQUFpRCxVQUFBLEdBQWdDOUUsK0NBQVEsQ0FBQyxFQUFFLENBQUM7SUFBQStFLFVBQUEsR0FBQTNELGNBQUEsQ0FBQTBELFVBQUE7SUFBckNFLFFBQVEsR0FBQUQsVUFBQTtJQUFFRSxXQUFXLEdBQUFGLFVBQUE7RUFDNUIsSUFBQUcsVUFBQSxHQUF3Q2xGLCtDQUFRLENBQU0sRUFBRSxDQUFDO0lBQUFtRixVQUFBLEdBQUEvRCxjQUFBLENBQUE4RCxVQUFBO0lBQWxERSxZQUFZLEdBQUFELFVBQUE7SUFBRUUsZUFBZSxHQUFBRixVQUFBO0VBQ3BDLElBQUFHLFVBQUEsR0FBb0N0RiwrQ0FBUSxDQUFDLEVBQUUsQ0FBQztJQUFBdUYsVUFBQSxHQUFBbkUsY0FBQSxDQUFBa0UsVUFBQTtJQUF6Q0UsVUFBVSxHQUFBRCxVQUFBO0lBQUVFLGFBQWEsR0FBQUYsVUFBQTtFQUNoQyxJQUFBNUUsWUFBQSxHQUFnQ1Qsd0RBQVcsQ0FBQyxVQUFDVSxLQUFnQjtNQUFBLE9BQUtBLEtBQUssQ0FBQ3VLLElBQUk7SUFBQSxFQUFDO0lBQXJFTyxLQUFLLEdBQUEvSyxZQUFBLENBQUwrSyxLQUFLO0lBQUVDLFlBQVksR0FBQWhMLFlBQUEsQ0FBWmdMLFlBQVk7RUFFM0I1TCxnREFBUyxDQUFDLFlBQU07SUFDZFUsUUFBUSxDQUFDNkssd0VBQVUsQ0FBQztNQUNsQjdKLE1BQU0sRUFBRStELFVBQVU7TUFDbEJJLElBQUksRUFBRWhCLFdBQVc7TUFDakJJLFFBQVEsRUFBUkE7SUFDRixDQUFDLENBQUMsQ0FBQztFQUNMLENBQUMsRUFBRSxDQUFDdkUsUUFBUSxFQUFFK0UsVUFBVSxFQUFFWixXQUFXLEVBQUVJLFFBQVEsQ0FBQyxDQUFDO0VBRWpELElBQU1hLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJbkUsRUFBTyxFQUFLO0lBQzlCakIsUUFBUSxDQUFDdUssOEVBQWdCLENBQUN0SixFQUFFLENBQUMsQ0FBQztJQUM5QmhCLFFBQVEsbUJBQUFvRixNQUFBLENBQW1CcEUsRUFBRSxDQUFFLENBQUM7RUFDbEMsQ0FBQztFQUVELElBQU1xRSxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSXJFLEVBQU8sRUFBSztJQUNoQzhDLHdEQUFTLENBQUM7TUFDUnlCLEtBQUssRUFBRSxlQUFlO01BQ3RCQyxJQUFJLEVBQUUsb0NBQW9DO01BQzFDQyxJQUFJLEVBQUUsU0FBUztNQUNmQyxpQkFBaUIsRUFBRSxLQUFLO01BQ3hCQyxnQkFBZ0IsRUFBRSxLQUFLO01BQ3ZCQyxJQUFJLDJYQUtIO01BQ0RDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7UUFBQSxJQUFBQyxjQUFBLEVBQUFDLGVBQUE7UUFDYixJQUFNQyxhQUFhLElBQUFGLGNBQUEsR0FBR2hDLDREQUFhLENBQUMsQ0FBQyxjQUFBZ0MsY0FBQSx1QkFBZkEsY0FBQSxDQUFpQkksYUFBYSxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZFLElBQU1DLFlBQVksSUFBQUosZUFBQSxHQUFHakMsNERBQWEsQ0FBQyxDQUFDLGNBQUFpQyxlQUFBLHVCQUFmQSxlQUFBLENBQWlCRyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7UUFFckVGLGFBQWEsYUFBYkEsYUFBYSxlQUFiQSxhQUFhLENBQUVJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxZQUFNO1VBQzdDckcsUUFBUSxDQUFDNEssOEVBQWdCLENBQUMzSixFQUFFLENBQUMsQ0FBQyxDQUFDcUYsSUFBSSxDQUFDLFlBQU07WUFDeEN2Qyx3REFBUyxDQUFDLFVBQVUsRUFBRSw0QkFBNEIsRUFBRSxTQUFTLENBQUM7WUFDOUQvRCxRQUFRLENBQUM2Syx3RUFBVSxDQUFDLENBQUMsQ0FBQztVQUN4QixDQUFDLENBQUM7VUFDRjlHLHlEQUFVLENBQUMsQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGcUMsWUFBWSxhQUFaQSxZQUFZLGVBQVpBLFlBQVksQ0FBRUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQU07VUFDNUN0Qyx5REFBVSxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUM7TUFDSjtJQUNGLENBQUMsQ0FBQztFQUNKLENBQUM7RUFFRCxJQUFNeUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztJQUN6QjtJQUNBcEMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNqQlksYUFBYSxDQUFDRCxVQUFVLENBQUMwQixJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQSxFQUFTO0lBQ3hCO0lBQ0ExQixhQUFhLENBQUMsRUFBRSxDQUFDO0VBQ25CLENBQUM7RUFFRCxJQUFNMkIsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsVUFBZSxFQUFLO0lBQzdDeEMsY0FBYyxDQUFDd0MsVUFBVSxDQUFDQyxPQUFPLENBQUM7SUFDbENyQyxXQUFXLENBQUNvQyxVQUFVLENBQUNyQyxRQUFRLENBQUM7RUFDbEMsQ0FBQztFQUVELElBQU11QyxPQUFPLEdBQUcsQ0FDZDtJQUFFdEIsS0FBSyxFQUFFLFFBQVE7SUFBRXVCLFNBQVMsRUFBRSxPQUFPO0lBQUVDLEdBQUcsRUFBRSxPQUFPO0lBQUVDLFVBQVUsRUFBRSxDQUFDLElBQUk7RUFBRSxDQUFDLEVBQ3pFO0lBQUV6QixLQUFLLEVBQUUsT0FBTztJQUFFdUIsU0FBUyxFQUFFLE1BQU07SUFBRUMsR0FBRyxFQUFFLE1BQU07SUFBRUMsVUFBVSxFQUFFLENBQUMsSUFBSTtFQUFFLENBQUMsRUFDdEU7SUFBRXpCLEtBQUssRUFBRSxRQUFRO0lBQUV1QixTQUFTLEVBQUUsYUFBYTtJQUFFQyxHQUFHLEVBQUUsYUFBYTtJQUFFQyxVQUFVLEVBQUUsQ0FBQyxJQUFJO0VBQUUsQ0FBQyxFQUNyRjtJQUNFekIsS0FBSyxFQUFFLFFBQVE7SUFDZndCLEdBQUcsRUFBRSxRQUFRO0lBQ2JDLFVBQVUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNwQ0MsTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUdDLENBQVMsRUFBRUMsTUFBVztNQUFBLG9CQUM3Qi9ILDBEQUFBLENBQUFnSSxxREFBQTtRQUFPQyxJQUFJLEVBQUM7TUFBUSxnQkFDbEJqSSwwREFBQSxDQUFBOEQsdURBQUE7UUFBUXVDLElBQUksZUFBRXJHLDBEQUFBLENBQUNzRSx5REFBWSxNQUFFLENBQUU7UUFBQ1AsSUFBSSxFQUFDLFNBQVM7UUFBQ0ksT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7VUFBQSxPQUFRNEIsVUFBVSxDQUFDZ0MsTUFBTSxDQUFDbkcsRUFBRSxDQUFDO1FBQUE7TUFBQyxDQUFFLENBQUMsZUFDdkY1QiwwREFBQSxDQUFBOEQsdURBQUE7UUFBUXVDLElBQUksZUFBRXJHLDBEQUFBLENBQUNxRSx5REFBYyxNQUFFLENBQUU7UUFBQzZELE1BQU07UUFBQy9ELE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1VBQUEsT0FBUThCLFlBQVksQ0FBQzhCLE1BQU0sQ0FBQ25HLEVBQUUsQ0FBQztRQUFBO01BQUMsQ0FBRSxDQUM3RSxDQUFDO0lBQUE7RUFFWixDQUFDLENBQ0Y7RUFFRCxJQUFNdUcsWUFBWSxHQUFHLENBQUMsQ0FBQXlELEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFaEosSUFBSSxLQUFJLEVBQUUsRUFBRXdGLE1BQU0sQ0FBQyxVQUFDQyxFQUFFO0lBQUEsSUFBQUMsUUFBQTtJQUFBLFFBQUFBLFFBQUEsR0FDakRELEVBQUUsQ0FBQ2hHLElBQUksY0FBQWlHLFFBQUEsdUJBQVBBLFFBQUEsQ0FBU0MsV0FBVyxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDOUMsVUFBVSxDQUFDNkMsV0FBVyxDQUFDLENBQUMsQ0FBQztFQUFBLENBQzNELENBQUM7RUFFRCxvQkFDRXZJLDBEQUFBO0lBQUtnRCxLQUFLLEVBQUU7TUFBRXlGLFNBQVMsRUFBRTtJQUFPO0VBQUUsZ0JBQ2hDekksMERBQUEsYUFBSSw4REFBYyxDQUFDLGVBQ25CQSwwREFBQTtJQUNFZ0QsS0FBSyxFQUFFO01BQ0wwRixPQUFPLEVBQUUsTUFBTTtNQUNmQyxjQUFjLEVBQUUsZUFBZTtNQUMvQkMsT0FBTyxFQUFFLE1BQU07TUFDZkMsVUFBVSxFQUFFLFNBQVM7TUFDckJDLFlBQVksRUFBRSxNQUFNO01BQ3BCQyxRQUFRLEVBQUU7SUFDWjtFQUFFLGdCQUVGL0ksMERBQUEsQ0FBQWdJLHFEQUFBO0lBQU9nQixJQUFJO0VBQUEsZ0JBQ1RoSiwwREFBQSxlQUFNLDRCQUFNLEVBQUMsQ0FBQTRMLEtBQUssYUFBTEEsS0FBSyxnQkFBQUYsV0FBQSxHQUFMRSxLQUFLLENBQUUzQyxJQUFJLGNBQUF5QyxXQUFBLHVCQUFYQSxXQUFBLENBQWF4QyxLQUFLLEtBQUksQ0FBUSxDQUFDLGVBQzVDbEosMERBQUEsQ0FBQTRELHFEQUFBO0lBQ0V1RixXQUFXLEVBQUMsK0NBQVk7SUFDeEJuRyxLQUFLLEVBQUU7TUFBRW9HLEtBQUssRUFBRTtJQUFJLENBQUU7SUFDdEJDLEtBQUssRUFBRTNELFVBQVc7SUFDbEI0RCxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR0MsQ0FBQyxFQUFLO01BQ2Z4RSxjQUFjLENBQUMsQ0FBQyxDQUFDO01BQ2pCWSxhQUFhLENBQUM0RCxDQUFDLENBQUNDLE1BQU0sQ0FBQ0gsS0FBSyxDQUFDO0lBQy9CO0VBQUUsQ0FDSCxDQUFDLGVBQ0ZySiwwREFBQSxDQUFBOEQsdURBQUE7SUFBUUssT0FBTyxFQUFFZ0QsWUFBYTtJQUFDcEQsSUFBSSxFQUFDO0VBQVMsR0FBQyxzQ0FBYyxDQUFDLGVBQzdEL0QsMERBQUEsQ0FBQThELHVEQUFBO0lBQVFLLE9BQU8sRUFBRWtEO0VBQVksR0FBQyxvRUFBbUIsQ0FDNUMsQ0FBQyxlQUNSckgsMERBQUEsQ0FBQWdJLHFEQUFBO0lBQU9nQixJQUFJO0VBQUEsZ0JBQ1RoSiwwREFBQSxDQUFBOEQsdURBQUE7SUFBUXVDLElBQUksZUFBRXJHLDBEQUFBLENBQUN1RSwwREFBWSxNQUFFLENBQUU7SUFBQ1IsSUFBSSxFQUFDLFNBQVM7SUFBQ0ksT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7TUFBQSxPQUFRdkQsUUFBUSxjQUFjLENBQUM7SUFBQTtFQUFDLEdBQUMsOERBQWtCLENBQ3BHLENBQ0osQ0FBQyxlQUNOWiwwREFBQSxDQUFBeUoscURBQUE7SUFDRUMsWUFBWSxFQUFFO01BQ1ozRixJQUFJLEVBQUUsVUFBVTtNQUNoQnVGLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHeEIsQ0FBQyxFQUFFeEMsWUFBWTtRQUFBLE9BQUtDLGVBQWUsQ0FBQ0QsWUFBWSxDQUFDO01BQUE7SUFDOUQsQ0FBRTtJQUNGbUMsT0FBTyxFQUFFQSxPQUFRO0lBQ2pCa0MsVUFBVSxFQUFFeEIsWUFBWSxDQUFDeUIsR0FBRyxDQUFDLFVBQUN2QixFQUFFLEVBQUV3QixLQUFLO01BQUEsT0FBQUMsYUFBQTtRQUNyQ25DLEdBQUcsRUFBRVUsRUFBRSxDQUFDekcsRUFBRTtRQUNWaUksS0FBSyxFQUFFQSxLQUFLLEdBQUcsQ0FBQztRQUNoQnhILElBQUksRUFBRWdHLEVBQUUsQ0FBQ2hHO01BQUksR0FDVmdHLEVBQUU7SUFBQSxDQUNMLENBQUU7SUFDSmQsVUFBVSxFQUFFO01BQ1ZDLE9BQU8sRUFBRTFDLFdBQVc7TUFDcEJJLFFBQVEsRUFBRUEsUUFBUTtNQUNsQmdFLEtBQUssRUFBRSxDQUFBMEMsS0FBSyxhQUFMQSxLQUFLLGdCQUFBRCxZQUFBLEdBQUxDLEtBQUssQ0FBRTNDLElBQUksY0FBQTBDLFlBQUEsdUJBQVhBLFlBQUEsQ0FBYXpDLEtBQUssS0FBSSxDQUFDO01BQzlCYSxlQUFlLEVBQUU7SUFDbkIsQ0FBRTtJQUNGVCxRQUFRLEVBQUVoQyxpQkFBa0I7SUFDNUIwQyxNQUFNLEVBQUMsSUFBSTtJQUNYQyxNQUFNLEVBQUU7TUFBRUMsQ0FBQyxFQUFFO0lBQWM7RUFBRSxDQUM5QixDQUFDLGVBQ0ZsSywwREFBQSxDQUFDb0UseUVBQWE7SUFBQytGLE9BQU8sRUFBRTBCO0VBQWEsQ0FBRSxDQUNwQyxDQUFDO0FBRVYsQ0FBQztBQUVELGlFQUFlSixRQUFRLEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaEs0QjtBQUNJO0FBRTRCO0FBRWlCO0FBQ2dEO0FBQ3ZILENBQUM7O0FBRTlCLElBQVF1QixLQUFLLEdBQUFDLDBEQUFBLENBQUxELEtBQUs7QUFDYixJQUFRRSxPQUFPLEdBQUFDLHNEQUFBLENBQVBELE9BQU87QUFFZixJQUFNRSxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO0FBQ3ZHLElBQU1DLFdBQVcsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQztBQUVuRyxJQUFNQyxhQUF1QixHQUFHLFNBQTFCQSxhQUF1QkEsQ0FBQSxFQUFTO0VBQUEsSUFBQUMscUJBQUEsRUFBQUMscUJBQUEsRUFBQUMsc0JBQUE7RUFDcEMsSUFBQTVNLFlBQUEsR0FBc0JULHdEQUFXLENBQUMsVUFBQ1UsS0FBZ0I7TUFBQSxPQUFLQSxLQUFLLENBQUM0TSxTQUFTO0lBQUEsRUFBQztJQUFoRUMsU0FBUyxHQUFBOU0sWUFBQSxDQUFUOE0sU0FBUztFQUNqQixJQUFNaE4sUUFBUSxHQUFHUix3REFBVyxDQUFDLENBQUM7RUFFOUJGLGdEQUFTLENBQUMsWUFBTTtJQUNkVSxRQUFRLENBQUNtTCx1RkFBb0IsQ0FBQyxDQUFDLENBQUM7RUFDbEMsQ0FBQyxFQUFFLENBQUNuTCxRQUFRLENBQUMsQ0FBQztFQUVkLElBQU1pTixTQUFTLEdBQUdDLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDLENBQUFILFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFSSxzQkFBc0IsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDbkUsR0FBRyxDQUFDLFVBQUFvRSxJQUFBO0lBQUEsSUFBQUMsS0FBQSxHQUFBM00sY0FBQSxDQUFBME0sSUFBQTtNQUFFckcsR0FBRyxHQUFBc0csS0FBQTtNQUFFNUUsS0FBSyxHQUFBNEUsS0FBQTtJQUFBLE9BQU87TUFDL0Y1TCxJQUFJLEVBQUVzRixHQUFHLENBQUN1RyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDQSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztNQUNqRDdFLEtBQUssRUFBTEE7SUFDRixDQUFDO0VBQUEsQ0FBQyxDQUFDO0VBRUgsSUFBTThFLHFCQUFxQixHQUFHTixNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFBSCxTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRVMseUJBQXlCLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQ3hFLEdBQUcsQ0FBQyxVQUFBeUUsS0FBQTtJQUFBLElBQUFDLEtBQUEsR0FBQWhOLGNBQUEsQ0FBQStNLEtBQUE7TUFBRTFHLEdBQUcsR0FBQTJHLEtBQUE7TUFBRWpGLEtBQUssR0FBQWlGLEtBQUE7SUFBQSxPQUFPO01BQzlHak0sSUFBSSxFQUFFc0YsR0FBRyxDQUFDNEcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDQyxHQUFHLENBQUMsQ0FBQyxDQUFDcEgsSUFBSSxDQUFDLENBQUM7TUFDakNpQyxLQUFLLEVBQUxBO0lBQ0YsQ0FBQztFQUFBLENBQUMsQ0FBQztFQUVILElBQU1vRixtQkFBbUIsR0FBR1osTUFBTSxDQUFDQyxPQUFPLENBQUMsQ0FBQUgsU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUVlLHVCQUF1QixLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM5RSxHQUFHLENBQUMsVUFBQStFLEtBQUE7SUFBQSxJQUFBQyxLQUFBLEdBQUF0TixjQUFBLENBQUFxTixLQUFBO01BQUVoSCxHQUFHLEdBQUFpSCxLQUFBO01BQUV2RixLQUFLLEdBQUF1RixLQUFBO0lBQUEsT0FBTztNQUMxR3ZNLElBQUksRUFBRXNGLEdBQUcsQ0FBQ3VHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUNBLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO01BQ2pEN0UsS0FBSyxFQUFMQTtJQUNGLENBQUM7RUFBQSxDQUFDLENBQUM7RUFFSCxJQUFNd0YsbUJBQW1CLEdBQUdoQixNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFBSCxTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRW1CLDJCQUEyQixLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNsRixHQUFHLENBQUMsVUFBQW1GLEtBQUE7SUFBQSxJQUFBQyxLQUFBLEdBQUExTixjQUFBLENBQUF5TixLQUFBO01BQUVwSCxHQUFHLEdBQUFxSCxLQUFBO01BQUUzRixLQUFLLEdBQUEyRixLQUFBO0lBQUEsT0FBTztNQUM5RzNNLElBQUksRUFBRXNGLEdBQUc7TUFDVDBCLEtBQUssRUFBTEE7SUFDRixDQUFDO0VBQUEsQ0FBQyxDQUFDOztFQUdIOztFQUdBLElBQU00Rix3QkFBd0IsR0FBR3BCLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDLENBQUFILFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFdUIsMkJBQTJCLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQ3RGLEdBQUcsQ0FBQyxVQUFBdUYsS0FBQTtJQUFBLElBQUFDLEtBQUEsR0FBQTlOLGNBQUEsQ0FBQTZOLEtBQUE7TUFBRXhILEdBQUcsR0FBQXlILEtBQUE7TUFBRS9GLEtBQUssR0FBQStGLEtBQUE7SUFBQSxPQUFPO01BQ25IL00sSUFBSSxFQUFFc0YsR0FBRztNQUNUMEIsS0FBSyxFQUFMQTtJQUNGLENBQUM7RUFBQSxDQUFDLENBQUM7O0VBRUg7RUFDQSxJQUFNZ0csMEJBQTBCLEdBQUd4QixNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFBSCxTQUFTLGFBQVRBLFNBQVMsdUJBQVRBLFNBQVMsQ0FBRTJCLHNDQUFzQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMxRixHQUFHLENBQUMsVUFBQTJGLEtBQUE7SUFBQSxJQUFBQyxNQUFBLEdBQUFsTyxjQUFBLENBQUFpTyxLQUFBO01BQUU1SCxHQUFHLEdBQUE2SCxNQUFBO01BQUVuRyxLQUFLLEdBQUFtRyxNQUFBO0lBQUEsT0FBTztNQUNoSW5OLElBQUksRUFBRXNGLEdBQUc7TUFDVDBCLEtBQUssRUFBTEE7SUFDRixDQUFDO0VBQUEsQ0FBQyxDQUFDOztFQUVIO0VBQ0EsSUFBTW9HLDJCQUEyQixHQUFHNUIsTUFBTSxDQUFDQyxPQUFPLENBQUMsQ0FBQUgsU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUUrQixxQkFBcUIsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDOUYsR0FBRyxDQUFDLFVBQUErRixNQUFBO0lBQUEsSUFBQUMsTUFBQSxHQUFBdE8sY0FBQSxDQUFBcU8sTUFBQTtNQUFFaEksR0FBRyxHQUFBaUksTUFBQTtNQUFFdkcsS0FBSyxHQUFBdUcsTUFBQTtJQUFBLE9BQU87TUFDaEh2TixJQUFJLEVBQUVzRixHQUFHO01BQ1QwQixLQUFLLEVBQUxBO0lBQ0YsQ0FBQztFQUFBLENBQUMsQ0FBQzs7RUFFSDtFQUNBLElBQU13RyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUEsRUFBUztJQUMxQixJQUFNQyxFQUFFLEdBQUcvQyx3Q0FBVSxDQUFDaUQsUUFBUSxDQUFDLENBQUM7O0lBRWhDO0lBQ0EsSUFBTUMsTUFBTSxHQUFHO01BQ2Isa0JBQWtCLEVBQUVyQyxTQUFTO01BQzdCLHVCQUF1QixFQUFFTyxxQkFBcUI7TUFDOUMsa0JBQWtCLEVBQUVNLG1CQUFtQjtNQUN2Qyx3QkFBd0IsRUFBRUksbUJBQW1CO01BQzdDLHVCQUF1QixFQUFFSSx3QkFBd0I7TUFDakQsd0JBQXdCLEVBQUVJLDBCQUEwQjtNQUNwRCxNQUFNLEVBQUVJO0lBQ1YsQ0FBQztJQUVENUIsTUFBTSxDQUFDQyxPQUFPLENBQUNtQyxNQUFNLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUFDLE1BQUEsRUFBdUI7TUFBQSxJQUFBQyxNQUFBLEdBQUE5TyxjQUFBLENBQUE2TyxNQUFBO1FBQXJCRSxTQUFTLEdBQUFELE1BQUE7UUFBRXhOLElBQUksR0FBQXdOLE1BQUE7TUFDOUMsSUFBTUUsRUFBRSxHQUFHdkQsd0NBQVUsQ0FBQ3dELGFBQWEsQ0FBQzNOLElBQUksQ0FBQztNQUN6Q21LLHdDQUFVLENBQUN5RCxpQkFBaUIsQ0FBQ1YsRUFBRSxFQUFFUSxFQUFFLEVBQUVELFNBQVMsQ0FBQztJQUNqRCxDQUFDLENBQUM7O0lBRUY7SUFDQXRELDRDQUFjLENBQUMrQyxFQUFFLEVBQUUsaUNBQWlDLENBQUM7RUFDdkQsQ0FBQztFQUVELG9CQUNFOVAsMERBQUEsQ0FBQW1OLHNEQUFBO0lBQVFuSyxLQUFLLEVBQUU7TUFBRTRGLE9BQU8sRUFBRTtJQUFPO0VBQUUsZ0JBQ2pDNUksMERBQUEsQ0FBQTBRLDBEQUFBO0lBQVkxTixLQUFLLEVBQUU7TUFBRThGLFlBQVksRUFBRSxNQUFNO01BQUVKLE9BQU8sRUFBRSxNQUFNO01BQUVDLGNBQWMsRUFBRSxlQUFlO01BQUVnSSxVQUFVLEVBQUU7SUFBUztFQUFFLGdCQUVsSDNRLDBEQUFBLENBQUEwUSwwREFBQSxDQUFZbk4sSUFBSSxRQUFDLFdBQTBCLENBRWpDLENBQUMsZUFFYnZELDBEQUFBLENBQUNrTixPQUFPO0lBQUNsSyxLQUFLLEVBQUU7TUFBRTZGLFVBQVUsRUFBRSxNQUFNO01BQUVELE9BQU8sRUFBRSxNQUFNO01BQUVnSSxZQUFZLEVBQUU7SUFBTTtFQUFFLGdCQUMzRTVRLDBEQUFBLENBQUFtRCxtREFBQTtJQUFLME4sT0FBTyxFQUFDLGVBQWU7SUFBQ0MsS0FBSyxFQUFDLFFBQVE7SUFBQzlOLEtBQUssRUFBRTtNQUFFOEYsWUFBWSxFQUFFO0lBQU87RUFBRSxnQkFDMUU5SSwwREFBQSxDQUFBcUQsbURBQUEscUJBQ0VyRCwwREFBQSxDQUFDZ04sS0FBSztJQUFDK0QsS0FBSyxFQUFFLENBQUU7SUFBQy9OLEtBQUssRUFBRTtNQUFFRSxNQUFNLEVBQUU7SUFBRTtFQUFFLEdBQUMsb0JBQXlCLENBQzdELENBQUMsZUFDTmxELDBEQUFBLENBQUFxRCxtREFBQSxxQkFDRXJELDBEQUFBLENBQUE4RCx1REFBQTtJQUNFQyxJQUFJLEVBQUMsU0FBUztJQUNkc0MsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ2tNLDBEQUFpQixNQUFFLENBQUU7SUFDNUIvSCxPQUFPLEVBQUUwTCxhQUFjO0lBQ3ZCN00sS0FBSyxFQUFFO01BQUUwRixPQUFPLEVBQUUsTUFBTTtNQUFFaUksVUFBVSxFQUFFLFFBQVE7TUFBRUssR0FBRyxFQUFFO0lBQU07RUFBRSxHQUM5RCxpQkFFTyxDQUNMLENBQ0YsQ0FBQyxlQU9OaFIsMERBQUEsQ0FBQW1ELG1EQUFBO0lBQUtDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO0VBQUUsR0FDakIsQ0FDQztJQUFFK0MsS0FBSyxFQUFFLGtCQUFrQjtJQUFFa0QsS0FBSyxFQUFFc0UsU0FBUyxhQUFUQSxTQUFTLHVCQUFUQSxTQUFTLENBQUVzRCxnQkFBZ0I7SUFBRTVLLElBQUksZUFBRXJHLDBEQUFBLENBQUMrTCwwREFBWSxNQUFFLENBQUM7SUFBRW1GLEtBQUssRUFBRTdELFdBQVcsQ0FBQyxDQUFDO0VBQUUsQ0FBQyxFQUNoSDtJQUFFbEgsS0FBSyxFQUFFLGNBQWM7SUFBRWtELEtBQUssRUFBRSxDQUFDO0lBQUVoRCxJQUFJLGVBQUVyRywwREFBQSxDQUFDZ00sMERBQWdCLE1BQUUsQ0FBQztJQUFFa0YsS0FBSyxFQUFFN0QsV0FBVyxDQUFDLENBQUM7RUFBRSxDQUFDLEVBQ3RGO0lBQUVsSCxLQUFLLEVBQUUsbUJBQW1CO0lBQUVrRCxLQUFLLEVBQUVzRSxTQUFTLGFBQVRBLFNBQVMsZ0JBQUFKLHFCQUFBLEdBQVRJLFNBQVMsQ0FBRXdELGdCQUFnQixjQUFBNUQscUJBQUEsdUJBQTNCQSxxQkFBQSxDQUE2QjZELGlCQUFpQjtJQUFFL0ssSUFBSSxlQUFFckcsMERBQUEsQ0FBQ2lNLDBEQUFZLE1BQUUsQ0FBQztJQUFFaUYsS0FBSyxFQUFFN0QsV0FBVyxDQUFDLENBQUM7RUFBRSxDQUFDO0VBQ3BJO0VBQ0E7SUFBRWxILEtBQUssRUFBRSxpQkFBaUI7SUFBRWtELEtBQUssRUFBRXNFLFNBQVMsYUFBVEEsU0FBUyxnQkFBQUgscUJBQUEsR0FBVEcsU0FBUyxDQUFFZSx1QkFBdUIsY0FBQWxCLHFCQUFBLHVCQUFsQ0EscUJBQUEsQ0FBb0M2RCxVQUFVO0lBQUVoTCxJQUFJLGVBQUVyRywwREFBQSxDQUFDaU0sMERBQVksTUFBRSxDQUFDO0lBQUVpRixLQUFLLEVBQUU3RCxXQUFXLENBQUMsQ0FBQztFQUFFLENBQUMsRUFDbEk7SUFBRWxILEtBQUssRUFBRSxtQkFBbUI7SUFBRWtELEtBQUssRUFBRXNFLFNBQVMsYUFBVEEsU0FBUyxnQkFBQUYsc0JBQUEsR0FBVEUsU0FBUyxDQUFFZSx1QkFBdUIsY0FBQWpCLHNCQUFBLHVCQUFsQ0Esc0JBQUEsQ0FBb0M2RCxZQUFZO0lBQUVqTCxJQUFJLGVBQUVyRywwREFBQSxDQUFDaU0sMERBQVksTUFBRSxDQUFDO0lBQUVpRixLQUFLLEVBQUU3RCxXQUFXLENBQUMsQ0FBQztFQUFFO0VBQ3JJO0VBQUEsQ0FDRCxDQUFDekQsR0FBRyxDQUFDLFVBQUMySCxJQUFJLEVBQUUxSCxLQUFLO0lBQUEsb0JBQ2hCN0osMERBQUEsQ0FBQXFELG1EQUFBO01BQUttTyxFQUFFLEVBQUUsRUFBRztNQUFDQyxFQUFFLEVBQUUsRUFBRztNQUFDQyxFQUFFLEVBQUUsQ0FBRTtNQUFDL0osR0FBRyxFQUFFa0M7SUFBTSxnQkFDckM3SiwwREFBQSxDQUFBMlIsb0RBQUE7TUFBTTNPLEtBQUssRUFBRTtRQUFFNE8sZUFBZSxFQUFFTCxJQUFJLENBQUNMLEtBQUs7UUFBRUEsS0FBSyxFQUFFLE1BQU07UUFBRVcsU0FBUyxFQUFFO01BQUk7SUFBRSxnQkFDMUU3UiwwREFBQSxDQUFBOFIseURBQUE7TUFBVzNMLEtBQUssRUFBRW9MLElBQUksQ0FBQ3BMLEtBQU07TUFBQ2tELEtBQUssRUFBRWtJLElBQUksQ0FBQ2xJLEtBQU07TUFBQzBJLE1BQU0sRUFBRVIsSUFBSSxDQUFDbEwsSUFBSztNQUFDMkwsVUFBVSxFQUFFO1FBQUVkLEtBQUssRUFBRTtNQUFPO0lBQUUsQ0FBRSxDQUNoRyxDQUNILENBQUM7RUFBQSxDQUNQLENBRUUsQ0FBQyxlQUNObFIsMERBQUEsQ0FBQW1ELG1EQUFBLHFCQUNFbkQsMERBQUEsQ0FBQXFELG1EQUFBO0lBQUttTyxFQUFFLEVBQUUsRUFBRztJQUFDUyxFQUFFLEVBQUU7RUFBRyxnQkFDbEJqUywwREFBQSxDQUFBMlIsb0RBQUEscUJBQ0UzUiwwREFBQTtJQUFJa1MsU0FBUyxFQUFDO0VBQXdCLEdBQUMsNEJBQThCLENBQUMsZUFDdEVsUywwREFBQSxDQUFDeU0sMERBQW1CO0lBQUNyRCxLQUFLLEVBQUMsTUFBTTtJQUFDK0ksTUFBTSxFQUFFO0VBQUksZ0JBQzVDblMsMERBQUEsQ0FBQ21NLCtDQUFRO0lBQUN2SixJQUFJLEVBQUVnTCxTQUFVO0lBQUMxSyxNQUFNLEVBQUU7TUFBRWtQLEdBQUcsRUFBRSxFQUFFO01BQUVDLEtBQUssRUFBRSxFQUFFO01BQUVDLElBQUksRUFBRSxFQUFFO01BQUVDLE1BQU0sRUFBRTtJQUFFO0VBQUUsZ0JBQzdFdlMsMERBQUEsQ0FBQzBNLG9EQUFhO0lBQUM4RixlQUFlLEVBQUM7RUFBSyxDQUFFLENBQUMsZUFDdkN4UywwREFBQSxDQUFDb00sNENBQUs7SUFBQ3FHLE9BQU8sRUFBQyxNQUFNO0lBQUNDLElBQUksRUFBRTtNQUFFQyxRQUFRLEVBQUU7SUFBRztFQUFFLENBQUUsQ0FBQyxlQUNoRDNTLDBEQUFBLENBQUNxTSw0Q0FBSztJQUFDdUcsYUFBYSxFQUFFO0VBQU0sQ0FBRSxDQUFDLGVBQy9CNVMsMERBQUEsQ0FBQ3VNLDhDQUFlLE1BQUUsQ0FBQyxlQUNuQnZNLDBEQUFBLENBQUN3TSwwQ0FBRztJQUFDaUcsT0FBTyxFQUFDLE9BQU87SUFBQ0ksSUFBSSxFQUFDLFNBQVM7SUFBQ0MsT0FBTyxFQUFFO0VBQUcsQ0FBRSxDQUMxQyxDQUNTLENBQ2pCLENBQ0gsQ0FDRixDQUFDLGVBRU45UywwREFBQSxDQUFBbUQsbURBQUEscUJBQ0VuRCwwREFBQSxDQUFBcUQsbURBQUE7SUFBS21PLEVBQUUsRUFBRSxFQUFHO0lBQUNTLEVBQUUsRUFBRTtFQUFHLGdCQUNsQmpTLDBEQUFBLENBQUEyUixvREFBQSxxQkFDRTNSLDBEQUFBO0lBQUlrUyxTQUFTLEVBQUM7RUFBd0IsR0FBQyxnQkFBa0IsQ0FBQyxlQUMxRGxTLDBEQUFBLENBQUN5TSwwREFBbUI7SUFBQ3JELEtBQUssRUFBQyxNQUFNO0lBQUMrSSxNQUFNLEVBQUU7RUFBSSxnQkFDNUNuUywwREFBQSxDQUFDbU0sK0NBQVE7SUFBQ3ZKLElBQUksRUFBRTZNLDJCQUE0QjtJQUFDdk0sTUFBTSxFQUFFO01BQUVrUCxHQUFHLEVBQUUsRUFBRTtNQUFFQyxLQUFLLEVBQUUsRUFBRTtNQUFFQyxJQUFJLEVBQUUsRUFBRTtNQUFFQyxNQUFNLEVBQUU7SUFBRTtFQUFFLGdCQUMvRnZTLDBEQUFBLENBQUMwTSxvREFBYTtJQUFDOEYsZUFBZSxFQUFDO0VBQUssQ0FBRSxDQUFDLGVBQ3ZDeFMsMERBQUEsQ0FBQ29NLDRDQUFLO0lBQUNxRyxPQUFPLEVBQUMsTUFBTTtJQUFDQyxJQUFJLEVBQUU7TUFBRUMsUUFBUSxFQUFFO0lBQUc7RUFBRSxDQUFFLENBQUMsZUFDaEQzUywwREFBQSxDQUFDcU0sNENBQUs7SUFBQ3VHLGFBQWEsRUFBRTtFQUFNLENBQUUsQ0FBQyxlQUMvQjVTLDBEQUFBLENBQUN1TSw4Q0FBZSxNQUFFLENBQUMsZUFDbkJ2TSwwREFBQSxDQUFDd00sMENBQUc7SUFBQ2lHLE9BQU8sRUFBQyxPQUFPO0lBQUNJLElBQUksRUFBQyxTQUFTO0lBQUNDLE9BQU8sRUFBRTtFQUFHLENBQUUsQ0FDMUMsQ0FDUyxDQUNqQixDQUNILENBQ0YsQ0FBQyxlQUNOOVMsMERBQUEsQ0FBQW1ELG1EQUFBLHFCQUNFbkQsMERBQUEsQ0FBQXFELG1EQUFBO0lBQUttTyxFQUFFLEVBQUUsRUFBRztJQUFDUyxFQUFFLEVBQUU7RUFBRyxnQkFDbEJqUywwREFBQSxDQUFBMlIsb0RBQUEscUJBQ0UzUiwwREFBQTtJQUFJa1MsU0FBUyxFQUFDO0VBQXdCLEdBQUMsNEJBQThCLENBQUMsZUFDdEVsUywwREFBQSxDQUFDeU0sMERBQW1CO0lBQUNyRCxLQUFLLEVBQUMsTUFBTTtJQUFDK0ksTUFBTSxFQUFFO0VBQUksZ0JBQzVDblMsMERBQUEsQ0FBQzJNLCtDQUFRLHFCQUNQM00sMERBQUEsQ0FBQzRNLDBDQUFHO0lBQUNoSyxJQUFJLEVBQUVnTCxTQUFVO0lBQUM2RSxPQUFPLEVBQUMsT0FBTztJQUFDTSxPQUFPLEVBQUMsTUFBTTtJQUFDQyxFQUFFLEVBQUMsS0FBSztJQUFDQyxFQUFFLEVBQUMsS0FBSztJQUFDQyxXQUFXLEVBQUUsRUFBRztJQUFDMVAsS0FBSztFQUFBLEdBQzFGb0ssU0FBUyxDQUFDaEUsR0FBRyxDQUFDLFVBQUM5QixDQUFDLEVBQUUrQixLQUFLO0lBQUEsb0JBQ3RCN0osMERBQUEsQ0FBQzZNLDJDQUFJO01BQUNsRixHQUFHLFVBQUEzQixNQUFBLENBQVU2RCxLQUFLLENBQUc7TUFBQ2dKLElBQUksRUFBRXpGLE1BQU0sQ0FBQ3ZELEtBQUssR0FBR3VELE1BQU0sQ0FBQytGLE1BQU07SUFBRSxDQUFFLENBQUM7RUFBQSxDQUNwRSxDQUNFLENBQUMsZUFDTm5ULDBEQUFBLENBQUM4TSw2Q0FBTSxNQUFFLENBQUMsZUFDVjlNLDBEQUFBLENBQUN1TSw4Q0FBZSxNQUFFLENBQ1YsQ0FDUyxDQUNqQixDQUNILENBQ0YsQ0FBQyxlQUNOdk0sMERBQUEsQ0FBQW1ELG1EQUFBLHFCQUNFbkQsMERBQUEsQ0FBQXFELG1EQUFBO0lBQUttTyxFQUFFLEVBQUUsRUFBRztJQUFDUyxFQUFFLEVBQUU7RUFBRyxnQkFDbEJqUywwREFBQSxDQUFBMlIsb0RBQUEscUJBQ0UzUiwwREFBQTtJQUFJa1MsU0FBUyxFQUFDO0VBQXdCLEdBQUMsdUJBQXlCLENBQUMsZUFDakVsUywwREFBQSxDQUFDeU0sMERBQW1CO0lBQUNyRCxLQUFLLEVBQUMsTUFBTTtJQUFDK0ksTUFBTSxFQUFFO0VBQUksZ0JBQzVDblMsMERBQUEsQ0FBQ21NLCtDQUFRO0lBQUN2SixJQUFJLEVBQUV1TCxxQkFBc0I7SUFBQ2pMLE1BQU0sRUFBRTtNQUFFa1AsR0FBRyxFQUFFLEVBQUU7TUFBRUMsS0FBSyxFQUFFLEVBQUU7TUFBRUMsSUFBSSxFQUFFLEVBQUU7TUFBRUMsTUFBTSxFQUFFO0lBQUU7RUFBRSxnQkFDekZ2UywwREFBQSxDQUFDME0sb0RBQWE7SUFBQzhGLGVBQWUsRUFBQztFQUFLLENBQUUsQ0FBQyxlQUN2Q3hTLDBEQUFBLENBQUNvTSw0Q0FBSztJQUFDcUcsT0FBTyxFQUFDLE1BQU07SUFBQ0MsSUFBSSxFQUFFO01BQUVDLFFBQVEsRUFBRTtJQUFHO0VBQUUsQ0FBRSxDQUFDLGVBQ2hEM1MsMERBQUEsQ0FBQ3FNLDRDQUFLO0lBQUN1RyxhQUFhLEVBQUU7RUFBTSxDQUFFLENBQUMsZUFDL0I1UywwREFBQSxDQUFDdU0sOENBQWUsTUFBRSxDQUFDLGVBQ25Cdk0sMERBQUEsQ0FBQ3dNLDBDQUFHO0lBQUNpRyxPQUFPLEVBQUMsT0FBTztJQUFDSSxJQUFJLEVBQUMsU0FBUztJQUFDQyxPQUFPLEVBQUU7RUFBRyxDQUFFLENBQzFDLENBQ1MsQ0FDakIsQ0FDSCxDQUFDLGVBQ045UywwREFBQSxDQUFBcUQsbURBQUE7SUFBS21PLEVBQUUsRUFBRSxFQUFHO0lBQUNTLEVBQUUsRUFBRTtFQUFHLGdCQUNsQmpTLDBEQUFBLENBQUEyUixvREFBQSxxQkFDRTNSLDBEQUFBO0lBQUlrUyxTQUFTLEVBQUM7RUFBd0IsR0FBQyxrQkFBb0IsQ0FBQyxlQUM1RGxTLDBEQUFBLENBQUN5TSwwREFBbUI7SUFBQ3JELEtBQUssRUFBQyxNQUFNO0lBQUMrSSxNQUFNLEVBQUU7RUFBSSxnQkFDNUNuUywwREFBQSxDQUFDMk0sK0NBQVEscUJBQ1AzTSwwREFBQSxDQUFDNE0sMENBQUc7SUFBQ2hLLElBQUksRUFBRTZMLG1CQUFvQjtJQUFDZ0UsT0FBTyxFQUFDLE9BQU87SUFBQ00sT0FBTyxFQUFDLE1BQU07SUFBQ0MsRUFBRSxFQUFDLEtBQUs7SUFBQ0MsRUFBRSxFQUFDLEtBQUs7SUFBQ0MsV0FBVyxFQUFFLEVBQUc7SUFBQzFQLEtBQUs7RUFBQSxHQUNwR2lMLG1CQUFtQixDQUFDN0UsR0FBRyxDQUFDLFVBQUM5QixDQUFDLEVBQUUrQixLQUFLO0lBQUEsb0JBQ2hDN0osMERBQUEsQ0FBQzZNLDJDQUFJO01BQUNsRixHQUFHLFVBQUEzQixNQUFBLENBQVU2RCxLQUFLLENBQUc7TUFBQ2dKLElBQUksRUFBRXpGLE1BQU0sQ0FBQ3ZELEtBQUssR0FBR3VELE1BQU0sQ0FBQytGLE1BQU07SUFBRSxDQUFFLENBQUM7RUFBQSxDQUNwRSxDQUNFLENBQUMsZUFDTm5ULDBEQUFBLENBQUM4TSw2Q0FBTSxNQUFFLENBQUMsZUFDVjlNLDBEQUFBLENBQUN1TSw4Q0FBZSxNQUFFLENBQ1YsQ0FDUyxDQUNqQixDQUNILENBQUMsZUFHTnZNLDBEQUFBLENBQUFxRCxtREFBQTtJQUFLbU8sRUFBRSxFQUFFLEVBQUc7SUFBQ1MsRUFBRSxFQUFFO0VBQUcsZ0JBQ2xCalMsMERBQUEsQ0FBQTJSLG9EQUFBLHFCQUNFM1IsMERBQUE7SUFBSWtTLFNBQVMsRUFBQztFQUF3QixHQUFDLHdCQUEwQixDQUFDLGVBQ2xFbFMsMERBQUEsQ0FBQ3lNLDBEQUFtQjtJQUFDckQsS0FBSyxFQUFDLE1BQU07SUFBQytJLE1BQU0sRUFBRTtFQUFJLGdCQUM1Q25TLDBEQUFBLENBQUMyTSwrQ0FBUSxxQkFDUDNNLDBEQUFBLENBQUM0TSwwQ0FBRztJQUFDaEssSUFBSSxFQUFFaU0sbUJBQW9CO0lBQUM0RCxPQUFPLEVBQUMsT0FBTztJQUFDTSxPQUFPLEVBQUMsTUFBTTtJQUFDQyxFQUFFLEVBQUMsS0FBSztJQUFDQyxFQUFFLEVBQUMsS0FBSztJQUFDQyxXQUFXLEVBQUUsRUFBRztJQUFDMVAsS0FBSztFQUFBLEdBQ3BHcUwsbUJBQW1CLENBQUNqRixHQUFHLENBQUMsVUFBQzlCLENBQUMsRUFBRStCLEtBQUs7SUFBQSxvQkFDaEM3SiwwREFBQSxDQUFDNk0sMkNBQUk7TUFBQ2xGLEdBQUcsVUFBQTNCLE1BQUEsQ0FBVTZELEtBQUssQ0FBRztNQUFDZ0osSUFBSSxFQUFFekYsTUFBTSxDQUFDdkQsS0FBSyxHQUFHdUQsTUFBTSxDQUFDK0YsTUFBTTtJQUFFLENBQUUsQ0FBQztFQUFBLENBQ3BFLENBQ0UsQ0FBQyxlQUNOblQsMERBQUEsQ0FBQzhNLDZDQUFNLE1BQUUsQ0FBQyxlQUNWOU0sMERBQUEsQ0FBQ3VNLDhDQUFlLE1BQUUsQ0FDVixDQUNTLENBQ2pCLENBQ0gsQ0FBQyxlQUdOdk0sMERBQUEsQ0FBQXFELG1EQUFBO0lBQUttTyxFQUFFLEVBQUUsRUFBRztJQUFDUyxFQUFFLEVBQUU7RUFBRyxnQkFDbEJqUywwREFBQSxDQUFBMlIsb0RBQUEscUJBQ0UzUiwwREFBQTtJQUFJa1MsU0FBUyxFQUFDO0VBQXdCLEdBQUMsc0JBQXdCLENBQUMsZUFDaEVsUywwREFBQSxDQUFDeU0sMERBQW1CO0lBQUNyRCxLQUFLLEVBQUMsTUFBTTtJQUFDK0ksTUFBTSxFQUFFO0VBQUksZ0JBQzVDblMsMERBQUEsQ0FBQzJNLCtDQUFRLHFCQUNQM00sMERBQUEsQ0FBQzRNLDBDQUFHO0lBQUNoSyxJQUFJLEVBQUVxTSx3QkFBeUI7SUFBQ3dELE9BQU8sRUFBQyxPQUFPO0lBQUNNLE9BQU8sRUFBQyxNQUFNO0lBQUNDLEVBQUUsRUFBQyxLQUFLO0lBQUNDLEVBQUUsRUFBQyxLQUFLO0lBQUNDLFdBQVcsRUFBRSxFQUFHO0lBQUMxUCxLQUFLO0VBQUEsR0FDekd5TCx3QkFBd0IsQ0FBQ3JGLEdBQUcsQ0FBQyxVQUFDOUIsQ0FBQyxFQUFFK0IsS0FBSztJQUFBLG9CQUNyQzdKLDBEQUFBLENBQUM2TSwyQ0FBSTtNQUFDbEYsR0FBRyxVQUFBM0IsTUFBQSxDQUFVNkQsS0FBSyxDQUFHO01BQUNnSixJQUFJLEVBQUV6RixNQUFNLENBQUN2RCxLQUFLLEdBQUd1RCxNQUFNLENBQUMrRixNQUFNO0lBQUUsQ0FBRSxDQUFDO0VBQUEsQ0FDcEUsQ0FDRSxDQUFDLGVBQ05uVCwwREFBQSxDQUFDOE0sNkNBQU0sTUFBRSxDQUFDLGVBQ1Y5TSwwREFBQSxDQUFDdU0sOENBQWUsTUFBRSxDQUNWLENBQ1MsQ0FDakIsQ0FDSCxDQUFDLGVBRU52TSwwREFBQSxDQUFBcUQsbURBQUE7SUFBS21PLEVBQUUsRUFBRSxFQUFHO0lBQUNTLEVBQUUsRUFBRTtFQUFHLGdCQUNsQmpTLDBEQUFBLENBQUEyUixvREFBQSxxQkFDRTNSLDBEQUFBO0lBQUlrUyxTQUFTLEVBQUM7RUFBd0IsR0FBQywrQkFBaUMsQ0FBQyxlQUN6RWxTLDBEQUFBLENBQUN5TSwwREFBbUI7SUFBQ3JELEtBQUssRUFBQyxNQUFNO0lBQUMrSSxNQUFNLEVBQUU7RUFBSSxnQkFDNUNuUywwREFBQSxDQUFDbU0sK0NBQVE7SUFBQ3ZKLElBQUksRUFBRXlNLDBCQUEyQjtJQUFDbk0sTUFBTSxFQUFFO01BQUVrUCxHQUFHLEVBQUUsRUFBRTtNQUFFQyxLQUFLLEVBQUUsRUFBRTtNQUFFQyxJQUFJLEVBQUUsRUFBRTtNQUFFQyxNQUFNLEVBQUU7SUFBRTtFQUFFLGdCQUM5RnZTLDBEQUFBLENBQUMwTSxvREFBYTtJQUFDOEYsZUFBZSxFQUFDO0VBQUssQ0FBRSxDQUFDLGVBQ3ZDeFMsMERBQUEsQ0FBQ29NLDRDQUFLO0lBQUNxRyxPQUFPLEVBQUMsTUFBTTtJQUFDQyxJQUFJLEVBQUU7TUFBRUMsUUFBUSxFQUFFO0lBQUc7RUFBRSxDQUFFLENBQUMsZUFDaEQzUywwREFBQSxDQUFDcU0sNENBQUs7SUFBQ3VHLGFBQWEsRUFBRTtFQUFNLENBQUUsQ0FBQyxlQUMvQjVTLDBEQUFBLENBQUN1TSw4Q0FBZSxNQUFFLENBQUMsZUFDbkJ2TSwwREFBQSxDQUFDd00sMENBQUc7SUFBQ2lHLE9BQU8sRUFBQyxPQUFPO0lBQUNJLElBQUksRUFBQyxTQUFTO0lBQUNDLE9BQU8sRUFBRTtFQUFHLENBQUUsQ0FDMUMsQ0FDUyxDQUNqQixDQUNILENBQ0YsQ0FDRSxDQUNILENBQUM7QUFFYixDQUFDO0FBRUQsaUVBQWV4RixhQUFhLEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ25SdUI7QUFtQnhCO0FBRTRCO0FBQ29DO0FBRVg7QUFDdkQ7QUFDaUQ7QUFDeEI7QUFDVDtBQUNZO0FBQ0Q7QUFDWTtBQUNZO0FBQ1o7QUFDakM7QUFDWTtBQUNTO0FBQ1k7QUFDekI7QUFDWTtBQUNSO0FBQ1k7QUFDRztBQUNZO0FBQy9CO0FBQ1k7QUFDbEI7QUFDWTtBQUNPO0FBQ1k7QUFDVjtBQUNZO0FBQ2Q7QUFDWTtBQUNqQztBQUNZO0FBQ2lCO0FBQ1o7QUFDTjtBQUNZO0FBQ0Q7QUFJSztBQUNNO0FBQ0k7QUFDVDtBQUUzRCxJQUFRcUosTUFBTSxHQUFBeEosc0RBQUEsQ0FBTndKLE1BQU07RUFBRXpKLE9BQU8sR0FBQUMsc0RBQUEsQ0FBUEQsT0FBTztFQUFFMEosS0FBSyxHQUFBekosc0RBQUEsQ0FBTHlKLEtBQUs7O0FBRTlCOztBQVNBLElBQU1DLEtBQWlCLEdBQUcsQ0FDeEI7RUFBRWxQLEdBQUcsRUFBRSxHQUFHO0VBQUV4QixLQUFLLEVBQUUsV0FBVztFQUFFRSxJQUFJLGVBQUVyRywwREFBQSxDQUFDcVQsMERBQWlCLE1BQUUsQ0FBQztFQUFFeUQsRUFBRSxFQUFFO0FBQUksQ0FBQyxFQUN0RTtFQUFFblAsR0FBRyxFQUFFLGFBQWE7RUFBRXhCLEtBQUssRUFBRSxrQkFBa0I7RUFBRUUsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ29ULHlEQUFnQixNQUFFLENBQUM7RUFBRTBELEVBQUUsRUFBRTtBQUFjLENBQUMsRUFDaEc7RUFBRW5QLEdBQUcsRUFBRSx1QkFBdUI7RUFBRXhCLEtBQUssRUFBRSxtQkFBbUI7RUFBRUUsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ2tVLDBEQUFlLE1BQUUsQ0FBQztFQUFFNEMsRUFBRSxFQUFFO0FBQXdCLENBQUMsRUFDcEg7RUFBRW5QLEdBQUcsRUFBRSw0QkFBNEI7RUFBRXhCLEtBQUssRUFBRSxpQkFBaUI7RUFBRUUsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ2lNLDBEQUFZLE1BQUUsQ0FBQztFQUFFNkssRUFBRSxFQUFFO0FBQTZCLENBQUMsRUFDekg7RUFBRW5QLEdBQUcsRUFBRSxnQ0FBZ0M7RUFBRXhCLEtBQUssRUFBRSxpQkFBaUI7RUFBRUUsSUFBSSxlQUFFckcsMERBQUEsQ0FBQytMLDBEQUFZLE1BQUUsQ0FBQztFQUFFK0ssRUFBRSxFQUFFO0FBQWlDLENBQUMsRUFDakk7RUFBRW5QLEdBQUcsRUFBRSxtQkFBbUI7RUFBRXhCLEtBQUssRUFBRSxrQkFBa0I7RUFBRUUsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ2lNLDBEQUFZLE1BQUUsQ0FBQztFQUFFNkssRUFBRSxFQUFFO0FBQW9CLENBQUMsRUFDeEc7RUFBRW5QLEdBQUcsRUFBRSxnQkFBZ0I7RUFBRXhCLEtBQUssRUFBRSxlQUFlO0VBQUVFLElBQUksZUFBRXJHLDBEQUFBLENBQUNpTSwwREFBWSxNQUFFLENBQUM7RUFBRTZLLEVBQUUsRUFBRTtBQUFpQixDQUFDLEVBQy9GO0VBQ0VuUCxHQUFHLEVBQUUsVUFBVTtFQUNmeEIsS0FBSyxFQUFFLFVBQVU7RUFDakJFLElBQUksZUFBRXJHLDBEQUFBLENBQUN3VCwwREFBZSxNQUFFLENBQUM7RUFDekJ1RCxRQUFRLEVBQUUsQ0FDUjtJQUFFcFAsR0FBRyxFQUFFLFFBQVE7SUFBRXhCLEtBQUssRUFBRSx5QkFBeUI7SUFBRTJRLEVBQUUsRUFBRSxRQUFRO0lBQUV6USxJQUFJLGVBQUVyRywwREFBQSxDQUFDK0wsMERBQVksTUFBRTtFQUFFLENBQUMsRUFDekY7SUFBRXBFLEdBQUcsRUFBRSxtQkFBbUI7SUFBRXhCLEtBQUssRUFBRSxnQkFBZ0I7SUFBRTJRLEVBQUUsRUFBRSxtQkFBbUI7SUFBRXpRLElBQUksZUFBRXJHLDBEQUFBLENBQUMrTCwwREFBWSxNQUFFO0VBQUUsQ0FBQyxFQUN0RztJQUFFcEUsR0FBRyxFQUFFLHlCQUF5QjtJQUFFeEIsS0FBSyxFQUFFLGNBQWM7SUFBRTJRLEVBQUUsRUFBRSx5QkFBeUI7SUFBRXpRLElBQUksZUFBRXJHLDBEQUFBLENBQUMwVCx5REFBWSxNQUFFO0VBQUUsQ0FBQyxFQUNoSDtJQUFFL0wsR0FBRyxFQUFFLFFBQVE7SUFBRXhCLEtBQUssRUFBRSxPQUFPO0lBQUUyUSxFQUFFLEVBQUUsUUFBUTtJQUFFelEsSUFBSSxlQUFFckcsMERBQUEsQ0FBQzJULDBEQUFZLE1BQUU7RUFBRSxDQUFDLEVBQ3ZFO0lBQUVoTSxHQUFHLEVBQUUsbUJBQW1CO0lBQUV4QixLQUFLLEVBQUUsT0FBTztJQUFFMlEsRUFBRSxFQUFFLG1CQUFtQjtJQUFFelEsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ2lNLDBEQUFZLE1BQUU7RUFBRSxDQUFDLEVBQzdGO0lBQUV0RSxHQUFHLEVBQUUsWUFBWTtJQUFFeEIsS0FBSyxFQUFFLE1BQU07SUFBRTJRLEVBQUUsRUFBRSxZQUFZO0lBQUV6USxJQUFJLGVBQUVyRywwREFBQSxDQUFDNFQsMERBQWMsTUFBRTtFQUFFLENBQUMsRUFDaEY7SUFBRWpNLEdBQUcsRUFBRSxjQUFjO0lBQUV4QixLQUFLLEVBQUUsUUFBUTtJQUFFMlEsRUFBRSxFQUFFLGNBQWM7SUFBRXpRLElBQUksZUFBRXJHLDBEQUFBLENBQUM2VCx5REFBYSxNQUFFO0VBQUUsQ0FBQyxFQUNyRjtJQUFFbE0sR0FBRyxFQUFFLHNCQUFzQjtJQUFFeEIsS0FBSyxFQUFFLFdBQVc7SUFBRTJRLEVBQUUsRUFBRSxzQkFBc0I7SUFBRXpRLElBQUksZUFBRXJHLDBEQUFBLENBQUMrTCwwREFBWSxNQUFFO0VBQUUsQ0FBQyxFQUN2RztJQUFFcEUsR0FBRyxFQUFFLFlBQVk7SUFBRXhCLEtBQUssRUFBRSxhQUFhO0lBQUUyUSxFQUFFLEVBQUUsWUFBWTtJQUFFelEsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ3lULDBEQUFtQixNQUFFO0VBQUUsQ0FBQyxFQUM1RjtJQUFFOUwsR0FBRyxFQUFFLFNBQVM7SUFBRXhCLEtBQUssRUFBRSxPQUFPO0lBQUUyUSxFQUFFLEVBQUUsU0FBUztJQUFFelEsSUFBSSxlQUFFckcsMERBQUEsQ0FBQzhULDBEQUFjLE1BQUU7RUFBRSxDQUFDLEVBQzNFO0lBQUVuTSxHQUFHLEVBQUUsbUJBQW1CO0lBQUV4QixLQUFLLEVBQUUsVUFBVTtJQUFFMlEsRUFBRSxFQUFFLG1CQUFtQjtJQUFFelEsSUFBSSxlQUFFckcsMERBQUEsQ0FBQ3dULDBEQUFlLE1BQUU7RUFBRSxDQUFDLEVBQ25HO0lBQUU3TCxHQUFHLEVBQUUsb0JBQW9CO0lBQUV4QixLQUFLLEVBQUUsa0JBQWtCO0lBQUUyUSxFQUFFLEVBQUUsb0JBQW9CO0lBQUV6USxJQUFJLGVBQUVyRywwREFBQSxDQUFDK1QseURBQVksTUFBRTtFQUFFLENBQUMsRUFDMUc7SUFBRXBNLEdBQUcsRUFBRSxtQkFBbUI7SUFBRXhCLEtBQUssRUFBRSwyQkFBMkI7SUFBRTJRLEVBQUUsRUFBRSxtQkFBbUI7SUFBRXpRLElBQUksZUFBRXJHLDBEQUFBLENBQUNvVCx5REFBZ0IsTUFBRTtFQUFFLENBQUMsRUFDckg7SUFBRXpMLEdBQUcsRUFBRSxpQkFBaUI7SUFBRXhCLEtBQUssRUFBRSxrQkFBa0I7SUFBRTJRLEVBQUUsRUFBRSxpQkFBaUI7SUFBRXpRLElBQUksZUFBRXJHLDBEQUFBLENBQUNvVCx5REFBZ0IsTUFBRTtFQUFFLENBQUMsRUFDeEc7SUFBRXpMLEdBQUcsRUFBRSxjQUFjO0lBQUV4QixLQUFLLEVBQUUsZUFBZTtJQUFFMlEsRUFBRSxFQUFFLGNBQWM7SUFBRXpRLElBQUksZUFBRXJHLDBEQUFBLENBQUNnVSwwREFBVyxNQUFFO0VBQUUsQ0FBQztBQUU5RixDQUFDLEVBQ0Q7RUFDRXJNLEdBQUcsRUFBRSxjQUFjO0VBQ25CeEIsS0FBSyxFQUFFLGFBQWE7RUFDcEJFLElBQUksZUFBRXJHLDBEQUFBLENBQUNpVSwwREFBb0IsTUFBRSxDQUFDO0VBQzlCNkMsRUFBRSxFQUFFO0FBQ04sQ0FBQyxDQUNGOztBQUVEO0FBQ0EsSUFBTUUsVUFBVSxHQUFHO0VBQ2pCQyxXQUFXLEVBQUUsYUFBYTtFQUMxQkMsS0FBSyxFQUFFLE9BQU87RUFDZEMsUUFBUSxFQUFFLFVBQVU7RUFDcEJDLElBQUksRUFBRTtBQUNSLENBQVU7O0FBRVY7QUFDQSxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFJQyxJQUFhLEVBQUs7RUFDNUM7RUFDQSxJQUFJLENBQUNBLElBQUksRUFBRSxPQUFPLEVBQUU7RUFFcEIsUUFBUUEsSUFBSTtJQUNWLEtBQUtOLFVBQVUsQ0FBQ0MsV0FBVztNQUN6QixPQUFPSixLQUFLO0lBQ2QsS0FBS0csVUFBVSxDQUFDRyxRQUFRO01BQ3RCLE9BQU9OLEtBQUssQ0FBQ3pPLE1BQU0sQ0FBQyxVQUFBbVAsSUFBSTtRQUFBLE9BQ3RCQSxJQUFJLENBQUM1UCxHQUFHLEtBQUssZ0JBQWdCO01BQUEsQ0FDL0IsQ0FBQztJQUNILEtBQUtxUCxVQUFVLENBQUNFLEtBQUs7TUFDbkIsT0FBT0wsS0FBSyxDQUFDek8sTUFBTSxDQUFDLFVBQUFtUCxJQUFJO1FBQUEsT0FDdEJBLElBQUksQ0FBQzVQLEdBQUcsS0FBSyxhQUFhLElBQzFCNFAsSUFBSSxDQUFDNVAsR0FBRyxLQUFLLG1CQUFtQjtNQUFBLENBQ2xDLENBQUM7SUFDSDtNQUNFLE9BQU9rUCxLQUFLLENBQUN6TyxNQUFNLENBQUMsVUFBQW1QLElBQUk7UUFBQSxPQUFJQSxJQUFJLENBQUM1UCxHQUFHLEtBQUssYUFBYTtNQUFBLEVBQUM7RUFDM0Q7QUFDRixDQUFDO0FBRUQsSUFBTTZQLElBQWMsR0FBRyxTQUFqQkEsSUFBY0EsQ0FBQSxFQUFTO0VBQzNCLElBQU03VyxRQUFRLEdBQUdSLHlEQUFXLENBQUMsQ0FBQztFQUM5QixJQUFNUyxRQUFRLEdBQUdKLDhEQUFXLENBQUMsQ0FBQztFQUM5QixJQUFNa0IsUUFBUSxHQUFHNFMsOERBQVcsQ0FBQyxDQUFDO0VBQzlCLElBQUF6VCxZQUFBLEdBQWlCVCx5REFBVyxDQUFDLFVBQUNVLEtBQWdCO01BQUEsT0FBS0EsS0FBSztJQUFBLEVBQUM7SUFBakQyVyxJQUFJLEdBQUE1VyxZQUFBLENBQUo0VyxJQUFJO0VBQ1osSUFBUUMsV0FBVyxHQUFLRCxJQUFJLENBQXBCQyxXQUFXO0VBQ25CLElBQU1DLFFBQVEsR0FBR0QsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVKLElBQUk7RUFFbEMsSUFBQXhWLFNBQUEsR0FBMEM1QiwrQ0FBUSxDQUFDd0IsUUFBUSxDQUFDa1csUUFBUSxDQUFDO0lBQUE3VixVQUFBLEdBQUFULGNBQUEsQ0FBQVEsU0FBQTtJQUE5RCtWLGFBQWEsR0FBQTlWLFVBQUE7SUFBRStWLGdCQUFnQixHQUFBL1YsVUFBQTtFQUN0QyxJQUFBaUQsVUFBQSxHQUFrQzlFLCtDQUFRLENBQUMsS0FBSyxDQUFDO0lBQUErRSxVQUFBLEdBQUEzRCxjQUFBLENBQUEwRCxVQUFBO0lBQTFDK1MsU0FBUyxHQUFBOVMsVUFBQTtJQUFFK1MsWUFBWSxHQUFBL1MsVUFBQTtFQUM5QixJQUFBRyxVQUFBLEdBQTBDbEYsK0NBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW1GLFVBQUEsR0FBQS9ELGNBQUEsQ0FBQThELFVBQUE7SUFBbEQ2UyxhQUFhLEdBQUE1UyxVQUFBO0lBQUU2UyxnQkFBZ0IsR0FBQTdTLFVBQUE7RUFDdEMsSUFBQUcsVUFBQSxHQUEwQ3RGLCtDQUFRLENBQWUsRUFBRSxDQUFDO0lBQUF1RixVQUFBLEdBQUFuRSxjQUFBLENBQUFrRSxVQUFBO0lBQTdEMlMsYUFBYSxHQUFBMVMsVUFBQTtJQUFFMlMsZ0JBQWdCLEdBQUEzUyxVQUFBO0VBQ3RDLElBQUE0UyxVQUFBLEdBQWtDblksK0NBQVEsQ0FBQyxJQUFJLENBQUM7SUFBQW9ZLFVBQUEsR0FBQWhYLGNBQUEsQ0FBQStXLFVBQUE7SUFBekNFLFNBQVMsR0FBQUQsVUFBQTtJQUFFRSxZQUFZLEdBQUFGLFVBQUE7RUFFOUJyWSxnREFBUyxDQUFDLFlBQU07SUFDZDZYLGdCQUFnQixDQUFDcFcsUUFBUSxDQUFDa1csUUFBUSxDQUFDO0VBQ3JDLENBQUMsRUFBRSxDQUFDbFcsUUFBUSxDQUFDLENBQUM7O0VBRWQ7RUFDQXpCLGdEQUFTLENBQUMsWUFBTTtJQUNkLElBQUkwWCxRQUFRLEVBQUU7TUFDWixJQUFNYyxlQUFlLEdBQUdwQixrQkFBa0IsQ0FBQ00sUUFBUSxDQUFDO01BQ3BEUyxnQkFBZ0IsQ0FBQ0ssZUFBZSxDQUFDO01BQ2pDRCxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ3JCO0VBQ0YsQ0FBQyxFQUFFLENBQUNiLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7RUFFaEIsSUFBTWUsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztJQUN6Qi9YLFFBQVEsQ0FBQzZULG9GQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2xCNVQsUUFBUSxDQUFDLFFBQVEsQ0FBQztFQUNwQixDQUFDO0VBQ0QrWCxPQUFPLENBQUNDLEdBQUcsQ0FBQyxlQUFlLEVBQUVsQixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRUosSUFBSSxDQUFDO0VBQy9DO0VBQ0EsSUFBTXVCLG9CQUFvQixHQUFHbEIsUUFBUSxLQUFLWCxVQUFVLENBQUNDLFdBQVc7RUFDaEUsSUFBTTZCLHVCQUF1QixHQUFHbkIsUUFBUSxLQUFLWCxVQUFVLENBQUNHLFFBQVE7RUFDaEUsSUFBTTRCLG9CQUFvQixHQUFHcEIsUUFBUSxLQUFLWCxVQUFVLENBQUNJLElBQUksSUFBSU8sUUFBUSxLQUFLWCxVQUFVLENBQUNFLEtBQUs7RUFFMUYsSUFBSXFCLFNBQVMsRUFBRTtJQUNiLG9CQUFPdlksMERBQUEsQ0FBQW1OLHNEQUFBO01BQVFuSyxLQUFLLEVBQUU7UUFBRTZPLFNBQVMsRUFBRTtNQUFRO0lBQUUsZ0JBQzNDN1IsMERBQUE7TUFBS2dELEtBQUssRUFBRTtRQUFFMEYsT0FBTyxFQUFFLE1BQU07UUFBRUMsY0FBYyxFQUFFLFFBQVE7UUFBRWdJLFVBQVUsRUFBRSxRQUFRO1FBQUV3QixNQUFNLEVBQUU7TUFBUTtJQUFFLEdBQUMsWUFFN0YsQ0FDQyxDQUFDO0VBQ1g7RUFFQSxvQkFDRW5TLDBEQUFBLENBQUFtTixzREFBQTtJQUFRbkssS0FBSyxFQUFFO01BQUU2TyxTQUFTLEVBQUU7SUFBUTtFQUFFLGdCQUVwQzdSLDBEQUFBLENBQUMyVyxNQUFNO0lBQ0wzVCxLQUFLLEVBQUU7TUFDTGdXLFFBQVEsRUFBRSxPQUFPO01BQ2pCNUcsR0FBRyxFQUFFLENBQUM7TUFDTkUsSUFBSSxFQUFFLENBQUM7TUFDUEQsS0FBSyxFQUFFLENBQUM7TUFDUmpKLEtBQUssRUFBRSxNQUFNO01BQ2I2UCxNQUFNLEVBQUUsSUFBSTtNQUNaOUcsTUFBTSxFQUFFLEVBQUU7TUFDVnRKLFVBQVUsRUFBRSxXQUFXO01BQ3ZCSCxPQUFPLEVBQUUsTUFBTTtNQUNmaUksVUFBVSxFQUFFLFFBQVE7TUFDcEIvSCxPQUFPLEVBQUUsUUFBUTtNQUNqQnNRLFNBQVMsRUFBRTtJQUNiO0VBQUUsZ0JBRUZsWiwwREFBQSxDQUFBOEQsdURBQUE7SUFDRUMsSUFBSSxFQUFDLE1BQU07SUFDWHNDLElBQUksZUFBRXJHLDBEQUFBLENBQUN1VCwwREFBWSxNQUFFLENBQUU7SUFDdkJwUCxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtNQUFBLE9BQVErVCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7SUFBQSxDQUFDO0lBQ3RDbFYsS0FBSyxFQUFFO01BQUVtVyxXQUFXLEVBQUUsRUFBRTtNQUFFelEsT0FBTyxFQUFFO0lBQU8sQ0FBRTtJQUM1Q3dKLFNBQVMsRUFBQztFQUFvQixDQUMvQixDQUFDLGVBQ0ZsUywwREFBQTtJQUFLZ0QsS0FBSyxFQUFFO01BQUVvVyxJQUFJLEVBQUUsQ0FBQztNQUFFMVEsT0FBTyxFQUFFLE1BQU07TUFBRWlJLFVBQVUsRUFBRTtJQUFTO0VBQUUsZ0JBQzdEM1EsMERBQUE7SUFBS3FaLEdBQUcsRUFBRTFFLG9EQUFLO0lBQUMzUixLQUFLLEVBQUU7TUFBRW9HLEtBQUssRUFBRSxFQUFFO01BQUUrUCxXQUFXLEVBQUU7SUFBRyxDQUFFO0lBQUNHLEdBQUcsRUFBQztFQUFNLENBQUUsQ0FDaEUsQ0FBQyxlQUNOdFosMERBQUE7SUFBS2dELEtBQUssRUFBRTtNQUFFMEYsT0FBTyxFQUFFLE1BQU07TUFBRWlJLFVBQVUsRUFBRTtJQUFTO0VBQUUsZ0JBQ3BEM1EsMERBQUEsQ0FBQXVaLHNEQUFBO0lBQ0VGLEdBQUcsRUFBRTNCLFdBQVcsQ0FBQzhCLFNBQVU7SUFDM0J2UixJQUFJLEVBQUM7RUFBTyxDQUNiLENBQUMsZUFFRmpJLDBEQUFBO0lBQUtnRCxLQUFLLEVBQUU7TUFBRXlXLFVBQVUsRUFBRSxNQUFNO01BQUV2SSxLQUFLLEVBQUUsTUFBTTtNQUFFaUksV0FBVyxFQUFFLE1BQU07TUFBRU8sVUFBVSxFQUFFO0lBQUc7RUFBRSxHQUNwRmhDLFdBQVcsYUFBWEEsV0FBVyxlQUFYQSxXQUFXLENBQUVpQyxRQUFRLEdBQUdqQyxXQUFXLENBQUNpQyxRQUFRLENBQUNwTCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsT0FDOUQsQ0FBQyxlQUNOeE8sMERBQUE7SUFBS2dELEtBQUssRUFBRTtNQUFFMlAsUUFBUSxFQUFFLEVBQUU7TUFBRXpCLEtBQUssRUFBRSxNQUFNO01BQUVpSSxXQUFXLEVBQUU7SUFBTztFQUFFLEdBQzlELENBQUF6QixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRUosSUFBSSxLQUFJLGdCQUNuQixDQUNGLENBQUMsZUFDTnRYLDBEQUFBLENBQUE0WixvREFBQTtJQUFNQyxLQUFLLEVBQUMsTUFBTTtJQUFDQyxJQUFJLEVBQUMsWUFBWTtJQUFDOVcsS0FBSyxFQUFFO01BQUU2RixVQUFVLEVBQUUsYUFBYTtNQUFFa1IsWUFBWSxFQUFFO0lBQU87RUFBRSxnQkFDOUYvWiwwREFBQSxDQUFBNFosb0RBQUEsQ0FBTXJXLElBQUk7SUFBQ29FLEdBQUcsRUFBQyxRQUFRO0lBQUN0QixJQUFJLGVBQUVyRywwREFBQSxDQUFDc1QsMERBQWMsTUFBRSxDQUFFO0lBQUNuUCxPQUFPLEVBQUV1VTtFQUFhLEdBQUMsUUFFOUQsQ0FDUCxDQUNBLENBQUMsZUFFVDFZLDBEQUFBLENBQUFtTixzREFBQTtJQUFRbkssS0FBSyxFQUFFO01BQUVnWCxTQUFTLEVBQUU7SUFBRztFQUFFLGdCQUcvQmhhLDBEQUFBLENBQUM0VyxLQUFLO0lBQUNxRCxXQUFXO0lBQUNsQyxTQUFTLEVBQUVBLFNBQVU7SUFBQ21DLFVBQVUsRUFBRWxDLFlBQWE7SUFBQzVPLEtBQUssRUFBRSxHQUFJO0lBQUNwRyxLQUFLLEVBQUU7TUFBRTZGLFVBQVUsRUFBRSxNQUFNO01BQUVzUixRQUFRLEVBQUUsTUFBTTtNQUFFaEksTUFBTSxFQUFFLE9BQU87TUFBRTZHLFFBQVEsRUFBRSxPQUFPO01BQUUxRyxJQUFJLEVBQUUsQ0FBQztNQUFFRixHQUFHLEVBQUU7SUFBRztFQUFFLGdCQUNuTHBTLDBEQUFBLENBQUE0WixvREFBQTtJQUFNRSxJQUFJLEVBQUMsUUFBUTtJQUFDTSxZQUFZLEVBQUUsQ0FBQ3ZDLGFBQWEsQ0FBRTtJQUFDN1UsS0FBSyxFQUFFO01BQUVtUCxNQUFNLEVBQUUsTUFBTTtNQUFFa0ksU0FBUyxFQUFFO0lBQU87RUFBRSxHQUM3RmxDLGFBQWEsQ0FBQ3ZPLEdBQUcsQ0FBQyxVQUFBMk4sSUFBSTtJQUFBLE9BQ3JCQSxJQUFJLENBQUNSLFFBQVEsZ0JBQ1gvVywwREFBQSxDQUFBNFosb0RBQUEsQ0FBTVUsT0FBTztNQUFDM1MsR0FBRyxFQUFFNFAsSUFBSSxDQUFDNVAsR0FBSTtNQUFDdEIsSUFBSSxFQUFFa1IsSUFBSSxDQUFDbFIsSUFBSztNQUFDRixLQUFLLEVBQUVvUixJQUFJLENBQUNwUjtJQUFNLGdCQUM5RG5HLDBEQUFBO01BQUtnRCxLQUFLLEVBQUU7UUFBRXVYLFNBQVMsRUFBRSxNQUFNO1FBQUVGLFNBQVMsRUFBRSxNQUFNO1FBQUV2UixZQUFZLEVBQUU7TUFBTztJQUFFLEdBQ3hFeU8sSUFBSSxDQUFDUixRQUFRLENBQUNuTixHQUFHLENBQUMsVUFBQTRRLE9BQU87TUFBQSxvQkFDeEJ4YSwwREFBQSxDQUFBNFosb0RBQUEsQ0FBTXJXLElBQUk7UUFBQ29FLEdBQUcsRUFBRTZTLE9BQU8sQ0FBQzdTLEdBQUk7UUFBQ3RCLElBQUksRUFBRW1VLE9BQU8sQ0FBQ25VO01BQUssZ0JBQzlDckcsMERBQUEsQ0FBQ21VLG1EQUFJO1FBQUMyQyxFQUFFLEVBQUUwRCxPQUFPLENBQUMxRDtNQUFHLEdBQUUwRCxPQUFPLENBQUNyVSxLQUFZLENBQ2xDLENBQUM7SUFBQSxDQUNiLENBQ0UsQ0FDTyxDQUFDLGdCQUVmbkcsMERBQUEsQ0FBQTRaLG9EQUFBLENBQU1yVyxJQUFJO01BQUNvRSxHQUFHLEVBQUU0UCxJQUFJLENBQUM1UCxHQUFJO01BQUN0QixJQUFJLEVBQUVrUixJQUFJLENBQUNsUjtJQUFLLGdCQUN4Q3JHLDBEQUFBLENBQUNtVSxtREFBSTtNQUFDMkMsRUFBRSxFQUFFUyxJQUFJLENBQUNUO0lBQUcsR0FBRVMsSUFBSSxDQUFDcFIsS0FBWSxDQUM1QixDQUNaO0VBQUEsQ0FDSCxDQUNJLENBQ0QsQ0FBQyxlQUlSbkcsMERBQUEsQ0FBQXlhLHNEQUFBO0lBQVF0VSxLQUFLLEVBQUMsTUFBTTtJQUFDdVUsU0FBUyxFQUFDLE1BQU07SUFBQ0MsUUFBUTtJQUFDQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtNQUFBLE9BQVExQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFBQSxDQUFDO0lBQUMyQyxJQUFJLEVBQUU1QyxhQUFjO0lBQUM2QyxTQUFTLEVBQUU7TUFBRWxTLE9BQU8sRUFBRTtJQUFFO0VBQUUsZ0JBQ3BJNUksMERBQUEsQ0FBQTRaLG9EQUFBO0lBQU1FLElBQUksRUFBQyxRQUFRO0lBQUNNLFlBQVksRUFBRSxDQUFDdkMsYUFBYSxDQUFFO0lBQUM3VSxLQUFLLEVBQUU7TUFBRW1QLE1BQU0sRUFBRTtJQUFPO0VBQUUsR0FDMUVnRyxhQUFhLENBQUN2TyxHQUFHLENBQUMsVUFBQTJOLElBQUk7SUFBQSxPQUNyQkEsSUFBSSxDQUFDUixRQUFRLGdCQUNYL1csMERBQUEsQ0FBQTRaLG9EQUFBLENBQU1VLE9BQU87TUFBQzNTLEdBQUcsRUFBRTRQLElBQUksQ0FBQzVQLEdBQUk7TUFBQ3RCLElBQUksRUFBRWtSLElBQUksQ0FBQ2xSLElBQUs7TUFBQ0YsS0FBSyxFQUFFb1IsSUFBSSxDQUFDcFI7SUFBTSxHQUM3RG9SLElBQUksQ0FBQ1IsUUFBUSxDQUFDbk4sR0FBRyxDQUFDLFVBQUE0USxPQUFPO01BQUEsb0JBQ3hCeGEsMERBQUEsQ0FBQTRaLG9EQUFBLENBQU1yVyxJQUFJO1FBQUNvRSxHQUFHLEVBQUU2UyxPQUFPLENBQUM3UztNQUFJLGdCQUMxQjNILDBEQUFBLENBQUNtVSxtREFBSTtRQUFDMkMsRUFBRSxFQUFFMEQsT0FBTyxDQUFDMUQ7TUFBRyxHQUFFMEQsT0FBTyxDQUFDclUsS0FBWSxDQUNsQyxDQUFDO0lBQUEsQ0FDYixDQUNXLENBQUMsZ0JBRWZuRywwREFBQSxDQUFBNFosb0RBQUEsQ0FBTXJXLElBQUk7TUFBQ29FLEdBQUcsRUFBRTRQLElBQUksQ0FBQzVQLEdBQUk7TUFBQ3RCLElBQUksRUFBRWtSLElBQUksQ0FBQ2xSO0lBQUssZ0JBQ3hDckcsMERBQUEsQ0FBQ21VLG1EQUFJO01BQUMyQyxFQUFFLEVBQUVTLElBQUksQ0FBQ1Q7SUFBRyxHQUFFUyxJQUFJLENBQUNwUixLQUFZLENBQzVCLENBQ1o7RUFBQSxDQUNILENBQ0ksQ0FDQSxDQUFDLGVBSVRuRywwREFBQSxDQUFBbU4sc0RBQUE7SUFBUW5LLEtBQUssRUFBRTtNQUFFMFcsVUFBVSxFQUFFM0IsU0FBUyxHQUFHLEVBQUUsR0FBRyxHQUFHO01BQUVuUCxPQUFPLEVBQUU7SUFBTztFQUFFLGdCQUNuRTVJLDBEQUFBLENBQUNrTixPQUFPO0lBQUNsSyxLQUFLLEVBQUU7TUFBRTZGLFVBQVUsRUFBRSxNQUFNO01BQUVELE9BQU8sRUFBRSxNQUFNO01BQUVpSixTQUFTLEVBQUU7SUFBcUI7RUFBRSxnQkFDdkY3UiwwREFBQSxDQUFDcVUscURBQU0sUUFFSnlFLHVCQUF1QixpQkFDdEI5WSwwREFBQSxDQUFBQSx1REFBQSxxQkFDRUEsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsZ0JBQWdCO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUMwVyw2REFBa0IsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUNoRTFXLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLHFCQUFxQjtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDeVcsd0VBQWdCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFFbkV6VywwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxHQUFHO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUN1VSx1REFBUTtNQUFDdUMsRUFBRSxFQUFDLGdCQUFnQjtNQUFDNUksT0FBTztJQUFBLENBQUU7RUFBRSxDQUFFLENBQUMsZUFFckVsTywwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxHQUFHO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUN1VSx1REFBUTtNQUFDdUMsRUFBRSxFQUFDLGdCQUFnQjtNQUFDNUksT0FBTztJQUFBLENBQUU7RUFBRSxDQUFFLENBQ3BFLENBQ0gsRUFHQSxDQUFDMkssb0JBQW9CLElBQUlFLG9CQUFvQixLQUFLLENBQUNELHVCQUF1QixpQkFDekU5WSwwREFBQSxDQUFBQSx1REFBQSxxQkFDRUEsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsYUFBYTtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDNFUsbURBQWEsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUN4RDVVLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLGlCQUFpQjtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDNlUsd0RBQW9CLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDbkU3VSwwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxtQkFBbUI7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ3VXLCtEQUFrQixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ25FdlcsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsd0JBQXdCO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUN3Vyw4REFBeUIsTUFBRTtFQUFFLENBQUUsQ0FDOUUsQ0FDSCxFQUdBcUMsb0JBQW9CLElBQUksQ0FBQ0MsdUJBQXVCLGlCQUMvQzlZLDBEQUFBLENBQUFBLHVEQUFBLHFCQUNFQSwwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxHQUFHO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUN5VSwwQ0FBUSxNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ3pDelUsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsZUFBZTtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDc1csNERBQWdCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDN0R0VywwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxRQUFRO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUNnVyw4Q0FBUSxNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQzlDaFcsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsYUFBYTtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDaVcsbURBQWUsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUMxRGpXLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLG1CQUFtQjtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDMkUseURBQWtCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDbkUzRSwwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyx3QkFBd0I7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ1UsOERBQXlCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDL0VWLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLHlCQUF5QjtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDNEssK0RBQXdCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDL0U1SywwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyw4QkFBOEI7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ3VLLG9FQUErQixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQzNGdkssMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsUUFBUTtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDeUwsOENBQVEsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUM5Q3pMLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLGFBQWE7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ29MLG1EQUFlLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDMURwTCwwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxtQkFBbUI7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQzhVLHlEQUFrQixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ25FOVUsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsd0JBQXdCO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUMrVSw4REFBeUIsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUMvRS9VLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLFlBQVk7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ2dWLGtEQUFZLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDdERoViwwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxpQkFBaUI7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ2lWLHVEQUFtQixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ2xFalYsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsY0FBYztJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDa1Ysb0RBQWMsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUMxRGxWLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLG1CQUFtQjtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDbVYseURBQXFCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDdEVuViwwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxzQkFBc0I7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ29WLDREQUFxQixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ3pFcFYsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsMkJBQTJCO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUNxVixpRUFBNEIsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUNyRnJWLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLFlBQVk7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ3NWLGtEQUFZLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDdER0ViwwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxpQkFBaUI7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ3VWLHVEQUFtQixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ2xFdlYsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsU0FBUztJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDd1YsK0NBQVMsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUNoRHhWLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLGNBQWM7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQ3lWLG9EQUFnQixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQzVEelYsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsbUJBQW1CO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUMwVix5REFBa0IsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUNuRTFWLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLHdCQUF3QjtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDMlYsOERBQXlCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDL0UzViwwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxvQkFBb0I7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQzRWLDBEQUFtQixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ3JFNVYsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMseUJBQXlCO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUM2ViwrREFBMEIsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUNqRjdWLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLG1CQUFtQjtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDOFYseURBQWtCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDbkU5ViwwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyx3QkFBd0I7SUFBQ0MsT0FBTyxlQUFFaGIsMERBQUEsQ0FBQytWLDhEQUF5QixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQy9FL1YsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsaUJBQWlCO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUNtVyx1REFBZ0IsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUMvRG5XLDBEQUFBLENBQUNvVSxvREFBSztJQUFDMkcsSUFBSSxFQUFDLHNCQUFzQjtJQUFDQyxPQUFPLGVBQUVoYiwwREFBQSxDQUFDa1csNERBQXVCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDM0VsVywwREFBQSxDQUFDb1Usb0RBQUs7SUFBQzJHLElBQUksRUFBQyxjQUFjO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUNvVyxvREFBYSxNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ3pEcFcsMERBQUEsQ0FBQ29VLG9EQUFLO0lBQUMyRyxJQUFJLEVBQUMsbUJBQW1CO0lBQUNDLE9BQU8sZUFBRWhiLDBEQUFBLENBQUNxVyx5REFBb0IsTUFBRTtFQUFFLENBQUUsQ0FHcEUsQ0FFRSxDQUNELENBQUMsZUFDVnJXLDBEQUFBLENBQUMwVSw0RUFBZSxNQUFFLENBQ1osQ0FDRixDQUNGLENBQUM7QUFFYixDQUFDO0FBRUQsaUVBQWU4QyxJQUFJLEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2Rpc2FiaWxpdHlfdHlwZS9mb3JtLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2Rpc2FiaWxpdHlfdHlwZS9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9lZHVjYXRpb25faW5zdGl0dXRpb24vZm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9lZHVjYXRpb25faW5zdGl0dXRpb24vaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vZm9vZC9mb3JtLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2Zvb2QvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vaG9tZS9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9ob21lL21haW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybSwgSW5wdXQsIEJ1dHRvbiwgUm93LCBDb2wsIG1lc3NhZ2UgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBEaXNhYmlsaXR5VHlwZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24sIGRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uLCB1cGRhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBUZXh0QXJlYSBmcm9tICdhbnRkL2VzL2lucHV0L1RleHRBcmVhJztcblxuY29uc3QgTmV3RWRpdERpc2FiaWxpdHlUeXBlUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCB7IGRpc2FiaWxpdHlUeXBlLCByZWdpc3RlckVycm9yTWVzc2FnZSwgZGlzYWJpbGl0eVR5cGVVcGRhdGVQZW5kaW5nIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuZGlzYWJpbGl0eVR5cGVcbiAgKTtcbiAgY29uc3QgW2Zvcm1dID0gRm9ybS51c2VGb3JtKCk7XG5cbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICBjb25zdCBpZCA9IHNlYXJjaFBhcmFtcy5nZXQoJ2lkJyk7XG5cbiAgY29uc3QgW2lzQ2xpY2ssIHNldElzQ2xpY2tdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIC8vIPCfkYkgRmV0Y2ggZGF0YSB3aGVuIGVkaXRpbmcgb3IgcmVzZXQgZm9ybSB3aGVuIGFkZGluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgZGlzcGF0Y2goZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24oTnVtYmVyKGlkKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gZmllbGRzIHdoZW4gYWRkaW5nIGEgbmV3IGl0ZW1cbiAgICB9XG4gIH0sIFtkaXNwYXRjaCwgaWQsIGZvcm1dKTtcblxuICAvLyDwn5GJIFBvcHVsYXRlIGZvcm0gd2l0aCBmZXRjaGVkIGRhdGFcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaWQgJiYgZGlzYWJpbGl0eVR5cGUpIHtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoe1xuICAgICAgICBuYW1lOiBkaXNhYmlsaXR5VHlwZS5uYW1lIHx8ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogZGlzYWJpbGl0eVR5cGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtkaXNhYmlsaXR5VHlwZSwgZm9ybSwgaWRdKTtcblxuICAvLyDwn5GJIFNob3cgc3VjY2VzcyBvciBlcnJvciBhbGVydHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyAmJiBpc0NsaWNrKSB7XG4gICAgICBpZiAocmVnaXN0ZXJFcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgbWVzc2FnZS5lcnJvcihyZWdpc3RlckVycm9yTWVzc2FnZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoaWQgPyAnVXBkYXRlZCBzdWNjZXNzZnVsbHkhJyA6ICdDcmVhdGVkIHN1Y2Nlc3NmdWxseSEnKTtcbiAgICAgICAgbmF2aWdhdGUoJy9kaXNhYmlsaXR5LXR5cGVzJyk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZGlzYWJpbGl0eVR5cGVVcGRhdGVQZW5kaW5nLCByZWdpc3RlckVycm9yTWVzc2FnZSwgaWQsIGlzQ2xpY2ssIG5hdmlnYXRlXSk7XG5cbiAgLy8g8J+RiSBIYW5kbGUgZm9ybSBzdWJtaXRcbiAgY29uc3Qgb25GaW5pc2ggPSAodmFsdWVzOiBEaXNhYmlsaXR5VHlwZSkgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgZGlzcGF0Y2godXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24oeyBpZDogTnVtYmVyKGlkKSwgZGF0YTogdmFsdWVzIH0pKTtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24oeyBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpOyAvLyBSZXNldCBmb3JtIGFmdGVyIHN1Y2Nlc3NmdWwgY3JlYXRpb25cbiAgICB9XG4gICAgc2V0SXNDbGljayh0cnVlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aDI+e2lkID8gJ+GegOGfguGelOGfkuGemuGfguGelOGfkuGemuGel+GfgeGekeGeluGet+GegOGetuGemuGel+GetuGelicgOiAn4Z6U4Z6T4Z+S4Z6Q4Z+C4Z6Y4Z6Q4Z+S4Z6Y4Z644Z6U4Z+S4Z6a4Z6X4Z+B4Z6R4Z6W4Z634Z6A4Z624Z6a4Z6X4Z624Z6WJ308L2gyPlxuICAgICAgPEZvcm0gZm9ybT17Zm9ybX0gbGF5b3V0PVwidmVydGljYWxcIiBvbkZpbmlzaD17b25GaW5pc2h9IHN0eWxlPXt7IG1heFdpZHRoOiAnMTAwJScsIG1hcmdpbjogJzAgYXV0bycgfX0+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0+XG4gICAgICAgICAgPENvbCBzcGFuPXsxMn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6I4Z+S4Z6Y4Z+E4Z+HXCIgbmFtZT1cIm5hbWVcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICdQbGVhc2UgZW50ZXIgYSBuYW1lJyB9XX0+XG4gICAgICAgICAgICAgIDxJbnB1dCAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXsxMn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6U4Z6a4Z634Z6Z4Z624Z6ZXCIgbmFtZT1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgIDxUZXh0QXJlYSByb3dzPXszfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgICA8Um93IGd1dHRlcj17WzEyLCAxMl19PlxuICAgICAgICAgIDxDb2wgc3Bhbj17M30+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgYmxvY2sgaHRtbFR5cGU9XCJzdWJtaXRcIiBsb2FkaW5nPXtkaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmd9PlxuICAgICAgICAgICAgICAgIFN1Ym1pdFxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17M30+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtPlxuICAgICAgICAgICAgICA8QnV0dG9uIGh0bWxUeXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gbmF2aWdhdGUoJy9kaXNhYmlsaXR5LXR5cGVzJyl9PlxuICAgICAgICAgICAgICAgIENhbmNlbFxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvRm9ybT5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5ld0VkaXREaXNhYmlsaXR5VHlwZVBhZ2U7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiwgSW5wdXQsIFNwYWNlLCBUYWJsZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuLi8uLi8uLi9jb250YWluZXIvZGlhbG9ncy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBEZWxldGVPdXRsaW5lZCwgRWRpdE91dGxpbmVkLCBQbHVzT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBkZWxldGVEaXNhYmlsaXR5VHlwZUFjdGlvbiwgZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24sIGZldGNoRGlzYWJpbGl0eVR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZGlzYWJpbGl0eV90eXBlL2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbmNvbnN0IERpc2FiaWxpdHlUeXBlTGlzdCA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG5cbiAgY29uc3QgW2N1cnJlbnRQYWdlLCBzZXRDdXJyZW50UGFnZV0gPSB1c2VTdGF0ZSgxKTtcbiAgY29uc3QgW3BhZ2VTaXplLCBzZXRQYWdlU2l6ZV0gPSB1c2VTdGF0ZSgxMCk7XG4gIGNvbnN0IFtzZWxlY3RlZFJvd3MsIHNldFNlbGVjdGVkUm93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3QgW3NlYXJjaFRleHQsIHNldFNlYXJjaFRleHRdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCB7IGRpc2FiaWxpdHlUeXBlcywgZGlzYWJpbGl0eVR5cGVzUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmRpc2FiaWxpdHlUeXBlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoRGlzYWJpbGl0eVR5cGVzKHtcbiAgICAgIHNlYXJjaDogc2VhcmNoVGV4dCxcbiAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgcGFnZVNpemVcbiAgICB9KSk7XG4gIH0sIFtkaXNwYXRjaCwgc2VhcmNoVGV4dCwgY3VycmVudFBhZ2UsIHBhZ2VTaXplXSk7XG5cbiAgY29uc3QgaGFuZGxlRWRpdCA9IChpZDogYW55KSA9PiB7XG4gICAgZGlzcGF0Y2goZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24oaWQpKTtcbiAgICBuYXZpZ2F0ZShgL2Rpc2FiaWxpdHktdHlwZXMvZm9ybT9pZD0ke2lkfWApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IChpZDogYW55KSA9PiB7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgICB0ZXh0OiAnWW91IHdvblxcJ3QgYmUgYWJsZSB0byByZXZlcnQgdGhpcyEnLFxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXG4gICAgICBodG1sOiBgXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjb25maXJtLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY29uZmlybSBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNkMzM7XCI+RGVsZXRlPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNhbmNlbC1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNhbmNlbCBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMzMDg1ZDY7XCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYCxcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NvbmZpcm0tZGVsZXRlJyk7XG4gICAgICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NhbmNlbC1kZWxldGUnKTtcblxuICAgICAgICBjb25maXJtQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBkaXNwYXRjaChkZWxldGVEaXNhYmlsaXR5VHlwZUFjdGlvbihpZCkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgU3dhbC5maXJlKCdEZWxldGVkIScsICdUaGUgaXRlbSBoYXMgYmVlbiBkZWxldGVkLicsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICBkaXNwYXRjaChmZXRjaERpc2FiaWxpdHlUeXBlcygpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbmNlbEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gKCkgPT4ge1xuICAgIC8vIFRyaWdnZXJzIHNlYXJjaCBieSBzZXR0aW5nIHN0YXRlXG4gICAgc2V0Q3VycmVudFBhZ2UoMSk7XG4gICAgc2V0U2VhcmNoVGV4dChzZWFyY2hUZXh0LnRyaW0oKSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXQgPSAoKSA9PiB7XG4gICAgLy8gQ2xlYXJzIGlucHV0IGFuZCBzaG93cyBhbGwgZGF0YVxuICAgIHNldFNlYXJjaFRleHQoJycpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRhYmxlQ2hhbmdlID0gKHBhZ2luYXRpb246IGFueSkgPT4ge1xuICAgIHNldEN1cnJlbnRQYWdlKHBhZ2luYXRpb24uY3VycmVudCk7XG4gICAgc2V0UGFnZVNpemUocGFnaW5hdGlvbi5wYWdlU2l6ZSk7XG4gIH07XG5cbiAgY29uc3QgY29sdW1ucyA9IFtcbiAgICB7IHRpdGxlOiAn4Z6b4Z+B4Z6B4Z6a4Z+A4Z6EJywgZGF0YUluZGV4OiAnaW5kZXgnLCBrZXk6ICdpbmRleCcsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnojhn5Lhnpjhn4Thn4cnLCBkYXRhSW5kZXg6ICduYW1lJywga2V5OiAnbmFtZScsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnpThnprhnrfhnpnhnrbhnpknLCBkYXRhSW5kZXg6ICdkZXNjcmlwdGlvbicsIGtleTogJ2Rlc2NyaXB0aW9uJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdBY3Rpb24nLFxuICAgICAga2V5OiAnYWN0aW9uJyxcbiAgICAgIHJlc3BvbnNpdmU6IFsneHMnLCAnc20nLCAnbWQnLCAnbGcnXSxcbiAgICAgIHJlbmRlcjogKF86IHN0cmluZywgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJtaWRkbGVcIj5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxFZGl0T3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfSAvPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PERlbGV0ZU91dGxpbmVkIC8+fSBkYW5nZXIgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlKHJlY29yZC5pZCl9IC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgZmlsdGVyZWREYXRhID0gKGRpc2FiaWxpdHlUeXBlcz8uZGF0YSB8fCBbXSkuZmlsdGVyKChpdCkgPT5cbiAgICBpdC5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSlcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgb3ZlcmZsb3dYOiAnYXV0bycgfX0+XG4gICAgICA8aDI+4Z6U4Z6J4Z+S4Z6H4Z644Z6U4Z+S4Z6a4Z6X4Z+B4Z6R4Z6W4Z634Z6A4Z624Z6a4Z6X4Z624Z6WPC9oMj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogJyNmNWY1ZjUnLFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEwcHgnLFxuICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgIDxzcGFuPuGen+GemuGeu+GelDoge2Rpc2FiaWxpdHlUeXBlcz8ubWV0YT8udG90YWwgfHwgMH08L3NwYW4+XG4gICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuGen+GfkuGenOGfguGehOGemuGegC4uLlwiXG4gICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogMjAwIH19XG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVGV4dH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICBzZXRDdXJyZW50UGFnZSgxKTtcbiAgICAgICAgICAgICAgc2V0U2VhcmNoVGV4dChlLnRhcmdldC52YWx1ZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTZWFyY2h9IHR5cGU9XCJwcmltYXJ5XCI+4Z6F4Z6Y4Z+S4Z6a4Z+E4Z+HPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVSZXNldH0+4Z6A4Z+G4Z6O4Z6P4Z+L4Z6h4Z6+4Z6E4Z6c4Z634Z6JPC9CdXR0b24+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PFBsdXNPdXRsaW5lZCAvPn0gdHlwZT1cInByaW1hcnlcIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZShgL2Rpc2FiaWxpdHktdHlwZXMvZm9ybWApfT7hnpThnpPhn5LhnpDhn4LhnpjhnpDhn5Lhnpjhnrg8L0J1dHRvbj5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPFRhYmxlXG4gICAgICAgIHJvd1NlbGVjdGlvbj17e1xuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgb25DaGFuZ2U6IChfLCBzZWxlY3RlZFJvd3MpID0+IHNldFNlbGVjdGVkUm93cyhzZWxlY3RlZFJvd3MpLFxuICAgICAgICB9fVxuICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICBkYXRhU291cmNlPXtmaWx0ZXJlZERhdGEubWFwKChpdCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAga2V5OiBpdC5pZCxcbiAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgIG5hbWU6IGl0Lm5hbWUsXG4gICAgICAgICAgLi4uaXQsXG4gICAgICAgIH0pKX1cbiAgICAgICAgcGFnaW5hdGlvbj17e1xuICAgICAgICAgIGN1cnJlbnQ6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgICB0b3RhbDogZGlzYWJpbGl0eVR5cGVzPy5tZXRhPy50b3RhbCB8fCAwLFxuICAgICAgICAgIHNob3dTaXplQ2hhbmdlcjogdHJ1ZSxcbiAgICAgICAgfX1cbiAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRhYmxlQ2hhbmdlfVxuICAgICAgICByb3dLZXk9XCJpZFwiXG4gICAgICAgIHNjcm9sbD17eyB4OiAnbWF4LWNvbnRlbnQnIH19XG4gICAgICAvPlxuICAgICAgPExvYWRpbmdEaWFsb2cgdmlzaWJsZT17ZGlzYWJpbGl0eVR5cGVzUGVuZGluZ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpc2FiaWxpdHlUeXBlTGlzdDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybSwgSW5wdXQsIEJ1dHRvbiwgUm93LCBDb2wsIG1lc3NhZ2UgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEVkdWNhdGlvbkluc3RpdHV0aW9uIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiwgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb24sIHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IFRleHRBcmVhIGZyb20gJ2FudGQvZXMvaW5wdXQvVGV4dEFyZWEnO1xuXG5jb25zdCBOZXdFZGl0RWR1Y2F0aW9uSW5zdGl0dXRpb25QYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHsgZWR1Y2F0aW9uSW5zdGl0dXRpb24sIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBlZHVjYXRpb25JbnN0aXR1dGlvblVwZGF0ZVBlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvblxuICApO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcblxuICBjb25zdCBbaXNDbGljaywgc2V0SXNDbGlja10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8g8J+RiSBGZXRjaCBkYXRhIHdoZW4gZWRpdGluZyBvciByZXNldCBmb3JtIHdoZW4gYWRkaW5nXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaChlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbihOdW1iZXIoaWQpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBmaWVsZHMgd2hlbiBhZGRpbmcgYSBuZXcgaXRlbVxuICAgIH1cbiAgfSwgW2Rpc3BhdGNoLCBpZCwgZm9ybV0pO1xuXG4gIC8vIPCfkYkgUG9wdWxhdGUgZm9ybSB3aXRoIGZldGNoZWQgZGF0YVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCAmJiBlZHVjYXRpb25JbnN0aXR1dGlvbikge1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7XG4gICAgICAgIG5hbWU6IGVkdWNhdGlvbkluc3RpdHV0aW9uLm5hbWUgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBlZHVjYXRpb25JbnN0aXR1dGlvbi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2VkdWNhdGlvbkluc3RpdHV0aW9uLCBmb3JtLCBpZF0pO1xuXG4gIC8vIPCfkYkgU2hvdyBzdWNjZXNzIG9yIGVycm9yIGFsZXJ0c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nICYmIGlzQ2xpY2spIHtcbiAgICAgIGlmIChyZWdpc3RlckVycm9yTWVzc2FnZSkge1xuICAgICAgICBtZXNzYWdlLmVycm9yKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhpZCA/ICdVcGRhdGVkIHN1Y2Nlc3NmdWxseSEnIDogJ0NyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgICBuYXZpZ2F0ZSgnL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZHVjYXRpb25JbnN0aXR1dGlvblVwZGF0ZVBlbmRpbmcsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBpZCwgaXNDbGljaywgbmF2aWdhdGVdKTtcblxuICAvLyDwn5GJIEhhbmRsZSBmb3JtIHN1Ym1pdFxuICBjb25zdCBvbkZpbmlzaCA9ICh2YWx1ZXM6IEVkdWNhdGlvbkluc3RpdHV0aW9uKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbih7IGlkOiBOdW1iZXIoaWQpLCBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbih7IGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gYWZ0ZXIgc3VjY2Vzc2Z1bCBjcmVhdGlvblxuICAgIH1cbiAgICBzZXRJc0NsaWNrKHRydWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMj57aWQgPyAn4Z6A4Z+C4Z6U4Z+S4Z6a4Z+C4Z6f4Z+S4Z6Q4Z624Z6U4Z+Q4Z6T4Z6i4Z6U4Z+L4Z6a4Z+GJyA6ICfhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5Lhnpjhnrjhnp/hn5LhnpDhnrbhnpThn5DhnpPhnqLhnpThn4vhnprhn4YnfTwvaDI+XG4gICAgICA8Rm9ybSBmb3JtPXtmb3JtfSBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiIG9uRmluaXNoPXtvbkZpbmlzaH0gc3R5bGU9e3sgbWF4V2lkdGg6ICcxMDAlJywgbWFyZ2luOiAnMCBhdXRvJyB9fT5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4dcIiBuYW1lPVwibmFtZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ1BsZWFzZSBlbnRlciBhIG5hbWUnIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpThnprhnrfhnpnhnrbhnplcIiBuYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPFRleHRBcmVhIHJvd3M9ezN9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInByaW1hcnlcIiBibG9jayBodG1sVHlwZT1cInN1Ym1pdFwiIGxvYWRpbmc9e2VkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZ30+XG4gICAgICAgICAgICAgICAgU3VibWl0XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gaHRtbFR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZSgnL2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMnKX0+XG4gICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Gb3JtPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmV3RWRpdEVkdWNhdGlvbkluc3RpdHV0aW9uUGFnZTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBJbnB1dCwgU3BhY2UsIFRhYmxlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi4vLi4vLi4vY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgRGVsZXRlT3V0bGluZWQsIEVkaXRPdXRsaW5lZCwgUGx1c091dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHsgZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24sIGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uLCBmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2VkdWNhdGlvbl9pbnN0aXR1dGlvbi9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5jb25zdCBFZHVjYXRpb25JbnN0aXR1dGlvbkxpc3QgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXG4gIGNvbnN0IFtjdXJyZW50UGFnZSwgc2V0Q3VycmVudFBhZ2VdID0gdXNlU3RhdGUoMSk7XG4gIGNvbnN0IFtwYWdlU2l6ZSwgc2V0UGFnZVNpemVdID0gdXNlU3RhdGUoMTApO1xuICBjb25zdCBbc2VsZWN0ZWRSb3dzLCBzZXRTZWxlY3RlZFJvd3NdID0gdXNlU3RhdGU8YW55PihbXSk7XG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgeyBlZHVjYXRpb25JbnN0aXR1dGlvbnMsIGVkdWNhdGlvbkluc3RpdHV0aW9uc1BlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbik7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucyh7XG4gICAgICBzZWFyY2g6IHNlYXJjaFRleHQsXG4gICAgICBwYWdlOiBjdXJyZW50UGFnZSxcbiAgICAgIHBhZ2VTaXplXG4gICAgfSkpO1xuICB9LCBbZGlzcGF0Y2gsIHNlYXJjaFRleHQsIGN1cnJlbnRQYWdlLCBwYWdlU2l6ZV0pO1xuXG4gIGNvbnN0IGhhbmRsZUVkaXQgPSAoaWQ6IGFueSkgPT4ge1xuICAgIGRpc3BhdGNoKGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uKGlkKSk7XG4gICAgbmF2aWdhdGUoYC9lZHVjYXRpb24taW5zdGl0dXRpb25zL2Zvcm0/aWQ9JHtpZH1gKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZWxldGUgPSAoaWQ6IGFueSkgPT4ge1xuICAgIFN3YWwuZmlyZSh7XG4gICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZT8nLFxuICAgICAgdGV4dDogJ1lvdSB3b25cXCd0IGJlIGFibGUgdG8gcmV2ZXJ0IHRoaXMhJyxcbiAgICAgIGljb246ICd3YXJuaW5nJyxcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgaHRtbDogYFxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMjBweDtcIj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY29uZmlybS1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNvbmZpcm0gc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzO1wiPkRlbGV0ZTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjYW5jZWwtZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jYW5jZWwgc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMzA4NWQ2O1wiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGAsXG4gICAgICBkaWRPcGVuOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1CdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjb25maXJtLWRlbGV0ZScpO1xuICAgICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjYW5jZWwtZGVsZXRlJyk7XG5cbiAgICAgICAgY29uZmlybUJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgZGlzcGF0Y2goZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24oaWQpKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIFN3YWwuZmlyZSgnRGVsZXRlZCEnLCAnVGhlIGl0ZW0gaGFzIGJlZW4gZGVsZXRlZC4nLCAnc3VjY2VzcycpO1xuICAgICAgICAgICAgZGlzcGF0Y2goZmV0Y2hFZHVjYXRpb25JbnN0aXR1dGlvbnMoKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjYW5jZWxCdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIFN3YWwuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9ICgpID0+IHtcbiAgICAvLyBUcmlnZ2VycyBzZWFyY2ggYnkgc2V0dGluZyBzdGF0ZVxuICAgIHNldEN1cnJlbnRQYWdlKDEpO1xuICAgIHNldFNlYXJjaFRleHQoc2VhcmNoVGV4dC50cmltKCkpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVJlc2V0ID0gKCkgPT4ge1xuICAgIC8vIENsZWFycyBpbnB1dCBhbmQgc2hvd3MgYWxsIGRhdGFcbiAgICBzZXRTZWFyY2hUZXh0KCcnKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVUYWJsZUNoYW5nZSA9IChwYWdpbmF0aW9uOiBhbnkpID0+IHtcbiAgICBzZXRDdXJyZW50UGFnZShwYWdpbmF0aW9uLmN1cnJlbnQpO1xuICAgIHNldFBhZ2VTaXplKHBhZ2luYXRpb24ucGFnZVNpemUpO1xuICB9O1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBbXG4gICAgeyB0aXRsZTogJ+Gem+GfgeGegeGemuGfgOGehCcsIGRhdGFJbmRleDogJ2luZGV4Jywga2V5OiAnaW5kZXgnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6I4Z+S4Z6Y4Z+E4Z+HJywgZGF0YUluZGV4OiAnbmFtZScsIGtleTogJ25hbWUnLCByZXNwb25zaXZlOiBbJ3NtJ10gfSxcbiAgICB7IHRpdGxlOiAn4Z6U4Z6a4Z634Z6Z4Z624Z6ZJywgZGF0YUluZGV4OiAnZGVzY3JpcHRpb24nLCBrZXk6ICdkZXNjcmlwdGlvbicsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnQWN0aW9uJyxcbiAgICAgIGtleTogJ2FjdGlvbicsXG4gICAgICByZXNwb25zaXZlOiBbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJ10sXG4gICAgICByZW5kZXI6IChfOiBzdHJpbmcsIHJlY29yZDogYW55KSA9PiAoXG4gICAgICAgIDxTcGFjZSBzaXplPVwibWlkZGxlXCI+XG4gICAgICAgICAgPEJ1dHRvbiBpY29uPXs8RWRpdE91dGxpbmVkIC8+fSB0eXBlPVwicHJpbWFyeVwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX0gLz5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxEZWxldGVPdXRsaW5lZCAvPn0gZGFuZ2VyIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShyZWNvcmQuaWQpfSAvPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgKSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IGZpbHRlcmVkRGF0YSA9IChlZHVjYXRpb25JbnN0aXR1dGlvbnM/LmRhdGEgfHwgW10pLmZpbHRlcigoaXQpID0+XG4gICAgaXQubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IG92ZXJmbG93WDogJ2F1dG8nIH19PlxuICAgICAgPGgyPuGelOGeieGfkuGeh+GeuOGen+GfkuGekOGetuGelOGfkOGek+GeouGelOGfi+GemuGfhjwvaDI+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgcGFkZGluZzogJzEwcHgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICcjZjVmNWY1JyxcbiAgICAgICAgICBtYXJnaW5Cb3R0b206ICcxMHB4JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8c3Bhbj7hnp/hnprhnrvhnpQ6IHtlZHVjYXRpb25JbnN0aXR1dGlvbnM/Lm1ldGE/LnRvdGFsIHx8IDB9PC9zcGFuPlxuICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLhnp/hn5Lhnpzhn4LhnoThnprhnoAuLi5cIlxuICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IDIwMCB9fVxuICAgICAgICAgICAgdmFsdWU9e3NlYXJjaFRleHR9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgc2V0Q3VycmVudFBhZ2UoMSk7XG4gICAgICAgICAgICAgIHNldFNlYXJjaFRleHQoZS50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlU2VhcmNofSB0eXBlPVwicHJpbWFyeVwiPuGeheGemOGfkuGemuGfhOGfhzwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlUmVzZXR9PuGegOGfhuGejuGej+Gfi+GeoeGevuGehOGenOGet+GeiTwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxQbHVzT3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gbmF2aWdhdGUoYC9lZHVjYXRpb24taW5zdGl0dXRpb25zL2Zvcm1gKX0+4Z6U4Z6T4Z+S4Z6Q4Z+C4Z6Y4Z6Q4Z+S4Z6Y4Z64PC9CdXR0b24+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxUYWJsZVxuICAgICAgICByb3dTZWxlY3Rpb249e3tcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIG9uQ2hhbmdlOiAoXywgc2VsZWN0ZWRSb3dzKSA9PiBzZXRTZWxlY3RlZFJvd3Moc2VsZWN0ZWRSb3dzKSxcbiAgICAgICAgfX1cbiAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgZGF0YVNvdXJjZT17ZmlsdGVyZWREYXRhLm1hcCgoaXQsIGluZGV4KSA9PiAoe1xuICAgICAgICAgIGtleTogaXQuaWQsXG4gICAgICAgICAgaW5kZXg6IGluZGV4ICsgMSxcbiAgICAgICAgICBuYW1lOiBpdC5uYW1lLFxuICAgICAgICAgIC4uLml0LFxuICAgICAgICB9KSl9XG4gICAgICAgIHBhZ2luYXRpb249e3tcbiAgICAgICAgICBjdXJyZW50OiBjdXJyZW50UGFnZSxcbiAgICAgICAgICBwYWdlU2l6ZTogcGFnZVNpemUsXG4gICAgICAgICAgdG90YWw6IGVkdWNhdGlvbkluc3RpdHV0aW9ucz8ubWV0YT8udG90YWwgfHwgMCxcbiAgICAgICAgICBzaG93U2l6ZUNoYW5nZXI6IHRydWUsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUYWJsZUNoYW5nZX1cbiAgICAgICAgcm93S2V5PVwiaWRcIlxuICAgICAgICBzY3JvbGw9e3sgeDogJ21heC1jb250ZW50JyB9fVxuICAgICAgLz5cbiAgICAgIDxMb2FkaW5nRGlhbG9nIHZpc2libGU9e2VkdWNhdGlvbkluc3RpdHV0aW9uc1BlbmRpbmd9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFZHVjYXRpb25JbnN0aXR1dGlvbkxpc3Q7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0sIElucHV0LCBCdXR0b24sIFJvdywgQ29sLCBtZXNzYWdlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBGb29kIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVGb29kQWN0aW9uLCBmb29kRGV0YWlsQWN0aW9uLCB1cGRhdGVGb29kQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZm9vZC9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBUZXh0QXJlYSBmcm9tICdhbnRkL2VzL2lucHV0L1RleHRBcmVhJztcblxuY29uc3QgTmV3RWRpdEZvb2RQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHsgZm9vZCwgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIGZvb2RVcGRhdGVQZW5kaW5nIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuZm9vZFxuICApO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcblxuICBjb25zdCBbaXNDbGljaywgc2V0SXNDbGlja10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8g8J+RiSBGZXRjaCBkYXRhIHdoZW4gZWRpdGluZyBvciByZXNldCBmb3JtIHdoZW4gYWRkaW5nXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaChmb29kRGV0YWlsQWN0aW9uKE51bWJlcihpZCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpOyAvLyBSZXNldCBmb3JtIGZpZWxkcyB3aGVuIGFkZGluZyBhIG5ldyBpdGVtXG4gICAgfVxuICB9LCBbZGlzcGF0Y2gsIGlkLCBmb3JtXSk7XG5cbiAgLy8g8J+RiSBQb3B1bGF0ZSBmb3JtIHdpdGggZmV0Y2hlZCBkYXRhXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkICYmIGZvb2QpIHtcbiAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoe1xuICAgICAgICBuYW1lOiBmb29kLm5hbWUgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBmb29kLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZm9vZCwgZm9ybSwgaWRdKTtcblxuICAvLyDwn5GJIFNob3cgc3VjY2VzcyBvciBlcnJvciBhbGVydHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWZvb2RVcGRhdGVQZW5kaW5nICYmIGlzQ2xpY2spIHtcbiAgICAgIGlmIChyZWdpc3RlckVycm9yTWVzc2FnZSkge1xuICAgICAgICBtZXNzYWdlLmVycm9yKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhpZCA/ICdVcGRhdGVkIHN1Y2Nlc3NmdWxseSEnIDogJ0NyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgICBuYXZpZ2F0ZSgnL2Zvb2RzJyk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZm9vZFVwZGF0ZVBlbmRpbmcsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBpZCwgaXNDbGljaywgbmF2aWdhdGVdKTtcblxuICAvLyDwn5GJIEhhbmRsZSBmb3JtIHN1Ym1pdFxuICBjb25zdCBvbkZpbmlzaCA9ICh2YWx1ZXM6IEZvb2QpID0+IHtcbiAgICBpZiAoaWQpIHtcbiAgICAgIGRpc3BhdGNoKHVwZGF0ZUZvb2RBY3Rpb24oeyBpZDogTnVtYmVyKGlkKSwgZGF0YTogdmFsdWVzIH0pKTtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goY3JlYXRlRm9vZEFjdGlvbih7IGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gYWZ0ZXIgc3VjY2Vzc2Z1bCBjcmVhdGlvblxuICAgIH1cbiAgICBzZXRJc0NsaWNrKHRydWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMj57aWQgPyAn4Z6A4Z+C4Z6U4Z+S4Z6a4Z+C4Z6i4Z624Z6g4Z624Z6aJyA6ICfhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5LhnpjhnrjhnqLhnrbhnqDhnrbhnponfTwvaDI+XG4gICAgICA8Rm9ybSBmb3JtPXtmb3JtfSBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiIG9uRmluaXNoPXtvbkZpbmlzaH0gc3R5bGU9e3sgbWF4V2lkdGg6ICcxMDAlJywgbWFyZ2luOiAnMCBhdXRvJyB9fT5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4dcIiBuYW1lPVwibmFtZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ1BsZWFzZSBlbnRlciBhIG5hbWUnIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpThnprhnrfhnpnhnrbhnplcIiBuYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPFRleHRBcmVhIHJvd3M9ezN9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInByaW1hcnlcIiBibG9jayBodG1sVHlwZT1cInN1Ym1pdFwiIGxvYWRpbmc9e2Zvb2RVcGRhdGVQZW5kaW5nfT5cbiAgICAgICAgICAgICAgICBTdWJtaXRcbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezN9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbT5cbiAgICAgICAgICAgICAgPEJ1dHRvbiBodG1sVHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlKCcvZm9vZHMnKX0+XG4gICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Gb3JtPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmV3RWRpdEZvb2RQYWdlO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIElucHV0LCBTcGFjZSwgVGFibGUgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgTG9hZGluZ0RpYWxvZyBmcm9tICcuLi8uLi8uLi9jb250YWluZXIvZGlhbG9ncy9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQgeyBEZWxldGVPdXRsaW5lZCwgRWRpdE91dGxpbmVkLCBQbHVzT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBkZWxldGVGb29kQWN0aW9uLCBmb29kRGV0YWlsQWN0aW9uLCBmZXRjaEZvb2RzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZm9vZC9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5jb25zdCBGb29kTGlzdCA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG5cbiAgY29uc3QgW2N1cnJlbnRQYWdlLCBzZXRDdXJyZW50UGFnZV0gPSB1c2VTdGF0ZSgxKTtcbiAgY29uc3QgW3BhZ2VTaXplLCBzZXRQYWdlU2l6ZV0gPSB1c2VTdGF0ZSgxMCk7XG4gIGNvbnN0IFtzZWxlY3RlZFJvd3MsIHNldFNlbGVjdGVkUm93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3QgW3NlYXJjaFRleHQsIHNldFNlYXJjaFRleHRdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCB7IGZvb2RzLCBmb29kc1BlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5mb29kKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoRm9vZHMoe1xuICAgICAgc2VhcmNoOiBzZWFyY2hUZXh0LFxuICAgICAgcGFnZTogY3VycmVudFBhZ2UsXG4gICAgICBwYWdlU2l6ZVxuICAgIH0pKTtcbiAgfSwgW2Rpc3BhdGNoLCBzZWFyY2hUZXh0LCBjdXJyZW50UGFnZSwgcGFnZVNpemVdKTtcblxuICBjb25zdCBoYW5kbGVFZGl0ID0gKGlkOiBhbnkpID0+IHtcbiAgICBkaXNwYXRjaChmb29kRGV0YWlsQWN0aW9uKGlkKSk7XG4gICAgbmF2aWdhdGUoYC9mb29kcy9mb3JtP2lkPSR7aWR9YCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlID0gKGlkOiBhbnkpID0+IHtcbiAgICBTd2FsLmZpcmUoe1xuICAgICAgdGl0bGU6ICdBcmUgeW91IHN1cmU/JyxcbiAgICAgIHRleHQ6ICdZb3Ugd29uXFwndCBiZSBhYmxlIHRvIHJldmVydCB0aGlzIScsXG4gICAgICBpY29uOiAnd2FybmluZycsXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZSxcbiAgICAgIGh0bWw6IGBcbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDEwcHg7IG1hcmdpbi10b3A6IDIwcHg7XCI+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNvbmZpcm0tZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jb25maXJtIHN3YWwyLXN0eWxlZFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2QzMztcIj5EZWxldGU8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY2FuY2VsLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY2FuY2VsIHN3YWwyLXN0eWxlZFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzMwODVkNjtcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgLFxuICAgICAgZGlkT3BlbjogKCkgPT4ge1xuICAgICAgICBjb25zdCBjb25maXJtQnV0dG9uID0gU3dhbC5nZXRQb3B1cCgpPy5xdWVyeVNlbGVjdG9yKCcjY29uZmlybS1kZWxldGUnKTtcbiAgICAgICAgY29uc3QgY2FuY2VsQnV0dG9uID0gU3dhbC5nZXRQb3B1cCgpPy5xdWVyeVNlbGVjdG9yKCcjY2FuY2VsLWRlbGV0ZScpO1xuXG4gICAgICAgIGNvbmZpcm1CdXR0b24/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIGRpc3BhdGNoKGRlbGV0ZUZvb2RBY3Rpb24oaWQpKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIFN3YWwuZmlyZSgnRGVsZXRlZCEnLCAnVGhlIGl0ZW0gaGFzIGJlZW4gZGVsZXRlZC4nLCAnc3VjY2VzcycpO1xuICAgICAgICAgICAgZGlzcGF0Y2goZmV0Y2hGb29kcygpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbmNlbEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gKCkgPT4ge1xuICAgIC8vIFRyaWdnZXJzIHNlYXJjaCBieSBzZXR0aW5nIHN0YXRlXG4gICAgc2V0Q3VycmVudFBhZ2UoMSk7XG4gICAgc2V0U2VhcmNoVGV4dChzZWFyY2hUZXh0LnRyaW0oKSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXQgPSAoKSA9PiB7XG4gICAgLy8gQ2xlYXJzIGlucHV0IGFuZCBzaG93cyBhbGwgZGF0YVxuICAgIHNldFNlYXJjaFRleHQoJycpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRhYmxlQ2hhbmdlID0gKHBhZ2luYXRpb246IGFueSkgPT4ge1xuICAgIHNldEN1cnJlbnRQYWdlKHBhZ2luYXRpb24uY3VycmVudCk7XG4gICAgc2V0UGFnZVNpemUocGFnaW5hdGlvbi5wYWdlU2l6ZSk7XG4gIH07XG5cbiAgY29uc3QgY29sdW1ucyA9IFtcbiAgICB7IHRpdGxlOiAn4Z6b4Z+B4Z6B4Z6a4Z+A4Z6EJywgZGF0YUluZGV4OiAnaW5kZXgnLCBrZXk6ICdpbmRleCcsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnojhn5Lhnpjhn4Thn4cnLCBkYXRhSW5kZXg6ICduYW1lJywga2V5OiAnbmFtZScsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnpThnprhnrfhnpnhnrbhnpknLCBkYXRhSW5kZXg6ICdkZXNjcmlwdGlvbicsIGtleTogJ2Rlc2NyaXB0aW9uJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdBY3Rpb24nLFxuICAgICAga2V5OiAnYWN0aW9uJyxcbiAgICAgIHJlc3BvbnNpdmU6IFsneHMnLCAnc20nLCAnbWQnLCAnbGcnXSxcbiAgICAgIHJlbmRlcjogKF86IHN0cmluZywgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJtaWRkbGVcIj5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxFZGl0T3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfSAvPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PERlbGV0ZU91dGxpbmVkIC8+fSBkYW5nZXIgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlKHJlY29yZC5pZCl9IC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgZmlsdGVyZWREYXRhID0gKGZvb2RzPy5kYXRhIHx8IFtdKS5maWx0ZXIoKGl0KSA9PlxuICAgIGl0Lm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBvdmVyZmxvd1g6ICdhdXRvJyB9fT5cbiAgICAgIDxoMj7hnpThnonhn5LhnofhnrjhnqLhnrbhnqDhnrbhnpo8L2gyPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y1ZjVmNScsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTBweCcsXG4gICAgICAgICAgZmxleFdyYXA6ICd3cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFNwYWNlIHdyYXA+XG4gICAgICAgICAgPHNwYW4+4Z6f4Z6a4Z674Z6UOiB7Zm9vZHM/Lm1ldGE/LnRvdGFsIHx8IDB9PC9zcGFuPlxuICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLhnp/hn5Lhnpzhn4LhnoThnprhnoAuLi5cIlxuICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IDIwMCB9fVxuICAgICAgICAgICAgdmFsdWU9e3NlYXJjaFRleHR9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgc2V0Q3VycmVudFBhZ2UoMSk7XG4gICAgICAgICAgICAgIHNldFNlYXJjaFRleHQoZS50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlU2VhcmNofSB0eXBlPVwicHJpbWFyeVwiPuGeheGemOGfkuGemuGfhOGfhzwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlUmVzZXR9PuGegOGfhuGejuGej+Gfi+GeoeGevuGehOGenOGet+GeiTwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgICA8U3BhY2Ugd3JhcD5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxQbHVzT3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gbmF2aWdhdGUoYC9mb29kcy9mb3JtYCl9PuGelOGek+GfkuGekOGfguGemOGekOGfkuGemOGeuDwvQnV0dG9uPlxuICAgICAgICA8L1NwYWNlPlxuICAgICAgPC9kaXY+XG4gICAgICA8VGFibGVcbiAgICAgICAgcm93U2VsZWN0aW9uPXt7XG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICBvbkNoYW5nZTogKF8sIHNlbGVjdGVkUm93cykgPT4gc2V0U2VsZWN0ZWRSb3dzKHNlbGVjdGVkUm93cyksXG4gICAgICAgIH19XG4gICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgIGRhdGFTb3VyY2U9e2ZpbHRlcmVkRGF0YS5tYXAoKGl0LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICBrZXk6IGl0LmlkLFxuICAgICAgICAgIGluZGV4OiBpbmRleCArIDEsXG4gICAgICAgICAgbmFtZTogaXQubmFtZSxcbiAgICAgICAgICAuLi5pdCxcbiAgICAgICAgfSkpfVxuICAgICAgICBwYWdpbmF0aW9uPXt7XG4gICAgICAgICAgY3VycmVudDogY3VycmVudFBhZ2UsXG4gICAgICAgICAgcGFnZVNpemU6IHBhZ2VTaXplLFxuICAgICAgICAgIHRvdGFsOiBmb29kcz8ubWV0YT8udG90YWwgfHwgMCxcbiAgICAgICAgICBzaG93U2l6ZUNoYW5nZXI6IHRydWUsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUYWJsZUNoYW5nZX1cbiAgICAgICAgcm93S2V5PVwiaWRcIlxuICAgICAgICBzY3JvbGw9e3sgeDogJ21heC1jb250ZW50JyB9fVxuICAgICAgLz5cbiAgICAgIDxMb2FkaW5nRGlhbG9nIHZpc2libGU9e2Zvb2RzUGVuZGluZ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZvb2RMaXN0O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZVwiO1xuaW1wb3J0IHsgZmV0Y2hEYXNoYm9hcmRBY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IHsgTGF5b3V0LCBCcmVhZGNydW1iLCBSb3csIENvbCwgQ2FyZCwgU3RhdGlzdGljLCBCdXR0b24sIFR5cG9ncmFwaHkgfSBmcm9tIFwiYW50ZFwiO1xuaW1wb3J0IHsgVXNlck91dGxpbmVkLCBDYWxlbmRhck91dGxpbmVkLCBUZWFtT3V0bGluZWQsIEZpbGVFeGNlbE91dGxpbmVkIH0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XG5pbXBvcnQgeyBCYXJDaGFydCwgWEF4aXMsIFlBeGlzLCBUb29sdGlwIGFzIFJlY2hhcnRzVG9vbHRpcCwgQmFyLCBSZXNwb25zaXZlQ29udGFpbmVyLCBDYXJ0ZXNpYW5HcmlkLCBQaWVDaGFydCwgUGllLCBDZWxsLCBMZWdlbmQgfSBmcm9tIFwicmVjaGFydHNcIjtcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSBcInhsc3hcIjsgLy8g4pyFIEltcG9ydCBYTFNYIGZvciBFeGNlbCBleHBvcnRcblxuY29uc3QgeyBUaXRsZSB9ID0gVHlwb2dyYXBoeTtcbmNvbnN0IHsgQ29udGVudCB9ID0gTGF5b3V0O1xuXG5jb25zdCBDT0xPUlMgPSBbJyMwMDg4RkUnLCAnIzAwQzQ5RicsICcjRkZCQjI4JywgJyNGRjgwNDInLCAnI0EyOERGRicsICcjRkY0NTYwJywgJyM3NzVERDAnLCAnI0Y4NjYyNCddO1xuY29uc3QgU1RBVF9DT0xPUlMgPSBbJyNGRjU3MzMnLCAnIzAwNzNlNicsICcjMkVDQzcxJywgJyMxRTkwRkYnLCAnI0ZGNjlCNCcsICcjRkZBNTAwJywgJyNGMEJCRjBGRiddO1xuXG5jb25zdCBEYXNoYm9hcmRIb21lOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgeyBkYXNoYm9hcmQgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS52b2x1bnRlZXIpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaERhc2hib2FyZEFjdGlvbigpKTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cbiAgY29uc3QgY2hhcnREYXRhID0gT2JqZWN0LmVudHJpZXMoZGFzaGJvYXJkPy5jb3VudF92b2x1bnRlZXJfc3RhdHVzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBuYW1lOiBrZXkucmVwbGFjZShcImNvdW50X1wiLCBcIlwiKS5yZXBsYWNlKFwiX1wiLCBcIiBcIiksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICBjb25zdCBjaGF0Vm9sdW50ZWVyUHJvdmluY2UgPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9wcm92aW5jZXMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleS5zcGxpdChcIi9cIikucG9wKCkudHJpbSgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgY29uc3QgY2hhdFZvbHVudGVlckdlbmRlciA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX2dlbmRlcnMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleS5yZXBsYWNlKFwiY291bnRfXCIsIFwiXCIpLnJlcGxhY2UoXCJfXCIsIFwiIFwiKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIGNvbnN0IGNoYXRWb2x1bnRlZXJUc2hpcnQgPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9zaGlydF9zaXplcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgbmFtZToga2V5LFxuICAgIHZhbHVlLFxuICB9KSk7XG5cblxuICAvLyBjb3VudF92b2x1bnRlZXJfb2NjdXBhdGlvbnNcblxuXG4gIGNvbnN0IGNoYXRWb2x1bnRlZXJPY2N1cGF0aW9ucyA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX29jY3VwYXRpb25zIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBuYW1lOiBrZXksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICAvLyBjb3VudF92b2x1bnRlZXJfZWR1Y2F0aW9uX2luc3RpdHV0aW9uc1xuICBjb25zdCBjaGF0Vm9sdW50ZWVyRWR1Y2F0aW9uSW5zdCA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX2VkdWNhdGlvbl9pbnN0aXR1dGlvbnMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIC8vIGNvdW50X2ludGVyZXN0ZWRfdGVhbVxuICBjb25zdCBjaGF0Vm9sdW50ZWVySW50ZXJlc3RlZFRlYW0gPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X2ludGVyZXN0ZWRfdGVhbSB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgbmFtZToga2V5LFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgLy8g4pyFIEZ1bmN0aW9uIHRvIEV4cG9ydCBBbGwgRGF0YSB0byBFeGNlbFxuICBjb25zdCBleHBvcnRUb0V4Y2VsID0gKCkgPT4ge1xuICAgIGNvbnN0IHdiID0gWExTWC51dGlscy5ib29rX25ldygpO1xuXG4gICAgLy8gQ3JlYXRlIGluZGl2aWR1YWwgc2hlZXRzIGZvciBlYWNoIGRhdGFzZXRcbiAgICBjb25zdCBzaGVldHMgPSB7XG4gICAgICBcIlZvbHVudGVlciBTdGF0dXNcIjogY2hhcnREYXRhLFxuICAgICAgXCJWb2x1bnRlZXIgYnkgUHJvdmluY2VcIjogY2hhdFZvbHVudGVlclByb3ZpbmNlLFxuICAgICAgXCJWb2x1bnRlZXIgR2VuZGVyXCI6IGNoYXRWb2x1bnRlZXJHZW5kZXIsXG4gICAgICBcIlZvbHVudGVlciBULVNoaXJ0IFNpemVcIjogY2hhdFZvbHVudGVlclRzaGlydCxcbiAgICAgIFwiVm9sdW50ZWVyIE9jY3VwYXRpb25zXCI6IGNoYXRWb2x1bnRlZXJPY2N1cGF0aW9ucyxcbiAgICAgIFwiRWR1Y2F0aW9uIEluc3RpdHV0aW9uc1wiOiBjaGF0Vm9sdW50ZWVyRWR1Y2F0aW9uSW5zdCxcbiAgICAgIFwiVGVhbVwiOiBjaGF0Vm9sdW50ZWVySW50ZXJlc3RlZFRlYW0sXG4gICAgfTtcblxuICAgIE9iamVjdC5lbnRyaWVzKHNoZWV0cykuZm9yRWFjaCgoW3NoZWV0TmFtZSwgZGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IHdzID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGRhdGEpO1xuICAgICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsIHNoZWV0TmFtZSk7XG4gICAgfSk7XG5cbiAgICAvLyDinIUgR2VuZXJhdGUgYW5kIERvd25sb2FkIHRoZSBFeGNlbCBGaWxlXG4gICAgWExTWC53cml0ZUZpbGUod2IsIFwiVm9sdW50ZWVyX0Rhc2hib2FyZF9SZXBvcnQueGxzeFwiKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxMYXlvdXQgc3R5bGU9e3sgcGFkZGluZzogJzE2cHgnIH19PlxuICAgICAgPEJyZWFkY3J1bWIgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiAnMTJweCcsIGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG5cbiAgICAgICAgPEJyZWFkY3J1bWIuSXRlbT5EYXNoYm9hcmQ8L0JyZWFkY3J1bWIuSXRlbT5cblxuICAgICAgPC9CcmVhZGNydW1iPlxuXG4gICAgICA8Q29udGVudCBzdHlsZT17eyBiYWNrZ3JvdW5kOiAnI2ZmZicsIHBhZGRpbmc6ICcxNnB4JywgYm9yZGVyUmFkaXVzOiAnOHB4JyB9fT5cbiAgICAgICAgPFJvdyBqdXN0aWZ5PVwic3BhY2UtYmV0d2VlblwiIGFsaWduPVwibWlkZGxlXCIgc3R5bGU9e3sgbWFyZ2luQm90dG9tOiBcIjE2cHhcIiB9fT5cbiAgICAgICAgICA8Q29sPlxuICAgICAgICAgICAgPFRpdGxlIGxldmVsPXs0fSBzdHlsZT17eyBtYXJnaW46IDAgfX0+RGFzaGJvYXJkIE92ZXJ2aWV3PC9UaXRsZT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIGljb249ezxGaWxlRXhjZWxPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgICAgb25DbGljaz17ZXhwb3J0VG9FeGNlbH1cbiAgICAgICAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIsIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsIGdhcDogXCI4cHhcIiB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBFeHBvcnQgdG8gRXhjZWxcbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuXG5cblxuXG5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1s4LCA4XX0+XG4gICAgICAgICAge1tcbiAgICAgICAgICAgIHsgdGl0bGU6ICdUb3RhbCBWb2x1bnRlZXJzJywgdmFsdWU6IGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVycywgaWNvbjogPFVzZXJPdXRsaW5lZCAvPiwgY29sb3I6IFNUQVRfQ09MT1JTWzBdIH0sXG4gICAgICAgICAgICB7IHRpdGxlOiAnVG90YWwgRXZlbnRzJywgdmFsdWU6IDEsIGljb246IDxDYWxlbmRhck91dGxpbmVkIC8+LCBjb2xvcjogU1RBVF9DT0xPUlNbMV0gfSxcbiAgICAgICAgICAgIHsgdGl0bGU6ICdUb3RhbCBBZG1pbiBVc2VycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3VzZXJfcm9sZXM/LmNvdW50X3N1cGVyX2FkbWluLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+LCBjb2xvcjogU1RBVF9DT0xPUlNbMl0gfSxcbiAgICAgICAgICAgIC8vIHsgdGl0bGU6ICdUb3RhbCBVc2VycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3VzZXJfcm9sZXM/LmNvdW50X3VzZXIsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1szXSB9LFxuICAgICAgICAgICAgeyB0aXRsZTogJ01hbGUgVm9sdW50ZWVycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9nZW5kZXJzPy5jb3VudF9tYWxlLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+LCBjb2xvcjogU1RBVF9DT0xPUlNbNF0gfSxcbiAgICAgICAgICAgIHsgdGl0bGU6ICdGZW1hbGUgVm9sdW50ZWVycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9nZW5kZXJzPy5jb3VudF9mZW1hbGUsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1s1XSB9LFxuICAgICAgICAgICAgLy8geyB0aXRsZTogJ1RvdGFsIFRyYWluaW5nIFNlc3Npb25zJywgdmFsdWU6IGRhc2hib2FyZD8uY291bnRfdHJhaW5pbmdfc2Vzc2lvbnMsIGljb246IDxSZWFkT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1s2XSB9LFxuICAgICAgICAgIF0ubWFwKChzdGF0LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsyNH0gbWQ9ezZ9IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICA8Q2FyZCBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHN0YXQuY29sb3IsIGNvbG9yOiAnI2ZmZicsIG1pbkhlaWdodDogMTYwIH19PlxuICAgICAgICAgICAgICAgIDxTdGF0aXN0aWMgdGl0bGU9e3N0YXQudGl0bGV9IHZhbHVlPXtzdGF0LnZhbHVlfSBwcmVmaXg9e3N0YXQuaWNvbn0gdmFsdWVTdHlsZT17eyBjb2xvcjogJyNmZmYnIH19IC8+XG4gICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgICkpfVxuXG4gICAgICAgIDwvUm93PlxuICAgICAgICA8Um93PlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MjR9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIFN0YXR1cyBCcmVha2Rvd248L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPEJhckNoYXJ0IGRhdGE9e2NoYXJ0RGF0YX0gbWFyZ2luPXt7IHRvcDogMTAsIHJpZ2h0OiAyMCwgbGVmdDogMTAsIGJvdHRvbTogNSB9fT5cbiAgICAgICAgICAgICAgICAgIDxDYXJ0ZXNpYW5HcmlkIHN0cm9rZURhc2hhcnJheT1cIjMgM1wiIC8+XG4gICAgICAgICAgICAgICAgICA8WEF4aXMgZGF0YUtleT1cIm5hbWVcIiB0aWNrPXt7IGZvbnRTaXplOiAxMCB9fSAvPlxuICAgICAgICAgICAgICAgICAgPFlBeGlzIGFsbG93RGVjaW1hbHM9e2ZhbHNlfSAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgICAgPEJhciBkYXRhS2V5PVwidmFsdWVcIiBmaWxsPVwiIzNiODJmNlwiIGJhclNpemU9ezMwfSAvPlxuICAgICAgICAgICAgICAgIDwvQmFyQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIHsvKiB2b2x1bnRlZXIgYnkgZ3JvdXAgKi99XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbCB4cz17MjR9IGxnPXsyNH0+XG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIG1iLTJcIj5Wb2x1bnRlZXIgVGVhbTwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8QmFyQ2hhcnQgZGF0YT17Y2hhdFZvbHVudGVlckludGVyZXN0ZWRUZWFtfSBtYXJnaW49e3sgdG9wOiAxMCwgcmlnaHQ6IDIwLCBsZWZ0OiAxMCwgYm90dG9tOiA1IH19PlxuICAgICAgICAgICAgICAgICAgPENhcnRlc2lhbkdyaWQgc3Ryb2tlRGFzaGFycmF5PVwiMyAzXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxYQXhpcyBkYXRhS2V5PVwibmFtZVwiIHRpY2s9e3sgZm9udFNpemU6IDEwIH19IC8+XG4gICAgICAgICAgICAgICAgICA8WUF4aXMgYWxsb3dEZWNpbWFscz17ZmFsc2V9IC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgICA8QmFyIGRhdGFLZXk9XCJ2YWx1ZVwiIGZpbGw9XCIjM2I4MmY2XCIgYmFyU2l6ZT17MzB9IC8+XG4gICAgICAgICAgICAgICAgPC9CYXJDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdz5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezEyfT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBTdGF0dXMgQnJlYWtkb3duPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxQaWVDaGFydD5cbiAgICAgICAgICAgICAgICAgIDxQaWUgZGF0YT17Y2hhcnREYXRhfSBkYXRhS2V5PVwidmFsdWVcIiBuYW1lS2V5PVwibmFtZVwiIGN4PVwiNTAlXCIgY3k9XCI1MCVcIiBvdXRlclJhZGl1cz17ODB9IGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7Y2hhcnREYXRhLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBrZXk9e2BjZWxsLSR7aW5kZXh9YH0gZmlsbD17Q09MT1JTW2luZGV4ICUgQ09MT1JTLmxlbmd0aF19IC8+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9QaWU+XG4gICAgICAgICAgICAgICAgICA8TGVnZW5kIC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgPC9QaWVDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgPFJvdz5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezI0fT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBieSBQcm92aW5jZTwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8QmFyQ2hhcnQgZGF0YT17Y2hhdFZvbHVudGVlclByb3ZpbmNlfSBtYXJnaW49e3sgdG9wOiAxMCwgcmlnaHQ6IDIwLCBsZWZ0OiAxMCwgYm90dG9tOiA1IH19PlxuICAgICAgICAgICAgICAgICAgPENhcnRlc2lhbkdyaWQgc3Ryb2tlRGFzaGFycmF5PVwiMyAzXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxYQXhpcyBkYXRhS2V5PVwibmFtZVwiIHRpY2s9e3sgZm9udFNpemU6IDEwIH19IC8+XG4gICAgICAgICAgICAgICAgICA8WUF4aXMgYWxsb3dEZWNpbWFscz17ZmFsc2V9IC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgICA8QmFyIGRhdGFLZXk9XCJ2YWx1ZVwiIGZpbGw9XCIjM2I4MmY2XCIgYmFyU2l6ZT17MzB9IC8+XG4gICAgICAgICAgICAgICAgPC9CYXJDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MTJ9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIEdlbmRlcjwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8UGllQ2hhcnQ+XG4gICAgICAgICAgICAgICAgICA8UGllIGRhdGE9e2NoYXRWb2x1bnRlZXJHZW5kZXJ9IGRhdGFLZXk9XCJ2YWx1ZVwiIG5hbWVLZXk9XCJuYW1lXCIgY3g9XCI1MCVcIiBjeT1cIjUwJVwiIG91dGVyUmFkaXVzPXs4MH0gbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtjaGF0Vm9sdW50ZWVyR2VuZGVyLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBrZXk9e2BjZWxsLSR7aW5kZXh9YH0gZmlsbD17Q09MT1JTW2luZGV4ICUgQ09MT1JTLmxlbmd0aF19IC8+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9QaWU+XG4gICAgICAgICAgICAgICAgICA8TGVnZW5kIC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgPC9QaWVDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuXG4gICAgICAgICAgey8qIC8vIHRfc2hpcnRfc2l6ZSAqL31cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezEyfT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBULVNoaXJ0IFNpemU8L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPFBpZUNoYXJ0PlxuICAgICAgICAgICAgICAgICAgPFBpZSBkYXRhPXtjaGF0Vm9sdW50ZWVyVHNoaXJ0fSBkYXRhS2V5PVwidmFsdWVcIiBuYW1lS2V5PVwibmFtZVwiIGN4PVwiNTAlXCIgY3k9XCI1MCVcIiBvdXRlclJhZGl1cz17ODB9IGxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7Y2hhdFZvbHVudGVlclRzaGlydC5tYXAoKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPENlbGwga2V5PXtgY2VsbC0ke2luZGV4fWB9IGZpbGw9e0NPTE9SU1tpbmRleCAlIENPTE9SUy5sZW5ndGhdfSAvPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgIDwvUGllPlxuICAgICAgICAgICAgICAgICAgPExlZ2VuZCAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgIDwvUGllQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cblxuICAgICAgICAgIHsvKiAvLyBvY2N1cGF0aW9uICovfVxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MTJ9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIE9jY3VwYXRpb248L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPFBpZUNoYXJ0PlxuICAgICAgICAgICAgICAgICAgPFBpZSBkYXRhPXtjaGF0Vm9sdW50ZWVyT2NjdXBhdGlvbnN9IGRhdGFLZXk9XCJ2YWx1ZVwiIG5hbWVLZXk9XCJuYW1lXCIgY3g9XCI1MCVcIiBjeT1cIjUwJVwiIG91dGVyUmFkaXVzPXs4MH0gbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtjaGF0Vm9sdW50ZWVyT2NjdXBhdGlvbnMubWFwKChfLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxDZWxsIGtleT17YGNlbGwtJHtpbmRleH1gfSBmaWxsPXtDT0xPUlNbaW5kZXggJSBDT0xPUlMubGVuZ3RoXX0gLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1BpZT5cbiAgICAgICAgICAgICAgICAgIDxMZWdlbmQgLz5cbiAgICAgICAgICAgICAgICAgIDxSZWNoYXJ0c1Rvb2x0aXAgLz5cbiAgICAgICAgICAgICAgICA8L1BpZUNoYXJ0PlxuICAgICAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9Db2w+XG5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezI0fT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBFZHVjYXRpb24gSW5zdGl0dWRlPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxCYXJDaGFydCBkYXRhPXtjaGF0Vm9sdW50ZWVyRWR1Y2F0aW9uSW5zdH0gbWFyZ2luPXt7IHRvcDogMTAsIHJpZ2h0OiAyMCwgbGVmdDogMTAsIGJvdHRvbTogNSB9fT5cbiAgICAgICAgICAgICAgICAgIDxDYXJ0ZXNpYW5HcmlkIHN0cm9rZURhc2hhcnJheT1cIjMgM1wiIC8+XG4gICAgICAgICAgICAgICAgICA8WEF4aXMgZGF0YUtleT1cIm5hbWVcIiB0aWNrPXt7IGZvbnRTaXplOiAxMCB9fSAvPlxuICAgICAgICAgICAgICAgICAgPFlBeGlzIGFsbG93RGVjaW1hbHM9e2ZhbHNlfSAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgICAgPEJhciBkYXRhS2V5PVwidmFsdWVcIiBmaWxsPVwiIzNiODJmNlwiIGJhclNpemU9ezMwfSAvPlxuICAgICAgICAgICAgICAgIDwvQmFyQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICA8L0NvbnRlbnQ+XG4gICAgPC9MYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEYXNoYm9hcmRIb21lO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIEFwcHN0b3JlT3V0bGluZWQsXG4gIERhc2hib2FyZE91dGxpbmVkLFxuICBMb2dvdXRPdXRsaW5lZCxcbiAgTWVudU91dGxpbmVkLFxuICBTZXR0aW5nT3V0bGluZWQsXG4gIEVudmlyb25tZW50T3V0bGluZWQsXG4gIFVzZXJPdXRsaW5lZCxcbiAgQm9va091dGxpbmVkLFxuICBTaG9wT3V0bGluZWQsXG4gIFRlYW1PdXRsaW5lZCxcbiAgR2xvYmFsT3V0bGluZWQsXG4gIEJ1aWxkT3V0bGluZWQsXG4gIFNrZXRjaE91dGxpbmVkLFxuICBCdWxiT3V0bGluZWQsXG4gIENhck91dGxpbmVkLFxuICBOb3RpZmljYXRpb25PdXRsaW5lZCxcbiAgRmlsZUFkZE91dGxpbmVkLFxufSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBMYXlvdXQsIE1lbnUsIEJ1dHRvbiwgRHJhd2VyLCBBdmF0YXIgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IExpbmssIFJvdXRlLCBSb3V0ZXMsIHVzZUxvY2F0aW9uLCB1c2VOYXZpZ2F0ZSwgTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IGxvZ291dCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgSG9tZVBhZ2UgZnJvbSAnLic7XG5pbXBvcnQgRm9vdGVyQ29tcG9uZW50IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1jb21wb25lbnQnO1xuaW1wb3J0IGxvZ28gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xvZ29zL2xvZ28ucG5nJztcbmltcG9ydCBWb2x1bnRlZXJMaXN0IGZyb20gJy4uL3ZvbHVudGVlcic7XG5pbXBvcnQgTmV3RWRpdFZvbHVudGVlclBhZ2UgZnJvbSAnLi4vdm9sdW50ZWVyL2Zvcm0nO1xuaW1wb3J0IERpc2FiaWxpdHlUeXBlTGlzdCBmcm9tICcuLi9kaXNhYmlsaXR5X3R5cGUnO1xuaW1wb3J0IE5ld0VkaXREaXNhYmlsaXR5VHlwZVBhZ2UgZnJvbSAnLi4vZGlzYWJpbGl0eV90eXBlL2Zvcm0nO1xuaW1wb3J0IE5ld0VkaXRFZHVjYXRpb25JbnN0aXR1dGlvblBhZ2UgZnJvbSAnLi4vZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2Zvcm0nO1xuaW1wb3J0IEVkdWNhdGlvbkluc3RpdHV0aW9uTGlzdCBmcm9tICcuLi9lZHVjYXRpb25faW5zdGl0dXRpb24nO1xuaW1wb3J0IEZvb2RMaXN0IGZyb20gJy4uL2Zvb2QnO1xuaW1wb3J0IE5ld0VkaXRGb29kUGFnZSBmcm9tICcuLi9mb29kL2Zvcm0nO1xuaW1wb3J0IEludGVyZXN0ZWRUZWFtTGlzdCBmcm9tICcuLi9pbnRlcmVzdGVkX3RlYW0nO1xuaW1wb3J0IE5ld0VkaXRJbnRlcmVzdGVkVGVhbVBhZ2UgZnJvbSAnLi4vaW50ZXJlc3RlZF90ZWFtL2Zvcm0nO1xuaW1wb3J0IExhbmd1YWdlTGlzdCBmcm9tICcuLi9sYW5ndWFnZSc7XG5pbXBvcnQgTmV3RWRpdExhbmd1YWdlUGFnZSBmcm9tICcuLi9sYW5ndWFnZS9mb3JtJztcbmltcG9ydCBPY2N1cGF0aW9uTGlzdCBmcm9tICcuLi9vY2N1cGF0aW9uJztcbmltcG9ydCBOZXdFZGl0T2NjdXBhdGlvblBhZ2UgZnJvbSAnLi4vb2NjdXBhdGlvbi9mb3JtJztcbmltcG9ydCBPcHBvcnR1bml0eVNvdXJjZUxpc3QgZnJvbSAnLi4vb3Bwb3J0dW5pdHlfc291cmNlJztcbmltcG9ydCBOZXdFZGl0T3Bwb3J0dW5pdHlTb3VyY2VQYWdlIGZyb20gJy4uL29wcG9ydHVuaXR5X3NvdXJjZS9mb3JtJztcbmltcG9ydCBQcm92aW5jZUxpc3QgZnJvbSAnLi4vcHJvdmluY2UnO1xuaW1wb3J0IE5ld0VkaXRQcm92aW5jZVBhZ2UgZnJvbSAnLi4vcHJvdmluY2UvZm9ybSc7XG5pbXBvcnQgU2tpbGxMaXN0IGZyb20gJy4uL3NraWxsJztcbmltcG9ydCBOZXdFZGl0U2tpbGxQYWdlIGZyb20gJy4uL3NraWxsL2Zvcm0nO1xuaW1wb3J0IFRlcm1zQ29uZGl0aW9uTGlzdCBmcm9tICcuLi90ZXJtc19jb25kaXRpb24nO1xuaW1wb3J0IE5ld0VkaXRUZXJtc0NvbmRpdGlvblBhZ2UgZnJvbSAnLi4vdGVybXNfY29uZGl0aW9uL2Zvcm0nO1xuaW1wb3J0IFRyYWluaW5nU2Vzc2lvbkxpc3QgZnJvbSAnLi4vdHJhaW5pbmdfc2Vzc2lvbic7XG5pbXBvcnQgTmV3RWRpdFRyYWluaW5nU2Vzc2lvblBhZ2UgZnJvbSAnLi4vdHJhaW5pbmdfc2Vzc2lvbi9mb3JtJztcbmltcG9ydCBWb2x1bnRlZXJFdmVudExpc3QgZnJvbSAnLi4vdm9sdW50ZWVyX2V2ZW50JztcbmltcG9ydCBOZXdFZGl0Vm9sdW50ZWVyRXZlbnRQYWdlIGZyb20gJy4uL3ZvbHVudGVlcl9ldmVudC9mb3JtJztcbmltcG9ydCBVc2VyTGlzdCBmcm9tIFwiLi4vdXNlclwiO1xuaW1wb3J0IE5ld0VkaXRVc2VyUGFnZSBmcm9tIFwiLi4vdXNlci9mb3JtXCI7XG5pbXBvcnQgTmV3RWRpdE9mZmVyUHJvZ3JhbVBhZ2UgZnJvbSBcIi4uL29mZmVyX3Byb2dyYW0vZm9ybVwiO1xuaW1wb3J0IE9mZmVyUHJvZ3JhbUxpc3QgZnJvbSBcIi4uL29mZmVyX3Byb2dyYW1cIjtcbmltcG9ydCBUcmF2ZWxEYXlMaXN0IGZyb20gXCIuLi90cmF2ZWxfZGF5XCI7XG5pbXBvcnQgTmV3RWRpdFRyYXZlbERheVBhZ2UgZnJvbSBcIi4uL3RyYXZlbF9kYXkvZm9ybVwiO1xuaW1wb3J0IE5vdGlmaWNhdGlvblBhZ2UgZnJvbSBcIi4uL25vdGlmaWNhdGlvbi9pbmRleFwiO1xuaW1wb3J0IFVwbG9hZENTVlBhZ2UgZnJvbSBcIi4uL3ZvbHVudGVlci91cGxvYWRfY3N2XCI7XG5pbXBvcnQgVXBkYXRlVGVhbUNzdlBhZ2UgZnJvbSBcIi4uL3ZvbHVudGVlci91cGRhdGVfdGVhbV9jc3ZcIjtcbmltcG9ydCBVcGRhdGVJZGVudGl0eUNzdlBhZ2UgZnJvbSBcIi4uL3ZvbHVudGVlci91cGRhdGVfaWRlbnRpdHlfY3N2XCI7XG5pbXBvcnQgVXNlckF0dGVuZGFuY2VMaXN0IGZyb20gXCIuLi91c2VyX2F0dGVuZGFuY2UvaW5kZXhcIjtcbmltcG9ydCBOZXdFZGl0VXNlckF0dGVuZGFuY2VQYWdlIGZyb20gXCIuLi91c2VyX2F0dGVuZGFuY2UvZm9ybVwiO1xuaW1wb3J0IEZhbWlseVN1cnZleUZvcm0gZnJvbSBcIi4uLy4uL2ZhbWlseV9zdXJ2ZXkvRmFtaWx5U3VydmV5Rm9ybVwiO1xuaW1wb3J0IEZhbWlseUFwcHJvdmVkTGlzdCBmcm9tIFwiLi4vLi4vZmFtaWx5X3N1cnZleS9pbmRleFwiO1xuXG5jb25zdCB7IEhlYWRlciwgQ29udGVudCwgU2lkZXIgfSA9IExheW91dDtcblxuLy8gTWVudSBDb25maWd1cmF0aW9uXG5pbnRlcmZhY2UgTWVudUl0ZW0ge1xuICBrZXk6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgaWNvbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdG8/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogTWVudUl0ZW1bXTtcbn1cblxuY29uc3QgbWVudXM6IE1lbnVJdGVtW10gPSBbXG4gIHsga2V5OiBcIi9cIiwgdGl0bGU6IFwiRGFzaGJvYXJkXCIsIGljb246IDxEYXNoYm9hcmRPdXRsaW5lZCAvPiwgdG86IFwiL1wiIH0sXG4gIHsga2V5OiBcIi92b2x1bnRlZXJzXCIsIHRpdGxlOiBcIuGeouGfkuGek+GegOGen+GfkuGemOGfkOGeguGfkuGemuGeheGet+Gej+GfkuGej1wiLCBpY29uOiA8QXBwc3RvcmVPdXRsaW5lZCAvPiwgdG86IFwiL3ZvbHVudGVlcnNcIiB9LFxuICB7IGtleTogXCIvdm9sdW50ZWVyL3VwbG9hZC1jc3ZcIiwgdGl0bGU6IFwiSW1wb3J0IFZvbHVudGVlcnNcIiwgaWNvbjogPEZpbGVBZGRPdXRsaW5lZCAvPiwgdG86IFwiL3ZvbHVudGVlci91cGxvYWQtY3N2XCIgfSxcbiAgeyBrZXk6IFwiL3ZvbHVudGVlci91cGRhdGUtdGVhbS1jc3ZcIiwgdGl0bGU6IFwiQXNzaWduIHRvIFRlYW1zXCIsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIHRvOiBcIi92b2x1bnRlZXIvdXBkYXRlLXRlYW0tY3N2XCIgfSxcbiAgeyBrZXk6IFwiL3ZvbHVudGVlci91cGRhdGUtaWRlbnRpdHktY3N2XCIsIHRpdGxlOiBcIlVwZGF0ZSBJZGVudGl0eVwiLCBpY29uOiA8VXNlck91dGxpbmVkIC8+LCB0bzogXCIvdm9sdW50ZWVyL3VwZGF0ZS1pZGVudGl0eS1jc3ZcIiB9LFxuICB7IGtleTogXCIvdXNlci1hdHRlbmRhbmNlc1wiLCB0aXRsZTogXCJVc2VyIEF0dGVuZGFuY2VzXCIsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIHRvOiBcIi91c2VyLWF0dGVuZGFuY2VzXCIgfSxcbiAgeyBrZXk6IFwiL2ZhbWlseS1zdXJ2ZXlcIiwgdGl0bGU6IFwiRmFtaWx5IFN1cnZleVwiLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+LCB0bzogXCIvZmFtaWx5LXN1cnZleVwiIH0sXG4gIHtcbiAgICBrZXk6IFwic2V0dGluZ3NcIixcbiAgICB0aXRsZTogXCLhnoDhnrbhnprhnoDhn4bhno7hno/hn4tcIixcbiAgICBpY29uOiA8U2V0dGluZ091dGxpbmVkIC8+LFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7IGtleTogJy91c2VycycsIHRpdGxlOiAn4Z6C4Z+S4Z6a4Z6U4Z+L4Z6C4Z+S4Z6a4Z6E4Z6i4Z+S4Z6T4Z6A4Z6U4Z+S4Z6a4Z6+4Z6U4Z+S4Z6a4Z624Z6f4Z+LJywgdG86ICcvdXNlcnMnLCBpY29uOiA8VXNlck91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9kaXNhYmlsaXR5LXR5cGVzJywgdGl0bGU6ICfhnpThn5Lhnprhnpfhn4HhnpHhnpbhnrfhnoDhnrbhnprhnpfhnrbhnpYnLCB0bzogJy9kaXNhYmlsaXR5LXR5cGVzJywgaWNvbjogPFVzZXJPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvZWR1Y2F0aW9uLWluc3RpdHV0aW9ucycsIHRpdGxlOiAn4Z6f4Z+S4Z6Q4Z624Z6U4Z+Q4Z6T4Z6i4Z6U4Z+L4Z6a4Z+GJywgdG86ICcvZWR1Y2F0aW9uLWluc3RpdHV0aW9ucycsIGljb246IDxCb29rT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL2Zvb2RzJywgdGl0bGU6ICfhnqLhnrbhnqDhnrbhnponLCB0bzogJy9mb29kcycsIGljb246IDxTaG9wT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL2ludGVyZXN0ZWQtdGVhbXMnLCB0aXRsZTogJ+GegOGfkuGemuGeu+GemCcsIHRvOiAnL2ludGVyZXN0ZWQtdGVhbXMnLCBpY29uOiA8VGVhbU91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9sYW5ndWFnZXMnLCB0aXRsZTogJ+Gel+GetuGen+GeticsIHRvOiAnL2xhbmd1YWdlcycsIGljb246IDxHbG9iYWxPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvb2NjdXBhdGlvbnMnLCB0aXRsZTogJ+GemOGeu+GegeGemuGelOGemicsIHRvOiAnL29jY3VwYXRpb25zJywgaWNvbjogPEJ1aWxkT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL29wcG9ydHVuaXR5LXNvdXJjZXMnLCB0aXRsZTogJ+GelOGfkuGemuGel+GeluGeseGegOGetuGenycsIHRvOiAnL29wcG9ydHVuaXR5LXNvdXJjZXMnLCBpY29uOiA8VXNlck91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9wcm92aW5jZXMnLCB0aXRsZTogJ+GegeGfgeGej+GfkuGejy/hnoDhn5LhnprhnrvhnoQnLCB0bzogJy9wcm92aW5jZXMnLCBpY29uOiA8RW52aXJvbm1lbnRPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvc2tpbGxzJywgdGl0bGU6ICfhnofhn4bhnpPhnrbhnoknLCB0bzogJy9za2lsbHMnLCBpY29uOiA8U2tldGNoT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL3Rlcm1zLWNvbmRpdGlvbnMnLCB0aXRsZTogJ+Gem+GegOGfkuGegeGegeGejuGfkuGejCcsIHRvOiAnL3Rlcm1zLWNvbmRpdGlvbnMnLCBpY29uOiA8U2V0dGluZ091dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy90cmFpbmluZy1zZXNzaW9ucycsIHRpdGxlOiAn4Z6c4Z6C4Z+S4Z6C4Z6U4Z6O4Z+S4Z6P4Z674Z+H4Z6U4Z6O4Z+S4Z6P4Z624Z6bJywgdG86ICcvdHJhaW5pbmctc2Vzc2lvbnMnLCBpY29uOiA8QnVsYk91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy92b2x1bnRlZXItZXZlbnRzJywgdGl0bGU6ICfhnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn43hnp/hn5Lhnpjhn5DhnoLhn5LhnprhnoXhnrfhno/hn5Lhno8nLCB0bzogJy92b2x1bnRlZXItZXZlbnRzJywgaWNvbjogPEFwcHN0b3JlT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL29mZmVyLXByb2dyYW1zJywgdGl0bGU6ICfhnoDhnpjhn5LhnpjhnpzhnrjhnpLhnrjhnpXhn5Lhnorhnpvhn4vhnofhnrzhnpMnLCB0bzogJy9vZmZlci1wcm9ncmFtcycsIGljb246IDxBcHBzdG9yZU91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy90cmF2ZWwtZGF5cycsIHRpdGxlOiAn4Z6Q4Z+S4Z6E4Z+D4Z6S4Z+S4Z6c4Z6+4Z6K4Z+G4Z6O4Z6+4Z6aJywgdG86ICcvdHJhdmVsLWRheXMnLCBpY29uOiA8Q2FyT3V0bGluZWQgLz4gfSxcbiAgICBdXG4gIH0sXG4gIHtcbiAgICBrZXk6IFwibm90aWZpY2F0aW9uXCIsXG4gICAgdGl0bGU6IFwi4Z6f4Z624Z6a4Z6H4Z684Z6T4Z6K4Z+G4Z6O4Z654Z6EXCIsXG4gICAgaWNvbjogPE5vdGlmaWNhdGlvbk91dGxpbmVkIC8+LFxuICAgIHRvOiBcIi9ub3RpZmljYXRpb25cIlxuICB9XG5dO1xuXG4vLyBGaXJzdCwgbGV0J3MgZGVmaW5lIHVzZXIgcm9sZSB0eXBlcyBhbmQgcGVybWlzc2lvbnNcbmNvbnN0IFVTRVJfUk9MRVMgPSB7XG4gIFNVUEVSX0FETUlOOiBcInN1cGVyX2FkbWluXCIsXG4gIEFETUlOOiBcImFkbWluXCIsXG4gIFJFUE9SVEVSOiBcInJlcG9ydGVyXCIsXG4gIFVTRVI6IFwidXNlclwiXG59IGFzIGNvbnN0O1xuXG4vLyBNb2RpZnkgbWVudSB2aXNpYmlsaXR5IGJhc2VkIG9uIHJvbGVcbmNvbnN0IGdldEF1dGhvcml6ZWRNZW51cyA9IChyb2xlPzogc3RyaW5nKSA9PiB7XG4gIC8vIEhhbmRsZSB1bmRlZmluZWQgcm9sZSBjYXNlXG4gIGlmICghcm9sZSkgcmV0dXJuIFtdO1xuICBcbiAgc3dpdGNoIChyb2xlKSB7XG4gICAgY2FzZSBVU0VSX1JPTEVTLlNVUEVSX0FETUlOOlxuICAgICAgcmV0dXJuIG1lbnVzO1xuICAgIGNhc2UgVVNFUl9ST0xFUy5SRVBPUlRFUjpcbiAgICAgIHJldHVybiBtZW51cy5maWx0ZXIobWVudSA9PlxuICAgICAgICBtZW51LmtleSA9PT0gXCIvZmFtaWx5LXN1cnZleVwiXG4gICAgICApO1xuICAgIGNhc2UgVVNFUl9ST0xFUy5BRE1JTjpcbiAgICAgIHJldHVybiBtZW51cy5maWx0ZXIobWVudSA9PlxuICAgICAgICBtZW51LmtleSA9PT0gXCIvdm9sdW50ZWVyc1wiIHx8XG4gICAgICAgIG1lbnUua2V5ID09PSBcIi91c2VyLWF0dGVuZGFuY2VzXCJcbiAgICAgICk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBtZW51cy5maWx0ZXIobWVudSA9PiBtZW51LmtleSA9PT0gXCIvdm9sdW50ZWVyc1wiKTtcbiAgfVxufTtcblxuY29uc3QgTWFpbjogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gIGNvbnN0IHsgYXV0aCB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBjdXJyZW50VXNlciB9ID0gYXV0aDtcbiAgY29uc3QgdXNlclJvbGUgPSBjdXJyZW50VXNlcj8ucm9sZTtcblxuICBjb25zdCBbYWN0aXZlTWVudUtleSwgc2V0QWN0aXZlTWVudUtleV0gPSB1c2VTdGF0ZShsb2NhdGlvbi5wYXRobmFtZSk7XG4gIGNvbnN0IFtjb2xsYXBzZWQsIHNldENvbGxhcHNlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtkcmF3ZXJWaXNpYmxlLCBzZXREcmF3ZXJWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2ZpbHRlcmVkTWVudXMsIHNldEZpbHRlcmVkTWVudXNdID0gdXNlU3RhdGU8dHlwZW9mIG1lbnVzPihbXSk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEFjdGl2ZU1lbnVLZXkobG9jYXRpb24ucGF0aG5hbWUpO1xuICB9LCBbbG9jYXRpb25dKTtcblxuICAvLyBVcGRhdGUgdXNlRWZmZWN0IHRvIGhhbmRsZSBtZW51IHVwZGF0ZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodXNlclJvbGUpIHtcbiAgICAgIGNvbnN0IGF1dGhvcml6ZWRNZW51cyA9IGdldEF1dGhvcml6ZWRNZW51cyh1c2VyUm9sZSk7XG4gICAgICBzZXRGaWx0ZXJlZE1lbnVzKGF1dGhvcml6ZWRNZW51cyk7XG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW3VzZXJSb2xlXSk7IC8vIERlcGVuZCBvbiB1c2VyUm9sZSBjaGFuZ2VzXG5cbiAgY29uc3QgaGFuZGxlTG9nb3V0ID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoKGxvZ291dCgpKTtcbiAgICBuYXZpZ2F0ZShcIi9sb2dpblwiKTtcbiAgfTtcbiAgY29uc29sZS5sb2coXCJDdXJyZW50IFVzZXI6XCIsIGN1cnJlbnRVc2VyPy5yb2xlKTtcbiAgLy8gQ2hlY2sgaWYgdXNlciBoYXMgYWRtaW4gYWNjZXNzXG4gIGNvbnN0IGNhbkFjY2Vzc0FkbWluUm91dGVzID0gdXNlclJvbGUgPT09IFVTRVJfUk9MRVMuU1VQRVJfQURNSU47XG4gIGNvbnN0IGNhbkFjY2Vzc1JlcG9ydGVyUm91dGVzID0gdXNlclJvbGUgPT09IFVTRVJfUk9MRVMuUkVQT1JURVI7XG4gIGNvbnN0IGNhbkFjY2Vzc0Jhc2ljUm91dGVzID0gdXNlclJvbGUgPT09IFVTRVJfUk9MRVMuVVNFUiB8fCB1c2VyUm9sZSA9PT0gVVNFUl9ST0xFUy5BRE1JTjtcblxuICBpZiAoaXNMb2FkaW5nKSB7XG4gICAgcmV0dXJuIDxMYXlvdXQgc3R5bGU9e3sgbWluSGVpZ2h0OiBcIjEwMHZoXCIgfX0+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgaGVpZ2h0OiAnMTAwdmgnIH19PlxuICAgICAgICBMb2FkaW5nLi4uXG4gICAgICA8L2Rpdj5cbiAgICA8L0xheW91dD47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxMYXlvdXQgc3R5bGU9e3sgbWluSGVpZ2h0OiBcIjEwMHZoXCIgfX0+XG4gICAgICB7LyogRml4ZWQgSGVhZGVyICovfVxuICAgICAgPEhlYWRlclxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHBvc2l0aW9uOiBcImZpeGVkXCIsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICBoZWlnaHQ6IDY1LFxuICAgICAgICAgIGJhY2tncm91bmQ6IFwiIzMxOEFERUZGXCIsXG4gICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICBwYWRkaW5nOiBcIjAgMjBweFwiLFxuICAgICAgICAgIGJveFNoYWRvdzogXCIwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KVwiLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgIGljb249ezxNZW51T3V0bGluZWQgLz59XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0RHJhd2VyVmlzaWJsZSh0cnVlKX1cbiAgICAgICAgICBzdHlsZT17eyBtYXJnaW5SaWdodDogMTAsIGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgICAgIGNsYXNzTmFtZT1cIm1vYmlsZS1tZW51LWJ1dHRvblwiXG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZmxleDogMSwgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgICAgICA8aW1nIHNyYz17bG9nb30gc3R5bGU9e3sgd2lkdGg6IDQ1LCBtYXJnaW5SaWdodDogMTYgfX0gYWx0PVwiTG9nb1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG4gICAgICAgICAgPEF2YXRhclxuICAgICAgICAgICAgc3JjPXtjdXJyZW50VXNlci5waG90b191cmx9XG4gICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgIC8+XG5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRXZWlnaHQ6ICdib2xkJywgY29sb3I6ICcjZmZmJywgbWFyZ2luUmlnaHQ6ICcxNnB4JywgbWFyZ2luTGVmdDogMTYgfX0+XG4gICAgICAgICAgICB7Y3VycmVudFVzZXI/LnVzZXJuYW1lID8gY3VycmVudFVzZXIudXNlcm5hbWUuc3BsaXQoJy0nKS5wb3AoKSA6ICdHdWVzdCd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogMTIsIGNvbG9yOiAnI2ZmZicsIG1hcmdpblJpZ2h0OiAnMTZweCcgfX0+XG4gICAgICAgICAgICB7Y3VycmVudFVzZXI/LnJvbGUgfHwgJ0FkZG1pbmlzdHJhdG9yJ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxNZW51IHRoZW1lPVwiZGFya1wiIG1vZGU9XCJob3Jpem9udGFsXCIgc3R5bGU9e3sgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JywgYm9yZGVyQm90dG9tOiAnbm9uZScgfX0+XG4gICAgICAgICAgPE1lbnUuSXRlbSBrZXk9XCJsb2dvdXRcIiBpY29uPXs8TG9nb3V0T3V0bGluZWQgLz59IG9uQ2xpY2s9e2hhbmRsZUxvZ291dH0+XG4gICAgICAgICAgICBMb2dvdXRcbiAgICAgICAgICA8L01lbnUuSXRlbT5cbiAgICAgICAgPC9NZW51PlxuICAgICAgPC9IZWFkZXI+XG5cbiAgICAgIDxMYXlvdXQgc3R5bGU9e3sgbWFyZ2luVG9wOiA2NSB9fT5cblxuICAgICAgICB7LyogU2lkZWJhciAqL31cbiAgICAgICAgPFNpZGVyIGNvbGxhcHNpYmxlIGNvbGxhcHNlZD17Y29sbGFwc2VkfSBvbkNvbGxhcHNlPXtzZXRDb2xsYXBzZWR9IHdpZHRoPXsyMDB9IHN0eWxlPXt7IGJhY2tncm91bmQ6IFwiI2ZmZlwiLCBvdmVyZmxvdzogXCJhdXRvXCIsIGhlaWdodDogXCIxMDB2aFwiLCBwb3NpdGlvbjogXCJmaXhlZFwiLCBsZWZ0OiAwLCB0b3A6IDY1IH19PlxuICAgICAgICAgIDxNZW51IG1vZGU9XCJpbmxpbmVcIiBzZWxlY3RlZEtleXM9e1thY3RpdmVNZW51S2V5XX0gc3R5bGU9e3sgaGVpZ2h0OiBcIjEwMCVcIiwgb3ZlcmZsb3dZOiAnYXV0bycgfX0+XG4gICAgICAgICAgICB7ZmlsdGVyZWRNZW51cy5tYXAobWVudSA9PlxuICAgICAgICAgICAgICBtZW51LmNoaWxkcmVuID8gKFxuICAgICAgICAgICAgICAgIDxNZW51LlN1Yk1lbnUga2V5PXttZW51LmtleX0gaWNvbj17bWVudS5pY29ufSB0aXRsZT17bWVudS50aXRsZX0+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1heEhlaWdodDogJzYwdmgnLCBvdmVyZmxvd1k6ICdhdXRvJywgbWFyZ2luQm90dG9tOiAnNTBweCcgfX0+XG4gICAgICAgICAgICAgICAgICAgIHttZW51LmNoaWxkcmVuLm1hcChzdWJtZW51ID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8TWVudS5JdGVtIGtleT17c3VibWVudS5rZXl9IGljb249e3N1Ym1lbnUuaWNvbn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TGluayB0bz17c3VibWVudS50b30+e3N1Ym1lbnUudGl0bGV9PC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgIDwvTWVudS5JdGVtPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvTWVudS5TdWJNZW51PlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxNZW51Lkl0ZW0ga2V5PXttZW51LmtleX0gaWNvbj17bWVudS5pY29ufT5cbiAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPXttZW51LnRvfT57bWVudS50aXRsZX08L0xpbms+XG4gICAgICAgICAgICAgICAgPC9NZW51Lkl0ZW0+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9NZW51PlxuICAgICAgICA8L1NpZGVyPlxuXG4gICAgICAgIHsvKiBEcmF3ZXIgZm9yIE1vYmlsZSBNZW51ICovfVxuICAgICAgICB7LyogRHJhd2VyIGZvciBNb2JpbGUgTWVudSAqL31cbiAgICAgICAgPERyYXdlciB0aXRsZT1cIk1lbnVcIiBwbGFjZW1lbnQ9XCJsZWZ0XCIgY2xvc2FibGUgb25DbG9zZT17KCkgPT4gc2V0RHJhd2VyVmlzaWJsZShmYWxzZSl9IG9wZW49e2RyYXdlclZpc2libGV9IGJvZHlTdHlsZT17eyBwYWRkaW5nOiAwIH19PlxuICAgICAgICAgIDxNZW51IG1vZGU9XCJpbmxpbmVcIiBzZWxlY3RlZEtleXM9e1thY3RpdmVNZW51S2V5XX0gc3R5bGU9e3sgaGVpZ2h0OiBcIjEwMCVcIiB9fT5cbiAgICAgICAgICAgIHtmaWx0ZXJlZE1lbnVzLm1hcChtZW51ID0+XG4gICAgICAgICAgICAgIG1lbnUuY2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgICAgPE1lbnUuU3ViTWVudSBrZXk9e21lbnUua2V5fSBpY29uPXttZW51Lmljb259IHRpdGxlPXttZW51LnRpdGxlfT5cbiAgICAgICAgICAgICAgICAgIHttZW51LmNoaWxkcmVuLm1hcChzdWJtZW51ID0+IChcbiAgICAgICAgICAgICAgICAgICAgPE1lbnUuSXRlbSBrZXk9e3N1Ym1lbnUua2V5fT5cbiAgICAgICAgICAgICAgICAgICAgICA8TGluayB0bz17c3VibWVudS50b30+e3N1Ym1lbnUudGl0bGV9PC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICA8L01lbnUuSXRlbT5cbiAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgIDwvTWVudS5TdWJNZW51PlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxNZW51Lkl0ZW0ga2V5PXttZW51LmtleX0gaWNvbj17bWVudS5pY29ufT5cbiAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPXttZW51LnRvfT57bWVudS50aXRsZX08L0xpbms+XG4gICAgICAgICAgICAgICAgPC9NZW51Lkl0ZW0+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9NZW51PlxuICAgICAgICA8L0RyYXdlcj5cblxuXG4gICAgICAgIHsvKiBNYWluIENvbnRlbnQgKi99XG4gICAgICAgIDxMYXlvdXQgc3R5bGU9e3sgbWFyZ2luTGVmdDogY29sbGFwc2VkID8gODAgOiAyMDAsIHBhZGRpbmc6IFwiMjRweFwiIH19PlxuICAgICAgICAgIDxDb250ZW50IHN0eWxlPXt7IGJhY2tncm91bmQ6IFwiI2ZmZlwiLCBwYWRkaW5nOiBcIjI0cHhcIiwgbWluSGVpZ2h0OiBcImNhbGMoMTAwdmggLSA2NXB4KVwiIH19PlxuICAgICAgICAgICAgPFJvdXRlcz5cbiAgICAgICAgICAgICAgey8qIFJlcG9ydGVyIHNwZWNpZmljIHJvdXRlcyAtIHNob3VsZCBiZSBjaGVja2VkIGZpcnN0ICovfVxuICAgICAgICAgICAgICB7Y2FuQWNjZXNzUmVwb3J0ZXJSb3V0ZXMgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9mYW1pbHktc3VydmV5XCIgZWxlbWVudD17PEZhbWlseUFwcHJvdmVkTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2ZhbWlseS1zdXJ2ZXkvZm9ybVwiIGVsZW1lbnQ9ezxGYW1pbHlTdXJ2ZXlGb3JtIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgey8qIFJlZGlyZWN0IHJlcG9ydGVyIHRvIGZhbWlseS1zdXJ2ZXkgaWYgdGhleSB0cnkgdG8gYWNjZXNzIHJvb3QgKi99XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9cIiBlbGVtZW50PXs8TmF2aWdhdGUgdG89XCIvZmFtaWx5LXN1cnZleVwiIHJlcGxhY2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICB7LyogQ2F0Y2ggYWxsIG90aGVyIHJvdXRlcyBhbmQgcmVkaXJlY3QgdG8gZmFtaWx5LXN1cnZleSAqL31cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiKlwiIGVsZW1lbnQ9ezxOYXZpZ2F0ZSB0bz1cIi9mYW1pbHktc3VydmV5XCIgcmVwbGFjZSAvPn0gLz5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7LyogQWRtaW4gYW5kIGJhc2ljIHVzZXIgcm91dGVzICovfVxuICAgICAgICAgICAgICB7KGNhbkFjY2Vzc0FkbWluUm91dGVzIHx8IGNhbkFjY2Vzc0Jhc2ljUm91dGVzKSAmJiAhY2FuQWNjZXNzUmVwb3J0ZXJSb3V0ZXMgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi92b2x1bnRlZXJzXCIgZWxlbWVudD17PFZvbHVudGVlckxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi92b2x1bnRlZXIvZm9ybVwiIGVsZW1lbnQ9ezxOZXdFZGl0Vm9sdW50ZWVyUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3VzZXItYXR0ZW5kYW5jZXNcIiBlbGVtZW50PXs8VXNlckF0dGVuZGFuY2VMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdXNlci1hdHRlbmRhbmNlcy9mb3JtXCIgZWxlbWVudD17PE5ld0VkaXRVc2VyQXR0ZW5kYW5jZVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgey8qIFN1cGVyIGFkbWluIG9ubHkgcm91dGVzICovfVxuICAgICAgICAgICAgICB7Y2FuQWNjZXNzQWRtaW5Sb3V0ZXMgJiYgIWNhbkFjY2Vzc1JlcG9ydGVyUm91dGVzICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvXCIgZWxlbWVudD17PEhvbWVQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvbm90aWZpY2F0aW9uXCIgZWxlbWVudD17PE5vdGlmaWNhdGlvblBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi91c2Vyc1wiIGVsZW1lbnQ9ezxVc2VyTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3VzZXJzL2Zvcm1cIiBlbGVtZW50PXs8TmV3RWRpdFVzZXJQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvZGlzYWJpbGl0eS10eXBlc1wiIGVsZW1lbnQ9ezxEaXNhYmlsaXR5VHlwZUxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9kaXNhYmlsaXR5LXR5cGVzL2Zvcm1cIiBlbGVtZW50PXs8TmV3RWRpdERpc2FiaWxpdHlUeXBlUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvZWR1Y2F0aW9uLWluc3RpdHV0aW9ucycgZWxlbWVudD17PEVkdWNhdGlvbkluc3RpdHV0aW9uTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvZWR1Y2F0aW9uLWluc3RpdHV0aW9ucy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdEVkdWNhdGlvbkluc3RpdHV0aW9uUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvZm9vZHMnIGVsZW1lbnQ9ezxGb29kTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvZm9vZHMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRGb29kUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvaW50ZXJlc3RlZC10ZWFtcycgZWxlbWVudD17PEludGVyZXN0ZWRUZWFtTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvaW50ZXJlc3RlZC10ZWFtcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdEludGVyZXN0ZWRUZWFtUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvbGFuZ3VhZ2VzJyBlbGVtZW50PXs8TGFuZ3VhZ2VMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9sYW5ndWFnZXMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRMYW5ndWFnZVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL29jY3VwYXRpb25zJyBlbGVtZW50PXs8T2NjdXBhdGlvbkxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL29jY3VwYXRpb25zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0T2NjdXBhdGlvblBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL29wcG9ydHVuaXR5LXNvdXJjZXMnIGVsZW1lbnQ9ezxPcHBvcnR1bml0eVNvdXJjZUxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL29wcG9ydHVuaXR5LXNvdXJjZXMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRPcHBvcnR1bml0eVNvdXJjZVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3Byb3ZpbmNlcycgZWxlbWVudD17PFByb3ZpbmNlTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvcHJvdmluY2VzL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0UHJvdmluY2VQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9za2lsbHMnIGVsZW1lbnQ9ezxTa2lsbExpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3NraWxscy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdFNraWxsUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdGVybXMtY29uZGl0aW9ucycgZWxlbWVudD17PFRlcm1zQ29uZGl0aW9uTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdGVybXMtY29uZGl0aW9ucy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdFRlcm1zQ29uZGl0aW9uUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdHJhaW5pbmctc2Vzc2lvbnMnIGVsZW1lbnQ9ezxUcmFpbmluZ1Nlc3Npb25MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy90cmFpbmluZy1zZXNzaW9ucy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdFRyYWluaW5nU2Vzc2lvblBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3ZvbHVudGVlci1ldmVudHMnIGVsZW1lbnQ9ezxWb2x1bnRlZXJFdmVudExpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3ZvbHVudGVlci1ldmVudHMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRWb2x1bnRlZXJFdmVudFBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL29mZmVyLXByb2dyYW1zJyBlbGVtZW50PXs8T2ZmZXJQcm9ncmFtTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb2ZmZXItcHJvZ3JhbXMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRPZmZlclByb2dyYW1QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy90cmF2ZWwtZGF5cycgZWxlbWVudD17PFRyYXZlbERheUxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3RyYXZlbC1kYXlzL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0VHJhdmVsRGF5UGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIHsvKiA8Um91dGUgcGF0aD0nL2ZhbWlseS1zdXJ2ZXknIGVsZW1lbnQ9ezxGYW1pbHlBcHByb3ZlZExpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2ZhbWlseS1zdXJ2ZXkvZm9ybScgZWxlbWVudD17PEZhbWlseVN1cnZleUZvcm0gLz59IC8+ICovfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Sb3V0ZXM+XG4gICAgICAgICAgPC9Db250ZW50PlxuICAgICAgICAgIDxGb290ZXJDb21wb25lbnQgLz5cbiAgICAgICAgPC9MYXlvdXQ+XG4gICAgICA8L0xheW91dD5cbiAgICA8L0xheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1haW47XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZURpc3BhdGNoIiwidXNlU2VsZWN0b3IiLCJjcmVhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiIsImRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uIiwidXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24iLCJ1c2VOYXZpZ2F0ZSIsIlRleHRBcmVhIiwiTmV3RWRpdERpc2FiaWxpdHlUeXBlUGFnZSIsImRpc3BhdGNoIiwibmF2aWdhdGUiLCJfdXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc2FiaWxpdHlUeXBlIiwicmVnaXN0ZXJFcnJvck1lc3NhZ2UiLCJkaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmciLCJfRm9ybSR1c2VGb3JtIiwiX0Zvcm0iLCJ1c2VGb3JtIiwiX0Zvcm0kdXNlRm9ybTIiLCJfc2xpY2VkVG9BcnJheSIsImZvcm0iLCJzZWFyY2hQYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJsb2NhdGlvbiIsInNlYXJjaCIsImlkIiwiZ2V0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImlzQ2xpY2siLCJzZXRJc0NsaWNrIiwiTnVtYmVyIiwicmVzZXRGaWVsZHMiLCJzZXRGaWVsZHNWYWx1ZSIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsIl9tZXNzYWdlIiwiZXJyb3IiLCJzdWNjZXNzIiwib25GaW5pc2giLCJ2YWx1ZXMiLCJkYXRhIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwibGF5b3V0Iiwic3R5bGUiLCJtYXhXaWR0aCIsIm1hcmdpbiIsIl9Sb3ciLCJndXR0ZXIiLCJfQ29sIiwic3BhbiIsIkl0ZW0iLCJsYWJlbCIsInJ1bGVzIiwicmVxdWlyZWQiLCJtZXNzYWdlIiwiX0lucHV0Iiwicm93cyIsIl9CdXR0b24iLCJ0eXBlIiwiYmxvY2siLCJodG1sVHlwZSIsImxvYWRpbmciLCJvbkNsaWNrIiwiTG9hZGluZ0RpYWxvZyIsIkRlbGV0ZU91dGxpbmVkIiwiRWRpdE91dGxpbmVkIiwiUGx1c091dGxpbmVkIiwiZGVsZXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24iLCJmZXRjaERpc2FiaWxpdHlUeXBlcyIsIlN3YWwiLCJEaXNhYmlsaXR5VHlwZUxpc3QiLCJfZGlzYWJpbGl0eVR5cGVzJG1ldGEiLCJfZGlzYWJpbGl0eVR5cGVzJG1ldGEyIiwiY3VycmVudFBhZ2UiLCJzZXRDdXJyZW50UGFnZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwicGFnZVNpemUiLCJzZXRQYWdlU2l6ZSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2VsZWN0ZWRSb3dzIiwic2V0U2VsZWN0ZWRSb3dzIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWFyY2hUZXh0Iiwic2V0U2VhcmNoVGV4dCIsImRpc2FiaWxpdHlUeXBlcyIsImRpc2FiaWxpdHlUeXBlc1BlbmRpbmciLCJwYWdlIiwiaGFuZGxlRWRpdCIsImNvbmNhdCIsImhhbmRsZURlbGV0ZSIsImZpcmUiLCJ0aXRsZSIsInRleHQiLCJpY29uIiwic2hvd0NvbmZpcm1CdXR0b24iLCJzaG93Q2FuY2VsQnV0dG9uIiwiaHRtbCIsImRpZE9wZW4iLCJfU3dhbCRnZXRQb3B1cCIsIl9Td2FsJGdldFBvcHVwMiIsImNvbmZpcm1CdXR0b24iLCJnZXRQb3B1cCIsInF1ZXJ5U2VsZWN0b3IiLCJjYW5jZWxCdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwidGhlbiIsImNsb3NlIiwiaGFuZGxlU2VhcmNoIiwidHJpbSIsImhhbmRsZVJlc2V0IiwiaGFuZGxlVGFibGVDaGFuZ2UiLCJwYWdpbmF0aW9uIiwiY3VycmVudCIsImNvbHVtbnMiLCJkYXRhSW5kZXgiLCJrZXkiLCJyZXNwb25zaXZlIiwicmVuZGVyIiwiXyIsInJlY29yZCIsIl9TcGFjZSIsInNpemUiLCJkYW5nZXIiLCJmaWx0ZXJlZERhdGEiLCJmaWx0ZXIiLCJpdCIsIl9pdCRuYW1lIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsIm92ZXJmbG93WCIsImRpc3BsYXkiLCJqdXN0aWZ5Q29udGVudCIsInBhZGRpbmciLCJiYWNrZ3JvdW5kIiwibWFyZ2luQm90dG9tIiwiZmxleFdyYXAiLCJ3cmFwIiwibWV0YSIsInRvdGFsIiwicGxhY2Vob2xkZXIiLCJ3aWR0aCIsInZhbHVlIiwib25DaGFuZ2UiLCJlIiwidGFyZ2V0IiwiX1RhYmxlIiwicm93U2VsZWN0aW9uIiwiZGF0YVNvdXJjZSIsIm1hcCIsImluZGV4IiwiX29iamVjdFNwcmVhZCIsInNob3dTaXplQ2hhbmdlciIsInJvd0tleSIsInNjcm9sbCIsIngiLCJ2aXNpYmxlIiwiY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24iLCJlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbiIsInVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIiwiTmV3RWRpdEVkdWNhdGlvbkluc3RpdHV0aW9uUGFnZSIsImVkdWNhdGlvbkluc3RpdHV0aW9uIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nIiwiZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24iLCJmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucyIsIkVkdWNhdGlvbkluc3RpdHV0aW9uTGlzdCIsIl9lZHVjYXRpb25JbnN0aXR1dGlvbiIsIl9lZHVjYXRpb25JbnN0aXR1dGlvbjIiLCJlZHVjYXRpb25JbnN0aXR1dGlvbnMiLCJlZHVjYXRpb25JbnN0aXR1dGlvbnNQZW5kaW5nIiwiY3JlYXRlRm9vZEFjdGlvbiIsImZvb2REZXRhaWxBY3Rpb24iLCJ1cGRhdGVGb29kQWN0aW9uIiwiTmV3RWRpdEZvb2RQYWdlIiwiZm9vZCIsImZvb2RVcGRhdGVQZW5kaW5nIiwiZGVsZXRlRm9vZEFjdGlvbiIsImZldGNoRm9vZHMiLCJGb29kTGlzdCIsIl9mb29kcyRtZXRhIiwiX2Zvb2RzJG1ldGEyIiwiZm9vZHMiLCJmb29kc1BlbmRpbmciLCJmZXRjaERhc2hib2FyZEFjdGlvbiIsIlVzZXJPdXRsaW5lZCIsIkNhbGVuZGFyT3V0bGluZWQiLCJUZWFtT3V0bGluZWQiLCJGaWxlRXhjZWxPdXRsaW5lZCIsIkJhckNoYXJ0IiwiWEF4aXMiLCJZQXhpcyIsIlRvb2x0aXAiLCJSZWNoYXJ0c1Rvb2x0aXAiLCJCYXIiLCJSZXNwb25zaXZlQ29udGFpbmVyIiwiQ2FydGVzaWFuR3JpZCIsIlBpZUNoYXJ0IiwiUGllIiwiQ2VsbCIsIkxlZ2VuZCIsIlhMU1giLCJUaXRsZSIsIl9UeXBvZ3JhcGh5IiwiQ29udGVudCIsIl9MYXlvdXQiLCJDT0xPUlMiLCJTVEFUX0NPTE9SUyIsIkRhc2hib2FyZEhvbWUiLCJfZGFzaGJvYXJkJGNvdW50X3VzZXIiLCJfZGFzaGJvYXJkJGNvdW50X3ZvbHUiLCJfZGFzaGJvYXJkJGNvdW50X3ZvbHUyIiwidm9sdW50ZWVyIiwiZGFzaGJvYXJkIiwiY2hhcnREYXRhIiwiT2JqZWN0IiwiZW50cmllcyIsImNvdW50X3ZvbHVudGVlcl9zdGF0dXMiLCJfcmVmIiwiX3JlZjIiLCJyZXBsYWNlIiwiY2hhdFZvbHVudGVlclByb3ZpbmNlIiwiY291bnRfdm9sdW50ZWVyX3Byb3ZpbmNlcyIsIl9yZWYzIiwiX3JlZjQiLCJzcGxpdCIsInBvcCIsImNoYXRWb2x1bnRlZXJHZW5kZXIiLCJjb3VudF92b2x1bnRlZXJfZ2VuZGVycyIsIl9yZWY1IiwiX3JlZjYiLCJjaGF0Vm9sdW50ZWVyVHNoaXJ0IiwiY291bnRfdm9sdW50ZWVyX3NoaXJ0X3NpemVzIiwiX3JlZjciLCJfcmVmOCIsImNoYXRWb2x1bnRlZXJPY2N1cGF0aW9ucyIsImNvdW50X3ZvbHVudGVlcl9vY2N1cGF0aW9ucyIsIl9yZWY5IiwiX3JlZjAiLCJjaGF0Vm9sdW50ZWVyRWR1Y2F0aW9uSW5zdCIsImNvdW50X3ZvbHVudGVlcl9lZHVjYXRpb25faW5zdGl0dXRpb25zIiwiX3JlZjEiLCJfcmVmMTAiLCJjaGF0Vm9sdW50ZWVySW50ZXJlc3RlZFRlYW0iLCJjb3VudF9pbnRlcmVzdGVkX3RlYW0iLCJfcmVmMTEiLCJfcmVmMTIiLCJleHBvcnRUb0V4Y2VsIiwid2IiLCJ1dGlscyIsImJvb2tfbmV3Iiwic2hlZXRzIiwiZm9yRWFjaCIsIl9yZWYxMyIsIl9yZWYxNCIsInNoZWV0TmFtZSIsIndzIiwianNvbl90b19zaGVldCIsImJvb2tfYXBwZW5kX3NoZWV0Iiwid3JpdGVGaWxlIiwiX0JyZWFkY3J1bWIiLCJhbGlnbkl0ZW1zIiwiYm9yZGVyUmFkaXVzIiwianVzdGlmeSIsImFsaWduIiwibGV2ZWwiLCJnYXAiLCJjb3VudF92b2x1bnRlZXJzIiwiY29sb3IiLCJjb3VudF91c2VyX3JvbGVzIiwiY291bnRfc3VwZXJfYWRtaW4iLCJjb3VudF9tYWxlIiwiY291bnRfZmVtYWxlIiwic3RhdCIsInhzIiwic20iLCJtZCIsIl9DYXJkIiwiYmFja2dyb3VuZENvbG9yIiwibWluSGVpZ2h0IiwiX1N0YXRpc3RpYyIsInByZWZpeCIsInZhbHVlU3R5bGUiLCJsZyIsImNsYXNzTmFtZSIsImhlaWdodCIsInRvcCIsInJpZ2h0IiwibGVmdCIsImJvdHRvbSIsInN0cm9rZURhc2hhcnJheSIsImRhdGFLZXkiLCJ0aWNrIiwiZm9udFNpemUiLCJhbGxvd0RlY2ltYWxzIiwiZmlsbCIsImJhclNpemUiLCJuYW1lS2V5IiwiY3giLCJjeSIsIm91dGVyUmFkaXVzIiwibGVuZ3RoIiwiQXBwc3RvcmVPdXRsaW5lZCIsIkRhc2hib2FyZE91dGxpbmVkIiwiTG9nb3V0T3V0bGluZWQiLCJNZW51T3V0bGluZWQiLCJTZXR0aW5nT3V0bGluZWQiLCJFbnZpcm9ubWVudE91dGxpbmVkIiwiQm9va091dGxpbmVkIiwiU2hvcE91dGxpbmVkIiwiR2xvYmFsT3V0bGluZWQiLCJCdWlsZE91dGxpbmVkIiwiU2tldGNoT3V0bGluZWQiLCJCdWxiT3V0bGluZWQiLCJDYXJPdXRsaW5lZCIsIk5vdGlmaWNhdGlvbk91dGxpbmVkIiwiRmlsZUFkZE91dGxpbmVkIiwiTGluayIsIlJvdXRlIiwiUm91dGVzIiwidXNlTG9jYXRpb24iLCJOYXZpZ2F0ZSIsImxvZ291dCIsIkhvbWVQYWdlIiwiRm9vdGVyQ29tcG9uZW50IiwibG9nbyIsIlZvbHVudGVlckxpc3QiLCJOZXdFZGl0Vm9sdW50ZWVyUGFnZSIsIkludGVyZXN0ZWRUZWFtTGlzdCIsIk5ld0VkaXRJbnRlcmVzdGVkVGVhbVBhZ2UiLCJMYW5ndWFnZUxpc3QiLCJOZXdFZGl0TGFuZ3VhZ2VQYWdlIiwiT2NjdXBhdGlvbkxpc3QiLCJOZXdFZGl0T2NjdXBhdGlvblBhZ2UiLCJPcHBvcnR1bml0eVNvdXJjZUxpc3QiLCJOZXdFZGl0T3Bwb3J0dW5pdHlTb3VyY2VQYWdlIiwiUHJvdmluY2VMaXN0IiwiTmV3RWRpdFByb3ZpbmNlUGFnZSIsIlNraWxsTGlzdCIsIk5ld0VkaXRTa2lsbFBhZ2UiLCJUZXJtc0NvbmRpdGlvbkxpc3QiLCJOZXdFZGl0VGVybXNDb25kaXRpb25QYWdlIiwiVHJhaW5pbmdTZXNzaW9uTGlzdCIsIk5ld0VkaXRUcmFpbmluZ1Nlc3Npb25QYWdlIiwiVm9sdW50ZWVyRXZlbnRMaXN0IiwiTmV3RWRpdFZvbHVudGVlckV2ZW50UGFnZSIsIlVzZXJMaXN0IiwiTmV3RWRpdFVzZXJQYWdlIiwiTmV3RWRpdE9mZmVyUHJvZ3JhbVBhZ2UiLCJPZmZlclByb2dyYW1MaXN0IiwiVHJhdmVsRGF5TGlzdCIsIk5ld0VkaXRUcmF2ZWxEYXlQYWdlIiwiTm90aWZpY2F0aW9uUGFnZSIsIlVzZXJBdHRlbmRhbmNlTGlzdCIsIk5ld0VkaXRVc2VyQXR0ZW5kYW5jZVBhZ2UiLCJGYW1pbHlTdXJ2ZXlGb3JtIiwiRmFtaWx5QXBwcm92ZWRMaXN0IiwiSGVhZGVyIiwiU2lkZXIiLCJtZW51cyIsInRvIiwiY2hpbGRyZW4iLCJVU0VSX1JPTEVTIiwiU1VQRVJfQURNSU4iLCJBRE1JTiIsIlJFUE9SVEVSIiwiVVNFUiIsImdldEF1dGhvcml6ZWRNZW51cyIsInJvbGUiLCJtZW51IiwiTWFpbiIsImF1dGgiLCJjdXJyZW50VXNlciIsInVzZXJSb2xlIiwicGF0aG5hbWUiLCJhY3RpdmVNZW51S2V5Iiwic2V0QWN0aXZlTWVudUtleSIsImNvbGxhcHNlZCIsInNldENvbGxhcHNlZCIsImRyYXdlclZpc2libGUiLCJzZXREcmF3ZXJWaXNpYmxlIiwiZmlsdGVyZWRNZW51cyIsInNldEZpbHRlcmVkTWVudXMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsImF1dGhvcml6ZWRNZW51cyIsImhhbmRsZUxvZ291dCIsImNvbnNvbGUiLCJsb2ciLCJjYW5BY2Nlc3NBZG1pblJvdXRlcyIsImNhbkFjY2Vzc1JlcG9ydGVyUm91dGVzIiwiY2FuQWNjZXNzQmFzaWNSb3V0ZXMiLCJwb3NpdGlvbiIsInpJbmRleCIsImJveFNoYWRvdyIsIm1hcmdpblJpZ2h0IiwiZmxleCIsInNyYyIsImFsdCIsIl9BdmF0YXIiLCJwaG90b191cmwiLCJmb250V2VpZ2h0IiwibWFyZ2luTGVmdCIsInVzZXJuYW1lIiwiX01lbnUiLCJ0aGVtZSIsIm1vZGUiLCJib3JkZXJCb3R0b20iLCJtYXJnaW5Ub3AiLCJjb2xsYXBzaWJsZSIsIm9uQ29sbGFwc2UiLCJvdmVyZmxvdyIsInNlbGVjdGVkS2V5cyIsIm92ZXJmbG93WSIsIlN1Yk1lbnUiLCJtYXhIZWlnaHQiLCJzdWJtZW51IiwiX0RyYXdlciIsInBsYWNlbWVudCIsImNsb3NhYmxlIiwib25DbG9zZSIsIm9wZW4iLCJib2R5U3R5bGUiLCJwYXRoIiwiZWxlbWVudCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9