(self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-i"],{ /***/ "../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./src/index.css": /*!*********************************************************************************************************************!*\ !*** ../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./src/index.css ***! \*********************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ "../../../node_modules/css-loader/dist/runtime/sourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "../../../node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/getUrl.js */ "../../../node_modules/css-loader/dist/runtime/getUrl.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__); // Imports var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/fonts/Bayon-Regular.ttf */ "./src/shared/assets/fonts/Bayon-Regular.ttf"), __webpack_require__.b); var ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/fonts/Siemreap-Regular.ttf */ "./src/shared/assets/fonts/Siemreap-Regular.ttf"), __webpack_require__.b); var ___CSS_LOADER_URL_IMPORT_2___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf */ "./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf"), __webpack_require__.b); var ___CSS_LOADER_URL_IMPORT_3___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/images/team.png */ "./src/shared/assets/images/team.png"), __webpack_require__.b); var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___); var ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___); var ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_3___); // Module ___CSS_LOADER_EXPORT___.push([module.id, `@font-face { font-family: 'Bayon'; src: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Siemreap'; src: url(${___CSS_LOADER_URL_REPLACEMENT_1___}) format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Roboto'; src: url(${___CSS_LOADER_URL_REPLACEMENT_2___}) format('truetype'); font-weight: normal; font-style: normal; } /* Global Styles */ body { font-family: 'Siemreap', Roboto; margin: 0; padding: 0; background-color: white; } /* Form title */ .form-title { font-size: 1rem; text-align: center; color: #333; margin-bottom: 10px; font-family: 'Siemreap', Roboto; } /* Form title */ .form-title2 { font-size: 0.5rem; text-align: center; color: #333; margin-bottom: 10px; font-family: 'Siemreap', Roboto; } /* Larger title on desktop */ @media (min-width: 1024px) { .form-title2 { font-size: 1rem; } .form-title { font-size: 1.5rem; } } /* Dividers */ .divider { height: 2px; background: #ddd; margin: 10px 0; } .divider2 { height: 1px; background: #ccc; margin: 5px 0; } /* Card Style */ .card { background: white; padding: 20px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); max-width: 500px; width: 100%; } /* Buttons */ button { background: #1890ff; color: white; border: none; padding: 12px; border-radius: 5px; cursor: pointer; width: 100%; transition: background 0.3s ease; } button:hover { background: #40a9ff; } /* File Upload Container */ .upload-container { display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 10px; } /* Centered Items */ .items-center { justify-content: center; align-items: center; display: flex; } /* Divider for UI */ .divider-container { position: relative; display: flex; align-items: center; justify-content: center; margin: 1.5rem 0; } .divider-line { width: 80%; height: 2px; background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899); } .divider-text { position: absolute; background-color: white; padding: 0 8px; display: flex; justify-content: center; } .divider-text span { font-size: 2rem; background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } /* Step Indicator */ .ant-steps-item-title { cursor: pointer; transition: color 0.2s ease-in-out; } .ant-steps-item-title:hover { color: #1890ff !important; } /* Flex spacing */ .custom-gap { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-bottom: 20px; /* Space between top row and bottom logo */ } .spacer { flex-grow: 1; /* Automatically takes up remaining space */ } /* Padding Fixes */ .padding-right-16 { padding-right: 16px; } .padding-right-64 { padding-right: 64px; } .padding-left-64 { padding-left: 64px; } /* Logo Section */ .logo-container { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 10px; } /* Logo Styles */ .headingLogo, .headingLogo2 { width: 15vw; height: auto; max-width: 120px; } @media (max-width: 1024px) { .headingLogo, .headingLogo2 { width: 8vw; max-width: 100px; } } @media (max-width: 768px) { .headingLogo, .headingLogo2 { width: 12vw; max-width: 80px; } } @media (max-width: 480px) { .headingLogo, .headingLogo2 { width: 15vw; max-width: 60px; } .padding-right-64 { padding-right: 16px; } .padding-left-64 { padding-left: 16px; } } /* Volunteer Registration Section */ .text-red-600 { color: #BB595F; } .padding-top-bottom { padding: 8px 0px; } .padding-top-6 { padding-top: 6px; } .margin-top-16 { margin-top: 16px; } /* Upload button styles */ .ant-upload-list-item-container { width: 100% !important; } .image-container { position: relative; width: 100%; } .fullscreen-image { inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: top; object-position: top; min-height: 100vh; } @media (max-width: 768px) { .fullscreen-image { height: 40vh !important; min-height: 40vh !important; } } /* Upload Cards - Adds Padding and Consistency */ .upload-card { padding: 16px; border-radius: 8px; box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); } /* Placeholder Image - Ensures Consistent Display */ .upload-placeholder { width: 100%; height: auto; max-height: 100px; } /* Drag & Drop Upload - Makes CV Upload More Intuitive */ .ant-upload-drag { background: #f9f9f9; border: 2px dashed #ccc; padding: 20px; text-align: center; border-radius: 8px; } .ant-upload-drag:hover { border-color: #1890ff; background: #eef6ff; } @media (max-width: 768px) { .container { flex-direction: column; } .left-section { width: 100%; height: 100vh; background: url(${___CSS_LOADER_URL_REPLACEMENT_3___}) no-repeat center/cover; position: absolute; top: 0; left: 0; z-index: -1; } .right-section { width: 100%; height: 100vh; display: flex; justify-content: center; align-items: center; } } @media (min-width: 769px) { .container { display: flex; width: 100vw; height: 100vh; } .left-section { width: 30vw; height: 100vh; background-size: cover; background: url(${___CSS_LOADER_URL_REPLACEMENT_3___}) no-repeat center/cover; } .right-section { width: 70vw; height: 100vh; display: flex; justify-content: center; align-items: center; background-color: #f4f4f4; padding: 16px; } } input, select, textarea { font-size: 16px !important; } .attendance-page { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; text-align: center; } .attendance-page h2 { font-size: 24px; margin-bottom: 10px; } .attendance-page p { margin-bottom: 20px; }`, "",{"version":3,"sources":["webpack://./src/index.css"],"names":[],"mappings":"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","sourcesContent":["@font-face {\n font-family: 'Bayon';\n src: url('./shared/assets/fonts/Bayon-Regular.ttf') format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Siemreap';\n src: url('./shared/assets/fonts/Siemreap-Regular.ttf') format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('./shared/assets/fonts/Roboto-VariableFont_wdth\\,wght.ttf') format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n\n/* Global Styles */\nbody {\n font-family: 'Siemreap', Roboto;\n margin: 0;\n padding: 0;\n background-color: white;\n}\n\n/* Form title */\n.form-title {\n font-size: 1rem;\n text-align: center;\n color: #333;\n margin-bottom: 10px;\n font-family: 'Siemreap', Roboto;\n}\n\n\n/* Form title */\n.form-title2 {\n font-size: 0.5rem;\n text-align: center;\n color: #333;\n margin-bottom: 10px;\n font-family: 'Siemreap', Roboto;\n}\n\n/* Larger title on desktop */\n@media (min-width: 1024px) {\n .form-title2 {\n font-size: 1rem;\n }\n .form-title {\n font-size: 1.5rem;\n }\n}\n\n/* Dividers */\n.divider {\n height: 2px;\n background: #ddd;\n margin: 10px 0;\n}\n\n.divider2 {\n height: 1px;\n background: #ccc;\n margin: 5px 0;\n}\n\n/* Card Style */\n.card {\n background: white;\n padding: 20px;\n border-radius: 10px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n max-width: 500px;\n width: 100%;\n}\n\n/* Buttons */\nbutton {\n background: #1890ff;\n color: white;\n border: none;\n padding: 12px;\n border-radius: 5px;\n cursor: pointer;\n width: 100%;\n transition: background 0.3s ease;\n}\n\nbutton:hover {\n background: #40a9ff;\n}\n\n/* File Upload Container */\n.upload-container {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 10px;\n}\n\n/* Centered Items */\n.items-center {\n justify-content: center;\n align-items: center;\n display: flex;\n\n}\n\n/* Divider for UI */\n.divider-container {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 1.5rem 0;\n}\n\n.divider-line {\n width: 80%;\n height: 2px;\n background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899);\n}\n\n.divider-text {\n position: absolute;\n background-color: white;\n padding: 0 8px;\n display: flex;\n justify-content: center;\n}\n\n.divider-text span {\n font-size: 2rem;\n background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\n/* Step Indicator */\n.ant-steps-item-title {\n cursor: pointer;\n transition: color 0.2s ease-in-out;\n}\n\n.ant-steps-item-title:hover {\n color: #1890ff !important;\n}\n\n/* Flex spacing */\n.custom-gap {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n margin-bottom: 20px; /* Space between top row and bottom logo */\n}\n\n.spacer {\n flex-grow: 1; /* Automatically takes up remaining space */\n}\n\n/* Padding Fixes */\n.padding-right-16 {\n padding-right: 16px;\n}\n\n.padding-right-64 {\n padding-right: 64px;\n}\n.padding-left-64 {\n padding-left: 64px;\n}\n\n/* Logo Section */\n.logo-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n gap: 10px;\n}\n\n/* Logo Styles */\n.headingLogo,\n.headingLogo2 {\n width: 15vw;\n height: auto;\n max-width: 120px;\n}\n\n@media (max-width: 1024px) {\n .headingLogo,\n .headingLogo2 {\n width: 8vw;\n max-width: 100px;\n }\n}\n\n@media (max-width: 768px) {\n .headingLogo,\n .headingLogo2 {\n width: 12vw;\n max-width: 80px;\n }\n}\n\n@media (max-width: 480px) {\n .headingLogo,\n .headingLogo2 {\n width: 15vw;\n max-width: 60px;\n }\n .padding-right-64 {\n padding-right: 16px;\n }\n .padding-left-64 {\n padding-left: 16px;\n }\n}\n\n/* Volunteer Registration Section */\n.text-red-600 {\n color: #BB595F;\n}\n.padding-top-bottom {\n padding: 8px 0px;\n}\n.padding-top-6 {\n padding-top: 6px;\n}\n\n.margin-top-16 {\n margin-top: 16px;\n}\n\n\n/* Upload button styles */\n.ant-upload-list-item-container {\n width: 100% !important;\n}\n.image-container {\n position: relative;\n width: 100%;\n}\n\n.fullscreen-image {\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: top;\n min-height: 100vh;\n}\n\n@media (max-width: 768px) {\n .fullscreen-image {\n height: 40vh !important;\n min-height: 40vh !important;\n }\n}\n\n\n\n/* Upload Cards - Adds Padding and Consistency */\n.upload-card {\n padding: 16px;\n border-radius: 8px;\n box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);\n}\n\n/* Placeholder Image - Ensures Consistent Display */\n.upload-placeholder {\n width: 100%;\n height: auto;\n max-height: 100px;\n}\n\n/* Drag & Drop Upload - Makes CV Upload More Intuitive */\n.ant-upload-drag {\n background: #f9f9f9;\n border: 2px dashed #ccc;\n padding: 20px;\n text-align: center;\n border-radius: 8px;\n}\n\n.ant-upload-drag:hover {\n border-color: #1890ff;\n background: #eef6ff;\n}\n\n\n\n@media (max-width: 768px) {\n .container {\n flex-direction: column;\n }\n\n .left-section {\n width: 100%;\n height: 100vh;\n background: url(\"./shared/assets/images/team.png\") no-repeat center/cover;\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n }\n\n .right-section {\n width: 100%;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n}\n\n@media (min-width: 769px) {\n .container {\n display: flex;\n width: 100vw;\n height: 100vh;\n }\n\n .left-section {\n width: 30vw;\n height: 100vh;\n background-size: cover;\n background: url(\"./shared/assets/images/team.png\") no-repeat center/cover;\n }\n\n .right-section {\n width: 70vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #f4f4f4;\n padding: 16px;\n }\n}\n\ninput, select, textarea {\n font-size: 16px !important;\n}\n\n\n.attendance-page {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n text-align: center;\n}\n\n.attendance-page h2 {\n font-size: 24px;\n margin-bottom: 10px;\n}\n\n.attendance-page p {\n margin-bottom: 20px;\n}"],"sourceRoot":""}]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "../../../node_modules/moment/locale sync recursive ^\\.\\/.*$": /*!**********************************************************!*\ !*** ../../../node_modules/moment/locale/ sync ^\.\/.*$ ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var map = { "./af": "../../../node_modules/moment/locale/af.js", "./af.js": "../../../node_modules/moment/locale/af.js", "./ar": "../../../node_modules/moment/locale/ar.js", "./ar-dz": "../../../node_modules/moment/locale/ar-dz.js", "./ar-dz.js": "../../../node_modules/moment/locale/ar-dz.js", "./ar-kw": "../../../node_modules/moment/locale/ar-kw.js", "./ar-kw.js": "../../../node_modules/moment/locale/ar-kw.js", "./ar-ly": "../../../node_modules/moment/locale/ar-ly.js", "./ar-ly.js": "../../../node_modules/moment/locale/ar-ly.js", "./ar-ma": "../../../node_modules/moment/locale/ar-ma.js", "./ar-ma.js": "../../../node_modules/moment/locale/ar-ma.js", "./ar-ps": "../../../node_modules/moment/locale/ar-ps.js", "./ar-ps.js": "../../../node_modules/moment/locale/ar-ps.js", "./ar-sa": "../../../node_modules/moment/locale/ar-sa.js", "./ar-sa.js": "../../../node_modules/moment/locale/ar-sa.js", "./ar-tn": "../../../node_modules/moment/locale/ar-tn.js", "./ar-tn.js": "../../../node_modules/moment/locale/ar-tn.js", "./ar.js": "../../../node_modules/moment/locale/ar.js", "./az": "../../../node_modules/moment/locale/az.js", "./az.js": "../../../node_modules/moment/locale/az.js", "./be": "../../../node_modules/moment/locale/be.js", "./be.js": "../../../node_modules/moment/locale/be.js", "./bg": "../../../node_modules/moment/locale/bg.js", "./bg.js": "../../../node_modules/moment/locale/bg.js", "./bm": "../../../node_modules/moment/locale/bm.js", "./bm.js": "../../../node_modules/moment/locale/bm.js", "./bn": "../../../node_modules/moment/locale/bn.js", "./bn-bd": "../../../node_modules/moment/locale/bn-bd.js", "./bn-bd.js": "../../../node_modules/moment/locale/bn-bd.js", "./bn.js": "../../../node_modules/moment/locale/bn.js", "./bo": "../../../node_modules/moment/locale/bo.js", "./bo.js": "../../../node_modules/moment/locale/bo.js", "./br": "../../../node_modules/moment/locale/br.js", "./br.js": "../../../node_modules/moment/locale/br.js", "./bs": "../../../node_modules/moment/locale/bs.js", "./bs.js": "../../../node_modules/moment/locale/bs.js", "./ca": "../../../node_modules/moment/locale/ca.js", "./ca.js": "../../../node_modules/moment/locale/ca.js", "./cs": "../../../node_modules/moment/locale/cs.js", "./cs.js": "../../../node_modules/moment/locale/cs.js", "./cv": "../../../node_modules/moment/locale/cv.js", "./cv.js": "../../../node_modules/moment/locale/cv.js", "./cy": "../../../node_modules/moment/locale/cy.js", "./cy.js": "../../../node_modules/moment/locale/cy.js", "./da": "../../../node_modules/moment/locale/da.js", "./da.js": "../../../node_modules/moment/locale/da.js", "./de": "../../../node_modules/moment/locale/de.js", "./de-at": "../../../node_modules/moment/locale/de-at.js", "./de-at.js": "../../../node_modules/moment/locale/de-at.js", "./de-ch": "../../../node_modules/moment/locale/de-ch.js", "./de-ch.js": "../../../node_modules/moment/locale/de-ch.js", "./de.js": "../../../node_modules/moment/locale/de.js", "./dv": "../../../node_modules/moment/locale/dv.js", "./dv.js": "../../../node_modules/moment/locale/dv.js", "./el": "../../../node_modules/moment/locale/el.js", "./el.js": "../../../node_modules/moment/locale/el.js", "./en-au": "../../../node_modules/moment/locale/en-au.js", "./en-au.js": "../../../node_modules/moment/locale/en-au.js", "./en-ca": "../../../node_modules/moment/locale/en-ca.js", "./en-ca.js": "../../../node_modules/moment/locale/en-ca.js", "./en-gb": "../../../node_modules/moment/locale/en-gb.js", "./en-gb.js": "../../../node_modules/moment/locale/en-gb.js", "./en-ie": "../../../node_modules/moment/locale/en-ie.js", "./en-ie.js": "../../../node_modules/moment/locale/en-ie.js", "./en-il": "../../../node_modules/moment/locale/en-il.js", "./en-il.js": "../../../node_modules/moment/locale/en-il.js", "./en-in": "../../../node_modules/moment/locale/en-in.js", "./en-in.js": "../../../node_modules/moment/locale/en-in.js", "./en-nz": "../../../node_modules/moment/locale/en-nz.js", "./en-nz.js": "../../../node_modules/moment/locale/en-nz.js", "./en-sg": "../../../node_modules/moment/locale/en-sg.js", "./en-sg.js": "../../../node_modules/moment/locale/en-sg.js", "./eo": "../../../node_modules/moment/locale/eo.js", "./eo.js": "../../../node_modules/moment/locale/eo.js", "./es": "../../../node_modules/moment/locale/es.js", "./es-do": "../../../node_modules/moment/locale/es-do.js", "./es-do.js": "../../../node_modules/moment/locale/es-do.js", "./es-mx": "../../../node_modules/moment/locale/es-mx.js", "./es-mx.js": "../../../node_modules/moment/locale/es-mx.js", "./es-us": "../../../node_modules/moment/locale/es-us.js", "./es-us.js": "../../../node_modules/moment/locale/es-us.js", "./es.js": "../../../node_modules/moment/locale/es.js", "./et": "../../../node_modules/moment/locale/et.js", "./et.js": "../../../node_modules/moment/locale/et.js", "./eu": "../../../node_modules/moment/locale/eu.js", "./eu.js": "../../../node_modules/moment/locale/eu.js", "./fa": "../../../node_modules/moment/locale/fa.js", "./fa.js": "../../../node_modules/moment/locale/fa.js", "./fi": "../../../node_modules/moment/locale/fi.js", "./fi.js": "../../../node_modules/moment/locale/fi.js", "./fil": "../../../node_modules/moment/locale/fil.js", "./fil.js": "../../../node_modules/moment/locale/fil.js", "./fo": "../../../node_modules/moment/locale/fo.js", "./fo.js": "../../../node_modules/moment/locale/fo.js", "./fr": "../../../node_modules/moment/locale/fr.js", "./fr-ca": "../../../node_modules/moment/locale/fr-ca.js", "./fr-ca.js": "../../../node_modules/moment/locale/fr-ca.js", "./fr-ch": "../../../node_modules/moment/locale/fr-ch.js", "./fr-ch.js": "../../../node_modules/moment/locale/fr-ch.js", "./fr.js": "../../../node_modules/moment/locale/fr.js", "./fy": "../../../node_modules/moment/locale/fy.js", "./fy.js": "../../../node_modules/moment/locale/fy.js", "./ga": "../../../node_modules/moment/locale/ga.js", "./ga.js": "../../../node_modules/moment/locale/ga.js", "./gd": "../../../node_modules/moment/locale/gd.js", "./gd.js": "../../../node_modules/moment/locale/gd.js", "./gl": "../../../node_modules/moment/locale/gl.js", "./gl.js": "../../../node_modules/moment/locale/gl.js", "./gom-deva": "../../../node_modules/moment/locale/gom-deva.js", "./gom-deva.js": "../../../node_modules/moment/locale/gom-deva.js", "./gom-latn": "../../../node_modules/moment/locale/gom-latn.js", "./gom-latn.js": "../../../node_modules/moment/locale/gom-latn.js", "./gu": "../../../node_modules/moment/locale/gu.js", "./gu.js": "../../../node_modules/moment/locale/gu.js", "./he": "../../../node_modules/moment/locale/he.js", "./he.js": "../../../node_modules/moment/locale/he.js", "./hi": "../../../node_modules/moment/locale/hi.js", "./hi.js": "../../../node_modules/moment/locale/hi.js", "./hr": "../../../node_modules/moment/locale/hr.js", "./hr.js": "../../../node_modules/moment/locale/hr.js", "./hu": "../../../node_modules/moment/locale/hu.js", "./hu.js": "../../../node_modules/moment/locale/hu.js", "./hy-am": "../../../node_modules/moment/locale/hy-am.js", "./hy-am.js": "../../../node_modules/moment/locale/hy-am.js", "./id": "../../../node_modules/moment/locale/id.js", "./id.js": "../../../node_modules/moment/locale/id.js", "./is": "../../../node_modules/moment/locale/is.js", "./is.js": "../../../node_modules/moment/locale/is.js", "./it": "../../../node_modules/moment/locale/it.js", "./it-ch": "../../../node_modules/moment/locale/it-ch.js", "./it-ch.js": "../../../node_modules/moment/locale/it-ch.js", "./it.js": "../../../node_modules/moment/locale/it.js", "./ja": "../../../node_modules/moment/locale/ja.js", "./ja.js": "../../../node_modules/moment/locale/ja.js", "./jv": "../../../node_modules/moment/locale/jv.js", "./jv.js": "../../../node_modules/moment/locale/jv.js", "./ka": "../../../node_modules/moment/locale/ka.js", "./ka.js": "../../../node_modules/moment/locale/ka.js", "./kk": "../../../node_modules/moment/locale/kk.js", "./kk.js": "../../../node_modules/moment/locale/kk.js", "./km": "../../../node_modules/moment/locale/km.js", "./km.js": "../../../node_modules/moment/locale/km.js", "./kn": "../../../node_modules/moment/locale/kn.js", "./kn.js": "../../../node_modules/moment/locale/kn.js", "./ko": "../../../node_modules/moment/locale/ko.js", "./ko.js": "../../../node_modules/moment/locale/ko.js", "./ku": "../../../node_modules/moment/locale/ku.js", "./ku-kmr": "../../../node_modules/moment/locale/ku-kmr.js", "./ku-kmr.js": "../../../node_modules/moment/locale/ku-kmr.js", "./ku.js": "../../../node_modules/moment/locale/ku.js", "./ky": "../../../node_modules/moment/locale/ky.js", "./ky.js": "../../../node_modules/moment/locale/ky.js", "./lb": "../../../node_modules/moment/locale/lb.js", "./lb.js": "../../../node_modules/moment/locale/lb.js", "./lo": "../../../node_modules/moment/locale/lo.js", "./lo.js": "../../../node_modules/moment/locale/lo.js", "./lt": "../../../node_modules/moment/locale/lt.js", "./lt.js": "../../../node_modules/moment/locale/lt.js", "./lv": "../../../node_modules/moment/locale/lv.js", "./lv.js": "../../../node_modules/moment/locale/lv.js", "./me": "../../../node_modules/moment/locale/me.js", "./me.js": "../../../node_modules/moment/locale/me.js", "./mi": "../../../node_modules/moment/locale/mi.js", "./mi.js": "../../../node_modules/moment/locale/mi.js", "./mk": "../../../node_modules/moment/locale/mk.js", "./mk.js": "../../../node_modules/moment/locale/mk.js", "./ml": "../../../node_modules/moment/locale/ml.js", "./ml.js": "../../../node_modules/moment/locale/ml.js", "./mn": "../../../node_modules/moment/locale/mn.js", "./mn.js": "../../../node_modules/moment/locale/mn.js", "./mr": "../../../node_modules/moment/locale/mr.js", "./mr.js": "../../../node_modules/moment/locale/mr.js", "./ms": "../../../node_modules/moment/locale/ms.js", "./ms-my": "../../../node_modules/moment/locale/ms-my.js", "./ms-my.js": "../../../node_modules/moment/locale/ms-my.js", "./ms.js": "../../../node_modules/moment/locale/ms.js", "./mt": "../../../node_modules/moment/locale/mt.js", "./mt.js": "../../../node_modules/moment/locale/mt.js", "./my": "../../../node_modules/moment/locale/my.js", "./my.js": "../../../node_modules/moment/locale/my.js", "./nb": "../../../node_modules/moment/locale/nb.js", "./nb.js": "../../../node_modules/moment/locale/nb.js", "./ne": "../../../node_modules/moment/locale/ne.js", "./ne.js": "../../../node_modules/moment/locale/ne.js", "./nl": "../../../node_modules/moment/locale/nl.js", "./nl-be": "../../../node_modules/moment/locale/nl-be.js", "./nl-be.js": "../../../node_modules/moment/locale/nl-be.js", "./nl.js": "../../../node_modules/moment/locale/nl.js", "./nn": "../../../node_modules/moment/locale/nn.js", "./nn.js": "../../../node_modules/moment/locale/nn.js", "./oc-lnc": "../../../node_modules/moment/locale/oc-lnc.js", "./oc-lnc.js": "../../../node_modules/moment/locale/oc-lnc.js", "./pa-in": "../../../node_modules/moment/locale/pa-in.js", "./pa-in.js": "../../../node_modules/moment/locale/pa-in.js", "./pl": "../../../node_modules/moment/locale/pl.js", "./pl.js": "../../../node_modules/moment/locale/pl.js", "./pt": "../../../node_modules/moment/locale/pt.js", "./pt-br": "../../../node_modules/moment/locale/pt-br.js", "./pt-br.js": "../../../node_modules/moment/locale/pt-br.js", "./pt.js": "../../../node_modules/moment/locale/pt.js", "./ro": "../../../node_modules/moment/locale/ro.js", "./ro.js": "../../../node_modules/moment/locale/ro.js", "./ru": "../../../node_modules/moment/locale/ru.js", "./ru.js": "../../../node_modules/moment/locale/ru.js", "./sd": "../../../node_modules/moment/locale/sd.js", "./sd.js": "../../../node_modules/moment/locale/sd.js", "./se": "../../../node_modules/moment/locale/se.js", "./se.js": "../../../node_modules/moment/locale/se.js", "./si": "../../../node_modules/moment/locale/si.js", "./si.js": "../../../node_modules/moment/locale/si.js", "./sk": "../../../node_modules/moment/locale/sk.js", "./sk.js": "../../../node_modules/moment/locale/sk.js", "./sl": "../../../node_modules/moment/locale/sl.js", "./sl.js": "../../../node_modules/moment/locale/sl.js", "./sq": "../../../node_modules/moment/locale/sq.js", "./sq.js": "../../../node_modules/moment/locale/sq.js", "./sr": "../../../node_modules/moment/locale/sr.js", "./sr-cyrl": "../../../node_modules/moment/locale/sr-cyrl.js", "./sr-cyrl.js": "../../../node_modules/moment/locale/sr-cyrl.js", "./sr.js": "../../../node_modules/moment/locale/sr.js", "./ss": "../../../node_modules/moment/locale/ss.js", "./ss.js": "../../../node_modules/moment/locale/ss.js", "./sv": "../../../node_modules/moment/locale/sv.js", "./sv.js": "../../../node_modules/moment/locale/sv.js", "./sw": "../../../node_modules/moment/locale/sw.js", "./sw.js": "../../../node_modules/moment/locale/sw.js", "./ta": "../../../node_modules/moment/locale/ta.js", "./ta.js": "../../../node_modules/moment/locale/ta.js", "./te": "../../../node_modules/moment/locale/te.js", "./te.js": "../../../node_modules/moment/locale/te.js", "./tet": "../../../node_modules/moment/locale/tet.js", "./tet.js": "../../../node_modules/moment/locale/tet.js", "./tg": "../../../node_modules/moment/locale/tg.js", "./tg.js": "../../../node_modules/moment/locale/tg.js", "./th": "../../../node_modules/moment/locale/th.js", "./th.js": "../../../node_modules/moment/locale/th.js", "./tk": "../../../node_modules/moment/locale/tk.js", "./tk.js": "../../../node_modules/moment/locale/tk.js", "./tl-ph": "../../../node_modules/moment/locale/tl-ph.js", "./tl-ph.js": "../../../node_modules/moment/locale/tl-ph.js", "./tlh": "../../../node_modules/moment/locale/tlh.js", "./tlh.js": "../../../node_modules/moment/locale/tlh.js", "./tr": "../../../node_modules/moment/locale/tr.js", "./tr.js": "../../../node_modules/moment/locale/tr.js", "./tzl": "../../../node_modules/moment/locale/tzl.js", "./tzl.js": "../../../node_modules/moment/locale/tzl.js", "./tzm": "../../../node_modules/moment/locale/tzm.js", "./tzm-latn": "../../../node_modules/moment/locale/tzm-latn.js", "./tzm-latn.js": "../../../node_modules/moment/locale/tzm-latn.js", "./tzm.js": "../../../node_modules/moment/locale/tzm.js", "./ug-cn": "../../../node_modules/moment/locale/ug-cn.js", "./ug-cn.js": "../../../node_modules/moment/locale/ug-cn.js", "./uk": "../../../node_modules/moment/locale/uk.js", "./uk.js": "../../../node_modules/moment/locale/uk.js", "./ur": "../../../node_modules/moment/locale/ur.js", "./ur.js": "../../../node_modules/moment/locale/ur.js", "./uz": "../../../node_modules/moment/locale/uz.js", "./uz-latn": "../../../node_modules/moment/locale/uz-latn.js", "./uz-latn.js": "../../../node_modules/moment/locale/uz-latn.js", "./uz.js": "../../../node_modules/moment/locale/uz.js", "./vi": "../../../node_modules/moment/locale/vi.js", "./vi.js": "../../../node_modules/moment/locale/vi.js", "./x-pseudo": "../../../node_modules/moment/locale/x-pseudo.js", "./x-pseudo.js": "../../../node_modules/moment/locale/x-pseudo.js", "./yo": "../../../node_modules/moment/locale/yo.js", "./yo.js": "../../../node_modules/moment/locale/yo.js", "./zh-cn": "../../../node_modules/moment/locale/zh-cn.js", "./zh-cn.js": "../../../node_modules/moment/locale/zh-cn.js", "./zh-hk": "../../../node_modules/moment/locale/zh-hk.js", "./zh-hk.js": "../../../node_modules/moment/locale/zh-hk.js", "./zh-mo": "../../../node_modules/moment/locale/zh-mo.js", "./zh-mo.js": "../../../node_modules/moment/locale/zh-mo.js", "./zh-tw": "../../../node_modules/moment/locale/zh-tw.js", "./zh-tw.js": "../../../node_modules/moment/locale/zh-tw.js" }; function webpackContext(req) { var id = webpackContextResolve(req); return __webpack_require__(id); } function webpackContextResolve(req) { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } return map[req]; } webpackContext.keys = function webpackContextKeys() { return Object.keys(map); }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; webpackContext.id = "../../../node_modules/moment/locale sync recursive ^\\.\\/.*$"; /***/ }), /***/ "./src/app.tsx": /*!*********************!*\ !*** ./src/app.tsx ***! \*********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __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 react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router-dom/dist/index.js"); /* harmony import */ var _shared_routes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/routes */ "./src/shared/routes/index.tsx"); var App = function App() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.BrowserRouter, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_routes__WEBPACK_IMPORTED_MODULE_2__["default"], null)); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (App); /***/ }), /***/ "./src/index.css": /*!***********************!*\ !*** ./src/index.css ***! \***********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "../../../node_modules/style-loader/dist/runtime/styleDomAPI.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "../../../node_modules/style-loader/dist/runtime/insertBySelector.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "../../../node_modules/style-loader/dist/runtime/insertStyleElement.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "../../../node_modules/style-loader/dist/runtime/styleTagTransform.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./index.css */ "../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./src/index.css"); var options = {}; options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"], options); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); /***/ }), /***/ "./src/index.tsx": /*!***********************!*\ !*** ./src/index.tsx ***! \***********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* 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 react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ "../../../node_modules/react-dom/client.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app */ "./src/app.tsx"); /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./index.css */ "./src/index.css"); /* harmony import */ var _shared_redux_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./shared/redux/store */ "./src/shared/redux/store.ts"); // Import dependencies // Import application components and styles // Wait for DOM content to load document.addEventListener('DOMContentLoaded', function () { var rootElement = document.getElementById('root'); if (rootElement) { var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(rootElement); root.render(/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_redux__WEBPACK_IMPORTED_MODULE_2__.Provider, { store: _shared_redux_store__WEBPACK_IMPORTED_MODULE_5__.store }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_app__WEBPACK_IMPORTED_MODULE_3__["default"], null))); } else { console.error('Root element not found. Unable to render the application.'); } }); /***/ }), /***/ "./src/services/authentication/login/core/actions.ts": /*!***********************************************************!*\ !*** ./src/services/authentication/login/core/actions.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ loginTelegramUserAction: () => (/* binding */ loginTelegramUserAction), /* harmony export */ loginUserAction: () => (/* binding */ loginUserAction), /* harmony export */ registerTelegramUserAction: () => (/* binding */ registerTelegramUserAction), /* harmony export */ userAttendanceAction: () => (/* binding */ userAttendanceAction), /* harmony export */ verifyOTPAction: () => (/* binding */ verifyOTPAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/authentication/login/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/authentication/login/core/services.ts"); var loginUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.AUTHENTICATION_LOGIN, _services__WEBPACK_IMPORTED_MODULE_2__.loginUserService); var verifyOTPAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.AUTHENTICATION_VERIFY_OPT, _services__WEBPACK_IMPORTED_MODULE_2__.verifyOTPService); var loginTelegramUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.AUTHENTICATION_LOGIN_TELEGRAM, _services__WEBPACK_IMPORTED_MODULE_2__.loginTelegramUserService); var registerTelegramUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.AUTHENTICATION_REGISTER, _services__WEBPACK_IMPORTED_MODULE_2__.registerTelegramUserService); var userAttendanceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_ATTENDANCE, _services__WEBPACK_IMPORTED_MODULE_2__.userAttendanceService); /***/ }), /***/ "./src/services/authentication/login/core/constants.ts": /*!*************************************************************!*\ !*** ./src/services/authentication/login/core/constants.ts ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ AUTH: () => (/* binding */ AUTH), /* harmony export */ AUTHENTICATION_LOGIN: () => (/* binding */ AUTHENTICATION_LOGIN), /* harmony export */ AUTHENTICATION_LOGIN_TELEGRAM: () => (/* binding */ AUTHENTICATION_LOGIN_TELEGRAM), /* harmony export */ AUTHENTICATION_REGISTER: () => (/* binding */ AUTHENTICATION_REGISTER), /* harmony export */ AUTHENTICATION_VERIFY_OPT: () => (/* binding */ AUTHENTICATION_VERIFY_OPT), /* harmony export */ USER_ATTENDANCE: () => (/* binding */ USER_ATTENDANCE) /* harmony export */ }); var AUTH = 'auth'; var AUTHENTICATION_LOGIN = '/auth/logins'; var AUTHENTICATION_LOGIN_TELEGRAM = '/auth/login'; var AUTHENTICATION_REGISTER = '/auth/register'; var AUTHENTICATION_VERIFY_OPT = 'api/v1/verify'; var USER_ATTENDANCE = '/user-attendances'; /***/ }), /***/ "./src/services/authentication/login/core/reducer.ts": /*!***********************************************************!*\ !*** ./src/services/authentication/login/core/reducer.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ authSlice: () => (/* binding */ authSlice), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ logout: () => (/* binding */ logout), /* harmony export */ setEmail: () => (/* binding */ setEmail), /* harmony export */ setIsLoginPending: () => (/* binding */ setIsLoginPending), /* harmony export */ setLoginErrorMessage: () => (/* binding */ setLoginErrorMessage), /* harmony export */ setToken: () => (/* binding */ setToken), /* harmony export */ setUser: () => (/* binding */ setUser) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/authentication/login/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/authentication/login/core/constants.ts"); /* eslint-disable no-console */ // Safely retrieve session data var getSessionItem = function getSessionItem(key) { try { var item = sessionStorage.getItem(key); return item ? JSON.parse(item) : null; } catch (error) { console.error("Error retrieving session item (".concat(key, "):"), error); return null; } }; var getSessionToken = function getSessionToken(key) { try { var item = sessionStorage.getItem(key); return item ? item : null; } catch (error) { console.error("Error retrieving session item (".concat(key, "):"), error); return null; } }; var initialState = { currentUser: getSessionItem('currentUser'), isLoginPending: false, pagination: { currentPage: 1, itemsPerPage: 10, totalItems: 100 }, loginErrorMessage: '', handleRegiterTelegram: false, isOtpVerificationPending: false, otpVerificationErrorMessage: '', accessToken: getSessionToken('token'), email: '' }; var authSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.AUTH, initialState: initialState, reducers: { logout: function logout(state) { state.currentUser = null; sessionStorage.clear(); }, setToken: function setToken(state, action) { state.accessToken = action.payload; sessionStorage.setItem('token', JSON.stringify(action.payload)); }, setUser: function setUser(state, action) { state.currentUser = action.payload; sessionStorage.setItem('currentUser', JSON.stringify(action.payload)); }, setIsLoginPending: function setIsLoginPending(state, action) { state.isLoginPending = action.payload; }, setLoginErrorMessage: function setLoginErrorMessage(state, action) { state.loginErrorMessage = action.payload; }, setEmail: function setEmail(state, action) { state.email = action.payload; } }, extraReducers: function extraReducers(builder) { builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginUserAction.pending, function (state) { state.isLoginPending = true; state.loginErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginUserAction.rejected, function (state, action) { state.isLoginPending = false; state.loginErrorMessage = JSON.stringify(action === null || action === void 0 ? void 0 : action.payload.data); }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginUserAction.fulfilled, function (state, action) { var payload = action.payload; state.isLoginPending = false; if (['User not found', 'Invalid credentials'].includes(payload.data)) { sessionStorage.removeItem('currentUser'); sessionStorage.removeItem('token'); state.currentUser = null; state.accessToken = null; } else { state.currentUser = payload.user; state.accessToken = payload.access_token; sessionStorage.setItem('currentUser', JSON.stringify(payload.user)); sessionStorage.setItem('token', payload.access_token); } state.loginErrorMessage = JSON.stringify(payload.data); }) // handle telegram login .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction.pending, function (state) { state.isLoginPending = true; state.loginErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction.rejected, function (state, action) { state.isLoginPending = false; state.loginErrorMessage = JSON.stringify(action === null || action === void 0 ? void 0 : action.payload.data); state.handleRegiterTelegram = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction.fulfilled, function (state, action) { var payload = action.payload; state.isLoginPending = false; if (['User not found', 'Invalid credentials'].includes(payload.data)) { sessionStorage.removeItem('currentUser'); sessionStorage.removeItem('token'); state.currentUser = null; state.accessToken = null; } else { state.currentUser = payload.user; state.accessToken = payload.access_token; sessionStorage.setItem('currentUser', JSON.stringify(payload.user)); sessionStorage.setItem('token', payload.access_token); } state.loginErrorMessage = JSON.stringify(payload.data); }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.verifyOTPAction.pending, function (state) { state.isOtpVerificationPending = true; state.otpVerificationErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.verifyOTPAction.fulfilled, function (state) { state.isOtpVerificationPending = false; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.verifyOTPAction.rejected, function (state, action) { state.isOtpVerificationPending = false; state.otpVerificationErrorMessage = action.payload ? JSON.stringify(action.payload) : 'OTP verification failed. Please try again.'; }); } }); var _authSlice$actions = authSlice.actions, logout = _authSlice$actions.logout, setToken = _authSlice$actions.setToken, setUser = _authSlice$actions.setUser, setLoginErrorMessage = _authSlice$actions.setLoginErrorMessage, setIsLoginPending = _authSlice$actions.setIsLoginPending, setEmail = _authSlice$actions.setEmail; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (authSlice.reducer); /***/ }), /***/ "./src/services/authentication/login/core/services.ts": /*!************************************************************!*\ !*** ./src/services/authentication/login/core/services.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ loginTelegramUserService: () => (/* binding */ loginTelegramUserService), /* harmony export */ loginUserService: () => (/* binding */ loginUserService), /* harmony export */ registerTelegramUserService: () => (/* binding */ registerTelegramUserService), /* harmony export */ userAttendanceService: () => (/* binding */ userAttendanceService), /* harmony export */ verifyOTPService: () => (/* binding */ verifyOTPService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } // export const loginUserService = async (body: LoginFormValues): Promise => { // try { // const response = await postWithConfig(URL.LOGIN, { // email: body.email, // password: body.password, // }); // return response; // } catch (error) { // console.error('Login request failed:', error); // throw error; // Ensure this error propagates back to the thunk // } // }; var loginUserService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(body) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: return _context.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LOGIN, { email: body.email, password: body.password, grad_type: 'password' })); } }, _callee); })); return function loginUserService(_x) { return _ref.apply(this, arguments); }; }(); var loginTelegramUserService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(body) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: return _context2.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LOGIN_TELEGRAM, { telegram_id: body.telegram_id, username: body.username, grad_type: 'telegram' })); } }, _callee2); })); return function loginTelegramUserService(_x2) { return _ref2.apply(this, arguments); }; }(); var registerTelegramUserService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(body) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SIGNUP, body)); } }, _callee3); })); return function registerTelegramUserService(_x3) { return _ref3.apply(this, arguments); }; }(); var userAttendanceService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(body) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER_ATTENDANCE, body)); } }, _callee4); })); return function userAttendanceService(_x4) { return _ref4.apply(this, arguments); }; }(); var verifyOTPService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(body) { var response, _t; return _regenerator().w(function (_context5) { while (1) switch (_context5.p = _context5.n) { case 0: _context5.p = 0; console.log("Sending OTP verification with body: ".concat(JSON.stringify(body))); _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.VERIFY_TOP, { email: body.email, code: body.otpCode }); case 1: response = _context5.v; console.log("OTP verification response: ".concat(JSON.stringify(response))); return _context5.a(2, response); case 2: _context5.p = 2; _t = _context5.v; console.error('OTP verification failed:', _t); throw _t; case 3: return _context5.a(2); } }, _callee5, null, [[0, 2]]); })); return function verifyOTPService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/authentication/login/pages/attendance_verification.tsx": /*!*****************************************************************************!*\ !*** ./src/services/authentication/login/pages/attendance_verification.tsx ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _core_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/actions */ "./src/services/authentication/login/core/actions.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); /* harmony import */ var _user_core_services__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../user/core/services */ "./src/services/user/core/services.ts"); /* harmony import */ var _volunteer_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../volunteer/core/actions */ "./src/services/volunteer/core/actions.ts"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_9__); 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 TELEGRAM_BOT_USERNAME = "volunteerforcambodiabot"; var TELEGRAM_AUTH_API = "https://volunteerapi.joonaakhub.com/auth/callback"; var TELEGRAM_ALLOWED_ORIGINS = ["telegram.org", "web.telegram.org"]; // ✅ Restrict allowed origins var TelegramLoginAttendance = function TelegramLoginAttendance() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_4__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(function (state) { return state.auth; }), loginErrorMessage = _useSelector.loginErrorMessage, currentUser = _useSelector.currentUser; var _message$useMessage = antd_es_message__WEBPACK_IMPORTED_MODULE_1__["default"].useMessage(), _message$useMessage2 = _slicedToArray(_message$useMessage, 2), messageApi = _message$useMessage2[0], contextHolder = _message$useMessage2[1]; var telegramWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null); var allVolunteers = null; var fetchTelegramUser = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(authData) { var response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: _context.p = 0; if (authData) { _context.n = 1; break; } return _context.a(2); case 1: _context.n = 2; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_6__.getWithConfig)("".concat(TELEGRAM_AUTH_API, "?").concat(authData)); case 2: response = _context.v; if (!(!response || !response.user)) { _context.n = 3; break; } throw new Error("Invalid Telegram login response."); case 3: return _context.a(2, response.user); case 4: _context.p = 4; _t = _context.v; return _context.a(2, null); } }, _callee, null, [[0, 4]]); })); return function fetchTelegramUser(_x) { return _ref.apply(this, arguments); }; }(); var handleTelegramLogin = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(/*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(event) { var eventOrigin, data, user, loginBody, existingUser, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: _context2.p = 0; eventOrigin = new URL(event.origin).hostname; // ✅ Strictly check event origin if (TELEGRAM_ALLOWED_ORIGINS.some(function (domain) { return eventOrigin.endsWith(domain); })) { _context2.n = 1; break; } console.warn("Unauthorized event origin:", eventOrigin); return _context2.a(2); case 1: data = typeof event.data === "string" ? JSON.parse(event.data) : event.data; console.log('data.auth_data :::', data === null || data === void 0 ? void 0 : data.auth_data); if (data !== null && data !== void 0 && data.auth_data) { _context2.n = 2; break; } return _context2.a(2); case 2: if (!sessionStorage.getItem("telegramUser")) { _context2.n = 3; break; } return _context2.a(2); case 3: _context2.n = 4; return fetchTelegramUser(new URLSearchParams(data.auth_data).toString()); case 4: user = _context2.v; if (user) { _context2.n = 5; break; } return _context2.a(2); case 5: ; // ✅ Encrypt user data before saving to sessionStorage sessionStorage.setItem("telegramUser", JSON.stringify(user)); loginBody = { telegram_id: user.id, username: "".concat(user.id, "-").concat(user.username || user.first_name || user.last_name) }; _context2.n = 6; return (0,_user_core_services__WEBPACK_IMPORTED_MODULE_7__.userTelegramService)(user.id); case 6: existingUser = _context2.v; if (existingUser) { dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_5__.loginTelegramUserAction)(loginBody)); } else { // user not found todo } _context2.n = 8; break; case 7: _context2.p = 7; _t2 = _context2.v; console.log(_t2); messageApi.error("Failed to authenticate with Telegram."); case 8: return _context2.a(2); } }, _callee2, null, [[0, 7]]); })); return function (_x2) { return _ref2.apply(this, arguments); }; }(), [dispatch, messageApi]); /** ✅ Handle authentication errors */ (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () { if (loginErrorMessage) { messageApi.error(loginErrorMessage); } }, [loginErrorMessage, messageApi]); /** ✅ Handle user redirection */ (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () { if (!currentUser) return; // Mark user attendance var attendanceBody = { user_id: currentUser.id, meeting_note: "\uD83D\uDCE2 \u179F\u17BC\u1798\u17A2\u1794\u17A2\u179A\u179F\u17B6\u1791\u179A \u1793\u17B7\u1784\u179F\u17BC\u1798\u17A2\u1789\u17D2\u1787\u17BE\u1789\u1785\u17BC\u179B\u179A\u17BD\u1798\u179F\u17B7\u1780\u17D2\u1781\u17B6\u179F\u17B6\u179B\u17B6\u178F\u1798\u17D2\u179A\u1784\u17CB\u1791\u17B7\u179F \u1796\u17D0\u178F\u17CC\u1798\u17B6\u1793\u179B\u1798\u17D2\u17A2\u17B7\u178F \u1798\u17BB\u1793\u1796\u17C1\u179B\u1785\u17C1\u1789\u178A\u17C6\u178E\u17BE\u179A\n(Orientation Workshop) \u179A\u1799\u17C8\u1796\u17C1\u179B\u1798\u17BD\u1799\u1796\u17D2\u179A\u17B9\u1780\n\n\uD83D\uDCDD **\u1782\u178E\u17C8\u1780\u1798\u17D2\u1798\u1780\u17B6\u179A\u179F\u17BC\u1798\u17A2\u1789\u17D2\u1787\u17BE\u1789\u179B\u17C4\u1780\u17A2\u17D2\u1793\u1780\u1785\u17BC\u179B\u179A\u17BD\u1798\u179F\u17B7\u1780\u17D2\u1781\u17B6\u179F\u17B6\u179B\u17B6\u178F\u1798\u17D2\u179A\u1784\u17CB\u1791\u17B7\u179F \u1793\u17B7\u1784\u1795\u17D2\u178F\u179B\u17CB\u1787\u17BC\u1793\u1793\u17BC\u179C\u1796\u17D0\u178F\u17CC\u1798\u17B6\u1793\u179B\u1798\u17D2\u17A2\u17B7\u178F \n\u178A\u17BE\u1798\u17D2\u1794\u17B8\u179A\u17C0\u1794\u1785\u17C6\u1781\u17D2\u179B\u17BD\u1793\u1787\u17B6\u17A2\u17D2\u1793\u1780\u179F\u17D2\u1798\u17D0\u1782\u17D2\u179A\u1785\u17B7\u178F\u17D2\u178F\u1780\u17D2\u1793\u17BB\u1784 \u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD\u17A2\u1784\u17D2\u1782\u179A\u179F\u1784\u17D2\u1782\u17D2\u179A\u17B6\u1793\u17D2\u178F \u17E2\u17E0\u17E2\u17E5\n\n\uD83D\uDCC5 \u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\u17D6 \u1790\u17D2\u1784\u17C3\u179F\u17C5\u179A\u17CD \u1791\u17B8 \u17E5 \u1781\u17C2\u1798\u17C1\u179F\u17B6 \u1786\u17D2\u1793\u17B6\u17C6\u17E2\u17E0\u17E2\u17E5\n\u23F0 \u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u17D6 \u17E7:\u17E3\u17E0 \u1796\u17D2\u179A\u17B9\u1780\n\uD83D\uDCCD \u1791\u17B8\u178F\u17B6\u17C6\u1784\u17D6 \u179F\u17B6\u179B\u1794\u17D2\u179A\u1787\u17BB\u17C6\u179F\u17B6\u179B\u17B6\u178F\u17B7\u1785\u178E\u17BC(ITC)\n\uD83D\uDC55 \u179F\u1798\u17D2\u179B\u17C0\u1780\u1794\u17C6\u1796\u17B6\u1780\u17CB\u17D6 \u179F\u1798\u179A\u1798\u17D2\u1799\n\n\uD83D\uDCDE \u179F\u17BC\u1798\u1794\u1789\u17D2\u1787\u17B6\u1780\u17CB\u179C\u178F\u17D2\u178F\u1798\u17B6\u1793\u1791\u17C5\u1780\u17D2\u179A\u17BB\u1798\u1780\u17B6\u179A\u1784\u17B6\u179A\u179A\u1794\u179F\u17CB\u1781\u17D2\u179B\u17BD\u1793", meeting_time: new Date().toISOString() // Use ISO string for consistent date format }; dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_5__.userAttendanceAction)(attendanceBody)); // Mark attendance // Show success alert using SweetAlert2 // Introducing a delay before showing the success alert setTimeout(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_9___default().fire({ title: "Success!", text: "Attendance has been marked successfully.", icon: "success", confirmButtonText: "OK" }).then(function (result) { if (result.isConfirmed) { // Navigate to the volunteers page after the alert navigate("/volunteers"); } }); }, 1000); // Delay for 1 second (1000 ms) var fetchVolunteersData = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() { var _response$payload, response, volunteersCount, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: _context3.p = 0; _context3.n = 1; return dispatch((0,_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_8__.fetchVolunteers)({ page: 1, pageSize: 1 })); case 1: response = _context3.v; volunteersCount = (response === null || response === void 0 || (_response$payload = response.payload) === null || _response$payload === void 0 || (_response$payload = _response$payload.meta) === null || _response$payload === void 0 ? void 0 : _response$payload.total) || 0; // Delay for 3 seconds before redirecting setTimeout(function () { if (volunteersCount > 0) { navigate(currentUser.role !== "user" ? "/" : "/volunteers", { replace: true }); } else { navigate(currentUser.role !== "user" ? "/" : "/register", { replace: true }); } }, 3000); // 3-second delay (3000 ms) _context3.n = 3; break; case 2: _context3.p = 2; _t3 = _context3.v; console.error("Error fetching volunteers:", _t3); case 3: return _context3.a(2); } }, _callee3, null, [[0, 2]]); })); return function fetchVolunteersData() { return _ref3.apply(this, arguments); }; }(); fetchVolunteersData(); }, [currentUser, navigate, dispatch]); // ✅ Ensure dependencies are correct // ✅ Load session on page refresh & set up Telegram login button (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () { var savedUser = sessionStorage.getItem("telegramUser"); if (savedUser && !currentUser) { dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_5__.loginTelegramUserAction)(JSON.parse(savedUser))); } window.addEventListener("message", handleTelegramLogin); var scriptElement = document.createElement("script"); scriptElement.src = "https://telegram.org/js/telegram-widget.js?22"; scriptElement.setAttribute("data-telegram-login", TELEGRAM_BOT_USERNAME); scriptElement.setAttribute("data-size", "large"); scriptElement.setAttribute("data-request-access", "write"); scriptElement.async = true; if (telegramWrapperRef.current) { telegramWrapperRef.current.innerHTML = ""; telegramWrapperRef.current.appendChild(scriptElement); } return function () { window.removeEventListener("message", handleTelegramLogin); }; }, [handleTelegramLogin, dispatch, currentUser]); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", { className: "container" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", { className: "left-section" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", { className: "right-section" }, contextHolder, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], { className: "card", style: { maxWidth: 400 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("h2", null, "Login with Telegram"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", { ref: telegramWrapperRef })))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TelegramLoginAttendance); /***/ }), /***/ "./src/services/authentication/login/pages/login.tsx": /*!***********************************************************!*\ !*** ./src/services/authentication/login/pages/login.tsx ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/checkbox */ "../../../node_modules/antd/lib/checkbox/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/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_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/LockOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../core/actions */ "./src/services/authentication/login/core/actions.ts"); 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; } /* eslint-disable no-console */ // import { useDispatch } from 'react-redux'; var LoginForm = function LoginForm() { var _message$useMessage = antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].useMessage(), _message$useMessage2 = _slicedToArray(_message$useMessage, 2), messageApi = _message$useMessage2[0], contextHolder = _message$useMessage2[1]; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_9__.useDispatch)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_9__.useSelector)(function (state) { return state.auth; }), isLoginPending = _useSelector.isLoginPending, loginErrorMessage = _useSelector.loginErrorMessage, currentUser = _useSelector.currentUser; var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_10__.useNavigate)(); var onFinish = function onFinish(values) { _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_11__.loginUserAction)(values)); case 1: return _context.a(2); } }, _callee); }))(); }; (0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () { if (loginErrorMessage) { console.log("loginErrorMessage=> ".concat(loginErrorMessage)); messageApi.open({ type: 'error', content: loginErrorMessage }); } }, [loginErrorMessage, isLoginPending]); (0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () { if (currentUser) { navigate('/'); } }, [currentUser, navigate]); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("div", { style: { display: 'flex', justifyContent: 'center', alignItems: 'center', height: '60vh' // Fill the full height of the viewport } }, contextHolder, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], { style: { maxWidth: 400, width: '100%' } }, ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { style: { textAlign: 'center' } }, "Login"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"], { name: "normal_login", className: "login-form", initialValues: { remember: true }, onFinish: onFinish }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, { name: "email", rules: [{ required: true, message: 'Please input your email!' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_4__["default"], { prefix: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_7__["default"], { className: "site-form-item-icon" }), placeholder: "E-mail" })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, { name: "password", rules: [{ required: true, message: 'Please input your Password!' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_4__["default"], { prefix: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_6__["default"], { className: "site-form-item-icon" }), type: "password", placeholder: "Password" })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, { name: "remember", valuePropName: "checked", noStyle: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__["default"], null, "Remember me"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_1___default()), { block: true, type: "primary", htmlType: "submit", className: "login-form-button", loading: isLoginPending }, "Log in"))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoginForm); /***/ }), /***/ "./src/services/authentication/login/pages/qrcode.tsx": /*!************************************************************!*\ !*** ./src/services/authentication/login/pages/qrcode.tsx ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __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 qrcode_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! qrcode.react */ "../../../node_modules/qrcode.react/lib/esm/index.js"); 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 VolunteerAttendancePage = function VolunteerAttendancePage() { var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), _useState2 = _slicedToArray(_useState, 2), volunteerId = _useState2[0], setVolunteerId = _useState2[1]; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { // Here you would fetch or create a unique volunteer ID or meeting ID // For example, let's assume `volunteerId` is dynamically assigned for each session. var fetchVolunteerId = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: // This can be an API call or a logic to generate the unique meeting ID setVolunteerId("unique-volunteer-id-123"); // Example volunteer ID case 1: return _context.a(2); } }, _callee); })); return function fetchVolunteerId() { return _ref.apply(this, arguments); }; }(); fetchVolunteerId(); }, []); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "attendance-page" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "Volunteer Attendance"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Scan the QR code to check-in for your meeting."), volunteerId && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(qrcode_react__WEBPACK_IMPORTED_MODULE_1__.QRCodeCanvas, { value: "https://volunteerforcambodia.com/attendance" // This link should redirect to a page for Telegram login. , size: 256 })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerAttendancePage); /***/ }), /***/ "./src/services/disability_type/core/actions.ts": /*!******************************************************!*\ !*** ./src/services/disability_type/core/actions.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createDisabilityTypeAction: () => (/* binding */ createDisabilityTypeAction), /* harmony export */ deleteDisabilityTypeAction: () => (/* binding */ deleteDisabilityTypeAction), /* harmony export */ disabilityTypeDetailAction: () => (/* binding */ disabilityTypeDetailAction), /* harmony export */ fetchDisabilityTypes: () => (/* binding */ fetchDisabilityTypes), /* harmony export */ updateDisabilityTypeAction: () => (/* binding */ updateDisabilityTypeAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/disability_type/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/disability_type/core/services.ts"); 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); }); }; } var fetchDisabilityTypes = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPES, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.disabilityTypesService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch disability types")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var disabilityTypeDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPE, _services__WEBPACK_IMPORTED_MODULE_2__.disabilityTypeDetailService); var createDisabilityTypeAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPE_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createDisabilityTypeService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create disability type")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateDisabilityTypeAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPE_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateDisabilityTypeService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update disability type")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteDisabilityTypeAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPE_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteDisabilityTypeService); /***/ }), /***/ "./src/services/disability_type/core/constants.ts": /*!********************************************************!*\ !*** ./src/services/disability_type/core/constants.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ DISABILITY_TYPE: () => (/* binding */ DISABILITY_TYPE), /* harmony export */ DISABILITY_TYPES: () => (/* binding */ DISABILITY_TYPES), /* harmony export */ DISABILITY_TYPE_CREATE: () => (/* binding */ DISABILITY_TYPE_CREATE), /* harmony export */ DISABILITY_TYPE_DELETE: () => (/* binding */ DISABILITY_TYPE_DELETE), /* harmony export */ DISABILITY_TYPE_UPDATE: () => (/* binding */ DISABILITY_TYPE_UPDATE) /* harmony export */ }); var DISABILITY_TYPES = 'disability-types/fetchAll'; var DISABILITY_TYPE = 'disability-types/fetchByID'; var DISABILITY_TYPE_CREATE = 'disability-types/create'; var DISABILITY_TYPE_UPDATE = 'disability-types/update'; var DISABILITY_TYPE_DELETE = 'disability-types/delete'; /***/ }), /***/ "./src/services/disability_type/core/reducer.ts": /*!******************************************************!*\ !*** ./src/services/disability_type/core/reducer.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ disabilityTypeSlice: () => (/* binding */ disabilityTypeSlice), /* harmony export */ setDisabilityType: () => (/* binding */ setDisabilityType), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/disability_type/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/disability_type/core/constants.ts"); /* eslint-disable no-console */ var initialState = { disabilityTypes: [], disabilityType: null, disabilityTypesPending: false, disabilityTypeDetailPending: false, disabilityTypeCreatePending: false, disabilityTypeUpdatePending: false, disabilityTypeDeletePending: false, registerErrorMessage: '' }; var disabilityTypeSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.DISABILITY_TYPE, initialState: initialState, reducers: { // Sets the current disabilityType setDisabilityType: function setDisabilityType(state, action) { state.disabilityType = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle disability type .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDisabilityTypes.pending, function (state) { state.disabilityTypesPending = true; state.registerErrorMessage = ''; }) // Handles rejected disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDisabilityTypes.rejected, function (state, action) { state.disabilityTypesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch disability types.'; }) // Handles fulfilled disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDisabilityTypes.fulfilled, function (state, action) { var payload = action.payload; state.disabilityTypes = payload; state.disabilityTypesPending = false; state.registerErrorMessage = ''; }) // handle disability type detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.disabilityTypeDetailAction.pending, function (state) { state.disabilityTypeDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.disabilityTypeDetailAction.rejected, function (state, action) { state.disabilityTypeDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch disability types.'; }) // Handles fulfilled disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.disabilityTypeDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.disabilityType = payload; state.disabilityTypeDetailPending = false; state.registerErrorMessage = ''; }) // handle disabilityType create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createDisabilityTypeAction.pending, function (state) { state.disabilityTypeUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createDisabilityTypeAction.rejected, function (state, action) { state.disabilityTypeUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create disability types.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createDisabilityTypeAction.fulfilled, function (state, action) { state.disabilityType = action.payload; state.disabilityTypeUpdatePending = false; state.registerErrorMessage = ''; }) // handle disabilityType update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateDisabilityTypeAction.pending, function (state) { state.disabilityTypeUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateDisabilityTypeAction.rejected, function (state, action) { state.disabilityTypeUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update disability types.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateDisabilityTypeAction.fulfilled, function (state, action) { state.disabilityType = action.payload; state.disabilityTypeUpdatePending = false; state.registerErrorMessage = ''; }) // handle disabilityType delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteDisabilityTypeAction.pending, function (state) { state.disabilityTypeUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteDisabilityTypeAction.rejected, function (state, action) { state.disabilityTypeUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete disability types.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteDisabilityTypeAction.fulfilled, function (state, action) { state.disabilityType = action.payload; state.disabilityTypeUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _disabilityTypeSlice$ = disabilityTypeSlice.actions, setRegisterErrorMessage = _disabilityTypeSlice$.setRegisterErrorMessage, setDisabilityType = _disabilityTypeSlice$.setDisabilityType; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (disabilityTypeSlice.reducer); /***/ }), /***/ "./src/services/disability_type/core/services.ts": /*!*******************************************************!*\ !*** ./src/services/disability_type/core/services.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createDisabilityTypeService: () => (/* binding */ createDisabilityTypeService), /* harmony export */ deleteDisabilityTypeService: () => (/* binding */ deleteDisabilityTypeService), /* harmony export */ disabilityTypeDetailService: () => (/* binding */ disabilityTypeDetailService), /* harmony export */ disabilityTypesService: () => (/* binding */ disabilityTypesService), /* harmony export */ updateDisabilityTypeService: () => (/* binding */ updateDisabilityTypeService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } var disabilityTypesService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function disabilityTypesService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var disabilityTypeDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function disabilityTypeDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createDisabilityTypeService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE), data)); } }, _callee3); })); return function createDisabilityTypeService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateDisabilityTypeService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE).concat(id), data)); } }, _callee4); })); return function updateDisabilityTypeService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteDisabilityTypeService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteDisabilityTypeService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/education_institution/core/actions.ts": /*!************************************************************!*\ !*** ./src/services/education_institution/core/actions.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createEducationInstitutionAction: () => (/* binding */ createEducationInstitutionAction), /* harmony export */ deleteEducationInstitutionAction: () => (/* binding */ deleteEducationInstitutionAction), /* harmony export */ educationInstitutionDetailAction: () => (/* binding */ educationInstitutionDetailAction), /* harmony export */ fetchEducationInstitutions: () => (/* binding */ fetchEducationInstitutions), /* harmony export */ updateEducationInstitutionAction: () => (/* binding */ updateEducationInstitutionAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/education_institution/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/education_institution/core/services.ts"); 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); }); }; } var fetchEducationInstitutions = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTIONS, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.educationInstitutionsService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch education institution")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var educationInstitutionDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTION, _services__WEBPACK_IMPORTED_MODULE_2__.educationInstitutionDetailService); var createEducationInstitutionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTION_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createEducationInstitutionService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create education institution")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateEducationInstitutionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTION_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateEducationInstitutionService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update education institution")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteEducationInstitutionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTION_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteEducationInstitutionService); /***/ }), /***/ "./src/services/education_institution/core/constants.ts": /*!**************************************************************!*\ !*** ./src/services/education_institution/core/constants.ts ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ EDUCATION_INSTITUTION: () => (/* binding */ EDUCATION_INSTITUTION), /* harmony export */ EDUCATION_INSTITUTIONS: () => (/* binding */ EDUCATION_INSTITUTIONS), /* harmony export */ EDUCATION_INSTITUTION_CREATE: () => (/* binding */ EDUCATION_INSTITUTION_CREATE), /* harmony export */ EDUCATION_INSTITUTION_DELETE: () => (/* binding */ EDUCATION_INSTITUTION_DELETE), /* harmony export */ EDUCATION_INSTITUTION_UPDATE: () => (/* binding */ EDUCATION_INSTITUTION_UPDATE) /* harmony export */ }); var EDUCATION_INSTITUTIONS = 'education-institutions/fetchAll'; var EDUCATION_INSTITUTION = 'education-institutions/fetchByID'; var EDUCATION_INSTITUTION_CREATE = 'education-institutions/create'; var EDUCATION_INSTITUTION_UPDATE = 'education-institutions/update'; var EDUCATION_INSTITUTION_DELETE = 'education-institutions/delete'; /***/ }), /***/ "./src/services/education_institution/core/reducer.ts": /*!************************************************************!*\ !*** ./src/services/education_institution/core/reducer.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ educationInstitutionSlice: () => (/* binding */ educationInstitutionSlice), /* harmony export */ setEducationInstitution: () => (/* binding */ setEducationInstitution), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/education_institution/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/education_institution/core/constants.ts"); /* eslint-disable no-console */ var initialState = { educationInstitutions: [], educationInstitution: null, educationInstitutionsPending: false, educationInstitutionDetailPending: false, educationInstitutionCreatePending: false, educationInstitutionUpdatePending: false, educationInstitutionDeletePending: false, registerErrorMessage: '' }; var educationInstitutionSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.EDUCATION_INSTITUTION, initialState: initialState, reducers: { // Sets the current educationInstitution setEducationInstitution: function setEducationInstitution(state, action) { state.educationInstitution = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle education institution .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchEducationInstitutions.pending, function (state) { state.educationInstitutionsPending = true; state.registerErrorMessage = ''; }) // Handles rejected education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchEducationInstitutions.rejected, function (state, action) { state.educationInstitutionsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch education institutions.'; }) // Handles fulfilled education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchEducationInstitutions.fulfilled, function (state, action) { var payload = action.payload; state.educationInstitutions = payload; state.educationInstitutionsPending = false; state.registerErrorMessage = ''; }) // handle education institution detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.educationInstitutionDetailAction.pending, function (state) { state.educationInstitutionDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.educationInstitutionDetailAction.rejected, function (state, action) { state.educationInstitutionDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch education institutions.'; }) // Handles fulfilled education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.educationInstitutionDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.educationInstitution = payload; state.educationInstitutionDetailPending = false; state.registerErrorMessage = ''; }) // handle educationInstitution create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createEducationInstitutionAction.pending, function (state) { state.educationInstitutionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createEducationInstitutionAction.rejected, function (state, action) { state.educationInstitutionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create education institutions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createEducationInstitutionAction.fulfilled, function (state, action) { state.educationInstitution = action.payload; state.educationInstitutionUpdatePending = false; state.registerErrorMessage = ''; }) // handle educationInstitution update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateEducationInstitutionAction.pending, function (state) { state.educationInstitutionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateEducationInstitutionAction.rejected, function (state, action) { state.educationInstitutionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update education institutions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateEducationInstitutionAction.fulfilled, function (state, action) { state.educationInstitution = action.payload; state.educationInstitutionUpdatePending = false; state.registerErrorMessage = ''; }) // handle educationInstitution delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteEducationInstitutionAction.pending, function (state) { state.educationInstitutionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteEducationInstitutionAction.rejected, function (state, action) { state.educationInstitutionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete education institutions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteEducationInstitutionAction.fulfilled, function (state, action) { state.educationInstitution = action.payload; state.educationInstitutionUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _educationInstitution = educationInstitutionSlice.actions, setRegisterErrorMessage = _educationInstitution.setRegisterErrorMessage, setEducationInstitution = _educationInstitution.setEducationInstitution; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (educationInstitutionSlice.reducer); /***/ }), /***/ "./src/services/education_institution/core/services.ts": /*!*************************************************************!*\ !*** ./src/services/education_institution/core/services.ts ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createEducationInstitutionService: () => (/* binding */ createEducationInstitutionService), /* harmony export */ deleteEducationInstitutionService: () => (/* binding */ deleteEducationInstitutionService), /* harmony export */ educationInstitutionDetailService: () => (/* binding */ educationInstitutionDetailService), /* harmony export */ educationInstitutionsService: () => (/* binding */ educationInstitutionsService), /* harmony export */ updateEducationInstitutionService: () => (/* binding */ updateEducationInstitutionService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } var educationInstitutionsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function educationInstitutionsService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var educationInstitutionDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function educationInstitutionDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createEducationInstitutionService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION), data)); } }, _callee3); })); return function createEducationInstitutionService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateEducationInstitutionService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION).concat(id), data)); } }, _callee4); })); return function updateEducationInstitutionService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteEducationInstitutionService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteEducationInstitutionService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/family_survey/core/actions.ts": /*!****************************************************!*\ !*** ./src/services/family_survey/core/actions.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createFamilyAction: () => (/* binding */ createFamilyAction), /* harmony export */ deleteFamilyAction: () => (/* binding */ deleteFamilyAction), /* harmony export */ familyDetailAction: () => (/* binding */ familyDetailAction), /* harmony export */ fetchCommune: () => (/* binding */ fetchCommune), /* harmony export */ fetchDistrict: () => (/* binding */ fetchDistrict), /* harmony export */ fetchFamilySurvey: () => (/* binding */ fetchFamilySurvey), /* harmony export */ fetchProvince: () => (/* binding */ fetchProvince), /* harmony export */ fetchTransportation: () => (/* binding */ fetchTransportation), /* harmony export */ fetchVillageService: () => (/* binding */ fetchVillageService), /* harmony export */ updateFamilyAction: () => (/* binding */ updateFamilyAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/family_survey/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/family_survey/core/services.ts"); 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); }); }; } var fetchProvince = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.PROVINCES, _services__WEBPACK_IMPORTED_MODULE_2__.provinceService); var fetchDistrict = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISTRICT, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var id, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: id = _ref.id; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; console.log('provinceId::::', id); _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.districtService)(id); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var fetchCommune = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.COMMUNE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.communeService)(id); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.detail) || "Failed")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var fetchVillageService = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.VILLAGE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.villageService)(id); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.detail) || "Failed")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var fetchTransportation = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRANSPORTATION, _services__WEBPACK_IMPORTED_MODULE_2__.transportationService); var fetchFamilySurvey = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEYS, /*#__PURE__*/function () { var _ref10 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(_ref0, _ref1) { var search, page, pageSize, gender, total_member, age, village, commune, district, province, rejectWithValue, response, _error$response4, _t4; return _regenerator().w(function (_context4) { while (1) switch (_context4.p = _context4.n) { case 0: search = _ref0.search, page = _ref0.page, pageSize = _ref0.pageSize, gender = _ref0.gender, total_member = _ref0.total_member, age = _ref0.age, village = _ref0.village, commune = _ref0.commune, district = _ref0.district, province = _ref0.province; rejectWithValue = _ref1.rejectWithValue; _context4.p = 1; _context4.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.familyService)(search, page, pageSize, gender, total_member, age, village, commune, district, province); case 2: response = _context4.v; return _context4.a(2, response); case 3: _context4.p = 3; _t4 = _context4.v; return _context4.a(2, rejectWithValue(((_error$response4 = _t4.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.detail) || "Failed to fetch volunteers")); } }, _callee4, null, [[1, 3]]); })); return function (_x7, _x8) { return _ref10.apply(this, arguments); }; }()); var deleteFamilyAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEY_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteFamilyService); var familyDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEY, _services__WEBPACK_IMPORTED_MODULE_2__.familyDetailService); var updateFamilyAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEY_UPDATE, /*#__PURE__*/function () { var _ref13 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(_ref11, _ref12) { var id, data, rejectWithValue, _error$response5, _t5; return _regenerator().w(function (_context5) { while (1) switch (_context5.p = _context5.n) { case 0: id = _ref11.id, data = _ref11.data; rejectWithValue = _ref12.rejectWithValue; _context5.p = 1; _context5.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateFamilyService)(id, data); case 2: return _context5.a(2, _context5.v); case 3: _context5.p = 3; _t5 = _context5.v; return _context5.a(2, rejectWithValue(((_error$response5 = _t5.response) === null || _error$response5 === void 0 ? void 0 : _error$response5.detail) || "Failed to update volunteer")); } }, _callee5, null, [[1, 3]]); })); return function (_x9, _x0) { return _ref13.apply(this, arguments); }; }()); var createFamilyAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEY_CREATE, /*#__PURE__*/function () { var _ref16 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(_ref14, _ref15) { var data, rejectWithValue, _error$response6, _t6; return _regenerator().w(function (_context6) { while (1) switch (_context6.p = _context6.n) { case 0: data = _ref14.data; rejectWithValue = _ref15.rejectWithValue; _context6.p = 1; console.log('::: createFamilyAction::: ', data); _context6.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createFamilyService)(data); case 2: return _context6.a(2, _context6.v); case 3: _context6.p = 3; _t6 = _context6.v; return _context6.a(2, rejectWithValue(((_error$response6 = _t6.response) === null || _error$response6 === void 0 || (_error$response6 = _error$response6.data) === null || _error$response6 === void 0 ? void 0 : _error$response6.message) || "Failed to create food")); } }, _callee6, null, [[1, 3]]); })); return function (_x1, _x10) { return _ref16.apply(this, arguments); }; }()); /***/ }), /***/ "./src/services/family_survey/core/constants.ts": /*!******************************************************!*\ !*** ./src/services/family_survey/core/constants.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ COMMUNE: () => (/* binding */ COMMUNE), /* harmony export */ DISTRICT: () => (/* binding */ DISTRICT), /* harmony export */ FAMILY_SURVEY: () => (/* binding */ FAMILY_SURVEY), /* harmony export */ FAMILY_SURVEYS: () => (/* binding */ FAMILY_SURVEYS), /* harmony export */ FAMILY_SURVEY_CREATE: () => (/* binding */ FAMILY_SURVEY_CREATE), /* harmony export */ FAMILY_SURVEY_DELETE: () => (/* binding */ FAMILY_SURVEY_DELETE), /* harmony export */ FAMILY_SURVEY_UPDATE: () => (/* binding */ FAMILY_SURVEY_UPDATE), /* harmony export */ PROVINCES: () => (/* binding */ PROVINCES), /* harmony export */ TRANSPORTATION: () => (/* binding */ TRANSPORTATION), /* harmony export */ VILLAGE: () => (/* binding */ VILLAGE) /* harmony export */ }); var FAMILY_SURVEYS = 'family-survey/fetchAll'; var FAMILY_SURVEY = 'family-survey/fetchByID'; var FAMILY_SURVEY_CREATE = 'family-survey/create'; var FAMILY_SURVEY_UPDATE = 'family-survey/update'; var FAMILY_SURVEY_DELETE = 'family-survey/delete'; var PROVINCES = 'provinces/'; var DISTRICT = 'DISTRICT'; var COMMUNE = 'COMMUNE'; var VILLAGE = 'VILLAGE'; var TRANSPORTATION = 'TRANSPORTATION'; /***/ }), /***/ "./src/services/family_survey/core/reducer.ts": /*!****************************************************!*\ !*** ./src/services/family_survey/core/reducer.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ familiSurveySlice: () => (/* binding */ familiSurveySlice), /* harmony export */ setFamily: () => (/* binding */ setFamily), /* harmony export */ setsetFamilyErrorMessage: () => (/* binding */ setsetFamilyErrorMessage), /* harmony export */ setsetFamilyPending: () => (/* binding */ setsetFamilyPending) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/family_survey/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/family_survey/core/constants.ts"); /* eslint-disable no-console */ var initialState = { families: null, familySurvey: null, provinces: [], districts: [], communes: [], villages: [], transportations: [], registerPending: false, registerErrorMessage: '' }; var familiSurveySlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.FAMILY_SURVEY, initialState: initialState, reducers: { setFamily: function setFamily(state, action) { state.familySurvey = action.payload; }, setsetFamilyPending: function setsetFamilyPending(state, action) { state.registerPending = action.payload; }, setsetFamilyErrorMessage: function setsetFamilyErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { // Province builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchProvince.pending, function (state) { state.registerPending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchProvince.rejected, function (state, action) { state.registerPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch province.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchProvince.fulfilled, function (state, action) { state.provinces = action.payload; state.registerPending = false; }); // District builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDistrict.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDistrict.rejected, function (state) { state.registerPending = false; state.districts = []; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDistrict.fulfilled, function (state, action) { state.registerPending = false; state.districts = action.payload; }); // Commune builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchCommune.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchCommune.rejected, function (state) { state.registerPending = false; state.communes = []; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchCommune.fulfilled, function (state, action) { state.registerPending = false; state.communes = action.payload; }); // Village builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVillageService.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVillageService.rejected, function (state) { state.registerPending = false; state.villages = []; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVillageService.fulfilled, function (state, action) { state.registerPending = false; state.villages = action.payload; }); // Transportation builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTransportation.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTransportation.rejected, function (state) { state.registerPending = false; state.transportations = []; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTransportation.fulfilled, function (state, action) { state.registerPending = false; state.transportations = action.payload; }); // Family Survey Fetch builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFamilySurvey.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFamilySurvey.rejected, function (state) { state.registerPending = false; state.families = null; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFamilySurvey.fulfilled, function (state, action) { state.registerPending = false; state.families = action.payload; }); // Family Survey Detail builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.familyDetailAction.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.familyDetailAction.rejected, function (state) { state.registerPending = false; state.familySurvey = null; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.familyDetailAction.fulfilled, function (state, action) { state.registerPending = false; state.familySurvey = action.payload; }); // ✅ Handle Family Create builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFamilyAction.pending, function (state) { state.registerPending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFamilyAction.rejected, function (state, action) { state.registerPending = false; state.registerErrorMessage = action.error.message || 'Failed to create family.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFamilyAction.fulfilled, function (state, action) { state.familySurvey = action.payload; state.registerPending = false; state.registerErrorMessage = ''; }); // ✅ Handle Family Update builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFamilyAction.pending, function (state) { state.registerPending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFamilyAction.rejected, function (state, action) { state.registerPending = false; state.registerErrorMessage = action.error.message || 'Failed to update family.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFamilyAction.fulfilled, function (state, action) { state.familySurvey = action.payload; state.registerPending = false; state.registerErrorMessage = ''; }); // ✅ Handle Family delete builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFamilyAction.pending, function (state) { state.registerPending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFamilyAction.rejected, function (state, action) { state.registerPending = false; state.registerErrorMessage = action.error.message || 'Failed to delete family.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFamilyAction.fulfilled, function (state, action) { state.familySurvey = action.payload; state.registerPending = false; state.registerErrorMessage = ''; }); } }); var _familiSurveySlice$ac = familiSurveySlice.actions, setFamily = _familiSurveySlice$ac.setFamily, setsetFamilyPending = _familiSurveySlice$ac.setsetFamilyPending, setsetFamilyErrorMessage = _familiSurveySlice$ac.setsetFamilyErrorMessage; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (familiSurveySlice.reducer); /***/ }), /***/ "./src/services/family_survey/core/services.ts": /*!*****************************************************!*\ !*** ./src/services/family_survey/core/services.ts ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ communeService: () => (/* binding */ communeService), /* harmony export */ createFamilyService: () => (/* binding */ createFamilyService), /* harmony export */ deleteFamilyService: () => (/* binding */ deleteFamilyService), /* harmony export */ districtService: () => (/* binding */ districtService), /* harmony export */ familyDetailService: () => (/* binding */ familyDetailService), /* harmony export */ familyService: () => (/* binding */ familyService), /* harmony export */ provinceService: () => (/* binding */ provinceService), /* harmony export */ transportationService: () => (/* binding */ transportationService), /* harmony export */ updateFamilyService: () => (/* binding */ updateFamilyService), /* harmony export */ villageService: () => (/* binding */ villageService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } var provinceService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)('https://phumiapi.joonaakhub.com/provinces'); case 1: return _context.a(2, _context.v); } }, _callee); })); return function provinceService() { return _ref.apply(this, arguments); }; }(); var districtService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(provinceId) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("https://phumiapi.joonaakhub.com/districts/".concat(provinceId)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function districtService(_x) { return _ref2.apply(this, arguments); }; }(); var communeService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(districtId) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: _context3.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("https://phumiapi.joonaakhub.com/communes/".concat(districtId)); case 1: return _context3.a(2, _context3.v); } }, _callee3); })); return function communeService(_x2) { return _ref3.apply(this, arguments); }; }(); var villageService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(communeId) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: _context4.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("https://phumiapi.joonaakhub.com/villages/".concat(communeId)); case 1: return _context4.a(2, _context4.v); } }, _callee4); })); return function villageService(_x3) { return _ref4.apply(this, arguments); }; }(); var transportationService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRANSPORTATIONS); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function transportationService() { return _ref5.apply(this, arguments); }; }(); var familyService = /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(search, page, pageSize, gender, total_member, age, village, commune, district, province) { return _regenerator().w(function (_context6) { while (1) switch (_context6.n) { case 0: _context6.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES, { search: search, page: page, pageSize: pageSize, gender: gender, total_member: total_member, age: age, village: village, commune: commune, district: district, province: province }); case 1: return _context6.a(2, _context6.v); } }, _callee6); })); return function familyService(_x4, _x5, _x6, _x7, _x8, _x9, _x0, _x1, _x10, _x11) { return _ref6.apply(this, arguments); }; }(); var familyDetailService = /*#__PURE__*/function () { var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(id) { return _regenerator().w(function (_context7) { while (1) switch (_context7.n) { case 0: _context7.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES).concat(id)); case 1: return _context7.a(2, _context7.v); } }, _callee7); })); return function familyDetailService(_x12) { return _ref7.apply(this, arguments); }; }(); var createFamilyService = /*#__PURE__*/function () { var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(data) { return _regenerator().w(function (_context8) { while (1) switch (_context8.n) { case 0: return _context8.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES), data)); } }, _callee8); })); return function createFamilyService(_x13) { return _ref8.apply(this, arguments); }; }(); var updateFamilyService = /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(id, data) { return _regenerator().w(function (_context9) { while (1) switch (_context9.n) { case 0: return _context9.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES).concat(id), data)); } }, _callee9); })); return function updateFamilyService(_x14, _x15) { return _ref9.apply(this, arguments); }; }(); var deleteFamilyService = /*#__PURE__*/function () { var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0(id) { return _regenerator().w(function (_context0) { while (1) switch (_context0.n) { case 0: _context0.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES).concat(id)); case 1: return _context0.a(2, _context0.v); } }, _callee0); })); return function deleteFamilyService(_x16) { return _ref0.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/food/core/actions.ts": /*!*******************************************!*\ !*** ./src/services/food/core/actions.ts ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createFoodAction: () => (/* binding */ createFoodAction), /* harmony export */ deleteFoodAction: () => (/* binding */ deleteFoodAction), /* harmony export */ fetchFoods: () => (/* binding */ fetchFoods), /* harmony export */ foodDetailAction: () => (/* binding */ foodDetailAction), /* harmony export */ updateFoodAction: () => (/* binding */ updateFoodAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/food/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/food/core/services.ts"); 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); }); }; } var fetchFoods = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOODS, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.foodsService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch foods")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var foodDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOOD, _services__WEBPACK_IMPORTED_MODULE_2__.foodDetailService); var createFoodAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOOD_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createFoodService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create food")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateFoodAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOOD_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateFoodService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update food")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteFoodAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOOD_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteFoodService); /***/ }), /***/ "./src/services/food/core/constants.ts": /*!*********************************************!*\ !*** ./src/services/food/core/constants.ts ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ FOOD: () => (/* binding */ FOOD), /* harmony export */ FOODS: () => (/* binding */ FOODS), /* harmony export */ FOOD_CREATE: () => (/* binding */ FOOD_CREATE), /* harmony export */ FOOD_DELETE: () => (/* binding */ FOOD_DELETE), /* harmony export */ FOOD_UPDATE: () => (/* binding */ FOOD_UPDATE) /* harmony export */ }); var FOODS = 'foods/fetchAll'; var FOOD = 'foods/fetchByID'; var FOOD_CREATE = 'foods/create'; var FOOD_UPDATE = 'foods/update'; var FOOD_DELETE = 'foods/delete'; /***/ }), /***/ "./src/services/food/core/reducer.ts": /*!*******************************************!*\ !*** ./src/services/food/core/reducer.ts ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ foodSlice: () => (/* binding */ foodSlice), /* harmony export */ setFood: () => (/* binding */ setFood), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/food/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/food/core/constants.ts"); /* eslint-disable no-console */ var initialState = { foods: [], food: null, foodsPending: false, foodDetailPending: false, foodCreatePending: false, foodUpdatePending: false, foodDeletePending: false, registerErrorMessage: '' }; var foodSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.FOOD, initialState: initialState, reducers: { // Sets the current food setFood: function setFood(state, action) { state.food = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle food .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFoods.pending, function (state) { state.foodsPending = true; state.registerErrorMessage = ''; }) // Handles rejected foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFoods.rejected, function (state, action) { state.foodsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch foods.'; }) // Handles fulfilled foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFoods.fulfilled, function (state, action) { var payload = action.payload; state.foods = payload; state.foodsPending = false; state.registerErrorMessage = ''; }) // handle food detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.foodDetailAction.pending, function (state) { state.foodDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.foodDetailAction.rejected, function (state, action) { state.foodDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch foods.'; }) // Handles fulfilled foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.foodDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.food = payload; state.foodDetailPending = false; state.registerErrorMessage = ''; }) // handle food create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFoodAction.pending, function (state) { state.foodUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFoodAction.rejected, function (state, action) { state.foodUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create foods.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFoodAction.fulfilled, function (state, action) { state.food = action.payload; state.foodUpdatePending = false; state.registerErrorMessage = ''; }) // handle food update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFoodAction.pending, function (state) { state.foodUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFoodAction.rejected, function (state, action) { state.foodUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update foods.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFoodAction.fulfilled, function (state, action) { state.food = action.payload; state.foodUpdatePending = false; state.registerErrorMessage = ''; }) // handle food delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFoodAction.pending, function (state) { state.foodUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFoodAction.rejected, function (state, action) { state.foodUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete foods.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFoodAction.fulfilled, function (state, action) { state.food = action.payload; state.foodUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _foodSlice$actions = foodSlice.actions, setRegisterErrorMessage = _foodSlice$actions.setRegisterErrorMessage, setFood = _foodSlice$actions.setFood; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (foodSlice.reducer); /***/ }), /***/ "./src/services/food/core/services.ts": /*!********************************************!*\ !*** ./src/services/food/core/services.ts ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createFoodService: () => (/* binding */ createFoodService), /* harmony export */ deleteFoodService: () => (/* binding */ deleteFoodService), /* harmony export */ foodDetailService: () => (/* binding */ foodDetailService), /* harmony export */ foodsService: () => (/* binding */ foodsService), /* harmony export */ updateFoodService: () => (/* binding */ updateFoodService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } var foodsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function foodsService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var foodDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function foodDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createFoodService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD), data)); } }, _callee3); })); return function createFoodService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateFoodService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD).concat(id), data)); } }, _callee4); })); return function updateFoodService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteFoodService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteFoodService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/interested_team/core/actions.ts": /*!******************************************************!*\ !*** ./src/services/interested_team/core/actions.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createInterestedTeamAction: () => (/* binding */ createInterestedTeamAction), /* harmony export */ deleteInterestedTeamAction: () => (/* binding */ deleteInterestedTeamAction), /* harmony export */ fetchInterestedTeams: () => (/* binding */ fetchInterestedTeams), /* harmony export */ interestedTeamDetailAction: () => (/* binding */ interestedTeamDetailAction), /* harmony export */ updateInterestedTeamAction: () => (/* binding */ updateInterestedTeamAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/interested_team/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/interested_team/core/services.ts"); 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); }); }; } var fetchInterestedTeams = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAMS, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, event_ids, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize, event_ids = _ref.event_ids; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.interestedTeamsService)(search, page, pageSize, event_ids); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch interested teams")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var interestedTeamDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAM, _services__WEBPACK_IMPORTED_MODULE_2__.interestedTeamDetailService); var createInterestedTeamAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAM_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createInterestedTeamService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create interested team")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateInterestedTeamAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAM_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateInterestedTeamService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update interested team")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteInterestedTeamAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAM_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteInterestedTeamService); /***/ }), /***/ "./src/services/interested_team/core/constants.ts": /*!********************************************************!*\ !*** ./src/services/interested_team/core/constants.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ INTERESTED_TEAM: () => (/* binding */ INTERESTED_TEAM), /* harmony export */ INTERESTED_TEAMS: () => (/* binding */ INTERESTED_TEAMS), /* harmony export */ INTERESTED_TEAM_CREATE: () => (/* binding */ INTERESTED_TEAM_CREATE), /* harmony export */ INTERESTED_TEAM_DELETE: () => (/* binding */ INTERESTED_TEAM_DELETE), /* harmony export */ INTERESTED_TEAM_UPDATE: () => (/* binding */ INTERESTED_TEAM_UPDATE) /* harmony export */ }); var INTERESTED_TEAMS = 'interested-teams/fetchAll'; var INTERESTED_TEAM = 'interested-teams/fetchByID'; var INTERESTED_TEAM_CREATE = 'interested-teams/create'; var INTERESTED_TEAM_UPDATE = 'interested-teams/update'; var INTERESTED_TEAM_DELETE = 'interested-teams/delete'; /***/ }), /***/ "./src/services/interested_team/core/reducer.ts": /*!******************************************************!*\ !*** ./src/services/interested_team/core/reducer.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ interestedTeamSlice: () => (/* binding */ interestedTeamSlice), /* harmony export */ setInterestedTeam: () => (/* binding */ setInterestedTeam), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/interested_team/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/interested_team/core/constants.ts"); /* eslint-disable no-console */ var initialState = { interestedTeams: [], interestedTeam: null, interestedTeamsPending: false, interestedTeamDetailPending: false, interestedTeamCreatePending: false, interestedTeamUpdatePending: false, interestedTeamDeletePending: false, registerErrorMessage: '' }; var interestedTeamSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.INTERESTED_TEAM, initialState: initialState, reducers: { // Sets the current interestedTeam setInterestedTeam: function setInterestedTeam(state, action) { state.interestedTeam = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle interested team .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchInterestedTeams.pending, function (state) { state.interestedTeamsPending = true; state.registerErrorMessage = ''; }) // Handles rejected interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchInterestedTeams.rejected, function (state, action) { state.interestedTeamsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch interested teams.'; }) // Handles fulfilled interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchInterestedTeams.fulfilled, function (state, action) { var payload = action.payload; state.interestedTeams = payload; state.interestedTeamsPending = false; state.registerErrorMessage = ''; }) // handle interested team detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.interestedTeamDetailAction.pending, function (state) { state.interestedTeamDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.interestedTeamDetailAction.rejected, function (state, action) { state.interestedTeamDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch interested teams.'; }) // Handles fulfilled interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.interestedTeamDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.interestedTeam = payload; state.interestedTeamDetailPending = false; state.registerErrorMessage = ''; }) // handle interestedTeam create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createInterestedTeamAction.pending, function (state) { state.interestedTeamUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createInterestedTeamAction.rejected, function (state, action) { state.interestedTeamUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create interested teams.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createInterestedTeamAction.fulfilled, function (state, action) { state.interestedTeam = action.payload; state.interestedTeamUpdatePending = false; state.registerErrorMessage = ''; }) // handle interestedTeam update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateInterestedTeamAction.pending, function (state) { state.interestedTeamUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateInterestedTeamAction.rejected, function (state, action) { state.interestedTeamUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update interested teams.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateInterestedTeamAction.fulfilled, function (state, action) { state.interestedTeam = action.payload; state.interestedTeamUpdatePending = false; state.registerErrorMessage = ''; }) // handle interestedTeam delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteInterestedTeamAction.pending, function (state) { state.interestedTeamUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteInterestedTeamAction.rejected, function (state, action) { state.interestedTeamUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete interested teams.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteInterestedTeamAction.fulfilled, function (state, action) { state.interestedTeam = action.payload; state.interestedTeamUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _interestedTeamSlice$ = interestedTeamSlice.actions, setRegisterErrorMessage = _interestedTeamSlice$.setRegisterErrorMessage, setInterestedTeam = _interestedTeamSlice$.setInterestedTeam; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (interestedTeamSlice.reducer); /***/ }), /***/ "./src/services/interested_team/core/services.ts": /*!*******************************************************!*\ !*** ./src/services/interested_team/core/services.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createInterestedTeamService: () => (/* binding */ createInterestedTeamService), /* harmony export */ deleteInterestedTeamService: () => (/* binding */ deleteInterestedTeamService), /* harmony export */ interestedTeamDetailService: () => (/* binding */ interestedTeamDetailService), /* harmony export */ interestedTeamsService: () => (/* binding */ interestedTeamsService), /* harmony export */ updateInterestedTeamService: () => (/* binding */ updateInterestedTeamService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } var interestedTeamsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize, event_ids) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM, { search: search, page: page, pageSize: pageSize, event_ids: event_ids }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function interestedTeamsService(_x, _x2, _x3, _x4) { return _ref.apply(this, arguments); }; }(); var interestedTeamDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function interestedTeamDetailService(_x5) { return _ref2.apply(this, arguments); }; }(); var createInterestedTeamService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM), data)); } }, _callee3); })); return function createInterestedTeamService(_x6) { return _ref3.apply(this, arguments); }; }(); var updateInterestedTeamService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM).concat(id), data)); } }, _callee4); })); return function updateInterestedTeamService(_x7, _x8) { return _ref4.apply(this, arguments); }; }(); var deleteInterestedTeamService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteInterestedTeamService(_x9) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/language/core/actions.ts": /*!***********************************************!*\ !*** ./src/services/language/core/actions.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createLanguageAction: () => (/* binding */ createLanguageAction), /* harmony export */ deleteLanguageAction: () => (/* binding */ deleteLanguageAction), /* harmony export */ fetchLanguages: () => (/* binding */ fetchLanguages), /* harmony export */ languageDetailAction: () => (/* binding */ languageDetailAction), /* harmony export */ updateLanguageAction: () => (/* binding */ updateLanguageAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/language/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/language/core/services.ts"); 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); }); }; } var fetchLanguages = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGES, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.languagesService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch languages")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var languageDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGE, _services__WEBPACK_IMPORTED_MODULE_2__.languageDetailService); var createLanguageAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGE_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createLanguageService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create language")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateLanguageAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGE_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateLanguageService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update language")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteLanguageAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGE_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteLanguageService); /***/ }), /***/ "./src/services/language/core/constants.ts": /*!*************************************************!*\ !*** ./src/services/language/core/constants.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ LANGUAGE: () => (/* binding */ LANGUAGE), /* harmony export */ LANGUAGES: () => (/* binding */ LANGUAGES), /* harmony export */ LANGUAGE_CREATE: () => (/* binding */ LANGUAGE_CREATE), /* harmony export */ LANGUAGE_DELETE: () => (/* binding */ LANGUAGE_DELETE), /* harmony export */ LANGUAGE_UPDATE: () => (/* binding */ LANGUAGE_UPDATE) /* harmony export */ }); var LANGUAGES = 'languages/fetchAll'; var LANGUAGE = 'languages/fetchByID'; var LANGUAGE_CREATE = 'languages/create'; var LANGUAGE_UPDATE = 'languages/update'; var LANGUAGE_DELETE = 'languages/delete'; /***/ }), /***/ "./src/services/language/core/reducer.ts": /*!***********************************************!*\ !*** ./src/services/language/core/reducer.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ languageSlice: () => (/* binding */ languageSlice), /* harmony export */ setLanguage: () => (/* binding */ setLanguage), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/language/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/language/core/constants.ts"); /* eslint-disable no-console */ var initialState = { languages: [], language: null, languagesPending: false, languageDetailPending: false, languageCreatePending: false, languageUpdatePending: false, languageDeletePending: false, registerErrorMessage: '' }; var languageSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.LANGUAGE, initialState: initialState, reducers: { // Sets the current language setLanguage: function setLanguage(state, action) { state.language = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle language .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchLanguages.pending, function (state) { state.languagesPending = true; state.registerErrorMessage = ''; }) // Handles rejected languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchLanguages.rejected, function (state, action) { state.languagesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch languages.'; }) // Handles fulfilled languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchLanguages.fulfilled, function (state, action) { var payload = action.payload; state.languages = payload; state.languagesPending = false; state.registerErrorMessage = ''; }) // handle language detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.languageDetailAction.pending, function (state) { state.languageDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.languageDetailAction.rejected, function (state, action) { state.languageDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch languages.'; }) // Handles fulfilled languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.languageDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.language = payload; state.languageDetailPending = false; state.registerErrorMessage = ''; }) // handle language create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createLanguageAction.pending, function (state) { state.languageUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createLanguageAction.rejected, function (state, action) { state.languageUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create languages.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createLanguageAction.fulfilled, function (state, action) { state.language = action.payload; state.languageUpdatePending = false; state.registerErrorMessage = ''; }) // handle language update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateLanguageAction.pending, function (state) { state.languageUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateLanguageAction.rejected, function (state, action) { state.languageUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update languages.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateLanguageAction.fulfilled, function (state, action) { state.language = action.payload; state.languageUpdatePending = false; state.registerErrorMessage = ''; }) // handle language delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteLanguageAction.pending, function (state) { state.languageUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteLanguageAction.rejected, function (state, action) { state.languageUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete languages.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteLanguageAction.fulfilled, function (state, action) { state.language = action.payload; state.languageUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _languageSlice$action = languageSlice.actions, setRegisterErrorMessage = _languageSlice$action.setRegisterErrorMessage, setLanguage = _languageSlice$action.setLanguage; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (languageSlice.reducer); /***/ }), /***/ "./src/services/language/core/services.ts": /*!************************************************!*\ !*** ./src/services/language/core/services.ts ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createLanguageService: () => (/* binding */ createLanguageService), /* harmony export */ deleteLanguageService: () => (/* binding */ deleteLanguageService), /* harmony export */ languageDetailService: () => (/* binding */ languageDetailService), /* harmony export */ languagesService: () => (/* binding */ languagesService), /* harmony export */ updateLanguageService: () => (/* binding */ updateLanguageService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } var languagesService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function languagesService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var languageDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function languageDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createLanguageService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE), data)); } }, _callee3); })); return function createLanguageService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateLanguageService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE).concat(id), data)); } }, _callee4); })); return function updateLanguageService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteLanguageService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteLanguageService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/occupation/core/actions.ts": /*!*************************************************!*\ !*** ./src/services/occupation/core/actions.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOccupationAction: () => (/* binding */ createOccupationAction), /* harmony export */ deleteOccupationAction: () => (/* binding */ deleteOccupationAction), /* harmony export */ fetchOccupations: () => (/* binding */ fetchOccupations), /* harmony export */ occupationDetailAction: () => (/* binding */ occupationDetailAction), /* harmony export */ updateOccupationAction: () => (/* binding */ updateOccupationAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/occupation/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/occupation/core/services.ts"); 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); }); }; } var fetchOccupations = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATIONS, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.occupationsService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch occupation services")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var occupationDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATION, _services__WEBPACK_IMPORTED_MODULE_2__.occupationDetailService); var createOccupationAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATION_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createOccupationService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create occupation")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateOccupationAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATION_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateOccupationService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update occupation")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteOccupationAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATION_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteOccupationService); /***/ }), /***/ "./src/services/occupation/core/constants.ts": /*!***************************************************!*\ !*** ./src/services/occupation/core/constants.ts ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ OCCUPATION: () => (/* binding */ OCCUPATION), /* harmony export */ OCCUPATIONS: () => (/* binding */ OCCUPATIONS), /* harmony export */ OCCUPATION_CREATE: () => (/* binding */ OCCUPATION_CREATE), /* harmony export */ OCCUPATION_DELETE: () => (/* binding */ OCCUPATION_DELETE), /* harmony export */ OCCUPATION_UPDATE: () => (/* binding */ OCCUPATION_UPDATE) /* harmony export */ }); var OCCUPATIONS = 'occupations/fetchAll'; var OCCUPATION = 'occupations/fetchByID'; var OCCUPATION_CREATE = 'occupations/create'; var OCCUPATION_UPDATE = 'occupations/update'; var OCCUPATION_DELETE = 'occupations/delete'; /***/ }), /***/ "./src/services/occupation/core/reducer.ts": /*!*************************************************!*\ !*** ./src/services/occupation/core/reducer.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ occupationSlice: () => (/* binding */ occupationSlice), /* harmony export */ setOccupation: () => (/* binding */ setOccupation), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/occupation/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/occupation/core/constants.ts"); /* eslint-disable no-console */ var initialState = { occupations: [], occupation: null, occupationsPending: false, occupationDetailPending: false, occupationCreatePending: false, occupationUpdatePending: false, occupationDeletePending: false, registerErrorMessage: '' }; var occupationSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.OCCUPATION, initialState: initialState, reducers: { // Sets the current occupation setOccupation: function setOccupation(state, action) { state.occupation = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle occupation .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOccupations.pending, function (state) { state.occupationsPending = true; state.registerErrorMessage = ''; }) // Handles rejected occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOccupations.rejected, function (state, action) { state.occupationsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch occupations.'; }) // Handles fulfilled occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOccupations.fulfilled, function (state, action) { var payload = action.payload; state.occupations = payload; state.occupationsPending = false; state.registerErrorMessage = ''; }) // handle occupation detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.occupationDetailAction.pending, function (state) { state.occupationDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.occupationDetailAction.rejected, function (state, action) { state.occupationDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch occupations.'; }) // Handles fulfilled occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.occupationDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.occupation = payload; state.occupationDetailPending = false; state.registerErrorMessage = ''; }) // handle occupation create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOccupationAction.pending, function (state) { state.occupationUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOccupationAction.rejected, function (state, action) { state.occupationUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create occupations.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOccupationAction.fulfilled, function (state, action) { state.occupation = action.payload; state.occupationUpdatePending = false; state.registerErrorMessage = ''; }) // handle occupation update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOccupationAction.pending, function (state) { state.occupationUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOccupationAction.rejected, function (state, action) { state.occupationUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update occupations.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOccupationAction.fulfilled, function (state, action) { state.occupation = action.payload; state.occupationUpdatePending = false; state.registerErrorMessage = ''; }) // handle occupation delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOccupationAction.pending, function (state) { state.occupationUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOccupationAction.rejected, function (state, action) { state.occupationUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete occupations.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOccupationAction.fulfilled, function (state, action) { state.occupation = action.payload; state.occupationUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _occupationSlice$acti = occupationSlice.actions, setRegisterErrorMessage = _occupationSlice$acti.setRegisterErrorMessage, setOccupation = _occupationSlice$acti.setOccupation; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (occupationSlice.reducer); /***/ }), /***/ "./src/services/occupation/core/services.ts": /*!**************************************************!*\ !*** ./src/services/occupation/core/services.ts ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOccupationService: () => (/* binding */ createOccupationService), /* harmony export */ deleteOccupationService: () => (/* binding */ deleteOccupationService), /* harmony export */ occupationDetailService: () => (/* binding */ occupationDetailService), /* harmony export */ occupationsService: () => (/* binding */ occupationsService), /* harmony export */ updateOccupationService: () => (/* binding */ updateOccupationService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } var occupationsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function occupationsService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var occupationDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function occupationDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createOccupationService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION), data)); } }, _callee3); })); return function createOccupationService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateOccupationService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION).concat(id), data)); } }, _callee4); })); return function updateOccupationService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteOccupationService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteOccupationService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/offer_program/core/actions.ts": /*!****************************************************!*\ !*** ./src/services/offer_program/core/actions.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOfferProgramAction: () => (/* binding */ createOfferProgramAction), /* harmony export */ deleteOfferProgramAction: () => (/* binding */ deleteOfferProgramAction), /* harmony export */ fetchOfferPrograms: () => (/* binding */ fetchOfferPrograms), /* harmony export */ offerProgramDetailAction: () => (/* binding */ offerProgramDetailAction), /* harmony export */ updateOfferProgramAction: () => (/* binding */ updateOfferProgramAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/offer_program/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/offer_program/core/services.ts"); 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); }); }; } var fetchOfferPrograms = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAMS, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, event_ids, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize, event_ids = _ref.event_ids; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.offerProgramsService)(search, page, pageSize, event_ids); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch offer programs")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var offerProgramDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAM, _services__WEBPACK_IMPORTED_MODULE_2__.offerProgramDetailService); var createOfferProgramAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAM_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createOfferProgramService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create offer program")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateOfferProgramAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAM_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateOfferProgramService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update offer program")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteOfferProgramAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAM_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteOfferProgramService); /***/ }), /***/ "./src/services/offer_program/core/constants.ts": /*!******************************************************!*\ !*** ./src/services/offer_program/core/constants.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ OFFER_PROGRAM: () => (/* binding */ OFFER_PROGRAM), /* harmony export */ OFFER_PROGRAMS: () => (/* binding */ OFFER_PROGRAMS), /* harmony export */ OFFER_PROGRAM_CREATE: () => (/* binding */ OFFER_PROGRAM_CREATE), /* harmony export */ OFFER_PROGRAM_DELETE: () => (/* binding */ OFFER_PROGRAM_DELETE), /* harmony export */ OFFER_PROGRAM_UPDATE: () => (/* binding */ OFFER_PROGRAM_UPDATE) /* harmony export */ }); var OFFER_PROGRAMS = 'offer-programs/fetchAll'; var OFFER_PROGRAM = 'offer-programs/fetchByID'; var OFFER_PROGRAM_CREATE = 'offer-programs/create'; var OFFER_PROGRAM_UPDATE = 'offer-programs/update'; var OFFER_PROGRAM_DELETE = 'offer-programs/delete'; /***/ }), /***/ "./src/services/offer_program/core/reducer.ts": /*!****************************************************!*\ !*** ./src/services/offer_program/core/reducer.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ offerProgramSlice: () => (/* binding */ offerProgramSlice), /* harmony export */ setOfferProgram: () => (/* binding */ setOfferProgram), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/offer_program/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/offer_program/core/constants.ts"); /* eslint-disable no-console */ var initialState = { offerPrograms: [], offerProgram: null, offerProgramsPending: false, offerProgramDetailPending: false, offerProgramCreatePending: false, offerProgramUpdatePending: false, offerProgramDeletePending: false, registerErrorMessage: '' }; var offerProgramSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.OFFER_PROGRAM, initialState: initialState, reducers: { // Sets the current offerProgram setOfferProgram: function setOfferProgram(state, action) { state.offerProgram = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle offer program .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOfferPrograms.pending, function (state) { state.offerProgramsPending = true; state.registerErrorMessage = ''; }) // Handles rejected offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOfferPrograms.rejected, function (state, action) { state.offerProgramsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch offer programs.'; }) // Handles fulfilled offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOfferPrograms.fulfilled, function (state, action) { var payload = action.payload; state.offerPrograms = payload; state.offerProgramsPending = false; state.registerErrorMessage = ''; }) // handle offer program detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.offerProgramDetailAction.pending, function (state) { state.offerProgramDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.offerProgramDetailAction.rejected, function (state, action) { state.offerProgramDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch offer programs.'; }) // Handles fulfilled offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.offerProgramDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.offerProgram = payload; state.offerProgramDetailPending = false; state.registerErrorMessage = ''; }) // handle offerProgram create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOfferProgramAction.pending, function (state) { state.offerProgramUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOfferProgramAction.rejected, function (state, action) { state.offerProgramUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create offer programs.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOfferProgramAction.fulfilled, function (state, action) { state.offerProgram = action.payload; state.offerProgramUpdatePending = false; state.registerErrorMessage = ''; }) // handle offerProgram update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOfferProgramAction.pending, function (state) { state.offerProgramUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOfferProgramAction.rejected, function (state, action) { state.offerProgramUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update offer programs.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOfferProgramAction.fulfilled, function (state, action) { state.offerProgram = action.payload; state.offerProgramUpdatePending = false; state.registerErrorMessage = ''; }) // handle offerProgram delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOfferProgramAction.pending, function (state) { state.offerProgramUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOfferProgramAction.rejected, function (state, action) { state.offerProgramUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete offer programs.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOfferProgramAction.fulfilled, function (state, action) { state.offerProgram = action.payload; state.offerProgramUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _offerProgramSlice$ac = offerProgramSlice.actions, setRegisterErrorMessage = _offerProgramSlice$ac.setRegisterErrorMessage, setOfferProgram = _offerProgramSlice$ac.setOfferProgram; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (offerProgramSlice.reducer); /***/ }), /***/ "./src/services/offer_program/core/services.ts": /*!*****************************************************!*\ !*** ./src/services/offer_program/core/services.ts ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOfferProgramService: () => (/* binding */ createOfferProgramService), /* harmony export */ deleteOfferProgramService: () => (/* binding */ deleteOfferProgramService), /* harmony export */ offerProgramDetailService: () => (/* binding */ offerProgramDetailService), /* harmony export */ offerProgramsService: () => (/* binding */ offerProgramsService), /* harmony export */ updateOfferProgramService: () => (/* binding */ updateOfferProgramService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } var offerProgramsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize, event_ids) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM, { search: search, page: page, pageSize: pageSize, event_ids: event_ids }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function offerProgramsService(_x, _x2, _x3, _x4) { return _ref.apply(this, arguments); }; }(); var offerProgramDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function offerProgramDetailService(_x5) { return _ref2.apply(this, arguments); }; }(); var createOfferProgramService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM), data)); } }, _callee3); })); return function createOfferProgramService(_x6) { return _ref3.apply(this, arguments); }; }(); var updateOfferProgramService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM).concat(id), data)); } }, _callee4); })); return function updateOfferProgramService(_x7, _x8) { return _ref4.apply(this, arguments); }; }(); var deleteOfferProgramService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteOfferProgramService(_x9) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/opportunity_source/core/actions.ts": /*!*********************************************************!*\ !*** ./src/services/opportunity_source/core/actions.ts ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOpportunitySourceAction: () => (/* binding */ createOpportunitySourceAction), /* harmony export */ deleteOpportunitySourceAction: () => (/* binding */ deleteOpportunitySourceAction), /* harmony export */ fetchOpportunitySources: () => (/* binding */ fetchOpportunitySources), /* harmony export */ opportunitySourceDetailAction: () => (/* binding */ opportunitySourceDetailAction), /* harmony export */ updateOpportunitySourceAction: () => (/* binding */ updateOpportunitySourceAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/opportunity_source/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/opportunity_source/core/services.ts"); 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); }); }; } var fetchOpportunitySources = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCES, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var search, page, pageSize, rejectWithValue, response, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: search = _ref.search, page = _ref.page, pageSize = _ref.pageSize; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.opportunitySourcesService)(search, page, pageSize); case 2: response = _context.v; return _context.a(2, response); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed to fetch opportunity source")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var opportunitySourceDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCE, _services__WEBPACK_IMPORTED_MODULE_2__.opportunitySourceDetailService); var createOpportunitySourceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCE_CREATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createOpportunitySourceService)(data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to create opportunity source")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var updateOpportunitySourceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCE_UPDATE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, data, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id, data = _ref7.data; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateOpportunitySourceService)(id, data); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 || (_error$response3 = _error$response3.data) === null || _error$response3 === void 0 ? void 0 : _error$response3.message) || "Failed to update opportunity source")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var deleteOpportunitySourceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCE_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteOpportunitySourceService); /***/ }), /***/ "./src/services/opportunity_source/core/constants.ts": /*!***********************************************************!*\ !*** ./src/services/opportunity_source/core/constants.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ OPPORTUNITY_SOURCE: () => (/* binding */ OPPORTUNITY_SOURCE), /* harmony export */ OPPORTUNITY_SOURCES: () => (/* binding */ OPPORTUNITY_SOURCES), /* harmony export */ OPPORTUNITY_SOURCE_CREATE: () => (/* binding */ OPPORTUNITY_SOURCE_CREATE), /* harmony export */ OPPORTUNITY_SOURCE_DELETE: () => (/* binding */ OPPORTUNITY_SOURCE_DELETE), /* harmony export */ OPPORTUNITY_SOURCE_UPDATE: () => (/* binding */ OPPORTUNITY_SOURCE_UPDATE) /* harmony export */ }); var OPPORTUNITY_SOURCES = 'opportunity-sources/fetchAll'; var OPPORTUNITY_SOURCE = 'opportunity-sources/fetchByID'; var OPPORTUNITY_SOURCE_CREATE = 'opportunity-sources/create'; var OPPORTUNITY_SOURCE_UPDATE = 'opportunity-sources/update'; var OPPORTUNITY_SOURCE_DELETE = 'opportunity-sources/delete'; /***/ }), /***/ "./src/services/opportunity_source/core/reducer.ts": /*!*********************************************************!*\ !*** ./src/services/opportunity_source/core/reducer.ts ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ opportunitySourceSlice: () => (/* binding */ opportunitySourceSlice), /* harmony export */ setOpportunitySource: () => (/* binding */ setOpportunitySource), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/opportunity_source/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/opportunity_source/core/constants.ts"); /* eslint-disable no-console */ var initialState = { opportunitySources: [], opportunitySource: null, opportunitySourcesPending: false, opportunitySourceDetailPending: false, opportunitySourceCreatePending: false, opportunitySourceUpdatePending: false, opportunitySourceDeletePending: false, registerErrorMessage: '' }; var opportunitySourceSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.OPPORTUNITY_SOURCE, initialState: initialState, reducers: { // Sets the current opportunitySource setOpportunitySource: function setOpportunitySource(state, action) { state.opportunitySource = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle opportunity source .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOpportunitySources.pending, function (state) { state.opportunitySourcesPending = true; state.registerErrorMessage = ''; }) // Handles rejected opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOpportunitySources.rejected, function (state, action) { state.opportunitySourcesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch opportunity sources.'; }) // Handles fulfilled opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOpportunitySources.fulfilled, function (state, action) { var payload = action.payload; state.opportunitySources = payload; state.opportunitySourcesPending = false; state.registerErrorMessage = ''; }) // handle opportunity source detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.opportunitySourceDetailAction.pending, function (state) { state.opportunitySourceDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.opportunitySourceDetailAction.rejected, function (state, action) { state.opportunitySourceDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch opportunity sources.'; }) // Handles fulfilled opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.opportunitySourceDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.opportunitySource = payload; state.opportunitySourceDetailPending = false; state.registerErrorMessage = ''; }) // handle opportunitySource create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOpportunitySourceAction.pending, function (state) { state.opportunitySourceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOpportunitySourceAction.rejected, function (state, action) { state.opportunitySourceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create opportunity sources.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOpportunitySourceAction.fulfilled, function (state, action) { state.opportunitySource = action.payload; state.opportunitySourceUpdatePending = false; state.registerErrorMessage = ''; }) // handle opportunitySource update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOpportunitySourceAction.pending, function (state) { state.opportunitySourceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOpportunitySourceAction.rejected, function (state, action) { state.opportunitySourceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update opportunity sources.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOpportunitySourceAction.fulfilled, function (state, action) { state.opportunitySource = action.payload; state.opportunitySourceUpdatePending = false; state.registerErrorMessage = ''; }) // handle opportunitySource delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOpportunitySourceAction.pending, function (state) { state.opportunitySourceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOpportunitySourceAction.rejected, function (state, action) { state.opportunitySourceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete opportunity sources.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOpportunitySourceAction.fulfilled, function (state, action) { state.opportunitySource = action.payload; state.opportunitySourceUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _opportunitySourceSli = opportunitySourceSlice.actions, setRegisterErrorMessage = _opportunitySourceSli.setRegisterErrorMessage, setOpportunitySource = _opportunitySourceSli.setOpportunitySource; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (opportunitySourceSlice.reducer); /***/ }), /***/ "./src/services/opportunity_source/core/services.ts": /*!**********************************************************!*\ !*** ./src/services/opportunity_source/core/services.ts ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOpportunitySourceService: () => (/* binding */ createOpportunitySourceService), /* harmony export */ deleteOpportunitySourceService: () => (/* binding */ deleteOpportunitySourceService), /* harmony export */ opportunitySourceDetailService: () => (/* binding */ opportunitySourceDetailService), /* harmony export */ opportunitySourcesService: () => (/* binding */ opportunitySourcesService), /* harmony export */ updateOpportunitySourceService: () => (/* binding */ updateOpportunitySourceService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); 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); }); }; } var opportunitySourcesService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(search, page, pageSize) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE, { search: search, page: page, pageSize: pageSize }); case 1: return _context.a(2, _context.v); } }, _callee); })); return function opportunitySourcesService(_x, _x2, _x3) { return _ref.apply(this, arguments); }; }(); var opportunitySourceDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function opportunitySourceDetailService(_x4) { return _ref2.apply(this, arguments); }; }(); var createOpportunitySourceService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE), data)); } }, _callee3); })); return function createOpportunitySourceService(_x5) { return _ref3.apply(this, arguments); }; }(); var updateOpportunitySourceService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE).concat(id), data)); } }, _callee4); })); return function updateOpportunitySourceService(_x6, _x7) { return _ref4.apply(this, arguments); }; }(); var deleteOpportunitySourceService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteOpportunitySourceService(_x8) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "?4860": /*!********************************!*\ !*** ./util.inspect (ignored) ***! \********************************/ /***/ (() => { /* (ignored) */ /***/ }) }]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1pLnZvbHVudGVlcmFwaS5kODFlNDg2NTIxMGZkZTJlMTYwYi5idW5kbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ21IO0FBQ2pCO0FBQ087QUFDekcsNENBQTRDLDJKQUEwRDtBQUN0Ryw0Q0FBNEMsaUtBQTZEO0FBQ3pHLDRDQUE0QywyTEFBMEU7QUFDdEgsNENBQTRDLDJJQUFrRDtBQUM5Riw4QkFBOEIsbUZBQTJCLENBQUMsNEZBQXFDO0FBQy9GLHlDQUF5QyxzRkFBK0I7QUFDeEUseUNBQXlDLHNGQUErQjtBQUN4RSx5Q0FBeUMsc0ZBQStCO0FBQ3hFLHlDQUF5QyxzRkFBK0I7QUFDeEU7QUFDQTtBQUNBO0FBQ0EsYUFBYSxtQ0FBbUM7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhLG1DQUFtQztBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWEsbUNBQW1DO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUNBQW1DO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUNBQW1DO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQyxPQUFPLGdGQUFnRixZQUFZLGFBQWEsYUFBYSxhQUFhLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksT0FBTyxVQUFVLEtBQUssVUFBVSxZQUFZLFdBQVcsWUFBWSxhQUFhLFFBQVEsVUFBVSxLQUFLLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxPQUFPLFlBQVksTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFlBQVksTUFBTSxNQUFNLFVBQVUsS0FBSyxVQUFVLFlBQVksV0FBVyxPQUFPLEtBQUssVUFBVSxZQUFZLFdBQVcsTUFBTSxVQUFVLEtBQUssWUFBWSxXQUFXLFlBQVksYUFBYSxhQUFhLFdBQVcsTUFBTSxVQUFVLEtBQUssWUFBWSxXQUFXLFVBQVUsVUFBVSxZQUFZLFdBQVcsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sWUFBWSxNQUFNLFVBQVUsWUFBWSxhQUFhLGFBQWEsV0FBVyxNQUFNLFlBQVksTUFBTSxZQUFZLGFBQWEsWUFBWSxNQUFNLFlBQVksTUFBTSxZQUFZLFdBQVcsWUFBWSxhQUFhLGFBQWEsT0FBTyxLQUFLLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsV0FBVyxVQUFVLFlBQVksT0FBTyxLQUFLLFVBQVUsWUFBWSxhQUFhLGFBQWEsT0FBTyxZQUFZLE1BQU0sVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sWUFBWSxNQUFNLFVBQVUsWUFBWSxhQUFhLFdBQVcsd0JBQXdCLE9BQU8sS0FBSyxzQkFBc0IsT0FBTyxZQUFZLE1BQU0sWUFBWSxPQUFPLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLFlBQVksTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFVBQVUsTUFBTSxZQUFZLE9BQU8sVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLE1BQU0sVUFBVSxZQUFZLE1BQU0sTUFBTSxLQUFLLE1BQU0sVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLE1BQU0sVUFBVSxVQUFVLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sTUFBTSxZQUFZLE1BQU0sVUFBVSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssWUFBWSxRQUFRLFlBQVksTUFBTSxZQUFZLE1BQU0sS0FBSyxZQUFZLFdBQVcsTUFBTSxLQUFLLFVBQVUsVUFBVSxVQUFVLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLEtBQUssS0FBSyxZQUFZLGFBQWEsTUFBTSxRQUFRLFlBQVksTUFBTSxVQUFVLFlBQVksYUFBYSxPQUFPLFlBQVksTUFBTSxVQUFVLFVBQVUsWUFBWSxPQUFPLFlBQVksTUFBTSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsT0FBTyxLQUFLLFlBQVksYUFBYSxTQUFTLEtBQUssS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLFVBQVUsWUFBWSxhQUFhLFdBQVcsVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsVUFBVSxZQUFZLGFBQWEsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFlBQVksYUFBYSxPQUFPLEtBQUssVUFBVSxVQUFVLFVBQVUsWUFBWSxhQUFhLGFBQWEsV0FBVyxLQUFLLE1BQU0sS0FBSyxZQUFZLFFBQVEsS0FBSyxVQUFVLFlBQVksYUFBYSxhQUFhLFdBQVcsWUFBWSxPQUFPLEtB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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3ZTMEI7QUFDdUI7QUFDVDtBQUV4QyxJQUFNRyxHQUFhLEdBQUcsU0FBaEJBLEdBQWFBLENBQUEsRUFBUztFQUMxQixvQkFDRUgsMERBQUEsQ0FBQ0MsMkRBQWEscUJBQ1pELDBEQUFBLENBQUNFLHNEQUFTLE1BQUUsQ0FDQyxDQUFD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QUEsY0FBQWIsWUFBQSxHQUFBRSxDQUFBLENBQUcsU0FBQTRDLFNBQU1tRSxFQUFVO0lBQUEsT0FBQWpILFlBQUEsR0FBQUMsQ0FBQSxXQUFBZ0QsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUFqRixDQUFBO1FBQUE7VUFBQWlGLFNBQUEsQ0FBQWpGLENBQUE7VUFBQSxPQUMvQzBRLDRFQUFnQixJQUFBMVQsTUFBQSxDQUFJa0csMERBQUcsQ0FBQ3NlLE1BQU0sRUFBQXhrQixNQUFBLENBQUdpTSxFQUFFLENBQUUsQ0FBQztRQUFBO1VBQUEsT0FBQWhFLFNBQUEsQ0FBQWhFLENBQUEsSUFBQWdFLFNBQUEsQ0FBQWpFLENBQUE7TUFBQTtJQUFBLEdBQUE4RCxRQUFBO0VBQUEsQ0FDcEQ7RUFBQSxnQkFGWTBiLDhCQUE4QkEsQ0FBQTVQLEdBQUE7SUFBQSxPQUFBL0wsS0FBQSxDQUFBOUIsS0FBQSxPQUFBRCxTQUFBO0VBQUE7QUFBQSxHQUUxQyxDOzs7Ozs7Ozs7O0FDdEJELGUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL2luZGV4LmNzcyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlLyBzeW5jIF5cXC5cXC8uKiQiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9hcHAudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvaW5kZXguY3NzPzY5Y2IiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9hdHRlbmRhbmNlX3ZlcmlmaWNhdGlvbi50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9sb2dpbi50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9xcmNvZGUudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZGlzYWJpbGl0eV90eXBlL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9kaXNhYmlsaXR5X3R5cGUvY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2VkdWNhdGlvbl9pbnN0aXR1dGlvbi9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9lZHVjYXRpb25faW5zdGl0dXRpb24vY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9lZHVjYXRpb25faW5zdGl0dXRpb24vY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9mYW1pbHlfc3VydmV5L2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2ZhbWlseV9zdXJ2ZXkvY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9mYW1pbHlfc3VydmV5L2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2ZhbWlseV9zdXJ2ZXkvY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2Zvb2QvY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZm9vZC9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2Zvb2QvY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZm9vZC9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvaW50ZXJlc3RlZF90ZWFtL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2ludGVyZXN0ZWRfdGVhbS9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2ludGVyZXN0ZWRfdGVhbS9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9pbnRlcmVzdGVkX3RlYW0vY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2xhbmd1YWdlL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2xhbmd1YWdlL2NvcmUvY29uc3RhbnRzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvbGFuZ3VhZ2UvY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvbGFuZ3VhZ2UvY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29jY3VwYXRpb24vY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb2NjdXBhdGlvbi9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29jY3VwYXRpb24vY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb2NjdXBhdGlvbi9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb2ZmZXJfcHJvZ3JhbS9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vZmZlcl9wcm9ncmFtL2NvcmUvY29uc3RhbnRzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb2ZmZXJfcHJvZ3JhbS9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vZmZlcl9wcm9ncmFtL2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vcHBvcnR1bml0eV9zb3VyY2UvY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb3Bwb3J0dW5pdHlfc291cmNlL2NvcmUvY29uc3RhbnRzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb3Bwb3J0dW5pdHlfc291cmNlL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29wcG9ydHVuaXR5X3NvdXJjZS9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvaWdub3JlZHwvVXNlcnMveW91cmEvRG9jdW1lbnRzL2RldnMvcmVhY3Rqcy92b2x1bnRlZXJfd2ViX3BvcnRhbC9ub2RlX21vZHVsZXMvb2JqZWN0LWluc3BlY3R8Li91dGlsLmluc3BlY3QiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9zb3VyY2VNYXBzLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fID0gbmV3IFVSTChcIi4vc2hhcmVkL2Fzc2V0cy9mb250cy9CYXlvbi1SZWd1bGFyLnR0ZlwiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fID0gbmV3IFVSTChcIi4vc2hhcmVkL2Fzc2V0cy9mb250cy9TaWVtcmVhcC1SZWd1bGFyLnR0ZlwiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fID0gbmV3IFVSTChcIi4vc2hhcmVkL2Fzc2V0cy9mb250cy9Sb2JvdG8tVmFyaWFibGVGb250X3dkdGgsd2dodC50dGZcIiwgaW1wb3J0Lm1ldGEudXJsKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyA9IG5ldyBVUkwoXCIuL3NoYXJlZC9hc3NldHMvaW1hZ2VzL3RlYW0ucG5nXCIsIGltcG9ydC5tZXRhLnVybCk7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIGBAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCYXlvbic7XG4gIHNyYzogdXJsKCR7X19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fX30pIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTaWVtcmVhcCc7XG4gIHNyYzogdXJsKCR7X19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fX30pIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICBzcmM6IHVybCgke19fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX199KSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogR2xvYmFsIFN0eWxlcyAqL1xuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAnU2llbXJlYXAnLCBSb2JvdG87XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi8qIEZvcm0gdGl0bGUgKi9cbi5mb3JtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJywgUm9ib3RvO1xufVxuXG5cbi8qIEZvcm0gdGl0bGUgKi9cbi5mb3JtLXRpdGxlMiB7XG4gIGZvbnQtc2l6ZTogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJywgUm9ib3RvO1xufVxuXG4vKiBMYXJnZXIgdGl0bGUgb24gZGVza3RvcCAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZm9ybS10aXRsZTIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuICAuZm9ybS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLyogRGl2aWRlcnMgKi9cbi5kaXZpZGVyIHtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4uZGl2aWRlcjIge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgbWFyZ2luOiA1cHggMDtcbn1cblxuLyogQ2FyZCBTdHlsZSAqL1xuLmNhcmQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBCdXR0b25zICovXG5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMTg5MGZmO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcbn1cblxuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQwYTlmZjtcbn1cblxuLyogRmlsZSBVcGxvYWQgQ29udGFpbmVyICovXG4udXBsb2FkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEwcHg7XG59XG5cbi8qIENlbnRlcmVkIEl0ZW1zICovXG4uaXRlbXMtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbn1cblxuLyogRGl2aWRlciBmb3IgVUkgKi9cbi5kaXZpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMS41cmVtIDA7XG59XG5cbi5kaXZpZGVyLWxpbmUge1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNjBhNWZhLCAjYTg1NWY3LCAjZWM0ODk5KTtcbn1cblxuLmRpdmlkZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmRpdmlkZXItdGV4dCBzcGFuIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM2MGE1ZmEsICNhODU1ZjcsICNlYzQ4OTkpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBTdGVwIEluZGljYXRvciAqL1xuLmFudC1zdGVwcy1pdGVtLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYW50LXN0ZXBzLWl0ZW0tdGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzE4OTBmZiAhaW1wb3J0YW50O1xufVxuXG4vKiBGbGV4IHNwYWNpbmcgKi9cbi5jdXN0b20tZ2FwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgLyogU3BhY2UgYmV0d2VlbiB0b3Agcm93IGFuZCBib3R0b20gbG9nbyAqL1xufVxuXG4uc3BhY2VyIHtcbiAgZmxleC1ncm93OiAxOyAvKiBBdXRvbWF0aWNhbGx5IHRha2VzIHVwIHJlbWFpbmluZyBzcGFjZSAqL1xufVxuXG4vKiBQYWRkaW5nIEZpeGVzICovXG4ucGFkZGluZy1yaWdodC0xNiB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTY0IHtcbiAgcGFkZGluZy1yaWdodDogNjRweDtcbn1cbi5wYWRkaW5nLWxlZnQtNjQge1xuICBwYWRkaW5nLWxlZnQ6IDY0cHg7XG59XG5cbi8qIExvZ28gU2VjdGlvbiAqL1xuLmxvZ28tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiAxMHB4O1xufVxuXG4vKiBMb2dvIFN0eWxlcyAqL1xuLmhlYWRpbmdMb2dvLFxuLmhlYWRpbmdMb2dvMiB7XG4gIHdpZHRoOiAxNXZ3O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTIwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRpbmdMb2dvLFxuICAuaGVhZGluZ0xvZ28yIHtcbiAgICB3aWR0aDogOHZ3O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkaW5nTG9nbyxcbiAgLmhlYWRpbmdMb2dvMiB7XG4gICAgd2lkdGg6IDEydnc7XG4gICAgbWF4LXdpZHRoOiA4MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGluZ0xvZ28sXG4gIC5oZWFkaW5nTG9nbzIge1xuICAgIHdpZHRoOiAxNXZ3O1xuICAgIG1heC13aWR0aDogNjBweDtcbiAgfVxuICAucGFkZGluZy1yaWdodC02NCB7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTY0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIH1cbn1cblxuLyogVm9sdW50ZWVyIFJlZ2lzdHJhdGlvbiBTZWN0aW9uICovXG4udGV4dC1yZWQtNjAwIHtcbiAgY29sb3I6ICNCQjU5NUY7XG59XG4ucGFkZGluZy10b3AtYm90dG9tIHtcbiAgcGFkZGluZzogOHB4IDBweDtcbn1cbi5wYWRkaW5nLXRvcC02IHtcbiAgcGFkZGluZy10b3A6IDZweDtcbn1cblxuLm1hcmdpbi10b3AtMTYge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG5cbi8qIFVwbG9hZCBidXR0b24gc3R5bGVzICovXG4uYW50LXVwbG9hZC1saXN0LWl0ZW0tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi5pbWFnZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZnVsbHNjcmVlbi1pbWFnZSB7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIC1vLW9iamVjdC1wb3NpdGlvbjogdG9wO1xuICAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZnVsbHNjcmVlbi1pbWFnZSB7XG4gICAgaGVpZ2h0OiA0MHZoICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNDB2aCAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuXG4vKiBVcGxvYWQgQ2FyZHMgLSBBZGRzIFBhZGRpbmcgYW5kIENvbnNpc3RlbmN5ICovXG4udXBsb2FkLWNhcmQge1xuICBwYWRkaW5nOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi8qIFBsYWNlaG9sZGVyIEltYWdlIC0gRW5zdXJlcyBDb25zaXN0ZW50IERpc3BsYXkgKi9cbi51cGxvYWQtcGxhY2Vob2xkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDBweDtcbn1cblxuLyogRHJhZyAmIERyb3AgVXBsb2FkIC0gTWFrZXMgQ1YgVXBsb2FkIE1vcmUgSW50dWl0aXZlICovXG4uYW50LXVwbG9hZC1kcmFnIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgYm9yZGVyOiAycHggZGFzaGVkICNjY2M7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uYW50LXVwbG9hZC1kcmFnOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTg5MGZmO1xuICBiYWNrZ3JvdW5kOiAjZWVmNmZmO1xufVxuXG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAubGVmdC1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQ6IHVybCgke19fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX199KSBuby1yZXBlYXQgY2VudGVyL2NvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC5yaWdodC1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gIC5sZWZ0LXNlY3Rpb24ge1xuICAgIHdpZHRoOiAzMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJHtfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19ffSkgbm8tcmVwZWF0IGNlbnRlci9jb3ZlcjtcbiAgfVxuXG4gIC5yaWdodC1zZWN0aW9uIHtcbiAgICB3aWR0aDogNzB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cbn1cblxuaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbn1cblxuXG4uYXR0ZW5kYW5jZS1wYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYXR0ZW5kYW5jZS1wYWdlIGgyIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYXR0ZW5kYW5jZS1wYWdlIHAge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufWAsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vc3JjL2luZGV4LmNzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTtFQUNFLG9CQUFvQjtFQUNwQiwrREFBc0U7RUFDdEUsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2QiwrREFBeUU7RUFDekUsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQiwrREFBdUY7RUFDdkYsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjs7QUFFQSxrQkFBa0I7QUFDbEI7RUFDRSwrQkFBK0I7RUFDL0IsU0FBUztFQUNULFVBQVU7RUFDVix1QkFBdUI7QUFDekI7O0FBRUEsZUFBZTtBQUNmO0VBQ0UsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLCtCQUErQjtBQUNqQzs7O0FBR0EsZUFBZTtBQUNmO0VBQ0UsaUJBQWlCO0VBQ2pCLGtC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QUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLDJDQUEyQztBQUM3Qzs7QUFFQSxtREFBbUQ7QUFDbkQ7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGlCQUFpQjtBQUNuQjs7QUFFQSx3REFBd0Q7QUFDeEQ7RUFDRSxtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLG1CQUFtQjtBQUNyQjs7OztBQUlBO0VBQ0U7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxXQUFXO0lBQ1gsYUFBYTtJQUNiLDBFQUF5RTtJQUN6RSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLE9BQU87SUFDUCxXQUFXO0VBQ2I7O0VBRUE7SUFDRSxXQUFXO0lBQ1gsYUFBYTtJQUNiLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0VBQ3JCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLGFBQWE7SUFDYixZQUFZO0lBQ1osYUFBYTtFQUNmOztFQUVBO0lBQ0UsV0FBVztJQUNYLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsMEVBQXlFO0VBQzNFOztFQUVBO0lBQ0UsV0FBVztJQUNYLGFBQWE7SUFDYixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsYUFBYTtFQUNmO0FBQ0Y7O0FBRUE7RUFDRSwwQkFBMEI7QUFDNUI7OztBQUdBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6ICdCYXlvbic7XFxuICBzcmM6IHVybCgnLi9zaGFyZWQvYXNzZXRzL2ZvbnRzL0JheW9uLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG59XFxuXFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJztcXG4gIHNyYzogdXJsKCcuL3NoYXJlZC9hc3NldHMvZm9udHMvU2llbXJlYXAtUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcXG4gIHNyYzogdXJsKCcuL3NoYXJlZC9hc3NldHMvZm9udHMvUm9ib3RvLVZhcmlhYmxlRm9udF93ZHRoXFxcXCx3Z2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxufVxcblxcbi8qIEdsb2JhbCBTdHlsZXMgKi9cXG5ib2R5IHtcXG4gIGZvbnQtZmFtaWx5OiAnU2llbXJlYXAnLCBSb2JvdG87XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxufVxcblxcbi8qIEZvcm0gdGl0bGUgKi9cXG4uZm9ybS10aXRsZSB7XFxuICBmb250LXNpemU6IDFyZW07XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBjb2xvcjogIzMzMztcXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XFxuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJywgUm9ib3RvO1xcbn1cXG5cXG5cXG4vKiBGb3JtIHRpdGxlICovXFxuLmZvcm0tdGl0bGUyIHtcXG4gIGZvbnQtc2l6ZTogMC41cmVtO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgY29sb3I6ICMzMzM7XFxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgZm9udC1mYW1pbHk6ICdTaWVtcmVhcCcsIFJvYm90bztcXG59XFxuXFxuLyogTGFyZ2VyIHRpdGxlIG9uIGRlc2t0b3AgKi9cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuICAuZm9ybS10aXRsZTIge1xcbiAgICBmb250LXNpemU6IDFyZW07XFxuICB9XFxuICAuZm9ybS10aXRsZSB7XFxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgfVxcbn1cXG5cXG4vKiBEaXZpZGVycyAqL1xcbi5kaXZpZGVyIHtcXG4gIGhlaWdodDogMnB4O1xcbiAgYmFja2dyb3VuZDogI2RkZDtcXG4gIG1hcmdpbjogMTBweCAwO1xcbn1cXG5cXG4uZGl2aWRlcjIge1xcbiAgaGVpZ2h0OiAxcHg7XFxuICBiYWNrZ3JvdW5kOiAjY2NjO1xcbiAgbWFyZ2luOiA1cHggMDtcXG59XFxuXFxuLyogQ2FyZCBTdHlsZSAqL1xcbi5jYXJkIHtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgcGFkZGluZzogMjBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcXG4gIG1heC13aWR0aDogNTAwcHg7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuXFxuLyogQnV0dG9ucyAqL1xcbmJ1dHRvbiB7XFxuICBiYWNrZ3JvdW5kOiAjMTg5MGZmO1xcbiAgY29sb3I6IHdoaXRlO1xcbiAgYm9yZGVyOiBub25lO1xcbiAgcGFkZGluZzogMTJweDtcXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7XFxufVxcblxcbmJ1dHRvbjpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiAjNDBhOWZmO1xcbn1cXG5cXG4vKiBGaWxlIFVwbG9hZCBDb250YWluZXIgKi9cXG4udXBsb2FkLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGdhcDogMTBweDtcXG59XFxuXFxuLyogQ2VudGVyZWQgSXRlbXMgKi9cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuXFxufVxcblxcbi8qIERpdmlkZXIgZm9yIFVJICovXFxuLmRpdmlkZXItY29udGFpbmVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBtYXJnaW46IDEuNXJlbSAwO1xcbn1cXG5cXG4uZGl2aWRlci1saW5lIHtcXG4gIHdpZHRoOiA4MCU7XFxuICBoZWlnaHQ6IDJweDtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzYwYTVmYSwgI2E4NTVmNywgI2VjNDg5OSk7XFxufVxcblxcbi5kaXZpZGVyLXRleHQge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBwYWRkaW5nOiAwIDhweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuXFxuLmRpdmlkZXItdGV4dCBzcGFuIHtcXG4gIGZvbnQtc2l6ZTogMnJlbTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzYwYTVmYSwgI2E4NTVmNywgI2VjNDg5OSk7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuXFxuLyogU3RlcCBJbmRpY2F0b3IgKi9cXG4uYW50LXN0ZXBzLWl0ZW0tdGl0bGUge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLWluLW91dDtcXG59XFxuXFxuLmFudC1zdGVwcy1pdGVtLXRpdGxlOmhvdmVyIHtcXG4gIGNvbG9yOiAjMTg5MGZmICFpbXBvcnRhbnQ7XFxufVxcblxcbi8qIEZsZXggc3BhY2luZyAqL1xcbi5jdXN0b20tZ2FwIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXJnaW4tYm90dG9tOiAyMHB4OyAvKiBTcGFjZSBiZXR3ZWVuIHRvcCByb3cgYW5kIGJvdHRvbSBsb2dvICovXFxufVxcblxcbi5zcGFjZXIge1xcbiAgZmxleC1ncm93OiAxOyAvKiBBdXRvbWF0aWNhbGx5IHRha2VzIHVwIHJlbWFpbmluZyBzcGFjZSAqL1xcbn1cXG5cXG4vKiBQYWRkaW5nIEZpeGVzICovXFxuLnBhZGRpbmctcmlnaHQtMTYge1xcbiAgcGFkZGluZy1yaWdodDogMTZweDtcXG59XFxuXFxuLnBhZGRpbmctcmlnaHQtNjQge1xcbiAgcGFkZGluZy1yaWdodDogNjRweDtcXG59XFxuLnBhZGRpbmctbGVmdC02NCB7XFxuICBwYWRkaW5nLWxlZnQ6IDY0cHg7XFxufVxcblxcbi8qIExvZ28gU2VjdGlvbiAqL1xcbi5sb2dvLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgZ2FwOiAxMHB4O1xcbn1cXG5cXG4vKiBMb2dvIFN0eWxlcyAqL1xcbi5oZWFkaW5nTG9nbyxcXG4uaGVhZGluZ0xvZ28yIHtcXG4gIHdpZHRoOiAxNXZ3O1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgbWF4LXdpZHRoOiAxMjBweDtcXG59XFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbiAgLmhlYWRpbmdMb2dvLFxcbiAgLmhlYWRpbmdMb2dvMiB7XFxuICAgIHdpZHRoOiA4dnc7XFxuICAgIG1heC13aWR0aDogMTAwcHg7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xcbiAgLmhlYWRpbmdMb2dvLFxcbiAgLmhlYWRpbmdMb2dvMiB7XFxuICAgIHdpZHRoOiAxMnZ3O1xcbiAgICBtYXgtd2lkdGg6IDgwcHg7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xcbiAgLmhlYWRpbmdMb2dvLFxcbiAgLmhlYWRpbmdMb2dvMiB7XFxuICAgIHdpZHRoOiAxNXZ3O1xcbiAgICBtYXgtd2lkdGg6IDYwcHg7XFxuICB9XFxuICAucGFkZGluZy1yaWdodC02NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICB9XFxuICAucGFkZGluZy1sZWZ0LTY0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgfVxcbn1cXG5cXG4vKiBWb2x1bnRlZXIgUmVnaXN0cmF0aW9uIFNlY3Rpb24gKi9cXG4udGV4dC1yZWQtNjAwIHtcXG4gIGNvbG9yOiAjQkI1OTVGO1xcbn1cXG4ucGFkZGluZy10b3AtYm90dG9tIHtcXG4gIHBhZGRpbmc6IDhweCAwcHg7XFxufVxcbi5wYWRkaW5nLXRvcC02IHtcXG4gIHBhZGRpbmctdG9wOiA2cHg7XFxufVxcblxcbi5tYXJnaW4tdG9wLTE2IHtcXG4gIG1hcmdpbi10b3A6IDE2cHg7XFxufVxcblxcblxcbi8qIFVwbG9hZCBidXR0b24gc3R5bGVzICovXFxuLmFudC11cGxvYWQtbGlzdC1pdGVtLWNvbnRhaW5lciB7XFxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xcbn1cXG4uaW1hZ2UtY29udGFpbmVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5cXG4uZnVsbHNjcmVlbi1pbWFnZSB7XFxuICBpbnNldDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb2JqZWN0LWZpdDogY292ZXI7XFxuICBvYmplY3QtcG9zaXRpb246IHRvcDtcXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcXG4gIC5mdWxsc2NyZWVuLWltYWdlIHtcXG4gICAgaGVpZ2h0OiA0MHZoICFpbXBvcnRhbnQ7XFxuICAgIG1pbi1oZWlnaHQ6IDQwdmggIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuXFxuXFxuLyogVXBsb2FkIENhcmRzIC0gQWRkcyBQYWRkaW5nIGFuZCBDb25zaXN0ZW5jeSAqL1xcbi51cGxvYWQtY2FyZCB7XFxuICBwYWRkaW5nOiAxNnB4O1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcXG59XFxuXFxuLyogUGxhY2Vob2xkZXIgSW1hZ2UgLSBFbnN1cmVzIENvbnNpc3RlbnQgRGlzcGxheSAqL1xcbi51cGxvYWQtcGxhY2Vob2xkZXIge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxuICBtYXgtaGVpZ2h0OiAxMDBweDtcXG59XFxuXFxuLyogRHJhZyAmIERyb3AgVXBsb2FkIC0gTWFrZXMgQ1YgVXBsb2FkIE1vcmUgSW50dWl0aXZlICovXFxuLmFudC11cGxvYWQtZHJhZyB7XFxuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xcbiAgYm9yZGVyOiAycHggZGFzaGVkICNjY2M7XFxuICBwYWRkaW5nOiAyMHB4O1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbn1cXG5cXG4uYW50LXVwbG9hZC1kcmFnOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogIzE4OTBmZjtcXG4gIGJhY2tncm91bmQ6ICNlZWY2ZmY7XFxufVxcblxcblxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xcbiAgLmNvbnRhaW5lciB7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB9XFxuXFxuICAubGVmdC1zZWN0aW9uIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICAgIGJhY2tncm91bmQ6IHVybChcXFwiLi9zaGFyZWQvYXNzZXRzL2ltYWdlcy90ZWFtLnBuZ1xcXCIpIG5vLXJlcGVhdCBjZW50ZXIvY292ZXI7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAwO1xcbiAgICBsZWZ0OiAwO1xcbiAgICB6LWluZGV4OiAtMTtcXG4gIH1cXG5cXG4gIC5yaWdodC1zZWN0aW9uIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcXG4gIC5jb250YWluZXIge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICB3aWR0aDogMTAwdnc7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGVmdC1zZWN0aW9uIHtcXG4gICAgd2lkdGg6IDMwdnc7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XFxuICAgIGJhY2tncm91bmQ6IHVybChcXFwiLi9zaGFyZWQvYXNzZXRzL2ltYWdlcy90ZWFtLnBuZ1xcXCIpIG5vLXJlcGVhdCBjZW50ZXIvY292ZXI7XFxuICB9XFxuXFxuICAucmlnaHQtc2VjdGlvbiB7XFxuICAgIHdpZHRoOiA3MHZ3O1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcXG4gICAgcGFkZGluZzogMTZweDtcXG4gIH1cXG59XFxuXFxuaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XFxufVxcblxcblxcbi5hdHRlbmRhbmNlLXBhZ2Uge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcblxcbi5hdHRlbmRhbmNlLXBhZ2UgaDIge1xcbiAgZm9udC1zaXplOiAyNHB4O1xcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG59XFxuXFxuLmF0dGVuZGFuY2UtcGFnZSBwIHtcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XFxufVwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCJ2YXIgbWFwID0ge1xuXHRcIi4vYWZcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hZi5qc1wiLFxuXHRcIi4vYWYuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hZi5qc1wiLFxuXHRcIi4vYXJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci5qc1wiLFxuXHRcIi4vYXItZHpcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1kei5qc1wiLFxuXHRcIi4vYXItZHouanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1kei5qc1wiLFxuXHRcIi4vYXIta3dcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1rdy5qc1wiLFxuXHRcIi4vYXIta3cuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1rdy5qc1wiLFxuXHRcIi4vYXItbHlcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1seS5qc1wiLFxuXHRcIi4vYXItbHkuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1seS5qc1wiLFxuXHRcIi4vYXItbWFcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1tYS5qc1wiLFxuXHRcIi4vYXItbWEuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1tYS5qc1wiLFxuXHRcIi4vYXItcHNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1wcy5qc1wiLFxuXHRcIi4vYXItcHMuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1wcy5qc1wiLFxuXHRcIi4vYXItc2FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1zYS5qc1wiLFxuXHRcIi4vYXItc2EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1zYS5qc1wiLFxuXHRcIi4vYXItdG5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci10bi5qc1wiLFxuXHRcIi4vYXItdG4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci10bi5qc1wiLFxuXHRcIi4vYXIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci5qc1wiLFxuXHRcIi4vYXpcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hei5qc1wiLFxuXHRcIi4vYXouanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hei5qc1wiLFxuXHRcIi4vYmVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iZS5qc1wiLFxuXHRcIi4vYmUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iZS5qc1wiLFxuXHRcIi4vYmdcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iZy5qc1wiLFxuXHRcIi4vYmcuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iZy5qc1wiLFxuXHRcIi4vYm1cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibS5qc1wiLFxuXHRcIi4vYm0uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibS5qc1wiLFxuXHRcIi4vYm5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibi5qc1wiLFxuXHRcIi4vYm4tYmRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibi1iZC5qc1wiLFxuXHRcIi4vYm4tYmQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibi1iZC5qc1wiLFxuXHRcIi4vYm4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibi5qc1wiLFxuXHRcIi4vYm9cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iby5qc1wiLFxuXHRcIi4vYm8uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iby5qc1wiLFxuXHRcIi4vYnJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ici5qc1wiLFxuXHRcIi4vYnIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ici5qc1wiLFxuXHRcIi4vYnNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9icy5qc1wiLFxuXHRcIi4vYnMuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9icy5qc1wiLFxuXHRcIi4vY2FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jYS5qc1wiLFxuXHRcIi4vY2EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jYS5qc1wiLFxuXHRcIi4vY3NcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jcy5qc1wiLFxuXHRcIi4vY3MuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jcy5qc1wiLFxuXHRcIi4vY3ZcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jdi5qc1wiLFxuXHRcIi4vY3YuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jdi5qc1wiLFxuXHRcIi4vY3lcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jeS5qc1wiLFxuXHRcIi4vY3kuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jeS5qc1wiLFxuXHRcIi4vZGFcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kYS5qc1wiLFxuXHRcIi4vZGEuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kYS5qc1wiLFxuXHRcIi4vZGVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS5qc1wiLFxuXHRcIi4vZGUtYXRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS1hdC5qc1wiLFxuXHRcIi4vZGUtYXQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS1hdC5qc1wiLFxuXHRcIi4vZGUtY2hcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS1jaC5qc1wiLFxuXHRcIi4vZGUtY2guanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS1jaC5qc1wiLFxuXHRcIi4vZGUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS5qc1wiLFxuXHRcIi4vZHZcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kdi5qc1wiLFxuXHRcIi4vZHYuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kdi5qc1wiLFxuXHRcIi4vZWxcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbC5qc1wiLFxuXHRcIi4vZWwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbC5qc1wiLFxuXHRcIi4vZW4tYXVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1hdS5qc1wiLFxuXHRcIi4vZW4tYXUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1hdS5qc1wiLFxuXHRcIi4vZW4tY2FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1jYS5qc1wiLFxuXHRcIi4vZW4tY2EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1jYS5qc1wiLFxuXHRcIi4vZW4tZ2JcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1nYi5qc1wiLFxuXHRcIi4vZW4tZ2IuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1nYi5qc1wiLFxuXHRcIi4vZW4taWVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pZS5qc1wiLFxuXHRcIi4vZW4taWUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pZS5qc1wiLFxuXHRcIi4vZW4taWxcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pbC5qc1wiLFxuXHRcIi4vZW4taWwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pbC5qc1wiLFxuXHRcIi4vZW4taW5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pbi5qc1wiLFxuXHRcIi4vZW4taW4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pbi5qc1wiLFxuXHRcIi4vZW4tbnpcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1uei5qc1wiLFxuXHRcIi4vZW4tbnouanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1uei5qc1wiLFxuXHRcIi4vZW4tc2dcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1zZy5qc1wiLFxuXHRcIi4vZW4tc2cuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1zZy5qc1wiLFxuXHRcIi4vZW9cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lby5qc1wiLFxuXHRcIi4vZW8uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lby5qc1wiLFxuXHRcIi4vZXNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy5qc1wiLFxuXHRcIi4vZXMtZG9cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy1kby5qc1wiLFxuXHRcIi4vZXMtZG8uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy1kby5qc1wiLFxuXHRcIi4vZXMtbXhcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy1teC5qc1wiLFxuXHRcIi4vZXMtbXguanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy1teC5qc1wiLFxuXHRcIi4vZXMtdXNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy11cy5qc1wiLFxuXHRcIi4vZXMtdXMuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy11cy5qc1wiLFxuXHRcIi4vZXMuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy5qc1wiLFxuXHRcIi4vZXRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ldC5qc1wiLFxuXHRcIi4vZXQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ldC5qc1wiLFxuXHRcIi4vZXVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ldS5qc1wiLFxuXHRcIi4vZXUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ldS5qc1wiLFxuXHRcIi4vZmFcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mYS5qc1wiLFxuXHRcIi4vZmEuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mYS5qc1wiLFxuXHRcIi4vZmlcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9maS5qc1wiLFxuXHRcIi4vZmkuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9maS5qc1wiLFxuXHRcIi4vZmlsXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZmlsLmpzXCIsXG5cdFwiLi9maWwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9maWwuanNcIixcblx0XCIuL2ZvXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZm8uanNcIixcblx0XCIuL2ZvLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZm8uanNcIixcblx0XCIuL2ZyXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnIuanNcIixcblx0XCIuL2ZyLWNhXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnItY2EuanNcIixcblx0XCIuL2ZyLWNhLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnItY2EuanNcIixcblx0XCIuL2ZyLWNoXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnItY2guanNcIixcblx0XCIuL2ZyLWNoLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnItY2guanNcIixcblx0XCIuL2ZyLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnIuanNcIixcblx0XCIuL2Z5XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnkuanNcIixcblx0XCIuL2Z5LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnkuanNcIixcblx0XCIuL2dhXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2EuanNcIixcblx0XCIuL2dhLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2EuanNcIixcblx0XCIuL2dkXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2QuanNcIixcblx0XCIuL2dkLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2QuanNcIixcblx0XCIuL2dsXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2wuanNcIixcblx0XCIuL2dsLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2wuanNcIixcblx0XCIuL2dvbS1kZXZhXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ29tLWRldmEuanNcIixcblx0XCIuL2dvbS1kZXZhLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ29tLWRldmEuanNcIixcblx0XCIuL2dvbS1sYXRuXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ29tLWxhdG4uanNcIixcblx0XCIuL2dvbS1sYXRuLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ29tLWxhdG4uanNcIixcblx0XCIuL2d1XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ3UuanNcIixcblx0XCIuL2d1LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ3UuanNcIixcblx0XCIuL2hlXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaGUuanNcIixcblx0XCIuL2hlLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaGUuanNcIixcblx0XCIuL2hpXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaGkuanNcIixcblx0XCIuL2hpLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaGkuanNcIixcblx0XCIuL2hyXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHIuanNcIixcblx0XCIuL2hyLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHIuanNcIixcblx0XCIuL2h1XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHUuanNcIixcblx0XCIuL2h1LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHUuanNcIixcblx0XCIuL2h5LWFtXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHktYW0uanNcIixcblx0XCIuL2h5LWFtLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHktYW0uanNcIixcblx0XCIuL2lkXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaWQuanNcIixcblx0XCIuL2lkLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaWQuanNcIixcblx0XCIuL2lzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXMuanNcIixcblx0XCIuL2lzLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXMuanNcIixcblx0XCIuL2l0XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXQuanNcIixcblx0XCIuL2l0LWNoXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXQtY2guanNcIixcblx0XCIuL2l0LWNoLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXQtY2guanNcIixcblx0XCIuL2l0LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXQuanNcIixcblx0XCIuL2phXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvamEuanNcIixcblx0XCIuL2phLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvamEuanNcIixcblx0XCIuL2p2XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvanYuanNcIixcblx0XCIuL2p2LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvanYuanNcIixcblx0XCIuL2thXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva2EuanNcIixcblx0XCIuL2thLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva2EuanNcIixcblx0XCIuL2trXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva2suanNcIixcblx0XCIuL2trLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva2suanNcIixcblx0XCIuL2ttXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva20uanNcIixcblx0XCIuL2ttLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva20uanNcIixcblx0XCIuL2tuXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva24uanNcIixcblx0XCIuL2tuLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva24uanNcIixcblx0XCIuL2tvXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva28uanNcIixcblx0XCIuL2tvLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva28uanNcIixcblx0XCIuL2t1XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva3UuanNcIixcblx0XCIuL2t1LWttclwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2t1LWttci5qc1wiLFxuXHRcIi4va3Uta21yLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva3Uta21yLmpzXCIsXG5cdFwiLi9rdS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2t1LmpzXCIsXG5cdFwiLi9reVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2t5LmpzXCIsXG5cdFwiLi9reS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2t5LmpzXCIsXG5cdFwiLi9sYlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2xiLmpzXCIsXG5cdFwiLi9sYi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2xiLmpzXCIsXG5cdFwiLi9sb1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2xvLmpzXCIsXG5cdFwiLi9sby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2xvLmpzXCIsXG5cdFwiLi9sdFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2x0LmpzXCIsXG5cdFwiLi9sdC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2x0LmpzXCIsXG5cdFwiLi9sdlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2x2LmpzXCIsXG5cdFwiLi9sdi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2x2LmpzXCIsXG5cdFwiLi9tZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21lLmpzXCIsXG5cdFwiLi9tZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21lLmpzXCIsXG5cdFwiLi9taVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21pLmpzXCIsXG5cdFwiLi9taS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21pLmpzXCIsXG5cdFwiLi9ta1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21rLmpzXCIsXG5cdFwiLi9tay5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21rLmpzXCIsXG5cdFwiLi9tbFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21sLmpzXCIsXG5cdFwiLi9tbC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21sLmpzXCIsXG5cdFwiLi9tblwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21uLmpzXCIsXG5cdFwiLi9tbi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21uLmpzXCIsXG5cdFwiLi9tclwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21yLmpzXCIsXG5cdFwiLi9tci5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21yLmpzXCIsXG5cdFwiLi9tc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21zLmpzXCIsXG5cdFwiLi9tcy1teVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21zLW15LmpzXCIsXG5cdFwiLi9tcy1teS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21zLW15LmpzXCIsXG5cdFwiLi9tcy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21zLmpzXCIsXG5cdFwiLi9tdFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL210LmpzXCIsXG5cdFwiLi9tdC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL210LmpzXCIsXG5cdFwiLi9teVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL215LmpzXCIsXG5cdFwiLi9teS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL215LmpzXCIsXG5cdFwiLi9uYlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25iLmpzXCIsXG5cdFwiLi9uYi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25iLmpzXCIsXG5cdFwiLi9uZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25lLmpzXCIsXG5cdFwiLi9uZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25lLmpzXCIsXG5cdFwiLi9ubFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25sLmpzXCIsXG5cdFwiLi9ubC1iZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25sLWJlLmpzXCIsXG5cdFwiLi9ubC1iZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25sLWJlLmpzXCIsXG5cdFwiLi9ubC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25sLmpzXCIsXG5cdFwiLi9ublwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25uLmpzXCIsXG5cdFwiLi9ubi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25uLmpzXCIsXG5cdFwiLi9vYy1sbmNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9vYy1sbmMuanNcIixcblx0XCIuL29jLWxuYy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL29jLWxuYy5qc1wiLFxuXHRcIi4vcGEtaW5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wYS1pbi5qc1wiLFxuXHRcIi4vcGEtaW4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wYS1pbi5qc1wiLFxuXHRcIi4vcGxcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wbC5qc1wiLFxuXHRcIi4vcGwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wbC5qc1wiLFxuXHRcIi4vcHRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wdC5qc1wiLFxuXHRcIi4vcHQtYnJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wdC1ici5qc1wiLFxuXHRcIi4vcHQtYnIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wdC1ici5qc1wiLFxuXHRcIi4vcHQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wdC5qc1wiLFxuXHRcIi4vcm9cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9yby5qc1wiLFxuXHRcIi4vcm8uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9yby5qc1wiLFxuXHRcIi4vcnVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ydS5qc1wiLFxuXHRcIi4vcnUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ydS5qc1wiLFxuXHRcIi4vc2RcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zZC5qc1wiLFxuXHRcIi4vc2QuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zZC5qc1wiLFxuXHRcIi4vc2VcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zZS5qc1wiLFxuXHRcIi4vc2UuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zZS5qc1wiLFxuXHRcIi4vc2lcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zaS5qc1wiLFxuXHRcIi4vc2kuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zaS5qc1wiLFxuXHRcIi4vc2tcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zay5qc1wiLFxuXHRcIi4vc2suanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zay5qc1wiLFxuXHRcIi4vc2xcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zbC5qc1wiLFxuXHRcIi4vc2wuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zbC5qc1wiLFxuXHRcIi4vc3FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zcS5qc1wiLFxuXHRcIi4vc3EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zcS5qc1wiLFxuXHRcIi4vc3JcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zci5qc1wiLFxuXHRcIi4vc3ItY3lybFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NyLWN5cmwuanNcIixcblx0XCIuL3NyLWN5cmwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zci1jeXJsLmpzXCIsXG5cdFwiLi9zci5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NyLmpzXCIsXG5cdFwiLi9zc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NzLmpzXCIsXG5cdFwiLi9zcy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NzLmpzXCIsXG5cdFwiLi9zdlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3N2LmpzXCIsXG5cdFwiLi9zdi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3N2LmpzXCIsXG5cdFwiLi9zd1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3N3LmpzXCIsXG5cdFwiLi9zdy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3N3LmpzXCIsXG5cdFwiLi90YVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RhLmpzXCIsXG5cdFwiLi90YS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RhLmpzXCIsXG5cdFwiLi90ZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RlLmpzXCIsXG5cdFwiLi90ZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RlLmpzXCIsXG5cdFwiLi90ZXRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90ZXQuanNcIixcblx0XCIuL3RldC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RldC5qc1wiLFxuXHRcIi4vdGdcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90Zy5qc1wiLFxuXHRcIi4vdGcuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90Zy5qc1wiLFxuXHRcIi4vdGhcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90aC5qc1wiLFxuXHRcIi4vdGguanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90aC5qc1wiLFxuXHRcIi4vdGtcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90ay5qc1wiLFxuXHRcIi4vdGsuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90ay5qc1wiLFxuXHRcIi4vdGwtcGhcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90bC1waC5qc1wiLFxuXHRcIi4vdGwtcGguanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90bC1waC5qc1wiLFxuXHRcIi4vdGxoXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdGxoLmpzXCIsXG5cdFwiLi90bGguanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90bGguanNcIixcblx0XCIuL3RyXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHIuanNcIixcblx0XCIuL3RyLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHIuanNcIixcblx0XCIuL3R6bFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3R6bC5qc1wiLFxuXHRcIi4vdHpsLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHpsLmpzXCIsXG5cdFwiLi90em1cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90em0uanNcIixcblx0XCIuL3R6bS1sYXRuXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHptLWxhdG4uanNcIixcblx0XCIuL3R6bS1sYXRuLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHptLWxhdG4uanNcIixcblx0XCIuL3R6bS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3R6bS5qc1wiLFxuXHRcIi4vdWctY25cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91Zy1jbi5qc1wiLFxuXHRcIi4vdWctY24uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91Zy1jbi5qc1wiLFxuXHRcIi4vdWtcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ay5qc1wiLFxuXHRcIi4vdWsuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ay5qc1wiLFxuXHRcIi4vdXJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ci5qc1wiLFxuXHRcIi4vdXIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ci5qc1wiLFxuXHRcIi4vdXpcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ei5qc1wiLFxuXHRcIi4vdXotbGF0blwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3V6LWxhdG4uanNcIixcblx0XCIuL3V6LWxhdG4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ei1sYXRuLmpzXCIsXG5cdFwiLi91ei5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3V6LmpzXCIsXG5cdFwiLi92aVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3ZpLmpzXCIsXG5cdFwiLi92aS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3ZpLmpzXCIsXG5cdFwiLi94LXBzZXVkb1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3gtcHNldWRvLmpzXCIsXG5cdFwiLi94LXBzZXVkby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3gtcHNldWRvLmpzXCIsXG5cdFwiLi95b1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3lvLmpzXCIsXG5cdFwiLi95by5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3lvLmpzXCIsXG5cdFwiLi96aC1jblwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLWNuLmpzXCIsXG5cdFwiLi96aC1jbi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLWNuLmpzXCIsXG5cdFwiLi96aC1oa1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLWhrLmpzXCIsXG5cdFwiLi96aC1oay5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLWhrLmpzXCIsXG5cdFwiLi96aC1tb1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLW1vLmpzXCIsXG5cdFwiLi96aC1tby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLW1vLmpzXCIsXG5cdFwiLi96aC10d1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLXR3LmpzXCIsXG5cdFwiLi96aC10dy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLXR3LmpzXCJcbn07XG5cblxuZnVuY3Rpb24gd2VicGFja0NvbnRleHQocmVxKSB7XG5cdHZhciBpZCA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpO1xuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhpZCk7XG59XG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKSB7XG5cdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8obWFwLCByZXEpKSB7XG5cdFx0dmFyIGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgcmVxICsgXCInXCIpO1xuXHRcdGUuY29kZSA9ICdNT0RVTEVfTk9UX0ZPVU5EJztcblx0XHR0aHJvdyBlO1xuXHR9XG5cdHJldHVybiBtYXBbcmVxXTtcbn1cbndlYnBhY2tDb250ZXh0LmtleXMgPSBmdW5jdGlvbiB3ZWJwYWNrQ29udGV4dEtleXMoKSB7XG5cdHJldHVybiBPYmplY3Qua2V5cyhtYXApO1xufTtcbndlYnBhY2tDb250ZXh0LnJlc29sdmUgPSB3ZWJwYWNrQ29udGV4dFJlc29sdmU7XG5tb2R1bGUuZXhwb3J0cyA9IHdlYnBhY2tDb250ZXh0O1xud2VicGFja0NvbnRleHQuaWQgPSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlIHN5bmMgcmVjdXJzaXZlIF5cXFxcLlxcXFwvLiokXCI7IiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJyb3dzZXJSb3V0ZXIgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBBcHBSb3V0ZXMgZnJvbSAnLi9zaGFyZWQvcm91dGVzJztcblxuY29uc3QgQXBwOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8QnJvd3NlclJvdXRlcj5cbiAgICAgIDxBcHBSb3V0ZXMgLz5cbiAgICA8L0Jyb3dzZXJSb3V0ZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBcHA7XG4iLCJcbiAgICAgIGltcG9ydCBBUEkgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgIGltcG9ydCBkb21BUEkgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZURvbUFQSS5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydEZuIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0QnlTZWxlY3Rvci5qc1wiO1xuICAgICAgaW1wb3J0IHNldEF0dHJpYnV0ZXMgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRTdHlsZUVsZW1lbnQgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRTdHlsZUVsZW1lbnQuanNcIjtcbiAgICAgIGltcG9ydCBzdHlsZVRhZ1RyYW5zZm9ybUZuIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVUYWdUcmFuc2Zvcm0uanNcIjtcbiAgICAgIGltcG9ydCBjb250ZW50LCAqIGFzIG5hbWVkRXhwb3J0IGZyb20gXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL2luZGV4LmNzc1wiO1xuICAgICAgXG4gICAgICBcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5zdHlsZVRhZ1RyYW5zZm9ybSA9IHN0eWxlVGFnVHJhbnNmb3JtRm47XG5vcHRpb25zLnNldEF0dHJpYnV0ZXMgPSBzZXRBdHRyaWJ1dGVzO1xub3B0aW9ucy5pbnNlcnQgPSBpbnNlcnRGbi5iaW5kKG51bGwsIFwiaGVhZFwiKTtcbm9wdGlvbnMuZG9tQVBJID0gZG9tQVBJO1xub3B0aW9ucy5pbnNlcnRTdHlsZUVsZW1lbnQgPSBpbnNlcnRTdHlsZUVsZW1lbnQ7XG5cbnZhciB1cGRhdGUgPSBBUEkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgKiBmcm9tIFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9pbmRleC5jc3NcIjtcbiAgICAgICBleHBvcnQgZGVmYXVsdCBjb250ZW50ICYmIGNvbnRlbnQubG9jYWxzID8gY29udGVudC5sb2NhbHMgOiB1bmRlZmluZWQ7XG4iLCIvLyBJbXBvcnQgZGVwZW5kZW5jaWVzXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbi8vIEltcG9ydCBhcHBsaWNhdGlvbiBjb21wb25lbnRzIGFuZCBzdHlsZXNcbmltcG9ydCBBcHAgZnJvbSAnLi9hcHAnO1xuaW1wb3J0ICcuL2luZGV4LmNzcyc7XG5pbXBvcnQgeyBzdG9yZSB9IGZyb20gJy4vc2hhcmVkL3JlZHV4L3N0b3JlJztcblxuLy8gV2FpdCBmb3IgRE9NIGNvbnRlbnQgdG8gbG9hZFxuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcbiAgY29uc3Qgcm9vdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9vdCcpO1xuXG4gIGlmIChyb290RWxlbWVudCkge1xuICAgIGNvbnN0IHJvb3QgPSBjcmVhdGVSb290KHJvb3RFbGVtZW50KTtcbiAgICByb290LnJlbmRlcihcbiAgICAgIDxQcm92aWRlciBzdG9yZT17c3RvcmV9PlxuICAgICAgICA8QXBwIC8+XG4gICAgICA8L1Byb3ZpZGVyPixcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1Jvb3QgZWxlbWVudCBub3QgZm91bmQuIFVuYWJsZSB0byByZW5kZXIgdGhlIGFwcGxpY2F0aW9uLicpO1xuICB9XG59KTtcbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEFVVEhFTlRJQ0FUSU9OX0xPR0lOLCBBVVRIRU5USUNBVElPTl9MT0dJTl9URUxFR1JBTSwgQVVUSEVOVElDQVRJT05fUkVHSVNURVIsIEFVVEhFTlRJQ0FUSU9OX1ZFUklGWV9PUFQsIFVTRVJfQVRURU5EQU5DRSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2luVGVsZWdyYW1Vc2VyU2VydmljZSwgbG9naW5Vc2VyU2VydmljZSwgcmVnaXN0ZXJUZWxlZ3JhbVVzZXJTZXJ2aWNlLCB1c2VyQXR0ZW5kYW5jZVNlcnZpY2UsIHZlcmlmeU9UUFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcblxuXG5leHBvcnQgY29uc3QgbG9naW5Vc2VyQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBBVVRIRU5USUNBVElPTl9MT0dJTixcbiAgbG9naW5Vc2VyU2VydmljZSxcbik7XG5cbmV4cG9ydCBjb25zdCB2ZXJpZnlPVFBBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEFVVEhFTlRJQ0FUSU9OX1ZFUklGWV9PUFQsXG4gIHZlcmlmeU9UUFNlcnZpY2Vcbik7XG5cbmV4cG9ydCBjb25zdCBsb2dpblRlbGVncmFtVXNlckFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgQVVUSEVOVElDQVRJT05fTE9HSU5fVEVMRUdSQU0sXG4gIGxvZ2luVGVsZWdyYW1Vc2VyU2VydmljZSxcbik7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlclRlbGVncmFtVXNlckFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgQVVUSEVOVElDQVRJT05fUkVHSVNURVIsXG4gIHJlZ2lzdGVyVGVsZWdyYW1Vc2VyU2VydmljZSxcbik7XG5cblxuZXhwb3J0IGNvbnN0IHVzZXJBdHRlbmRhbmNlQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBVU0VSX0FUVEVOREFOQ0UsXG4gIHVzZXJBdHRlbmRhbmNlU2VydmljZSxcbik7IiwiZXhwb3J0IGNvbnN0IEFVVEggPSAnYXV0aCc7XG5leHBvcnQgY29uc3QgQVVUSEVOVElDQVRJT05fTE9HSU4gPSAnL2F1dGgvbG9naW5zJztcbmV4cG9ydCBjb25zdCBBVVRIRU5USUNBVElPTl9MT0dJTl9URUxFR1JBTSA9ICcvYXV0aC9sb2dpbic7XG5leHBvcnQgY29uc3QgQVVUSEVOVElDQVRJT05fUkVHSVNURVIgPSAnL2F1dGgvcmVnaXN0ZXInO1xuZXhwb3J0IGNvbnN0IEFVVEhFTlRJQ0FUSU9OX1ZFUklGWV9PUFQgPSAnYXBpL3YxL3ZlcmlmeSc7XG5leHBvcnQgY29uc3QgVVNFUl9BVFRFTkRBTkNFID0gJy91c2VyLWF0dGVuZGFuY2VzJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEF1dGhTdGF0ZSwgVXNlciB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgbG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24sIGxvZ2luVXNlckFjdGlvbiwgdmVyaWZ5T1RQQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IEFVVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8vIFNhZmVseSByZXRyaWV2ZSBzZXNzaW9uIGRhdGFcbmNvbnN0IGdldFNlc3Npb25JdGVtID0gKGtleTogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgaXRlbSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICByZXR1cm4gaXRlbSA/IEpTT04ucGFyc2UoaXRlbSkgOiBudWxsO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHJldHJpZXZpbmcgc2Vzc2lvbiBpdGVtICgke2tleX0pOmAsIGVycm9yKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuY29uc3QgZ2V0U2Vzc2lvblRva2VuID0gKGtleTogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgaXRlbSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICByZXR1cm4gaXRlbSA/IGl0ZW0gOiBudWxsO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHJldHJpZXZpbmcgc2Vzc2lvbiBpdGVtICgke2tleX0pOmAsIGVycm9yKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBBdXRoU3RhdGUgPSB7XG4gIGN1cnJlbnRVc2VyOiBnZXRTZXNzaW9uSXRlbSgnY3VycmVudFVzZXInKSxcbiAgaXNMb2dpblBlbmRpbmc6IGZhbHNlLFxuICBwYWdpbmF0aW9uOiB7XG4gICAgY3VycmVudFBhZ2U6IDEsXG4gICAgaXRlbXNQZXJQYWdlOiAxMCxcbiAgICB0b3RhbEl0ZW1zOiAxMDAsXG4gIH0sXG4gIGxvZ2luRXJyb3JNZXNzYWdlOiAnJyxcbiAgaGFuZGxlUmVnaXRlclRlbGVncmFtOiBmYWxzZSxcbiAgaXNPdHBWZXJpZmljYXRpb25QZW5kaW5nOiBmYWxzZSxcbiAgb3RwVmVyaWZpY2F0aW9uRXJyb3JNZXNzYWdlOiAnJyxcbiAgYWNjZXNzVG9rZW46IGdldFNlc3Npb25Ub2tlbigndG9rZW4nKSxcbiAgZW1haWw6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IGF1dGhTbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogQVVUSCxcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIGxvZ291dDogKHN0YXRlKSA9PiB7XG4gICAgICBzdGF0ZS5jdXJyZW50VXNlciA9IG51bGw7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xuICAgIH0sXG4gICAgc2V0VG9rZW46IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLmFjY2Vzc1Rva2VuID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd0b2tlbicsIEpTT04uc3RyaW5naWZ5KGFjdGlvbi5wYXlsb2FkKSk7XG4gICAgfSxcbiAgICBzZXRVc2VyOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxVc2VyPikgPT4ge1xuICAgICAgc3RhdGUuY3VycmVudFVzZXIgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2N1cnJlbnRVc2VyJywgSlNPTi5zdHJpbmdpZnkoYWN0aW9uLnBheWxvYWQpKTtcbiAgICB9LFxuICAgIHNldElzTG9naW5QZW5kaW5nOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxib29sZWFuPikgPT4ge1xuICAgICAgc3RhdGUuaXNMb2dpblBlbmRpbmcgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICAgIHNldExvZ2luRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5sb2dpbkVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gICAgc2V0RW1haWw6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLmVtYWlsID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAuYWRkQ2FzZShsb2dpblVzZXJBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzTG9naW5QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShsb2dpblVzZXJBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzTG9naW5QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmxvZ2luRXJyb3JNZXNzYWdlID0gSlNPTi5zdHJpbmdpZnkoYWN0aW9uPy5wYXlsb2FkLmRhdGEpO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGxvZ2luVXNlckFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5pc0xvZ2luUGVuZGluZyA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChbJ1VzZXIgbm90IGZvdW5kJywgJ0ludmFsaWQgY3JlZGVudGlhbHMnXS5pbmNsdWRlcyhwYXlsb2FkLmRhdGEpKSB7XG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnY3VycmVudFVzZXInKTtcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCd0b2tlbicpO1xuICAgICAgICAgIHN0YXRlLmN1cnJlbnRVc2VyID0gbnVsbDtcbiAgICAgICAgICBzdGF0ZS5hY2Nlc3NUb2tlbiA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUuY3VycmVudFVzZXIgPSBwYXlsb2FkLnVzZXI7XG4gICAgICAgICAgc3RhdGUuYWNjZXNzVG9rZW4gPSBwYXlsb2FkLmFjY2Vzc190b2tlbjtcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdjdXJyZW50VXNlcicsIEpTT04uc3RyaW5naWZ5KHBheWxvYWQudXNlcikpO1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3Rva2VuJywgcGF5bG9hZC5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLmxvZ2luRXJyb3JNZXNzYWdlID0gSlNPTi5zdHJpbmdpZnkocGF5bG9hZC5kYXRhKTtcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB0ZWxlZ3JhbSBsb2dpblxuICAgICAgLmFkZENhc2UobG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzTG9naW5QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShsb2dpblRlbGVncmFtVXNlckFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaXNMb2dpblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShhY3Rpb24/LnBheWxvYWQuZGF0YSk7XG4gICAgICAgIHN0YXRlLmhhbmRsZVJlZ2l0ZXJUZWxlZ3JhbSA9IHRydWU7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UobG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuaXNMb2dpblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKFsnVXNlciBub3QgZm91bmQnLCAnSW52YWxpZCBjcmVkZW50aWFscyddLmluY2x1ZGVzKHBheWxvYWQuZGF0YSkpIHtcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdjdXJyZW50VXNlcicpO1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XG4gICAgICAgICAgc3RhdGUuY3VycmVudFVzZXIgPSBudWxsO1xuICAgICAgICAgIHN0YXRlLmFjY2Vzc1Rva2VuID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZS5jdXJyZW50VXNlciA9IHBheWxvYWQudXNlcjtcbiAgICAgICAgICBzdGF0ZS5hY2Nlc3NUb2tlbiA9IHBheWxvYWQuYWNjZXNzX3Rva2VuO1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2N1cnJlbnRVc2VyJywgSlNPTi5zdHJpbmdpZnkocGF5bG9hZC51c2VyKSk7XG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCBwYXlsb2FkLmFjY2Vzc190b2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShwYXlsb2FkLmRhdGEpO1xuICAgICAgfSlcblxuXG4gICAgICAuYWRkQ2FzZSh2ZXJpZnlPVFBBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzT3RwVmVyaWZpY2F0aW9uUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLm90cFZlcmlmaWNhdGlvbkVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHZlcmlmeU9UUEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pc090cFZlcmlmaWNhdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh2ZXJpZnlPVFBBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzT3RwVmVyaWZpY2F0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5vdHBWZXJpZmljYXRpb25FcnJvck1lc3NhZ2UgPVxuICAgICAgICAgIGFjdGlvbi5wYXlsb2FkID8gSlNPTi5zdHJpbmdpZnkoYWN0aW9uLnBheWxvYWQpIDogJ09UUCB2ZXJpZmljYXRpb24gZmFpbGVkLiBQbGVhc2UgdHJ5IGFnYWluLic7XG4gICAgICB9KVxuXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgbG9nb3V0LCBzZXRUb2tlbiwgc2V0VXNlciwgc2V0TG9naW5FcnJvck1lc3NhZ2UsIHNldElzTG9naW5QZW5kaW5nLCBzZXRFbWFpbCB9ID0gYXV0aFNsaWNlLmFjdGlvbnM7XG5leHBvcnQgZGVmYXVsdCBhdXRoU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IExvZ2luRm9ybVZhbHVlcywgVmVyaWZ5T3RwRm9ybVZhbHVlcyB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIGFzIGJhc2VVUkwgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcbmltcG9ydCB7IHRleHQgfSBmcm9tICdzdHJlYW0vY29uc3VtZXJzJztcblxuLy8gZXhwb3J0IGNvbnN0IGxvZ2luVXNlclNlcnZpY2UgPSBhc3luYyAoYm9keTogTG9naW5Gb3JtVmFsdWVzKTogUHJvbWlzZTxhbnk+ID0+IHtcbi8vICAgdHJ5IHtcbi8vICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RXaXRoQ29uZmlnKFVSTC5MT0dJTiwge1xuLy8gICAgICAgZW1haWw6IGJvZHkuZW1haWwsXG4vLyAgICAgICBwYXNzd29yZDogYm9keS5wYXNzd29yZCxcbi8vICAgICB9KTtcbi8vICAgICByZXR1cm4gcmVzcG9uc2U7XG4vLyAgIH0gY2F0Y2ggKGVycm9yKSB7XG4vLyAgICAgY29uc29sZS5lcnJvcignTG9naW4gcmVxdWVzdCBmYWlsZWQ6JywgZXJyb3IpO1xuLy8gICAgIHRocm93IGVycm9yOyAvLyBFbnN1cmUgdGhpcyBlcnJvciBwcm9wYWdhdGVzIGJhY2sgdG8gdGhlIHRodW5rXG4vLyAgIH1cbi8vIH07XG5cblxuZXhwb3J0IGNvbnN0IGxvZ2luVXNlclNlcnZpY2UgPSBhc3luYyAoYm9keTogYW55KSA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhcbiAgICBiYXNlVVJMLkxPR0lOLFxuICAgIHtcbiAgICAgIGVtYWlsOiBib2R5LmVtYWlsLFxuICAgICAgcGFzc3dvcmQ6IGJvZHkucGFzc3dvcmQsXG4gICAgICBncmFkX3R5cGU6ICdwYXNzd29yZCdcbiAgICB9XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBsb2dpblRlbGVncmFtVXNlclNlcnZpY2UgPSBhc3luYyAoYm9keTogYW55KSA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhcbiAgICBiYXNlVVJMLkxPR0lOX1RFTEVHUkFNLFxuICAgIHtcbiAgICAgIHRlbGVncmFtX2lkOiBib2R5LnRlbGVncmFtX2lkLFxuICAgICAgdXNlcm5hbWU6IGJvZHkudXNlcm5hbWUsXG4gICAgICBncmFkX3R5cGU6ICd0ZWxlZ3JhbSdcbiAgICB9XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCByZWdpc3RlclRlbGVncmFtVXNlclNlcnZpY2UgPSBhc3luYyAoYm9keTogYW55KSA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhcbiAgICBiYXNlVVJMLlNJR05VUCxib2R5XG4gICk7XG59O1xuXG5cblxuXG5leHBvcnQgY29uc3QgdXNlckF0dGVuZGFuY2VTZXJ2aWNlID0gYXN5bmMgKGJvZHk6IGFueSkgPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoXG4gICAgYmFzZVVSTC5VU0VSX0FUVEVOREFOQ0UsYm9keVxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHZlcmlmeU9UUFNlcnZpY2UgPSBhc3luYyAoXG4gIGJvZHk6IFZlcmlmeU90cEZvcm1WYWx1ZXMsXG4pOiBQcm9taXNlPGFueT4gPT4ge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGBTZW5kaW5nIE9UUCB2ZXJpZmljYXRpb24gd2l0aCBib2R5OiAke0pTT04uc3RyaW5naWZ5KGJvZHkpfWApO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFdpdGhDb25maWcoYmFzZVVSTC5WRVJJRllfVE9QLCB7XG4gICAgICBlbWFpbDogYm9keS5lbWFpbCxcbiAgICAgIGNvZGU6IGJvZHkub3RwQ29kZSxcbiAgICB9KTtcbiAgICBjb25zb2xlLmxvZyhgT1RQIHZlcmlmaWNhdGlvbiByZXNwb25zZTogJHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9YCk7XG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ09UUCB2ZXJpZmljYXRpb24gZmFpbGVkOicsIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHsgQ2FyZCwgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XG5pbXBvcnQgeyBsb2dpblRlbGVncmFtVXNlckFjdGlvbiwgcmVnaXN0ZXJUZWxlZ3JhbVVzZXJBY3Rpb24sIHVzZXJBdHRlbmRhbmNlQWN0aW9uIH0gZnJvbSBcIi4uL2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZVwiO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzXCI7XG5pbXBvcnQgeyB1c2VyVGVsZWdyYW1TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3VzZXIvY29yZS9zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgZmV0Y2hWb2x1bnRlZXJzIH0gZnJvbSBcIi4uLy4uLy4uL3ZvbHVudGVlci9jb3JlL2FjdGlvbnNcIjtcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuY29uc3QgVEVMRUdSQU1fQk9UX1VTRVJOQU1FID0gXCJ2b2x1bnRlZXJmb3JjYW1ib2RpYWJvdFwiO1xuY29uc3QgVEVMRUdSQU1fQVVUSF9BUEkgPSBcImh0dHBzOi8vdm9sdW50ZWVyYXBpLmpvb25hYWtodWIuY29tL2F1dGgvY2FsbGJhY2tcIjtcbmNvbnN0IFRFTEVHUkFNX0FMTE9XRURfT1JJR0lOUyA9IFtcInRlbGVncmFtLm9yZ1wiLCBcIndlYi50ZWxlZ3JhbS5vcmdcIl07IC8vIOKchSBSZXN0cmljdCBhbGxvd2VkIG9yaWdpbnNcblxuXG5jb25zdCBUZWxlZ3JhbUxvZ2luQXR0ZW5kYW5jZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCB7IGxvZ2luRXJyb3JNZXNzYWdlLCBjdXJyZW50VXNlciB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmF1dGgpO1xuICBjb25zdCBbbWVzc2FnZUFwaSwgY29udGV4dEhvbGRlcl0gPSBtZXNzYWdlLnVzZU1lc3NhZ2UoKTtcbiAgY29uc3QgdGVsZWdyYW1XcmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgbGV0IGFsbFZvbHVudGVlcnM6IGFueSA9IG51bGxcbiAgY29uc3QgZmV0Y2hUZWxlZ3JhbVVzZXIgPSBhc3luYyAoYXV0aERhdGE6IHN0cmluZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIWF1dGhEYXRhKSByZXR1cm47XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldFdpdGhDb25maWcoYCR7VEVMRUdSQU1fQVVUSF9BUEl9PyR7YXV0aERhdGF9YCk7XG4gICAgICBpZiAoIXJlc3BvbnNlIHx8ICFyZXNwb25zZS51c2VyKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIFRlbGVncmFtIGxvZ2luIHJlc3BvbnNlLlwiKTtcbiAgICAgIHJldHVybiByZXNwb25zZS51c2VyO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cblxuXG4gIGNvbnN0IGhhbmRsZVRlbGVncmFtTG9naW4gPSB1c2VDYWxsYmFjayhhc3luYyAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBldmVudE9yaWdpbiA9IG5ldyBVUkwoZXZlbnQub3JpZ2luKS5ob3N0bmFtZTtcblxuICAgICAgLy8g4pyFIFN0cmljdGx5IGNoZWNrIGV2ZW50IG9yaWdpblxuICAgICAgaWYgKCFURUxFR1JBTV9BTExPV0VEX09SSUdJTlMuc29tZShkb21haW4gPT4gZXZlbnRPcmlnaW4uZW5kc1dpdGgoZG9tYWluKSkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiVW5hdXRob3JpemVkIGV2ZW50IG9yaWdpbjpcIiwgZXZlbnRPcmlnaW4pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cblxuICAgICAgY29uc3QgZGF0YSA9IHR5cGVvZiBldmVudC5kYXRhID09PSBcInN0cmluZ1wiID8gSlNPTi5wYXJzZShldmVudC5kYXRhKSA6IGV2ZW50LmRhdGE7XG4gICAgICBjb25zb2xlLmxvZygnZGF0YS5hdXRoX2RhdGEgOjo6JywgZGF0YT8uYXV0aF9kYXRhKVxuICAgICAgaWYgKCFkYXRhPy5hdXRoX2RhdGEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyDinIUgUHJldmVudCBkdXBsaWNhdGUgbG9naW5zIGJ5IGNoZWNraW5nIHNlc3Npb24gc3RvcmFnZVxuICAgICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJ0ZWxlZ3JhbVVzZXJcIikpIHJldHVybjtcblxuICAgICAgY29uc3QgdXNlciA9IGF3YWl0IGZldGNoVGVsZWdyYW1Vc2VyKG5ldyBVUkxTZWFyY2hQYXJhbXMoZGF0YS5hdXRoX2RhdGEpLnRvU3RyaW5nKCkpO1xuXG4gICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9O1xuXG4gICAgICAvLyDinIUgRW5jcnlwdCB1c2VyIGRhdGEgYmVmb3JlIHNhdmluZyB0byBzZXNzaW9uU3RvcmFnZVxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcInRlbGVncmFtVXNlclwiLCBKU09OLnN0cmluZ2lmeSh1c2VyKSk7XG5cbiAgICAgIGNvbnN0IGxvZ2luQm9keSA9IHsgdGVsZWdyYW1faWQ6IHVzZXIuaWQsIHVzZXJuYW1lOiBgJHt1c2VyLmlkfS0ke3VzZXIudXNlcm5hbWUgfHwgdXNlci5maXJzdF9uYW1lIHx8IHVzZXIubGFzdF9uYW1lfWAsIH07XG5cbiAgICAgIGNvbnN0IGV4aXN0aW5nVXNlciA9IGF3YWl0IHVzZXJUZWxlZ3JhbVNlcnZpY2UodXNlci5pZCk7XG4gICAgICBpZiAoZXhpc3RpbmdVc2VyKSB7XG4gICAgICAgIGRpc3BhdGNoKGxvZ2luVGVsZWdyYW1Vc2VyQWN0aW9uKGxvZ2luQm9keSkpO1xuXG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHVzZXIgbm90IGZvdW5kIHRvZG9cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgbWVzc2FnZUFwaS5lcnJvcihcIkZhaWxlZCB0byBhdXRoZW50aWNhdGUgd2l0aCBUZWxlZ3JhbS5cIik7XG4gICAgfVxuICB9LCBbZGlzcGF0Y2gsIG1lc3NhZ2VBcGldKTtcblxuICAvKiog4pyFIEhhbmRsZSBhdXRoZW50aWNhdGlvbiBlcnJvcnMgKi9cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9naW5FcnJvck1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2VBcGkuZXJyb3IobG9naW5FcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgfSwgW2xvZ2luRXJyb3JNZXNzYWdlLCBtZXNzYWdlQXBpXSk7XG5cbiAgLyoqIOKchSBIYW5kbGUgdXNlciByZWRpcmVjdGlvbiAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghY3VycmVudFVzZXIpIHJldHVybjtcbiAgICAvLyBNYXJrIHVzZXIgYXR0ZW5kYW5jZVxuICAgIGNvbnN0IGF0dGVuZGFuY2VCb2R5ID0ge1xuICAgICAgdXNlcl9pZDogY3VycmVudFVzZXIuaWQsXG4gICAgICBtZWV0aW5nX25vdGU6IGDwn5OiIOGen+GevOGemOGeouGelOGeouGemuGen+GetuGekeGemiDhnpPhnrfhnoThnp/hnrzhnpjhnqLhnonhn5Lhnofhnr7hnonhnoXhnrzhnpvhnprhnr3hnpjhnp/hnrfhnoDhn5LhnoHhnrbhnp/hnrbhnpvhnrbhno/hnpjhn5LhnprhnoThn4vhnpHhnrfhnp8g4Z6W4Z+Q4Z6P4Z+M4Z6Y4Z624Z6T4Z6b4Z6Y4Z+S4Z6i4Z634Z6PIOGemOGeu+Gek+GeluGfgeGem+GeheGfgeGeieGeiuGfhuGejuGevuGemlxcbihPcmllbnRhdGlvbiBXb3Jrc2hvcCkg4Z6a4Z6Z4Z+I4Z6W4Z+B4Z6b4Z6Y4Z694Z6Z4Z6W4Z+S4Z6a4Z654Z6AXFxuXFxu8J+TnSAqKuGeguGejuGfiOGegOGemOGfkuGemOGegOGetuGemuGen+GevOGemOGeouGeieGfkuGeh+GevuGeieGem+GfhOGegOGeouGfkuGek+GegOGeheGevOGem+GemuGeveGemOGen+Get+GegOGfkuGegeGetuGen+GetuGem+GetuGej+GemOGfkuGemuGehOGfi+GekeGet+GenyDhnpPhnrfhnoThnpXhn5Lhno/hnpvhn4vhnofhnrzhnpPhnpPhnrzhnpzhnpbhn5Dhno/hn4zhnpjhnrbhnpPhnpvhnpjhn5LhnqLhnrfhno8gXFxu4Z6K4Z6+4Z6Y4Z+S4Z6U4Z644Z6a4Z+A4Z6U4Z6F4Z+G4Z6B4Z+S4Z6b4Z694Z6T4Z6H4Z624Z6i4Z+S4Z6T4Z6A4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6P4Z6A4Z+S4Z6T4Z674Z6EIOGeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjeGeouGehOGfkuGeguGemuGen+GehOGfkuGeguGfkuGemuGetuGek+GfkuGejyDhn6Lhn6Dhn6Lhn6VcXG5cXG7wn5OFIOGegOGetuGem+GelOGemuGet+GeheGfkuGehuGfgeGekeGfliDhnpDhn5LhnoThn4Phnp/hn4Xhnprhn40g4Z6R4Z64IOGfpSDhnoHhn4Lhnpjhn4Hhnp/hnrYg4Z6G4Z+S4Z6T4Z624Z+G4Z+i4Z+g4Z+i4Z+lXFxu4o+wIOGeluGfgeGem+GenOGfgeGem+GetuGfliDhn6c64Z+j4Z+gIOGeluGfkuGemuGeueGegFxcbvCfk40g4Z6R4Z644Z6P4Z624Z+G4Z6E4Z+WIOGen+GetuGem+GelOGfkuGemuGeh+Geu+GfhuGen+GetuGem+GetuGej+Get+GeheGejuGevChJVEMpXFxu8J+RlSDhnp/hnpjhn5Lhnpvhn4DhnoDhnpThn4bhnpbhnrbhnoDhn4vhn5Yg4Z6f4Z6Y4Z6a4Z6Y4Z+S4Z6ZXFxuXFxu8J+TniDhnp/hnrzhnpjhnpThnonhn5LhnofhnrbhnoDhn4vhnpzhno/hn5Lhno/hnpjhnrbhnpPhnpHhn4XhnoDhn5LhnprhnrvhnpjhnoDhnrbhnprhnoThnrbhnprhnprhnpThnp/hn4vhnoHhn5Lhnpvhnr3hnpNgLFxuICAgICAgbWVldGluZ190aW1lOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksIC8vIFVzZSBJU08gc3RyaW5nIGZvciBjb25zaXN0ZW50IGRhdGUgZm9ybWF0XG4gICAgfTtcblxuICAgIGRpc3BhdGNoKHVzZXJBdHRlbmRhbmNlQWN0aW9uKGF0dGVuZGFuY2VCb2R5KSk7IC8vIE1hcmsgYXR0ZW5kYW5jZVxuICAgIC8vIFNob3cgc3VjY2VzcyBhbGVydCB1c2luZyBTd2VldEFsZXJ0MlxuICAgIC8vIEludHJvZHVjaW5nIGEgZGVsYXkgYmVmb3JlIHNob3dpbmcgdGhlIHN1Y2Nlc3MgYWxlcnRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHRpdGxlOiBcIlN1Y2Nlc3MhXCIsXG4gICAgICAgIHRleHQ6IFwiQXR0ZW5kYW5jZSBoYXMgYmVlbiBtYXJrZWQgc3VjY2Vzc2Z1bGx5LlwiLFxuICAgICAgICBpY29uOiBcInN1Y2Nlc3NcIixcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiT0tcIixcbiAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0LmlzQ29uZmlybWVkKSB7XG4gICAgICAgICAgLy8gTmF2aWdhdGUgdG8gdGhlIHZvbHVudGVlcnMgcGFnZSBhZnRlciB0aGUgYWxlcnRcbiAgICAgICAgICBuYXZpZ2F0ZShcIi92b2x1bnRlZXJzXCIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCAxMDAwKTsgLy8gRGVsYXkgZm9yIDEgc2Vjb25kICgxMDAwIG1zKVxuICAgIGNvbnN0IGZldGNoVm9sdW50ZWVyc0RhdGEgPSBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGRpc3BhdGNoKGZldGNoVm9sdW50ZWVycyh7IHBhZ2U6IDEsIHBhZ2VTaXplOiAxIH0pKTtcbiAgICAgICAgY29uc3Qgdm9sdW50ZWVyc0NvdW50ID0gcmVzcG9uc2U/LnBheWxvYWQ/Lm1ldGE/LnRvdGFsIHx8IDA7XG5cbiAgICAgICAgLy8gRGVsYXkgZm9yIDMgc2Vjb25kcyBiZWZvcmUgcmVkaXJlY3RpbmdcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHZvbHVudGVlcnNDb3VudCA+IDApIHtcbiAgICAgICAgICAgIG5hdmlnYXRlKGN1cnJlbnRVc2VyLnJvbGUgIT09IFwidXNlclwiID8gXCIvXCIgOiBcIi92b2x1bnRlZXJzXCIsIHsgcmVwbGFjZTogdHJ1ZSB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmF2aWdhdGUoY3VycmVudFVzZXIucm9sZSAhPT0gXCJ1c2VyXCIgPyBcIi9cIiA6IFwiL3JlZ2lzdGVyXCIsIHsgcmVwbGFjZTogdHJ1ZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDMwMDApOyAvLyAzLXNlY29uZCBkZWxheSAoMzAwMCBtcylcblxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGZldGNoaW5nIHZvbHVudGVlcnM6XCIsIGVycm9yKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZmV0Y2hWb2x1bnRlZXJzRGF0YSgpO1xuXG4gIH0sIFtjdXJyZW50VXNlciwgbmF2aWdhdGUsIGRpc3BhdGNoXSk7IC8vIOKchSBFbnN1cmUgZGVwZW5kZW5jaWVzIGFyZSBjb3JyZWN0XG5cblxuICAvLyDinIUgTG9hZCBzZXNzaW9uIG9uIHBhZ2UgcmVmcmVzaCAmIHNldCB1cCBUZWxlZ3JhbSBsb2dpbiBidXR0b25cbiAgdXNlRWZmZWN0KCgpID0+IHtcblxuICAgIGNvbnN0IHNhdmVkVXNlciA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJ0ZWxlZ3JhbVVzZXJcIik7XG5cbiAgICBpZiAoc2F2ZWRVc2VyICYmICFjdXJyZW50VXNlcikge1xuICAgICAgZGlzcGF0Y2gobG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24oSlNPTi5wYXJzZShzYXZlZFVzZXIpKSk7XG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZVRlbGVncmFtTG9naW4pO1xuXG4gICAgY29uc3Qgc2NyaXB0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgc2NyaXB0RWxlbWVudC5zcmMgPSBcImh0dHBzOi8vdGVsZWdyYW0ub3JnL2pzL3RlbGVncmFtLXdpZGdldC5qcz8yMlwiO1xuICAgIHNjcmlwdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS10ZWxlZ3JhbS1sb2dpblwiLCBURUxFR1JBTV9CT1RfVVNFUk5BTUUpO1xuICAgIHNjcmlwdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1zaXplXCIsIFwibGFyZ2VcIik7XG4gICAgc2NyaXB0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLXJlcXVlc3QtYWNjZXNzXCIsIFwid3JpdGVcIik7XG4gICAgc2NyaXB0RWxlbWVudC5hc3luYyA9IHRydWU7XG5cbiAgICBpZiAodGVsZWdyYW1XcmFwcGVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIHRlbGVncmFtV3JhcHBlclJlZi5jdXJyZW50LmlubmVySFRNTCA9IFwiXCI7XG4gICAgICB0ZWxlZ3JhbVdyYXBwZXJSZWYuY3VycmVudC5hcHBlbmRDaGlsZChzY3JpcHRFbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZVRlbGVncmFtTG9naW4pO1xuICAgIH07XG4gIH0sIFtoYW5kbGVUZWxlZ3JhbUxvZ2luLCBkaXNwYXRjaCwgY3VycmVudFVzZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZnQtc2VjdGlvblwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyaWdodC1zZWN0aW9uXCI+XG4gICAgICAgIHtjb250ZXh0SG9sZGVyfVxuICAgICAgICA8Q2FyZCBjbGFzc05hbWU9XCJjYXJkXCIgc3R5bGU9e3sgbWF4V2lkdGg6IDQwMCB9fT5cbiAgICAgICAgICA8aDI+TG9naW4gd2l0aCBUZWxlZ3JhbTwvaDI+XG4gICAgICAgICAgPGRpdiByZWY9e3RlbGVncmFtV3JhcHBlclJlZn0+PC9kaXY+XG4gICAgICAgIDwvQ2FyZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVGVsZWdyYW1Mb2dpbkF0dGVuZGFuY2U7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbi8vIGltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgTG9ja091dGxpbmVkLCBVc2VyT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQsIENoZWNrYm94LCBGb3JtLCBJbnB1dCwgbWVzc2FnZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbmltcG9ydCB7IGxvZ2luVXNlckFjdGlvbiB9IGZyb20gJy4uL2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICdAL3NoYXJlZC9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyBMb2dpbkZvcm1WYWx1ZXMgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcblxuY29uc3QgTG9naW5Gb3JtOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgW21lc3NhZ2VBcGksIGNvbnRleHRIb2xkZXJdID0gbWVzc2FnZS51c2VNZXNzYWdlKCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBpc0xvZ2luUGVuZGluZywgbG9naW5FcnJvck1lc3NhZ2UsIGN1cnJlbnRVc2VyIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuYXV0aCxcbiAgKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXG4gIGNvbnN0IG9uRmluaXNoID0gKHZhbHVlczogTG9naW5Gb3JtVmFsdWVzKTogdm9pZCA9PiB7XG4gICAgKGFzeW5jICgpID0+IHtcbiAgICAgIGRpc3BhdGNoKGxvZ2luVXNlckFjdGlvbih2YWx1ZXMpKTtcbiAgICB9KSgpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvZ2luRXJyb3JNZXNzYWdlKSB7XG4gICAgICBjb25zb2xlLmxvZyhgbG9naW5FcnJvck1lc3NhZ2U9PiAke2xvZ2luRXJyb3JNZXNzYWdlfWApO1xuICAgICAgbWVzc2FnZUFwaS5vcGVuKHtcbiAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgY29udGVudDogbG9naW5FcnJvck1lc3NhZ2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtsb2dpbkVycm9yTWVzc2FnZSwgaXNMb2dpblBlbmRpbmddKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjdXJyZW50VXNlcikge1xuICAgICAgbmF2aWdhdGUoJy8nKTtcbiAgICB9XG4gIH0sIFtjdXJyZW50VXNlciwgbmF2aWdhdGVdKTtcblxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBoZWlnaHQ6ICc2MHZoJywgLy8gRmlsbCB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXdwb3J0XG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjb250ZXh0SG9sZGVyfVxuICAgICAgPENhcmQgc3R5bGU9e3sgbWF4V2lkdGg6IDQwMCwgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgeycgJ31cbiAgICAgICAgey8qIEFkanVzdCBjYXJkIHdpZHRoIGZvciByZXNwb25zaXZlbmVzcyAqL31cbiAgICAgICAgPGgyIHN0eWxlPXt7IHRleHRBbGlnbjogJ2NlbnRlcicgfX0+TG9naW48L2gyPlxuICAgICAgICA8Rm9ybVxuICAgICAgICAgIG5hbWU9J25vcm1hbF9sb2dpbidcbiAgICAgICAgICBjbGFzc05hbWU9J2xvZ2luLWZvcm0nXG4gICAgICAgICAgaW5pdGlhbFZhbHVlcz17eyByZW1lbWJlcjogdHJ1ZSB9fVxuICAgICAgICAgIG9uRmluaXNoPXtvbkZpbmlzaH1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgIG5hbWU9J2VtYWlsJ1xuICAgICAgICAgICAgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAnUGxlYXNlIGlucHV0IHlvdXIgZW1haWwhJyB9XX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgcHJlZml4PXs8VXNlck91dGxpbmVkIGNsYXNzTmFtZT0nc2l0ZS1mb3JtLWl0ZW0taWNvbicgLz59XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSdFLW1haWwnXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgIG5hbWU9J3Bhc3N3b3JkJ1xuICAgICAgICAgICAgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAnUGxlYXNlIGlucHV0IHlvdXIgUGFzc3dvcmQhJyB9XX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgcHJlZml4PXs8TG9ja091dGxpbmVkIGNsYXNzTmFtZT0nc2l0ZS1mb3JtLWl0ZW0taWNvbicgLz59XG4gICAgICAgICAgICAgIHR5cGU9J3Bhc3N3b3JkJ1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0nUGFzc3dvcmQnXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIG5hbWU9J3JlbWVtYmVyJyB2YWx1ZVByb3BOYW1lPSdjaGVja2VkJyBub1N0eWxlPlxuICAgICAgICAgICAgICA8Q2hlY2tib3g+UmVtZW1iZXIgbWU8L0NoZWNrYm94PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Gb3JtLkl0ZW0+XG5cbiAgICAgICAgICA8Rm9ybS5JdGVtPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBibG9ja1xuICAgICAgICAgICAgICB0eXBlPSdwcmltYXJ5J1xuICAgICAgICAgICAgICBodG1sVHlwZT0nc3VibWl0J1xuICAgICAgICAgICAgICBjbGFzc05hbWU9J2xvZ2luLWZvcm0tYnV0dG9uJ1xuICAgICAgICAgICAgICBsb2FkaW5nPXtpc0xvZ2luUGVuZGluZ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgTG9nIGluXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgPC9Gb3JtPlxuICAgICAgPC9DYXJkPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTG9naW5Gb3JtO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7UVJDb2RlQ2FudmFzfSBmcm9tICdxcmNvZGUucmVhY3QnO1xuXG5jb25zdCBWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFt2b2x1bnRlZXJJZCwgc2V0Vm9sdW50ZWVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBIZXJlIHlvdSB3b3VsZCBmZXRjaCBvciBjcmVhdGUgYSB1bmlxdWUgdm9sdW50ZWVyIElEIG9yIG1lZXRpbmcgSURcbiAgICAvLyBGb3IgZXhhbXBsZSwgbGV0J3MgYXNzdW1lIGB2b2x1bnRlZXJJZGAgaXMgZHluYW1pY2FsbHkgYXNzaWduZWQgZm9yIGVhY2ggc2Vzc2lvbi5cbiAgICBjb25zdCBmZXRjaFZvbHVudGVlcklkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gVGhpcyBjYW4gYmUgYW4gQVBJIGNhbGwgb3IgYSBsb2dpYyB0byBnZW5lcmF0ZSB0aGUgdW5pcXVlIG1lZXRpbmcgSURcbiAgICAgIHNldFZvbHVudGVlcklkKFwidW5pcXVlLXZvbHVudGVlci1pZC0xMjNcIik7IC8vIEV4YW1wbGUgdm9sdW50ZWVyIElEXG4gICAgfTtcblxuICAgIGZldGNoVm9sdW50ZWVySWQoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJhdHRlbmRhbmNlLXBhZ2VcIj5cbiAgICAgIDxoMj5Wb2x1bnRlZXIgQXR0ZW5kYW5jZTwvaDI+XG4gICAgICA8cD5TY2FuIHRoZSBRUiBjb2RlIHRvIGNoZWNrLWluIGZvciB5b3VyIG1lZXRpbmcuPC9wPlxuICAgICAge3ZvbHVudGVlcklkICYmIChcbiAgICAgICAgPFFSQ29kZUNhbnZhc1xuICAgICAgICAgIHZhbHVlPVwiaHR0cHM6Ly92b2x1bnRlZXJmb3JjYW1ib2RpYS5jb20vYXR0ZW5kYW5jZVwiIC8vIFRoaXMgbGluayBzaG91bGQgcmVkaXJlY3QgdG8gYSBwYWdlIGZvciBUZWxlZ3JhbSBsb2dpbi5cbiAgICAgICAgICBzaXplPXsyNTZ9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVm9sdW50ZWVyQXR0ZW5kYW5jZVBhZ2U7XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBESVNBQklMSVRZX1RZUEVTLCBESVNBQklMSVRZX1RZUEUsIERJU0FCSUxJVFlfVFlQRV9ERUxFVEUsIERJU0FCSUxJVFlfVFlQRV9DUkVBVEUsIERJU0FCSUxJVFlfVFlQRV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBkaXNhYmlsaXR5VHlwZXNTZXJ2aWNlLCBkaXNhYmlsaXR5VHlwZURldGFpbFNlcnZpY2UsIGNyZWF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSwgdXBkYXRlRGlzYWJpbGl0eVR5cGVTZXJ2aWNlLCBkZWxldGVEaXNhYmlsaXR5VHlwZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IERpc2FiaWxpdHlUeXBlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEaXNhYmlsaXR5VHlwZVBhZ2luYXRpb24sIERpc2FiaWxpdHlUeXBlUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hEaXNhYmlsaXR5VHlwZXMgPSBjcmVhdGVBc3luY1RodW5rPERpc2FiaWxpdHlUeXBlUGFnaW5hdGlvbiwgRGlzYWJpbGl0eVR5cGVQYXJhbXM+KFxuICBESVNBQklMSVRZX1RZUEVTLFxuICBhc3luYyAoeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGRpc2FiaWxpdHlUeXBlc1NlcnZpY2Uoc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkIHRvIGZldGNoIGRpc2FiaWxpdHkgdHlwZXNcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIERJU0FCSUxJVFlfVFlQRSxcbiAgZGlzYWJpbGl0eVR5cGVEZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8RGlzYWJpbGl0eVR5cGUsIHsgZGF0YTogRGlzYWJpbGl0eVR5cGUgfT4oXG4gIERJU0FCSUxJVFlfVFlQRV9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlRGlzYWJpbGl0eVR5cGVTZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGRpc2FiaWxpdHkgdHlwZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8RGlzYWJpbGl0eVR5cGUsIHsgaWQ6IG51bWJlcjsgZGF0YTogRGlzYWJpbGl0eVR5cGUgfT4oXG4gIERJU0FCSUxJVFlfVFlQRV9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZURpc2FiaWxpdHlUeXBlU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgZGlzYWJpbGl0eSB0eXBlXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBESVNBQklMSVRZX1RZUEVfREVMRVRFLFxuICBkZWxldGVEaXNhYmlsaXR5VHlwZVNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBESVNBQklMSVRZX1RZUEVTID0gJ2Rpc2FiaWxpdHktdHlwZXMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IERJU0FCSUxJVFlfVFlQRSA9ICdkaXNhYmlsaXR5LXR5cGVzL2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgRElTQUJJTElUWV9UWVBFX0NSRUFURSA9ICdkaXNhYmlsaXR5LXR5cGVzL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgRElTQUJJTElUWV9UWVBFX1VQREFURSA9ICdkaXNhYmlsaXR5LXR5cGVzL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgRElTQUJJTElUWV9UWVBFX0RFTEVURSA9ICdkaXNhYmlsaXR5LXR5cGVzL2RlbGV0ZSc7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBEaXNhYmlsaXR5VHlwZSwgRGlzYWJpbGl0eVR5cGVTdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hEaXNhYmlsaXR5VHlwZXMsIHVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLCBkaXNhYmlsaXR5VHlwZURldGFpbEFjdGlvbiwgY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24sIGRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IERJU0FCSUxJVFlfVFlQRSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBEaXNhYmlsaXR5VHlwZVN0YXRlID0ge1xuICBkaXNhYmlsaXR5VHlwZXM6IFtdLFxuICBkaXNhYmlsaXR5VHlwZTogbnVsbCxcbiAgZGlzYWJpbGl0eVR5cGVzUGVuZGluZzogZmFsc2UsXG4gIGRpc2FiaWxpdHlUeXBlRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIGRpc2FiaWxpdHlUeXBlQ3JlYXRlUGVuZGluZzogZmFsc2UsXG4gIGRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZzogZmFsc2UsXG4gIGRpc2FiaWxpdHlUeXBlRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBkaXNhYmlsaXR5VHlwZVNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBESVNBQklMSVRZX1RZUEUsXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IGRpc2FiaWxpdHlUeXBlXG4gICAgc2V0RGlzYWJpbGl0eVR5cGU6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPERpc2FiaWxpdHlUeXBlPikgPT4ge1xuICAgICAgc3RhdGUuZGlzYWJpbGl0eVR5cGUgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgZGlzYWJpbGl0eSB0eXBlXG4gICAgICAuYWRkQ2FzZShmZXRjaERpc2FiaWxpdHlUeXBlcy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZGlzYWJpbGl0eVR5cGVzUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBkaXNhYmlsaXR5IHR5cGVzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaERpc2FiaWxpdHlUeXBlcy5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZGlzYWJpbGl0eVR5cGVzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggZGlzYWJpbGl0eSB0eXBlcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIGRpc2FiaWxpdHkgdHlwZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoRGlzYWJpbGl0eVR5cGVzLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlcyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBkaXNhYmlsaXR5IHR5cGUgZGV0YWlsXG4gICAgICAuYWRkQ2FzZShkaXNhYmlsaXR5VHlwZURldGFpbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZGlzYWJpbGl0eVR5cGVEZXRhaWxQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIGRpc2FiaWxpdHkgdHlwZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGRpc2FiaWxpdHkgdHlwZXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBkaXNhYmlsaXR5IHR5cGVzIGZldGNoXG4gICAgICAuYWRkQ2FzZShkaXNhYmlsaXR5VHlwZURldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZSA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGRpc2FiaWxpdHlUeXBlIGNyZWF0ZVxuICAgICAgLmFkZENhc2UoY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIGRpc2FiaWxpdHkgdHlwZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGRpc2FiaWxpdHlUeXBlIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIGRpc2FiaWxpdHkgdHlwZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGRpc2FiaWxpdHlUeXBlIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIGRpc2FiaWxpdHkgdHlwZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVEaXNhYmlsaXR5VHlwZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBzZXRSZWdpc3RlckVycm9yTWVzc2FnZSwgc2V0RGlzYWJpbGl0eVR5cGUgfSA9IGRpc2FiaWxpdHlUeXBlU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgZGlzYWJpbGl0eVR5cGVTbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgRGlzYWJpbGl0eVR5cGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgZGlzYWJpbGl0eVR5cGVzU2VydmljZSA9IGFzeW5jKHNlYXJjaDogc3RyaW5nLCBwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLkRJU0FCSUxJVFlfVFlQRSwgeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplIH0pXG59XG5cbmV4cG9ydCBjb25zdCBkaXNhYmlsaXR5VHlwZURldGFpbFNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKGAke1VSTC5ESVNBQklMSVRZX1RZUEV9JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlRGlzYWJpbGl0eVR5cGVTZXJ2aWNlID0gYXN5bmMgKGRhdGE6IERpc2FiaWxpdHlUeXBlKTogUHJvbWlzZTxEaXNhYmlsaXR5VHlwZT4gPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoYCR7VVJMLkRJU0FCSUxJVFlfVFlQRX1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVEaXNhYmlsaXR5VHlwZVNlcnZpY2UgPSBhc3luYyAoaWQ6IG51bWJlciwgZGF0YTogRGlzYWJpbGl0eVR5cGUpOiBQcm9taXNlPERpc2FiaWxpdHlUeXBlPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5ESVNBQklMSVRZX1RZUEV9JHtpZH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVEaXNhYmlsaXR5VHlwZVNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PntcbiAgcmV0dXJuIGF3YWl0IHJlbW92ZVdpdGhDb25maWcoYCR7VVJMLkRJU0FCSUxJVFlfVFlQRX0ke2lkfWApXG59XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBFRFVDQVRJT05fSU5TVElUVVRJT05TLCBFRFVDQVRJT05fSU5TVElUVVRJT04sIEVEVUNBVElPTl9JTlNUSVRVVElPTl9ERUxFVEUsIEVEVUNBVElPTl9JTlNUSVRVVElPTl9DUkVBVEUsIEVEVUNBVElPTl9JTlNUSVRVVElPTl9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBlZHVjYXRpb25JbnN0aXR1dGlvbnNTZXJ2aWNlLCBlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbFNlcnZpY2UsIGNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSwgdXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlLCBkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IEVkdWNhdGlvbkluc3RpdHV0aW9uIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFZHVjYXRpb25JbnN0aXR1dGlvblBhZ2luYXRpb24sIEVkdWNhdGlvbkluc3RpdHV0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hFZHVjYXRpb25JbnN0aXR1dGlvbnMgPSBjcmVhdGVBc3luY1RodW5rPEVkdWNhdGlvbkluc3RpdHV0aW9uUGFnaW5hdGlvbiwgRWR1Y2F0aW9uSW5zdGl0dXRpb25QYXJhbXM+KFxuICBFRFVDQVRJT05fSU5TVElUVVRJT05TLFxuICBhc3luYyAoeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGVkdWNhdGlvbkluc3RpdHV0aW9uc1NlcnZpY2Uoc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkIHRvIGZldGNoIGVkdWNhdGlvbiBpbnN0aXR1dGlvblwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgRURVQ0FUSU9OX0lOU1RJVFVUSU9OLFxuICBlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxFZHVjYXRpb25JbnN0aXR1dGlvbiwgeyBkYXRhOiBFZHVjYXRpb25JbnN0aXR1dGlvbiB9PihcbiAgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byBjcmVhdGUgZWR1Y2F0aW9uIGluc3RpdHV0aW9uXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxFZHVjYXRpb25JbnN0aXR1dGlvbiwgeyBpZDogbnVtYmVyOyBkYXRhOiBFZHVjYXRpb25JbnN0aXR1dGlvbiB9PihcbiAgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlKGlkLCBkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIHVwZGF0ZSBlZHVjYXRpb24gaW5zdGl0dXRpb25cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEVEVUNBVElPTl9JTlNUSVRVVElPTl9ERUxFVEUsXG4gIGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZVxuKVxuIiwiZXhwb3J0IGNvbnN0IEVEVUNBVElPTl9JTlNUSVRVVElPTlMgPSAnZWR1Y2F0aW9uLWluc3RpdHV0aW9ucy9mZXRjaEFsbCc7XG5leHBvcnQgY29uc3QgRURVQ0FUSU9OX0lOU1RJVFVUSU9OID0gJ2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBFRFVDQVRJT05fSU5TVElUVVRJT05fQ1JFQVRFID0gJ2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvY3JlYXRlJztcbmV4cG9ydCBjb25zdCBFRFVDQVRJT05fSU5TVElUVVRJT05fVVBEQVRFID0gJ2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvdXBkYXRlJztcbmV4cG9ydCBjb25zdCBFRFVDQVRJT05fSU5TVElUVVRJT05fREVMRVRFID0gJ2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEVkdWNhdGlvbkluc3RpdHV0aW9uLCBFZHVjYXRpb25JbnN0aXR1dGlvblN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucywgdXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24sIGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uLCBjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiwgZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgRURVQ0FUSU9OX0lOU1RJVFVUSU9OIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IEVkdWNhdGlvbkluc3RpdHV0aW9uU3RhdGUgPSB7XG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uczogW10sXG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uOiBudWxsLFxuICBlZHVjYXRpb25JbnN0aXR1dGlvbnNQZW5kaW5nOiBmYWxzZSxcbiAgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxQZW5kaW5nOiBmYWxzZSxcbiAgZWR1Y2F0aW9uSW5zdGl0dXRpb25DcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nOiBmYWxzZSxcbiAgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZWxldGVQZW5kaW5nOiBmYWxzZSxcbiAgcmVnaXN0ZXJFcnJvck1lc3NhZ2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IGVkdWNhdGlvbkluc3RpdHV0aW9uU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IEVEVUNBVElPTl9JTlNUSVRVVElPTixcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIC8vIFNldHMgdGhlIGN1cnJlbnQgZWR1Y2F0aW9uSW5zdGl0dXRpb25cbiAgICBzZXRFZHVjYXRpb25JbnN0aXR1dGlvbjogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248RWR1Y2F0aW9uSW5zdGl0dXRpb24+KSA9PiB7XG4gICAgICBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbiA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG5cbiAgICAvLyBVcGRhdGVzIHRoZSByZWdpc3RlciBlcnJvciBtZXNzYWdlXG4gICAgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcblxuICBleHRyYVJlZHVjZXJzOiAoYnVpbGRlcikgPT4ge1xuICAgIGJ1aWxkZXJcbiAgICAgIC8vIGhhbmRsZSBlZHVjYXRpb24gaW5zdGl0dXRpb25cbiAgICAgIC5hZGRDYXNlKGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbnNQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbnNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBlZHVjYXRpb24gaW5zdGl0dXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgZWR1Y2F0aW9uIGluc3RpdHV0aW9ucyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hFZHVjYXRpb25JbnN0aXR1dGlvbnMuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25zID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGVkdWNhdGlvbiBpbnN0aXR1dGlvbiBkZXRhaWxcbiAgICAgIC5hZGRDYXNlKGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgZWR1Y2F0aW9uIGluc3RpdHV0aW9ucyBmZXRjaFxuICAgICAgLmFkZENhc2UoZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggZWR1Y2F0aW9uIGluc3RpdHV0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgZWR1Y2F0aW9uSW5zdGl0dXRpb24gY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgZWR1Y2F0aW9uIGluc3RpdHV0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgZWR1Y2F0aW9uSW5zdGl0dXRpb24gdXBkYXRlXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byB1cGRhdGUgZWR1Y2F0aW9uIGluc3RpdHV0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgZWR1Y2F0aW9uSW5zdGl0dXRpb24gZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBkZWxldGUgZWR1Y2F0aW9uIGluc3RpdHV0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7IHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBzZXRFZHVjYXRpb25JbnN0aXR1dGlvbiB9ID0gZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZS5hY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCBlZHVjYXRpb25JbnN0aXR1dGlvblNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBFZHVjYXRpb25JbnN0aXR1dGlvbiB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBlZHVjYXRpb25JbnN0aXR1dGlvbnNTZXJ2aWNlID0gYXN5bmMoc2VhcmNoOiBzdHJpbmcsIHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuRURVQ0FUSU9OX0lOU1RJVFVUSU9OLCB7IHNlYXJjaCwgcGFnZSwgcGFnZVNpemUgfSlcbn1cblxuZXhwb3J0IGNvbnN0IGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLkVEVUNBVElPTl9JTlNUSVRVVElPTn0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2UgPSBhc3luYyAoZGF0YTogRWR1Y2F0aW9uSW5zdGl0dXRpb24pOiBQcm9taXNlPEVkdWNhdGlvbkluc3RpdHV0aW9uPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuRURVQ0FUSU9OX0lOU1RJVFVUSU9OfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBFZHVjYXRpb25JbnN0aXR1dGlvbik6IFByb21pc2U8RWR1Y2F0aW9uSW5zdGl0dXRpb24+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLkVEVUNBVElPTl9JTlNUSVRVVElPTn0ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuRURVQ0FUSU9OX0lOU1RJVFVUSU9OfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7UFJPVklOQ0VTLCBESVNUUklDVCwgQ09NTVVORSwgVklMTEFHRSwgRkFNSUxZX1NVUlZFWVMsIEZBTUlMWV9TVVJWRVksIEZBTUlMWV9TVVJWRVlfQ1JFQVRFLCBGQU1JTFlfU1VSVkVZX1VQREFURSwgRkFNSUxZX1NVUlZFWV9ERUxFVEUsIFRSQU5TUE9SVEFUSU9OfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBjb21tdW5lU2VydmljZSwgY3JlYXRlRmFtaWx5U2VydmljZSwgZGVsZXRlRmFtaWx5U2VydmljZSwgZGlzdHJpY3RTZXJ2aWNlLCBmYW1pbHlEZXRhaWxTZXJ2aWNlLCBmYW1pbHlTZXJ2aWNlLCBwcm92aW5jZVNlcnZpY2UsIHRyYW5zcG9ydGF0aW9uU2VydmljZSwgdXBkYXRlRmFtaWx5U2VydmljZSwgdmlsbGFnZVNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ3JlYXRlRmFtaWx5TWVtYmVyLCBGYW1pbHlQYWdpbmF0aW9uLCBGYW1pbHlQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbmRleCc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaFByb3ZpbmNlOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBQUk9WSU5DRVMsXG4gIHByb3ZpbmNlU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IGZldGNoRGlzdHJpY3Q6IGFueSA9IGNyZWF0ZUFzeW5jVGh1bms8YW55LHtpZDogbnVtYmVyfT4oXG4gIERJU1RSSUNULFxuICBhc3luYyAoeyBpZCB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnNvbGUubG9nKCdwcm92aW5jZUlkOjo6OicsIGlkKVxuICAgICAgcmV0dXJuIGF3YWl0IGRpc3RyaWN0U2VydmljZShpZCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGZldGNoQ29tbXVuZTogYW55ID0gY3JlYXRlQXN5bmNUaHVuazxhbnkse2lkOiBudW1iZXJ9PihcbiAgQ09NTVVORSxcbiAgYXN5bmMgKHsgaWQgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY29tbXVuZVNlcnZpY2UoaWQpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRldGFpbCB8fCBcIkZhaWxlZFwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBmZXRjaFZpbGxhZ2VTZXJ2aWNlOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rPGFueSx7aWQ6IG51bWJlcn0+KFxuICBWSUxMQUdFLFxuICBhc3luYyAoeyBpZCB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB2aWxsYWdlU2VydmljZShpZCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGZldGNoVHJhbnNwb3J0YXRpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIFRSQU5TUE9SVEFUSU9OLFxuICB0cmFuc3BvcnRhdGlvblNlcnZpY2Vcbik7XG5cbmV4cG9ydCBjb25zdCBmZXRjaEZhbWlseVN1cnZleSA9IGNyZWF0ZUFzeW5jVGh1bms8RmFtaWx5UGFnaW5hdGlvbiwgRmFtaWx5UGFyYW1zPihcbiAgRkFNSUxZX1NVUlZFWVMsXG4gIGFzeW5jICh7IHNlYXJjaCwgcGFnZSwgcGFnZVNpemUsIGdlbmRlciwgdG90YWxfbWVtYmVyLCBhZ2UsIHZpbGxhZ2UsIGNvbW11bmUsIGRpc3RyaWN0LCBwcm92aW5jZX0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmYW1pbHlTZXJ2aWNlKHNlYXJjaCwgcGFnZSwgcGFnZVNpemUsIGdlbmRlciwgdG90YWxfbWVtYmVyLCBhZ2UsIHZpbGxhZ2UsIGNvbW11bmUsIGRpc3RyaWN0LCBwcm92aW5jZSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkIHRvIGZldGNoIHZvbHVudGVlcnNcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRmFtaWx5QWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBGQU1JTFlfU1VSVkVZX0RFTEVURSxcbiAgZGVsZXRlRmFtaWx5U2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgZmFtaWx5RGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBGQU1JTFlfU1VSVkVZLFxuICBmYW1pbHlEZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGYW1pbHlBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPENyZWF0ZUZhbWlseU1lbWJlciwgeyBpZDogbnVtYmVyOyBkYXRhOiBDcmVhdGVGYW1pbHlNZW1iZXIgfT4oXG4gIEZBTUlMWV9TVVJWRVlfVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVGYW1pbHlTZXJ2aWNlKGlkLCBkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kZXRhaWwgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIHZvbHVudGVlclwiKTtcbiAgICB9XG4gIH1cbik7XG5cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZhbWlseUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8Q3JlYXRlRmFtaWx5TWVtYmVyLCB7IGRhdGE6IENyZWF0ZUZhbWlseU1lbWJlciB9PihcbiAgRkFNSUxZX1NVUlZFWV9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zb2xlLmxvZygnOjo6IGNyZWF0ZUZhbWlseUFjdGlvbjo6OiAnLGRhdGEpXG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlRmFtaWx5U2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBmb29kXCIpO1xuICAgIH1cbiAgfVxuKTsiLCJleHBvcnQgY29uc3QgRkFNSUxZX1NVUlZFWVMgPSAnZmFtaWx5LXN1cnZleS9mZXRjaEFsbCc7XG5leHBvcnQgY29uc3QgRkFNSUxZX1NVUlZFWSA9ICdmYW1pbHktc3VydmV5L2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgRkFNSUxZX1NVUlZFWV9DUkVBVEUgPSAnZmFtaWx5LXN1cnZleS9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IEZBTUlMWV9TVVJWRVlfVVBEQVRFID0gJ2ZhbWlseS1zdXJ2ZXkvdXBkYXRlJztcbmV4cG9ydCBjb25zdCBGQU1JTFlfU1VSVkVZX0RFTEVURSA9ICdmYW1pbHktc3VydmV5L2RlbGV0ZSc7XG5cbmV4cG9ydCBjb25zdCBQUk9WSU5DRVMgPSAncHJvdmluY2VzLyc7XG5leHBvcnQgY29uc3QgRElTVFJJQ1QgPSAnRElTVFJJQ1QnO1xuZXhwb3J0IGNvbnN0IENPTU1VTkUgPSAnQ09NTVVORSc7XG5leHBvcnQgY29uc3QgVklMTEFHRSA9ICdWSUxMQUdFJztcbmV4cG9ydCBjb25zdCBUUkFOU1BPUlRBVElPTiA9ICdUUkFOU1BPUlRBVElPTic7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgZmV0Y2hDb21tdW5lLCBmZXRjaERpc3RyaWN0LCBmZXRjaEZhbWlseVN1cnZleSwgZmV0Y2hQcm92aW5jZSwgZmV0Y2hWaWxsYWdlU2VydmljZSwgY3JlYXRlRmFtaWx5QWN0aW9uLCBmYW1pbHlEZXRhaWxBY3Rpb24sIHVwZGF0ZUZhbWlseUFjdGlvbiwgZGVsZXRlRmFtaWx5QWN0aW9uLCBmZXRjaFRyYW5zcG9ydGF0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IEZBTUlMWV9TVVJWRVkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGYW1pbHlNZW1iZXIsIEZhbWlseVN1cnZleVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IEZhbWlseVN1cnZleVN0YXRlID0ge1xuICBmYW1pbGllczogbnVsbCxcbiAgZmFtaWx5U3VydmV5OiBudWxsLFxuICBwcm92aW5jZXM6IFtdIGFzIGFueVtdLFxuICBkaXN0cmljdHM6IFtdIGFzIGFueVtdLFxuICBjb21tdW5lczogW10gYXMgYW55W10sXG4gIHZpbGxhZ2VzOiBbXSBhcyBhbnlbXSxcbiAgdHJhbnNwb3J0YXRpb25zOiBbXSBhcyBhbnlbXSxcbiAgcmVnaXN0ZXJQZW5kaW5nOiBmYWxzZSxcbiAgcmVnaXN0ZXJFcnJvck1lc3NhZ2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IGZhbWlsaVN1cnZleVNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBGQU1JTFlfU1VSVkVZLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgc2V0RmFtaWx5OiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxGYW1pbHlNZW1iZXI+KSA9PiB7XG4gICAgICBzdGF0ZS5mYW1pbHlTdXJ2ZXkgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICAgIHNldHNldEZhbWlseVBlbmRpbmc6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPGJvb2xlYW4+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICAgIHNldHNldEZhbWlseUVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgLy8gUHJvdmluY2VcbiAgICBidWlsZGVyXG4gICAgICAuYWRkQ2FzZShmZXRjaFByb3ZpbmNlLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZldGNoUHJvdmluY2UucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggcHJvdmluY2UuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShmZXRjaFByb3ZpbmNlLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucHJvdmluY2VzID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgfSk7XG5cbiAgICAvLyBEaXN0cmljdFxuICAgIGJ1aWxkZXJcbiAgICAgIC5hZGRDYXNlKGZldGNoRGlzdHJpY3QucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IHRydWU7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmV0Y2hEaXN0cmljdC5yZWplY3RlZCwgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5kaXN0cmljdHMgPSBbXTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShmZXRjaERpc3RyaWN0LmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmRpc3RyaWN0cyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgfSk7XG5cbiAgICAvLyBDb21tdW5lXG4gICAgYnVpbGRlclxuICAgICAgLmFkZENhc2UoZmV0Y2hDb21tdW5lLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSB0cnVlO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZldGNoQ29tbXVuZS5yZWplY3RlZCwgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5jb21tdW5lcyA9IFtdO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZldGNoQ29tbXVuZS5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5jb21tdW5lcyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgfSk7XG5cbiAgICAvLyBWaWxsYWdlXG4gICAgYnVpbGRlclxuICAgICAgLmFkZENhc2UoZmV0Y2hWaWxsYWdlU2VydmljZS5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShmZXRjaFZpbGxhZ2VTZXJ2aWNlLnJlamVjdGVkLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnZpbGxhZ2VzID0gW107XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmV0Y2hWaWxsYWdlU2VydmljZS5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS52aWxsYWdlcyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgfSk7XG5cbiAgICAvLyBUcmFuc3BvcnRhdGlvblxuICAgIGJ1aWxkZXJcbiAgICAgIC5hZGRDYXNlKGZldGNoVHJhbnNwb3J0YXRpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IHRydWU7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmV0Y2hUcmFuc3BvcnRhdGlvbi5yZWplY3RlZCwgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS50cmFuc3BvcnRhdGlvbnMgPSBbXTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShmZXRjaFRyYW5zcG9ydGF0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnRyYW5zcG9ydGF0aW9ucyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgfSk7XG5cbiAgICAvLyBGYW1pbHkgU3VydmV5IEZldGNoXG4gICAgYnVpbGRlclxuICAgICAgLmFkZENhc2UoZmV0Y2hGYW1pbHlTdXJ2ZXkucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IHRydWU7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmV0Y2hGYW1pbHlTdXJ2ZXkucmVqZWN0ZWQsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUuZmFtaWxpZXMgPSBudWxsO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZldGNoRmFtaWx5U3VydmV5LmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmZhbWlsaWVzID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICB9KTtcblxuICAgIC8vIEZhbWlseSBTdXJ2ZXkgRGV0YWlsXG4gICAgYnVpbGRlclxuICAgICAgLmFkZENhc2UoZmFtaWx5RGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSB0cnVlO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZhbWlseURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5mYW1pbHlTdXJ2ZXkgPSBudWxsO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZhbWlseURldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5mYW1pbHlTdXJ2ZXkgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIH0pO1xuICAgIC8vIOKchSBIYW5kbGUgRmFtaWx5IENyZWF0ZVxuICAgIGJ1aWxkZXJcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUZhbWlseUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVGYW1pbHlBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9XG4gICAgICAgICAgYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgZmFtaWx5Lic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlRmFtaWx5QWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZmFtaWx5U3VydmV5ID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSk7XG5cbiAgICAvLyDinIUgSGFuZGxlIEZhbWlseSBVcGRhdGVcbiAgICBidWlsZGVyXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVGYW1pbHlBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlRmFtaWx5QWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPVxuICAgICAgICAgIGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIGZhbWlseS4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUZhbWlseUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZhbWlseVN1cnZleSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pO1xuXG4gICAgLy8g4pyFIEhhbmRsZSBGYW1pbHkgZGVsZXRlXG4gICAgYnVpbGRlclxuICAgICAgLmFkZENhc2UoZGVsZXRlRmFtaWx5QWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUZhbWlseUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID1cbiAgICAgICAgICBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBmYW1pbHkuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVGYW1pbHlBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5mYW1pbHlTdXJ2ZXkgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KTtcbiAgICBcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3Qge1xuICBzZXRGYW1pbHksXG4gIHNldHNldEZhbWlseVBlbmRpbmcsXG4gIHNldHNldEZhbWlseUVycm9yTWVzc2FnZSxcbn0gPSBmYW1pbGlTdXJ2ZXlTbGljZS5hY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCBmYW1pbGlTdXJ2ZXlTbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDcmVhdGVGYW1pbHlNZW1iZXIsIEZhbWlseU1lbWJlciB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2luZGV4JztcblxuXG5leHBvcnQgY29uc3QgcHJvdmluY2VTZXJ2aWNlID0gYXN5bmMoKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKCdodHRwczovL3BodW1pYXBpLmpvb25hYWtodWIuY29tL3Byb3ZpbmNlcycpXG59XG5cbmV4cG9ydCBjb25zdCBkaXN0cmljdFNlcnZpY2UgPSBhc3luYyhwcm92aW5jZUlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYGh0dHBzOi8vcGh1bWlhcGkuam9vbmFha2h1Yi5jb20vZGlzdHJpY3RzLyR7cHJvdmluY2VJZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY29tbXVuZVNlcnZpY2UgPSBhc3luYyhkaXN0cmljdElkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYGh0dHBzOi8vcGh1bWlhcGkuam9vbmFha2h1Yi5jb20vY29tbXVuZXMvJHtkaXN0cmljdElkfWApXG59XG5cbmV4cG9ydCBjb25zdCB2aWxsYWdlU2VydmljZSA9IGFzeW5jKGNvbW11bmVJZDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKGBodHRwczovL3BodW1pYXBpLmpvb25hYWtodWIuY29tL3ZpbGxhZ2VzLyR7Y29tbXVuZUlkfWApXG59XG5cbmV4cG9ydCBjb25zdCB0cmFuc3BvcnRhdGlvblNlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLlRSQU5TUE9SVEFUSU9OUylcbn1cblxuZXhwb3J0IGNvbnN0IGZhbWlseVNlcnZpY2UgPSBhc3luYyhzZWFyY2g6IHN0cmluZywgcGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBnZW5kZXI/OiBzdHJpbmcsIHRvdGFsX21lbWJlcj86IG51bWJlciwgYWdlPzogbnVtYmVyLCB2aWxsYWdlPzogc3RyaW5nLCBjb21tdW5lPzogc3RyaW5nLCBkaXN0cmljdD86IHN0cmluZywgcHJvdmluY2U/OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLkZBTUlMSUVTLCB7IHNlYXJjaCwgcGFnZSwgcGFnZVNpemUsIGdlbmRlciwgdG90YWxfbWVtYmVyLCBhZ2UsIHZpbGxhZ2UsIGNvbW11bmUsIGRpc3RyaWN0LCBwcm92aW5jZSB9KVxufVxuXG5leHBvcnQgY29uc3QgZmFtaWx5RGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLkZBTUlMSUVTfSR7aWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZhbWlseVNlcnZpY2UgPSBhc3luYyAoZGF0YTogQ3JlYXRlRmFtaWx5TWVtYmVyKTogUHJvbWlzZTxDcmVhdGVGYW1pbHlNZW1iZXI+ID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKGAke1VSTC5GQU1JTElFU31gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGYW1pbHlTZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IENyZWF0ZUZhbWlseU1lbWJlcik6IFByb21pc2U8Q3JlYXRlRmFtaWx5TWVtYmVyPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5GQU1JTElFU30ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZUZhbWlseVNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PntcbiAgcmV0dXJuIGF3YWl0IHJlbW92ZVdpdGhDb25maWcoYCR7VVJMLkZBTUlMSUVTfSR7aWR9YClcbn0iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBGT09EUywgRk9PRCwgRk9PRF9ERUxFVEUsIEZPT0RfQ1JFQVRFLCBGT09EX1VQREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGZvb2RzU2VydmljZSwgZm9vZERldGFpbFNlcnZpY2UsIGNyZWF0ZUZvb2RTZXJ2aWNlLCB1cGRhdGVGb29kU2VydmljZSwgZGVsZXRlRm9vZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IEZvb2QgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZvb2RQYWdpbmF0aW9uLCBGb29kUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hGb29kcyA9IGNyZWF0ZUFzeW5jVGh1bms8Rm9vZFBhZ2luYXRpb24sIEZvb2RQYXJhbXM+KFxuICBGT09EUyxcbiAgYXN5bmMgKHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZX0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmb29kc1NlcnZpY2Uoc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkIHRvIGZldGNoIGZvb2RzXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGZvb2REZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEZPT0QsXG4gIGZvb2REZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVGb29kQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxGb29kLCB7IGRhdGE6IEZvb2QgfT4oXG4gIEZPT0RfQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZUZvb2RTZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGZvb2RcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRm9vZEFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8Rm9vZCwgeyBpZDogbnVtYmVyOyBkYXRhOiBGb29kIH0+KFxuICBGT09EX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlRm9vZFNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIGZvb2RcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRm9vZEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgRk9PRF9ERUxFVEUsXG4gIGRlbGV0ZUZvb2RTZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgRk9PRFMgPSAnZm9vZHMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IEZPT0QgPSAnZm9vZHMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBGT09EX0NSRUFURSA9ICdmb29kcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IEZPT0RfVVBEQVRFID0gJ2Zvb2RzL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgRk9PRF9ERUxFVEUgPSAnZm9vZHMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEZvb2QsIEZvb2RTdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hGb29kcywgdXBkYXRlRm9vZEFjdGlvbiwgZm9vZERldGFpbEFjdGlvbiwgY3JlYXRlRm9vZEFjdGlvbiwgZGVsZXRlRm9vZEFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBGT09EIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IEZvb2RTdGF0ZSA9IHtcbiAgZm9vZHM6IFtdLFxuICBmb29kOiBudWxsLFxuICBmb29kc1BlbmRpbmc6IGZhbHNlLFxuICBmb29kRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIGZvb2RDcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgZm9vZFVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBmb29kRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBmb29kU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IEZPT0QsXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IGZvb2RcbiAgICBzZXRGb29kOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxGb29kPikgPT4ge1xuICAgICAgc3RhdGUuZm9vZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG5cbiAgICAvLyBVcGRhdGVzIHRoZSByZWdpc3RlciBlcnJvciBtZXNzYWdlXG4gICAgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcblxuICBleHRyYVJlZHVjZXJzOiAoYnVpbGRlcikgPT4ge1xuICAgIGJ1aWxkZXJcbiAgICAgIC8vIGhhbmRsZSBmb29kXG4gICAgICAuYWRkQ2FzZShmZXRjaEZvb2RzLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgZm9vZHMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoRm9vZHMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2RzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggZm9vZHMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBmb29kcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hGb29kcy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5mb29kcyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmZvb2RzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGZvb2QgZGV0YWlsXG4gICAgICAuYWRkQ2FzZShmb29kRGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBmb29kcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZm9vZERldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZERldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGZvb2RzLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgZm9vZHMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZvb2REZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuZm9vZCA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmZvb2REZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgZm9vZCBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUZvb2RBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2RVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVGb29kQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIGZvb2RzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlRm9vZEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2QgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZm9vZFVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBmb29kIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlRm9vZEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZFVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUZvb2RBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2RVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byB1cGRhdGUgZm9vZHMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVGb29kQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5mb29kVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGZvb2QgZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVGb29kQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlRm9vZEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZFVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBmb29kcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUZvb2RBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmZvb2RVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7IHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBzZXRGb29kIH0gPSBmb29kU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgZm9vZFNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBGb29kIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IGZvb2RzU2VydmljZSA9IGFzeW5jKHNlYXJjaDogc3RyaW5nLCBwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLkZPT0QsIHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSB9KVxufVxuXG5leHBvcnQgY29uc3QgZm9vZERldGFpbFNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKGAke1VSTC5GT09EfSR7aWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUZvb2RTZXJ2aWNlID0gYXN5bmMgKGRhdGE6IEZvb2QpOiBQcm9taXNlPEZvb2Q+ID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKGAke1VSTC5GT09EfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUZvb2RTZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IEZvb2QpOiBQcm9taXNlPEZvb2Q+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLkZPT0R9JHtpZH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVGb29kU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuRk9PRH0ke2lkfWApXG59XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBJTlRFUkVTVEVEX1RFQU1TLCBJTlRFUkVTVEVEX1RFQU0sIElOVEVSRVNURURfVEVBTV9ERUxFVEUsIElOVEVSRVNURURfVEVBTV9DUkVBVEUsIElOVEVSRVNURURfVEVBTV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpbnRlcmVzdGVkVGVhbXNTZXJ2aWNlLCBpbnRlcmVzdGVkVGVhbURldGFpbFNlcnZpY2UsIGNyZWF0ZUludGVyZXN0ZWRUZWFtU2VydmljZSwgdXBkYXRlSW50ZXJlc3RlZFRlYW1TZXJ2aWNlLCBkZWxldGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IEludGVyZXN0ZWRUZWFtIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJbnRlcmVzdGVkVGVhbVBhZ2luYXRpb24sIEludGVyZXN0ZWRUZWFtUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hJbnRlcmVzdGVkVGVhbXMgPSBjcmVhdGVBc3luY1RodW5rPEludGVyZXN0ZWRUZWFtUGFnaW5hdGlvbiwgSW50ZXJlc3RlZFRlYW1QYXJhbXM+KFxuICBJTlRFUkVTVEVEX1RFQU1TLFxuICBhc3luYyAoeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplLCBldmVudF9pZHN9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgaW50ZXJlc3RlZFRlYW1zU2VydmljZShzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplLCBldmVudF9pZHMpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRldGFpbCB8fCBcIkZhaWxlZCB0byBmZXRjaCBpbnRlcmVzdGVkIHRlYW1zXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGludGVyZXN0ZWRUZWFtRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBJTlRFUkVTVEVEX1RFQU0sXG4gIGludGVyZXN0ZWRUZWFtRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPEludGVyZXN0ZWRUZWFtLCB7IGRhdGE6IEludGVyZXN0ZWRUZWFtIH0+KFxuICBJTlRFUkVTVEVEX1RFQU1fQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZUludGVyZXN0ZWRUZWFtU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBpbnRlcmVzdGVkIHRlYW1cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPEludGVyZXN0ZWRUZWFtLCB7IGlkOiBudW1iZXI7IGRhdGE6IEludGVyZXN0ZWRUZWFtIH0+KFxuICBJTlRFUkVTVEVEX1RFQU1fVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIGludGVyZXN0ZWQgdGVhbVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVJbnRlcmVzdGVkVGVhbUFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgSU5URVJFU1RFRF9URUFNX0RFTEVURSxcbiAgZGVsZXRlSW50ZXJlc3RlZFRlYW1TZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgSU5URVJFU1RFRF9URUFNUyA9ICdpbnRlcmVzdGVkLXRlYW1zL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBJTlRFUkVTVEVEX1RFQU0gPSAnaW50ZXJlc3RlZC10ZWFtcy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IElOVEVSRVNURURfVEVBTV9DUkVBVEUgPSAnaW50ZXJlc3RlZC10ZWFtcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IElOVEVSRVNURURfVEVBTV9VUERBVEUgPSAnaW50ZXJlc3RlZC10ZWFtcy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IElOVEVSRVNURURfVEVBTV9ERUxFVEUgPSAnaW50ZXJlc3RlZC10ZWFtcy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgSW50ZXJlc3RlZFRlYW0sIEludGVyZXN0ZWRUZWFtU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoSW50ZXJlc3RlZFRlYW1zLCB1cGRhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbiwgaW50ZXJlc3RlZFRlYW1EZXRhaWxBY3Rpb24sIGNyZWF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLCBkZWxldGVJbnRlcmVzdGVkVGVhbUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBJTlRFUkVTVEVEX1RFQU0gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogSW50ZXJlc3RlZFRlYW1TdGF0ZSA9IHtcbiAgaW50ZXJlc3RlZFRlYW1zOiBbXSxcbiAgaW50ZXJlc3RlZFRlYW06IG51bGwsXG4gIGludGVyZXN0ZWRUZWFtc1BlbmRpbmc6IGZhbHNlLFxuICBpbnRlcmVzdGVkVGVhbURldGFpbFBlbmRpbmc6IGZhbHNlLFxuICBpbnRlcmVzdGVkVGVhbUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBpbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBpbnRlcmVzdGVkVGVhbURlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgaW50ZXJlc3RlZFRlYW1TbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogSU5URVJFU1RFRF9URUFNLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBpbnRlcmVzdGVkVGVhbVxuICAgIHNldEludGVyZXN0ZWRUZWFtOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxJbnRlcmVzdGVkVGVhbT4pID0+IHtcbiAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIGludGVyZXN0ZWQgdGVhbVxuICAgICAgLmFkZENhc2UoZmV0Y2hJbnRlcmVzdGVkVGVhbXMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgaW50ZXJlc3RlZCB0ZWFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hJbnRlcmVzdGVkVGVhbXMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGludGVyZXN0ZWQgdGVhbXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBpbnRlcmVzdGVkIHRlYW1zIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaEludGVyZXN0ZWRUZWFtcy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbXMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgaW50ZXJlc3RlZCB0ZWFtIGRldGFpbFxuICAgICAgLmFkZENhc2UoaW50ZXJlc3RlZFRlYW1EZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBpbnRlcmVzdGVkIHRlYW1zIGZldGNoXG4gICAgICAuYWRkQ2FzZShpbnRlcmVzdGVkVGVhbURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1EZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBpbnRlcmVzdGVkIHRlYW1zLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgaW50ZXJlc3RlZCB0ZWFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoaW50ZXJlc3RlZFRlYW1EZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW0gPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBpbnRlcmVzdGVkVGVhbSBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBpbnRlcmVzdGVkIHRlYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBpbnRlcmVzdGVkVGVhbSB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBpbnRlcmVzdGVkIHRlYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBpbnRlcmVzdGVkVGVhbSBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBpbnRlcmVzdGVkIHRlYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldEludGVyZXN0ZWRUZWFtIH0gPSBpbnRlcmVzdGVkVGVhbVNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IGludGVyZXN0ZWRUZWFtU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IEludGVyZXN0ZWRUZWFtIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IGludGVyZXN0ZWRUZWFtc1NlcnZpY2UgPSBhc3luYyhzZWFyY2g6IHN0cmluZywgcGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyLCBldmVudF9pZHM6IG51bWJlcltdKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKFVSTC5URUFNLCB7IHNlYXJjaCwgcGFnZSwgcGFnZVNpemUsIGV2ZW50X2lkcyB9KVxufVxuXG5leHBvcnQgY29uc3QgaW50ZXJlc3RlZFRlYW1EZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuVEVBTX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UgPSBhc3luYyAoZGF0YTogSW50ZXJlc3RlZFRlYW0pOiBQcm9taXNlPEludGVyZXN0ZWRUZWFtPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuVEVBTX1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UgPSBhc3luYyAoaWQ6IG51bWJlciwgZGF0YTogSW50ZXJlc3RlZFRlYW0pOiBQcm9taXNlPEludGVyZXN0ZWRUZWFtPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5URUFNfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlSW50ZXJlc3RlZFRlYW1TZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5URUFNfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IExBTkdVQUdFUywgTEFOR1VBR0UsIExBTkdVQUdFX0RFTEVURSwgTEFOR1VBR0VfQ1JFQVRFLCBMQU5HVUFHRV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBsYW5ndWFnZXNTZXJ2aWNlLCBsYW5ndWFnZURldGFpbFNlcnZpY2UsIGNyZWF0ZUxhbmd1YWdlU2VydmljZSwgdXBkYXRlTGFuZ3VhZ2VTZXJ2aWNlLCBkZWxldGVMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBMYW5ndWFnZVBhZ2luYXRpb24sIExhbmd1YWdlUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hMYW5ndWFnZXMgPSBjcmVhdGVBc3luY1RodW5rPExhbmd1YWdlUGFnaW5hdGlvbiwgTGFuZ3VhZ2VQYXJhbXM+KFxuICBMQU5HVUFHRVMsXG4gIGFzeW5jICh7IHNlYXJjaCwgcGFnZSwgcGFnZVNpemV9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgbGFuZ3VhZ2VzU2VydmljZShzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplKTtcbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kZXRhaWwgfHwgXCJGYWlsZWQgdG8gZmV0Y2ggbGFuZ3VhZ2VzXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGxhbmd1YWdlRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBMQU5HVUFHRSxcbiAgbGFuZ3VhZ2VEZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVMYW5ndWFnZUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8TGFuZ3VhZ2UsIHsgZGF0YTogTGFuZ3VhZ2UgfT4oXG4gIExBTkdVQUdFX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVMYW5ndWFnZVNlcnZpY2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byBjcmVhdGUgbGFuZ3VhZ2VcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlTGFuZ3VhZ2VBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPExhbmd1YWdlLCB7IGlkOiBudW1iZXI7IGRhdGE6IExhbmd1YWdlIH0+KFxuICBMQU5HVUFHRV9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZUxhbmd1YWdlU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgbGFuZ3VhZ2VcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlTGFuZ3VhZ2VBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIExBTkdVQUdFX0RFTEVURSxcbiAgZGVsZXRlTGFuZ3VhZ2VTZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgTEFOR1VBR0VTID0gJ2xhbmd1YWdlcy9mZXRjaEFsbCc7XG5leHBvcnQgY29uc3QgTEFOR1VBR0UgPSAnbGFuZ3VhZ2VzL2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgTEFOR1VBR0VfQ1JFQVRFID0gJ2xhbmd1YWdlcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IExBTkdVQUdFX1VQREFURSA9ICdsYW5ndWFnZXMvdXBkYXRlJztcbmV4cG9ydCBjb25zdCBMQU5HVUFHRV9ERUxFVEUgPSAnbGFuZ3VhZ2VzL2RlbGV0ZSc7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBMYW5ndWFnZSwgTGFuZ3VhZ2VTdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hMYW5ndWFnZXMsIHVwZGF0ZUxhbmd1YWdlQWN0aW9uLCBsYW5ndWFnZURldGFpbEFjdGlvbiwgY3JlYXRlTGFuZ3VhZ2VBY3Rpb24sIGRlbGV0ZUxhbmd1YWdlQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IExBTkdVQUdFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IExhbmd1YWdlU3RhdGUgPSB7XG4gIGxhbmd1YWdlczogW10sXG4gIGxhbmd1YWdlOiBudWxsLFxuICBsYW5ndWFnZXNQZW5kaW5nOiBmYWxzZSxcbiAgbGFuZ3VhZ2VEZXRhaWxQZW5kaW5nOiBmYWxzZSxcbiAgbGFuZ3VhZ2VDcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgbGFuZ3VhZ2VVcGRhdGVQZW5kaW5nOiBmYWxzZSxcbiAgbGFuZ3VhZ2VEZWxldGVQZW5kaW5nOiBmYWxzZSxcbiAgcmVnaXN0ZXJFcnJvck1lc3NhZ2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IGxhbmd1YWdlU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IExBTkdVQUdFLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBsYW5ndWFnZVxuICAgIHNldExhbmd1YWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxMYW5ndWFnZT4pID0+IHtcbiAgICAgIHN0YXRlLmxhbmd1YWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIGxhbmd1YWdlXG4gICAgICAuYWRkQ2FzZShmZXRjaExhbmd1YWdlcy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VzUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBsYW5ndWFnZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoTGFuZ3VhZ2VzLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBsYW5ndWFnZXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBsYW5ndWFnZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoTGFuZ3VhZ2VzLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlcyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBsYW5ndWFnZSBkZXRhaWxcbiAgICAgIC5hZGRDYXNlKGxhbmd1YWdlRGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZURldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgbGFuZ3VhZ2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZShsYW5ndWFnZURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VEZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBsYW5ndWFnZXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBsYW5ndWFnZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGxhbmd1YWdlRGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VEZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgbGFuZ3VhZ2UgY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVMYW5ndWFnZUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVMYW5ndWFnZUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgbGFuZ3VhZ2VzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlTGFuZ3VhZ2VBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBsYW5ndWFnZSB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUxhbmd1YWdlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUxhbmd1YWdlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBsYW5ndWFnZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVMYW5ndWFnZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGxhbmd1YWdlIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlTGFuZ3VhZ2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlTGFuZ3VhZ2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIGxhbmd1YWdlcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUxhbmd1YWdlQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7IHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBzZXRMYW5ndWFnZSB9ID0gbGFuZ3VhZ2VTbGljZS5hY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCBsYW5ndWFnZVNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBMYW5ndWFnZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBsYW5ndWFnZXNTZXJ2aWNlID0gYXN5bmMoc2VhcmNoOiBzdHJpbmcsIHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuTEFOR1VBR0UsIHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSB9KVxufVxuXG5leHBvcnQgY29uc3QgbGFuZ3VhZ2VEZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuTEFOR1VBR0V9JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlTGFuZ3VhZ2VTZXJ2aWNlID0gYXN5bmMgKGRhdGE6IExhbmd1YWdlKTogUHJvbWlzZTxMYW5ndWFnZT4gPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoYCR7VVJMLkxBTkdVQUdFfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUxhbmd1YWdlU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBMYW5ndWFnZSk6IFByb21pc2U8TGFuZ3VhZ2U+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLkxBTkdVQUdFfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlTGFuZ3VhZ2VTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5MQU5HVUFHRX0ke2lkfWApXG59XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBPQ0NVUEFUSU9OUywgT0NDVVBBVElPTiwgT0NDVVBBVElPTl9ERUxFVEUsIE9DQ1VQQVRJT05fQ1JFQVRFLCBPQ0NVUEFUSU9OX1VQREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IG9jY3VwYXRpb25zU2VydmljZSwgb2NjdXBhdGlvbkRldGFpbFNlcnZpY2UsIGNyZWF0ZU9jY3VwYXRpb25TZXJ2aWNlLCB1cGRhdGVPY2N1cGF0aW9uU2VydmljZSwgZGVsZXRlT2NjdXBhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IE9jY3VwYXRpb24gfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9jY3VwYXRpb25QYWdpbmF0aW9uLCBPY2N1cGF0aW9uUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hPY2N1cGF0aW9ucyA9IGNyZWF0ZUFzeW5jVGh1bms8T2NjdXBhdGlvblBhZ2luYXRpb24sIE9jY3VwYXRpb25QYXJhbXM+KFxuICBPQ0NVUEFUSU9OUyxcbiAgYXN5bmMgKHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZX0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBvY2N1cGF0aW9uc1NlcnZpY2Uoc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkIHRvIGZldGNoIG9jY3VwYXRpb24gc2VydmljZXNcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3Qgb2NjdXBhdGlvbkRldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgT0NDVVBBVElPTixcbiAgb2NjdXBhdGlvbkRldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9jY3VwYXRpb25BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPE9jY3VwYXRpb24sIHsgZGF0YTogT2NjdXBhdGlvbiB9PihcbiAgT0NDVVBBVElPTl9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlT2NjdXBhdGlvblNlcnZpY2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byBjcmVhdGUgb2NjdXBhdGlvblwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVPY2N1cGF0aW9uQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxPY2N1cGF0aW9uLCB7IGlkOiBudW1iZXI7IGRhdGE6IE9jY3VwYXRpb24gfT4oXG4gIE9DQ1VQQVRJT05fVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVPY2N1cGF0aW9uU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgb2NjdXBhdGlvblwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVPY2N1cGF0aW9uQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBPQ0NVUEFUSU9OX0RFTEVURSxcbiAgZGVsZXRlT2NjdXBhdGlvblNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBPQ0NVUEFUSU9OUyA9ICdvY2N1cGF0aW9ucy9mZXRjaEFsbCc7XG5leHBvcnQgY29uc3QgT0NDVVBBVElPTiA9ICdvY2N1cGF0aW9ucy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IE9DQ1VQQVRJT05fQ1JFQVRFID0gJ29jY3VwYXRpb25zL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgT0NDVVBBVElPTl9VUERBVEUgPSAnb2NjdXBhdGlvbnMvdXBkYXRlJztcbmV4cG9ydCBjb25zdCBPQ0NVUEFUSU9OX0RFTEVURSA9ICdvY2N1cGF0aW9ucy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgT2NjdXBhdGlvbiwgT2NjdXBhdGlvblN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmZXRjaE9jY3VwYXRpb25zLCB1cGRhdGVPY2N1cGF0aW9uQWN0aW9uLCBvY2N1cGF0aW9uRGV0YWlsQWN0aW9uLCBjcmVhdGVPY2N1cGF0aW9uQWN0aW9uLCBkZWxldGVPY2N1cGF0aW9uQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IE9DQ1VQQVRJT04gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogT2NjdXBhdGlvblN0YXRlID0ge1xuICBvY2N1cGF0aW9uczogW10sXG4gIG9jY3VwYXRpb246IG51bGwsXG4gIG9jY3VwYXRpb25zUGVuZGluZzogZmFsc2UsXG4gIG9jY3VwYXRpb25EZXRhaWxQZW5kaW5nOiBmYWxzZSxcbiAgb2NjdXBhdGlvbkNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBvY2N1cGF0aW9uVXBkYXRlUGVuZGluZzogZmFsc2UsXG4gIG9jY3VwYXRpb25EZWxldGVQZW5kaW5nOiBmYWxzZSxcbiAgcmVnaXN0ZXJFcnJvck1lc3NhZ2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IG9jY3VwYXRpb25TbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogT0NDVVBBVElPTixcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIC8vIFNldHMgdGhlIGN1cnJlbnQgb2NjdXBhdGlvblxuICAgIHNldE9jY3VwYXRpb246IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPE9jY3VwYXRpb24+KSA9PiB7XG4gICAgICBzdGF0ZS5vY2N1cGF0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIG9jY3VwYXRpb25cbiAgICAgIC5hZGRDYXNlKGZldGNoT2NjdXBhdGlvbnMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25zUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBvY2N1cGF0aW9ucyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hPY2N1cGF0aW9ucy5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbnNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBvY2N1cGF0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIG9jY3VwYXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaE9jY3VwYXRpb25zLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25zID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbnNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb2NjdXBhdGlvbiBkZXRhaWxcbiAgICAgIC5hZGRDYXNlKG9jY3VwYXRpb25EZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25EZXRhaWxQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIG9jY3VwYXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShvY2N1cGF0aW9uRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggb2NjdXBhdGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBvY2N1cGF0aW9ucyBmZXRjaFxuICAgICAgLmFkZENhc2Uob2NjdXBhdGlvbkRldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbkRldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvY2N1cGF0aW9uIGNyZWF0ZVxuICAgICAgLmFkZENhc2UoY3JlYXRlT2NjdXBhdGlvbkFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvblVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZU9jY3VwYXRpb25BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgb2NjdXBhdGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVPY2N1cGF0aW9uQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbiA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9jY3VwYXRpb24gdXBkYXRlXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVPY2N1cGF0aW9uQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlT2NjdXBhdGlvbkFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBvY2N1cGF0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZU9jY3VwYXRpb25BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb2NjdXBhdGlvbiBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZU9jY3VwYXRpb25BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVPY2N1cGF0aW9uQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIG9jY3VwYXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlT2NjdXBhdGlvbkFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldE9jY3VwYXRpb24gfSA9IG9jY3VwYXRpb25TbGljZS5hY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCBvY2N1cGF0aW9uU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IE9jY3VwYXRpb24gfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3Qgb2NjdXBhdGlvbnNTZXJ2aWNlID0gYXN5bmMoc2VhcmNoOiBzdHJpbmcsIHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuT0NDVVBBVElPTiwgeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplIH0pXG59XG5cbmV4cG9ydCBjb25zdCBvY2N1cGF0aW9uRGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLk9DQ1VQQVRJT059JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlT2NjdXBhdGlvblNlcnZpY2UgPSBhc3luYyAoZGF0YTogT2NjdXBhdGlvbik6IFByb21pc2U8T2NjdXBhdGlvbj4gPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoYCR7VVJMLk9DQ1VQQVRJT059YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlT2NjdXBhdGlvblNlcnZpY2UgPSBhc3luYyAoaWQ6IG51bWJlciwgZGF0YTogT2NjdXBhdGlvbik6IFByb21pc2U8T2NjdXBhdGlvbj4gPT4ge1xuICByZXR1cm4gcHV0V2l0aENvbmZpZyhgJHtVUkwuT0NDVVBBVElPTn0ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZU9jY3VwYXRpb25TZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5PQ0NVUEFUSU9OfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IE9GRkVSX1BST0dSQU1TLCBPRkZFUl9QUk9HUkFNLCBPRkZFUl9QUk9HUkFNX0RFTEVURSwgT0ZGRVJfUFJPR1JBTV9DUkVBVEUsIE9GRkVSX1BST0dSQU1fVVBEQVRFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgb2ZmZXJQcm9ncmFtc1NlcnZpY2UsIG9mZmVyUHJvZ3JhbURldGFpbFNlcnZpY2UsIGNyZWF0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UsIHVwZGF0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UsIGRlbGV0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IE9mZmVyUHJvZ3JhbSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT2ZmZXJQcm9ncmFtUGFnaW5hdGlvbiwgT2ZmZXJQcm9ncmFtUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hPZmZlclByb2dyYW1zID0gY3JlYXRlQXN5bmNUaHVuazxPZmZlclByb2dyYW1QYWdpbmF0aW9uLCBPZmZlclByb2dyYW1QYXJhbXM+KFxuICBPRkZFUl9QUk9HUkFNUyxcbiAgYXN5bmMgKHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSwgZXZlbnRfaWRzfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IG9mZmVyUHJvZ3JhbXNTZXJ2aWNlKHNlYXJjaCwgcGFnZSwgcGFnZVNpemUsIGV2ZW50X2lkcyk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkIHRvIGZldGNoIG9mZmVyIHByb2dyYW1zXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IG9mZmVyUHJvZ3JhbURldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgT0ZGRVJfUFJPR1JBTSxcbiAgb2ZmZXJQcm9ncmFtRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlT2ZmZXJQcm9ncmFtQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxPZmZlclByb2dyYW0sIHsgZGF0YTogT2ZmZXJQcm9ncmFtIH0+KFxuICBPRkZFUl9QUk9HUkFNX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVPZmZlclByb2dyYW1TZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIG9mZmVyIHByb2dyYW1cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlT2ZmZXJQcm9ncmFtQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxPZmZlclByb2dyYW0sIHsgaWQ6IG51bWJlcjsgZGF0YTogT2ZmZXJQcm9ncmFtIH0+KFxuICBPRkZFUl9QUk9HUkFNX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlT2ZmZXJQcm9ncmFtU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgb2ZmZXIgcHJvZ3JhbVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVPZmZlclByb2dyYW1BY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIE9GRkVSX1BST0dSQU1fREVMRVRFLFxuICBkZWxldGVPZmZlclByb2dyYW1TZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgT0ZGRVJfUFJPR1JBTVMgPSAnb2ZmZXItcHJvZ3JhbXMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IE9GRkVSX1BST0dSQU0gPSAnb2ZmZXItcHJvZ3JhbXMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBPRkZFUl9QUk9HUkFNX0NSRUFURSA9ICdvZmZlci1wcm9ncmFtcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IE9GRkVSX1BST0dSQU1fVVBEQVRFID0gJ29mZmVyLXByb2dyYW1zL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgT0ZGRVJfUFJPR1JBTV9ERUxFVEUgPSAnb2ZmZXItcHJvZ3JhbXMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IE9mZmVyUHJvZ3JhbSwgT2ZmZXJQcm9ncmFtU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoT2ZmZXJQcm9ncmFtcywgdXBkYXRlT2ZmZXJQcm9ncmFtQWN0aW9uLCBvZmZlclByb2dyYW1EZXRhaWxBY3Rpb24sIGNyZWF0ZU9mZmVyUHJvZ3JhbUFjdGlvbiwgZGVsZXRlT2ZmZXJQcm9ncmFtQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IE9GRkVSX1BST0dSQU0gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogT2ZmZXJQcm9ncmFtU3RhdGUgPSB7XG4gIG9mZmVyUHJvZ3JhbXM6IFtdLFxuICBvZmZlclByb2dyYW06IG51bGwsXG4gIG9mZmVyUHJvZ3JhbXNQZW5kaW5nOiBmYWxzZSxcbiAgb2ZmZXJQcm9ncmFtRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIG9mZmVyUHJvZ3JhbUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBvZmZlclByb2dyYW1VcGRhdGVQZW5kaW5nOiBmYWxzZSxcbiAgb2ZmZXJQcm9ncmFtRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBvZmZlclByb2dyYW1TbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogT0ZGRVJfUFJPR1JBTSxcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIC8vIFNldHMgdGhlIGN1cnJlbnQgb2ZmZXJQcm9ncmFtXG4gICAgc2V0T2ZmZXJQcm9ncmFtOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxPZmZlclByb2dyYW0+KSA9PiB7XG4gICAgICBzdGF0ZS5vZmZlclByb2dyYW0gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgb2ZmZXIgcHJvZ3JhbVxuICAgICAgLmFkZENhc2UoZmV0Y2hPZmZlclByb2dyYW1zLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1zUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBvZmZlciBwcm9ncmFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hPZmZlclByb2dyYW1zLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggb2ZmZXIgcHJvZ3JhbXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBvZmZlciBwcm9ncmFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hPZmZlclByb2dyYW1zLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbXMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9mZmVyIHByb2dyYW0gZGV0YWlsXG4gICAgICAuYWRkQ2FzZShvZmZlclByb2dyYW1EZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbURldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgb2ZmZXIgcHJvZ3JhbXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKG9mZmVyUHJvZ3JhbURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggb2ZmZXIgcHJvZ3JhbXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBvZmZlciBwcm9ncmFtcyBmZXRjaFxuICAgICAgLmFkZENhc2Uob2ZmZXJQcm9ncmFtRGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbSA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvZmZlclByb2dyYW0gY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVPZmZlclByb2dyYW1BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZU9mZmVyUHJvZ3JhbUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIG9mZmVyIHByb2dyYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlT2ZmZXJQcm9ncmFtQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvZmZlclByb2dyYW0gdXBkYXRlXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVPZmZlclByb2dyYW1BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZU9mZmVyUHJvZ3JhbUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIG9mZmVyIHByb2dyYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlT2ZmZXJQcm9ncmFtQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvZmZlclByb2dyYW0gZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVPZmZlclByb2dyYW1BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZU9mZmVyUHJvZ3JhbUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIG9mZmVyIHByb2dyYW1zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlT2ZmZXJQcm9ncmFtQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldE9mZmVyUHJvZ3JhbSB9ID0gb2ZmZXJQcm9ncmFtU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgb2ZmZXJQcm9ncmFtU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IE9mZmVyUHJvZ3JhbSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBvZmZlclByb2dyYW1zU2VydmljZSA9IGFzeW5jKHNlYXJjaDogc3RyaW5nLCBwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGV2ZW50X2lkczogbnVtYmVyW10pID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLk9GRkVSX1BST0dSQU0sIHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSwgZXZlbnRfaWRzIH0pXG59XG5cbmV4cG9ydCBjb25zdCBvZmZlclByb2dyYW1EZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuT0ZGRVJfUFJPR1JBTX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPZmZlclByb2dyYW1TZXJ2aWNlID0gYXN5bmMgKGRhdGE6IE9mZmVyUHJvZ3JhbSk6IFByb21pc2U8T2ZmZXJQcm9ncmFtPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuT0ZGRVJfUFJPR1JBTX1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVPZmZlclByb2dyYW1TZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IE9mZmVyUHJvZ3JhbSk6IFByb21pc2U8T2ZmZXJQcm9ncmFtPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5PRkZFUl9QUk9HUkFNfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlT2ZmZXJQcm9ncmFtU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuT0ZGRVJfUFJPR1JBTX0ke2lkfWApXG59XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBPUFBPUlRVTklUWV9TT1VSQ0VTLCBPUFBPUlRVTklUWV9TT1VSQ0UsIE9QUE9SVFVOSVRZX1NPVVJDRV9ERUxFVEUsIE9QUE9SVFVOSVRZX1NPVVJDRV9DUkVBVEUsIE9QUE9SVFVOSVRZX1NPVVJDRV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBvcHBvcnR1bml0eVNvdXJjZXNTZXJ2aWNlLCBvcHBvcnR1bml0eVNvdXJjZURldGFpbFNlcnZpY2UsIGNyZWF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSwgdXBkYXRlT3Bwb3J0dW5pdHlTb3VyY2VTZXJ2aWNlLCBkZWxldGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IE9wcG9ydHVuaXR5U291cmNlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcHBvcnR1bml0eVNvdXJjZVBhZ2luYXRpb24sIE9wcG9ydHVuaXR5U291cmNlUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hPcHBvcnR1bml0eVNvdXJjZXMgPSBjcmVhdGVBc3luY1RodW5rPE9wcG9ydHVuaXR5U291cmNlUGFnaW5hdGlvbiwgT3Bwb3J0dW5pdHlTb3VyY2VQYXJhbXM+KFxuICBPUFBPUlRVTklUWV9TT1VSQ0VTLFxuICBhc3luYyAoeyBzZWFyY2gsIHBhZ2UsIHBhZ2VTaXplfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IG9wcG9ydHVuaXR5U291cmNlc1NlcnZpY2Uoc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkIHRvIGZldGNoIG9wcG9ydHVuaXR5IHNvdXJjZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBvcHBvcnR1bml0eVNvdXJjZURldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgT1BQT1JUVU5JVFlfU09VUkNFLFxuICBvcHBvcnR1bml0eVNvdXJjZURldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxPcHBvcnR1bml0eVNvdXJjZSwgeyBkYXRhOiBPcHBvcnR1bml0eVNvdXJjZSB9PihcbiAgT1BQT1JUVU5JVFlfU09VUkNFX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byBjcmVhdGUgb3Bwb3J0dW5pdHkgc291cmNlXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxPcHBvcnR1bml0eVNvdXJjZSwgeyBpZDogbnVtYmVyOyBkYXRhOiBPcHBvcnR1bml0eVNvdXJjZSB9PihcbiAgT1BQT1JUVU5JVFlfU09VUkNFX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlT3Bwb3J0dW5pdHlTb3VyY2VTZXJ2aWNlKGlkLCBkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIHVwZGF0ZSBvcHBvcnR1bml0eSBzb3VyY2VcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIE9QUE9SVFVOSVRZX1NPVVJDRV9ERUxFVEUsXG4gIGRlbGV0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZVxuKVxuIiwiZXhwb3J0IGNvbnN0IE9QUE9SVFVOSVRZX1NPVVJDRVMgPSAnb3Bwb3J0dW5pdHktc291cmNlcy9mZXRjaEFsbCc7XG5leHBvcnQgY29uc3QgT1BQT1JUVU5JVFlfU09VUkNFID0gJ29wcG9ydHVuaXR5LXNvdXJjZXMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBPUFBPUlRVTklUWV9TT1VSQ0VfQ1JFQVRFID0gJ29wcG9ydHVuaXR5LXNvdXJjZXMvY3JlYXRlJztcbmV4cG9ydCBjb25zdCBPUFBPUlRVTklUWV9TT1VSQ0VfVVBEQVRFID0gJ29wcG9ydHVuaXR5LXNvdXJjZXMvdXBkYXRlJztcbmV4cG9ydCBjb25zdCBPUFBPUlRVTklUWV9TT1VSQ0VfREVMRVRFID0gJ29wcG9ydHVuaXR5LXNvdXJjZXMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IE9wcG9ydHVuaXR5U291cmNlLCBPcHBvcnR1bml0eVNvdXJjZVN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmZXRjaE9wcG9ydHVuaXR5U291cmNlcywgdXBkYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24sIG9wcG9ydHVuaXR5U291cmNlRGV0YWlsQWN0aW9uLCBjcmVhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbiwgZGVsZXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgT1BQT1JUVU5JVFlfU09VUkNFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IE9wcG9ydHVuaXR5U291cmNlU3RhdGUgPSB7XG4gIG9wcG9ydHVuaXR5U291cmNlczogW10sXG4gIG9wcG9ydHVuaXR5U291cmNlOiBudWxsLFxuICBvcHBvcnR1bml0eVNvdXJjZXNQZW5kaW5nOiBmYWxzZSxcbiAgb3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxQZW5kaW5nOiBmYWxzZSxcbiAgb3Bwb3J0dW5pdHlTb3VyY2VDcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgb3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nOiBmYWxzZSxcbiAgb3Bwb3J0dW5pdHlTb3VyY2VEZWxldGVQZW5kaW5nOiBmYWxzZSxcbiAgcmVnaXN0ZXJFcnJvck1lc3NhZ2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IG9wcG9ydHVuaXR5U291cmNlU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IE9QUE9SVFVOSVRZX1NPVVJDRSxcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIC8vIFNldHMgdGhlIGN1cnJlbnQgb3Bwb3J0dW5pdHlTb3VyY2VcbiAgICBzZXRPcHBvcnR1bml0eVNvdXJjZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248T3Bwb3J0dW5pdHlTb3VyY2U+KSA9PiB7XG4gICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG5cbiAgICAvLyBVcGRhdGVzIHRoZSByZWdpc3RlciBlcnJvciBtZXNzYWdlXG4gICAgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcblxuICBleHRyYVJlZHVjZXJzOiAoYnVpbGRlcikgPT4ge1xuICAgIGJ1aWxkZXJcbiAgICAgIC8vIGhhbmRsZSBvcHBvcnR1bml0eSBzb3VyY2VcbiAgICAgIC5hZGRDYXNlKGZldGNoT3Bwb3J0dW5pdHlTb3VyY2VzLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZXNQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIG9wcG9ydHVuaXR5IHNvdXJjZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoT3Bwb3J0dW5pdHlTb3VyY2VzLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBvcHBvcnR1bml0eSBzb3VyY2VzLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgb3Bwb3J0dW5pdHkgc291cmNlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hPcHBvcnR1bml0eVNvdXJjZXMuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VzID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9wcG9ydHVuaXR5IHNvdXJjZSBkZXRhaWxcbiAgICAgIC5hZGRDYXNlKG9wcG9ydHVuaXR5U291cmNlRGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZURldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgb3Bwb3J0dW5pdHkgc291cmNlcyBmZXRjaFxuICAgICAgLmFkZENhc2Uob3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggb3Bwb3J0dW5pdHkgc291cmNlcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIG9wcG9ydHVuaXR5IHNvdXJjZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKG9wcG9ydHVuaXR5U291cmNlRGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb3Bwb3J0dW5pdHlTb3VyY2UgY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgb3Bwb3J0dW5pdHkgc291cmNlcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb3Bwb3J0dW5pdHlTb3VyY2UgdXBkYXRlXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byB1cGRhdGUgb3Bwb3J0dW5pdHkgc291cmNlcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb3Bwb3J0dW5pdHlTb3VyY2UgZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBkZWxldGUgb3Bwb3J0dW5pdHkgc291cmNlcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7IHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBzZXRPcHBvcnR1bml0eVNvdXJjZSB9ID0gb3Bwb3J0dW5pdHlTb3VyY2VTbGljZS5hY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCBvcHBvcnR1bml0eVNvdXJjZVNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBPcHBvcnR1bml0eVNvdXJjZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBvcHBvcnR1bml0eVNvdXJjZXNTZXJ2aWNlID0gYXN5bmMoc2VhcmNoOiBzdHJpbmcsIHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuU09VUkNFLCB7IHNlYXJjaCwgcGFnZSwgcGFnZVNpemUgfSlcbn1cblxuZXhwb3J0IGNvbnN0IG9wcG9ydHVuaXR5U291cmNlRGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLlNPVVJDRX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UgPSBhc3luYyAoZGF0YTogT3Bwb3J0dW5pdHlTb3VyY2UpOiBQcm9taXNlPE9wcG9ydHVuaXR5U291cmNlPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuU09VUkNFfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBPcHBvcnR1bml0eVNvdXJjZSk6IFByb21pc2U8T3Bwb3J0dW5pdHlTb3VyY2U+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLlNPVVJDRX0ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuU09VUkNFfSR7aWR9YClcbn1cbiIsIi8qIChpZ25vcmVkKSAqLyJdLCJuYW1lcyI6WyJSZWFjdCIsIkJyb3dzZXJSb3V0ZXIiLCJBcHBSb3V0ZXMiLCJBcHAiLCJjcmVhdGVFbGVtZW50IiwiY3JlYXRlUm9vdCIsIlByb3ZpZGVyIiwic3RvcmUiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyb290RWxlbWVudCIsImdldEVsZW1lbnRCeUlkIiwicm9vdCIsInJlbmRlciIsImNvbnNvbGUiLCJlcnJvciIsImNyZWF0ZUFzeW5jVGh1bmsiLCJBVVRIRU5USUNBVElPTl9MT0dJTiIsIkFVVEhFTlRJQ0FUSU9OX0xPR0lOX1RFTEVHUkFNIiwiQVVUSEVOVElDQVRJT05fUkVHSVNURVIiLCJBVVRIRU5USUNBVElPTl9WRVJJRllfT1BUIiwiVVNFUl9BVFRFTkRBTkNFIiwibG9naW5UZWxlZ3JhbVVzZXJTZXJ2aWNlIiwibG9naW5Vc2VyU2VydmljZSIsInJlZ2lzdGVyVGVsZWdyYW1Vc2VyU2VydmljZSIsInVzZXJBdHRlbmRhbmNlU2VydmljZSIsInZlcmlmeU9UUFNlcnZpY2UiLCJsb2dpblVzZXJBY3Rpb24iLCJ2ZXJpZnlPVFBBY3Rpb24iLCJsb2dpblRlbGVncmFtVXNlckFjdGlvbiIsInJlZ2lzdGVyVGVsZWdyYW1Vc2VyQWN0aW9uIiwidXNlckF0dGVuZGFuY2VBY3Rpb24iLCJBVVRIIiwiY3JlYXRlU2xpY2UiLCJnZXRTZXNzaW9uSXRlbSIsImtleSIsIml0ZW0iLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJKU09OIiwicGFyc2UiLCJjb25jYXQiLCJnZXRTZXNzaW9uVG9rZW4iLCJpbml0aWFsU3RhdGUiLCJjdXJyZW50VXNlciIsImlzTG9naW5QZW5kaW5nIiwicGFnaW5hdGlvbiIsImN1cnJlbnRQYWdlIiwiaXRlbXNQZXJQYWdlIiwidG90YWxJdGVtcyIsImxvZ2luRXJyb3JNZXNzYWdlIiwiaGFuZGxlUmVnaXRlclRlbGVncmFtIiwiaXNPdHBWZXJpZmljYXRpb25QZW5kaW5nIiwib3RwVmVyaWZpY2F0aW9uRXJyb3JNZXNzYWdlIiwiYWNjZXNzVG9rZW4iLCJlbWFpbCIsImF1dGhTbGljZSIsIm5hbWUiLCJyZWR1Y2VycyIsImxvZ291dCIsInN0YXRlIiwiY2xlYXIiLCJzZXRUb2tlbiIsImFjdGlvbiIsInBheWxvYWQiLCJzZXRJdGVtIiwic3RyaW5naWZ5Iiwic2V0VXNlciIsInNldElzTG9naW5QZW5kaW5nIiwic2V0TG9naW5FcnJvck1lc3NhZ2UiLCJzZXRFbWFpbCIsImV4dHJhUmVkdWNlcnMiLCJidWlsZGVyIiwiYWRkQ2FzZSIsInBlbmRpbmciLCJyZWplY3RlZCIsImRhdGEiLCJmdWxmaWxsZWQiLCJpbmNsdWRlcyIsInJlbW92ZUl0ZW0iLCJ1c2VyIiwiYWNjZXNzX3Rva2VuIiwiX2F1dGhTbGljZSRhY3Rpb25zIiwiYWN0aW9ucyIsInJlZHVjZXIiLCJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIlVSTCIsImJhc2VVUkwiLCJwb3N0V2l0aENvbmZpZyIsIl9yZWYiLCJfY2FsbGVlIiwiYm9keSIsIl9jb250ZXh0IiwiTE9HSU4iLCJwYXNzd29yZCIsImdyYWRfdHlwZSIsIl94IiwiX3JlZjIiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsIkxPR0lOX1RFTEVHUkFNIiwidGVsZWdyYW1faWQiLCJ1c2VybmFtZSIsIl94MiIsIl9yZWYzIiwiX2NhbGxlZTMiLCJfY29udGV4dDMiLCJTSUdOVVAiLCJfeDMiLCJfcmVmNCIsIl9jYWxsZWU0IiwiX2NvbnRleHQ0IiwiX3g0IiwiX3JlZjUiLCJfY2FsbGVlNSIsInJlc3BvbnNlIiwiX3QiLCJfY29udGV4dDUiLCJsb2ciLCJWRVJJRllfVE9QIiwiY29kZSIsIm90cENvZGUiLCJfeDUiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJuZXh0IiwicHVzaCIsImlzQXJyYXkiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VDYWxsYmFjayIsInVzZURpc3BhdGNoIiwidXNlU2VsZWN0b3IiLCJ1c2VOYXZpZ2F0ZSIsImdldFdpdGhDb25maWciLCJ1c2VyVGVsZWdyYW1TZXJ2aWNlIiwiZmV0Y2hWb2x1bnRlZXJzIiwiU3dhbCIsIlRFTEVHUkFNX0JPVF9VU0VSTkFNRSIsIlRFTEVHUkFNX0FVVEhfQVBJIiwiVEVMRUdSQU1fQUxMT1dFRF9PUklHSU5TIiwiVGVsZWdyYW1Mb2dpbkF0dGVuZGFuY2UiLCJkaXNwYXRjaCIsIm5hdmlnYXRlIiwiX3VzZVNlbGVjdG9yIiwiYXV0aCIsIl9tZXNzYWdlJHVzZU1lc3NhZ2UiLCJfbWVzc2FnZSIsInVzZU1lc3NhZ2UiLCJfbWVzc2FnZSR1c2VNZXNzYWdlMiIsIm1lc3NhZ2VBcGkiLCJjb250ZXh0SG9sZGVyIiwidGVsZWdyYW1XcmFwcGVyUmVmIiwiYWxsVm9sdW50ZWVycyIsImZldGNoVGVsZWdyYW1Vc2VyIiwiYXV0aERhdGEiLCJFcnJvciIsImhhbmRsZVRlbGVncmFtTG9naW4iLCJldmVudCIsImV2ZW50T3JpZ2luIiwibG9naW5Cb2R5IiwiZXhpc3RpbmdVc2VyIiwiX3QyIiwib3JpZ2luIiwiaG9zdG5hbWUiLCJzb21lIiwiZG9tYWluIiwiZW5kc1dpdGgiLCJ3YXJuIiwiYXV0aF9kYXRhIiwiVVJMU2VhcmNoUGFyYW1zIiwiaWQiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwiYXR0ZW5kYW5jZUJvZHkiLCJ1c2VyX2lkIiwibWVldGluZ19ub3RlIiwibWVldGluZ190aW1lIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwic2V0VGltZW91dCIsImZpcmUiLCJ0aXRsZSIsInRleHQiLCJpY29uIiwiY29uZmlybUJ1dHRvblRleHQiLCJyZXN1bHQiLCJpc0NvbmZpcm1lZCIsImZldGNoVm9sdW50ZWVyc0RhdGEiLCJfcmVzcG9uc2UkcGF5bG9hZCIsInZvbHVudGVlcnNDb3VudCIsIl90MyIsInBhZ2UiLCJwYWdlU2l6ZSIsIm1ldGEiLCJ0b3RhbCIsInJvbGUiLCJyZXBsYWNlIiwic2F2ZWRVc2VyIiwid2luZG93Iiwic2NyaXB0RWxlbWVudCIsInNyYyIsInNldEF0dHJpYnV0ZSIsImFzeW5jIiwiY3VycmVudCIsImlubmVySFRNTCIsImFwcGVuZENoaWxkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsYXNzTmFtZSIsIl9DYXJkIiwic3R5bGUiLCJtYXhXaWR0aCIsInJlZiIsIkxvY2tPdXRsaW5lZCIsIlVzZXJPdXRsaW5lZCIsIkxvZ2luRm9ybSIsIm9uRmluaXNoIiwidmFsdWVzIiwib3BlbiIsInR5cGUiLCJjb250ZW50IiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImhlaWdodCIsIndpZHRoIiwidGV4dEFsaWduIiwiX0Zvcm0iLCJpbml0aWFsVmFsdWVzIiwicmVtZW1iZXIiLCJJdGVtIiwicnVsZXMiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJfSW5wdXQiLCJwcmVmaXgiLCJwbGFjZWhvbGRlciIsInZhbHVlUHJvcE5hbWUiLCJub1N0eWxlIiwiX0NoZWNrYm94IiwiX0J1dHRvbiIsImJsb2NrIiwiaHRtbFR5cGUiLCJsb2FkaW5nIiwidXNlU3RhdGUiLCJRUkNvZGVDYW52YXMiLCJWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJ2b2x1bnRlZXJJZCIsInNldFZvbHVudGVlcklkIiwiZmV0Y2hWb2x1bnRlZXJJZCIsInNpemUiLCJESVNBQklMSVRZX1RZUEVTIiwiRElTQUJJTElUWV9UWVBFIiwiRElTQUJJTElUWV9UWVBFX0RFTEVURSIsIkRJU0FCSUxJVFlfVFlQRV9DUkVBVEUiLCJESVNBQklMSVRZX1RZUEVfVVBEQVRFIiwiZGlzYWJpbGl0eVR5cGVzU2VydmljZSIsImRpc2FiaWxpdHlUeXBlRGV0YWlsU2VydmljZSIsImNyZWF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSIsInVwZGF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSIsImRlbGV0ZURpc2FiaWxpdHlUeXBlU2VydmljZSIsImZldGNoRGlzYWJpbGl0eVR5cGVzIiwic2VhcmNoIiwicmVqZWN0V2l0aFZhbHVlIiwiX2Vycm9yJHJlc3BvbnNlIiwiZGV0YWlsIiwiZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24iLCJjcmVhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiIsIl9yZWY2IiwiX2Vycm9yJHJlc3BvbnNlMiIsInVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIiwiX3JlZjkiLCJfcmVmNyIsIl9yZWY4IiwiX2Vycm9yJHJlc3BvbnNlMyIsIl94NiIsImRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIiwiZGlzYWJpbGl0eVR5cGVzIiwiZGlzYWJpbGl0eVR5cGUiLCJkaXNhYmlsaXR5VHlwZXNQZW5kaW5nIiwiZGlzYWJpbGl0eVR5cGVEZXRhaWxQZW5kaW5nIiwiZGlzYWJpbGl0eVR5cGVDcmVhdGVQZW5kaW5nIiwiZGlzYWJpbGl0eVR5cGVVcGRhdGVQZW5kaW5nIiwiZGlzYWJpbGl0eVR5cGVEZWxldGVQZW5kaW5nIiwicmVnaXN0ZXJFcnJvck1lc3NhZ2UiLCJkaXNhYmlsaXR5VHlwZVNsaWNlIiwic2V0RGlzYWJpbGl0eVR5cGUiLCJzZXRSZWdpc3RlckVycm9yTWVzc2FnZSIsIl9kaXNhYmlsaXR5VHlwZVNsaWNlJCIsInB1dFdpdGhDb25maWciLCJyZW1vdmVXaXRoQ29uZmlnIiwiX3g3IiwiX3g4IiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OUyIsIkVEVUNBVElPTl9JTlNUSVRVVElPTiIsIkVEVUNBVElPTl9JTlNUSVRVVElPTl9ERUxFVEUiLCJFRFVDQVRJT05fSU5TVElUVVRJT05fQ1JFQVRFIiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OX1VQREFURSIsImVkdWNhdGlvbkluc3RpdHV0aW9uc1NlcnZpY2UiLCJlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbFNlcnZpY2UiLCJjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2UiLCJ1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2UiLCJkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2UiLCJmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucyIsImVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uIiwiY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24iLCJ1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiIsImRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25zIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb24iLCJlZHVjYXRpb25JbnN0aXR1dGlvbnNQZW5kaW5nIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxQZW5kaW5nIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25DcmVhdGVQZW5kaW5nIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25VcGRhdGVQZW5kaW5nIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25EZWxldGVQZW5kaW5nIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZSIsInNldEVkdWNhdGlvbkluc3RpdHV0aW9uIiwiX2VkdWNhdGlvbkluc3RpdHV0aW9uIiwiUFJPVklOQ0VTIiwiRElTVFJJQ1QiLCJDT01NVU5FIiwiVklMTEFHRSIsIkZBTUlMWV9TVVJWRVlTIiwiRkFNSUxZX1NVUlZFWSIsIkZBTUlMWV9TVVJWRVlfQ1JFQVRFIiwiRkFNSUxZX1NVUlZFWV9VUERBVEUiLCJGQU1JTFlfU1VSVkVZX0RFTEVURSIsIlRSQU5TUE9SVEFUSU9OIiwiY29tbXVuZVNlcnZpY2UiLCJjcmVhdGVGYW1pbHlTZXJ2aWNlIiwiZGVsZXRlRmFtaWx5U2VydmljZSIsImRpc3RyaWN0U2VydmljZSIsImZhbWlseURldGFpbFNlcnZpY2UiLCJmYW1pbHlTZXJ2aWNlIiwicHJvdmluY2VTZXJ2aWNlIiwidHJhbnNwb3J0YXRpb25TZXJ2aWNlIiwidXBkYXRlRmFtaWx5U2VydmljZSIsInZpbGxhZ2VTZXJ2aWNlIiwiZmV0Y2hQcm92aW5jZSIsImZldGNoRGlzdHJpY3QiLCJmZXRjaENvbW11bmUiLCJmZXRjaFZpbGxhZ2VTZXJ2aWNlIiwiZmV0Y2hUcmFuc3BvcnRhdGlvbiIsImZldGNoRmFtaWx5U3VydmV5IiwiX3JlZjEwIiwiX3JlZjAiLCJfcmVmMSIsImdlbmRlciIsInRvdGFsX21lbWJlciIsImFnZSIsInZpbGxhZ2UiLCJjb21tdW5lIiwiZGlzdHJpY3QiLCJwcm92aW5jZSIsIl9lcnJvciRyZXNwb25zZTQiLCJfdDQiLCJkZWxldGVGYW1pbHlBY3Rpb24iLCJmYW1pbHlEZXRhaWxBY3Rpb24iLCJ1cGRhdGVGYW1pbHlBY3Rpb24iLCJfcmVmMTMiLCJfcmVmMTEiLCJfcmVmMTIiLCJfZXJyb3IkcmVzcG9uc2U1IiwiX3Q1IiwiX3g5IiwiX3gwIiwiY3JlYXRlRmFtaWx5QWN0aW9uIiwiX3JlZjE2IiwiX2NhbGxlZTYiLCJfcmVmMTQiLCJfcmVmMTUiLCJfZXJyb3IkcmVzcG9uc2U2IiwiX3Q2IiwiX2NvbnRleHQ2IiwiX3gxIiwiX3gxMCIsImZhbWlsaWVzIiwiZmFtaWx5U3VydmV5IiwicHJvdmluY2VzIiwiZGlzdHJpY3RzIiwiY29tbXVuZXMiLCJ2aWxsYWdlcyIsInRyYW5zcG9ydGF0aW9ucyIsInJlZ2lzdGVyUGVuZGluZyIsImZhbWlsaVN1cnZleVNsaWNlIiwic2V0RmFtaWx5Iiwic2V0c2V0RmFtaWx5UGVuZGluZyIsInNldHNldEZhbWlseUVycm9yTWVzc2FnZSIsIl9mYW1pbGlTdXJ2ZXlTbGljZSRhYyIsInByb3ZpbmNlSWQiLCJkaXN0cmljdElkIiwiY29tbXVuZUlkIiwiVFJBTlNQT1JUQVRJT05TIiwiRkFNSUxJRVMiLCJfeDExIiwiX2NhbGxlZTciLCJfY29udGV4dDciLCJfeDEyIiwiX2NhbGxlZTgiLCJfY29udGV4dDgiLCJfeDEzIiwiX2NhbGxlZTkiLCJfY29udGV4dDkiLCJfeDE0IiwiX3gxNSIsIl9jYWxsZWUwIiwiX2NvbnRleHQwIiwiX3gxNiIsIkZPT0RTIiwiRk9PRCIsIkZPT0RfREVMRVRFIiwiRk9PRF9DUkVBVEUiLCJGT09EX1VQREFURSIsImZvb2RzU2VydmljZSIsImZvb2REZXRhaWxTZXJ2aWNlIiwiY3JlYXRlRm9vZFNlcnZpY2UiLCJ1cGRhdGVGb29kU2VydmljZSIsImRlbGV0ZUZvb2RTZXJ2aWNlIiwiZmV0Y2hGb29kcyIsImZvb2REZXRhaWxBY3Rpb24iLCJjcmVhdGVGb29kQWN0aW9uIiwidXBkYXRlRm9vZEFjdGlvbiIsImRlbGV0ZUZvb2RBY3Rpb24iLCJmb29kcyIsImZvb2QiLCJmb29kc1BlbmRpbmciLCJmb29kRGV0YWlsUGVuZGluZyIsImZvb2RDcmVhdGVQZW5kaW5nIiwiZm9vZFVwZGF0ZVBlbmRpbmciLCJmb29kRGVsZXRlUGVuZGluZyIsImZvb2RTbGljZSIsInNldEZvb2QiLCJfZm9vZFNsaWNlJGFjdGlvbnMiLCJJTlRFUkVTVEVEX1RFQU1TIiwiSU5URVJFU1RFRF9URUFNIiwiSU5URVJFU1RFRF9URUFNX0RFTEVURSIsIklOVEVSRVNURURfVEVBTV9DUkVBVEUiLCJJTlRFUkVTVEVEX1RFQU1fVVBEQVRFIiwiaW50ZXJlc3RlZFRlYW1zU2VydmljZSIsImludGVyZXN0ZWRUZWFtRGV0YWlsU2VydmljZSIsImNyZWF0ZUludGVyZXN0ZWRUZWFtU2VydmljZSIsInVwZGF0ZUludGVyZXN0ZWRUZWFtU2VydmljZSIsImRlbGV0ZUludGVyZXN0ZWRUZWFtU2VydmljZSIsImZldGNoSW50ZXJlc3RlZFRlYW1zIiwiZXZlbnRfaWRzIiwiaW50ZXJlc3RlZFRlYW1EZXRhaWxBY3Rpb24iLCJjcmVhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbiIsInVwZGF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uIiwiZGVsZXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24iLCJpbnRlcmVzdGVkVGVhbXMiLCJpbnRlcmVzdGVkVGVhbSIsImludGVyZXN0ZWRUZWFtc1BlbmRpbmciLCJpbnRlcmVzdGVkVGVhbURldGFpbFBlbmRpbmciLCJpbnRlcmVzdGVkVGVhbUNyZWF0ZVBlbmRpbmciLCJpbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmciLCJpbnRlcmVzdGVkVGVhbURlbGV0ZVBlbmRpbmciLCJpbnRlcmVzdGVkVGVhbVNsaWNlIiwic2V0SW50ZXJlc3RlZFRlYW0iLCJfaW50ZXJlc3RlZFRlYW1TbGljZSQiLCJURUFNIiwiTEFOR1VBR0VTIiwiTEFOR1VBR0UiLCJMQU5HVUFHRV9ERUxFVEUiLCJMQU5HVUFHRV9DUkVBVEUiLCJMQU5HVUFHRV9VUERBVEUiLCJsYW5ndWFnZXNTZXJ2aWNlIiwibGFuZ3VhZ2VEZXRhaWxTZXJ2aWNlIiwiY3JlYXRlTGFuZ3VhZ2VTZXJ2aWNlIiwidXBkYXRlTGFuZ3VhZ2VTZXJ2aWNlIiwiZGVsZXRlTGFuZ3VhZ2VTZXJ2aWNlIiwiZmV0Y2hMYW5ndWFnZXMiLCJsYW5ndWFnZURldGFpbEFjdGlvbiIsImNyZWF0ZUxhbmd1YWdlQWN0aW9uIiwidXBkYXRlTGFuZ3VhZ2VBY3Rpb24iLCJkZWxldGVMYW5ndWFnZUFjdGlvbiIsImxhbmd1YWdlcyIsImxhbmd1YWdlIiwibGFuZ3VhZ2VzUGVuZGluZyIsImxhbmd1YWdlRGV0YWlsUGVuZGluZyIsImxhbmd1YWdlQ3JlYXRlUGVuZGluZyIsImxhbmd1YWdlVXBkYXRlUGVuZGluZyIsImxhbmd1YWdlRGVsZXRlUGVuZGluZyIsImxhbmd1YWdlU2xpY2UiLCJzZXRMYW5ndWFnZSIsIl9sYW5ndWFnZVNsaWNlJGFjdGlvbiIsIk9DQ1VQQVRJT05TIiwiT0NDVVBBVElPTiIsIk9DQ1VQQVRJT05fREVMRVRFIiwiT0NDVVBBVElPTl9DUkVBVEUiLCJPQ0NVUEFUSU9OX1VQREFURSIsIm9jY3VwYXRpb25zU2VydmljZSIsIm9jY3VwYXRpb25EZXRhaWxTZXJ2aWNlIiwiY3JlYXRlT2NjdXBhdGlvblNlcnZpY2UiLCJ1cGRhdGVPY2N1cGF0aW9uU2VydmljZSIsImRlbGV0ZU9jY3VwYXRpb25TZXJ2aWNlIiwiZmV0Y2hPY2N1cGF0aW9ucyIsIm9jY3VwYXRpb25EZXRhaWxBY3Rpb24iLCJjcmVhdGVPY2N1cGF0aW9uQWN0aW9uIiwidXBkYXRlT2NjdXBhdGlvbkFjdGlvbiIsImRlbGV0ZU9jY3VwYXRpb25BY3Rpb24iLCJvY2N1cGF0aW9ucyIsIm9jY3VwYXRpb24iLCJvY2N1cGF0aW9uc1BlbmRpbmciLCJvY2N1cGF0aW9uRGV0YWlsUGVuZGluZyIsIm9jY3VwYXRpb25DcmVhdGVQZW5kaW5nIiwib2NjdXBhdGlvblVwZGF0ZVBlbmRpbmciLCJvY2N1cGF0aW9uRGVsZXRlUGVuZGluZyIsIm9jY3VwYXRpb25TbGljZSIsInNldE9jY3VwYXRpb24iLCJfb2NjdXBhdGlvblNsaWNlJGFjdGkiLCJPRkZFUl9QUk9HUkFNUyIsIk9GRkVSX1BST0dSQU0iLCJPRkZFUl9QUk9HUkFNX0RFTEVURSIsIk9GRkVSX1BST0dSQU1fQ1JFQVRFIiwiT0ZGRVJfUFJPR1JBTV9VUERBVEUiLCJvZmZlclByb2dyYW1zU2VydmljZSIsIm9mZmVyUHJvZ3JhbURldGFpbFNlcnZpY2UiLCJjcmVhdGVPZmZlclByb2dyYW1TZXJ2aWNlIiwidXBkYXRlT2ZmZXJQcm9ncmFtU2VydmljZSIsImRlbGV0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UiLCJmZXRjaE9mZmVyUHJvZ3JhbXMiLCJvZmZlclByb2dyYW1EZXRhaWxBY3Rpb24iLCJjcmVhdGVPZmZlclByb2dyYW1BY3Rpb24iLCJ1cGRhdGVPZmZlclByb2dyYW1BY3Rpb24iLCJkZWxldGVPZmZlclByb2dyYW1BY3Rpb24iLCJvZmZlclByb2dyYW1zIiwib2ZmZXJQcm9ncmFtIiwib2ZmZXJQcm9ncmFtc1BlbmRpbmciLCJvZmZlclByb2dyYW1EZXRhaWxQZW5kaW5nIiwib2ZmZXJQcm9ncmFtQ3JlYXRlUGVuZGluZyIsIm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmciLCJvZmZlclByb2dyYW1EZWxldGVQZW5kaW5nIiwib2ZmZXJQcm9ncmFtU2xpY2UiLCJzZXRPZmZlclByb2dyYW0iLCJfb2ZmZXJQcm9ncmFtU2xpY2UkYWMiLCJPUFBPUlRVTklUWV9TT1VSQ0VTIiwiT1BQT1JUVU5JVFlfU09VUkNFIiwiT1BQT1JUVU5JVFlfU09VUkNFX0RFTEVURSIsIk9QUE9SVFVOSVRZX1NPVVJDRV9DUkVBVEUiLCJPUFBPUlRVTklUWV9TT1VSQ0VfVVBEQVRFIiwib3Bwb3J0dW5pdHlTb3VyY2VzU2VydmljZSIsIm9wcG9ydHVuaXR5U291cmNlRGV0YWlsU2VydmljZSIsImNyZWF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSIsInVwZGF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSIsImRlbGV0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSIsImZldGNoT3Bwb3J0dW5pdHlTb3VyY2VzIiwib3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxBY3Rpb24iLCJjcmVhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbiIsInVwZGF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uIiwiZGVsZXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24iLCJvcHBvcnR1bml0eVNvdXJjZXMiLCJvcHBvcnR1bml0eVNvdXJjZSIsIm9wcG9ydHVuaXR5U291cmNlc1BlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZURldGFpbFBlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZUNyZWF0ZVBlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZURlbGV0ZVBlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZVNsaWNlIiwic2V0T3Bwb3J0dW5pdHlTb3VyY2UiLCJfb3Bwb3J0dW5pdHlTb3VyY2VTbGkiLCJTT1VSQ0UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==