(self["webpackChunkiride"] = self["webpackChunkiride"] || []).push([["bootstrap_env"],{ /***/ "./assets/js/bootstrap_env.js": /*!************************************!*\ !*** ./assets/js/bootstrap_env.js ***! \************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js"); /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _googlemaps_js_api_loader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @googlemaps/js-api-loader */ "./node_modules/@googlemaps/js-api-loader/dist/index.esm.js"); /* harmony import */ var _include_js_bootstrap_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../include/js/bootstrap/utils */ "./include/js/bootstrap/utils.js"); /* harmony import */ var _components_login__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/login */ "./assets/js/components/login.js"); /* harmony import */ var handsontable_dist_handsontable_full_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! handsontable/dist/handsontable.full.css */ "./node_modules/handsontable/dist/handsontable.full.css"); /* harmony import */ var _components_googlemaps__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/googlemaps */ "./assets/js/components/googlemaps.js"); /* harmony import */ var _components_iwcomponents__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/iwcomponents */ "./assets/js/components/iwcomponents.js"); /** * Created by PhpStorm * User: daniele * Date: 02/03/20 * Time: 11:29 */ __webpack_require__(/*! popper.js */ "./node_modules/popper.js/dist/esm/popper.js"); __webpack_require__(/*! bootstrap/dist/css/bootstrap.min.css */ "./node_modules/bootstrap/dist/css/bootstrap.min.css"); __webpack_require__(/*! ../../css/bootstrap/styles.css */ "./css/bootstrap/styles.css"); __webpack_require__(/*! ../../css/bootstrap/iride_elements.css */ "./css/bootstrap/iride_elements.css"); __webpack_require__(/*! jquery-ui-themes/themes/redmond/jquery-ui.min.css */ "./node_modules/jquery-ui-themes/themes/redmond/jquery-ui.min.css"); __webpack_require__(/*! ../../css/jquery.ui.base.css */ "./css/jquery.ui.base.css"); __webpack_require__(/*! ../../css/jquery.ui.iride.css */ "./css/jquery.ui.iride.css"); __webpack_require__(/*! ./components/jquery-timeentry/jquery.timeentry.css */ "./assets/js/components/jquery-timeentry/jquery.timeentry.css"); __webpack_require__(/*! ./components/jquery-ui-multiselect-widget-iride/jquery.multiselect.css */ "./assets/js/components/jquery-ui-multiselect-widget-iride/jquery.multiselect.css"); __webpack_require__(/*! jquery.growl/stylesheets/jquery.growl.css */ "./node_modules/jquery.growl/stylesheets/jquery.growl.css"); __webpack_require__(/*! jquery.lighter/stylesheets/jquery.lighter.css */ "./node_modules/jquery.lighter/stylesheets/jquery.lighter.css"); __webpack_require__(/*! bootstrap-datepicker/dist/css/bootstrap-datepicker.standalone.css */ "./node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker.standalone.css"); __webpack_require__(/*! datatables.net-bs4/css/dataTables.bootstrap4.min.css */ "./node_modules/datatables.net-bs4/css/dataTables.bootstrap4.min.css"); __webpack_require__(/*! datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css */ "./node_modules/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css"); __webpack_require__(/*! @fortawesome/fontawesome-free/css/fontawesome.min.css */ "./node_modules/@fortawesome/fontawesome-free/css/fontawesome.min.css"); __webpack_require__(/*! sidr/dist/stylesheets/jquery.sidr.light.min.css */ "./node_modules/sidr/dist/stylesheets/jquery.sidr.light.min.css"); __webpack_require__(/*! qtip2/dist/jquery.qtip.css */ "./node_modules/qtip2/dist/jquery.qtip.css"); __webpack_require__(/*! ../../css/jquery.qtip.css */ "./css/jquery.qtip.css"); __webpack_require__(/*! ./components/jquery-uploadfile/css/uploadfile.css */ "./assets/js/components/jquery-uploadfile/css/uploadfile.css"); __webpack_require__(/*! unitegallery/dist/css/unite-gallery.css */ "./node_modules/unitegallery/dist/css/unite-gallery.css"); __webpack_require__(/*! select2/dist/css/select2.min.css */ "./node_modules/select2/dist/css/select2.min.css"); __webpack_require__(/*! ../../css/bootstrap/iride_layout.css */ "./css/bootstrap/iride_layout.css"); __webpack_require__(/*! ../../css/bootstrap/iride_navbar.css */ "./css/bootstrap/iride_navbar.css"); __webpack_require__.g.moment = __webpack_require__(/*! moment */ "./node_modules/moment/moment.js"); var $ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); __webpack_require__.g.$ = __webpack_require__.g.jQuery = $; __webpack_require__(/*! jquery-ui/ui/widgets/autocomplete */ "./node_modules/jquery-ui/ui/widgets/autocomplete.js"); __webpack_require__.g._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); __webpack_require__(/*! bootstrap */ "./node_modules/bootstrap/dist/js/bootstrap.js"); __webpack_require__(/*! @fortawesome/fontawesome-free/js/all.min */ "./node_modules/@fortawesome/fontawesome-free/js/all.min.js"); __webpack_require__(/*! bootstrap-datepicker/dist/js/bootstrap-datepicker */ "./node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.js"); __webpack_require__(/*! bootstrap-datepicker/dist/locales/bootstrap-datepicker.it.min */ "./node_modules/bootstrap-datepicker/dist/locales/bootstrap-datepicker.it.min.js"); __webpack_require__(/*! ./components/jquery-uploadfile/js/jquery.uploadfile.min */ "./assets/js/components/jquery-uploadfile/js/jquery.uploadfile.min.js"); __webpack_require__(/*! ./components/jquery-timeentry/jquery.plugin.min */ "./assets/js/components/jquery-timeentry/jquery.plugin.min.js"); __webpack_require__(/*! ./components/jquery-timeentry/jquery.timeentry.min */ "./assets/js/components/jquery-timeentry/jquery.timeentry.min.js"); __webpack_require__(/*! jquery.growl */ "./node_modules/jquery.growl/javascripts/jquery.growl.js"); __webpack_require__(/*! jquery-zoom */ "./node_modules/jquery-zoom/jquery.zoom.js"); __webpack_require__(/*! jquery.lighter */ "./node_modules/jquery.lighter/javascripts/jquery.lighter.js"); window.CKEDITOR_BASEPATH = '/node_modules/ckeditor/'; __webpack_require__(/*! ckeditor */ "./node_modules/ckeditor/ckeditor.js"); __webpack_require__(/*! ckeditor/adapters/jquery */ "./node_modules/ckeditor/adapters/jquery.js"); __webpack_require__(/*! ../../include/js/front */ "./include/js/front.js"); __webpack_require__(/*! sidr/dist/jquery.sidr.min */ "./node_modules/sidr/dist/jquery.sidr.min.js"); __webpack_require__(/*! qtip2 */ "./node_modules/qtip2/dist/jquery.qtip.js"); __webpack_require__(/*! select2 */ "./node_modules/select2/dist/js/select2.js"); __webpack_require__.g.iride_func = __webpack_require__(/*! ../../include/js/utils */ "./include/js/utils.js"); __webpack_require__.g.iride_date_utils = __webpack_require__(/*! ../../include/js/date */ "./include/js/date.js"); __webpack_require__.g.iride_bootstrap_utils = _include_js_bootstrap_utils__WEBPACK_IMPORTED_MODULE_3__["default"]; $.each(iride_func, function (key, value) { __webpack_require__.g[key] = value; }); $.each(iride_bootstrap_utils, function (key, value) { __webpack_require__.g[key] = value; }); $.each(iride_date_utils, function (key, value) { __webpack_require__.g[key] = value; }); $.fn.dialog = function (func) { if (func === "close") func = "hide"; var id = $(this).attr("id") + "Modal"; return $("#" + id).modal(func); }; $.fn.tabs = function (func) {}; __webpack_require__(/*! ../../include/js/pack/0050.autocomplete-events */ "./include/js/pack/0050.autocomplete-events.js"); __webpack_require__(/*! ../../include/js/pack/0170.jquery.simplecurrency */ "./include/js/pack/0170.jquery.simplecurrency.js"); __webpack_require__(/*! ../../include/js/pack/0180.jquery.selectboxes */ "./include/js/pack/0180.jquery.selectboxes.js"); __webpack_require__(/*! ../../include/js/pack/0290.iridegallery */ "./include/js/pack/0290.iridegallery.js"); __webpack_require__(/*! ./components/jquery-ui-multiselect-widget-iride/src/jquery.multiselect */ "./assets/js/components/jquery-ui-multiselect-widget-iride/src/jquery.multiselect.js"); __webpack_require__.g.IWDatatable = _components_iwcomponents__WEBPACK_IMPORTED_MODULE_7__["default"]; __webpack_require__.g.checkEmailRecuperoPwd = _components_login__WEBPACK_IMPORTED_MODULE_4__["default"].checkEmailRecuperoPwd; $(document).ready(function () { iride_date_utils.bsDatePickerInit(); $(".IWDataTables").each(function () { IWDatatable.buildDatatables(this); }); var first_divmap = $(".googlemapElement")[0]; var google_apikey = $(first_divmap).data("apikey"); if (google_apikey != undefined) { var loader = new _googlemaps_js_api_loader__WEBPACK_IMPORTED_MODULE_2__.Loader({ apiKey: google_apikey, version: "weekly" }); loader.load().then(function () { $(".googlemapElement").each(function () { try { _components_googlemaps__WEBPACK_IMPORTED_MODULE_6__["default"].buildGoogleMaps(this); } catch (e) { console.log("Errore caricamento Google Maps: " + $(this).attr("id")); console.log(e); } }); }); } //menu javascript $('.dropdown-menu a.dropdown-toggle').on('click', function (e) { var $el = $(this); var $parent = $(this).offsetParent(".dropdown-menu"); if (!$(this).next().hasClass('show')) { $(this).parents('.dropdown-menu').first().find('.show').removeClass("show"); } var $subMenu = $(this).next(".dropdown-menu"); $subMenu.toggleClass('show'); $(this).parent("li").toggleClass('show'); $(this).parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function (e) { $('.dropdown-menu .show').removeClass("show"); }); if (!$parent.parent().hasClass('navbar-nav')) { $el.next().css({ "top": $el[0].offsetTop, "left": $parent.outerWidth() - 4 }); } return false; }); }); /***/ }), /***/ "./include/js/bootstrap/utils.js": /*!***************************************!*\ !*** ./include/js/bootstrap/utils.js ***! \***************************************/ /***/ ((__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 core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.timers.js */ "./node_modules/core-js/modules/web.timers.js"); /* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _assets_js_components_iwcomponents__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../assets/js/components/iwcomponents */ "./assets/js/components/iwcomponents.js"); /* harmony import */ var _assets_js_components_googlemaps__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../assets/js/components/googlemaps */ "./assets/js/components/googlemaps.js"); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _googlemaps_js_api_loader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @googlemaps/js-api-loader */ "./node_modules/@googlemaps/js-api-loader/dist/index.esm.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ "./include/js/utils.js"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_utils__WEBPACK_IMPORTED_MODULE_5__); /** * Created by PhpStorm * User: daniele * Date: 15/05/20 * Time: 14.33 */ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ dialogShow: function dialogShow(divid, callback, onOpenCallback) { var div = jquery__WEBPACK_IMPORTED_MODULE_3___default()("#" + divid + "Modal"); (0,_utils__WEBPACK_IMPORTED_MODULE_5__.reloadComponents)("#" + divid + "Modal"); var first_divmap = jquery__WEBPACK_IMPORTED_MODULE_3___default()("#" + divid + "Modal .googlemapElement")[0]; var google_apikey = jquery__WEBPACK_IMPORTED_MODULE_3___default()(first_divmap).data("apikey"); if (google_apikey) { var loader = new _googlemaps_js_api_loader__WEBPACK_IMPORTED_MODULE_4__.Loader({ apiKey: google_apikey, version: "weekly", libraries: "places" }); loader.load().then(function () { jquery__WEBPACK_IMPORTED_MODULE_3___default()("#" + divid + "Modal .googlemapElement").each(function () { try { _assets_js_components_googlemaps__WEBPACK_IMPORTED_MODULE_2__["default"].buildGoogleMaps(this); } catch (e) { console.log("Errore caricamento Google Maps: " + jquery__WEBPACK_IMPORTED_MODULE_3___default()(this).attr("id")); console.log(e); } }); }); } div.modal("show"); if (typeof onOpenCallback === "function") { div.on('show.bs.modal', function (e) { onOpenCallback(e); }); } if (typeof callback !== "function") return; var btns = jquery__WEBPACK_IMPORTED_MODULE_3___default()("." + divid + "modalButtons"); btns.off(); btns.on("click", function () { var value = jquery__WEBPACK_IMPORTED_MODULE_3___default()(this).attr("data-value"); if (value === "true") value = true; if (value === "false") value = false; callback(value); }); }, jumpToTab: function jumpToTab(index) { jquery__WEBPACK_IMPORTED_MODULE_3___default()("#iwobjectTabstab-" + index).tab("show"); setTimeout(function () { jquery__WEBPACK_IMPORTED_MODULE_3___default()(jquery__WEBPACK_IMPORTED_MODULE_3___default().fn.dataTable.tables(true)).DataTable().columns.adjust(); }, 300); }, resizeContent: function resizeContent() { jquery__WEBPACK_IMPORTED_MODULE_3___default().ajax({ url: "ajax.php?JSON", type: "post", dataType: "json", data: { object: "Setup", tipoview: "resizeContent", screenwidth: window.innerWidth, screenheight: window.innerHeight } }); }, switchPasswordElement: function switchPasswordElement(id) { var $password = jquery__WEBPACK_IMPORTED_MODULE_3___default()("#" + id); var $togglePassword = jquery__WEBPACK_IMPORTED_MODULE_3___default()("#" + id + "_togglePassword__span"); if ($password.attr("type") === "text") { $password.attr('type', 'password'); $togglePassword.addClass("fa-eye-slash"); $togglePassword.removeClass("fa-eye"); } else if ($password.attr("type") === "password") { $password.attr('type', 'text'); $togglePassword.removeClass("fa-eye-slash"); $togglePassword.addClass("fa-eye"); } } }); /***/ }), /***/ "./include/js/front.js": /*!*****************************!*\ !*** ./include/js/front.js ***! \*****************************/ /***/ (() => { /*! * Start Bootstrap - SB Admin v6.0.0 (https://startbootstrap.com/templates/sb-admin) * Copyright 2013-2020 Start Bootstrap * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-sb-admin/blob/master/LICENSE) */ $(document).ready(function () { "use strict"; // Add active state to sidbar nav links var path = window.location.href; // because the 'href' property of the DOM element is the absolute path $("#layoutSidenav_nav .sb-sidenav a.nav-link").each(function () { if (this.href === path) { $(this).addClass("active"); } }); // Toggle the side navigation $("#sidebarToggle").on("click", function (e) { e.preventDefault(); $("body").toggleClass("sb-sidenav-toggled"); }); }); /***/ }), /***/ "./css/bootstrap/iride_elements.css": /*!******************************************!*\ !*** ./css/bootstrap/iride_elements.css ***! \******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin /***/ }), /***/ "./css/bootstrap/iride_layout.css": /*!****************************************!*\ !*** ./css/bootstrap/iride_layout.css ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin /***/ }), /***/ "./css/bootstrap/iride_navbar.css": /*!****************************************!*\ !*** ./css/bootstrap/iride_navbar.css ***! \****************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin /***/ }), /***/ "./css/bootstrap/styles.css": /*!**********************************!*\ !*** ./css/bootstrap/styles.css ***! \**********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin /***/ }), /***/ "./css/jquery.ui.base.css": /*!********************************!*\ !*** ./css/jquery.ui.base.css ***! \********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin /***/ }), /***/ "./css/jquery.ui.iride.css": /*!*********************************!*\ !*** ./css/jquery.ui.iride.css ***! \*********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin /***/ }) }, /******/ __webpack_require__ => { // webpackRuntimeModules /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) /******/ __webpack_require__.O(0, ["vendors-node_modules_core-js_internals_export_js","vendors-node_modules_core-js_modules_es_symbol_description_js-node_modules_core-js_modules_es-df0961","vendors-node_modules_core-js_modules_es_date_to-primitive_js-node_modules_core-js_modules_es_-d98bf1","vendors-node_modules_core-js_modules_es_regexp_constructor_js-node_modules_core-js_modules_es-ae9bbe","vendors-node_modules_core-js_modules_es_array_from_js-node_modules_core-js_modules_es_array_i-c167a7","vendors-node_modules_jsbarcode_bin_JsBarcode_js-node_modules_core-js_modules_es_array_filter_-fe4679","vendors-node_modules_core-js_modules_es_array_every_js-node_modules_core-js_modules_es_object-fa2c87","vendors-node_modules_moment_locale_af_js-node_modules_moment_locale_ar-dz_js-node_modules_mom-582c96","vendors-node_modules_googlemaps_js-api-loader_dist_index_esm_js","vendors-node_modules_ckeditor_adapters_jquery_js-node_modules_ckeditor_ckeditor_js-node_modul-1e26ec","vendors-node_modules_fortawesome_fontawesome-free_js_all_min_js-node_modules_fortawesome_font-d2fae8","vendors-node_modules_bootstrap_dist_css_bootstrap_min_css","vendors-node_modules_bootstrap-datepicker_dist_js_bootstrap-datepicker_js-node_modules_bootst-ebf2dc","vendors-node_modules_jquery-ui-themes_themes_redmond_jquery-ui_min_css","vendors-node_modules_bootstrap_dist_js_bootstrap_js-node_modules_bootstrap_dist_css_bootstrap-22a9f2","include_js_utils_js","assets_js_components_iwcomponents_js","assets_js_components_googlemaps_js-assets_js_components_jquery-timeentry_jquery_plugin_min_js-c4e896","assets_js_components_jquery-ui-multiselect-widget-iride_src_jquery_multiselect_js-assets_js_c-37f529"], () => (__webpack_exec__("./assets/js/bootstrap_env.js"))); /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ } ]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,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QztJQUN4QztFQUNKO0FBQ0osQ0FBQzs7Ozs7Ozs7OztBQ3pGRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0F6RixDQUFDLENBQUN3QixRQUFRLENBQUMsQ0FBQ0MsS0FBSyxDQUFDLFlBQVc7RUFDekIsWUFBWTs7RUFFWjtFQUNBLElBQUlpRSxJQUFJLEdBQUd2RixNQUFNLENBQUN3RixRQUFRLENBQUNDLElBQUksQ0FBQyxDQUFDO0VBQ2pDNUYsQ0FBQyxDQUFDLDJDQUEyQyxDQUFDLENBQUNTLElBQUksQ0FBQyxZQUFXO0lBQzNELElBQUksSUFBSSxDQUFDbUYsSUFBSSxLQUFLRixJQUFJLEVBQUU7TUFDcEIxRixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUN5RixRQUFRLENBQUMsUUFBUSxDQUFDO0lBQzlCO0VBQ0osQ0FBQyxDQUFDOztFQUVGO0VBQ0F6RixDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQ3lDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBU0gsQ0FBQyxFQUFFO0lBQ3hDQSxDQUFDLENBQUN1RCxjQUFjLENBQUMsQ0FBQztJQUNsQjdGLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQ29ELFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztFQUMvQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUM7Ozs7Ozs7Ozs7OztBQ3JCRjs7Ozs7Ozs7Ozs7OztBQ0FBOzs7Ozs7Ozs7Ozs7O0FDQUE7Ozs7Ozs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7Ozs7OztBQ0FBOzs7Ozs7Ozs7Ozs7O0FDQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9pcmlkZS8uL2Fzc2V0cy9qcy9ib290c3RyYXBfZW52LmpzIiwid2VicGFjazovL2lyaWRlLy4vaW5jbHVkZS9qcy9ib290c3RyYXAvdXRpbHMuanMiLCJ3ZWJwYWNrOi8vaXJpZGUvLi9pbmNsdWRlL2pzL2Zyb250LmpzIiwid2VicGFjazovL2lyaWRlLy4vY3NzL2Jvb3RzdHJhcC9pcmlkZV9lbGVtZW50cy5jc3M/ZmI3ZSIsIndlYnBhY2s6Ly9pcmlkZS8uL2Nzcy9ib290c3RyYXAvaXJpZGVfbGF5b3V0LmNzcz8zY2RjIiwid2VicGFjazovL2lyaWRlLy4vY3NzL2Jvb3RzdHJhcC9pcmlkZV9uYXZiYXIuY3NzP2Y1NDgiLCJ3ZWJwYWNrOi8vaXJpZGUvLi9jc3MvYm9vdHN0cmFwL3N0eWxlcy5jc3M/YWMwMiIsIndlYnBhY2s6Ly9pcmlkZS8uL2Nzcy9qcXVlcnkudWkuYmFzZS5jc3M/NzY5YiIsIndlYnBhY2s6Ly9pcmlkZS8uL2Nzcy9qcXVlcnkudWkuaXJpZGUuY3NzPzZkYTkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGVkIGJ5IFBocFN0b3JtXG4gKiBVc2VyOiBkYW5pZWxlXG4gKiBEYXRlOiAwMi8wMy8yMFxuICogVGltZTogMTE6MjlcbiAqL1xuXG5pbXBvcnQge0xvYWRlcn0gZnJvbSBcIkBnb29nbGVtYXBzL2pzLWFwaS1sb2FkZXJcIjtcblxucmVxdWlyZShcInBvcHBlci5qc1wiKTtcbnJlcXVpcmUoXCJib290c3RyYXAvZGlzdC9jc3MvYm9vdHN0cmFwLm1pbi5jc3NcIik7XG5yZXF1aXJlKCcuLi8uLi9jc3MvYm9vdHN0cmFwL3N0eWxlcy5jc3MnKTtcbnJlcXVpcmUoXCIuLi8uLi9jc3MvYm9vdHN0cmFwL2lyaWRlX2VsZW1lbnRzLmNzc1wiKTtcbnJlcXVpcmUoXCJqcXVlcnktdWktdGhlbWVzL3RoZW1lcy9yZWRtb25kL2pxdWVyeS11aS5taW4uY3NzXCIpO1xucmVxdWlyZShcIi4uLy4uL2Nzcy9qcXVlcnkudWkuYmFzZS5jc3NcIik7XG5yZXF1aXJlKFwiLi4vLi4vY3NzL2pxdWVyeS51aS5pcmlkZS5jc3NcIik7XG5yZXF1aXJlKFwiLi9jb21wb25lbnRzL2pxdWVyeS10aW1lZW50cnkvanF1ZXJ5LnRpbWVlbnRyeS5jc3NcIik7XG5yZXF1aXJlKFwiLi9jb21wb25lbnRzL2pxdWVyeS11aS1tdWx0aXNlbGVjdC13aWRnZXQtaXJpZGUvanF1ZXJ5Lm11bHRpc2VsZWN0LmNzc1wiKTtcbnJlcXVpcmUoXCJqcXVlcnkuZ3Jvd2wvc3R5bGVzaGVldHMvanF1ZXJ5Lmdyb3dsLmNzc1wiKTtcbnJlcXVpcmUoXCJqcXVlcnkubGlnaHRlci9zdHlsZXNoZWV0cy9qcXVlcnkubGlnaHRlci5jc3NcIik7XG5yZXF1aXJlKFwiYm9vdHN0cmFwLWRhdGVwaWNrZXIvZGlzdC9jc3MvYm9vdHN0cmFwLWRhdGVwaWNrZXIuc3RhbmRhbG9uZS5jc3NcIik7XG5cbnJlcXVpcmUoXCJkYXRhdGFibGVzLm5ldC1iczQvY3NzL2RhdGFUYWJsZXMuYm9vdHN0cmFwNC5taW4uY3NzXCIpO1xucmVxdWlyZShcImRhdGF0YWJsZXMubmV0LWJ1dHRvbnMtYnM0L2Nzcy9idXR0b25zLmJvb3RzdHJhcDQubWluLmNzc1wiKTtcbnJlcXVpcmUoJ0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL2Nzcy9mb250YXdlc29tZS5taW4uY3NzJyk7XG5yZXF1aXJlKFwic2lkci9kaXN0L3N0eWxlc2hlZXRzL2pxdWVyeS5zaWRyLmxpZ2h0Lm1pbi5jc3NcIik7XG5yZXF1aXJlKFwicXRpcDIvZGlzdC9qcXVlcnkucXRpcC5jc3NcIik7XG5yZXF1aXJlKFwiLi4vLi4vY3NzL2pxdWVyeS5xdGlwLmNzc1wiKTtcbnJlcXVpcmUoXCIuL2NvbXBvbmVudHMvanF1ZXJ5LXVwbG9hZGZpbGUvY3NzL3VwbG9hZGZpbGUuY3NzXCIpO1xucmVxdWlyZShcInVuaXRlZ2FsbGVyeS9kaXN0L2Nzcy91bml0ZS1nYWxsZXJ5LmNzc1wiKTtcbnJlcXVpcmUoXCJzZWxlY3QyL2Rpc3QvY3NzL3NlbGVjdDIubWluLmNzc1wiKTtcbnJlcXVpcmUoXCIuLi8uLi9jc3MvYm9vdHN0cmFwL2lyaWRlX2xheW91dC5jc3NcIik7XG5yZXF1aXJlKFwiLi4vLi4vY3NzL2Jvb3RzdHJhcC9pcmlkZV9uYXZiYXIuY3NzXCIpO1xuXG5nbG9iYWwubW9tZW50ID0gcmVxdWlyZShcIm1vbWVudFwiKTtcbmNvbnN0ICQgPSByZXF1aXJlKFwianF1ZXJ5XCIpO1xuZ2xvYmFsLiQgPSBnbG9iYWwualF1ZXJ5ID0gJDtcbnJlcXVpcmUoXCJqcXVlcnktdWkvdWkvd2lkZ2V0cy9hdXRvY29tcGxldGVcIik7XG5nbG9iYWwuXyA9IHJlcXVpcmUoXCJsb2Rhc2hcIik7XG5cbnJlcXVpcmUoXCJib290c3RyYXBcIik7XG5cbnJlcXVpcmUoXCJAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9qcy9hbGwubWluXCIpO1xucmVxdWlyZShcImJvb3RzdHJhcC1kYXRlcGlja2VyL2Rpc3QvanMvYm9vdHN0cmFwLWRhdGVwaWNrZXJcIik7XG5yZXF1aXJlKFwiYm9vdHN0cmFwLWRhdGVwaWNrZXIvZGlzdC9sb2NhbGVzL2Jvb3RzdHJhcC1kYXRlcGlja2VyLml0Lm1pblwiKTtcblxucmVxdWlyZShcIi4vY29tcG9uZW50cy9qcXVlcnktdXBsb2FkZmlsZS9qcy9qcXVlcnkudXBsb2FkZmlsZS5taW5cIik7XG5yZXF1aXJlKFwiLi9jb21wb25lbnRzL2pxdWVyeS10aW1lZW50cnkvanF1ZXJ5LnBsdWdpbi5taW5cIik7XG5yZXF1aXJlKFwiLi9jb21wb25lbnRzL2pxdWVyeS10aW1lZW50cnkvanF1ZXJ5LnRpbWVlbnRyeS5taW5cIik7XG5yZXF1aXJlKFwianF1ZXJ5Lmdyb3dsXCIpO1xucmVxdWlyZShcImpxdWVyeS16b29tXCIpO1xucmVxdWlyZShcImpxdWVyeS5saWdodGVyXCIpO1xud2luZG93LkNLRURJVE9SX0JBU0VQQVRIID0gJy9ub2RlX21vZHVsZXMvY2tlZGl0b3IvJztcbnJlcXVpcmUoXCJja2VkaXRvclwiKTtcbnJlcXVpcmUoXCJja2VkaXRvci9hZGFwdGVycy9qcXVlcnlcIik7XG5yZXF1aXJlKFwiLi4vLi4vaW5jbHVkZS9qcy9mcm9udFwiKTtcbnJlcXVpcmUoXCJzaWRyL2Rpc3QvanF1ZXJ5LnNpZHIubWluXCIpO1xucmVxdWlyZShcInF0aXAyXCIpO1xucmVxdWlyZShcInNlbGVjdDJcIik7XG5nbG9iYWwuaXJpZGVfZnVuYyA9IHJlcXVpcmUoXCIuLi8uLi9pbmNsdWRlL2pzL3V0aWxzXCIpO1xuZ2xvYmFsLmlyaWRlX2RhdGVfdXRpbHMgPSByZXF1aXJlKFwiLi4vLi4vaW5jbHVkZS9qcy9kYXRlXCIpO1xuaW1wb3J0IGJvb3RzdHJhcF91dGlscyBmcm9tIFwiLi4vLi4vaW5jbHVkZS9qcy9ib290c3RyYXAvdXRpbHNcIjtcbmdsb2JhbC5pcmlkZV9ib290c3RyYXBfdXRpbHMgPSBib290c3RyYXBfdXRpbHM7XG4kLmVhY2goaXJpZGVfZnVuYywgZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgICBnbG9iYWxba2V5XSA9IHZhbHVlO1xufSk7XG4kLmVhY2goaXJpZGVfYm9vdHN0cmFwX3V0aWxzLCBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICAgIGdsb2JhbFtrZXldID0gdmFsdWU7XG59KTtcbiQuZWFjaChpcmlkZV9kYXRlX3V0aWxzLCBmdW5jdGlvbihrZXksIHZhbHVlKXtcbiAgICBnbG9iYWxba2V5XSA9IHZhbHVlO1xufSk7XG5cbiQuZm4uZGlhbG9nID0gZnVuY3Rpb24oZnVuYykge1xuICAgIGlmKGZ1bmMgPT09IFwiY2xvc2VcIikgZnVuYyA9IFwiaGlkZVwiO1xuICAgIGxldCBpZCA9ICQodGhpcykuYXR0cihcImlkXCIpICsgXCJNb2RhbFwiO1xuICAgIHJldHVybiAkKFwiI1wiICsgaWQpLm1vZGFsKGZ1bmMpXG59O1xuXG4kLmZuLnRhYnMgPSBmdW5jdGlvbiAoZnVuYykge1xuXG59XG5cbnJlcXVpcmUoXCIuLi8uLi9pbmNsdWRlL2pzL3BhY2svMDA1MC5hdXRvY29tcGxldGUtZXZlbnRzXCIpO1xucmVxdWlyZShcIi4uLy4uL2luY2x1ZGUvanMvcGFjay8wMTcwLmpxdWVyeS5zaW1wbGVjdXJyZW5jeVwiKTtcbnJlcXVpcmUoXCIuLi8uLi9pbmNsdWRlL2pzL3BhY2svMDE4MC5qcXVlcnkuc2VsZWN0Ym94ZXNcIik7XG5yZXF1aXJlKFwiLi4vLi4vaW5jbHVkZS9qcy9wYWNrLzAyOTAuaXJpZGVnYWxsZXJ5XCIpO1xucmVxdWlyZShcIi4vY29tcG9uZW50cy9qcXVlcnktdWktbXVsdGlzZWxlY3Qtd2lkZ2V0LWlyaWRlL3NyYy9qcXVlcnkubXVsdGlzZWxlY3RcIik7XG5cbmltcG9ydCBMb2dpbiBmcm9tIFwiLi9jb21wb25lbnRzL2xvZ2luXCI7XG5pbXBvcnQgJ2hhbmRzb250YWJsZS9kaXN0L2hhbmRzb250YWJsZS5mdWxsLmNzcyc7XG5pbXBvcnQgSVdHb29nbGVNYXBzIGZyb20gXCIuL2NvbXBvbmVudHMvZ29vZ2xlbWFwc1wiO1xuaW1wb3J0IElXQ29tcG9uZW50cyBmcm9tIFwiLi9jb21wb25lbnRzL2l3Y29tcG9uZW50c1wiO1xuXG5nbG9iYWwuSVdEYXRhdGFibGUgPSBJV0NvbXBvbmVudHM7XG5nbG9iYWwuY2hlY2tFbWFpbFJlY3VwZXJvUHdkID0gTG9naW4uY2hlY2tFbWFpbFJlY3VwZXJvUHdkO1xuXG4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKXtcbiAgICBpcmlkZV9kYXRlX3V0aWxzLmJzRGF0ZVBpY2tlckluaXQoKTtcblxuICAgICQoXCIuSVdEYXRhVGFibGVzXCIpLmVhY2goZnVuY3Rpb24gKCl7XG4gICAgICAgIElXRGF0YXRhYmxlLmJ1aWxkRGF0YXRhYmxlcyh0aGlzKTtcbiAgICB9KVxuXG4gICAgbGV0IGZpcnN0X2Rpdm1hcD0kKFwiLmdvb2dsZW1hcEVsZW1lbnRcIilbMF07XG4gICAgbGV0IGdvb2dsZV9hcGlrZXk9JChmaXJzdF9kaXZtYXApLmRhdGEoXCJhcGlrZXlcIik7XG4gICAgaWYoZ29vZ2xlX2FwaWtleSE9dW5kZWZpbmVkKXtcbiAgICAgICAgY29uc3QgbG9hZGVyID0gbmV3IExvYWRlcih7XG4gICAgICAgICAgICBhcGlLZXk6IGdvb2dsZV9hcGlrZXksXG4gICAgICAgICAgICB2ZXJzaW9uOiBcIndlZWtseVwiLFxuICAgICAgICB9KTtcblxuICAgICAgICBsb2FkZXIubG9hZCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgJChcIi5nb29nbGVtYXBFbGVtZW50XCIpLmVhY2goZnVuY3Rpb24gKCl7XG4gICAgICAgICAgICAgICAgdHJ5e1xuICAgICAgICAgICAgICAgICAgICBJV0dvb2dsZU1hcHMuYnVpbGRHb29nbGVNYXBzKHRoaXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZSl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRXJyb3JlIGNhcmljYW1lbnRvIEdvb2dsZSBNYXBzOiBcIiArICQodGhpcykuYXR0cihcImlkXCIpKVxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy9tZW51IGphdmFzY3JpcHRcbiAgICAkKCAnLmRyb3Bkb3duLW1lbnUgYS5kcm9wZG93bi10b2dnbGUnICkub24oICdjbGljaycsIGZ1bmN0aW9uICggZSApIHtcbiAgICAgICAgdmFyICRlbCA9ICQoIHRoaXMgKTtcbiAgICAgICAgdmFyICRwYXJlbnQgPSAkKCB0aGlzICkub2Zmc2V0UGFyZW50KCBcIi5kcm9wZG93bi1tZW51XCIgKTtcbiAgICAgICAgaWYgKCAhJCggdGhpcyApLm5leHQoKS5oYXNDbGFzcyggJ3Nob3cnICkgKSB7XG4gICAgICAgICAgICAkKCB0aGlzICkucGFyZW50cyggJy5kcm9wZG93bi1tZW51JyApLmZpcnN0KCkuZmluZCggJy5zaG93JyApLnJlbW92ZUNsYXNzKCBcInNob3dcIiApO1xuICAgICAgICB9XG4gICAgICAgIHZhciAkc3ViTWVudSA9ICQoIHRoaXMgKS5uZXh0KCBcIi5kcm9wZG93bi1tZW51XCIgKTtcbiAgICAgICAgJHN1Yk1lbnUudG9nZ2xlQ2xhc3MoICdzaG93JyApO1xuXG4gICAgICAgICQoIHRoaXMgKS5wYXJlbnQoIFwibGlcIiApLnRvZ2dsZUNsYXNzKCAnc2hvdycgKTtcblxuICAgICAgICAkKCB0aGlzICkucGFyZW50cyggJ2xpLm5hdi1pdGVtLmRyb3Bkb3duLnNob3cnICkub24oICdoaWRkZW4uYnMuZHJvcGRvd24nLCBmdW5jdGlvbiAoIGUgKSB7XG4gICAgICAgICAgICAkKCAnLmRyb3Bkb3duLW1lbnUgLnNob3cnICkucmVtb3ZlQ2xhc3MoIFwic2hvd1wiICk7XG4gICAgICAgIH0gKTtcblxuICAgICAgICBpZiAoICEkcGFyZW50LnBhcmVudCgpLmhhc0NsYXNzKCAnbmF2YmFyLW5hdicgKSApIHtcbiAgICAgICAgICAgICRlbC5uZXh0KCkuY3NzKCB7IFwidG9wXCI6ICRlbFswXS5vZmZzZXRUb3AsIFwibGVmdFwiOiAkcGFyZW50Lm91dGVyV2lkdGgoKSAtIDQgfSApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9ICk7XG5cbn0pXG4iLCIvKipcbiAqIENyZWF0ZWQgYnkgUGhwU3Rvcm1cbiAqIFVzZXI6IGRhbmllbGVcbiAqIERhdGU6IDE1LzA1LzIwXG4gKiBUaW1lOiAxNC4zM1xuICovXG5pbXBvcnQgSVdEYXRhdGFibGUgZnJvbSBcIi4uLy4uLy4uL2Fzc2V0cy9qcy9jb21wb25lbnRzL2l3Y29tcG9uZW50c1wiO1xuaW1wb3J0IElXR29vZ2xlTWFwcyBmcm9tIFwiLi4vLi4vLi4vYXNzZXRzL2pzL2NvbXBvbmVudHMvZ29vZ2xlbWFwc1wiO1xuaW1wb3J0ICQgZnJvbSBcImpxdWVyeVwiO1xuaW1wb3J0IHtMb2FkZXJ9IGZyb20gXCJAZ29vZ2xlbWFwcy9qcy1hcGktbG9hZGVyXCI7XG5pbXBvcnQge3JlbG9hZENvbXBvbmVudHN9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgZGlhbG9nU2hvdzogZnVuY3Rpb24gKGRpdmlkLCBjYWxsYmFjaywgb25PcGVuQ2FsbGJhY2spIHtcbiAgICAgICAgbGV0IGRpdiA9ICQoXCIjXCIgKyBkaXZpZCArIFwiTW9kYWxcIik7XG4gICAgICAgIHJlbG9hZENvbXBvbmVudHMoXCIjXCIgKyBkaXZpZCArIFwiTW9kYWxcIik7XG5cbiAgICAgICAgbGV0IGZpcnN0X2Rpdm1hcD0kKFwiI1wiICsgZGl2aWQgKyBcIk1vZGFsIC5nb29nbGVtYXBFbGVtZW50XCIpWzBdO1xuICAgICAgICBsZXQgZ29vZ2xlX2FwaWtleT0kKGZpcnN0X2Rpdm1hcCkuZGF0YShcImFwaWtleVwiKTtcbiAgICAgICAgaWYoZ29vZ2xlX2FwaWtleSl7XG4gICAgICAgICAgICBjb25zdCBsb2FkZXIgPSBuZXcgTG9hZGVyKHtcbiAgICAgICAgICAgICAgICBhcGlLZXk6IGdvb2dsZV9hcGlrZXksXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogXCJ3ZWVrbHlcIixcbiAgICAgICAgICAgICAgICBsaWJyYXJpZXM6IFwicGxhY2VzXCJcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBsb2FkZXIubG9hZCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICQoXCIjXCIgKyBkaXZpZCArIFwiTW9kYWwgLmdvb2dsZW1hcEVsZW1lbnRcIikuZWFjaChmdW5jdGlvbiAoKXtcbiAgICAgICAgICAgICAgICAgICAgdHJ5e1xuICAgICAgICAgICAgICAgICAgICAgICAgSVdHb29nbGVNYXBzLmJ1aWxkR29vZ2xlTWFwcyh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIkVycm9yZSBjYXJpY2FtZW50byBHb29nbGUgTWFwczogXCIgKyAkKHRoaXMpLmF0dHIoXCJpZFwiKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdi5tb2RhbChcInNob3dcIik7XG5cbiAgICAgICAgaWYodHlwZW9mIG9uT3BlbkNhbGxiYWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIGRpdi5vbignc2hvdy5icy5tb2RhbCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgb25PcGVuQ2FsbGJhY2soZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm47XG5cbiAgICAgICAgbGV0IGJ0bnMgPSAkKFwiLlwiICsgZGl2aWQgKyBcIm1vZGFsQnV0dG9uc1wiKTtcbiAgICAgICAgYnRucy5vZmYoKTtcbiAgICAgICAgYnRucy5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuYXR0cihcImRhdGEtdmFsdWVcIik7XG4gICAgICAgICAgICBpZih2YWx1ZSA9PT0gXCJ0cnVlXCIpIHZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmKHZhbHVlID09PSBcImZhbHNlXCIpIHZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICBjYWxsYmFjayh2YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH0sXG5cbiAgICBqdW1wVG9UYWI6IGZ1bmN0aW9uIChpbmRleCkge1xuICAgICAgICAkKFwiI2l3b2JqZWN0VGFic3RhYi1cIiArIGluZGV4KS50YWIoXCJzaG93XCIpO1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpe1xuICAgICAgICAgICAgJCggJC5mbi5kYXRhVGFibGUudGFibGVzKCB0cnVlICkgKS5EYXRhVGFibGUoKS5jb2x1bW5zLmFkanVzdCgpO1xuICAgICAgICB9LCAzMDApO1xuICAgIH0sXG5cbiAgICByZXNpemVDb250ZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB1cmw6IFwiYWpheC5waHA/SlNPTlwiLFxuICAgICAgICAgICAgdHlwZTogXCJwb3N0XCIsXG4gICAgICAgICAgICBkYXRhVHlwZTogXCJqc29uXCIsXG4gICAgICAgICAgICBkYXRhOiB7b2JqZWN0OiBcIlNldHVwXCIsIHRpcG92aWV3OiBcInJlc2l6ZUNvbnRlbnRcIiwgc2NyZWVud2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLCBzY3JlZW5oZWlnaHQ6IHdpbmRvdy5pbm5lckhlaWdodH1cbiAgICAgICAgfSlcbiAgICB9LFxuXG4gICAgc3dpdGNoUGFzc3dvcmRFbGVtZW50OiBmdW5jdGlvbiAoaWQpe1xuICAgICAgICB2YXIgJHBhc3N3b3JkID0gJChcIiNcIiArIGlkKTtcbiAgICAgICAgdmFyICR0b2dnbGVQYXNzd29yZCA9ICQoXCIjXCIgKyBpZCArXCJfdG9nZ2xlUGFzc3dvcmRfX3NwYW5cIik7XG5cbiAgICAgICAgaWYoJHBhc3N3b3JkLmF0dHIoXCJ0eXBlXCIpID09PSBcInRleHRcIil7XG4gICAgICAgICAgICAkcGFzc3dvcmQuYXR0cigndHlwZScsICdwYXNzd29yZCcpO1xuICAgICAgICAgICAgJHRvZ2dsZVBhc3N3b3JkLmFkZENsYXNzKCBcImZhLWV5ZS1zbGFzaFwiICk7XG4gICAgICAgICAgICAkdG9nZ2xlUGFzc3dvcmQucmVtb3ZlQ2xhc3MoIFwiZmEtZXllXCIgKTtcbiAgICAgICAgfWVsc2UgaWYoJHBhc3N3b3JkLmF0dHIoXCJ0eXBlXCIpID09PSBcInBhc3N3b3JkXCIpe1xuICAgICAgICAgICAgJHBhc3N3b3JkLmF0dHIoJ3R5cGUnLCAndGV4dCcpO1xuICAgICAgICAgICAgJHRvZ2dsZVBhc3N3b3JkLnJlbW92ZUNsYXNzKCBcImZhLWV5ZS1zbGFzaFwiICk7XG4gICAgICAgICAgICAkdG9nZ2xlUGFzc3dvcmQuYWRkQ2xhc3MoIFwiZmEtZXllXCIgKTtcbiAgICAgICAgfVxuICAgIH1cbn07IiwiLyohXG4gICAgKiBTdGFydCBCb290c3RyYXAgLSBTQiBBZG1pbiB2Ni4wLjAgKGh0dHBzOi8vc3RhcnRib290c3RyYXAuY29tL3RlbXBsYXRlcy9zYi1hZG1pbilcbiAgICAqIENvcHlyaWdodCAyMDEzLTIwMjAgU3RhcnQgQm9vdHN0cmFwXG4gICAgKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9CbGFja3JvY2tEaWdpdGFsL3N0YXJ0Ym9vdHN0cmFwLXNiLWFkbWluL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gICAgKi9cbiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpe1xuICAgIFwidXNlIHN0cmljdFwiO1xuXG4gICAgLy8gQWRkIGFjdGl2ZSBzdGF0ZSB0byBzaWRiYXIgbmF2IGxpbmtzXG4gICAgdmFyIHBhdGggPSB3aW5kb3cubG9jYXRpb24uaHJlZjsgLy8gYmVjYXVzZSB0aGUgJ2hyZWYnIHByb3BlcnR5IG9mIHRoZSBET00gZWxlbWVudCBpcyB0aGUgYWJzb2x1dGUgcGF0aFxuICAgICQoXCIjbGF5b3V0U2lkZW5hdl9uYXYgLnNiLXNpZGVuYXYgYS5uYXYtbGlua1wiKS5lYWNoKGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5ocmVmID09PSBwYXRoKSB7XG4gICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKFwiYWN0aXZlXCIpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBUb2dnbGUgdGhlIHNpZGUgbmF2aWdhdGlvblxuICAgICQoXCIjc2lkZWJhclRvZ2dsZVwiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAkKFwiYm9keVwiKS50b2dnbGVDbGFzcyhcInNiLXNpZGVuYXYtdG9nZ2xlZFwiKTtcbiAgICB9KTtcbn0pXG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiXSwibmFtZXMiOlsiTG9hZGVyIiwicmVxdWlyZSIsImdsb2JhbCIsIm1vbWVudCIsIiQiLCJqUXVlcnkiLCJfIiwid2luZG93IiwiQ0tFRElUT1JfQkFTRVBBVEgiLCJpcmlkZV9mdW5jIiwiaXJpZGVfZGF0ZV91dGlscyIsImJvb3RzdHJhcF91dGlscyIsImlyaWRlX2Jvb3RzdHJhcF91dGlscyIsImVhY2giLCJrZXkiLCJ2YWx1ZSIsImZuIiwiZGlhbG9nIiwiZnVuYyIsImlkIiwiYXR0ciIsIm1vZGFsIiwidGFicyIsIkxvZ2luIiwiSVdHb29nbGVNYXBzIiwiSVdDb21wb25lbnRzIiwiSVdEYXRhdGFibGUiLCJjaGVja0VtYWlsUmVjdXBlcm9Qd2QiLCJkb2N1bWVudCIsInJlYWR5IiwiYnNEYXRlUGlja2VySW5pdCIsImJ1aWxkRGF0YXRhYmxlcyIsImZpcnN0X2Rpdm1hcCIsImdvb2dsZV9hcGlrZXkiLCJkYXRhIiwidW5kZWZpbmVkIiwibG9hZGVyIiwiYXBpS2V5IiwidmVyc2lvbiIsImxvYWQiLCJ0aGVuIiwiYnVpbGRHb29nbGVNYXBzIiwiZSIsImNvbnNvbGUiLCJsb2ciLCJvbiIsIiRlbCIsIiRwYXJlbnQiLCJvZmZzZXRQYXJlbnQiLCJuZXh0IiwiaGFzQ2xhc3MiLCJwYXJlbnRzIiwiZmlyc3QiLCJmaW5kIiwicmVtb3ZlQ2xhc3MiLCIkc3ViTWVudSIsInRvZ2dsZUNsYXNzIiwicGFyZW50IiwiY3NzIiwib2Zmc2V0VG9wIiwib3V0ZXJXaWR0aCIsInJlbG9hZENvbXBvbmVudHMiLCJkaWFsb2dTaG93IiwiZGl2aWQiLCJjYWxsYmFjayIsIm9uT3BlbkNhbGxiYWNrIiwiZGl2IiwibGlicmFyaWVzIiwiYnRucyIsIm9mZiIsImp1bXBUb1RhYiIsImluZGV4IiwidGFiIiwic2V0VGltZW91dCIsImRhdGFUYWJsZSIsInRhYmxlcyIsIkRhdGFUYWJsZSIsImNvbHVtbnMiLCJhZGp1c3QiLCJyZXNpemVDb250ZW50IiwiYWpheCIsInVybCIsInR5cGUiLCJkYXRhVHlwZSIsIm9iamVjdCIsInRpcG92aWV3Iiwic2NyZWVud2lkdGgiLCJpbm5lcldpZHRoIiwic2NyZWVuaGVpZ2h0IiwiaW5uZXJIZWlnaHQiLCJzd2l0Y2hQYXNzd29yZEVsZW1lbnQiLCIkcGFzc3dvcmQiLCIkdG9nZ2xlUGFzc3dvcmQiLCJhZGRDbGFzcyIsInBhdGgiLCJsb2NhdGlvbiIsImhyZWYiLCJwcmV2ZW50RGVmYXVsdCJdLCJzb3VyY2VSb290IjoiIn0=