"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_select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js"); /* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js"); /* harmony import */ var antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/breadcrumb */ "../../../node_modules/antd/lib/breadcrumb/index.js"); /* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/index.js"); /* harmony import */ var antd_es_typography__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/typography */ "../../../node_modules/antd/lib/typography/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../services/volunteer/core/actions */ "./src/services/volunteer/core/actions.ts"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/CalendarOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileExcelOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/TeamOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Legend.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Tooltip.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/ResponsiveContainer.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/component/Cell.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/polar/Pie.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/CartesianGrid.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/Bar.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/XAxis.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/cartesian/YAxis.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/chart/BarChart.js"); /* harmony import */ var recharts__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! recharts */ "../../../node_modules/recharts/es6/chart/PieChart.js"); /* harmony import */ var xlsx__WEBPACK_IMPORTED_MODULE_27__ = __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_8__["default"].Title; var Content = antd_es_layout__WEBPACK_IMPORTED_MODULE_7__["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 _volunteerEvents$data, _dashboard$count_user, _dashboard$count_volu, _dashboard$count_volu2; var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_10__.useSelector)(function (state) { return state.volunteer; }), dashboard = _useSelector.dashboard, volunteerEvents = _useSelector.volunteerEvents; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_10__.useDispatch)(); var _useState = (0,react__WEBPACK_IMPORTED_MODULE_9__.useState)(), _useState2 = _slicedToArray(_useState, 2), eventIds = _useState2[0], setEventIds = _useState2[1]; (0,react__WEBPACK_IMPORTED_MODULE_9__.useEffect)(function () { dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchEvent)()); }, [dispatch]); (0,react__WEBPACK_IMPORTED_MODULE_9__.useEffect)(function () { dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchDashboardAction)(eventIds)); console.log("πŸš€ ~ file: index.tsx:34 ~ useEffect ~ eventIds:", eventIds); }, [dispatch, eventIds]); 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_27__.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_27__.utils.json_to_sheet(data); xlsx__WEBPACK_IMPORTED_MODULE_27__.utils.book_append_sheet(wb, ws, sheetName); }); // βœ… Generate and Download the Excel File xlsx__WEBPACK_IMPORTED_MODULE_27__.writeFile(wb, "Volunteer_Dashboard_Report.xlsx"); }; return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_layout__WEBPACK_IMPORTED_MODULE_7__["default"], { style: { padding: '16px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_6__["default"], { style: { marginBottom: '12px', display: 'flex', justifyContent: 'space-between', alignItems: 'center' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_breadcrumb__WEBPACK_IMPORTED_MODULE_6__["default"].Item, null, "Dashboard")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(Content, { style: { background: '#fff', padding: '16px', borderRadius: '8px' } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], { justify: "space-between", align: "middle", style: { marginBottom: "16px" } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(Title, { level: 4, style: { margin: 0 } }, "Dashboard Overview")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], { gutter: 16, align: "middle" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"], { style: { width: 200 }, allowClear: true, showSearch: true, placeholder: "Select an event", value: eventIds, onChange: function onChange(value) { return setEventIds(value); }, filterOption: function filterOption(input, option) { var _option$children; return option === null || option === void 0 || (_option$children = option.children) === null || _option$children === void 0 ? void 0 : _option$children.toString().toLowerCase().includes(input.toLowerCase()); } }, volunteerEvents === null || volunteerEvents === void 0 || (_volunteerEvents$data = volunteerEvents.data) === null || _volunteerEvents$data === void 0 ? void 0 : _volunteerEvents$data.map(function (event) { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(Option, { key: event.id, value: event.id }, event.name); }))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_3___default()), { type: "primary", icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null), onClick: exportToExcel, style: { display: "flex", alignItems: "center", gap: "8px" } }, "Export to Excel"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___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_9___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_15__["default"], null), color: STAT_COLORS[0] }, { title: 'Total Events', value: Object.keys((dashboard === null || dashboard === void 0 ? void 0 : dashboard.count_volunteer_events) || {}).length, icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["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_9___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["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_9___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["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_9___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["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_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, sm: 24, md: 6, key: index }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], { style: { backgroundColor: stat.color, color: '#fff', minHeight: 160 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___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_9___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Status Breakdown"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.BarChart, { data: chartData, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Team"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.BarChart, { data: chatVolunteerInterestedTeam, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 })))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Status Breakdown"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_26__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.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_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.Tooltip, null)))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer by Province"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.BarChart, { data: chatVolunteerProvince, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.Bar, { dataKey: "value", fill: "#3b82f6", barSize: 30 }))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Gender"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_26__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.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_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer T-Shirt Size"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_26__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.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_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, lg: 12 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Occupation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_26__.PieChart, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_20__.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_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_19__.Cell, { key: "cell-".concat(index), fill: COLORS[index % COLORS.length] }); })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_16__.Legend, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.Tooltip, null))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], { xs: 24, lg: 24 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement("h2", { className: "text-xl font-bold mb-2" }, "Volunteer Education Institude"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_18__.ResponsiveContainer, { width: "100%", height: 250 }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_25__.BarChart, { data: chatVolunteerEducationInst, margin: { top: 10, right: 20, left: 10, bottom: 5 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_21__.CartesianGrid, { strokeDasharray: "3 3" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_23__.XAxis, { dataKey: "name", tick: { fontSize: 10 } }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_24__.YAxis, { allowDecimals: false }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_17__.Tooltip, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default().createElement(recharts__WEBPACK_IMPORTED_MODULE_22__.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-dom/dist/index.js"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/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_25__.useNavigate)(); var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_25__.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_24__.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_24__.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_24__.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_24__.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_25__.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_25__.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_25__.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_25__.Route, { path: "/", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Navigate, { to: "/family-survey", replace: true }) }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.Route, { path: "*", element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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_25__.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX3ZpZXdzX21haW5fZC52b2x1bnRlZXJhcGkuOGUzNDczYWU1MDVkODVjZGViYzYuYnVuZGxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQW1EO0FBR0k7QUFFZ0c7QUFDeEc7QUFDRDtBQUU5QyxJQUFNVSx5QkFBbUMsR0FBRyxTQUF0Q0EseUJBQW1DQSxDQUFBLEVBQVM7RUFDaEQsSUFBTUMsUUFBUSxHQUFHUix3REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBTVMsUUFBUSxHQUFHSiw2REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBQUssWUFBQSxHQUE4RVQsd0RBQVcsQ0FDdkYsVUFBQ1UsS0FBZ0I7TUFBQSxPQUFLQSxLQUFLLENBQUNDLGNBQWM7SUFBQSxDQUM1QyxDQUFDO0lBRk9BLGNBQWMsR0FBQUYsWUFBQSxDQUFkRSxjQUFjO0lBQUVDLG9CQUFvQixHQUFBSCxZQUFBLENBQXBCRyxvQkFBb0I7SUFBRUMsMkJBQTJCLEdBQUFKLFlBQUEsQ0FBM0JJLDJCQUEyQjtFQUd6RSxJQUFBQyxhQUFBLEdBQWVDLG9EQUFBLENBQUtDLE9BQU8sQ0FBQyxDQUFDO0lBQUFDLGNBQUEsR0FBQUMsY0FBQSxDQUFBSixhQUFBO0lBQXRCSyxJQUFJLEdBQUFGLGNBQUE7RUFFWCxJQUFNRyxZQUFZLEdBQUcsSUFBSUMsZUFBZSxDQUFDQyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUN6RCxJQUFNQyxFQUFFLEdBQUdKLFlBQVksQ0FBQ0ssR0FBRyxDQUFDLElBQUksQ0FBQztFQUVqQyxJQUFBQyxTQUFBLEdBQThCNUIsK0NBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQTZCLFVBQUEsR0FBQVQsY0FBQSxDQUFBUSxTQUFBO0lBQXRDRSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBOztFQUUxQjtFQUNBOUIsZ0RBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTJCLEVBQUUs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QUNDLE9BQU8sZUFBRWpjLDBEQUFBLENBQUNpWCwrREFBMEIsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUNqRmpYLDBEQUFBLENBQUN3VixvREFBSztJQUFDd0csSUFBSSxFQUFDLG1CQUFtQjtJQUFDQyxPQUFPLGVBQUVqYywwREFBQSxDQUFDa1gseURBQWtCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDbkVsWCwwREFBQSxDQUFDd1Ysb0RBQUs7SUFBQ3dHLElBQUksRUFBQyx3QkFBd0I7SUFBQ0MsT0FBTyxlQUFFamMsMERBQUEsQ0FBQ21YLDhEQUF5QixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQy9FblgsMERBQUEsQ0FBQ3dWLG9EQUFLO0lBQUN3RyxJQUFJLEVBQUMsaUJBQWlCO0lBQUNDLE9BQU8sZUFBRWpjLDBEQUFBLENBQUN1WCx1REFBZ0IsTUFBRTtFQUFFLENBQUUsQ0FBQyxlQUMvRHZYLDBEQUFBLENBQUN3VixvREFBSztJQUFDd0csSUFBSSxFQUFDLHNCQUFzQjtJQUFDQyxPQUFPLGVBQUVqYywwREFBQSxDQUFDc1gsNERBQXVCLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDM0V0WCwwREFBQSxDQUFDd1Ysb0RBQUs7SUFBQ3dHLElBQUksRUFBQyxjQUFjO0lBQUNDLE9BQU8sZUFBRWpjLDBEQUFBLENBQUN3WCxvREFBYSxNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ3pEeFgsMERBQUEsQ0FBQ3dWLG9EQUFLO0lBQUN3RyxJQUFJLEVBQUMsbUJBQW1CO0lBQUNDLE9BQU8sZUFBRWpjLDBEQUFBLENBQUN5WCx5REFBb0IsTUFBRTtFQUFFLENBQUUsQ0FHcEUsQ0FFRSxDQUNELENBQUMsZUFDVnpYLDBEQUFBLENBQUM4Viw0RUFBZSxNQUFFLENBQ1osQ0FDRixDQUNGLENBQUM7QUFFYixDQUFDO0FBRUQsaUVBQWU2QyxJQUFJLEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2Rpc2FiaWxpdHlfdHlwZS9mb3JtLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2Rpc2FiaWxpdHlfdHlwZS9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9lZHVjYXRpb25faW5zdGl0dXRpb24vZm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9lZHVjYXRpb25faW5zdGl0dXRpb24vaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vZm9vZC9mb3JtLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL2Zvb2QvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vaG9tZS9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi9ob21lL21haW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybSwgSW5wdXQsIEJ1dHRvbiwgUm93LCBDb2wsIG1lc3NhZ2UgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBEaXNhYmlsaXR5VHlwZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24sIGRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uLCB1cGRhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBUZXh0QXJlYSBmcm9tICdhbnRkL2VzL2lucHV0L1RleHRBcmVhJztcblxuY29uc3QgTmV3RWRpdERpc2FiaWxpdHlUeXBlUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCB7IGRpc2FiaWxpdHlUeXBlLCByZWdpc3RlckVycm9yTWVzc2FnZSwgZGlzYWJpbGl0eVR5cGVVcGRhdGVQZW5kaW5nIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuZGlzYWJpbGl0eVR5cGVcbiAgKTtcbiAgY29uc3QgW2Zvcm1dID0gRm9ybS51c2VGb3JtKCk7XG5cbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICBjb25zdCBpZCA9IHNlYXJjaFBhcmFtcy5nZXQoJ2lkJyk7XG5cbiAgY29uc3QgW2lzQ2xpY2ssIHNldElzQ2xpY2tdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIC8vIPCfkYkgRmV0Y2ggZGF0YSB3aGVuIGVkaXRpbmcgb3IgcmVzZXQgZm9ybSB3aGVuIGFkZGluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgZGlzcGF0Y2goZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24oTnVtYmVyKGlkKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gZmllbGRzIHdoZW4gYWRkaW5nIGEgbmV3IGl0ZW1cbiAgICB9XG4gIH0sIFtkaXNwYXRjaCwgaWQsIGZvcm1dKTtcblxuICAvLyDwn5GJIFBvcHVsYXRlIGZvcm0gd2l0aCBmZXRjaGVkIGRhdGFcbiAgdXNlRWZmZWN0KCgpID0+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+XG4gICAgICA8VGFibGVcbiAgICAgICAgcm93U2VsZWN0aW9uPXt7XG4gICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgICAgICBvbkNoYW5nZTogKF8sIHNlbGVjdGVkUm93cykgPT4gc2V0U2VsZWN0ZWRSb3dzKHNlbGVjdGVkUm93cyksXG4gICAgICAgIH19XG4gICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgIGRhdGFTb3VyY2U9e2ZpbHRlcmVkRGF0YS5tYXAoKGl0LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICBrZXk6IGl0LmlkLFxuICAgICAgICAgIGluZGV4OiBpbmRleCArIDEsXG4gICAgICAgICAgbmFtZTogaXQubmFtZSxcbiAgICAgICAgICAuLi5pdCxcbiAgICAgICAgfSkpfVxuICAgICAgICBwYWdpbmF0aW9uPXt7XG4gICAgICAgICAgY3VycmVudDogY3VycmVudFBhZ2UsXG4gICAgICAgICAgcGFnZVNpemU6IHBhZ2VTaXplLFxuICAgICAgICAgIHRvdGFsOiBmb29kcz8ubWV0YT8udG90YWwgfHwgMCxcbiAgICAgICAgICBzaG93U2l6ZUNoYW5nZXI6IHRydWUsXG4gICAgICAgIH19XG4gICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUYWJsZUNoYW5nZX1cbiAgICAgICAgcm93S2V5PVwiaWRcIlxuICAgICAgICBzY3JvbGw9e3sgeDogJ21heC1jb250ZW50JyB9fVxuICAgICAgLz5cbiAgICAgIDxMb2FkaW5nRGlhbG9nIHZpc2libGU9e2Zvb2RzUGVuZGluZ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZvb2RMaXN0O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZVwiO1xuaW1wb3J0IHsgZmV0Y2hEYXNoYm9hcmRBY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IHsgTGF5b3V0LCBCcmVhZGNydW1iLCBSb3csIENvbCwgQ2FyZCwgU3RhdGlzdGljLCBCdXR0b24sIFR5cG9ncmFwaHksIFNlbGVjdCB9IGZyb20gXCJhbnRkXCI7XG5pbXBvcnQgeyBVc2VyT3V0bGluZWQsIENhbGVuZGFyT3V0bGluZWQsIFRlYW1PdXRsaW5lZCwgRmlsZUV4Y2VsT3V0bGluZWQgfSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcbmltcG9ydCB7IEJhckNoYXJ0LCBYQXhpcywgWUF4aXMsIFRvb2x0aXAgYXMgUmVjaGFydHNUb29sdGlwLCBCYXIsIFJlc3BvbnNpdmVDb250YWluZXIsIENhcnRlc2lhbkdyaWQsIFBpZUNoYXJ0LCBQaWUsIENlbGwsIExlZ2VuZCB9IGZyb20gXCJyZWNoYXJ0c1wiO1xuaW1wb3J0ICogYXMgWExTWCBmcm9tIFwieGxzeFwiOyAvLyDinIUgSW1wb3J0IFhMU1ggZm9yIEV4Y2VsIGV4cG9ydFxuaW1wb3J0IHsgZmV0Y2hFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlci9jb3JlL2FjdGlvbnMnO1xuY29uc3QgeyBUaXRsZSB9ID0gVHlwb2dyYXBoeTtcbmNvbnN0IHsgQ29udGVudCB9ID0gTGF5b3V0O1xuXG5jb25zdCBDT0xPUlMgPSBbJyMwMDg4RkUnLCAnIzAwQzQ5RicsICcjRkZCQjI4JywgJyNGRjgwNDInLCAnI0EyOERGRicsICcjRkY0NTYwJywgJyM3NzVERDAnLCAnI0Y4NjYyNCddO1xuY29uc3QgU1RBVF9DT0xPUlMgPSBbJyNGRjU3MzMnLCAnIzAwNzNlNicsICcjMkVDQzcxJywgJyMxRTkwRkYnLCAnI0ZGNjlCNCcsICcjRkZBNTAwJywgJyNGMEJCRjBGRiddO1xuXG5jb25zdCBEYXNoYm9hcmRIb21lOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgeyBkYXNoYm9hcmQsIHZvbHVudGVlckV2ZW50cywgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS52b2x1bnRlZXIpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFtldmVudElkcywgc2V0RXZlbnRJZHNdID0gdXNlU3RhdGU8bnVtYmVyPigpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGRpc3BhdGNoKGZldGNoRXZlbnQoKSk7XG4gICAgfSwgW2Rpc3BhdGNoXSk7XG4gIFxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hEYXNoYm9hcmRBY3Rpb24oZXZlbnRJZHMpKTtcbiAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBmaWxlOiBpbmRleC50c3g6MzQgfiB1c2VFZmZlY3QgfiBldmVudElkczpcIiwgZXZlbnRJZHMpXG4gIH0sIFtkaXNwYXRjaCwgZXZlbnRJZHNdKTtcblxuICBjb25zdCBjaGFydERhdGEgPSBPYmplY3QuZW50cmllcyhkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9zdGF0dXMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleS5yZXBsYWNlKFwiY291bnRfXCIsIFwiXCIpLnJlcGxhY2UoXCJfXCIsIFwiIFwiKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIGNvbnN0IGNoYXRWb2x1bnRlZXJQcm92aW5jZSA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX3Byb3ZpbmNlcyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgbmFtZToga2V5LnNwbGl0KFwiL1wiKS5wb3AoKS50cmltKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICBjb25zdCBjaGF0Vm9sdW50ZWVyR2VuZGVyID0gT2JqZWN0LmVudHJpZXMoZGFzaGJvYXJkPy5jb3VudF92b2x1bnRlZXJfZ2VuZGVycyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgbmFtZToga2V5LnJlcGxhY2UoXCJjb3VudF9cIiwgXCJcIikucmVwbGFjZShcIl9cIiwgXCIgXCIpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgY29uc3QgY2hhdFZvbHVudGVlclRzaGlydCA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX3NoaXJ0X3NpemVzIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBuYW1lOiBrZXksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuXG4gIC8vIGNvdW50X3ZvbHVudGVlcl9vY2N1cGF0aW9uc1xuXG5cbiAgY29uc3QgY2hhdFZvbHVudGVlck9jY3VwYXRpb25zID0gT2JqZWN0LmVudHJpZXMoZGFzaGJvYXJkPy5jb3VudF92b2x1bnRlZXJfb2NjdXBhdGlvbnMgfHwge30pLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgIG5hbWU6IGtleSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIC8vIGNvdW50X3ZvbHVudGVlcl9lZHVjYXRpb25faW5zdGl0dXRpb25zXG4gIGNvbnN0IGNoYXRWb2x1bnRlZXJFZHVjYXRpb25JbnN0ID0gT2JqZWN0LmVudHJpZXMoZGFzaGJvYXJkPy5jb3VudF92b2x1bnRlZXJfZWR1Y2F0aW9uX2luc3RpdHV0aW9ucyB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgbmFtZToga2V5LFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgLy8gY291bnRfaW50ZXJlc3RlZF90ZWFtXG4gIGNvbnN0IGNoYXRWb2x1bnRlZXJJbnRlcmVzdGVkVGVhbSA9IE9iamVjdC5lbnRyaWVzKGRhc2hib2FyZD8uY291bnRfaW50ZXJlc3RlZF90ZWFtIHx8IHt9KS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHtcbiAgICBuYW1lOiBrZXksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICAvLyDinIUgRnVuY3Rpb24gdG8gRXhwb3J0IEFsbCBEYXRhIHRvIEV4Y2VsXG4gIGNvbnN0IGV4cG9ydFRvRXhjZWwgPSAoKSA9PiB7XG4gICAgY29uc3Qgd2IgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XG5cbiAgICAvLyBDcmVhdGUgaW5kaXZpZHVhbCBzaGVldHMgZm9yIGVhY2ggZGF0YXNldFxuICAgIGNvbnN0IHNoZWV0cyA9IHtcbiAgICAgIFwiVm9sdW50ZWVyIFN0YXR1c1wiOiBjaGFydERhdGEsXG4gICAgICBcIlZvbHVudGVlciBieSBQcm92aW5jZVwiOiBjaGF0Vm9sdW50ZWVyUHJvdmluY2UsXG4gICAgICBcIlZvbHVudGVlciBHZW5kZXJcIjogY2hhdFZvbHVudGVlckdlbmRlcixcbiAgICAgIFwiVm9sdW50ZWVyIFQtU2hpcnQgU2l6ZVwiOiBjaGF0Vm9sdW50ZWVyVHNoaXJ0LFxuICAgICAgXCJWb2x1bnRlZXIgT2NjdXBhdGlvbnNcIjogY2hhdFZvbHVudGVlck9jY3VwYXRpb25zLFxuICAgICAgXCJFZHVjYXRpb24gSW5zdGl0dXRpb25zXCI6IGNoYXRWb2x1bnRlZXJFZHVjYXRpb25JbnN0LFxuICAgICAgXCJUZWFtXCI6IGNoYXRWb2x1bnRlZXJJbnRlcmVzdGVkVGVhbSxcbiAgICB9O1xuXG4gICAgT2JqZWN0LmVudHJpZXMoc2hlZXRzKS5mb3JFYWNoKChbc2hlZXROYW1lLCBkYXRhXSkgPT4ge1xuICAgICAgY29uc3Qgd3MgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoZGF0YSk7XG4gICAgICBYTFNYLnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KHdiLCB3cywgc2hlZXROYW1lKTtcbiAgICB9KTtcblxuICAgIC8vIOKchSBHZW5lcmF0ZSBhbmQgRG93bmxvYWQgdGhlIEV4Y2VsIEZpbGVcbiAgICBYTFNYLndyaXRlRmlsZSh3YiwgXCJWb2x1bnRlZXJfRGFzaGJvYXJkX1JlcG9ydC54bHN4XCIpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPExheW91dCBzdHlsZT17eyBwYWRkaW5nOiAnMTZweCcgfX0+XG4gICAgICA8QnJlYWRjcnVtYiBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICcxMnB4JywgZGlzcGxheTogJ2ZsZXgnLCBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cblxuICAgICAgICA8QnJlYWRjcnVtYi5JdGVtPkRhc2hib2FyZDwvQnJlYWRjcnVtYi5JdGVtPlxuXG4gICAgICA8L0JyZWFkY3J1bWI+XG5cbiAgICAgIDxDb250ZW50IHN0eWxlPXt7IGJhY2tncm91bmQ6ICcjZmZmJywgcGFkZGluZzogJzE2cHgnLCBib3JkZXJSYWRpdXM6ICc4cHgnIH19PlxuICAgICAgICA8Um93IGp1c3RpZnk9XCJzcGFjZS1iZXR3ZWVuXCIgYWxpZ249XCJtaWRkbGVcIiBzdHlsZT17eyBtYXJnaW5Cb3R0b206IFwiMTZweFwiIH19PlxuICAgICAgICAgIDxDb2w+XG4gICAgICAgICAgICA8VGl0bGUgbGV2ZWw9ezR9IHN0eWxlPXt7IG1hcmdpbjogMCB9fT5EYXNoYm9hcmQgT3ZlcnZpZXc8L1RpdGxlPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2w+XG4gICAgICAgICAgICA8Um93IGd1dHRlcj17MTZ9IGFsaWduPVwibWlkZGxlXCI+XG4gICAgICAgICAgICAgIDxDb2w+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IDIwMCB9fVxuICAgICAgICAgICAgICAgICAgYWxsb3dDbGVhclxuICAgICAgICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYW4gZXZlbnRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2V2ZW50SWRzfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZTogYW55KSA9PiBzZXRFdmVudElkcyh2YWx1ZSl9XG4gICAgICAgICAgICAgICAgICBmaWx0ZXJPcHRpb249eyhpbnB1dDogYW55LCBvcHRpb246IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uPy5jaGlsZHJlbj8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGlucHV0LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3ZvbHVudGVlckV2ZW50cz8uZGF0YT8ubWFwKChldmVudDogYW55KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxPcHRpb24ga2V5PXtldmVudC5pZH0gdmFsdWU9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgICAgICB7ZXZlbnQubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgICAgIDxDb2w+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgaWNvbj17PEZpbGVFeGNlbE91dGxpbmVkIC8+fVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXhwb3J0VG9FeGNlbH1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6IFwiZmxleFwiLCBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLCBnYXA6IFwiOHB4XCIgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBFeHBvcnQgdG8gRXhjZWxcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgICA8L1Jvdz5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cblxuXG5cblxuXG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbOCwgOF19PlxuICAgICAgICAgIHtbXG4gICAgICAgICAgICB7IHRpdGxlOiAnVG90YWwgVm9sdW50ZWVycycsIHZhbHVlOiBkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcnMsIGljb246IDxVc2VyT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1swXSB9LFxuICAgICAgICAgICAgeyB0aXRsZTogJ1RvdGFsIEV2ZW50cycsIHZhbHVlOiBPYmplY3Qua2V5cyhkYXNoYm9hcmQ/LmNvdW50X3ZvbHVudGVlcl9ldmVudHMgfHwge30pLmxlbmd0aCwgaWNvbjogPENhbGVuZGFyT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1sxXSB9LFxuICAgICAgICAgICAgeyB0aXRsZTogJ1RvdGFsIEFkbWluIFVzZXJzJywgdmFsdWU6IGRhc2hib2FyZD8uY291bnRfdXNlcl9yb2xlcz8uY291bnRfc3VwZXJfYWRtaW4sIGljb246IDxUZWFtT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1syXSB9LFxuICAgICAgICAgICAgLy8geyB0aXRsZTogJ1RvdGFsIFVzZXJzJywgdmFsdWU6IGRhc2hib2FyZD8uY291bnRfdXNlcl9yb2xlcz8uY291bnRfdXNlciwgaWNvbjogPFRlYW1PdXRsaW5lZCAvPiwgY29sb3I6IFNUQVRfQ09MT1JTWzNdIH0sXG4gICAgICAgICAgICB7IHRpdGxlOiAnTWFsZSBWb2x1bnRlZXJzJywgdmFsdWU6IGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX2dlbmRlcnM/LmNvdW50X21hbGUsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIGNvbG9yOiBTVEFUX0NPTE9SU1s0XSB9LFxuICAgICAgICAgICAgeyB0aXRsZTogJ0ZlbWFsZSBWb2x1bnRlZXJzJywgdmFsdWU6IGRhc2hib2FyZD8uY291bnRfdm9sdW50ZWVyX2dlbmRlcnM/LmNvdW50X2ZlbWFsZSwgaWNvbjogPFRlYW1PdXRsaW5lZCAvPiwgY29sb3I6IFNUQVRfQ09MT1JTWzVdIH0sXG4gICAgICAgICAgICAvLyB7IHRpdGxlOiAnVG90YWwgVHJhaW5pbmcgU2Vzc2lvbnMnLCB2YWx1ZTogZGFzaGJvYXJkPy5jb3VudF90cmFpbmluZ19zZXNzaW9ucywgaWNvbjogPFJlYWRPdXRsaW5lZCAvPiwgY29sb3I6IFNUQVRfQ09MT1JTWzZdIH0sXG4gICAgICAgICAgXS5tYXAoKHN0YXQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezI0fSBtZD17Nn0ga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgIDxDYXJkIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogc3RhdC5jb2xvciwgY29sb3I6ICcjZmZmJywgbWluSGVpZ2h0OiAxNjAgfX0+XG4gICAgICAgICAgICAgICAgPFN0YXRpc3RpYyB0aXRsZT17c3RhdC50aXRsZX0gdmFsdWU9e3N0YXQudmFsdWV9IHByZWZpeD17c3RhdC5pY29ufSB2YWx1ZVN0eWxlPXt7IGNvbG9yOiAnI2ZmZicgfX0gLz5cbiAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgKSl9XG5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3c+XG4gICAgICAgICAgPENvbCB4cz17MjR9IGxnPXsyNH0+XG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIG1iLTJcIj5Wb2x1bnRlZXIgU3RhdHVzIEJyZWFrZG93bjwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8QmFyQ2hhcnQgZGF0YT17Y2hhcnREYXRhfSBtYXJnaW49e3sgdG9wOiAxMCwgcmlnaHQ6IDIwLCBsZWZ0OiAxMCwgYm90dG9tOiA1IH19PlxuICAgICAgICAgICAgICAgICAgPENhcnRlc2lhbkdyaWQgc3Ryb2tlRGFzaGFycmF5PVwiMyAzXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxYQXhpcyBkYXRhS2V5PVwibmFtZVwiIHRpY2s9e3sgZm9udFNpemU6IDEwIH19IC8+XG4gICAgICAgICAgICAgICAgICA8WUF4aXMgYWxsb3dEZWNpbWFscz17ZmFsc2V9IC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgICA8QmFyIGRhdGFLZXk9XCJ2YWx1ZVwiIGZpbGw9XCIjM2I4MmY2XCIgYmFyU2l6ZT17MzB9IC8+XG4gICAgICAgICAgICAgICAgPC9CYXJDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgICAgey8qIHZvbHVudGVlciBieSBncm91cCAqL31cbiAgICAgICAgPFJvdz5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gbGc9ezI0fT5cbiAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14bCBmb250LWJvbGQgbWItMlwiPlZvbHVudGVlciBUZWFtPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxCYXJDaGFydCBkYXRhPXtjaGF0Vm9sdW50ZWVySW50ZXJlc3RlZFRlYW19IG1hcmdpbj17eyB0b3A6IDEwLCByaWdodDogMjAsIGxlZnQ6IDEwLCBib3R0b206IDUgfX0+XG4gICAgICAgICAgICAgICAgICA8Q2FydGVzaWFuR3JpZCBzdHJva2VEYXNoYXJyYXk9XCIzIDNcIiAvPlxuICAgICAgICAgICAgICAgICAgPFhBeGlzIGRhdGFLZXk9XCJuYW1lXCIgdGljaz17eyBmb250U2l6ZTogMTAgfX0gLz5cbiAgICAgICAgICAgICAgICAgIDxZQXhpcyBhbGxvd0RlY2ltYWxzPXtmYWxzZX0gLz5cbiAgICAgICAgICAgICAgICAgIDxSZWNoYXJ0c1Rvb2x0aXAgLz5cbiAgICAgICAgICAgICAgICAgIDxCYXIgZGF0YUtleT1cInZhbHVlXCIgZmlsbD1cIiMzYjgyZjZcIiBiYXJTaXplPXszMH0gLz5cbiAgICAgICAgICAgICAgICA8L0JhckNoYXJ0PlxuICAgICAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgICA8Um93PlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MTJ9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIFN0YXR1cyBCcmVha2Rvd248L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPFBpZUNoYXJ0PlxuICAgICAgICAgICAgICAgICAgPFBpZSBkYXRhPXtjaGFydERhdGF9IGRhdGFLZXk9XCJ2YWx1ZVwiIG5hbWVLZXk9XCJuYW1lXCIgY3g9XCI1MCVcIiBjeT1cIjUwJVwiIG91dGVyUmFkaXVzPXs4MH0gbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtjaGFydERhdGEubWFwKChfLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxDZWxsIGtleT17YGNlbGwtJHtpbmRleH1gfSBmaWxsPXtDT0xPUlNbaW5kZXggJSBDT0xPUlMubGVuZ3RoXX0gLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1BpZT5cbiAgICAgICAgICAgICAgICAgIDxMZWdlbmQgLz5cbiAgICAgICAgICAgICAgICAgIDxSZWNoYXJ0c1Rvb2x0aXAgLz5cbiAgICAgICAgICAgICAgICA8L1BpZUNoYXJ0PlxuICAgICAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgICA8Um93PlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MjR9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIGJ5IFByb3ZpbmNlPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxCYXJDaGFydCBkYXRhPXtjaGF0Vm9sdW50ZWVyUHJvdmluY2V9IG1hcmdpbj17eyB0b3A6IDEwLCByaWdodDogMjAsIGxlZnQ6IDEwLCBib3R0b206IDUgfX0+XG4gICAgICAgICAgICAgICAgICA8Q2FydGVzaWFuR3JpZCBzdHJva2VEYXNoYXJyYXk9XCIzIDNcIiAvPlxuICAgICAgICAgICAgICAgICAgPFhBeGlzIGRhdGFLZXk9XCJuYW1lXCIgdGljaz17eyBmb250U2l6ZTogMTAgfX0gLz5cbiAgICAgICAgICAgICAgICAgIDxZQXhpcyBhbGxvd0RlY2ltYWxzPXtmYWxzZX0gLz5cbiAgICAgICAgICAgICAgICAgIDxSZWNoYXJ0c1Rvb2x0aXAgLz5cbiAgICAgICAgICAgICAgICAgIDxCYXIgZGF0YUtleT1cInZhbHVlXCIgZmlsbD1cIiMzYjgyZjZcIiBiYXJTaXplPXszMH0gLz5cbiAgICAgICAgICAgICAgICA8L0JhckNoYXJ0PlxuICAgICAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCB4cz17MjR9IGxnPXsxMn0+XG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIG1iLTJcIj5Wb2x1bnRlZXIgR2VuZGVyPC9oMj5cbiAgICAgICAgICAgICAgPFJlc3BvbnNpdmVDb250YWluZXIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PXsyNTB9PlxuICAgICAgICAgICAgICAgIDxQaWVDaGFydD5cbiAgICAgICAgICAgICAgICAgIDxQaWUgZGF0YT17Y2hhdFZvbHVudGVlckdlbmRlcn0gZGF0YUtleT1cInZhbHVlXCIgbmFtZUtleT1cIm5hbWVcIiBjeD1cIjUwJVwiIGN5PVwiNTAlXCIgb3V0ZXJSYWRpdXM9ezgwfSBsYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge2NoYXRWb2x1bnRlZXJHZW5kZXIubWFwKChfLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxDZWxsIGtleT17YGNlbGwtJHtpbmRleH1gfSBmaWxsPXtDT0xPUlNbaW5kZXggJSBDT0xPUlMubGVuZ3RoXX0gLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1BpZT5cbiAgICAgICAgICAgICAgICAgIDxMZWdlbmQgLz5cbiAgICAgICAgICAgICAgICAgIDxSZWNoYXJ0c1Rvb2x0aXAgLz5cbiAgICAgICAgICAgICAgICA8L1BpZUNoYXJ0PlxuICAgICAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgPC9Db2w+XG5cbiAgICAgICAgICB7LyogLy8gdF9zaGlydF9zaXplICovfVxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MTJ9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIFQtU2hpcnQgU2l6ZTwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8UGllQ2hhcnQ+XG4gICAgICAgICAgICAgICAgICA8UGllIGRhdGE9e2NoYXRWb2x1bnRlZXJUc2hpcnR9IGRhdGFLZXk9XCJ2YWx1ZVwiIG5hbWVLZXk9XCJuYW1lXCIgY3g9XCI1MCVcIiBjeT1cIjUwJVwiIG91dGVyUmFkaXVzPXs4MH0gbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIHtjaGF0Vm9sdW50ZWVyVHNoaXJ0Lm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBrZXk9e2BjZWxsLSR7aW5kZXh9YH0gZmlsbD17Q09MT1JTW2luZGV4ICUgQ09MT1JTLmxlbmd0aF19IC8+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9QaWU+XG4gICAgICAgICAgICAgICAgICA8TGVnZW5kIC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgPC9QaWVDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuXG4gICAgICAgICAgey8qIC8vIG9jY3VwYXRpb24gKi99XG4gICAgICAgICAgPENvbCB4cz17MjR9IGxnPXsxMn0+XG4gICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIG1iLTJcIj5Wb2x1bnRlZXIgT2NjdXBhdGlvbjwvaDI+XG4gICAgICAgICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD17MjUwfT5cbiAgICAgICAgICAgICAgICA8UGllQ2hhcnQ+XG4gICAgICAgICAgICAgICAgICA8UGllIGRhdGE9e2NoYXRWb2x1bnRlZXJPY2N1cGF0aW9uc30gZGF0YUtleT1cInZhbHVlXCIgbmFtZUtleT1cIm5hbWVcIiBjeD1cIjUwJVwiIGN5PVwiNTAlXCIgb3V0ZXJSYWRpdXM9ezgwfSBsYWJlbD5cbiAgICAgICAgICAgICAgICAgICAge2NoYXRWb2x1bnRlZXJPY2N1cGF0aW9ucy5tYXAoKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPENlbGwga2V5PXtgY2VsbC0ke2luZGV4fWB9IGZpbGw9e0NPTE9SU1tpbmRleCAlIENPTE9SUy5sZW5ndGhdfSAvPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgIDwvUGllPlxuICAgICAgICAgICAgICAgICAgPExlZ2VuZCAvPlxuICAgICAgICAgICAgICAgICAgPFJlY2hhcnRzVG9vbHRpcCAvPlxuICAgICAgICAgICAgICAgIDwvUGllQ2hhcnQ+XG4gICAgICAgICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICA8L0NvbD5cblxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBsZz17MjR9PlxuICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi0yXCI+Vm9sdW50ZWVyIEVkdWNhdGlvbiBJbnN0aXR1ZGU8L2gyPlxuICAgICAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9ezI1MH0+XG4gICAgICAgICAgICAgICAgPEJhckNoYXJ0IGRhdGE9e2NoYXRWb2x1bnRlZXJFZHVjYXRpb25JbnN0fSBtYXJnaW49e3sgdG9wOiAxMCwgcmlnaHQ6IDIwLCBsZWZ0OiAxMCwgYm90dG9tOiA1IH19PlxuICAgICAgICAgICAgICAgICAgPENhcnRlc2lhbkdyaWQgc3Ryb2tlRGFzaGFycmF5PVwiMyAzXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxYQXhpcyBkYXRhS2V5PVwibmFtZVwiIHRpY2s9e3sgZm9udFNpemU6IDEwIH19IC8+XG4gICAgICAgICAgICAgICAgICA8WUF4aXMgYWxsb3dEZWNpbWFscz17ZmFsc2V9IC8+XG4gICAgICAgICAgICAgICAgICA8UmVjaGFydHNUb29sdGlwIC8+XG4gICAgICAgICAgICAgICAgICA8QmFyIGRhdGFLZXk9XCJ2YWx1ZVwiIGZpbGw9XCIjM2I4MmY2XCIgYmFyU2l6ZT17MzB9IC8+XG4gICAgICAgICAgICAgICAgPC9CYXJDaGFydD5cbiAgICAgICAgICAgICAgPC9SZXNwb25zaXZlQ29udGFpbmVyPlxuICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cbiAgICAgIDwvQ29udGVudD5cbiAgICA8L0xheW91dD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERhc2hib2FyZEhvbWU7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgQXBwc3RvcmVPdXRsaW5lZCxcbiAgRGFzaGJvYXJkT3V0bGluZWQsXG4gIExvZ291dE91dGxpbmVkLFxuICBNZW51T3V0bGluZWQsXG4gIFNldHRpbmdPdXRsaW5lZCxcbiAgRW52aXJvbm1lbnRPdXRsaW5lZCxcbiAgVXNlck91dGxpbmVkLFxuICBCb29rT3V0bGluZWQsXG4gIFNob3BPdXRsaW5lZCxcbiAgVGVhbU91dGxpbmVkLFxuICBHbG9iYWxPdXRsaW5lZCxcbiAgQnVpbGRPdXRsaW5lZCxcbiAgU2tldGNoT3V0bGluZWQsXG4gIEJ1bGJPdXRsaW5lZCxcbiAgQ2FyT3V0bGluZWQsXG4gIE5vdGlmaWNhdGlvbk91dGxpbmVkLFxuICBGaWxlQWRkT3V0bGluZWQsXG59IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCB7IExheW91dCwgTWVudSwgQnV0dG9uLCBEcmF3ZXIsIEF2YXRhciB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgTGluaywgUm91dGUsIFJvdXRlcywgdXNlTG9jYXRpb24sIHVzZU5hdmlnYXRlLCBOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vcmVkdXgvc3RvcmUnO1xuaW1wb3J0IHsgbG9nb3V0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vY29yZS9yZWR1Y2VyJztcbmltcG9ydCBIb21lUGFnZSBmcm9tICcuJztcbmltcG9ydCBGb290ZXJDb21wb25lbnQgZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLWNvbXBvbmVudCc7XG5pbXBvcnQgbG9nbyBmcm9tICcuLi8uLi8uLi9hc3NldHMvbG9nb3MvbG9nby5wbmcnO1xuaW1wb3J0IFZvbHVudGVlckxpc3QgZnJvbSAnLi4vdm9sdW50ZWVyJztcbmltcG9ydCBOZXdFZGl0Vm9sdW50ZWVyUGFnZSBmcm9tICcuLi92b2x1bnRlZXIvZm9ybSc7XG5pbXBvcnQgRGlzYWJpbGl0eVR5cGVMaXN0IGZyb20gJy4uL2Rpc2FiaWxpdHlfdHlwZSc7XG5pbXBvcnQgTmV3RWRpdERpc2FiaWxpdHlUeXBlUGFnZSBmcm9tICcuLi9kaXNhYmlsaXR5X3R5cGUvZm9ybSc7XG5pbXBvcnQgTmV3RWRpdEVkdWNhdGlvbkluc3RpdHV0aW9uUGFnZSBmcm9tICcuLi9lZHVjYXRpb25faW5zdGl0dXRpb24vZm9ybSc7XG5pbXBvcnQgRWR1Y2F0aW9uSW5zdGl0dXRpb25MaXN0IGZyb20gJy4uL2VkdWNhdGlvbl9pbnN0aXR1dGlvbic7XG5pbXBvcnQgRm9vZExpc3QgZnJvbSAnLi4vZm9vZCc7XG5pbXBvcnQgTmV3RWRpdEZvb2RQYWdlIGZyb20gJy4uL2Zvb2QvZm9ybSc7XG5pbXBvcnQgSW50ZXJlc3RlZFRlYW1MaXN0IGZyb20gJy4uL2ludGVyZXN0ZWRfdGVhbSc7XG5pbXBvcnQgTmV3RWRpdEludGVyZXN0ZWRUZWFtUGFnZSBmcm9tICcuLi9pbnRlcmVzdGVkX3RlYW0vZm9ybSc7XG5pbXBvcnQgTGFuZ3VhZ2VMaXN0IGZyb20gJy4uL2xhbmd1YWdlJztcbmltcG9ydCBOZXdFZGl0TGFuZ3VhZ2VQYWdlIGZyb20gJy4uL2xhbmd1YWdlL2Zvcm0nO1xuaW1wb3J0IE9jY3VwYXRpb25MaXN0IGZyb20gJy4uL29jY3VwYXRpb24nO1xuaW1wb3J0IE5ld0VkaXRPY2N1cGF0aW9uUGFnZSBmcm9tICcuLi9vY2N1cGF0aW9uL2Zvcm0nO1xuaW1wb3J0IE9wcG9ydHVuaXR5U291cmNlTGlzdCBmcm9tICcuLi9vcHBvcnR1bml0eV9zb3VyY2UnO1xuaW1wb3J0IE5ld0VkaXRPcHBvcnR1bml0eVNvdXJjZVBhZ2UgZnJvbSAnLi4vb3Bwb3J0dW5pdHlfc291cmNlL2Zvcm0nO1xuaW1wb3J0IFByb3ZpbmNlTGlzdCBmcm9tICcuLi9wcm92aW5jZSc7XG5pbXBvcnQgTmV3RWRpdFByb3ZpbmNlUGFnZSBmcm9tICcuLi9wcm92aW5jZS9mb3JtJztcbmltcG9ydCBTa2lsbExpc3QgZnJvbSAnLi4vc2tpbGwnO1xuaW1wb3J0IE5ld0VkaXRTa2lsbFBhZ2UgZnJvbSAnLi4vc2tpbGwvZm9ybSc7XG5pbXBvcnQgVGVybXNDb25kaXRpb25MaXN0IGZyb20gJy4uL3Rlcm1zX2NvbmRpdGlvbic7XG5pbXBvcnQgTmV3RWRpdFRlcm1zQ29uZGl0aW9uUGFnZSBmcm9tICcuLi90ZXJtc19jb25kaXRpb24vZm9ybSc7XG5pbXBvcnQgVHJhaW5pbmdTZXNzaW9uTGlzdCBmcm9tICcuLi90cmFpbmluZ19zZXNzaW9uJztcbmltcG9ydCBOZXdFZGl0VHJhaW5pbmdTZXNzaW9uUGFnZSBmcm9tICcuLi90cmFpbmluZ19zZXNzaW9uL2Zvcm0nO1xuaW1wb3J0IFZvbHVudGVlckV2ZW50TGlzdCBmcm9tICcuLi92b2x1bnRlZXJfZXZlbnQnO1xuaW1wb3J0IE5ld0VkaXRWb2x1bnRlZXJFdmVudFBhZ2UgZnJvbSAnLi4vdm9sdW50ZWVyX2V2ZW50L2Zvcm0nO1xuaW1wb3J0IFVzZXJMaXN0IGZyb20gXCIuLi91c2VyXCI7XG5pbXBvcnQgTmV3RWRpdFVzZXJQYWdlIGZyb20gXCIuLi91c2VyL2Zvcm1cIjtcbmltcG9ydCBOZXdFZGl0T2ZmZXJQcm9ncmFtUGFnZSBmcm9tIFwiLi4vb2ZmZXJfcHJvZ3JhbS9mb3JtXCI7XG5pbXBvcnQgT2ZmZXJQcm9ncmFtTGlzdCBmcm9tIFwiLi4vb2ZmZXJfcHJvZ3JhbVwiO1xuaW1wb3J0IFRyYXZlbERheUxpc3QgZnJvbSBcIi4uL3RyYXZlbF9kYXlcIjtcbmltcG9ydCBOZXdFZGl0VHJhdmVsRGF5UGFnZSBmcm9tIFwiLi4vdHJhdmVsX2RheS9mb3JtXCI7XG5pbXBvcnQgTm90aWZpY2F0aW9uUGFnZSBmcm9tIFwiLi4vbm90aWZpY2F0aW9uL2luZGV4XCI7XG5pbXBvcnQgVXBsb2FkQ1NWUGFnZSBmcm9tIFwiLi4vdm9sdW50ZWVyL3VwbG9hZF9jc3ZcIjtcbmltcG9ydCBVcGRhdGVUZWFtQ3N2UGFnZSBmcm9tIFwiLi4vdm9sdW50ZWVyL3VwZGF0ZV90ZWFtX2NzdlwiO1xuaW1wb3J0IFVwZGF0ZUlkZW50aXR5Q3N2UGFnZSBmcm9tIFwiLi4vdm9sdW50ZWVyL3VwZGF0ZV9pZGVudGl0eV9jc3ZcIjtcbmltcG9ydCBVc2VyQXR0ZW5kYW5jZUxpc3QgZnJvbSBcIi4uL3VzZXJfYXR0ZW5kYW5jZS9pbmRleFwiO1xuaW1wb3J0IE5ld0VkaXRVc2VyQXR0ZW5kYW5jZVBhZ2UgZnJvbSBcIi4uL3VzZXJfYXR0ZW5kYW5jZS9mb3JtXCI7XG5pbXBvcnQgRmFtaWx5U3VydmV5Rm9ybSBmcm9tIFwiLi4vLi4vZmFtaWx5X3N1cnZleS9GYW1pbHlTdXJ2ZXlGb3JtXCI7XG5pbXBvcnQgRmFtaWx5QXBwcm92ZWRMaXN0IGZyb20gXCIuLi8uLi9mYW1pbHlfc3VydmV5L2luZGV4XCI7XG5cbmNvbnN0IHsgSGVhZGVyLCBDb250ZW50LCBTaWRlciB9ID0gTGF5b3V0O1xuXG4vLyBNZW51IENvbmZpZ3VyYXRpb25cbmludGVyZmFjZSBNZW51SXRlbSB7XG4gIGtleTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBpY29uPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0bz86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBNZW51SXRlbVtdO1xufVxuXG5jb25zdCBtZW51czogTWVudUl0ZW1bXSA9IFtcbiAgeyBrZXk6IFwiL1wiLCB0aXRsZTogXCJEYXNoYm9hcmRcIiwgaWNvbjogPERhc2hib2FyZE91dGxpbmVkIC8+LCB0bzogXCIvXCIgfSxcbiAgeyBrZXk6IFwiL3ZvbHVudGVlcnNcIiwgdGl0bGU6IFwi4Z6i4Z+S4Z6T4Z6A4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6PXCIsIGljb246IDxBcHBzdG9yZU91dGxpbmVkIC8+LCB0bzogXCIvdm9sdW50ZWVyc1wiIH0sXG4gIHsga2V5OiBcIi92b2x1bnRlZXIvdXBsb2FkLWNzdlwiLCB0aXRsZTogXCJJbXBvcnQgVm9sdW50ZWVyc1wiLCBpY29uOiA8RmlsZUFkZE91dGxpbmVkIC8+LCB0bzogXCIvdm9sdW50ZWVyL3VwbG9hZC1jc3ZcIiB9LFxuICB7IGtleTogXCIvdm9sdW50ZWVyL3VwZGF0ZS10ZWFtLWNzdlwiLCB0aXRsZTogXCJBc3NpZ24gdG8gVGVhbXNcIiwgaWNvbjogPFRlYW1PdXRsaW5lZCAvPiwgdG86IFwiL3ZvbHVudGVlci91cGRhdGUtdGVhbS1jc3ZcIiB9LFxuICB7IGtleTogXCIvdm9sdW50ZWVyL3VwZGF0ZS1pZGVudGl0eS1jc3ZcIiwgdGl0bGU6IFwiVXBkYXRlIElkZW50aXR5XCIsIGljb246IDxVc2VyT3V0bGluZWQgLz4sIHRvOiBcIi92b2x1bnRlZXIvdXBkYXRlLWlkZW50aXR5LWNzdlwiIH0sXG4gIHsga2V5OiBcIi91c2VyLWF0dGVuZGFuY2VzXCIsIHRpdGxlOiBcIlVzZXIgQXR0ZW5kYW5jZXNcIiwgaWNvbjogPFRlYW1PdXRsaW5lZCAvPiwgdG86IFwiL3VzZXItYXR0ZW5kYW5jZXNcIiB9LFxuICB7IGtleTogXCIvZmFtaWx5LXN1cnZleVwiLCB0aXRsZTogXCJGYW1pbHkgU3VydmV5XCIsIGljb246IDxUZWFtT3V0bGluZWQgLz4sIHRvOiBcIi9mYW1pbHktc3VydmV5XCIgfSxcbiAge1xuICAgIGtleTogXCJzZXR0aW5nc1wiLFxuICAgIHRpdGxlOiBcIuGegOGetuGemuGegOGfhuGejuGej+Gfi1wiLFxuICAgIGljb246IDxTZXR0aW5nT3V0bGluZWQgLz4sXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHsga2V5OiAnL3VzZXJzJywgdGl0bGU6ICfhnoLhn5LhnprhnpThn4vhnoLhn5LhnprhnoThnqLhn5LhnpPhnoDhnpThn5Lhnprhnr7hnpThn5Lhnprhnrbhnp/hn4snLCB0bzogJy91c2VycycsIGljb246IDxVc2VyT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL2Rpc2FiaWxpdHktdHlwZXMnLCB0aXRsZTogJ+GelOGfkuGemuGel+GfgeGekeGeluGet+GegOGetuGemuGel+GetuGelicsIHRvOiAnL2Rpc2FiaWxpdHktdHlwZXMnLCBpY29uOiA8VXNlck91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9lZHVjYXRpb24taW5zdGl0dXRpb25zJywgdGl0bGU6ICfhnp/hn5LhnpDhnrbhnpThn5DhnpPhnqLhnpThn4vhnprhn4YnLCB0bzogJy9lZHVjYXRpb24taW5zdGl0dXRpb25zJywgaWNvbjogPEJvb2tPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvZm9vZHMnLCB0aXRsZTogJ+GeouGetuGeoOGetuGemicsIHRvOiAnL2Zvb2RzJywgaWNvbjogPFNob3BPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvaW50ZXJlc3RlZC10ZWFtcycsIHRpdGxlOiAn4Z6A4Z+S4Z6a4Z674Z6YJywgdG86ICcvaW50ZXJlc3RlZC10ZWFtcycsIGljb246IDxUZWFtT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL2xhbmd1YWdlcycsIHRpdGxlOiAn4Z6X4Z624Z6f4Z62JywgdG86ICcvbGFuZ3VhZ2VzJywgaWNvbjogPEdsb2JhbE91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9vY2N1cGF0aW9ucycsIHRpdGxlOiAn4Z6Y4Z674Z6B4Z6a4Z6U4Z6aJywgdG86ICcvb2NjdXBhdGlvbnMnLCBpY29uOiA8QnVpbGRPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvb3Bwb3J0dW5pdHktc291cmNlcycsIHRpdGxlOiAn4Z6U4Z+S4Z6a4Z6X4Z6W4Z6x4Z6A4Z624Z6fJywgdG86ICcvb3Bwb3J0dW5pdHktc291cmNlcycsIGljb246IDxVc2VyT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL3Byb3ZpbmNlcycsIHRpdGxlOiAn4Z6B4Z+B4Z6P4Z+S4Z6PL+GegOGfkuGemuGeu+GehCcsIHRvOiAnL3Byb3ZpbmNlcycsIGljb246IDxFbnZpcm9ubWVudE91dGxpbmVkIC8+IH0sXG4gICAgICB7IGtleTogJy9za2lsbHMnLCB0aXRsZTogJ+Geh+GfhuGek+GetuGeiScsIHRvOiAnL3NraWxscycsIGljb246IDxTa2V0Y2hPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvdGVybXMtY29uZGl0aW9ucycsIHRpdGxlOiAn4Z6b4Z6A4Z+S4Z6B4Z6B4Z6O4Z+S4Z6MJywgdG86ICcvdGVybXMtY29uZGl0aW9ucycsIGljb246IDxTZXR0aW5nT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL3RyYWluaW5nLXNlc3Npb25zJywgdGl0bGU6ICfhnpzhnoLhn5LhnoLhnpThno7hn5Lhno/hnrvhn4fhnpThno7hn5Lhno/hnrbhnpsnLCB0bzogJy90cmFpbmluZy1zZXNzaW9ucycsIGljb246IDxCdWxiT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL3ZvbHVudGVlci1ldmVudHMnLCB0aXRsZTogJ+GeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjeGen+GfkuGemOGfkOGeguGfkuGemuGeheGet+Gej+GfkuGejycsIHRvOiAnL3ZvbHVudGVlci1ldmVudHMnLCBpY29uOiA8QXBwc3RvcmVPdXRsaW5lZCAvPiB9LFxuICAgICAgeyBrZXk6ICcvb2ZmZXItcHJvZ3JhbXMnLCB0aXRsZTogJ+GegOGemOGfkuGemOGenOGeuOGekuGeuOGeleGfkuGeiuGem+Gfi+Geh+GevOGekycsIHRvOiAnL29mZmVyLXByb2dyYW1zJywgaWNvbjogPEFwcHN0b3JlT3V0bGluZWQgLz4gfSxcbiAgICAgIHsga2V5OiAnL3RyYXZlbC1kYXlzJywgdGl0bGU6ICfhnpDhn5LhnoThn4PhnpLhn5Lhnpzhnr7hnorhn4bhno7hnr7hnponLCB0bzogJy90cmF2ZWwtZGF5cycsIGljb246IDxDYXJPdXRsaW5lZCAvPiB9LFxuICAgIF1cbiAgfSxcbiAge1xuICAgIGtleTogXCJub3RpZmljYXRpb25cIixcbiAgICB0aXRsZTogXCLhnp/hnrbhnprhnofhnrzhnpPhnorhn4bhno7hnrnhnoRcIixcbiAgICBpY29uOiA8Tm90aWZpY2F0aW9uT3V0bGluZWQgLz4sXG4gICAgdG86IFwiL25vdGlmaWNhdGlvblwiXG4gIH1cbl07XG5cbi8vIEZpcnN0LCBsZXQncyBkZWZpbmUgdXNlciByb2xlIHR5cGVzIGFuZCBwZXJtaXNzaW9uc1xuY29uc3QgVVNFUl9ST0xFUyA9IHtcbiAgU1VQRVJfQURNSU46IFwic3VwZXJfYWRtaW5cIixcbiAgQURNSU46IFwiYWRtaW5cIixcbiAgUkVQT1JURVI6IFwicmVwb3J0ZXJcIixcbiAgVVNFUjogXCJ1c2VyXCJcbn0gYXMgY29uc3Q7XG5cbi8vIE1vZGlmeSBtZW51IHZpc2liaWxpdHkgYmFzZWQgb24gcm9sZVxuY29uc3QgZ2V0QXV0aG9yaXplZE1lbnVzID0gKHJvbGU/OiBzdHJpbmcpID0+IHtcbiAgLy8gSGFuZGxlIHVuZGVmaW5lZCByb2xlIGNhc2VcbiAgaWYgKCFyb2xlKSByZXR1cm4gW107XG4gIFxuICBzd2l0Y2ggKHJvbGUpIHtcbiAgICBjYXNlIFVTRVJfUk9MRVMuU1VQRVJfQURNSU46XG4gICAgICByZXR1cm4gbWVudXM7XG4gICAgY2FzZSBVU0VSX1JPTEVTLlJFUE9SVEVSOlxuICAgICAgcmV0dXJuIG1lbnVzLmZpbHRlcihtZW51ID0+XG4gICAgICAgIG1lbnUua2V5ID09PSBcIi9mYW1pbHktc3VydmV5XCJcbiAgICAgICk7XG4gICAgY2FzZSBVU0VSX1JPTEVTLkFETUlOOlxuICAgICAgcmV0dXJuIG1lbnVzLmZpbHRlcihtZW51ID0+XG4gICAgICAgIG1lbnUua2V5ID09PSBcIi92b2x1bnRlZXJzXCIgfHxcbiAgICAgICAgbWVudS5rZXkgPT09IFwiL3VzZXItYXR0ZW5kYW5jZXNcIlxuICAgICAgKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG1lbnVzLmZpbHRlcihtZW51ID0+IG1lbnUua2V5ID09PSBcIi92b2x1bnRlZXJzXCIpO1xuICB9XG59O1xuXG5jb25zdCBNYWluOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgeyBhdXRoIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGN1cnJlbnRVc2VyIH0gPSBhdXRoO1xuICBjb25zdCB1c2VyUm9sZSA9IGN1cnJlbnRVc2VyPy5yb2xlO1xuXG4gIGNvbnN0IFthY3RpdmVNZW51S2V5LCBzZXRBY3RpdmVNZW51S2V5XSA9IHVzZVN0YXRlKGxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2RyYXdlclZpc2libGUsIHNldERyYXdlclZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZmlsdGVyZWRNZW51cywgc2V0RmlsdGVyZWRNZW51c10gPSB1c2VTdGF0ZTx0eXBlb2YgbWVudXM+KFtdKTtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0QWN0aXZlTWVudUtleShsb2NhdGlvbi5wYXRobmFtZSk7XG4gIH0sIFtsb2NhdGlvbl0pO1xuXG4gIC8vIFVwZGF0ZSB1c2VFZmZlY3QgdG8gaGFuZGxlIG1lbnUgdXBkYXRlc1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh1c2VyUm9sZSkge1xuICAgICAgY29uc3QgYXV0aG9yaXplZE1lbnVzID0gZ2V0QXV0aG9yaXplZE1lbnVzKHVzZXJSb2xlKTtcbiAgICAgIHNldEZpbHRlcmVkTWVudXMoYXV0aG9yaXplZE1lbnVzKTtcbiAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbdXNlclJvbGVdKTsgLy8gRGVwZW5kIG9uIHVzZXJSb2xlIGNoYW5nZXNcblxuICBjb25zdCBoYW5kbGVMb2dvdXQgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2gobG9nb3V0KCkpO1xuICAgIG5hdmlnYXRlKFwiL2xvZ2luXCIpO1xuICB9O1xuICBjb25zb2xlLmxvZyhcIkN1cnJlbnQgVXNlcjpcIiwgY3VycmVudFVzZXI/LnJvbGUpO1xuICAvLyBDaGVjayBpZiB1c2VyIGhhcyBhZG1pbiBhY2Nlc3NcbiAgY29uc3QgY2FuQWNjZXNzQWRtaW5Sb3V0ZXMgPSB1c2VyUm9sZSA9PT0gVVNFUl9ST0xFUy5TVVBFUl9BRE1JTjtcbiAgY29uc3QgY2FuQWNjZXNzUmVwb3J0ZXJSb3V0ZXMgPSB1c2VyUm9sZSA9PT0gVVNFUl9ST0xFUy5SRVBPUlRFUjtcbiAgY29uc3QgY2FuQWNjZXNzQmFzaWNSb3V0ZXMgPSB1c2VyUm9sZSA9PT0gVVNFUl9ST0xFUy5VU0VSIHx8IHVzZXJSb2xlID09PSBVU0VSX1JPTEVTLkFETUlOO1xuXG4gIGlmIChpc0xvYWRpbmcpIHtcbiAgICByZXR1cm4gPExheW91dCBzdHlsZT17eyBtaW5IZWlnaHQ6IFwiMTAwdmhcIiB9fT5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBoZWlnaHQ6ICcxMDB2aCcgfX0+XG4gICAgICAgIExvYWRpbmcuLi5cbiAgICAgIDwvZGl2PlxuICAgIDwvTGF5b3V0PjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPExheW91dCBzdHlsZT17eyBtaW5IZWlnaHQ6IFwiMTAwdmhcIiB9fT5cbiAgICAgIHsvKiBGaXhlZCBIZWFkZXIgKi99XG4gICAgICA8SGVhZGVyXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgekluZGV4OiAxMDAwLFxuICAgICAgICAgIGhlaWdodDogNjUsXG4gICAgICAgICAgYmFja2dyb3VuZDogXCIjMzE4QURFRkZcIixcbiAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgIHBhZGRpbmc6IFwiMCAyMHB4XCIsXG4gICAgICAgICAgYm94U2hhZG93OiBcIjAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpXCIsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgaWNvbj17PE1lbnVPdXRsaW5lZCAvPn1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXREcmF3ZXJWaXNpYmxlKHRydWUpfVxuICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAxMCwgZGlzcGxheTogJ25vbmUnIH19XG4gICAgICAgICAgY2xhc3NOYW1lPVwibW9iaWxlLW1lbnUtYnV0dG9uXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBmbGV4OiAxLCBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICAgIDxpbWcgc3JjPXtsb2dvfSBzdHlsZT17eyB3aWR0aDogNDUsIG1hcmdpblJpZ2h0OiAxNiB9fSBhbHQ9XCJMb2dvXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgICAgICA8QXZhdGFyXG4gICAgICAgICAgICBzcmM9e2N1cnJlbnRVc2VyLnBob3RvX3VybH1cbiAgICAgICAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgLz5cblxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBjb2xvcjogJyNmZmYnLCBtYXJnaW5SaWdodDogJzE2cHgnLCBtYXJnaW5MZWZ0OiAxNiB9fT5cbiAgICAgICAgICAgIHtjdXJyZW50VXNlcj8udXNlcm5hbWUgPyBjdXJyZW50VXNlci51c2VybmFtZS5zcGxpdCgnLScpLnBvcCgpIDogJ0d1ZXN0J31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRTaXplOiAxMiwgY29sb3I6ICcjZmZmJywgbWFyZ2luUmlnaHQ6ICcxNnB4JyB9fT5cbiAgICAgICAgICAgIHtjdXJyZW50VXNlcj8ucm9sZSB8fCAnQWRkbWluaXN0cmF0b3InfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPE1lbnUgdGhlbWU9XCJkYXJrXCIgbW9kZT1cImhvcml6b250YWxcIiBzdHlsZT17eyBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLCBib3JkZXJCb3R0b206ICdub25lJyB9fT5cbiAgICAgICAgICA8TWVudS5JdGVtIGtleT1cImxvZ291dFwiIGljb249ezxMb2dvdXRPdXRsaW5lZCAvPn0gb25DbGljaz17aGFuZGxlTG9nb3V0fT5cbiAgICAgICAgICAgIExvZ291dFxuICAgICAgICAgIDwvTWVudS5JdGVtPlxuICAgICAgICA8L01lbnU+XG4gICAgICA8L0hlYWRlcj5cblxuICAgICAgPExheW91dCBzdHlsZT17eyBtYXJnaW5Ub3A6IDY1IH19PlxuXG4gICAgICAgIHsvKiBTaWRlYmFyICovfVxuICAgICAgICA8U2lkZXIgY29sbGFwc2libGUgY29sbGFwc2VkPXtjb2xsYXBzZWR9IG9uQ29sbGFwc2U9e3NldENvbGxhcHNlZH0gd2lkdGg9ezIwMH0gc3R5bGU9e3sgYmFja2dyb3VuZDogXCIjZmZmXCIsIG92ZXJmbG93OiBcImF1dG9cIiwgaGVpZ2h0OiBcIjEwMHZoXCIsIHBvc2l0aW9uOiBcImZpeGVkXCIsIGxlZnQ6IDAsIHRvcDogNjUgfX0+XG4gICAgICAgICAgPE1lbnUgbW9kZT1cImlubGluZVwiIHNlbGVjdGVkS2V5cz17W2FjdGl2ZU1lbnVLZXldfSBzdHlsZT17eyBoZWlnaHQ6IFwiMTAwJVwiLCBvdmVyZmxvd1k6ICdhdXRvJyB9fT5cbiAgICAgICAgICAgIHtmaWx0ZXJlZE1lbnVzLm1hcChtZW51ID0+XG4gICAgICAgICAgICAgIG1lbnUuY2hpbGRyZW4gPyAoXG4gICAgICAgICAgICAgICAgPE1lbnUuU3ViTWVudSBrZXk9e21lbnUua2V5fSBpY29uPXttZW51Lmljb259IHRpdGxlPXttZW51LnRpdGxlfT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgbWF4SGVpZ2h0OiAnNjB2aCcsIG92ZXJmbG93WTogJ2F1dG8nLCBtYXJnaW5Cb3R0b206ICc1MHB4JyB9fT5cbiAgICAgICAgICAgICAgICAgICAge21lbnUuY2hpbGRyZW4ubWFwKHN1Ym1lbnUgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxNZW51Lkl0ZW0ga2V5PXtzdWJtZW51LmtleX0gaWNvbj17c3VibWVudS5pY29ufT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPXtzdWJtZW51LnRvfT57c3VibWVudS50aXRsZX08L0xpbms+XG4gICAgICAgICAgICAgICAgICAgICAgPC9NZW51Lkl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9NZW51LlN1Yk1lbnU+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPE1lbnUuSXRlbSBrZXk9e21lbnUua2V5fSBpY29uPXttZW51Lmljb259PlxuICAgICAgICAgICAgICAgICAgPExpbmsgdG89e21lbnUudG99PnttZW51LnRpdGxlfTwvTGluaz5cbiAgICAgICAgICAgICAgICA8L01lbnUuSXRlbT5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L01lbnU+XG4gICAgICAgIDwvU2lkZXI+XG5cbiAgICAgICAgey8qIERyYXdlciBmb3IgTW9iaWxlIE1lbnUgKi99XG4gICAgICAgIHsvKiBEcmF3ZXIgZm9yIE1vYmlsZSBNZW51ICovfVxuICAgICAgICA8RHJhd2VyIHRpdGxlPVwiTWVudVwiIHBsYWNlbWVudD1cImxlZnRcIiBjbG9zYWJsZSBvbkNsb3NlPXsoKSA9PiBzZXREcmF3ZXJWaXNpYmxlKGZhbHNlKX0gb3Blbj17ZHJhd2VyVmlzaWJsZX0gYm9keVN0eWxlPXt7IHBhZGRpbmc6IDAgfX0+XG4gICAgICAgICAgPE1lbnUgbW9kZT1cImlubGluZVwiIHNlbGVjdGVkS2V5cz17W2FjdGl2ZU1lbnVLZXldfSBzdHlsZT17eyBoZWlnaHQ6IFwiMTAwJVwiIH19PlxuICAgICAgICAgICAge2ZpbHRlcmVkTWVudXMubWFwKG1lbnUgPT5cbiAgICAgICAgICAgICAgbWVudS5jaGlsZHJlbiA/IChcbiAgICAgICAgICAgICAgICA8TWVudS5TdWJNZW51IGtleT17bWVudS5rZXl9IGljb249e21lbnUuaWNvbn0gdGl0bGU9e21lbnUudGl0bGV9PlxuICAgICAgICAgICAgICAgICAge21lbnUuY2hpbGRyZW4ubWFwKHN1Ym1lbnUgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8TWVudS5JdGVtIGtleT17c3VibWVudS5rZXl9PlxuICAgICAgICAgICAgICAgICAgICAgIDxMaW5rIHRvPXtzdWJtZW51LnRvfT57c3VibWVudS50aXRsZX08L0xpbms+XG4gICAgICAgICAgICAgICAgICAgIDwvTWVudS5JdGVtPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9NZW51LlN1Yk1lbnU+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPE1lbnUuSXRlbSBrZXk9e21lbnUua2V5fSBpY29uPXttZW51Lmljb259PlxuICAgICAgICAgICAgICAgICAgPExpbmsgdG89e21lbnUudG99PnttZW51LnRpdGxlfTwvTGluaz5cbiAgICAgICAgICAgICAgICA8L01lbnUuSXRlbT5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L01lbnU+XG4gICAgICAgIDwvRHJhd2VyPlxuXG5cbiAgICAgICAgey8qIE1haW4gQ29udGVudCAqL31cbiAgICAgICAgPExheW91dCBzdHlsZT17eyBtYXJnaW5MZWZ0OiBjb2xsYXBzZWQgPyA4MCA6IDIwMCwgcGFkZGluZzogXCIyNHB4XCIgfX0+XG4gICAgICAgICAgPENvbnRlbnQgc3R5bGU9e3sgYmFja2dyb3VuZDogXCIjZmZmXCIsIHBhZGRpbmc6IFwiMjRweFwiLCBtaW5IZWlnaHQ6IFwiY2FsYygxMDB2aCAtIDY1cHgpXCIgfX0+XG4gICAgICAgICAgICA8Um91dGVzPlxuICAgICAgICAgICAgICB7LyogUmVwb3J0ZXIgc3BlY2lmaWMgcm91dGVzIC0gc2hvdWxkIGJlIGNoZWNrZWQgZmlyc3QgKi99XG4gICAgICAgICAgICAgIHtjYW5BY2Nlc3NSZXBvcnRlclJvdXRlcyAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2ZhbWlseS1zdXJ2ZXlcIiBlbGVtZW50PXs8RmFtaWx5QXBwcm92ZWRMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvZmFtaWx5LXN1cnZleS9mb3JtXCIgZWxlbWVudD17PEZhbWlseVN1cnZleUZvcm0gLz59IC8+XG4gICAgICAgICAgICAgICAgICB7LyogUmVkaXJlY3QgcmVwb3J0ZXIgdG8gZmFtaWx5LXN1cnZleSBpZiB0aGV5IHRyeSB0byBhY2Nlc3Mgcm9vdCAqL31cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL1wiIGVsZW1lbnQ9ezxOYXZpZ2F0ZSB0bz1cIi9mYW1pbHktc3VydmV5XCIgcmVwbGFjZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIHsvKiBDYXRjaCBhbGwgb3RoZXIgcm91dGVzIGFuZCByZWRpcmVjdCB0byBmYW1pbHktc3VydmV5ICovfVxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIqXCIgZWxlbWVudD17PE5hdmlnYXRlIHRvPVwiL2ZhbWlseS1zdXJ2ZXlcIiByZXBsYWNlIC8+fSAvPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIHsvKiBBZG1pbiBhbmQgYmFzaWMgdXNlciByb3V0ZXMgKi99XG4gICAgICAgICAgICAgIHsoY2FuQWNjZXNzQWRtaW5Sb3V0ZXMgfHwgY2FuQWNjZXNzQmFzaWNSb3V0ZXMpICYmICFjYW5BY2Nlc3NSZXBvcnRlclJvdXRlcyAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3ZvbHVudGVlcnNcIiBlbGVtZW50PXs8Vm9sdW50ZWVyTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3ZvbHVudGVlci9mb3JtXCIgZWxlbWVudD17PE5ld0VkaXRWb2x1bnRlZXJQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdXNlci1hdHRlbmRhbmNlc1wiIGVsZW1lbnQ9ezxVc2VyQXR0ZW5kYW5jZUxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi91c2VyLWF0dGVuZGFuY2VzL2Zvcm1cIiBlbGVtZW50PXs8TmV3RWRpdFVzZXJBdHRlbmRhbmNlUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICB7LyogU3VwZXIgYWRtaW4gb25seSByb3V0ZXMgKi99XG4gICAgICAgICAgICAgIHtjYW5BY2Nlc3NBZG1pblJvdXRlcyAmJiAhY2FuQWNjZXNzUmVwb3J0ZXJSb3V0ZXMgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9cIiBlbGVtZW50PXs8SG9tZVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9ub3RpZmljYXRpb25cIiBlbGVtZW50PXs8Tm90aWZpY2F0aW9uUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3VzZXJzXCIgZWxlbWVudD17PFVzZXJMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvdXNlcnMvZm9ybVwiIGVsZW1lbnQ9ezxOZXdFZGl0VXNlclBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9kaXNhYmlsaXR5LXR5cGVzXCIgZWxlbWVudD17PERpc2FiaWxpdHlUeXBlTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2Rpc2FiaWxpdHktdHlwZXMvZm9ybVwiIGVsZW1lbnQ9ezxOZXdFZGl0RGlzYWJpbGl0eVR5cGVQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9lZHVjYXRpb24taW5zdGl0dXRpb25zJyBlbGVtZW50PXs8RWR1Y2F0aW9uSW5zdGl0dXRpb25MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9lZHVjYXRpb24taW5zdGl0dXRpb25zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0RWR1Y2F0aW9uSW5zdGl0dXRpb25QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9mb29kcycgZWxlbWVudD17PEZvb2RMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9mb29kcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdEZvb2RQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9pbnRlcmVzdGVkLXRlYW1zJyBlbGVtZW50PXs8SW50ZXJlc3RlZFRlYW1MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9pbnRlcmVzdGVkLXRlYW1zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0SW50ZXJlc3RlZFRlYW1QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9sYW5ndWFnZXMnIGVsZW1lbnQ9ezxMYW5ndWFnZUxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL2xhbmd1YWdlcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdExhbmd1YWdlUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb2NjdXBhdGlvbnMnIGVsZW1lbnQ9ezxPY2N1cGF0aW9uTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb2NjdXBhdGlvbnMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRPY2N1cGF0aW9uUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb3Bwb3J0dW5pdHktc291cmNlcycgZWxlbWVudD17PE9wcG9ydHVuaXR5U291cmNlTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb3Bwb3J0dW5pdHktc291cmNlcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdE9wcG9ydHVuaXR5U291cmNlUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvcHJvdmluY2VzJyBlbGVtZW50PXs8UHJvdmluY2VMaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9wcm92aW5jZXMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRQcm92aW5jZVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3NraWxscycgZWxlbWVudD17PFNraWxsTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvc2tpbGxzL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0U2tpbGxQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy90ZXJtcy1jb25kaXRpb25zJyBlbGVtZW50PXs8VGVybXNDb25kaXRpb25MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy90ZXJtcy1jb25kaXRpb25zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0VGVybXNDb25kaXRpb25QYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy90cmFpbmluZy1zZXNzaW9ucycgZWxlbWVudD17PFRyYWluaW5nU2Vzc2lvbkxpc3QgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3RyYWluaW5nLXNlc3Npb25zL2Zvcm0nIGVsZW1lbnQ9ezxOZXdFZGl0VHJhaW5pbmdTZXNzaW9uUGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdm9sdW50ZWVyLWV2ZW50cycgZWxlbWVudD17PFZvbHVudGVlckV2ZW50TGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdm9sdW50ZWVyLWV2ZW50cy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdFZvbHVudGVlckV2ZW50UGFnZSAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvb2ZmZXItcHJvZ3JhbXMnIGVsZW1lbnQ9ezxPZmZlclByb2dyYW1MaXN0IC8+fSAvPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9Jy9vZmZlci1wcm9ncmFtcy9mb3JtJyBlbGVtZW50PXs8TmV3RWRpdE9mZmVyUHJvZ3JhbVBhZ2UgLz59IC8+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD0nL3RyYXZlbC1kYXlzJyBlbGVtZW50PXs8VHJhdmVsRGF5TGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvdHJhdmVsLWRheXMvZm9ybScgZWxlbWVudD17PE5ld0VkaXRUcmF2ZWxEYXlQYWdlIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgey8qIDxSb3V0ZSBwYXRoPScvZmFtaWx5LXN1cnZleScgZWxlbWVudD17PEZhbWlseUFwcHJvdmVkTGlzdCAvPn0gLz5cbiAgICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPScvZmFtaWx5LXN1cnZleS9mb3JtJyBlbGVtZW50PXs8RmFtaWx5U3VydmV5Rm9ybSAvPn0gLz4gKi99XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1JvdXRlcz5cbiAgICAgICAgICA8L0NvbnRlbnQ+XG4gICAgICAgICAgPEZvb3RlckNvbXBvbmVudCAvPlxuICAgICAgICA8L0xheW91dD5cbiAgICAgIDwvTGF5b3V0PlxuICAgIDwvTGF5b3V0PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTWFpbjtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwidXNlRGlzcGF0Y2giLCJ1c2VTZWxlY3RvciIsImNyZWF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIiwiZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24iLCJ1cGRhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiIsInVzZU5hdmlnYXRlIiwiVGV4dEFyZWEiLCJOZXdFZGl0RGlzYWJpbGl0eVR5cGVQYWdlIiwiZGlzcGF0Y2giLCJuYXZpZ2F0ZSIsIl91c2VTZWxlY3RvciIsInN0YXRlIiwiZGlzYWJpbGl0eVR5cGUiLCJyZWdpc3RlckVycm9yTWVzc2FnZSIsImRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyIsIl9Gb3JtJHVzZUZvcm0iLCJfRm9ybSIsInVzZUZvcm0iLCJfRm9ybSR1c2VGb3JtMiIsIl9zbGljZWRUb0FycmF5IiwiZm9ybSIsInNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiaWQiLCJnZXQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiaXNDbGljayIsInNldElzQ2xpY2siLCJOdW1iZXIiLCJyZXNldEZpZWxkcyIsInNldEZpZWxkc1ZhbHVlIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiX21lc3NhZ2UiLCJlcnJvciIsInN1Y2Nlc3MiLCJvbkZpbmlzaCIsInZhbHVlcyIsImRhdGEiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJsYXlvdXQiLCJzdHlsZSIsIm1heFdpZHRoIiwibWFyZ2luIiwiX1JvdyIsImd1dHRlciIsIl9Db2wiLCJzcGFuIiwiSXRlbSIsImxhYmVsIiwicnVsZXMiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJfSW5wdXQiLCJyb3dzIiwiX0J1dHRvbiIsInR5cGUiLCJibG9jayIsImh0bWxUeXBlIiwibG9hZGluZyIsIm9uQ2xpY2siLCJMb2FkaW5nRGlhbG9nIiwiRGVsZXRlT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJQbHVzT3V0bGluZWQiLCJkZWxldGVEaXNhYmlsaXR5VHlwZUFjdGlvbiIsImZldGNoRGlzYWJpbGl0eVR5cGVzIiwiU3dhbCIsIkRpc2FiaWxpdHlUeXBlTGlzdCIsIl9kaXNhYmlsaXR5VHlwZXMkbWV0YSIsIl9kaXNhYmlsaXR5VHlwZXMkbWV0YTIiLCJjdXJyZW50UGFnZSIsInNldEN1cnJlbnRQYWdlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJwYWdlU2l6ZSIsInNldFBhZ2VTaXplIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZWxlY3RlZFJvd3MiLCJzZXRTZWxlY3RlZFJvd3MiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlYXJjaFRleHQiLCJzZXRTZWFyY2hUZXh0IiwiZGlzYWJpbGl0eVR5cGVzIiwiZGlzYWJpbGl0eVR5cGVzUGVuZGluZyIsInBhZ2UiLCJoYW5kbGVFZGl0IiwiY29uY2F0IiwiaGFuZGxlRGVsZXRlIiwiZmlyZSIsInRpdGxlIiwidGV4dCIsImljb24iLCJzaG93Q29uZmlybUJ1dHRvbiIsInNob3dDYW5jZWxCdXR0b24iLCJodG1sIiwiZGlkT3BlbiIsIl9Td2FsJGdldFBvcHVwIiwiX1N3YWwkZ2V0UG9wdXAyIiwiY29uZmlybUJ1dHRvbiIsImdldFBvcHVwIiwicXVlcnlTZWxlY3RvciIsImNhbmNlbEJ1dHRvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0aGVuIiwiY2xvc2UiLCJoYW5kbGVTZWFyY2giLCJ0cmltIiwiaGFuZGxlUmVzZXQiLCJoYW5kbGVUYWJsZUNoYW5nZSIsInBhZ2luYXRpb24iLCJjdXJyZW50IiwiY29sdW1ucyIsImRhdGFJbmRleCIsImtleSIsInJlc3BvbnNpdmUiLCJyZW5kZXIiLCJfIiwicmVjb3JkIiwiX1NwYWNlIiwic2l6ZSIsImRhbmdlciIsImZpbHRlcmVkRGF0YSIsImZpbHRlciIsIml0IiwiX2l0JG5hbWUiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwib3ZlcmZsb3dYIiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwicGFkZGluZyIsImJhY2tncm91bmQiLCJtYXJnaW5Cb3R0b20iLCJmbGV4V3JhcCIsIndyYXAiLCJtZXRhIiwidG90YWwiLCJwbGFjZWhvbGRlciIsIndpZHRoIiwidmFsdWUiLCJvbkNoYW5nZSIsImUiLCJ0YXJnZXQiLCJfVGFibGUiLCJyb3dTZWxlY3Rpb24iLCJkYXRhU291cmNlIiwibWFwIiwiaW5kZXgiLCJfb2JqZWN0U3ByZWFkIiwic2hvd1NpemVDaGFuZ2VyIiwicm93S2V5Iiwic2Nyb2xsIiwieCIsInZpc2libGUiLCJjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiIsImVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uIiwidXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24iLCJOZXdFZGl0RWR1Y2F0aW9uSW5zdGl0dXRpb25QYWdlIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb24iLCJlZHVjYXRpb25JbnN0aXR1dGlvblVwZGF0ZVBlbmRpbmciLCJkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiIsImZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zIiwiRWR1Y2F0aW9uSW5zdGl0dXRpb25MaXN0IiwiX2VkdWNhdGlvbkluc3RpdHV0aW9uIiwiX2VkdWNhdGlvbkluc3RpdHV0aW9uMiIsImVkdWNhdGlvbkluc3RpdHV0aW9ucyIsImVkdWNhdGlvbkluc3RpdHV0aW9uc1BlbmRpbmciLCJjcmVhdGVGb29kQWN0aW9uIiwiZm9vZERldGFpbEFjdGlvbiIsInVwZGF0ZUZvb2RBY3Rpb24iLCJOZXdFZGl0Rm9vZFBhZ2UiLCJmb29kIiwiZm9vZFVwZGF0ZVBlbmRpbmciLCJkZWxldGVGb29kQWN0aW9uIiwiZmV0Y2hGb29kcyIsIkZvb2RMaXN0IiwiX2Zvb2RzJG1ldGEiLCJfZm9vZHMkbWV0YTIiLCJmb29kcyIsImZvb2RzUGVuZGluZyIsImZldGNoRGFzaGJvYXJkQWN0aW9uIiwiVXNlck91dGxpbmVkIiwiQ2FsZW5kYXJPdXRsaW5lZCIsIlRlYW1PdXRsaW5lZCIsIkZpbGVFeGNlbE91dGxpbmVkIiwiQmFyQ2hhcnQiLCJYQXhpcyIsIllBeGlzIiwiVG9vbHRpcCIsIlJlY2hhcnRzVG9vbHRpcCIsIkJhciIsIlJlc3BvbnNpdmVDb250YWluZXIiLCJDYXJ0ZXNpYW5HcmlkIiwiUGllQ2hhcnQiLCJQaWUiLCJDZWxsIiwiTGVnZW5kIiwiWExTWCIsImZldGNoRXZlbnQiLCJUaXRsZSIsIl9UeXBvZ3JhcGh5IiwiQ29udGVudCIsIl9MYXlvdXQiLCJDT0xPUlMiLCJTVEFUX0NPTE9SUyIsIkRhc2hib2FyZEhvbWUiLCJfdm9sdW50ZWVyRXZlbnRzJGRhdGEiLCJfZGFzaGJvYXJkJGNvdW50X3VzZXIiLCJfZGFzaGJvYXJkJGNvdW50X3ZvbHUiLCJfZGFzaGJvYXJkJGNvdW50X3ZvbHUyIiwidm9sdW50ZWVyIiwiZGFzaGJvYXJkIiwidm9sdW50ZWVyRXZlbnRzIiwiZXZlbnRJZHMiLCJzZXRFdmVudElkcyIsImNvbnNvbGUiLCJsb2ciLCJjaGFydERhdGEiLCJPYmplY3QiLCJlbnRyaWVzIiwiY291bnRfdm9sdW50ZWVyX3N0YXR1cyIsIl9yZWYiLCJfcmVmMiIsInJlcGxhY2UiLCJjaGF0Vm9sdW50ZWVyUHJvdmluY2UiLCJjb3VudF92b2x1bnRlZXJfcHJvdmluY2VzIiwiX3JlZjMiLCJfcmVmNCIsInNwbGl0IiwicG9wIiwiY2hhdFZvbHVudGVlckdlbmRlciIsImNvdW50X3ZvbHVudGVlcl9nZW5kZXJzIiwiX3JlZjUiLCJfcmVmNiIsImNoYXRWb2x1bnRlZXJUc2hpcnQiLCJjb3VudF92b2x1bnRlZXJfc2hpcnRfc2l6ZXMiLCJfcmVmNyIsIl9yZWY4IiwiY2hhdFZvbHVudGVlck9jY3VwYXRpb25zIiwiY291bnRfdm9sdW50ZWVyX29jY3VwYXRpb25zIiwiX3JlZjkiLCJfcmVmMCIsImNoYXRWb2x1bnRlZXJFZHVjYXRpb25JbnN0IiwiY291bnRfdm9sdW50ZWVyX2VkdWNhdGlvbl9pbnN0aXR1dGlvbnMiLCJfcmVmMSIsIl9yZWYxMCIsImNoYXRWb2x1bnRlZXJJbnRlcmVzdGVkVGVhbSIsImNvdW50X2ludGVyZXN0ZWRfdGVhbSIsIl9yZWYxMSIsIl9yZWYxMiIsImV4cG9ydFRvRXhjZWwiLCJ3YiIsInV0aWxzIiwiYm9va19uZXciLCJzaGVldHMiLCJmb3JFYWNoIiwiX3JlZjEzIiwiX3JlZjE0Iiwic2hlZXROYW1lIiwid3MiLCJqc29uX3RvX3NoZWV0IiwiYm9va19hcHBlbmRfc2hlZXQiLCJ3cml0ZUZpbGUiLCJfQnJlYWRjcnVtYiIsImFsaWduSXRlbXMiLCJib3JkZXJSYWRpdXMiLCJqdXN0aWZ5IiwiYWxpZ24iLCJsZXZlbCIsIl9TZWxlY3QiLCJhbGxvd0NsZWFyIiwic2hvd1NlYXJjaCIsImZpbHRlck9wdGlvbiIsImlucHV0Iiwib3B0aW9uIiwiX29wdGlvbiRjaGlsZHJlbiIsImNoaWxkcmVuIiwidG9TdHJpbmciLCJldmVudCIsIk9wdGlvbiIsImdhcCIsImNvdW50X3ZvbHVudGVlcnMiLCJjb2xvciIsImtleXMiLCJjb3VudF92b2x1bnRlZXJfZXZlbnRzIiwibGVuZ3RoIiwiY291bnRfdXNlcl9yb2xlcyIsImNvdW50X3N1cGVyX2FkbWluIiwiY291bnRfbWFsZSIsImNvdW50X2ZlbWFsZSIsInN0YXQiLCJ4cyIsInNtIiwibWQiLCJfQ2FyZCIsImJhY2tncm91bmRDb2xvciIsIm1pbkhlaWdodCIsIl9TdGF0aXN0aWMiLCJwcmVmaXgiLCJ2YWx1ZVN0eWxlIiwibGciLCJjbGFzc05hbWUiLCJoZWlnaHQiLCJ0b3AiLCJyaWdodCIsImxlZnQiLCJib3R0b20iLCJzdHJva2VEYXNoYXJyYXkiLCJkYXRhS2V5IiwidGljayIsImZvbnRTaXplIiwiYWxsb3dEZWNpbWFscyIsImZpbGwiLCJiYXJTaXplIiwibmFtZUtleSIsImN4IiwiY3kiLCJvdXRlclJhZGl1cyIsIkFwcHN0b3JlT3V0bGluZWQiLCJEYXNoYm9hcmRPdXRsaW5lZCIsIkxvZ291dE91dGxpbmVkIiwiTWVudU91dGxpbmVkIiwiU2V0dGluZ091dGxpbmVkIiwiRW52aXJvbm1lbnRPdXRsaW5lZCIsIkJvb2tPdXRsaW5lZCIsIlNob3BPdXRsaW5lZCIsIkdsb2JhbE91dGxpbmVkIiwiQnVpbGRPdXRsaW5lZCIsIlNrZXRjaE91dGxpbmVkIiwiQnVsYk91dGxpbmVkIiwiQ2FyT3V0bGluZWQiLCJOb3RpZmljYXRpb25PdXRsaW5lZCIsIkZpbGVBZGRPdXRsaW5lZCIsIkxpbmsiLCJSb3V0ZSIsIlJvdXRlcyIsInVzZUxvY2F0aW9uIiwiTmF2aWdhdGUiLCJsb2dvdXQiLCJIb21lUGFnZSIsIkZvb3RlckNvbXBvbmVudCIsImxvZ28iLCJWb2x1bnRlZXJMaXN0IiwiTmV3RWRpdFZvbHVudGVlclBhZ2UiLCJJbnRlcmVzdGVkVGVhbUxpc3QiLCJOZXdFZGl0SW50ZXJlc3RlZFRlYW1QYWdlIiwiTGFuZ3VhZ2VMaXN0IiwiTmV3RWRpdExhbmd1YWdlUGFnZSIsIk9jY3VwYXRpb25MaXN0IiwiTmV3RWRpdE9jY3VwYXRpb25QYWdlIiwiT3Bwb3J0dW5pdHlTb3VyY2VMaXN0IiwiTmV3RWRpdE9wcG9ydHVuaXR5U291cmNlUGFnZSIsIlByb3ZpbmNlTGlzdCIsIk5ld0VkaXRQcm92aW5jZVBhZ2UiLCJTa2lsbExpc3QiLCJOZXdFZGl0U2tpbGxQYWdlIiwiVGVybXNDb25kaXRpb25MaXN0IiwiTmV3RWRpdFRlcm1zQ29uZGl0aW9uUGFnZSIsIlRyYWluaW5nU2Vzc2lvbkxpc3QiLCJOZXdFZGl0VHJhaW5pbmdTZXNzaW9uUGFnZSIsIlZvbHVudGVlckV2ZW50TGlzdCIsIk5ld0VkaXRWb2x1bnRlZXJFdmVudFBhZ2UiLCJVc2VyTGlzdCIsIk5ld0VkaXRVc2VyUGFnZSIsIk5ld0VkaXRPZmZlclByb2dyYW1QYWdlIiwiT2ZmZXJQcm9ncmFtTGlzdCIsIlRyYXZlbERheUxpc3QiLCJOZXdFZGl0VHJhdmVsRGF5UGFnZSIsIk5vdGlmaWNhdGlvblBhZ2UiLCJVc2VyQXR0ZW5kYW5jZUxpc3QiLCJOZXdFZGl0VXNlckF0dGVuZGFuY2VQYWdlIiwiRmFtaWx5U3VydmV5Rm9ybSIsIkZhbWlseUFwcHJvdmVkTGlzdCIsIkhlYWRlciIsIlNpZGVyIiwibWVudXMiLCJ0byIsIlVTRVJfUk9MRVMiLCJTVVBFUl9BRE1JTiIsIkFETUlOIiwiUkVQT1JURVIiLCJVU0VSIiwiZ2V0QXV0aG9yaXplZE1lbnVzIiwicm9sZSIsIm1lbnUiLCJNYWluIiwiYXV0aCIsImN1cnJlbnRVc2VyIiwidXNlclJvbGUiLCJwYXRobmFtZSIsImFjdGl2ZU1lbnVLZXkiLCJzZXRBY3RpdmVNZW51S2V5IiwiY29sbGFwc2VkIiwic2V0Q29sbGFwc2VkIiwiZHJhd2VyVmlzaWJsZSIsInNldERyYXdlclZpc2libGUiLCJmaWx0ZXJlZE1lbnVzIiwic2V0RmlsdGVyZWRNZW51cyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiYXV0aG9yaXplZE1lbnVzIiwiaGFuZGxlTG9nb3V0IiwiY2FuQWNjZXNzQWRtaW5Sb3V0ZXMiLCJjYW5BY2Nlc3NSZXBvcnRlclJvdXRlcyIsImNhbkFjY2Vzc0Jhc2ljUm91dGVzIiwicG9zaXRpb24iLCJ6SW5kZXgiLCJib3hTaGFkb3ciLCJtYXJnaW5SaWdodCIsImZsZXgiLCJzcmMiLCJhbHQiLCJfQXZhdGFyIiwicGhvdG9fdXJsIiwiZm9udFdlaWdodCIsIm1hcmdpbkxlZnQiLCJ1c2VybmFtZSIsIl9NZW51IiwidGhlbWUiLCJtb2RlIiwiYm9yZGVyQm90dG9tIiwibWFyZ2luVG9wIiwiY29sbGFwc2libGUiLCJvbkNvbGxhcHNlIiwib3ZlcmZsb3ciLCJzZWxlY3RlZEtleXMiLCJvdmVyZmxvd1kiLCJTdWJNZW51IiwibWF4SGVpZ2h0Iiwic3VibWVudSIsIl9EcmF3ZXIiLCJwbGFjZW1lbnQiLCJjbG9zYWJsZSIsIm9uQ2xvc2UiLCJvcGVuIiwiYm9keVN0eWxlIiwicGF0aCIsImVsZW1lbnQiXSwic291cmNlUm9vdCI6IiJ9