"use strict";
(self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_shared_views_m"],{
/***/ "./src/shared/views/main/volunteer/approved.tsx":
/*!******************************************************!*\
!*** ./src/shared/views/main/volunteer/approved.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_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/input-number */ "../../../node_modules/antd/lib/input-number/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_col__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_tag__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/tag */ "../../../node_modules/antd/lib/tag/index.js");
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js");
/* harmony import */ var antd_es_image__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/image */ "../../../node_modules/antd/lib/image/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var antd_es_typography__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/typography */ "../../../node_modules/antd/lib/typography/index.js");
/* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var _services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../../services/volunteer/core/actions */ "./src/services/volunteer/core/actions.ts");
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../container/dialogs/loading-dialog */ "./src/shared/container/dialogs/loading-dialog.tsx");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/FileExcelOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/SortAscendingOutlined.js");
/* harmony import */ var xlsx__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! xlsx */ "../../../node_modules/xlsx/xlsx.mjs");
/* harmony import */ var jspdf_autotable__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! jspdf-autotable */ "../../../node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js");
/* harmony import */ var jspdf_autotable__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(jspdf_autotable__WEBPACK_IMPORTED_MODULE_22__);
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_23__);
/* harmony import */ var notiflix__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! notiflix */ "../../../node_modules/notiflix/dist/notiflix-aio-3.2.8.min.js");
/* harmony import */ var notiflix__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(notiflix__WEBPACK_IMPORTED_MODULE_24__);
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! moment */ "../../../node_modules/moment/moment.js");
/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_25__);
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 _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
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 confirm = antd_es_modal__WEBPACK_IMPORTED_MODULE_11__["default"].confirm;
var statusColors = {
Register: 'blue',
Shortlist: 'gold',
Interview: 'purple',
Participants: 'green',
Reserve: 'cyan',
Failed: 'red',
Resignation: 'orange',
Disqualification: 'volcano'
};
var ApprovedVoluneers = function ApprovedVoluneers(_ref) {
var _volunteers$meta, _educationInstitution, _interestedTeams$data, _volunteerEvents$data, _languages$data, _skills$data, _volunteers$meta2;
var status = _ref.status;
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_14__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_15__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
selectedRows = _useState2[0],
setSelectedRows = _useState2[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_14__.useSelector)(function (state) {
return state.volunteer;
}),
volunteers = _useSelector.volunteers,
volunteerPending = _useSelector.volunteerPending,
dashboard = _useSelector.dashboard,
provinces = _useSelector.provinces,
educationInstitutions = _useSelector.educationInstitutions,
interestedTeams = _useSelector.interestedTeams,
volunteerEvents = _useSelector.volunteerEvents,
skills = _useSelector.skills,
languages = _useSelector.languages;
var _useSelector2 = (0,react_redux__WEBPACK_IMPORTED_MODULE_14__.useSelector)(function (state) {
return state;
}),
auth = _useSelector2.auth;
var currentUser = auth.currentUser;
var isAdmin = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "super_admin"; // Check user role
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(1),
_useState4 = _slicedToArray(_useState3, 2),
currentPage = _useState4[0],
setCurrentPage = _useState4[1];
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(10),
_useState6 = _slicedToArray(_useState5, 2),
pageSize = _useState6[0],
setPageSize = _useState6[1];
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(""),
_useState8 = _slicedToArray(_useState7, 2),
search = _useState8[0],
setSearch = _useState8[1];
var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)("desc"),
_useState0 = _slicedToArray(_useState9, 2),
sortOrder = _useState0[0],
setSortOrder = _useState0[1];
var _useState1 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(""),
_useState10 = _slicedToArray(_useState1, 2),
province = _useState10[0],
setProvince = _useState10[1];
var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(0),
_useState12 = _slicedToArray(_useState11, 2),
teamId = _useState12[0],
setTeamId = _useState12[1];
var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)([]),
_useState14 = _slicedToArray(_useState13, 2),
eventIds = _useState14[0],
setEventIds = _useState14[1];
var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(0),
_useState16 = _slicedToArray(_useState15, 2),
languageId = _useState16[0],
setLanguageId = _useState16[1];
var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(0),
_useState18 = _slicedToArray(_useState17, 2),
skillId = _useState18[0],
setSkillId = _useState18[1];
var _useState19 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(null),
_useState20 = _slicedToArray(_useState19, 2),
selectedInstitution = _useState20[0],
setSelectedInstitution = _useState20[1];
var _useState21 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(null),
_useState22 = _slicedToArray(_useState21, 2),
scoreFrom = _useState22[0],
setScoreFrom = _useState22[1];
var _useState23 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(null),
_useState24 = _slicedToArray(_useState23, 2),
scoreTo = _useState24[0],
setScoreTo = _useState24[1];
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchProvince)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchEducationInstitutions)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchTeam)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchEvent)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchLanguateAction)());
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchSkillAction)());
}, [dispatch]);
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchEducationInstitutions)());
}, [dispatch]);
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchVolunteers)({
volunteer_status: status,
page: currentPage,
pageSize: pageSize,
search: search,
sort_order: sortOrder,
education_institution_id: selectedInstitution,
score_from: scoreFrom,
score_to: scoreTo,
province: province,
interested_team_id: teamId,
event_ids: eventIds,
language_id: languageId,
skill_id: skillId
}));
}, [dispatch, status, currentPage, pageSize, search, sortOrder, selectedInstitution, scoreFrom, scoreTo, province, teamId, eventIds, languageId, skillId]);
var handleSearch = function handleSearch(e) {
setSearch(e.target.value);
};
var resetSearch = function resetSearch() {
setSearch("");
};
var handleScoreFrom = function handleScoreFrom(e) {
var value = e.target.value;
setScoreFrom(value ? Number(value) : null); // Sets null instead of ""
};
var handleScoreTo = function handleScoreTo(e) {
var value = e.target.value;
setScoreTo(value ? Number(value) : null); // Sets null instead of ""
};
var handleEdit = function handleEdit(id) {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.volunteerDetailAction)(id));
navigate("/volunteer/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
if (!isAdmin) return; // Restrict access to non-admins
sweetalert2__WEBPACK_IMPORTED_MODULE_23___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_23___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_23___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_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.deleteVolunteerAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_23___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchVolunteers)({
volunteer_status: status,
page: currentPage,
pageSize: pageSize,
sort_order: sortOrder,
education_institution_id: selectedInstitution,
score_from: scoreFrom,
score_to: scoreTo,
province: province,
interested_team_id: teamId,
event_ids: eventIds,
language_id: languageId,
skill_id: skillId
}));
});
sweetalert2__WEBPACK_IMPORTED_MODULE_23___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_23___default().close();
});
}
});
};
var statusOptions = ["Register", "Shortlist", "Interview", "Participants", "Reserve", "Failed", "Resignation", "Disqualification"];
// Handle status change and fetch updated list
var handleStatusChange = function handleStatusChange(volunteerId, newStatus) {
if (!isAdmin) return; // Restrict access to non-admins
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.updateVolunteerAction)({
id: volunteerId,
data: {
volunteer_status: newStatus
}
})).then(function () {
dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchVolunteers)({
volunteer_status: status,
page: currentPage,
pageSize: pageSize,
sort_order: sortOrder,
education_institution_id: selectedInstitution,
score_from: scoreFrom,
score_to: scoreTo,
province: province,
interested_team_id: teamId,
event_ids: eventIds,
language_id: languageId,
skill_id: skillId
})); // Fetch updated list after change
notiflix__WEBPACK_IMPORTED_MODULE_24___default().Notify.success("Status updated to \"".concat(newStatus, "\""));
})["catch"](function () {
notiflix__WEBPACK_IMPORTED_MODULE_24___default().Notify.failure("Failed to update status. Try again.");
});
};
var handleInstitutionChange = function handleInstitutionChange(institutionId) {
setSelectedInstitution(institutionId);
};
var handleTableChange = function handleTableChange(pagination) {
setCurrentPage(pagination.current);
setPageSize(pagination.pageSize);
};
var columns = [{
title: '№',
dataIndex: 'index',
key: 'index',
responsive: ['sm']
}, {
title: 'លេខកូដ',
key: 'code',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
size: "small"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
type: "link",
onClick: function onClick() {
return handleEdit(record.id);
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_typography__WEBPACK_IMPORTED_MODULE_10__["default"].Text, {
style: {
color: record.main_code ? 'green' : 'inherit'
}
}, record.main_code || record.code)));
}
}, {
title: 'រូបភាពនិងឈ្មោះ',
dataIndex: 'combined',
key: 'combined',
responsive: ['xs', 'sm', 'md', 'lg'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", {
style: {
display: 'flex',
alignItems: 'center',
gap: 10
}
}, record.photo ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_image__WEBPACK_IMPORTED_MODULE_7__["default"], {
width: 50,
src: record.photo,
alt: "Photo",
style: {
borderRadius: 5,
border: '1px solid #ddd'
}
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "No Image"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, record.name));
}
}, {
title: 'លេខទូរស័ព្ទ',
dataIndex: 'phone_number',
key: 'phone_number',
responsive: ['md'],
ellipsis: true
}, {
title: 'ភេទ',
dataIndex: 'gender',
key: 'gender',
responsive: ['sm'],
ellipsis: true
}, {
title: 'ព័ត៌មានអំពីការដាក់ពាក្យ',
dataIndex: 'application_info',
key: 'application_info',
responsive: ['md'],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("strong", null, "\u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD:"), " ", record.volunteer_event_name || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("strong", null, "\u1780\u17D2\u179A\u17BB\u1798\u1780\u17B6\u179A\u1784\u17B6\u179A:"), " ", record.interested_team_name || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("strong", null, "\u17A2\u17CA\u17B8\u1798\u17C2\u179B:"), " ", record.email || '-'), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("strong", null, "\u1790\u17D2\u1784\u17C3\u1785\u17BB\u17C7\u1788\u17D2\u1798\u17C4\u17C7:"), " ", moment__WEBPACK_IMPORTED_MODULE_25___default()(record.created_at).format('MMMM Do YYYY, h:mm:ss a') || '-'));
}
}, {
title: 'ព្រឹត្តិការណ៍',
dataIndex: 'volunteer_event_name',
key: 'volunteer_event_name',
responsive: ['sm']
}, {
title: "Action",
key: "action",
responsive: ["xs", "sm", "md", "lg"],
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
size: "small"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_tag__WEBPACK_IMPORTED_MODULE_5__["default"], {
color: statusColors[record.volunteer_status] || "default",
style: {
padding: "3px 6px",
borderRadius: "6px",
display: "flex",
alignItems: "center"
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
size: "small" // ✅ Makes the dropdown smaller
,
value: record.volunteer_status || "Register",
bordered: false // ✅ Removes border for a cleaner look
,
dropdownStyle: {
fontSize: "12px"
} // ✅ Ensures smaller text in dropdown
,
style: {
minWidth: 100,
backgroundColor: "transparent",
fontSize: "12px" // ✅ Makes text smaller
},
disabled: !isAdmin,
onChange: function onChange(newStatus) {
return handleStatusChange(record.id, newStatus);
}
}, statusOptions.map(function (status) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"].Option, {
key: status,
value: status
}, status);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_18__["default"], null),
type: "primary",
size: "small" // ✅ Makes button smaller
,
onClick: function onClick() {
return handleEdit(record.id);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_17__["default"], null),
danger: true,
size: "small" // ✅ Makes button smaller
,
onClick: function onClick() {
return handleDelete(record.id);
}
}));
}
}, {
title: 'អត្តសញ្ញាណប័ណ្ណ',
dataIndex: 'upload_id_card',
key: 'upload_id_card',
responsive: ['lg'],
render: function render(text) {
return text ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_image__WEBPACK_IMPORTED_MODULE_7__["default"], {
width: 50,
src: text,
alt: "ID Card",
style: {
borderRadius: 5,
border: '1px solid #ddd'
}
}) : 'No Image';
}
}];
// 📌 EXPORT TO EXCEL FUNCTION
var exportToExcel = /*#__PURE__*/function () {
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
var _allDashboard$payload, _allvolunteers$payloa;
var allDashboard, allvolunteers, _allvolunteers$payloa2, ws, wb;
return _regenerator().w(function (_context) {
while (1) switch (_context.n) {
case 0:
if (isAdmin) {
_context.n = 1;
break;
}
return _context.a(2);
case 1:
_context.n = 2;
return dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchDashboardAction)());
case 2:
allDashboard = _context.v;
_context.n = 3;
return dispatch((0,_services_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_13__.fetchVolunteers)({
volunteer_status: status,
page: 1,
pageSize: (allDashboard === null || allDashboard === void 0 || (_allDashboard$payload = allDashboard.payload) === null || _allDashboard$payload === void 0 ? void 0 : _allDashboard$payload.count_volunteers) || 2000,
sort_order: sortOrder,
education_institution_id: selectedInstitution,
score_from: scoreFrom,
score_to: scoreTo,
province: province,
interested_team_id: teamId,
event_ids: eventIds,
language_id: languageId,
skill_id: skillId
}));
case 3:
allvolunteers = _context.v;
if (allvolunteers && (allvolunteers === null || allvolunteers === void 0 || (_allvolunteers$payloa = allvolunteers.payload) === null || _allvolunteers$payloa === void 0 ? void 0 : _allvolunteers$payloa.data.length) > 0) {
ws = xlsx__WEBPACK_IMPORTED_MODULE_21__.utils.json_to_sheet(allvolunteers === null || allvolunteers === void 0 || (_allvolunteers$payloa2 = allvolunteers.payload) === null || _allvolunteers$payloa2 === void 0 ? void 0 : _allvolunteers$payloa2.data.map(function (it, index) {
var _it$last_name_khmer, _it$first_name_khmer, _it$last_name_latin, _it$first_name_latin, _it$date_of_birth, _it$gender, _it$nationality, _it$phone_number, _it$email, _it$current_address, _it$province_id, _it$occupation_name, _it$education_institu, _it$t_shirt_size, _it$food_name, _it$food_allergies, _it$disability_type_n, _it$interested_team_n, _it$volunteer_event_n, _it$opportunity_sourc, _it$training_session_, _it$volunteer_status;
return {
'#': index + 1,
'លេខកូដបណ្ដោះអាសន្ន': it.code,
'លេខកូដ': it.main_code,
'ឈ្មោះ (Khmer)': "".concat((_it$last_name_khmer = it.last_name_khmer) !== null && _it$last_name_khmer !== void 0 ? _it$last_name_khmer : '', " ").concat((_it$first_name_khmer = it.first_name_khmer) !== null && _it$first_name_khmer !== void 0 ? _it$first_name_khmer : ''),
'ឈ្មោះ (Latin)': "".concat((_it$last_name_latin = it.last_name_latin) !== null && _it$last_name_latin !== void 0 ? _it$last_name_latin : '', " ").concat((_it$first_name_latin = it.first_name_latin) !== null && _it$first_name_latin !== void 0 ? _it$first_name_latin : ''),
'ថ្ងៃកំណើត': (_it$date_of_birth = it.date_of_birth) !== null && _it$date_of_birth !== void 0 ? _it$date_of_birth : '',
'ភេទ': (_it$gender = it.gender) !== null && _it$gender !== void 0 ? _it$gender : '',
'សញ្ជាតិ': (_it$nationality = it.nationality) !== null && _it$nationality !== void 0 ? _it$nationality : '',
'លេខទូរស័ព្ទ': (_it$phone_number = it.phone_number) !== null && _it$phone_number !== void 0 ? _it$phone_number : '',
'អ៊ីមែល': (_it$email = it.email) !== null && _it$email !== void 0 ? _it$email : '',
'អាសយដ្ឋាន': (_it$current_address = it.current_address) !== null && _it$current_address !== void 0 ? _it$current_address : '',
'ខេត្ត': (_it$province_id = it.province_id) !== null && _it$province_id !== void 0 ? _it$province_id : '',
'អាជីព': (_it$occupation_name = it.occupation_name) !== null && _it$occupation_name !== void 0 ? _it$occupation_name : '',
'ស្ថាប័នសិក្សា': (_it$education_institu = it.education_institution_name) !== null && _it$education_institu !== void 0 ? _it$education_institu : '',
'ទំហំអាវ': (_it$t_shirt_size = it.t_shirt_size) !== null && _it$t_shirt_size !== void 0 ? _it$t_shirt_size : '',
'អាហារ': (_it$food_name = it.food_name) !== null && _it$food_name !== void 0 ? _it$food_name : '',
'បញ្ហាអាហារ': it.is_food_allergy ? 'Yes' : 'No',
'អាហារដែលផ្អែក': (_it$food_allergies = it.food_allergies) !== null && _it$food_allergies !== void 0 ? _it$food_allergies : '',
'ប្រភេទពិការភាព': (_it$disability_type_n = it.disability_type_name) !== null && _it$disability_type_n !== void 0 ? _it$disability_type_n : '',
'ក្រុមដែលចាប់អារម្មណ៍': (_it$interested_team_n = it.interested_team_name) !== null && _it$interested_team_n !== void 0 ? _it$interested_team_n : '',
'ព្រឹត្តិការណ៍': (_it$volunteer_event_n = it.volunteer_event_name) !== null && _it$volunteer_event_n !== void 0 ? _it$volunteer_event_n : '',
'ប្រភពឱកាស': (_it$opportunity_sourc = it.opportunity_source_name) !== null && _it$opportunity_sourc !== void 0 ? _it$opportunity_sourc : '',
'វគ្គបណ្តុះបណ្តាល': (_it$training_session_ = it.training_session_name) !== null && _it$training_session_ !== void 0 ? _it$training_session_ : '',
'ស្ថានភាព': (_it$volunteer_status = it.volunteer_status) !== null && _it$volunteer_status !== void 0 ? _it$volunteer_status : '',
'Created At': it.created_at,
// ✅ Add Direct Image URLs
'រូបភាព': it.photo ? it.photo : 'No Image',
'អត្តសញ្ញាណប័ណ្ណ': it.upload_id_card ? it.upload_id_card : 'No Image',
// ✅ Add Downloadable CV Link
'CV': it.upload_cv ? "=HYPERLINK(\"".concat(it.upload_cv, "\", \"Download CV\")") : 'No CV'
};
}));
wb = xlsx__WEBPACK_IMPORTED_MODULE_21__.utils.book_new();
xlsx__WEBPACK_IMPORTED_MODULE_21__.utils.book_append_sheet(wb, ws, 'Volunteers');
// ✅ Ensure the CV link format is properly applied
ws['!cols'] = [{
wch: 10
}, {
wch: 20
}, {
wch: 25
}, {
wch: 25
}, {
wch: 15
}, {
wch: 10
}, {
wch: 20
}, {
wch: 20
}, {
wch: 30
}, {
wch: 20
}, {
wch: 20
}, {
wch: 25
}, {
wch: 15
}, {
wch: 10
}, {
wch: 10
}, {
wch: 10
}, {
wch: 15
}, {
wch: 15
}, {
wch: 20
}, {
wch: 20
}, {
wch: 20
}, {
wch: 20
}, {
wch: 25
}];
xlsx__WEBPACK_IMPORTED_MODULE_21__.writeFile(wb, 'Volunteers.xlsx');
}
case 4:
return _context.a(2);
}
}, _callee);
}));
return function exportToExcel() {
return _ref2.apply(this, arguments);
};
}();
var handleSortOrder = function handleSortOrder() {
setSortOrder(function (prevOrder) {
return prevOrder === "desc" ? "asc" : "desc";
});
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", {
style: {
overflowX: 'auto'
}
}, isAdmin && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", {
style: {
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], {
gutter: [16, 16],
justify: "space-between",
align: "middle",
style: {
marginBottom: '10px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
md: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u179F\u179A\u17BB\u1794: ", (volunteers === null || volunteers === void 0 || (_volunteers$meta = volunteers.meta) === null || _volunteers$meta === void 0 ? void 0 : _volunteers$meta.total) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_4__["default"], {
placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780...",
value: search,
onChange: handleSearch,
style: {
minWidth: 150
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
onClick: resetSearch
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
md: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
wrap: true,
style: {
width: '100%',
justifyContent: 'flex-end'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
type: "default",
style: {
borderColor: "red",
color: "red",
backgroundColor: "white"
},
onClick: handleSortOrder
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_20__["default"], {
style: {
color: "red"
}
}), " ORDER"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_9___default()), {
type: "default",
style: {
borderColor: "green",
color: "green",
backgroundColor: "white"
},
onClick: exportToExcel
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_19__["default"], {
style: {
color: "green"
}
}), " Excel")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_2__["default"], {
gutter: [16, 16]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1781\u17C1\u178F\u17D2\u178F\u200B \u17AC \u1780\u17D2\u179A\u17BB\u1784"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
placeholder: "Select a Province or City",
onChange: function onChange(value) {
return setProvince(value);
},
showSearch: true
}, Array.isArray(provinces) && provinces.length > 0 ? provinces.map(function (province) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"].Option, {
key: province.id,
value: "".concat(province.id, ",").concat(province.name.km, " / ").concat(province.name.latin)
}, "".concat(province.name.km, " / ").concat(province.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"].Option, {
disabled: true
}, "No provinces available"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u179F\u17B6\u1780\u179B\u179C\u17B7\u1791\u17D2\u1799\u17B6\u179B\u17D0\u1799"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
filterOption: function filterOption(input, option) {
return option === null || option === void 0 ? void 0 : option.children.toLowerCase().includes(input.toLowerCase());
},
onChange: handleInstitutionChange,
placeholder: "Select an institution"
}, educationInstitutions === null || educationInstitutions === void 0 || (_educationInstitution = educationInstitutions.data) === null || _educationInstitution === void 0 ? void 0 : _educationInstitution.map(function (institution) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: institution.id,
value: institution.id
}, institution.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1780\u17D2\u179A\u17BB\u1798"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
placeholder: "Select an interested team",
onChange: function onChange(value) {
return setTeamId(value);
},
filterOption: function filterOption(input, option) {
return option === null || option === void 0 ? void 0 : option.children.toLowerCase().includes(input.toLowerCase());
}
}, interestedTeams === null || interestedTeams === void 0 || (_interestedTeams$data = interestedTeams.data) === null || _interestedTeams$data === void 0 ? void 0 : _interestedTeams$data.map(function (team) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: team.id,
value: team.id
}, team.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
mode: "multiple",
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
placeholder: "Select an event",
value: eventIds,
onChange: function onChange(values) {
return setEventIds(values);
},
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_12___default().createElement(Option, {
key: event.id,
value: event.id
}, event.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1797\u17B6\u179F\u17B6"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
placeholder: "Select a language",
onChange: function onChange(value) {
return setLanguageId(value);
},
filterOption: function filterOption(input, option) {
return option === null || option === void 0 ? void 0 : option.children.toLowerCase().includes(input.toLowerCase());
}
}, languages === null || languages === void 0 || (_languages$data = languages.data) === null || _languages$data === void 0 ? void 0 : _languages$data.map(function (language) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: language.id,
value: language.id
}, language.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1787\u17C6\u1793\u17B6\u1789\u1795\u17D2\u179F\u17C1\u1784\u1791\u17C0\u178F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_6__["default"], {
style: {
width: '100%'
},
allowClear: true,
showSearch: true,
placeholder: "Select a skill",
onChange: function onChange(value) {
return setSkillId(value);
},
filterOption: function filterOption(input, option) {
return option === null || option === void 0 ? void 0 : option.children.toLowerCase().includes(input.toLowerCase());
}
}, skills === null || skills === void 0 || (_skills$data = skills.data) === null || _skills$data === void 0 ? void 0 : _skills$data.map(function (skill) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: skill.id,
value: skill.id
}, skill.name);
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 24,
md: 12,
lg: 12
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1796\u17B7\u1793\u17D2\u1791\u17BB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_8__["default"], {
style: {
width: '100%'
},
direction: "horizontal",
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_1__["default"], {
placeholder: "From",
min: 0,
value: scoreFrom,
onChange: setScoreFrom
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_1__["default"], {
placeholder: "To",
min: scoreFrom || 0,
value: scoreTo,
onChange: setScoreTo
}))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_0__["default"], {
rowSelection: {
type: 'checkbox',
onChange: function onChange(_, selectedRows) {
return setSelectedRows(selectedRows);
}
},
columns: columns,
dataSource: ((volunteers === null || volunteers === void 0 ? void 0 : volunteers.data) || []).map(function (it, index) {
return _objectSpread({
key: it.id,
index: index + 1,
name: "".concat(it.last_name_latin, " ").concat(it.first_name_latin)
}, it);
}),
loading: volunteerPending,
pagination: {
current: currentPage,
pageSize: pageSize,
total: (volunteers === null || volunteers === void 0 || (_volunteers$meta2 = volunteers.meta) === null || _volunteers$meta2 === void 0 ? void 0 : _volunteers$meta2.total) || 0,
showSizeChanger: true
},
onChange: handleTableChange,
rowKey: "id",
scroll: {
x: 'max-content'
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(_container_dialogs_loading_dialog__WEBPACK_IMPORTED_MODULE_16__["default"], {
visible: volunteerPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ApprovedVoluneers);
/***/ }),
/***/ "./src/shared/views/main/volunteer/form.tsx":
/*!**************************************************!*\
!*** ./src/shared/views/main/volunteer/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 react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_volunteer_register_components_form__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../services/volunteer/register/components/form */ "./src/services/volunteer/register/components/form.tsx");
var searchParams = new URLSearchParams(location.search);
var id = searchParams.get('id');
var NewEditVolunteerPage = function NewEditVolunteerPage() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_volunteer_register_components_form__WEBPACK_IMPORTED_MODULE_1__["default"], {
id: id
});
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditVolunteerPage);
/***/ }),
/***/ "./src/shared/views/main/volunteer/index.tsx":
/*!***************************************************!*\
!*** ./src/shared/views/main/volunteer/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_tabs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/tabs */ "../../../node_modules/antd/lib/tabs/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _approved__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./approved */ "./src/shared/views/main/volunteer/approved.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 VOLUNTEER_TABS = [{
label: "បញ្ជីអ្នកចុះឈ្មោះស្ម័គ្រចិត្ត",
key: ""
}, {
label: "បញ្ជីសម្រាំ",
key: "Shortlist",
adminOnly: true
}, {
label: "បញ្ជីអ្នកត្រូវសម្ភាសន៍",
key: "Interview",
adminOnly: true
}, {
label: "បញ្ជីអ្នកជាប់",
key: "Participants",
adminOnly: true
}, {
label: "បញ្ជីអ្នកបំរុង",
key: "Reserve",
adminOnly: true
}, {
label: "បញ្ជីអ្នកធ្លាក់",
key: "Failed",
adminOnly: true
}, {
label: "បញ្ជីអ្នកសុំឈប់",
key: "Resignation",
adminOnly: true
}, {
label: "បញ្ជីអ្នកមិនទាន់មានលក្ខណៈគ្រប់គ្រាន់",
key: "Disqualification",
adminOnly: true
}];
var VolunteerList = function VolunteerList() {
var location = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_2__.useLocation)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_2__.useNavigate)();
var query = new URLSearchParams(location.search);
var initialStatus = query.get("status") || "";
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(initialStatus),
_useState2 = _slicedToArray(_useState, 2),
status = _useState2[0],
setStatus = _useState2[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(function (state) {
return state.auth;
}),
currentUser = _useSelector.currentUser;
var isAdmin = (currentUser === null || currentUser === void 0 ? void 0 : currentUser.role) === "super_admin"; // Check if user is admin
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
if (query.get("status") !== status) {
setStatus(query.get("status") || "");
}
}, [location.search]); // Ensure status updates with URL changes
var handleTabChange = function handleTabChange(key) {
setStatus(key);
query.set("status", key);
navigate({
pathname: location.pathname,
search: query.toString()
});
};
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_0__["default"], {
activeKey: status,
onChange: handleTabChange
}, VOLUNTEER_TABS.map(function (_ref) {
var label = _ref.label,
key = _ref.key,
adminOnly = _ref.adminOnly;
return (!adminOnly || isAdmin) && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(antd_es_tabs__WEBPACK_IMPORTED_MODULE_0__["default"].TabPane, {
tab: label,
key: key
});
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_approved__WEBPACK_IMPORTED_MODULE_4__["default"], {
status: status
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerList);
/***/ }),
/***/ "./src/shared/views/main/volunteer_event/form.tsx":
/*!********************************************************!*\
!*** ./src/shared/views/main/volunteer_event/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_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../services/volunteer_event/core/actions */ "./src/services/volunteer_event/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 NewEditVolunteerEventPage = function NewEditVolunteerEventPage() {
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.volunteerEvent;
}),
volunteerEvent = _useSelector.volunteerEvent,
registerErrorMessage = _useSelector.registerErrorMessage,
volunteerEventUpdatePending = _useSelector.volunteerEventUpdatePending;
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_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_8__.volunteerEventDetailAction)(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 && volunteerEvent) {
form.setFieldsValue({
name: volunteerEvent.name || '',
description: volunteerEvent.description || ''
});
}
}, [volunteerEvent, form, id]);
// 👉 Show success or error alerts
(0,react__WEBPACK_IMPORTED_MODULE_6__.useEffect)(function () {
if (!volunteerEventUpdatePending && 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('/volunteer-events');
}
}
}, [volunteerEventUpdatePending, registerErrorMessage, id, isClick, navigate]);
// 👉 Handle form submit
var onFinish = function onFinish(values) {
if (id) {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_8__.updateVolunteerEventAction)({
id: Number(id),
data: values
}));
form.resetFields();
} else {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_8__.createVolunteerEventAction)({
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: volunteerEventUpdatePending
}, "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('/volunteer-events');
}
}, "Cancel"))))));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NewEditVolunteerEventPage);
/***/ }),
/***/ "./src/shared/views/main/volunteer_event/index.tsx":
/*!*********************************************************!*\
!*** ./src/shared/views/main/volunteer_event/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_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../services/volunteer_event/core/actions */ "./src/services/volunteer_event/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 VolunteerEventList = function VolunteerEventList() {
var _volunteerEvents$meta, _volunteerEvents$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.volunteerEvent;
}),
volunteerEvents = _useSelector.volunteerEvents,
volunteerEventsPending = _useSelector.volunteerEventsPending;
(0,react__WEBPACK_IMPORTED_MODULE_4__.useEffect)(function () {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchVolunteerEvents)({
search: searchText,
page: currentPage,
pageSize: pageSize
}));
}, [dispatch, searchText, currentPage, pageSize]);
var handleEdit = function handleEdit(id) {
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__.volunteerEventDetailAction)(id));
navigate("/volunteer-events/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_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__.deleteVolunteerEventAction)(id)).then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_12___default().fire('Deleted!', 'The item has been deleted.', 'success');
dispatch((0,_services_volunteer_event_core_actions__WEBPACK_IMPORTED_MODULE_11__.fetchVolunteerEvents)());
});
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 = ((volunteerEvents === null || volunteerEvents === void 0 ? void 0 : volunteerEvents.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\u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD\u179F\u17D2\u1798\u17D0\u1782\u17D2\u179A\u1785\u17B7\u178F\u17D2\u178F"), /*#__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: ", (volunteerEvents === null || volunteerEvents === void 0 || (_volunteerEvents$meta = volunteerEvents.meta) === null || _volunteerEvents$meta === void 0 ? void 0 : _volunteerEvents$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("/volunteer-events/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: (volunteerEvents === null || volunteerEvents === void 0 || (_volunteerEvents$meta2 = volunteerEvents.meta) === null || _volunteerEvents$meta2 === void 0 ? void 0 : _volunteerEvents$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: volunteerEventsPending
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerEventList);
/***/ }),
/***/ "./src/shared/views/not-found/not-found.tsx":
/*!**************************************************!*\
!*** ./src/shared/views/not-found/not-found.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 react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
var NotFound = function NotFound() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h1", null, "404 - Page Not Found");
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NotFound);
/***/ }),
/***/ "./src/shared/views/volunteer/volunteer-register.tsx":
/*!***********************************************************!*\
!*** ./src/shared/views/volunteer/volunteer-register.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 react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_volunteer_register_components_thanks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/volunteer/register/components/thanks */ "./src/services/volunteer/register/components/thanks.tsx");
var VolunteerRegisterForm = function VolunteerRegisterForm() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
className: "form-container"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_volunteer_register_components_thanks__WEBPACK_IMPORTED_MODULE_1__["default"], null));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerRegisterForm);
/***/ })
},
/******/ __webpack_require__ => { // webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
/******/ __webpack_require__.O(0, ["vendors-node_modules_ant-design_colors_es_index_js-node_modules_ant-design_cssinjs-utils_es_i-f02ac1","vendors-node_modules_ant-design_icons_BarsOutlined_js-node_modules_ant-design_icons_CalendarO-3fbced","vendors-node_modules_antd_lib__util_ActionButton_js-node_modules_antd_lib__util_ContextIsolat-b90fcb","vendors-node_modules_antd_lib_app_context_js-node_modules_antd_lib_avatar_index_js-node_modul-c0ed2f","vendors-node_modules_antd_lib_col_index_js-node_modules_antd_lib_color-picker_components_Colo-6bece6","vendors-node_modules_antd_lib_empty_index_js-node_modules_antd_lib_form_hooks_useVariants_js--bb653c","vendors-node_modules_antd_lib_image_index_js-node_modules_antd_lib_input-number_index_js-node-de17b1","vendors-node_modules_antd_lib_modal_index_js-node_modules_antd_lib_pagination_index_js-node_m-c8b342","vendors-node_modules_antd_lib_row_index_js-node_modules_antd_lib_select_index_js-node_modules-a8fcd1","vendors-node_modules_antd_lib_style_compact-item-vertical_js-node_modules_antd_lib_style_comp-3a3284","vendors-node_modules_antd_lib_tabs_index_js-node_modules_antd_lib_tag_index_js","vendors-node_modules_antd_lib_time-picker_locale_en_US_js-node_modules_antd_lib_tooltip_index_js","vendors-node_modules_antd_lib_tree_index_js-node_modules_antd_lib_typography_index_js-node_mo-2046af","vendors-node_modules_call-bound_index_js-node_modules_copy-to-clipboard_index_js-node_modules-eae75a","vendors-node_modules_emotion_hash_dist_hash_browser_esm_js-node_modules_emotion_unitless_dist-cea445","vendors-node_modules_fflate_esm_browser_js-node_modules_get-intrinsic_index_js-node_modules_f-2d46f2","vendors-node_modules_gopd_index_js-node_modules_has-symbols_index_js-node_modules_hasown_inde-de185c","vendors-node_modules_jspdf_dist_jspdf_es_min_js","vendors-node_modules_lodash_every_js-node_modules_lodash_find_js-node_modules_lodash_flatMap_-d1fff4","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-c27f65","vendors-node_modules_moment_locale_gu_js-node_modules_moment_locale_he_js-node_modules_moment-f09aae","vendors-node_modules_moment_locale_nl-be_js-node_modules_moment_locale_nl_js-node_modules_mom-aa5e01","vendors-node_modules_moment_locale_tzl_js-node_modules_moment_locale_tzm-latn_js-node_modules-ad9985","vendors-node_modules_moment_moment_js","vendors-node_modules_notiflix_dist_notiflix-aio-3_2_8_min_js-node_modules_object-inspect_inde-908f0d","vendors-node_modules_rc-component_async-validator_es_index_js-node_modules_rc-component_color-9c3d79","vendors-node_modules_rc-dropdown_es_index_js-node_modules_rc-field-form_es_index_js-node_modu-800196","vendors-node_modules_rc-input-number_es_index_js-node_modules_rc-input_lib_utils_commonUtils_-994bf3","vendors-node_modules_rc-pagination_es_index_js-node_modules_rc-pagination_lib_locale_en_US_js-36f67b","vendors-node_modules_rc-picker_es_PickerTrigger_index_js-node_modules_rc-picker_es_PickerTrig-2bfecb","vendors-node_modules_rc-progress_es_index_js-node_modules_rc-resize-observer_es_index_js-node-08f4a6","vendors-node_modules_rc-table_es_index_js-node_modules_rc-table_lib_hooks_useColumns_index_js-477b33","vendors-node_modules_rc-textarea_es_index_js-node_modules_rc-tooltip_es_index_js-node_modules-ae4019","vendors-node_modules_rc-tree_lib_util_js-node_modules_rc-tree_lib_utils_conductUtil_js-node_m-79c8f8","vendors-node_modules_rc-util_lib_Children_toArray_js-node_modules_rc-util_lib_Dom_dynamicCSS_-42f019","vendors-node_modules_rc-virtual-list_es_index_js","vendors-node_modules_react-dom_cjs_react-dom_development_js","vendors-node_modules_react-dom_client_js-node_modules_react-router-dom_dist_index_js-node_mod-48faa6","vendors-node_modules_react_index_js","vendors-node_modules_recharts-scale_es6_index_js-node_modules_recharts_es6_cartesian_Bar_js-n-5ba3ae","vendors-node_modules_recharts_es6_chart_BarChart_js-node_modules_recharts_es6_chart_PieChart_js","vendors-node_modules_recharts_es6_component_Cell_js-node_modules_recharts_es6_component_Curso-e8e03b","vendors-node_modules_recharts_es6_polar_Pie_js-node_modules_recharts_es6_polar_PolarAngleAxis-559055","vendors-node_modules_recharts_es6_util_BarUtils_js-node_modules_recharts_es6_util_CssPrefixUt-0883c9","vendors-node_modules_reduxjs_toolkit_dist_redux-toolkit_modern_mjs","vendors-node_modules_remix-run_router_dist_router_js","vendors-node_modules_resize-observer-polyfill_dist_ResizeObserver_es_js-node_modules_schedule-9e14aa","vendors-node_modules_sweetalert2_dist_sweetalert2_all_js-node_modules_toggle-selection_index_-23f96a","vendors-node_modules_xlsx_xlsx_mjs","main-i","main-src_services_p","main-src_services_volunteer_c","main-src_shared_a","main-src_shared_views_main_d","main-src_shared_views_main_i","main-src_shared_views_main_s"], () => (__webpack_exec__("./src/index.tsx")));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX3ZpZXdzX20udm9sdW50ZWVyYXBpLjM1Zjk4ZDA4ZjEwMzBiNjM3NzJmLmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBQ0EsdUtBQUFBLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxXQUFBLDhCQUFBQyxFQUFBTixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFDLENBQUEsR0FBQUwsQ0FBQSxJQUFBQSxDQUFBLENBQUFNLFNBQUEsWUFBQUMsU0FBQSxHQUFBUCxDQUFBLEdBQUFPLFNBQUEsRUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUwsQ0FBQSxDQUFBQyxTQUFBLFVBQUFLLG1CQUFBLENBQUFILENBQUEsdUJBQUFWLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFFLENBQUEsRUFBQUMsQ0FBQSxFQUFBRyxDQUFBLEVBQUFJLENBQUEsTUFBQUMsQ0FBQSxHQUFBWCxDQUFBLFFBQUFZLENBQUEsT0FBQUMsQ0FBQSxLQUFBRixDQUFBLEtBQUFiLENBQUEsS0FBQWdCLENBQUEsRUFBQXBCLENBQUEsRUFBQXFCLENBQUEsRUFBQUMsQ0FBQSxFQUFBTixDQUFBLEVBQUFNLENBQUEsQ0FBQUMsSUFBQSxDQUFBdkIsQ0FBQSxNQUFBc0IsQ0FBQSxXQUFBQSxFQUFBckIsQ0FBQSxFQUFBQyxDQUFBLFdBQUFNLENBQUEsR0FBQVAsQ0FBQSxFQUFBUSxDQUFBLE1BQUFHLENBQUEsR0FBQVosQ0FBQSxFQUFBbUIsQ0FBQSxDQUFBZixDQUFBLEdBQUFGLENBQUEsRUFBQW1CLENBQUEsZ0JBQUFD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QXJCQSxRQUFrQkEsQ0FBQSxFQUFTO0VBQy9CLG9CQUFPalosMERBQUEsYUFBSSxzQkFBd0IsQ0FBQztBQUN0QyxDQUFDO0FBRUQsaUVBQWVpWixRQUFRLEU7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDTkc7QUFFNkQ7QUFHdkYsSUFBTUUscUJBQStCLEdBQUcsU0FBbENBLHFCQUErQkEsQ0FBQSxFQUFTO0VBRTVDLG9CQUNFblosMERBQUE7SUFBS29aLFNBQVMsRUFBQztFQUFnQixnQkFFN0JwWiwwREFBQSxDQUFDa1osc0ZBQWlCLE1BQUMsQ0FDaEIsQ0FBQztBQUVWLENBQUM7QUFFRCxpRUFBZUMscUJBQXFCLEUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9tYWluL3ZvbHVudGVlci9hcHByb3ZlZC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi92b2x1bnRlZXIvZm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbWFpbi92b2x1bnRlZXIvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vdm9sdW50ZWVyX2V2ZW50L2Zvcm0udHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL21haW4vdm9sdW50ZWVyX2V2ZW50L2luZGV4LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy9ub3QtZm91bmQvbm90LWZvdW5kLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC92aWV3cy92b2x1bnRlZXIvdm9sdW50ZWVyLXJlZ2lzdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0sIEJ1dHRvbiwgSW5wdXQsIFNwYWNlLCBUYWJsZSwgSW1hZ2UsIE1vZGFsLCBSb3csIENvbCwgVGFnLCBTZWxlY3QsIElucHV0TnVtYmVyLCBUeXBvZ3JhcGh5IH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyBkZWxldGVWb2x1bnRlZXJBY3Rpb24sIGZldGNoRGFzaGJvYXJkQWN0aW9uLCBmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucywgZmV0Y2hFdmVudCwgZmV0Y2hMYW5ndWF0ZUFjdGlvbiwgZmV0Y2hQcm92aW5jZSwgZmV0Y2hTa2lsbEFjdGlvbiwgZmV0Y2hUZWFtLCBmZXRjaFZvbHVudGVlcnMsIHVwZGF0ZVZvbHVudGVlckFjdGlvbiwgdm9sdW50ZWVyRGV0YWlsQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICdAL3NoYXJlZC9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi4vLi4vLi4vY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgRGVsZXRlT3V0bGluZWQsIEVkaXRPdXRsaW5lZCwgRmlsZUV4Y2VsT3V0bGluZWQsIFNvcnRBc2NlbmRpbmdPdXRsaW5lZCwgRmlsdGVyT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xuaW1wb3J0ICdqc3BkZi1hdXRvdGFibGUnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuaW1wb3J0IE5vdGlmbGl4IGZyb20gJ25vdGlmbGl4JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuXG5jb25zdCB7IGNvbmZpcm0gfSA9IE1vZGFsO1xuXG5jb25zdCBzdGF0dXNDb2xvcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIFJlZ2lzdGVyOiAnYmx1ZScsXG4gIFNob3J0bGlzdDogJ2dvbGQnLFxuICBJbnRlcnZpZXc6ICdwdXJwbGUnLFxuICBQYXJ0aWNpcGFudHM6ICdncmVlbicsXG4gIFJlc2VydmU6ICdjeWFuJyxcbiAgRmFpbGVkOiAncmVkJyxcbiAgUmVzaWduYXRpb246ICdvcmFuZ2UnLFxuICBEaXNxdWFsaWZpY2F0aW9uOiAndm9sY2FubycsXG59O1xuXG5pbnRlcmZhY2UgQXBwcm92ZWRWb2x1bmVlcnNQcm9wcyB7XG4gIHN0YXR1czogc3RyaW5nO1xufVxuXG5jb25zdCBBcHByb3ZlZFZvbHVuZWVycyA9ICh7IHN0YXR1cyB9OiBBcHByb3ZlZFZvbHVuZWVyc1Byb3BzKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBbc2VsZWN0ZWRSb3dzLCBzZXRTZWxlY3RlZFJvd3NdID0gdXNlU3RhdGU8YW55PihbXSk7XG4gIGNvbnN0IHtcbiAgICB2b2x1bnRlZXJzLFxuICAgIHZvbHVudGVlclBlbmRpbmcsXG4gICAgZGFzaGJvYXJkLFxuICAgIHByb3ZpbmNlcyxcbiAgICBlZHVjYXRpb25JbnN0aXR1dGlvbnMsXG4gICAgaW50ZXJlc3RlZFRlYW1zLFxuICAgIHZvbHVudGVlckV2ZW50cyxcbiAgICBza2lsbHMsXG4gICAgbGFuZ3VhZ2VzXG4gIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUudm9sdW50ZWVyKTtcbiAgY29uc3QgeyBhdXRoIH0gPSB1c2VTZWxlY3Rvcigoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGN1cnJlbnRVc2VyIH0gPSBhdXRoO1xuICBjb25zdCBpc0FkbWluID0gY3VycmVudFVzZXI/LnJvbGUgPT09IFwic3VwZXJfYWRtaW5cIjsgLy8gQ2hlY2sgdXNlciByb2xlXG5cbiAgY29uc3QgW2N1cnJlbnRQYWdlLCBzZXRDdXJyZW50UGFnZV0gPSB1c2VTdGF0ZSgxKTtcbiAgY29uc3QgW3BhZ2VTaXplLCBzZXRQYWdlU2l6ZV0gPSB1c2VTdGF0ZSgxMCk7XG4gIGNvbnN0IFtzZWFyY2gsIHNldFNlYXJjaF0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW3NvcnRPcmRlciwgc2V0U29ydE9yZGVyXSA9IHVzZVN0YXRlKFwiZGVzY1wiKTtcbiAgY29uc3QgW3Byb3ZpbmNlLCBzZXRQcm92aW5jZV0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW3RlYW1JZCwgc2V0VGVhbUlkXSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbZXZlbnRJZHMsIHNldEV2ZW50SWRzXSA9IHVzZVN0YXRlPG51bWJlcltdPihbXSk7XG4gIGNvbnN0IFtsYW5ndWFnZUlkLCBzZXRMYW5ndWFnZUlkXSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbc2tpbGxJZCwgc2V0U2tpbGxJZF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW3NlbGVjdGVkSW5zdGl0dXRpb24sIHNldFNlbGVjdGVkSW5zdGl0dXRpb25dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtzY29yZUZyb20sIHNldFNjb3JlRnJvbV0gPSB1c2VTdGF0ZTxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3Njb3JlVG8sIHNldFNjb3JlVG9dID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChmZXRjaFByb3ZpbmNlKCkpO1xuICAgIGRpc3BhdGNoKGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zKCkpO1xuICAgIGRpc3BhdGNoKGZldGNoVGVhbSgpKTtcbiAgICBkaXNwYXRjaChmZXRjaEV2ZW50KCkpO1xuICAgIGRpc3BhdGNoKGZldGNoTGFuZ3VhdGVBY3Rpb24oKSk7XG4gICAgZGlzcGF0Y2goZmV0Y2hTa2lsbEFjdGlvbigpKTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zKCkpO1xuICB9LCBbZGlzcGF0Y2hdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hWb2x1bnRlZXJzKHsgdm9sdW50ZWVyX3N0YXR1czogc3RhdHVzLCBwYWdlOiBjdXJyZW50UGFnZSwgcGFnZVNpemUsIHNlYXJjaCwgc29ydF9vcmRlcjogc29ydE9yZGVyLCBlZHVjYXRpb25faW5zdGl0dXRpb25faWQ6IHNlbGVjdGVkSW5zdGl0dXRpb24sIHNjb3JlX2Zyb206IHNjb3JlRnJvbSwgc2NvcmVfdG86IHNjb3JlVG8sIHByb3ZpbmNlLCBpbnRlcmVzdGVkX3RlYW1faWQ6IHRlYW1JZCwgZXZlbnRfaWRzOiBldmVudElkcywgbGFuZ3VhZ2VfaWQ6IGxhbmd1YWdlSWQsIHNraWxsX2lkOiBza2lsbElkIH0pKTtcbiAgfSwgW2Rpc3BhdGNoLCBzdGF0dXMsIGN1cnJlbnRQYWdlLCBwYWdlU2l6ZSwgc2VhcmNoLCBzb3J0T3JkZXIsIHNlbGVjdGVkSW5zdGl0dXRpb24sIHNjb3JlRnJvbSwgc2NvcmVUbywgcHJvdmluY2UsIHRlYW1JZCwgZXZlbnRJZHMsIGxhbmd1YWdlSWQsIHNraWxsSWRdKTtcblxuICBjb25zdCBoYW5kbGVTZWFyY2ggPSAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBzZXRTZWFyY2goZS50YXJnZXQudmFsdWUpO1xuICB9O1xuICBjb25zdCByZXNldFNlYXJjaCA9ICgpID0+IHtcbiAgICBzZXRTZWFyY2goXCJcIik7XG4gIH07XG4gIGNvbnN0IGhhbmRsZVNjb3JlRnJvbSA9IChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XG4gICAgc2V0U2NvcmVGcm9tKHZhbHVlID8gTnVtYmVyKHZhbHVlKSA6IG51bGwpOyAvLyBTZXRzIG51bGwgaW5zdGVhZCBvZiBcIlwiXG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2NvcmVUbyA9IChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XG4gICAgc2V0U2NvcmVUbyh2YWx1ZSA/IE51bWJlcih2YWx1ZSkgOiBudWxsKTsgLy8gU2V0cyBudWxsIGluc3RlYWQgb2YgXCJcIlxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUVkaXQgPSAoaWQ6IGFueSkgPT4ge1xuICAgIGRpc3BhdGNoKHZvbHVudGVlckRldGFpbEFjdGlvbihpZCkpO1xuICAgIG5hdmlnYXRlKGAvdm9sdW50ZWVyL2Zvcm0/aWQ9JHtpZH1gKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVEZWxldGUgPSAoaWQ6IGFueSkgPT4ge1xuICAgIGlmICghaXNBZG1pbikgcmV0dXJuOyAvLyBSZXN0cmljdCBhY2Nlc3MgdG8gbm9uLWFkbWluc1xuICAgIFN3YWwuZmlyZSh7XG4gICAgICB0aXRsZTogJ0FyZSB5b3Ugc3VyZT8nLFxuICAgICAgdGV4dDogJ1lvdSB3b25cXCd0IGJlIGFibGUgdG8gcmV2ZXJ0IHRoaXMhJyxcbiAgICAgIGljb246ICd3YXJuaW5nJyxcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiBmYWxzZSxcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLFxuICAgICAgaHRtbDogYFxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMjBweDtcIj5cbiAgICAgICAgICA8YnV0dG9uIGlkPVwiY29uZmlybS1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNvbmZpcm0gc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZDMzO1wiPkRlbGV0ZTwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjYW5jZWwtZGVsZXRlXCIgY2xhc3M9XCJzd2FsMi1jYW5jZWwgc3dhbDItc3R5bGVkXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjMzA4NWQ2O1wiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGAsXG4gICAgICBkaWRPcGVuOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpcm1CdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjb25maXJtLWRlbGV0ZScpO1xuICAgICAgICBjb25zdCBjYW5jZWxCdXR0b24gPSBTd2FsLmdldFBvcHVwKCk/LnF1ZXJ5U2VsZWN0b3IoJyNjYW5jZWwtZGVsZXRlJyk7XG5cbiAgICAgICAgY29uZmlybUJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgZGlzcGF0Y2goZGVsZXRlVm9sdW50ZWVyQWN0aW9uKGlkKSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBTd2FsLmZpcmUoJ0RlbGV0ZWQhJywgJ1RoZSBpdGVtIGhhcyBiZWVuIGRlbGV0ZWQuJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKGZldGNoVm9sdW50ZWVycyh7IHZvbHVudGVlcl9zdGF0dXM6IHN0YXR1cywgcGFnZTogY3VycmVudFBhZ2UsIHBhZ2VTaXplOiBwYWdlU2l6ZSwgc29ydF9vcmRlcjogc29ydE9yZGVyLCBlZHVjYXRpb25faW5zdGl0dXRpb25faWQ6IHNlbGVjdGVkSW5zdGl0dXRpb24sIHNjb3JlX2Zyb206IHNjb3JlRnJvbSwgc2NvcmVfdG86IHNjb3JlVG8sIHByb3ZpbmNlLCBpbnRlcmVzdGVkX3RlYW1faWQ6IHRlYW1JZCwgZXZlbnRfaWRzOiBldmVudElkcywgbGFuZ3VhZ2VfaWQ6IGxhbmd1YWdlSWQsIHNraWxsX2lkOiBza2lsbElkIH0pKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbmNlbEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgc3RhdHVzT3B0aW9ucyA9IFtcbiAgICBcIlJlZ2lzdGVyXCIsXG4gICAgXCJTaG9ydGxpc3RcIixcbiAgICBcIkludGVydmlld1wiLFxuICAgIFwiUGFydGljaXBhbnRzXCIsXG4gICAgXCJSZXNlcnZlXCIsXG4gICAgXCJGYWlsZWRcIixcbiAgICBcIlJlc2lnbmF0aW9uXCIsXG4gICAgXCJEaXNxdWFsaWZpY2F0aW9uXCIsXG4gIF07XG5cblxuICAvLyBIYW5kbGUgc3RhdHVzIGNoYW5nZSBhbmQgZmV0Y2ggdXBkYXRlZCBsaXN0XG4gIGNvbnN0IGhhbmRsZVN0YXR1c0NoYW5nZSA9ICh2b2x1bnRlZXJJZDogc3RyaW5nLCBuZXdTdGF0dXM6IHN0cmluZykgPT4ge1xuICAgIGlmICghaXNBZG1pbikgcmV0dXJuOyAvLyBSZXN0cmljdCBhY2Nlc3MgdG8gbm9uLWFkbWluc1xuICAgIGRpc3BhdGNoKHVwZGF0ZVZvbHVudGVlckFjdGlvbih7IGlkOiB2b2x1bnRlZXJJZCwgZGF0YTogeyB2b2x1bnRlZXJfc3RhdHVzOiBuZXdTdGF0dXMgfSB9KSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgZGlzcGF0Y2goZmV0Y2hWb2x1bnRlZXJzKHsgdm9sdW50ZWVyX3N0YXR1czogc3RhdHVzLCBwYWdlOiBjdXJyZW50UGFnZSwgcGFnZVNpemU6IHBhZ2VTaXplLCBzb3J0X29yZGVyOiBzb3J0T3JkZXIsIGVkdWNhdGlvbl9pbnN0aXR1dGlvbl9pZDogc2VsZWN0ZWRJbnN0aXR1dGlvbiwgc2NvcmVfZnJvbTogc2NvcmVGcm9tLCBzY29yZV90bzogc2NvcmVUbywgcHJvdmluY2UsIGludGVyZXN0ZWRfdGVhbV9pZDogdGVhbUlkLCBldmVudF9pZHM6IGV2ZW50SWRzLCBsYW5ndWFnZV9pZDogbGFuZ3VhZ2VJZCwgc2tpbGxfaWQ6IHNraWxsSWQgfSkpOyAvLyBGZXRjaCB1cGRhdGVkIGxpc3QgYWZ0ZXIgY2hhbmdlXG4gICAgICAgIE5vdGlmbGl4Lk5vdGlmeS5zdWNjZXNzKGBTdGF0dXMgdXBkYXRlZCB0byBcIiR7bmV3U3RhdHVzfVwiYCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgTm90aWZsaXguTm90aWZ5LmZhaWx1cmUoXCJGYWlsZWQgdG8gdXBkYXRlIHN0YXR1cy4gVHJ5IGFnYWluLlwiKTtcbiAgICAgIH0pO1xuICB9O1xuICBjb25zdCBoYW5kbGVJbnN0aXR1dGlvbkNoYW5nZSA9IChpbnN0aXR1dGlvbklkOiBzdHJpbmcpID0+IHtcbiAgICBzZXRTZWxlY3RlZEluc3RpdHV0aW9uKGluc3RpdHV0aW9uSWQpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRhYmxlQ2hhbmdlID0gKHBhZ2luYXRpb246IGFueSkgPT4ge1xuICAgIHNldEN1cnJlbnRQYWdlKHBhZ2luYXRpb24uY3VycmVudCk7XG4gICAgc2V0UGFnZVNpemUocGFnaW5hdGlvbi5wYWdlU2l6ZSk7XG4gIH07XG5cbiAgY29uc3QgY29sdW1ucyA9IFtcbiAgICB7IHRpdGxlOiAn4oSWJywgZGF0YUluZGV4OiAnaW5kZXgnLCBrZXk6ICdpbmRleCcsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAn4Z6b4Z+B4Z6B4Z6A4Z684Z6KJyxcbiAgICAgIGtleTogJ2NvZGUnLFxuICAgICAgcmVzcG9uc2l2ZTogWyd4cycsICdzbScsICdtZCcsICdsZyddLFxuICAgICAgcmVuZGVyOiAoXzogc3RyaW5nLCByZWNvcmQ6IGFueSkgPT4gKFxuICAgICAgICA8U3BhY2Ugc2l6ZT1cInNtYWxsXCI+XG4gICAgICAgICAgPEJ1dHRvbiB0eXBlPVwibGlua1wiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX0+XG4gICAgICAgICAgICA8VHlwb2dyYXBoeS5UZXh0IHN0eWxlPXt7IGNvbG9yOiByZWNvcmQubWFpbl9jb2RlID8gJ2dyZWVuJyA6ICdpbmhlcml0JyB9fT5cbiAgICAgICAgICAgICAge3JlY29yZC5tYWluX2NvZGUgfHwgcmVjb3JkLmNvZGV9XG4gICAgICAgICAgICA8L1R5cG9ncmFwaHkuVGV4dD5cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ+GemuGevOGelOGel+GetuGeluGek+Get+GehOGeiOGfkuGemOGfhOGfhycsXG4gICAgICBkYXRhSW5kZXg6ICdjb21iaW5lZCcsXG4gICAgICBrZXk6ICdjb21iaW5lZCcsXG4gICAgICByZXNwb25zaXZlOiBbJ3hzJywgJ3NtJywgJ21kJywgJ2xnJ10sXG4gICAgICByZW5kZXI6IChfOiBhbnksIHJlY29yZDogYW55KSA9PiAoXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAxMCB9fT5cbiAgICAgICAgICB7cmVjb3JkLnBob3RvID8gKFxuICAgICAgICAgICAgPEltYWdlIHdpZHRoPXs1MH0gc3JjPXtyZWNvcmQucGhvdG99IGFsdD1cIlBob3RvXCIgc3R5bGU9e3sgYm9yZGVyUmFkaXVzOiA1LCBib3JkZXI6ICcxcHggc29saWQgI2RkZCcgfX0gLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPHNwYW4+Tm8gSW1hZ2U8L3NwYW4+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8c3Bhbj57cmVjb3JkLm5hbWV9PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICksXG4gICAgfSxcbiAgICB7IHRpdGxlOiAn4Z6b4Z+B4Z6B4Z6R4Z684Z6a4Z6f4Z+Q4Z6W4Z+S4Z6RJywgZGF0YUluZGV4OiAncGhvbmVfbnVtYmVyJywga2V5OiAncGhvbmVfbnVtYmVyJywgcmVzcG9uc2l2ZTogWydtZCddLCBlbGxpcHNpczogdHJ1ZSB9LFxuICAgIHsgdGl0bGU6ICfhnpfhn4HhnpEnLCBkYXRhSW5kZXg6ICdnZW5kZXInLCBrZXk6ICdnZW5kZXInLCByZXNwb25zaXZlOiBbJ3NtJ10sIGVsbGlwc2lzOiB0cnVlIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICfhnpbhn5Dhno/hn4zhnpjhnrbhnpPhnqLhn4bhnpbhnrjhnoDhnrbhnprhnorhnrbhnoDhn4vhnpbhnrbhnoDhn5LhnpknLFxuICAgICAgZGF0YUluZGV4OiAnYXBwbGljYXRpb25faW5mbycsXG4gICAgICBrZXk6ICdhcHBsaWNhdGlvbl9pbmZvJyxcbiAgICAgIHJlc3BvbnNpdmU6IFsnbWQnXSxcbiAgICAgIHJlbmRlcjogKF86IGFueSwgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHN0cm9uZz7hnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn406PC9zdHJvbmc+IHtyZWNvcmQudm9sdW50ZWVyX2V2ZW50X25hbWUgfHwgJy0nfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3Ryb25nPuGegOGfkuGemuGeu+GemOGegOGetuGemuGehOGetuGemjo8L3N0cm9uZz4ge3JlY29yZC5pbnRlcmVzdGVkX3RlYW1fbmFtZSB8fCAnLSd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzdHJvbmc+4Z6i4Z+K4Z644Z6Y4Z+C4Z6bOjwvc3Ryb25nPiB7cmVjb3JkLmVtYWlsIHx8ICctJ31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHN0cm9uZz7hnpDhn5LhnoThn4PhnoXhnrvhn4fhnojhn5Lhnpjhn4Thn4c6PC9zdHJvbmc+IHttb21lbnQocmVjb3JkLmNyZWF0ZWRfYXQpLmZvcm1hdCgnTU1NTSBEbyBZWVlZLCBoOm1tOnNzIGEnKSB8fCAnLSd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSxcbiAgICB9LFxuICAgIHsgdGl0bGU6ICfhnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn40nLCBkYXRhSW5kZXg6ICd2b2x1bnRlZXJfZXZlbnRfbmFtZScsIGtleTogJ3ZvbHVudGVlcl9ldmVudF9uYW1lJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwiQWN0aW9uXCIsXG4gICAgICBrZXk6IFwiYWN0aW9uXCIsXG4gICAgICByZXNwb25zaXZlOiBbXCJ4c1wiLCBcInNtXCIsIFwibWRcIiwgXCJsZ1wiXSxcbiAgICAgIHJlbmRlcjogKF86IHN0cmluZywgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIHsvKiBTdGF0dXMgRHJvcGRvd24gaW5zaWRlIGEgQ29sb3JlZCBUYWcgKi99XG4gICAgICAgICAgPFRhZ1xuICAgICAgICAgICAgY29sb3I9e3N0YXR1c0NvbG9yc1tyZWNvcmQudm9sdW50ZWVyX3N0YXR1c10gfHwgXCJkZWZhdWx0XCJ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBwYWRkaW5nOiBcIjNweCA2cHhcIixcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjZweFwiLFxuICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICBzaXplPVwic21hbGxcIiAvLyDinIUgTWFrZXMgdGhlIGRyb3Bkb3duIHNtYWxsZXJcbiAgICAgICAgICAgICAgdmFsdWU9e3JlY29yZC52b2x1bnRlZXJfc3RhdHVzIHx8IFwiUmVnaXN0ZXJcIn1cbiAgICAgICAgICAgICAgYm9yZGVyZWQ9e2ZhbHNlfSAvLyDinIUgUmVtb3ZlcyBib3JkZXIgZm9yIGEgY2xlYW5lciBsb29rXG4gICAgICAgICAgICAgIGRyb3Bkb3duU3R5bGU9e3sgZm9udFNpemU6IFwiMTJweFwiIH19IC8vIOKchSBFbnN1cmVzIHNtYWxsZXIgdGV4dCBpbiBkcm9wZG93blxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAxMDAsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMTJweFwiLCAvLyDinIUgTWFrZXMgdGV4dCBzbWFsbGVyXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGRpc2FibGVkPXshaXNBZG1pbn1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhuZXdTdGF0dXMpID0+IGhhbmRsZVN0YXR1c0NoYW5nZShyZWNvcmQuaWQsIG5ld1N0YXR1cyl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtzdGF0dXNPcHRpb25zLm1hcCgoc3RhdHVzKSA9PiAoXG4gICAgICAgICAgICAgICAgPFNlbGVjdC5PcHRpb24ga2V5PXtzdGF0dXN9IHZhbHVlPXtzdGF0dXN9ID5cbiAgICAgICAgICAgICAgICAgIHtzdGF0dXN9XG4gICAgICAgICAgICAgICAgPC9TZWxlY3QuT3B0aW9uPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgIDwvVGFnPlxuXG4gICAgICAgICAgey8qIEVkaXQgQnV0dG9uICovfVxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGljb249ezxFZGl0T3V0bGluZWQgLz59XG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIiAvLyDinIUgTWFrZXMgYnV0dG9uIHNtYWxsZXJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUVkaXQocmVjb3JkLmlkKX1cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgey8qIERlbGV0ZSBCdXR0b24gKi99XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgaWNvbj17PERlbGV0ZU91dGxpbmVkIC8+fVxuICAgICAgICAgICAgZGFuZ2VyXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIiAvLyDinIUgTWFrZXMgYnV0dG9uIHNtYWxsZXJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZShyZWNvcmQuaWQpfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICfhnqLhno/hn5Lhno/hnp/hnonhn5Lhnonhnrbhno7hnpThn5Dhno7hn5Lhno4nLFxuICAgICAgZGF0YUluZGV4OiAndXBsb2FkX2lkX2NhcmQnLFxuICAgICAga2V5OiAndXBsb2FkX2lkX2NhcmQnLFxuICAgICAgcmVzcG9uc2l2ZTogWydsZyddLFxuICAgICAgcmVuZGVyOiAodGV4dDogYW55KSA9PlxuICAgICAgICB0ZXh0ID8gPEltYWdlIHdpZHRoPXs1MH0gc3JjPXt0ZXh0fSBhbHQ9XCJJRCBDYXJkXCIgc3R5bGU9e3sgYm9yZGVyUmFkaXVzOiA1LCBib3JkZXI6ICcxcHggc29saWQgI2RkZCcgfX0gLz4gOiAnTm8gSW1hZ2UnLFxuICAgIH0sXG5cblxuICBdO1xuXG4gIC8vIPCfk4wgRVhQT1JUIFRPIEVYQ0VMIEZVTkNUSU9OXG4gIGNvbnN0IGV4cG9ydFRvRXhjZWwgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc0FkbWluKSByZXR1cm47IC8vIFJlc3RyaWN0IGFjY2VzcyB0byBub24tYWRtaW5zXG4gICAgY29uc3QgYWxsRGFzaGJvYXJkID0gYXdhaXQgZGlzcGF0Y2goZmV0Y2hEYXNoYm9hcmRBY3Rpb24oKSk7XG4gICAgY29uc3QgYWxsdm9sdW50ZWVycyA9IGF3YWl0IGRpc3BhdGNoKGZldGNoVm9sdW50ZWVycyh7IHZvbHVudGVlcl9zdGF0dXM6IHN0YXR1cywgcGFnZTogMSwgcGFnZVNpemU6IGFsbERhc2hib2FyZD8ucGF5bG9hZD8uY291bnRfdm9sdW50ZWVycyB8fCAyMDAwLCBzb3J0X29yZGVyOiBzb3J0T3JkZXIsIGVkdWNhdGlvbl9pbnN0aXR1dGlvbl9pZDogc2VsZWN0ZWRJbnN0aXR1dGlvbiwgc2NvcmVfZnJvbTogc2NvcmVGcm9tLCBzY29yZV90bzogc2NvcmVUbywgcHJvdmluY2UsIGludGVyZXN0ZWRfdGVhbV9pZDogdGVhbUlkLCBldmVudF9pZHM6IGV2ZW50SWRzLCBsYW5ndWFnZV9pZDogbGFuZ3VhZ2VJZCwgc2tpbGxfaWQ6IHNraWxsSWQgfSkpO1xuXG4gICAgaWYgKGFsbHZvbHVudGVlcnMgJiYgYWxsdm9sdW50ZWVycz8ucGF5bG9hZD8uZGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB3cyA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChcbiAgICAgICAgYWxsdm9sdW50ZWVycz8ucGF5bG9hZD8uZGF0YS5tYXAoKGl0LCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAnIyc6IGluZGV4ICsgMSxcbiAgICAgICAgICAn4Z6b4Z+B4Z6B4Z6A4Z684Z6K4Z6U4Z6O4Z+S4Z6K4Z+E4Z+H4Z6i4Z624Z6f4Z6T4Z+S4Z6TJzogaXQuY29kZSxcbiAgICAgICAgICAn4Z6b4Z+B4Z6B4Z6A4Z684Z6KJzogaXQubWFpbl9jb2RlLFxuICAgICAgICAgICfhnojhn5Lhnpjhn4Thn4cgKEtobWVyKSc6IGAke2l0Lmxhc3RfbmFtZV9raG1lcj8/Jyd9ICR7aXQuZmlyc3RfbmFtZV9raG1lcj8/Jyd9YCxcbiAgICAgICAgICAn4Z6I4Z+S4Z6Y4Z+E4Z+HIChMYXRpbiknOiBgJHtpdC5sYXN0X25hbWVfbGF0aW4/PycnfSAke2l0LmZpcnN0X25hbWVfbGF0aW4/PycnfWAsXG4gICAgICAgICAgJ+GekOGfkuGehOGfg+GegOGfhuGejuGevuGejyc6IGl0LmRhdGVfb2ZfYmlydGg/PycnLFxuICAgICAgICAgICfhnpfhn4HhnpEnOiBpdC5nZW5kZXI/PycnLFxuICAgICAgICAgICfhnp/hnonhn5Lhnofhnrbhno/hnrcnOiBpdC5uYXRpb25hbGl0eT8/JycsXG4gICAgICAgICAgJ+Gem+GfgeGegeGekeGevOGemuGen+GfkOGeluGfkuGekSc6IGl0LnBob25lX251bWJlcj8/JycsXG4gICAgICAgICAgJ+GeouGfiuGeuOGemOGfguGemyc6IGl0LmVtYWlsPz8nJyxcbiAgICAgICAgICAn4Z6i4Z624Z6f4Z6Z4Z6K4Z+S4Z6L4Z624Z6TJzogaXQuY3VycmVudF9hZGRyZXNzPz8nJyxcbiAgICAgICAgICAn4Z6B4Z+B4Z6P4Z+S4Z6PJzogaXQucHJvdmluY2VfaWQ/PycnLFxuICAgICAgICAgICfhnqLhnrbhnofhnrjhnpYnOiBpdC5vY2N1cGF0aW9uX25hbWU/PycnLFxuICAgICAgICAgICfhnp/hn5LhnpDhnrbhnpThn5DhnpPhnp/hnrfhnoDhn5Lhnp/hnrYnOiBpdC5lZHVjYXRpb25faW5zdGl0dXRpb25fbmFtZT8/JycsXG4gICAgICAgICAgJ+GekeGfhuGeoOGfhuGeouGetuGenCc6IGl0LnRfc2hpcnRfc2l6ZT8/JycsXG4gICAgICAgICAgJ+GeouGetuGeoOGetuGemic6IGl0LmZvb2RfbmFtZT8/JycsXG4gICAgICAgICAgJ+GelOGeieGfkuGeoOGetuGeouGetuGeoOGetuGemic6IGl0LmlzX2Zvb2RfYWxsZXJneSA/ICdZZXMnIDogJ05vJyxcbiAgICAgICAgICAn4Z6i4Z624Z6g4Z624Z6a4Z6K4Z+C4Z6b4Z6V4Z+S4Z6i4Z+C4Z6AJzogaXQuZm9vZF9hbGxlcmdpZXM/PycnLFxuICAgICAgICAgICfhnpThn5Lhnprhnpfhn4HhnpHhnpbhnrfhnoDhnrbhnprhnpfhnrbhnpYnOiBpdC5kaXNhYmlsaXR5X3R5cGVfbmFtZT8/JycsXG4gICAgICAgICAgJ+GegOGfkuGemuGeu+GemOGeiuGfguGem+GeheGetuGelOGfi+GeouGetuGemuGemOGfkuGemOGejuGfjSc6IGl0LmludGVyZXN0ZWRfdGVhbV9uYW1lPz8nJyxcbiAgICAgICAgICAn4Z6W4Z+S4Z6a4Z654Z6P4Z+S4Z6P4Z634Z6A4Z624Z6a4Z6O4Z+NJzogaXQudm9sdW50ZWVyX2V2ZW50X25hbWU/PycnLFxuICAgICAgICAgICfhnpThn5LhnprhnpfhnpbhnrHhnoDhnrbhnp8nOiBpdC5vcHBvcnR1bml0eV9zb3VyY2VfbmFtZT8/JycsXG4gICAgICAgICAgJ+GenOGeguGfkuGeguGelOGejuGfkuGej+Geu+Gfh+GelOGejuGfkuGej+GetuGemyc6IGl0LnRyYWluaW5nX3Nlc3Npb25fbmFtZT8/JycsXG4gICAgICAgICAgJ+Gen+GfkuGekOGetuGek+Gel+GetuGelic6IGl0LnZvbHVudGVlcl9zdGF0dXM/PycnLFxuICAgICAgICAgICdDcmVhdGVkIEF0JzogaXQuY3JlYXRlZF9hdCxcblxuICAgICAgICAgIC8vIOKchSBBZGQgRGlyZWN0IEltYWdlIFVSTHNcbiAgICAgICAgICAn4Z6a4Z684Z6U4Z6X4Z624Z6WJzogaXQucGhvdG8gPyBpdC5waG90byA6ICdObyBJbWFnZScsXG4gICAgICAgICAgJ+GeouGej+GfkuGej+Gen+GeieGfkuGeieGetuGejuGelOGfkOGejuGfkuGejic6IGl0LnVwbG9hZF9pZF9jYXJkID8gaXQudXBsb2FkX2lkX2NhcmQgOiAnTm8gSW1hZ2UnLFxuXG4gICAgICAgICAgLy8g4pyFIEFkZCBEb3dubG9hZGFibGUgQ1YgTGlua1xuICAgICAgICAgICdDVic6IGl0LnVwbG9hZF9jdiA/IGA9SFlQRVJMSU5LKFwiJHtpdC51cGxvYWRfY3Z9XCIsIFwiRG93bmxvYWQgQ1ZcIilgIDogJ05vIENWJ1xuICAgICAgICB9KSlcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHdiID0gWExTWC51dGlscy5ib29rX25ldygpO1xuICAgICAgWExTWC51dGlscy5ib29rX2FwcGVuZF9zaGVldCh3Yiwgd3MsICdWb2x1bnRlZXJzJyk7XG5cbiAgICAgIC8vIOKchSBFbnN1cmUgdGhlIENWIGxpbmsgZm9ybWF0IGlzIHByb3Blcmx5IGFwcGxpZWRcbiAgICAgIHdzWychY29scyddID0gW3sgd2NoOiAxMCB9LCB7IHdjaDogMjAgfSwgeyB3Y2g6IDI1IH0sIHsgd2NoOiAyNSB9LCB7IHdjaDogMTUgfSwgeyB3Y2g6IDEwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjAgfSwgeyB3Y2g6IDMwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjAgfSwgeyB3Y2g6IDI1IH0sIHsgd2NoOiAxNSB9LCB7IHdjaDogMTAgfSwgeyB3Y2g6IDEwIH0sIHsgd2NoOiAxMCB9LCB7IHdjaDogMTUgfSwgeyB3Y2g6IDE1IH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjAgfSwgeyB3Y2g6IDIwIH0sIHsgd2NoOiAyMCB9LCB7IHdjaDogMjUgfV07XG5cbiAgICAgIFhMU1gud3JpdGVGaWxlKHdiLCAnVm9sdW50ZWVycy54bHN4Jyk7XG4gICAgfVxuICB9O1xuXG5cbiAgY29uc3QgaGFuZGxlU29ydE9yZGVyID0gKCkgPT4ge1xuICAgIHNldFNvcnRPcmRlcihwcmV2T3JkZXIgPT4gKHByZXZPcmRlciA9PT0gXCJkZXNjXCIgPyBcImFzY1wiIDogXCJkZXNjXCIpKTtcbiAgfVxuXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IG92ZXJmbG93WDogJ2F1dG8nIH19PlxuICAgICAge2lzQWRtaW4gJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICcjZjVmNWY1JyxcbiAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEwcHgnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7LyogSGVhZGVyIENvbnRyb2xzICovfVxuICAgICAgICAgIDxSb3cgZ3V0dGVyPXtbMTYsIDE2XX0ganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBhbGlnbj1cIm1pZGRsZVwiIHN0eWxlPXt7IG1hcmdpbkJvdHRvbTogJzEwcHgnIH19PlxuICAgICAgICAgICAgPENvbCB4cz17MjR9IG1kPXsxMn0+XG4gICAgICAgICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgICAgICAgIDxzcGFuPuGen+GemuGeu+GelDoge3ZvbHVudGVlcnM/Lm1ldGE/LnRvdGFsIHx8IDB9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLhnp/hn5Lhnpzhn4LhnoThnprhnoAuLi5cIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3NlYXJjaH1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVTZWFyY2h9XG4gICAgICAgICAgICAgICAgICBzdHlsZT17eyBtaW5XaWR0aDogMTUwIH19XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e3Jlc2V0U2VhcmNofT7hnoDhn4bhno7hno/hn4vhnqHhnr7hnoThnpzhnrfhnok8L0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9TcGFjZT5cbiAgICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgICAgPENvbCB4cz17MjR9IG1kPXsxMn0+XG4gICAgICAgICAgICAgIDxTcGFjZSB3cmFwIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScsIGp1c3RpZnlDb250ZW50OiAnZmxleC1lbmQnIH19PlxuICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJvcmRlckNvbG9yOiBcInJlZFwiLCBjb2xvcjogXCJyZWRcIiwgYmFja2dyb3VuZENvbG9yOiBcIndoaXRlXCIgfX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNvcnRPcmRlcn1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8U29ydEFzY2VuZGluZ091dGxpbmVkIHN0eWxlPXt7IGNvbG9yOiBcInJlZFwiIH19IC8+IE9SREVSXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICBzdHlsZT17eyBib3JkZXJDb2xvcjogXCJncmVlblwiLCBjb2xvcjogXCJncmVlblwiLCBiYWNrZ3JvdW5kQ29sb3I6IFwid2hpdGVcIiB9fVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17ZXhwb3J0VG9FeGNlbH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RmlsZUV4Y2VsT3V0bGluZWQgc3R5bGU9e3sgY29sb3I6IFwiZ3JlZW5cIiB9fSAvPiBFeGNlbFxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICA8L1NwYWNlPlxuICAgICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgICB7LyogRmlsdGVycyAqL31cbiAgICAgICAgICA8Um93IGd1dHRlcj17WzE2LCAxNl19PlxuICAgICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9IGxnPXs2fT5cbiAgICAgICAgICAgICAgPHNwYW4+4Z6B4Z+B4Z6P4Z+S4Z6P4oCLIOGerCDhnoDhn5LhnprhnrvhnoQ8L3NwYW4+XG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19XG4gICAgICAgICAgICAgICAgYWxsb3dDbGVhclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgUHJvdmluY2Ugb3IgQ2l0eVwiXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZTogYW55KSA9PiBzZXRQcm92aW5jZSh2YWx1ZSl9XG4gICAgICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge0FycmF5LmlzQXJyYXkocHJvdmluY2VzKSAmJiBwcm92aW5jZXMubGVuZ3RoID4gMCA/IChcbiAgICAgICAgICAgICAgICAgIHByb3ZpbmNlcy5tYXAoKHByb3ZpbmNlKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxTZWxlY3QuT3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtwcm92aW5jZS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17YCR7cHJvdmluY2UuaWR9LCR7cHJvdmluY2UubmFtZS5rbX0gLyAke3Byb3ZpbmNlLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHtgJHtwcm92aW5jZS5uYW1lLmttfSAvICR7cHJvdmluY2UubmFtZS5sYXRpbn1gfVxuICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdC5PcHRpb24+XG4gICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8U2VsZWN0Lk9wdGlvbiBkaXNhYmxlZD5ObyBwcm92aW5jZXMgYXZhaWxhYmxlPC9TZWxlY3QuT3B0aW9uPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Db2w+XG5cbiAgICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fSBsZz17Nn0+XG4gICAgICAgICAgICAgIDxzcGFuPuGen+GetuGegOGem+GenOGet+GekeGfkuGemeGetuGem+GfkOGemTwvc3Bhbj5cbiAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAgICAgICAgICAgICBhbGxvd0NsZWFyXG4gICAgICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgICAgIGZpbHRlck9wdGlvbj17KGlucHV0LCBvcHRpb246IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgIG9wdGlvbj8uY2hpbGRyZW4udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhpbnB1dC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlSW5zdGl0dXRpb25DaGFuZ2V9XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYW4gaW5zdGl0dXRpb25cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2VkdWNhdGlvbkluc3RpdHV0aW9ucz8uZGF0YT8ubWFwKChpbnN0aXR1dGlvbikgPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e2luc3RpdHV0aW9uLmlkfSB2YWx1ZT17aW5zdGl0dXRpb24uaWR9PlxuICAgICAgICAgICAgICAgICAgICB7aW5zdGl0dXRpb24ubmFtZX1cbiAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvQ29sPlxuXG4gICAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgICA8c3Bhbj7hnoDhn5Lhnprhnrvhnpg8L3NwYW4+XG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19XG4gICAgICAgICAgICAgICAgYWxsb3dDbGVhclxuICAgICAgICAgICAgICAgIHNob3dTZWFyY2hcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhbiBpbnRlcmVzdGVkIHRlYW1cIlxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWU6IGFueSkgPT4gc2V0VGVhbUlkKHZhbHVlKX1cbiAgICAgICAgICAgICAgICBmaWx0ZXJPcHRpb249eyhpbnB1dCwgb3B0aW9uOiBhbnkpID0+XG4gICAgICAgICAgICAgICAgICBvcHRpb24/LmNoaWxkcmVuLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXQudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7aW50ZXJlc3RlZFRlYW1zPy5kYXRhPy5tYXAoKHRlYW06IGFueSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e3RlYW0uaWR9IHZhbHVlPXt0ZWFtLmlkfT5cbiAgICAgICAgICAgICAgICAgICAge3RlYW0ubmFtZX1cbiAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvQ29sPlxuXG4gICAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgICA8c3Bhbj7hnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn408L3NwYW4+XG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBtb2RlPVwibXVsdGlwbGVcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAgICAgICAgICAgICBhbGxvd0NsZWFyXG4gICAgICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIGV2ZW50XCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17ZXZlbnRJZHN9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZXMpID0+IHNldEV2ZW50SWRzKHZhbHVlcyl9XG4gICAgICAgICAgICAgICAgZmlsdGVyT3B0aW9uPXsoaW5wdXQsIG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgIG9wdGlvbj8uY2hpbGRyZW4/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhpbnB1dC50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt2b2x1bnRlZXJFdmVudHM/LmRhdGE/Lm1hcCgoZXZlbnQpID0+IChcbiAgICAgICAgICAgICAgICAgIDxPcHRpb24ga2V5PXtldmVudC5pZH0gdmFsdWU9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgICAge2V2ZW50Lm5hbWV9XG4gICAgICAgICAgICAgICAgICA8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICA8L0NvbD5cblxuICAgICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9IGxnPXs2fT5cbiAgICAgICAgICAgICAgPHNwYW4+4Z6X4Z624Z6f4Z62PC9zcGFuPlxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgICAgICAgIGFsbG93Q2xlYXJcbiAgICAgICAgICAgICAgICBzaG93U2VhcmNoXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBsYW5ndWFnZVwiXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZTogYW55KSA9PiBzZXRMYW5ndWFnZUlkKHZhbHVlKX1cbiAgICAgICAgICAgICAgICBmaWx0ZXJPcHRpb249eyhpbnB1dCwgb3B0aW9uOiBhbnkpID0+XG4gICAgICAgICAgICAgICAgICBvcHRpb24/LmNoaWxkcmVuLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXQudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7bGFuZ3VhZ2VzPy5kYXRhPy5tYXAoKGxhbmd1YWdlOiBhbnkpID0+IChcbiAgICAgICAgICAgICAgICAgIDxPcHRpb24ga2V5PXtsYW5ndWFnZS5pZH0gdmFsdWU9e2xhbmd1YWdlLmlkfT5cbiAgICAgICAgICAgICAgICAgICAge2xhbmd1YWdlLm5hbWV9XG4gICAgICAgICAgICAgICAgICA8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICA8L0NvbD5cblxuICAgICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9IGxnPXs2fT5cbiAgICAgICAgICAgICAgPHNwYW4+4Z6H4Z+G4Z6T4Z624Z6J4Z6V4Z+S4Z6f4Z+B4Z6E4Z6R4Z+A4Z6PPC9zcGFuPlxuICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgICAgICAgIGFsbG93Q2xlYXJcbiAgICAgICAgICAgICAgICBzaG93U2VhcmNoXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBza2lsbFwiXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZTogYW55KSA9PiBzZXRTa2lsbElkKHZhbHVlKX1cbiAgICAgICAgICAgICAgICBmaWx0ZXJPcHRpb249eyhpbnB1dCwgb3B0aW9uOiBhbnkpID0+XG4gICAgICAgICAgICAgICAgICBvcHRpb24/LmNoaWxkcmVuLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaW5wdXQudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7c2tpbGxzPy5kYXRhPy5tYXAoKHNraWxsOiBhbnkpID0+IChcbiAgICAgICAgICAgICAgICAgIDxPcHRpb24ga2V5PXtza2lsbC5pZH0gdmFsdWU9e3NraWxsLmlkfT5cbiAgICAgICAgICAgICAgICAgICAge3NraWxsLm5hbWV9XG4gICAgICAgICAgICAgICAgICA8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICA8L0NvbD5cblxuICAgICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsyNH0gbWQ9ezEyfSBsZz17MTJ9PlxuICAgICAgICAgICAgICA8c3Bhbj7hnpbhnrfhnpPhn5LhnpHhnrs8L3NwYW4+XG4gICAgICAgICAgICAgIDxTcGFjZSBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19IGRpcmVjdGlvbj1cImhvcml6b250YWxcIiB3cmFwPlxuICAgICAgICAgICAgICAgIDxJbnB1dE51bWJlclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJGcm9tXCJcbiAgICAgICAgICAgICAgICAgIG1pbj17MH1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtzY29yZUZyb219XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2V0U2NvcmVGcm9tfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPElucHV0TnVtYmVyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRvXCJcbiAgICAgICAgICAgICAgICAgIG1pbj17c2NvcmVGcm9tIHx8IDB9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17c2NvcmVUb31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtzZXRTY29yZVRvfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3BhY2U+XG4gICAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8L1Jvdz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuXG4gICAgICB7LyogVGFibGUgU2VjdGlvbiAqL31cbiAgICAgIDxUYWJsZVxuICAgICAgICByb3dTZWxlY3Rpb249e3tcbiAgICAgICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgICAgIG9uQ2hhbmdlOiAoXywgc2VsZWN0ZWRSb3dzKSA9PiBzZXRTZWxlY3RlZFJvd3Moc2VsZWN0ZWRSb3dzKSxcbiAgICAgICAgfX1cbiAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgZGF0YVNvdXJjZT17KHZvbHVudGVlcnM/LmRhdGEgfHwgW10pLm1hcCgoaXQsIGluZGV4KSA9PiAoe1xuICAgICAgICAgIGtleTogaXQuaWQsXG4gICAgICAgICAgaW5kZXg6IGluZGV4ICsgMSxcbiAgICAgICAgICBuYW1lOiBgJHtpdC5sYXN0X25hbWVfbGF0aW59ICR7aXQuZmlyc3RfbmFtZV9sYXRpbn1gLFxuICAgICAgICAgIC4uLml0LFxuICAgICAgICB9KSl9XG4gICAgICAgIGxvYWRpbmc9e3ZvbHVudGVlclBlbmRpbmd9XG4gICAgICAgIHBhZ2luYXRpb249e3tcbiAgICAgICAgICBjdXJyZW50OiBjdXJyZW50UGFnZSxcbiAgICAgICAgICBwYWdlU2l6ZTogcGFnZVNpemUsXG4gICAgICAgICAgdG90YWw6IHZvbHVudGVlcnM/Lm1ldGE/LnRvdGFsIHx8IDAsXG4gICAgICAgICAgc2hvd1NpemVDaGFuZ2VyOiB0cnVlLFxuICAgICAgICB9fVxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlVGFibGVDaGFuZ2V9XG4gICAgICAgIHJvd0tleT1cImlkXCJcbiAgICAgICAgc2Nyb2xsPXt7IHg6ICdtYXgtY29udGVudCcgfX1cbiAgICAgIC8+XG4gICAgICA8TG9hZGluZ0RpYWxvZyB2aXNpYmxlPXt2b2x1bnRlZXJQZW5kaW5nfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwcm92ZWRWb2x1bmVlcnM7IiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFZvbHVudGVlckZvcm0gZnJvbSBcIi4uLy4uLy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlci9yZWdpc3Rlci9jb21wb25lbnRzL2Zvcm1cIjtcbiBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gY29uc3QgaWQ6IGFueSA9IHNlYXJjaFBhcmFtcy5nZXQoJ2lkJyk7XG5jb25zdCBOZXdFZGl0Vm9sdW50ZWVyUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFZvbHVudGVlckZvcm0gaWQ9e2lkfSAvPlxuICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IE5ld0VkaXRWb2x1bnRlZXJQYWdlOyIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBUYWJzIH0gZnJvbSBcImFudGRcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRlLCB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xuaW1wb3J0IEFwcHJvdmVkVm9sdW50ZWVycyBmcm9tIFwiLi9hcHByb3ZlZFwiO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uL3JlZHV4L3N0b3JlXCI7XG5cbmNvbnN0IFZPTFVOVEVFUl9UQUJTID0gW1xuICB7IGxhYmVsOiBcIuGelOGeieGfkuGeh+GeuOGeouGfkuGek+GegOGeheGeu+Gfh+GeiOGfkuGemOGfhOGfh+Gen+GfkuGemOGfkOGeguGfkuGemuGeheGet+Gej+GfkuGej1wiLCBrZXk6IFwiXCIgfSxcbiAgeyBsYWJlbDogXCLhnpThnonhn5Lhnofhnrjhnp/hnpjhn5Lhnprhnrbhn4ZcIiwga2V5OiBcIlNob3J0bGlzdFwiLCBhZG1pbk9ubHk6IHRydWUgfSxcbiAgeyBsYWJlbDogXCLhnpThnonhn5LhnofhnrjhnqLhn5LhnpPhnoDhno/hn5Lhnprhnrzhnpzhnp/hnpjhn5Lhnpfhnrbhnp/hnpPhn41cIiwga2V5OiBcIkludGVydmlld1wiLCBhZG1pbk9ubHk6IHRydWUgfSxcbiAgeyBsYWJlbDogXCLhnpThnonhn5LhnofhnrjhnqLhn5LhnpPhnoDhnofhnrbhnpThn4tcIiwga2V5OiBcIlBhcnRpY2lwYW50c1wiLCBhZG1pbk9ubHk6IHRydWUgfSxcbiAgeyBsYWJlbDogXCLhnpThnonhn5LhnofhnrjhnqLhn5LhnpPhnoDhnpThn4bhnprhnrvhnoRcIiwga2V5OiBcIlJlc2VydmVcIiwgYWRtaW5Pbmx5OiB0cnVlIH0sXG4gIHsgbGFiZWw6IFwi4Z6U4Z6J4Z+S4Z6H4Z644Z6i4Z+S4Z6T4Z6A4Z6S4Z+S4Z6b4Z624Z6A4Z+LXCIsIGtleTogXCJGYWlsZWRcIiwgYWRtaW5Pbmx5OiB0cnVlIH0sXG4gIHsgbGFiZWw6IFwi4Z6U4Z6J4Z+S4Z6H4Z644Z6i4Z+S4Z6T4Z6A4Z6f4Z674Z+G4Z6I4Z6U4Z+LXCIsIGtleTogXCJSZXNpZ25hdGlvblwiLCBhZG1pbk9ubHk6IHRydWUgfSxcbiAgeyBsYWJlbDogXCLhnpThnonhn5LhnofhnrjhnqLhn5LhnpPhnoDhnpjhnrfhnpPhnpHhnrbhnpPhn4vhnpjhnrbhnpPhnpvhnoDhn5LhnoHhno7hn4jhnoLhn5LhnprhnpThn4vhnoLhn5LhnprhnrbhnpPhn4tcIiwga2V5OiBcIkRpc3F1YWxpZmljYXRpb25cIiwgYWRtaW5Pbmx5OiB0cnVlIH0sXG5dO1xuXG5jb25zdCBWb2x1bnRlZXJMaXN0OiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICBjb25zdCBpbml0aWFsU3RhdHVzID0gcXVlcnkuZ2V0KFwic3RhdHVzXCIpIHx8IFwiXCI7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTxzdHJpbmc+KGluaXRpYWxTdGF0dXMpO1xuXG4gIGNvbnN0IHsgY3VycmVudFVzZXIgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS5hdXRoKTtcbiAgY29uc3QgaXNBZG1pbiA9IGN1cnJlbnRVc2VyPy5yb2xlID09PSBcInN1cGVyX2FkbWluXCI7IC8vIENoZWNrIGlmIHVzZXIgaXMgYWRtaW5cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChxdWVyeS5nZXQoXCJzdGF0dXNcIikgIT09IHN0YXR1cykge1xuICAgICAgc2V0U3RhdHVzKHF1ZXJ5LmdldChcInN0YXR1c1wiKSB8fCBcIlwiKTtcbiAgICB9XG4gIH0sIFtsb2NhdGlvbi5zZWFyY2hdKTsgLy8gRW5zdXJlIHN0YXR1cyB1cGRhdGVzIHdpdGggVVJMIGNoYW5nZXNcblxuICBjb25zdCBoYW5kbGVUYWJDaGFuZ2UgPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgICBzZXRTdGF0dXMoa2V5KTtcbiAgICBxdWVyeS5zZXQoXCJzdGF0dXNcIiwga2V5KTtcbiAgICBuYXZpZ2F0ZSh7IHBhdGhuYW1lOiBsb2NhdGlvbi5wYXRobmFtZSwgc2VhcmNoOiBxdWVyeS50b1N0cmluZygpIH0pO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxUYWJzIGFjdGl2ZUtleT17c3RhdHVzfSBvbkNoYW5nZT17aGFuZGxlVGFiQ2hhbmdlfT5cbiAgICAgICAge1ZPTFVOVEVFUl9UQUJTLm1hcChcbiAgICAgICAgICAoeyBsYWJlbCwga2V5LCBhZG1pbk9ubHkgfSkgPT5cbiAgICAgICAgICAgICghYWRtaW5Pbmx5IHx8IGlzQWRtaW4pICYmIDxUYWJzLlRhYlBhbmUgdGFiPXtsYWJlbH0ga2V5PXtrZXl9IC8+XG4gICAgICAgICl9XG4gICAgICA8L1RhYnM+XG4gICAgICA8QXBwcm92ZWRWb2x1bnRlZXJzIHN0YXR1cz17c3RhdHVzfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVm9sdW50ZWVyTGlzdDtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9ybSwgSW5wdXQsIEJ1dHRvbiwgUm93LCBDb2wsIG1lc3NhZ2UgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3JlZHV4L3N0b3JlJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFZvbHVudGVlckV2ZW50IH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjcmVhdGVWb2x1bnRlZXJFdmVudEFjdGlvbiwgdm9sdW50ZWVyRXZlbnREZXRhaWxBY3Rpb24sIHVwZGF0ZVZvbHVudGVlckV2ZW50QWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyX2V2ZW50L2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IFRleHRBcmVhIGZyb20gJ2FudGQvZXMvaW5wdXQvVGV4dEFyZWEnO1xuXG5jb25zdCBOZXdFZGl0Vm9sdW50ZWVyRXZlbnRQYWdlOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IHsgdm9sdW50ZWVyRXZlbnQsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCB2b2x1bnRlZXJFdmVudFVwZGF0ZVBlbmRpbmcgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUm9vdFN0YXRlKSA9PiBzdGF0ZS52b2x1bnRlZXJFdmVudFxuICApO1xuICBjb25zdCBbZm9ybV0gPSBGb3JtLnVzZUZvcm0oKTtcblxuICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGlkID0gc2VhcmNoUGFyYW1zLmdldCgnaWQnKTtcblxuICBjb25zdCBbaXNDbGljaywgc2V0SXNDbGlja10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgLy8g8J+RiSBGZXRjaCBkYXRhIHdoZW4gZWRpdGluZyBvciByZXNldCBmb3JtIHdoZW4gYWRkaW5nXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh2b2x1bnRlZXJFdmVudERldGFpbEFjdGlvbihOdW1iZXIoaWQpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTsgLy8gUmVzZXQgZm9ybSBmaWVsZHMgd2hlbiBhZGRpbmcgYSBuZXcgaXRlbVxuICAgIH1cbiAgfSwgW2Rpc3BhdGNoLCBpZCwgZm9ybV0pO1xuXG4gIC8vIPCfkYkgUG9wdWxhdGUgZm9ybSB3aXRoIGZldGNoZWQgZGF0YVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCAmJiB2b2x1bnRlZXJFdmVudCkge1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7XG4gICAgICAgIG5hbWU6IHZvbHVudGVlckV2ZW50Lm5hbWUgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB2b2x1bnRlZXJFdmVudC5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW3ZvbHVudGVlckV2ZW50LCBmb3JtLCBpZF0pO1xuXG4gIC8vIPCfkYkgU2hvdyBzdWNjZXNzIG9yIGVycm9yIGFsZXJ0c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghdm9sdW50ZWVyRXZlbnRVcGRhdGVQZW5kaW5nICYmIGlzQ2xpY2spIHtcbiAgICAgIGlmIChyZWdpc3RlckVycm9yTWVzc2FnZSkge1xuICAgICAgICBtZXNzYWdlLmVycm9yKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhpZCA/ICdVcGRhdGVkIHN1Y2Nlc3NmdWxseSEnIDogJ0NyZWF0ZWQgc3VjY2Vzc2Z1bGx5IScpO1xuICAgICAgICBuYXZpZ2F0ZSgnL3ZvbHVudGVlci1ldmVudHMnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFt2b2x1bnRlZXJFdmVudFVwZGF0ZVBlbmRpbmcsIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBpZCwgaXNDbGljaywgbmF2aWdhdGVdKTtcblxuICAvLyDwn5GJIEhhbmRsZSBmb3JtIHN1Ym1pdFxuICBjb25zdCBvbkZpbmlzaCA9ICh2YWx1ZXM6IFZvbHVudGVlckV2ZW50KSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVWb2x1bnRlZXJFdmVudEFjdGlvbih7IGlkOiBOdW1iZXIoaWQpLCBkYXRhOiB2YWx1ZXMgfSkpO1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChjcmVhdGVWb2x1bnRlZXJFdmVudEFjdGlvbih7IGRhdGE6IHZhbHVlcyB9KSk7XG4gICAgICBmb3JtLnJlc2V0RmllbGRzKCk7IC8vIFJlc2V0IGZvcm0gYWZ0ZXIgc3VjY2Vzc2Z1bCBjcmVhdGlvblxuICAgIH1cbiAgICBzZXRJc0NsaWNrKHRydWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxoMj57aWQgPyAn4Z6A4Z+C4Z6U4Z+S4Z6a4Z+C4Z6W4Z+S4Z6a4Z654Z6P4Z+S4Z6P4Z634Z6A4Z624Z6a4Z6O4Z+N4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6PJyA6ICfhnpThnpPhn5LhnpDhn4LhnpjhnpDhn5Lhnpjhnrjhnpbhn5Lhnprhnrnhno/hn5Lhno/hnrfhnoDhnrbhnprhno7hn43hnp/hn5Lhnpjhn5DhnoLhn5LhnprhnoXhnrfhno/hn5Lhno8nfTwvaDI+XG4gICAgICA8Rm9ybSBmb3JtPXtmb3JtfSBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiIG9uRmluaXNoPXtvbkZpbmlzaH0gc3R5bGU9e3sgbWF4V2lkdGg6ICcxMDAlJywgbWFyZ2luOiAnMCBhdXRvJyB9fT5cbiAgICAgICAgPFJvdyBndXR0ZXI9e1sxMiwgMTJdfT5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnojhn5Lhnpjhn4Thn4dcIiBuYW1lPVwibmFtZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ1BsZWFzZSBlbnRlciBhIG5hbWUnIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezEyfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnpThnprhnrfhnpnhnrbhnplcIiBuYW1lPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgPFRleHRBcmVhIHJvd3M9ezN9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTIsIDEyXX0+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInByaW1hcnlcIiBibG9jayBodG1sVHlwZT1cInN1Ym1pdFwiIGxvYWRpbmc9e3ZvbHVudGVlckV2ZW50VXBkYXRlUGVuZGluZ30+XG4gICAgICAgICAgICAgICAgU3VibWl0XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXszfT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICAgIDxCdXR0b24gaHRtbFR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZSgnL3ZvbHVudGVlci1ldmVudHMnKX0+XG4gICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Gb3JtPlxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTmV3RWRpdFZvbHVudGVlckV2ZW50UGFnZTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uLCBJbnB1dCwgU3BhY2UsIFRhYmxlIH0gZnJvbSAnYW50ZCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi4vLi4vLi4vY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgRGVsZXRlT3V0bGluZWQsIEVkaXRPdXRsaW5lZCwgUGx1c091dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHsgZGVsZXRlVm9sdW50ZWVyRXZlbnRBY3Rpb24sIHZvbHVudGVlckV2ZW50RGV0YWlsQWN0aW9uLCBmZXRjaFZvbHVudGVlckV2ZW50cyB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlcl9ldmVudC9jb3JlL2FjdGlvbnMnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuXG5jb25zdCBWb2x1bnRlZXJFdmVudExpc3QgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBcbiAgY29uc3QgW2N1cnJlbnRQYWdlLCBzZXRDdXJyZW50UGFnZV0gPSB1c2VTdGF0ZSgxKTtcbiAgY29uc3QgW3BhZ2VTaXplLCBzZXRQYWdlU2l6ZV0gPSB1c2VTdGF0ZSgxMCk7XG4gIGNvbnN0IFtzZWxlY3RlZFJvd3MsIHNldFNlbGVjdGVkUm93c10gPSB1c2VTdGF0ZTxhbnk+KFtdKTtcbiAgY29uc3QgW3NlYXJjaFRleHQsIHNldFNlYXJjaFRleHRdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCB7IHZvbHVudGVlckV2ZW50cywgdm9sdW50ZWVyRXZlbnRzUGVuZGluZyB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLnZvbHVudGVlckV2ZW50KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoVm9sdW50ZWVyRXZlbnRzKHtcbiAgICAgIHNlYXJjaDogc2VhcmNoVGV4dCxcbiAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlLFxuICAgICAgcGFnZVNpemVcbiAgICB9KSk7XG4gIH0sIFtkaXNwYXRjaCwgc2VhcmNoVGV4dCwgY3VycmVudFBhZ2UsIHBhZ2VTaXplXSk7XG5cbiAgY29uc3QgaGFuZGxlRWRpdCA9IChpZDogYW55KSA9PiB7XG4gICAgZGlzcGF0Y2godm9sdW50ZWVyRXZlbnREZXRhaWxBY3Rpb24oaWQpKTtcbiAgICBuYXZpZ2F0ZShgL3ZvbHVudGVlci1ldmVudHMvZm9ybT9pZD0ke2lkfWApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZSA9IChpZDogYW55KSA9PiB7XG4gICAgU3dhbC5maXJlKHtcbiAgICAgIHRpdGxlOiAnQXJlIHlvdSBzdXJlPycsXG4gICAgICB0ZXh0OiAnWW91IHdvblxcJ3QgYmUgYWJsZSB0byByZXZlcnQgdGhpcyEnLFxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXG4gICAgICBodG1sOiBgXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjb25maXJtLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY29uZmlybSBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNkMzM7XCI+RGVsZXRlPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNhbmNlbC1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNhbmNlbCBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMzMDg1ZDY7XCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYCxcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NvbmZpcm0tZGVsZXRlJyk7XG4gICAgICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NhbmNlbC1kZWxldGUnKTtcblxuICAgICAgICBjb25maXJtQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBkaXNwYXRjaChkZWxldGVWb2x1bnRlZXJFdmVudEFjdGlvbihpZCkpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgU3dhbC5maXJlKCdEZWxldGVkIScsICdUaGUgaXRlbSBoYXMgYmVlbiBkZWxldGVkLicsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICBkaXNwYXRjaChmZXRjaFZvbHVudGVlckV2ZW50cygpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbmNlbEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gKCkgPT4ge1xuICAgIC8vIFRyaWdnZXJzIHNlYXJjaCBieSBzZXR0aW5nIHN0YXRlXG4gICAgc2V0Q3VycmVudFBhZ2UoMSk7XG4gICAgc2V0U2VhcmNoVGV4dChzZWFyY2hUZXh0LnRyaW0oKSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUmVzZXQgPSAoKSA9PiB7XG4gICAgLy8gQ2xlYXJzIGlucHV0IGFuZCBzaG93cyBhbGwgZGF0YVxuICAgIHNldFNlYXJjaFRleHQoJycpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVRhYmxlQ2hhbmdlID0gKHBhZ2luYXRpb246IGFueSkgPT4ge1xuICAgIHNldEN1cnJlbnRQYWdlKHBhZ2luYXRpb24uY3VycmVudCk7XG4gICAgc2V0UGFnZVNpemUocGFnaW5hdGlvbi5wYWdlU2l6ZSk7XG4gIH07XG5cbiAgY29uc3QgY29sdW1ucyA9IFtcbiAgICB7IHRpdGxlOiAn4Z6b4Z+B4Z6B4Z6a4Z+A4Z6EJywgZGF0YUluZGV4OiAnaW5kZXgnLCBrZXk6ICdpbmRleCcsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnojhn5Lhnpjhn4Thn4cnLCBkYXRhSW5kZXg6ICduYW1lJywga2V5OiAnbmFtZScsIHJlc3BvbnNpdmU6IFsnc20nXSB9LFxuICAgIHsgdGl0bGU6ICfhnpThnprhnrfhnpnhnrbhnpknLCBkYXRhSW5kZXg6ICdkZXNjcmlwdGlvbicsIGtleTogJ2Rlc2NyaXB0aW9uJywgcmVzcG9uc2l2ZTogWydzbSddIH0sXG4gICAge1xuICAgICAgdGl0bGU6ICdBY3Rpb24nLFxuICAgICAga2V5OiAnYWN0aW9uJyxcbiAgICAgIHJlc3BvbnNpdmU6IFsneHMnLCAnc20nLCAnbWQnLCAnbGcnXSxcbiAgICAgIHJlbmRlcjogKF86IHN0cmluZywgcmVjb3JkOiBhbnkpID0+IChcbiAgICAgICAgPFNwYWNlIHNpemU9XCJtaWRkbGVcIj5cbiAgICAgICAgICA8QnV0dG9uIGljb249ezxFZGl0T3V0bGluZWQgLz59IHR5cGU9XCJwcmltYXJ5XCIgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfSAvPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PERlbGV0ZU91dGxpbmVkIC8+fSBkYW5nZXIgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlKHJlY29yZC5pZCl9IC8+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICApLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgZmlsdGVyZWREYXRhID0gKHZvbHVudGVlckV2ZW50cz8uZGF0YSB8fCBbXSkuZmlsdGVyKChpdCkgPT5cbiAgICBpdC5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSlcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgb3ZlcmZsb3dYOiAnYXV0bycgfX0+XG4gICAgICA8aDI+4Z6U4Z6J4Z+S4Z6H4Z644Z6W4Z+S4Z6a4Z654Z6P4Z+S4Z6P4Z634Z6A4Z624Z6a4Z6O4Z+N4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6PPC9oMj5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICBwYWRkaW5nOiAnMTBweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogJyNmNWY1ZjUnLFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogJzEwcHgnLFxuICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgIDxzcGFuPuGen+GemuGeu+GelDoge3ZvbHVudGVlckV2ZW50cz8ubWV0YT8udG90YWwgfHwgMH08L3NwYW4+XG4gICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuGen+GfkuGenOGfguGehOGemuGegC4uLlwiXG4gICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogMjAwIH19XG4gICAgICAgICAgICB2YWx1ZT17c2VhcmNoVGV4dH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICBzZXRDdXJyZW50UGFnZSgxKTtcbiAgICAgICAgICAgICAgc2V0U2VhcmNoVGV4dChlLnRhcmdldC52YWx1ZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVTZWFyY2h9IHR5cGU9XCJwcmltYXJ5XCI+4Z6F4Z6Y4Z+S4Z6a4Z+E4Z+HPC9CdXR0b24+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVSZXNldH0+4Z6A4Z+G4Z6O4Z6P4Z+L4Z6h4Z6+4Z6E4Z6c4Z634Z6JPC9CdXR0b24+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgIDxCdXR0b24gaWNvbj17PFBsdXNPdXRsaW5lZCAvPn0gdHlwZT1cInByaW1hcnlcIiBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZShgL3ZvbHVudGVlci1ldmVudHMvZm9ybWApfT7hnpThnpPhn5LhnpDhn4LhnpjhnpDhn5Lhnpjhnrg8L0J1dHRvbj5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPFRhYmxlXG4gICAgICAgIHJvd1NlbGVjdGlvbj17e1xuICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICAgICAgb25DaGFuZ2U6IChfLCBzZWxlY3RlZFJvd3MpID0+IHNldFNlbGVjdGVkUm93cyhzZWxlY3RlZFJvd3MpLFxuICAgICAgICB9fVxuICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICBkYXRhU291cmNlPXtmaWx0ZXJlZERhdGEubWFwKChpdCwgaW5kZXgpID0+ICh7XG4gICAgICAgICAga2V5OiBpdC5pZCxcbiAgICAgICAgICBpbmRleDogaW5kZXggKyAxLFxuICAgICAgICAgIG5hbWU6IGl0Lm5hbWUsXG4gICAgICAgICAgLi4uaXQsXG4gICAgICAgIH0pKX1cbiAgICAgICAgcGFnaW5hdGlvbj17e1xuICAgICAgICAgIGN1cnJlbnQ6IGN1cnJlbnRQYWdlLFxuICAgICAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgICB0b3RhbDogdm9sdW50ZWVyRXZlbnRzPy5tZXRhPy50b3RhbCB8fCAwLFxuICAgICAgICAgIHNob3dTaXplQ2hhbmdlcjogdHJ1ZSxcbiAgICAgICAgfX1cbiAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRhYmxlQ2hhbmdlfVxuICAgICAgICByb3dLZXk9XCJpZFwiXG4gICAgICAgIHNjcm9sbD17eyB4OiAnbWF4LWNvbnRlbnQnIH19XG4gICAgICAvPlxuICAgICAgPExvYWRpbmdEaWFsb2cgdmlzaWJsZT17dm9sdW50ZWVyRXZlbnRzUGVuZGluZ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFZvbHVudGVlckV2ZW50TGlzdDtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IE5vdEZvdW5kOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgcmV0dXJuIDxoMT40MDQgLSBQYWdlIE5vdCBGb3VuZDwvaDE+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTm90Rm91bmQ7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlZ2lzdGVyRm9ybSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy92b2x1bnRlZXIvcmVnaXN0ZXIvY29tcG9uZW50cy9yZWdpc3Rlcic7XG5pbXBvcnQgVm9sdW50ZWVyVGhhbmtZb3UgZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdm9sdW50ZWVyL3JlZ2lzdGVyL2NvbXBvbmVudHMvdGhhbmtzJztcblxuXG5jb25zdCBWb2x1bnRlZXJSZWdpc3RlckZvcm06IFJlYWN0LkZDID0gKCkgPT4ge1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWNvbnRhaW5lclwiPlxuICAgICAgey8qIDxSZWdpc3RlckZvcm0vPiAqL31cbiAgICAgIDxWb2x1bnRlZXJUaGFua1lvdS8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBWb2x1bnRlZXJSZWdpc3RlckZvcm07XG4iXSwibmFtZXMiOlsiZSIsInQiLCJyIiwiU3ltYm9sIiwibiIsIml0ZXJhdG9yIiwibyIsInRvU3RyaW5nVGFnIiwiaSIsImMiLCJwcm90b3R5cGUiLCJHZW5lcmF0b3IiLCJ1IiwiT2JqZWN0IiwiY3JlYXRlIiwiX3JlZ2VuZXJhdG9yRGVmaW5lMiIsImYiLCJwIiwieSIsIkciLCJ2IiwiYSIsImQiLCJiaW5kIiwibGVuZ3RoIiwibCIsIlR5cGVFcnJvciIsImNhbGwiLCJkb25lIiwidmFsdWUiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiZ2V0UHJvdG90eXBlT2YiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImRpc3BsYXlOYW1lIiwiX3JlZ2VuZXJhdG9yIiwidyIsIm0iLCJkZWZpbmVQcm9wZXJ0eSIsIl9yZWdlbmVyYXRvckRlZmluZSIsIl9pbnZva2UiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibmV4dCIsInB1c2giLCJpc0FycmF5IiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsImRlbGV0ZVZvbHVudGVlckFjdGlvbiIsImZldGNoRGFzaGJvYXJkQWN0aW9uIiwiZmV0Y2hFZHVjYXRpb25JbnN0aXR1dGlvbnMiLCJmZXRjaEV2ZW50IiwiZmV0Y2hMYW5ndWF0ZUFjdGlvbiIsImZldGNoUHJvdmluY2UiLCJmZXRjaFNraWxsQWN0aW9uIiwiZmV0Y2hUZWFtIiwiZmV0Y2hWb2x1bnRlZXJzIiwidXBkYXRlVm9sdW50ZWVyQWN0aW9uIiwidm9sdW50ZWVyRGV0YWlsQWN0aW9uIiwidXNlRGlzcGF0Y2giLCJ1c2VTZWxlY3RvciIsInVzZU5hdmlnYXRlIiwiTG9hZGluZ0RpYWxvZyIsIkRlbGV0ZU91dGxpbmVkIiwiRWRpdE91dGxpbmVkIiwiRmlsZUV4Y2VsT3V0bGluZWQiLCJTb3J0QXNjZW5kaW5nT3V0bGluZWQiLCJYTFNYIiwiU3dhbCIsIk5vdGlmbGl4IiwibW9tZW50IiwiY29uZmlybSIsIl9Nb2RhbCIsInN0YXR1c0NvbG9ycyIsIlJlZ2lzdGVyIiwiU2hvcnRsaXN0IiwiSW50ZXJ2aWV3IiwiUGFydGljaXBhbnRzIiwiUmVzZXJ2ZSIsIkZhaWxlZCIsIlJlc2lnbmF0aW9uIiwiRGlzcXVhbGlmaWNhdGlvbiIsIkFwcHJvdmVkVm9sdW5lZXJzIiwiX3JlZiIsIl92b2x1bnRlZXJzJG1ldGEiLCJfZWR1Y2F0aW9uSW5zdGl0dXRpb24iLCJfaW50ZXJlc3RlZFRlYW1zJGRhdGEiLCJfdm9sdW50ZWVyRXZlbnRzJGRhdGEiLCJfbGFuZ3VhZ2VzJGRhdGEiLCJfc2tpbGxzJGRhdGEiLCJfdm9sdW50ZWVycyRtZXRhMiIsInN0YXR1cyIsImRpc3BhdGNoIiwibmF2aWdhdGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwic2VsZWN0ZWRSb3dzIiwic2V0U2VsZWN0ZWRSb3dzIiwiX3VzZVNlbGVjdG9yIiwic3RhdGUiLCJ2b2x1bnRlZXIiLCJ2b2x1bnRlZXJzIiwidm9sdW50ZWVyUGVuZGluZyIsImRhc2hib2FyZCIsInByb3ZpbmNlcyIsImVkdWNhdGlvbkluc3RpdHV0aW9ucyIsImludGVyZXN0ZWRUZWFtcyIsInZvbHVudGVlckV2ZW50cyIsInNraWxscyIsImxhbmd1YWdlcyIsIl91c2VTZWxlY3RvcjIiLCJhdXRoIiwiY3VycmVudFVzZXIiLCJpc0FkbWluIiwicm9sZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiY3VycmVudFBhZ2UiLCJzZXRDdXJyZW50UGFnZSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwicGFnZVNpemUiLCJzZXRQYWdlU2l6ZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2VhcmNoIiwic2V0U2VhcmNoIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzb3J0T3JkZXIiLCJzZXRTb3J0T3JkZXIiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJwcm92aW5jZSIsInNldFByb3ZpbmNlIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInRlYW1JZCIsInNldFRlYW1JZCIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJldmVudElkcyIsInNldEV2ZW50SWRzIiwiX3VzZVN0YXRlMTUiLCJfdXNlU3RhdGUxNiIsImxhbmd1YWdlSWQiLCJzZXRMYW5ndWFnZUlkIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsInNraWxsSWQiLCJzZXRTa2lsbElkIiwiX3VzZVN0YXRlMTkiLCJfdXNlU3RhdGUyMCIsInNlbGVjdGVkSW5zdGl0dXRpb24iLCJzZXRTZWxlY3RlZEluc3RpdHV0aW9uIiwiX3VzZVN0YXRlMjEiLCJfdXNlU3RhdGUyMiIsInNjb3JlRnJvbSIsInNldFNjb3JlRnJvbSIsIl91c2VTdGF0ZTIzIiwiX3VzZVN0YXRlMjQiLCJzY29yZVRvIiwic2V0U2NvcmVUbyIsInZvbHVudGVlcl9zdGF0dXMiLCJwYWdlIiwic29ydF9vcmRlciIsImVkdWNhdGlvbl9pbnN0aXR1dGlvbl9pZCIsInNjb3JlX2Zyb20iLCJzY29yZV90byIsImludGVyZXN0ZWRfdGVhbV9pZCIsImV2ZW50X2lkcyIsImxhbmd1YWdlX2lkIiwic2tpbGxfaWQiLCJoYW5kbGVTZWFyY2giLCJ0YXJnZXQiLCJyZXNldFNlYXJjaCIsImhhbmRsZVNjb3JlRnJvbSIsIk51bWJlciIsImhhbmRsZVNjb3JlVG8iLCJoYW5kbGVFZGl0IiwiaWQiLCJjb25jYXQiLCJoYW5kbGVEZWxldGUiLCJmaXJlIiwidGl0bGUiLCJ0ZXh0IiwiaWNvbiIsInNob3dDb25maXJtQnV0dG9uIiwic2hvd0NhbmNlbEJ1dHRvbiIsImh0bWwiLCJkaWRPcGVuIiwiX1N3YWwkZ2V0UG9wdXAiLCJfU3dhbCRnZXRQb3B1cDIiLCJjb25maXJtQnV0dG9uIiwiZ2V0UG9wdXAiLCJxdWVyeVNlbGVjdG9yIiwiY2FuY2VsQnV0dG9uIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsb3NlIiwic3RhdHVzT3B0aW9ucyIsImhhbmRsZVN0YXR1c0NoYW5nZSIsInZvbHVudGVlcklkIiwibmV3U3RhdHVzIiwiZGF0YSIsIk5vdGlmeSIsInN1Y2Nlc3MiLCJmYWlsdXJlIiwiaGFuZGxlSW5zdGl0dXRpb25DaGFuZ2UiLCJpbnN0aXR1dGlvbklkIiwiaGFuZGxlVGFibGVDaGFuZ2UiLCJwYWdpbmF0aW9uIiwiY3VycmVudCIsImNvbHVtbnMiLCJkYXRhSW5kZXgiLCJrZXkiLCJyZXNwb25zaXZlIiwicmVuZGVyIiwiXyIsInJlY29yZCIsImNyZWF0ZUVsZW1lbnQiLCJfU3BhY2UiLCJzaXplIiwiX0J1dHRvbiIsInR5cGUiLCJvbkNsaWNrIiwiX1R5cG9ncmFwaHkiLCJUZXh0Iiwic3R5bGUiLCJjb2xvciIsIm1haW5fY29kZSIsImNvZGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsInBob3RvIiwiX0ltYWdlIiwid2lkdGgiLCJzcmMiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJlbGxpcHNpcyIsInZvbHVudGVlcl9ldmVudF9uYW1lIiwiaW50ZXJlc3RlZF90ZWFtX25hbWUiLCJlbWFpbCIsImNyZWF0ZWRfYXQiLCJmb3JtYXQiLCJfVGFnIiwicGFkZGluZyIsIl9TZWxlY3QiLCJib3JkZXJlZCIsImRyb3Bkb3duU3R5bGUiLCJmb250U2l6ZSIsIm1pbldpZHRoIiwiYmFja2dyb3VuZENvbG9yIiwiZGlzYWJsZWQiLCJvbkNoYW5nZSIsIm1hcCIsIk9wdGlvbiIsImRhbmdlciIsImV4cG9ydFRvRXhjZWwiLCJfcmVmMiIsIl9jYWxsZWUiLCJfYWxsRGFzaGJvYXJkJHBheWxvYWQiLCJfYWxsdm9sdW50ZWVycyRwYXlsb2EiLCJhbGxEYXNoYm9hcmQiLCJhbGx2b2x1bnRlZXJzIiwiX2FsbHZvbHVudGVlcnMkcGF5bG9hMiIsIndzIiwid2IiLCJfY29udGV4dCIsInBheWxvYWQiLCJjb3VudF92b2x1bnRlZXJzIiwidXRpbHMiLCJqc29uX3RvX3NoZWV0IiwiaXQiLCJpbmRleCIsIl9pdCRsYXN0X25hbWVfa2htZXIiLCJfaXQkZmlyc3RfbmFtZV9raG1lciIsIl9pdCRsYXN0X25hbWVfbGF0aW4iLCJfaXQkZmlyc3RfbmFtZV9sYXRpbiIsIl9pdCRkYXRlX29mX2JpcnRoIiwiX2l0JGdlbmRlciIsIl9pdCRuYXRpb25hbGl0eSIsIl9pdCRwaG9uZV9udW1iZXIiLCJfaXQkZW1haWwiLCJfaXQkY3VycmVudF9hZGRyZXNzIiwiX2l0JHByb3ZpbmNlX2lkIiwiX2l0JG9jY3VwYXRpb25fbmFtZSIsIl9pdCRlZHVjYXRpb25faW5zdGl0dSIsIl9pdCR0X3NoaXJ0X3NpemUiLCJfaXQkZm9vZF9uYW1lIiwiX2l0JGZvb2RfYWxsZXJnaWVzIiwiX2l0JGRpc2FiaWxpdHlfdHlwZV9uIiwiX2l0JGludGVyZXN0ZWRfdGVhbV9uIiwiX2l0JHZvbHVudGVlcl9ldmVudF9uIiwiX2l0JG9wcG9ydHVuaXR5X3NvdXJjIiwiX2l0JHRyYWluaW5nX3Nlc3Npb25fIiwiX2l0JHZvbHVudGVlcl9zdGF0dXMiLCJsYXN0X25hbWVfa2htZXIiLCJmaXJzdF9uYW1lX2tobWVyIiwibGFzdF9uYW1lX2xhdGluIiwiZmlyc3RfbmFtZV9sYXRpbiIsImRhdGVfb2ZfYmlydGgiLCJnZW5kZXIiLCJuYXRpb25hbGl0eSIsInBob25lX251bWJlciIsImN1cnJlbnRfYWRkcmVzcyIsInByb3ZpbmNlX2lkIiwib2NjdXBhdGlvbl9uYW1lIiwiZWR1Y2F0aW9uX2luc3RpdHV0aW9uX25hbWUiLCJ0X3NoaXJ0X3NpemUiLCJmb29kX25hbWUiLCJpc19mb29kX2FsbGVyZ3kiLCJmb29kX2FsbGVyZ2llcyIsImRpc2FiaWxpdHlfdHlwZV9uYW1lIiwib3Bwb3J0dW5pdHlfc291cmNlX25hbWUiLCJ0cmFpbmluZ19zZXNzaW9uX25hbWUiLCJ1cGxvYWRfaWRfY2FyZCIsInVwbG9hZF9jdiIsImJvb2tfbmV3IiwiYm9va19hcHBlbmRfc2hlZXQiLCJ3Y2giLCJ3cml0ZUZpbGUiLCJoYW5kbGVTb3J0T3JkZXIiLCJwcmV2T3JkZXIiLCJvdmVyZmxvd1giLCJiYWNrZ3JvdW5kIiwibWFyZ2luQm90dG9tIiwiX1JvdyIsImd1dHRlciIsImp1c3RpZnkiLCJhbGlnbiIsIl9Db2wiLCJ4cyIsIm1kIiwid3JhcCIsIm1ldGEiLCJ0b3RhbCIsIl9JbnB1dCIsInBsYWNlaG9sZGVyIiwianVzdGlmeUNvbnRlbnQiLCJib3JkZXJDb2xvciIsInNtIiwibGciLCJhbGxvd0NsZWFyIiwic2hvd1NlYXJjaCIsImttIiwibGF0aW4iLCJmaWx0ZXJPcHRpb24iLCJpbnB1dCIsIm9wdGlvbiIsImNoaWxkcmVuIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsImluc3RpdHV0aW9uIiwidGVhbSIsIm1vZGUiLCJ2YWx1ZXMiLCJfb3B0aW9uJGNoaWxkcmVuIiwiZXZlbnQiLCJsYW5ndWFnZSIsInNraWxsIiwiZGlyZWN0aW9uIiwiX0lucHV0TnVtYmVyIiwibWluIiwiX1RhYmxlIiwicm93U2VsZWN0aW9uIiwiZGF0YVNvdXJjZSIsIl9vYmplY3RTcHJlYWQiLCJsb2FkaW5nIiwic2hvd1NpemVDaGFuZ2VyIiwicm93S2V5Iiwic2Nyb2xsIiwieCIsInZpc2libGUiLCJWb2x1bnRlZXJGb3JtIiwic2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJnZXQiLCJOZXdFZGl0Vm9sdW50ZWVyUGFnZSIsInVzZUxvY2F0aW9uIiwiQXBwcm92ZWRWb2x1bnRlZXJzIiwiVk9MVU5URUVSX1RBQlMiLCJsYWJlbCIsImFkbWluT25seSIsIlZvbHVudGVlckxpc3QiLCJxdWVyeSIsImluaXRpYWxTdGF0dXMiLCJzZXRTdGF0dXMiLCJoYW5kbGVUYWJDaGFuZ2UiLCJzZXQiLCJwYXRobmFtZSIsIl9UYWJzIiwiYWN0aXZlS2V5IiwiVGFiUGFuZSIsInRhYiIsImNyZWF0ZVZvbHVudGVlckV2ZW50QWN0aW9uIiwidm9sdW50ZWVyRXZlbnREZXRhaWxBY3Rpb24iLCJ1cGRhdGVWb2x1bnRlZXJFdmVudEFjdGlvbiIsIlRleHRBcmVhIiwiTmV3RWRpdFZvbHVudGVlckV2ZW50UGFnZSIsInZvbHVudGVlckV2ZW50IiwicmVnaXN0ZXJFcnJvck1lc3NhZ2UiLCJ2b2x1bnRlZXJFdmVudFVwZGF0ZVBlbmRpbmciLCJfRm9ybSR1c2VGb3JtIiwiX0Zvcm0iLCJ1c2VGb3JtIiwiX0Zvcm0kdXNlRm9ybTIiLCJmb3JtIiwiaXNDbGljayIsInNldElzQ2xpY2siLCJyZXNldEZpZWxkcyIsInNldEZpZWxkc1ZhbHVlIiwiZGVzY3JpcHRpb24iLCJfbWVzc2FnZSIsImVycm9yIiwib25GaW5pc2giLCJGcmFnbWVudCIsImxheW91dCIsIm1heFdpZHRoIiwibWFyZ2luIiwic3BhbiIsIkl0ZW0iLCJydWxlcyIsInJlcXVpcmVkIiwibWVzc2FnZSIsInJvd3MiLCJibG9jayIsImh0bWxUeXBlIiwiUGx1c091dGxpbmVkIiwiZGVsZXRlVm9sdW50ZWVyRXZlbnRBY3Rpb24iLCJmZXRjaFZvbHVudGVlckV2ZW50cyIsIlZvbHVudGVlckV2ZW50TGlzdCIsIl92b2x1bnRlZXJFdmVudHMkbWV0YSIsIl92b2x1bnRlZXJFdmVudHMkbWV0YTIiLCJzZWFyY2hUZXh0Iiwic2V0U2VhcmNoVGV4dCIsInZvbHVudGVlckV2ZW50c1BlbmRpbmciLCJ0cmltIiwiaGFuZGxlUmVzZXQiLCJmaWx0ZXJlZERhdGEiLCJmaWx0ZXIiLCJfaXQkbmFtZSIsImZsZXhXcmFwIiwiTm90Rm91bmQiLCJWb2x1bnRlZXJUaGFua1lvdSIsIlZvbHVudGVlclJlZ2lzdGVyRm9ybSIsImNsYXNzTmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9