Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

1014 lines
124KB

  1. (self["webpackChunk"] = self["webpackChunk"] || []).push([["adminlte-plugins"],{
  2. /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/plugins/app.plugins.js":
  3. /*!**************************************************************************************!*\
  4. !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/plugins/app.plugins.js ***!
  5. \**************************************************************************************/
  6. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  7. "use strict";
  8. __webpack_require__.r(__webpack_exports__);
  9. /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/src/jquery.js");
  10. /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
  11. /* harmony import */ var adminlte_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! adminlte-js */ "./node_modules/admin-lte/dist/js/adminlte.min.js");
  12. /* harmony import */ var adminlte_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(adminlte_js__WEBPACK_IMPORTED_MODULE_1__);
  13. /* harmony import */ var bootstrap_dist_js_bootstrap_min_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bootstrap/dist/js/bootstrap.min.js */ "./node_modules/bootstrap/dist/js/bootstrap.min.js");
  14. /* harmony import */ var bootstrap_dist_js_bootstrap_min_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(bootstrap_dist_js_bootstrap_min_js__WEBPACK_IMPORTED_MODULE_2__);
  15. /* harmony import */ var bootstrap_autocomplete__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! bootstrap-autocomplete */ "./node_modules/bootstrap-autocomplete/dist/latest/bootstrap-autocomplete.min.js");
  16. /* harmony import */ var bootstrap_autocomplete__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(bootstrap_autocomplete__WEBPACK_IMPORTED_MODULE_3__);
  17. /* harmony import */ var select2_js_select2_min_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! select2/js/select2.min.js */ "./node_modules/select2/dist/js/select2.min.js");
  18. /* harmony import */ var select2_js_select2_min_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(select2_js_select2_min_js__WEBPACK_IMPORTED_MODULE_4__);
  19. /* harmony import */ var select2_js_i18n_fr_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! select2/js/i18n/fr.js */ "./node_modules/select2/dist/js/i18n/fr.js");
  20. /* harmony import */ var select2_js_i18n_fr_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(select2_js_i18n_fr_js__WEBPACK_IMPORTED_MODULE_5__);
  21. /* harmony import */ var select2_css_select2_min_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! select2/css/select2.min.css */ "./node_modules/select2/dist/css/select2.min.css");
  22. /* harmony import */ var select2_bootstrap_theme__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! select2-bootstrap-theme */ "./node_modules/@ttskch/select2-bootstrap4-theme/dist/select2-bootstrap4.css");
  23. /* harmony import */ var toastr_toastr_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! toastr/toastr.js */ "./node_modules/toastr/toastr.js");
  24. /* harmony import */ var toastr_toastr_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(toastr_toastr_js__WEBPACK_IMPORTED_MODULE_8__);
  25. /* harmony import */ var toastr_toastr_scss__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! toastr/toastr.scss */ "./node_modules/toastr/toastr.scss");
  26. /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! moment */ "./node_modules/moment/dist/moment.js");
  27. /* harmony import */ var daterangepicker_daterangepicker_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! daterangepicker/daterangepicker.js */ "./node_modules/bootstrap-daterangepicker/daterangepicker.js");
  28. /* harmony import */ var daterangepicker_daterangepicker_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(daterangepicker_daterangepicker_js__WEBPACK_IMPORTED_MODULE_11__);
  29. /* harmony import */ var daterangepicker_daterangepicker_css__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! daterangepicker/daterangepicker.css */ "./node_modules/bootstrap-daterangepicker/daterangepicker.css");
  30. /* harmony import */ var _functions_tools_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../functions/tools.js */ "../LaClicBundle/SovBundle/Resources/assets/functions/tools.js");
  31. /* harmony import */ var _functions_prices_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../functions/prices.js */ "../LaClicBundle/SovBundle/Resources/assets/functions/prices.js");
  32. /* harmony import */ var _functions_widget_collection_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../functions/widget-collection.js */ "../LaClicBundle/SovBundle/Resources/assets/functions/widget-collection.js");
  33. /* harmony import */ var _functions_widgets_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../functions/widgets.js */ "../LaClicBundle/SovBundle/Resources/assets/functions/widgets.js");
  34. /* harmony import */ var _functions_notification_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../functions/notification.js */ "../LaClicBundle/SovBundle/Resources/assets/functions/notification.js");
  35. // JQuery
  36. __webpack_require__.g.$ = __webpack_require__.g.jQuery = $; // Adminlte
  37. // Bootstrap
  38. // Bootstrap - autocomplete
  39. // Select2
  40. // Toastr
  41. __webpack_require__.g.toastr = (toastr_toastr_js__WEBPACK_IMPORTED_MODULE_8___default()); // DaterangePicker
  42. // Tools
  43. __webpack_require__.g.SovTools = _functions_tools_js__WEBPACK_IMPORTED_MODULE_13__.SovTools; // Prices
  44. __webpack_require__.g.SovPrices = _functions_prices_js__WEBPACK_IMPORTED_MODULE_14__.SovPrices; // Widgets
  45. __webpack_require__.g.SovWidgetCollection = _functions_widget_collection_js__WEBPACK_IMPORTED_MODULE_15__.SovWidgetCollection; // Widgets
  46. __webpack_require__.g.SovWidgets = _functions_widgets_js__WEBPACK_IMPORTED_MODULE_16__.SovWidgets;
  47. __webpack_require__.g.SovNotification = _functions_notification_js__WEBPACK_IMPORTED_MODULE_17__.SovNotification;
  48. /***/ }),
  49. /***/ "../LaClicBundle/SovBundle/Resources/assets/functions/notification.js":
  50. /*!****************************************************************************!*\
  51. !*** ../LaClicBundle/SovBundle/Resources/assets/functions/notification.js ***!
  52. \****************************************************************************/
  53. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  54. "use strict";
  55. __webpack_require__.r(__webpack_exports__);
  56. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  57. /* harmony export */ "SovNotification": () => (/* binding */ SovNotification)
  58. /* harmony export */ });
  59. /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js");
  60. /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__);
  61. /* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ "./node_modules/core-js/modules/es.string.includes.js");
  62. /* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1__);
  63. /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js");
  64. /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_2__);
  65. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
  66. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_3__);
  67. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  68. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  69. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  70. var SovNotification = /*#__PURE__*/function () {
  71. function SovNotification() {
  72. _classCallCheck(this, SovNotification);
  73. }
  74. _createClass(SovNotification, null, [{
  75. key: "init",
  76. value: function init() {
  77. toastr.options.timeOut = 3000;
  78. toastr.options.positionClass = 'toast-bottom-right';
  79. toastr.options.onHidden = function () {
  80. if ($('#toast-container .toast').length == 1) {
  81. $('#toast-close-all').remove();
  82. }
  83. };
  84. }
  85. }, {
  86. key: "set",
  87. value: function set(notifications) {
  88. var currentNotifications = new Array();
  89. for (var type in notifications) {
  90. for (var key in notifications[type]) {
  91. if (!currentNotifications.includes(notifications[type][key])) {
  92. currentNotifications.push(notifications[type][key]);
  93. SovNotification.add(type, notifications[type][key]);
  94. }
  95. }
  96. }
  97. }
  98. }, {
  99. key: "add",
  100. value: function add(type, text) {
  101. toastr[type](text);
  102. var $container = $('#toast-container');
  103. var selectorButtonCloseAll = '#toast-close-all';
  104. var countMessages = $container.find('.toast').length;
  105. if ($(selectorButtonCloseAll).length == 0 && countMessages > 2) {
  106. $container.prepend('<button id="toast-close-all"><i class="fa fa-times"></i></button>');
  107. }
  108. $(selectorButtonCloseAll).off('click').on('click', function () {
  109. toastr.remove();
  110. if (countMessages == 0) {
  111. $('#toast-close-all').remove();
  112. }
  113. });
  114. }
  115. }]);
  116. return SovNotification;
  117. }();
  118. /***/ }),
  119. /***/ "../LaClicBundle/SovBundle/Resources/assets/functions/prices.js":
  120. /*!**********************************************************************!*\
  121. !*** ../LaClicBundle/SovBundle/Resources/assets/functions/prices.js ***!
  122. \**********************************************************************/
  123. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  124. "use strict";
  125. __webpack_require__.r(__webpack_exports__);
  126. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  127. /* harmony export */ "SovPrices": () => (/* binding */ SovPrices)
  128. /* harmony export */ });
  129. /* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ "./node_modules/core-js/modules/es.number.to-fixed.js");
  130. /* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_0__);
  131. /* harmony import */ var core_js_modules_es_parse_float_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.parse-float.js */ "./node_modules/core-js/modules/es.parse-float.js");
  132. /* harmony import */ var core_js_modules_es_parse_float_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_float_js__WEBPACK_IMPORTED_MODULE_1__);
  133. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
  134. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_2__);
  135. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  136. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  137. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  138. var SovPrices = /*#__PURE__*/function () {
  139. function SovPrices() {
  140. _classCallCheck(this, SovPrices);
  141. }
  142. _createClass(SovPrices, null, [{
  143. key: "getPrice",
  144. value: function getPrice(priceWithTax, taxRate) {
  145. return parseFloat(parseFloat(priceWithTax) / (taxRate / 100 + 1)).toFixed(4);
  146. }
  147. }, {
  148. key: "getPriceWithTax",
  149. value: function getPriceWithTax(priceWithoutTax, taxRate) {
  150. return parseFloat(parseFloat(priceWithoutTax) * (taxRate / 100 + 1)).toFixed(2);
  151. }
  152. }, {
  153. key: "getMargin",
  154. value: function getMargin(price, buyingPrice) {
  155. return parseFloat(price - buyingPrice).toFixed(2);
  156. }
  157. }, {
  158. key: "getMarginPercent",
  159. value: function getMarginPercent(price, buyingPrice) {
  160. return parseFloat((price - buyingPrice) / price * 100).toFixed(2);
  161. }
  162. }, {
  163. key: "applyReductionPercent",
  164. value: function applyReductionPercent(price, percentage) {
  165. return this.applyPercent(price, -percentage);
  166. }
  167. }, {
  168. key: "applyReductionAmount",
  169. value: function applyReductionAmount(price, amount) {
  170. return parseFloat(price - amount).toFixed(2);
  171. }
  172. }, {
  173. key: "applyPercent",
  174. value: function applyPercent(price, percentage) {
  175. return parseFloat(price * (percentage / 100 + 1)).toFixed(2);
  176. }
  177. }]);
  178. return SovPrices;
  179. }();
  180. /***/ }),
  181. /***/ "../LaClicBundle/SovBundle/Resources/assets/functions/tools.js":
  182. /*!*********************************************************************!*\
  183. !*** ../LaClicBundle/SovBundle/Resources/assets/functions/tools.js ***!
  184. \*********************************************************************/
  185. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  186. "use strict";
  187. __webpack_require__.r(__webpack_exports__);
  188. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  189. /* harmony export */ "SovTools": () => (/* binding */ SovTools)
  190. /* harmony export */ });
  191. /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
  192. /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0__);
  193. /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ "./node_modules/core-js/modules/es.date.to-string.js");
  194. /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_1__);
  195. /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
  196. /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__);
  197. /* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ "./node_modules/core-js/modules/es.string.search.js");
  198. /* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3__);
  199. /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js");
  200. /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_4__);
  201. /* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.number.to-fixed.js */ "./node_modules/core-js/modules/es.number.to-fixed.js");
  202. /* harmony import */ var core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_to_fixed_js__WEBPACK_IMPORTED_MODULE_5__);
  203. /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.number.constructor.js */ "./node_modules/core-js/modules/es.number.constructor.js");
  204. /* harmony import */ var core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_number_constructor_js__WEBPACK_IMPORTED_MODULE_6__);
  205. /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
  206. /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_7__);
  207. /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js");
  208. /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_8__);
  209. /* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ "./node_modules/core-js/modules/es.string.includes.js");
  210. /* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_9__);
  211. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
  212. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_10__);
  213. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  214. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  215. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  216. var SovTools = /*#__PURE__*/function () {
  217. function SovTools() {
  218. _classCallCheck(this, SovTools);
  219. }
  220. _createClass(SovTools, null, [{
  221. key: "log",
  222. value: function log(value) {
  223. try {
  224. console.log(value);
  225. } catch (_unused) {}
  226. }
  227. }, {
  228. key: "arrayRemove",
  229. value: function arrayRemove(arr, value) {
  230. return arr.filter(function (ele) {
  231. return ele != value;
  232. });
  233. }
  234. }, {
  235. key: "toPlainText",
  236. value: function toPlainText(html) {
  237. var scratchDiv = document.createElement('div');
  238. scratchDiv.innerHTML = html;
  239. return scratchDiv.textContent;
  240. }
  241. }, {
  242. key: "getDateFormatted",
  243. value: function getDateFormatted(date, separator) {
  244. if (date) {
  245. var date = new Date(date);
  246. var _d = date.getDate(),
  247. d = _d > 9 ? _d : '0' + _d,
  248. _m = date.getMonth() + 1,
  249. m = _m > 9 ? _m : '0' + _m,
  250. formatted = d + separator + m + separator + date.getFullYear();
  251. return formatted;
  252. } else {
  253. return '';
  254. }
  255. }
  256. }, {
  257. key: "getUrlParameter",
  258. value: function getUrlParameter(sParam) {
  259. var sPageURL = window.location.search.substring(1),
  260. sURLVariables = sPageURL.split('&'),
  261. sParameterName,
  262. i;
  263. for (i = 0; i < sURLVariables.length; i++) {
  264. sParameterName = sURLVariables[i].split('=');
  265. if (sParameterName[0] === sParam) {
  266. return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
  267. }
  268. }
  269. }
  270. }, {
  271. key: "indexOfFirstDigit",
  272. value: function indexOfFirstDigit(input) {
  273. var i = 0;
  274. for (; input[i] < '0' || input[i] > '9'; i++) {
  275. ;
  276. }
  277. return i == input.length ? -1 : i;
  278. }
  279. }, {
  280. key: "indexOfLastDigit",
  281. value: function indexOfLastDigit(input) {
  282. var i = input.length - 1;
  283. for (; input[i] < '0' || input[i] > '9'; i--) {
  284. ;
  285. }
  286. return i == input.length ? -1 : i;
  287. }
  288. }, {
  289. key: "formatNumber",
  290. value: function formatNumber(number, toFixed) {
  291. if (number) return Number(number.replace(',', '.')).toFixed(toFixed);else return null;
  292. }
  293. }, {
  294. key: "formatNumberWithoutFixed",
  295. value: function formatNumberWithoutFixed(number) {
  296. if (typeof number == 'string') number = number.replace(',', '.');
  297. if (number) return Number(number);else return null;
  298. }
  299. }, {
  300. key: "readFlashMessages",
  301. value: function readFlashMessages(flashMessages) {
  302. var currentFlash = new Array();
  303. for (var type in flashMessages) {
  304. for (var key in flashMessages[type]) {
  305. if (!currentFlash.includes(flashMessages[type][key])) {
  306. currentFlash.push(flashMessages[type][key]);
  307. SovNotification.add(type, flashMessages[type][key]);
  308. }
  309. }
  310. }
  311. }
  312. }, {
  313. key: "checkFormValidity",
  314. value: function checkFormValidity(formId) {
  315. if (!document.getElementById(formId.substr(1)).checkValidity()) {
  316. document.getElementById(formId.substr(1)).reportValidity();
  317. return false;
  318. } else {
  319. return true;
  320. }
  321. }
  322. }]);
  323. return SovTools;
  324. }();
  325. /***/ }),
  326. /***/ "../LaClicBundle/SovBundle/Resources/assets/functions/widget-collection.js":
  327. /*!*********************************************************************************!*\
  328. !*** ../LaClicBundle/SovBundle/Resources/assets/functions/widget-collection.js ***!
  329. \*********************************************************************************/
  330. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  331. "use strict";
  332. __webpack_require__.r(__webpack_exports__);
  333. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  334. /* harmony export */ "SovWidgetCollection": () => (/* binding */ SovWidgetCollection)
  335. /* harmony export */ });
  336. /* 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");
  337. /* 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__);
  338. /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
  339. /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_1__);
  340. /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
  341. /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_2__);
  342. /* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.parse-int.js */ "./node_modules/core-js/modules/es.parse-int.js");
  343. /* harmony import */ var core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_3__);
  344. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
  345. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_4__);
  346. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  347. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  348. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  349. var SovWidgetCollection = /*#__PURE__*/function () {
  350. function SovWidgetCollection() {
  351. _classCallCheck(this, SovWidgetCollection);
  352. }
  353. _createClass(SovWidgetCollection, null, [{
  354. key: "setCollectionWidgetAdd",
  355. value: function setCollectionWidgetAdd($collectionWidget) {
  356. if ($collectionWidget.data('allow-add')) {
  357. $collectionWidget.find('.field-collection-add').on('click', function (e) {
  358. // grab the prototype template
  359. var newWidget = $collectionWidget.attr('data-prototype'); // replace the "__name__" used in the id and name of the prototype
  360. // with a number that's unique to your emails
  361. // end name attribute looks like name="contact[emails][2]"
  362. newWidget = newWidget.replace(/__name__/g, SovWidgetCollection.getNumItems($collectionWidget)); // create a new list element and add it to the list
  363. $collectionWidget.find('.form-widget-compound .field-collection-group').append(newWidget);
  364. $collectionWidget.find('.field-collection-item:last').find('.field-position').val(SovWidgetCollection.getNumItems($collectionWidget));
  365. SovWidgetCollection.reindexKeyCollectionWidget($collectionWidget);
  366. SovWidgetCollection.setCollectionWidgetDelete($collectionWidget);
  367. $collectionWidget.trigger('collection-add-item');
  368. $collectionWidget.data('num-items', $collectionWidget.data('num-items') + 1);
  369. $collectionWidget.find('.collection-empty').hide();
  370. });
  371. }
  372. }
  373. }, {
  374. key: "setCollectionWidgetDelete",
  375. value: function setCollectionWidgetDelete($collectionWidget) {
  376. if ($collectionWidget.data('allow-delete')) {
  377. $collectionWidget.find('.field-collection-delete').off('click');
  378. $collectionWidget.find('.field-collection-delete').on('click', function () {
  379. $(this).parents('.form-group:first').remove();
  380. SovWidgetCollection.reindexKeyCollectionWidget($collectionWidget);
  381. if (getNumItems($collectionWidget) == 0) $collectionWidget.find('.collection-empty').show();
  382. });
  383. }
  384. }
  385. }, {
  386. key: "getNumItems",
  387. value: function getNumItems($collectionWidget) {
  388. if ($collectionWidget.data('reindex-key')) {
  389. return $collectionWidget.find('.field-collection-item').length;
  390. } else {
  391. return $collectionWidget.data('num-items');
  392. }
  393. }
  394. }, {
  395. key: "reindexKeyCollectionWidget",
  396. value: function reindexKeyCollectionWidget($collectionWidget) {
  397. if ($collectionWidget.data('reindex-key')) {
  398. $collectionWidget.find('.field-collection-item').each(function (i, item) {
  399. $(item).find('input,textarea').each(function (y, field) {
  400. var $field = $(field); //Chanegment ID
  401. var posIdPrefix = parseInt(SovTools.indexOfFirstDigit($field.prop('id')));
  402. var posIdSuffix = parseInt(SovTools.indexOfLastDigit($field.prop('id')));
  403. var idPrefix = $field.prop('id').substr(0, posIdPrefix);
  404. var idSuffix = $field.prop('id').substr(posIdSuffix + 1);
  405. $field.prop('id', idPrefix + i + idSuffix); //Chanegment Name
  406. var posNamePrefix = SovTools.indexOfFirstDigit($field.prop('name'));
  407. var posNameSuffix = SovTools.indexOfLastDigit($field.prop('name'));
  408. var namePrefix = $field.prop('name').substr(0, posNamePrefix);
  409. var nameSuffix = $field.prop('name').substr(posNameSuffix + 1);
  410. $field.prop('name', namePrefix + i + nameSuffix);
  411. });
  412. });
  413. }
  414. }
  415. }, {
  416. key: "setCollectionWidgetSortable",
  417. value: function setCollectionWidgetSortable($collectionWidget) {
  418. if ($collectionWidget.data('sortable')) {
  419. $collectionWidget.find('.field-collection-group').sortable({
  420. "handle": '.lc-btn-sortable',
  421. cancel: ''
  422. });
  423. $collectionWidget.find('.field-collection-group').on("sortupdate", function (event, ui) {
  424. $collectionWidget.find('.field-collection-group>div').each(function (index, item) {
  425. $(item).find('.field-position').val(index);
  426. });
  427. });
  428. }
  429. }
  430. }]);
  431. return SovWidgetCollection;
  432. }();
  433. /***/ }),
  434. /***/ "../LaClicBundle/SovBundle/Resources/assets/functions/widgets.js":
  435. /*!***********************************************************************!*\
  436. !*** ../LaClicBundle/SovBundle/Resources/assets/functions/widgets.js ***!
  437. \***********************************************************************/
  438. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  439. "use strict";
  440. __webpack_require__.r(__webpack_exports__);
  441. /* harmony export */ __webpack_require__.d(__webpack_exports__, {
  442. /* harmony export */ "SovWidgets": () => (/* binding */ SovWidgets)
  443. /* harmony export */ });
  444. /* 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");
  445. /* 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__);
  446. /* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.assign.js */ "./node_modules/core-js/modules/es.object.assign.js");
  447. /* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_1__);
  448. /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ "./node_modules/core-js/modules/es.date.to-string.js");
  449. /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_2__);
  450. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
  451. /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_3__);
  452. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  453. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  454. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  455. var SovWidgets = /*#__PURE__*/function () {
  456. function SovWidgets() {
  457. _classCallCheck(this, SovWidgets);
  458. }
  459. _createClass(SovWidgets, null, [{
  460. key: "setSelect2",
  461. value: function setSelect2($select) {
  462. if (typeof $select.data('select2-id') === 'undefined') {
  463. $select.data('init', 'set');
  464. var options = {
  465. width: "100%",
  466. theme: "bootstrap4",
  467. dropdownAutoWidth: false,
  468. allowClear: true,
  469. minimumResultsForSearch: 8
  470. };
  471. if ($select.data('allow-clear') == 'false') {
  472. options.allowClear = false;
  473. }
  474. if ($select.data('width')) {
  475. options.width = 'auto';
  476. }
  477. if ($select.find('option[value=""]')) {
  478. options.placeholder = $select.find('option[value=""]').html();
  479. }
  480. var myselect = $select.select2(options);
  481. myselect.on('select2:select', function (e) {
  482. var event = new Event('change');
  483. e.target.dispatchEvent(event);
  484. });
  485. myselect.on('select2:unselect', function (e) {
  486. var event = new Event('change');
  487. e.target.dispatchEvent(event);
  488. });
  489. SovTools.log(myselect);
  490. myselect.off('select2:open');
  491. return myselect;
  492. }
  493. }
  494. }, {
  495. key: "setDateRange",
  496. value: function setDateRange() {
  497. $('.date-time-range, .date-range').each(function (i, picker) {
  498. var options = {
  499. autoUpdateInput: false,
  500. locale: {
  501. "format": "DD/MM/YY",
  502. "separator": " - ",
  503. "applyLabel": "Appliquer",
  504. "cancelLabel": "Annuler",
  505. "fromLabel": "Du",
  506. "toLabel": "au",
  507. "customRangeLabel": "Custom",
  508. "daysOfWeek": ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"],
  509. "monthNames": ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
  510. "firstDay": 1
  511. }
  512. };
  513. if ($(picker).hasClass('date-time-range')) {
  514. options = Object.assign(options, {
  515. timePicker: true,
  516. timePickerIncrement: 30,
  517. timePicker24Hour: true,
  518. locale: {
  519. "format": "DD/MM/YYYY HH:mm"
  520. }
  521. });
  522. }
  523. if ($(picker).nextAll('.date-time-range-fields').find('.date-start').val()) {
  524. options.startDate = new Date($(picker).nextAll('.date-time-range-fields').find('.date-start').val());
  525. options.autoUpdateInput = true;
  526. }
  527. if ($(picker).nextAll('.date-time-range-fields').find('.date-end').val()) {
  528. options.endDate = new Date($(picker).nextAll('.date-time-range-fields').find('.date-end').val());
  529. options.autoUpdateInput = true;
  530. }
  531. $(picker).daterangepicker(options);
  532. $(picker).on('apply.daterangepicker', function (ev, pickerElm) {
  533. if ($(picker).hasClass('date-time-range')) {
  534. $(this).val(pickerElm.startDate.format('DD/MM/YY HH:mm') + ' - ' + pickerElm.endDate.format(options.locale.format));
  535. } else {
  536. $(this).val(pickerElm.startDate.format('DD/MM/YY') + ' - ' + pickerElm.endDate.format(options.locale.format));
  537. }
  538. if ($(picker).hasClass('date-time-range')) {
  539. $(picker).nextAll('.date-time-range-fields').find('.date-start').val(pickerElm.startDate.format('YYYY-MM-DD HH:mm'));
  540. $(picker).nextAll('.date-time-range-fields').find('.date-end').val(pickerElm.endDate.format('YYYY-MM-DD HH:mm'));
  541. } else {
  542. $(picker).nextAll('.date-time-range-fields').find('.date-start').val(pickerElm.startDate.format('YYYY-MM-DD'));
  543. $(picker).nextAll('.date-time-range-fields').find('.date-end').val(pickerElm.endDate.format('YYYY-MM-DD'));
  544. }
  545. });
  546. });
  547. }
  548. }, {
  549. key: "setAutoCompleteField",
  550. value: function setAutoCompleteField() {
  551. var autocompleteFields = $('[data-lc-autocomplete-url]');
  552. autocompleteFields.each(function () {
  553. var $this = $(this),
  554. url = $this.data('lc-autocomplete-url');
  555. $this.autoComplete({
  556. //bootstrapVersion: 4,
  557. //noResultsText: 'Aucun résultat n\'a été trouvé.',
  558. resolverSettings: {
  559. url: url
  560. }
  561. });
  562. });
  563. }
  564. }, {
  565. key: "setCollectionWidget",
  566. value: function setCollectionWidget() {
  567. $('.field-collection[data-prototype]').each(function (i, collectionWidget) {
  568. SovWidgetCollection.setCollectionWidgetSortable($(collectionWidget));
  569. SovWidgetCollection.reindexKeyCollectionWidget($(collectionWidget));
  570. SovWidgetCollection.setCollectionWidgetAdd($(collectionWidget));
  571. SovWidgetCollection.setCollectionWidgetDelete($(collectionWidget));
  572. });
  573. }
  574. }]);
  575. return SovWidgets;
  576. }();
  577. /***/ }),
  578. /***/ "./node_modules/moment/dist/locale sync recursive ^\\.\\/.*$":
  579. /*!********************************************************!*\
  580. !*** ./node_modules/moment/dist/locale/ sync ^\.\/.*$ ***!
  581. \********************************************************/
  582. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  583. var map = {
  584. "./af": "./node_modules/moment/dist/locale/af.js",
  585. "./af.js": "./node_modules/moment/dist/locale/af.js",
  586. "./ar": "./node_modules/moment/dist/locale/ar.js",
  587. "./ar-dz": "./node_modules/moment/dist/locale/ar-dz.js",
  588. "./ar-dz.js": "./node_modules/moment/dist/locale/ar-dz.js",
  589. "./ar-kw": "./node_modules/moment/dist/locale/ar-kw.js",
  590. "./ar-kw.js": "./node_modules/moment/dist/locale/ar-kw.js",
  591. "./ar-ly": "./node_modules/moment/dist/locale/ar-ly.js",
  592. "./ar-ly.js": "./node_modules/moment/dist/locale/ar-ly.js",
  593. "./ar-ma": "./node_modules/moment/dist/locale/ar-ma.js",
  594. "./ar-ma.js": "./node_modules/moment/dist/locale/ar-ma.js",
  595. "./ar-sa": "./node_modules/moment/dist/locale/ar-sa.js",
  596. "./ar-sa.js": "./node_modules/moment/dist/locale/ar-sa.js",
  597. "./ar-tn": "./node_modules/moment/dist/locale/ar-tn.js",
  598. "./ar-tn.js": "./node_modules/moment/dist/locale/ar-tn.js",
  599. "./ar.js": "./node_modules/moment/dist/locale/ar.js",
  600. "./az": "./node_modules/moment/dist/locale/az.js",
  601. "./az.js": "./node_modules/moment/dist/locale/az.js",
  602. "./be": "./node_modules/moment/dist/locale/be.js",
  603. "./be.js": "./node_modules/moment/dist/locale/be.js",
  604. "./bg": "./node_modules/moment/dist/locale/bg.js",
  605. "./bg.js": "./node_modules/moment/dist/locale/bg.js",
  606. "./bm": "./node_modules/moment/dist/locale/bm.js",
  607. "./bm.js": "./node_modules/moment/dist/locale/bm.js",
  608. "./bn": "./node_modules/moment/dist/locale/bn.js",
  609. "./bn-bd": "./node_modules/moment/dist/locale/bn-bd.js",
  610. "./bn-bd.js": "./node_modules/moment/dist/locale/bn-bd.js",
  611. "./bn.js": "./node_modules/moment/dist/locale/bn.js",
  612. "./bo": "./node_modules/moment/dist/locale/bo.js",
  613. "./bo.js": "./node_modules/moment/dist/locale/bo.js",
  614. "./br": "./node_modules/moment/dist/locale/br.js",
  615. "./br.js": "./node_modules/moment/dist/locale/br.js",
  616. "./bs": "./node_modules/moment/dist/locale/bs.js",
  617. "./bs.js": "./node_modules/moment/dist/locale/bs.js",
  618. "./ca": "./node_modules/moment/dist/locale/ca.js",
  619. "./ca.js": "./node_modules/moment/dist/locale/ca.js",
  620. "./cs": "./node_modules/moment/dist/locale/cs.js",
  621. "./cs.js": "./node_modules/moment/dist/locale/cs.js",
  622. "./cv": "./node_modules/moment/dist/locale/cv.js",
  623. "./cv.js": "./node_modules/moment/dist/locale/cv.js",
  624. "./cy": "./node_modules/moment/dist/locale/cy.js",
  625. "./cy.js": "./node_modules/moment/dist/locale/cy.js",
  626. "./da": "./node_modules/moment/dist/locale/da.js",
  627. "./da.js": "./node_modules/moment/dist/locale/da.js",
  628. "./de": "./node_modules/moment/dist/locale/de.js",
  629. "./de-at": "./node_modules/moment/dist/locale/de-at.js",
  630. "./de-at.js": "./node_modules/moment/dist/locale/de-at.js",
  631. "./de-ch": "./node_modules/moment/dist/locale/de-ch.js",
  632. "./de-ch.js": "./node_modules/moment/dist/locale/de-ch.js",
  633. "./de.js": "./node_modules/moment/dist/locale/de.js",
  634. "./dv": "./node_modules/moment/dist/locale/dv.js",
  635. "./dv.js": "./node_modules/moment/dist/locale/dv.js",
  636. "./el": "./node_modules/moment/dist/locale/el.js",
  637. "./el.js": "./node_modules/moment/dist/locale/el.js",
  638. "./en-au": "./node_modules/moment/dist/locale/en-au.js",
  639. "./en-au.js": "./node_modules/moment/dist/locale/en-au.js",
  640. "./en-ca": "./node_modules/moment/dist/locale/en-ca.js",
  641. "./en-ca.js": "./node_modules/moment/dist/locale/en-ca.js",
  642. "./en-gb": "./node_modules/moment/dist/locale/en-gb.js",
  643. "./en-gb.js": "./node_modules/moment/dist/locale/en-gb.js",
  644. "./en-ie": "./node_modules/moment/dist/locale/en-ie.js",
  645. "./en-ie.js": "./node_modules/moment/dist/locale/en-ie.js",
  646. "./en-il": "./node_modules/moment/dist/locale/en-il.js",
  647. "./en-il.js": "./node_modules/moment/dist/locale/en-il.js",
  648. "./en-in": "./node_modules/moment/dist/locale/en-in.js",
  649. "./en-in.js": "./node_modules/moment/dist/locale/en-in.js",
  650. "./en-nz": "./node_modules/moment/dist/locale/en-nz.js",
  651. "./en-nz.js": "./node_modules/moment/dist/locale/en-nz.js",
  652. "./en-sg": "./node_modules/moment/dist/locale/en-sg.js",
  653. "./en-sg.js": "./node_modules/moment/dist/locale/en-sg.js",
  654. "./eo": "./node_modules/moment/dist/locale/eo.js",
  655. "./eo.js": "./node_modules/moment/dist/locale/eo.js",
  656. "./es": "./node_modules/moment/dist/locale/es.js",
  657. "./es-do": "./node_modules/moment/dist/locale/es-do.js",
  658. "./es-do.js": "./node_modules/moment/dist/locale/es-do.js",
  659. "./es-mx": "./node_modules/moment/dist/locale/es-mx.js",
  660. "./es-mx.js": "./node_modules/moment/dist/locale/es-mx.js",
  661. "./es-us": "./node_modules/moment/dist/locale/es-us.js",
  662. "./es-us.js": "./node_modules/moment/dist/locale/es-us.js",
  663. "./es.js": "./node_modules/moment/dist/locale/es.js",
  664. "./et": "./node_modules/moment/dist/locale/et.js",
  665. "./et.js": "./node_modules/moment/dist/locale/et.js",
  666. "./eu": "./node_modules/moment/dist/locale/eu.js",
  667. "./eu.js": "./node_modules/moment/dist/locale/eu.js",
  668. "./fa": "./node_modules/moment/dist/locale/fa.js",
  669. "./fa.js": "./node_modules/moment/dist/locale/fa.js",
  670. "./fi": "./node_modules/moment/dist/locale/fi.js",
  671. "./fi.js": "./node_modules/moment/dist/locale/fi.js",
  672. "./fil": "./node_modules/moment/dist/locale/fil.js",
  673. "./fil.js": "./node_modules/moment/dist/locale/fil.js",
  674. "./fo": "./node_modules/moment/dist/locale/fo.js",
  675. "./fo.js": "./node_modules/moment/dist/locale/fo.js",
  676. "./fr": "./node_modules/moment/dist/locale/fr.js",
  677. "./fr-ca": "./node_modules/moment/dist/locale/fr-ca.js",
  678. "./fr-ca.js": "./node_modules/moment/dist/locale/fr-ca.js",
  679. "./fr-ch": "./node_modules/moment/dist/locale/fr-ch.js",
  680. "./fr-ch.js": "./node_modules/moment/dist/locale/fr-ch.js",
  681. "./fr.js": "./node_modules/moment/dist/locale/fr.js",
  682. "./fy": "./node_modules/moment/dist/locale/fy.js",
  683. "./fy.js": "./node_modules/moment/dist/locale/fy.js",
  684. "./ga": "./node_modules/moment/dist/locale/ga.js",
  685. "./ga.js": "./node_modules/moment/dist/locale/ga.js",
  686. "./gd": "./node_modules/moment/dist/locale/gd.js",
  687. "./gd.js": "./node_modules/moment/dist/locale/gd.js",
  688. "./gl": "./node_modules/moment/dist/locale/gl.js",
  689. "./gl.js": "./node_modules/moment/dist/locale/gl.js",
  690. "./gom-deva": "./node_modules/moment/dist/locale/gom-deva.js",
  691. "./gom-deva.js": "./node_modules/moment/dist/locale/gom-deva.js",
  692. "./gom-latn": "./node_modules/moment/dist/locale/gom-latn.js",
  693. "./gom-latn.js": "./node_modules/moment/dist/locale/gom-latn.js",
  694. "./gu": "./node_modules/moment/dist/locale/gu.js",
  695. "./gu.js": "./node_modules/moment/dist/locale/gu.js",
  696. "./he": "./node_modules/moment/dist/locale/he.js",
  697. "./he.js": "./node_modules/moment/dist/locale/he.js",
  698. "./hi": "./node_modules/moment/dist/locale/hi.js",
  699. "./hi.js": "./node_modules/moment/dist/locale/hi.js",
  700. "./hr": "./node_modules/moment/dist/locale/hr.js",
  701. "./hr.js": "./node_modules/moment/dist/locale/hr.js",
  702. "./hu": "./node_modules/moment/dist/locale/hu.js",
  703. "./hu.js": "./node_modules/moment/dist/locale/hu.js",
  704. "./hy-am": "./node_modules/moment/dist/locale/hy-am.js",
  705. "./hy-am.js": "./node_modules/moment/dist/locale/hy-am.js",
  706. "./id": "./node_modules/moment/dist/locale/id.js",
  707. "./id.js": "./node_modules/moment/dist/locale/id.js",
  708. "./is": "./node_modules/moment/dist/locale/is.js",
  709. "./is.js": "./node_modules/moment/dist/locale/is.js",
  710. "./it": "./node_modules/moment/dist/locale/it.js",
  711. "./it-ch": "./node_modules/moment/dist/locale/it-ch.js",
  712. "./it-ch.js": "./node_modules/moment/dist/locale/it-ch.js",
  713. "./it.js": "./node_modules/moment/dist/locale/it.js",
  714. "./ja": "./node_modules/moment/dist/locale/ja.js",
  715. "./ja.js": "./node_modules/moment/dist/locale/ja.js",
  716. "./jv": "./node_modules/moment/dist/locale/jv.js",
  717. "./jv.js": "./node_modules/moment/dist/locale/jv.js",
  718. "./ka": "./node_modules/moment/dist/locale/ka.js",
  719. "./ka.js": "./node_modules/moment/dist/locale/ka.js",
  720. "./kk": "./node_modules/moment/dist/locale/kk.js",
  721. "./kk.js": "./node_modules/moment/dist/locale/kk.js",
  722. "./km": "./node_modules/moment/dist/locale/km.js",
  723. "./km.js": "./node_modules/moment/dist/locale/km.js",
  724. "./kn": "./node_modules/moment/dist/locale/kn.js",
  725. "./kn.js": "./node_modules/moment/dist/locale/kn.js",
  726. "./ko": "./node_modules/moment/dist/locale/ko.js",
  727. "./ko.js": "./node_modules/moment/dist/locale/ko.js",
  728. "./ku": "./node_modules/moment/dist/locale/ku.js",
  729. "./ku.js": "./node_modules/moment/dist/locale/ku.js",
  730. "./ky": "./node_modules/moment/dist/locale/ky.js",
  731. "./ky.js": "./node_modules/moment/dist/locale/ky.js",
  732. "./lb": "./node_modules/moment/dist/locale/lb.js",
  733. "./lb.js": "./node_modules/moment/dist/locale/lb.js",
  734. "./lo": "./node_modules/moment/dist/locale/lo.js",
  735. "./lo.js": "./node_modules/moment/dist/locale/lo.js",
  736. "./lt": "./node_modules/moment/dist/locale/lt.js",
  737. "./lt.js": "./node_modules/moment/dist/locale/lt.js",
  738. "./lv": "./node_modules/moment/dist/locale/lv.js",
  739. "./lv.js": "./node_modules/moment/dist/locale/lv.js",
  740. "./me": "./node_modules/moment/dist/locale/me.js",
  741. "./me.js": "./node_modules/moment/dist/locale/me.js",
  742. "./mi": "./node_modules/moment/dist/locale/mi.js",
  743. "./mi.js": "./node_modules/moment/dist/locale/mi.js",
  744. "./mk": "./node_modules/moment/dist/locale/mk.js",
  745. "./mk.js": "./node_modules/moment/dist/locale/mk.js",
  746. "./ml": "./node_modules/moment/dist/locale/ml.js",
  747. "./ml.js": "./node_modules/moment/dist/locale/ml.js",
  748. "./mn": "./node_modules/moment/dist/locale/mn.js",
  749. "./mn.js": "./node_modules/moment/dist/locale/mn.js",
  750. "./mr": "./node_modules/moment/dist/locale/mr.js",
  751. "./mr.js": "./node_modules/moment/dist/locale/mr.js",
  752. "./ms": "./node_modules/moment/dist/locale/ms.js",
  753. "./ms-my": "./node_modules/moment/dist/locale/ms-my.js",
  754. "./ms-my.js": "./node_modules/moment/dist/locale/ms-my.js",
  755. "./ms.js": "./node_modules/moment/dist/locale/ms.js",
  756. "./mt": "./node_modules/moment/dist/locale/mt.js",
  757. "./mt.js": "./node_modules/moment/dist/locale/mt.js",
  758. "./my": "./node_modules/moment/dist/locale/my.js",
  759. "./my.js": "./node_modules/moment/dist/locale/my.js",
  760. "./nb": "./node_modules/moment/dist/locale/nb.js",
  761. "./nb.js": "./node_modules/moment/dist/locale/nb.js",
  762. "./ne": "./node_modules/moment/dist/locale/ne.js",
  763. "./ne.js": "./node_modules/moment/dist/locale/ne.js",
  764. "./nl": "./node_modules/moment/dist/locale/nl.js",
  765. "./nl-be": "./node_modules/moment/dist/locale/nl-be.js",
  766. "./nl-be.js": "./node_modules/moment/dist/locale/nl-be.js",
  767. "./nl.js": "./node_modules/moment/dist/locale/nl.js",
  768. "./nn": "./node_modules/moment/dist/locale/nn.js",
  769. "./nn.js": "./node_modules/moment/dist/locale/nn.js",
  770. "./oc-lnc": "./node_modules/moment/dist/locale/oc-lnc.js",
  771. "./oc-lnc.js": "./node_modules/moment/dist/locale/oc-lnc.js",
  772. "./pa-in": "./node_modules/moment/dist/locale/pa-in.js",
  773. "./pa-in.js": "./node_modules/moment/dist/locale/pa-in.js",
  774. "./pl": "./node_modules/moment/dist/locale/pl.js",
  775. "./pl.js": "./node_modules/moment/dist/locale/pl.js",
  776. "./pt": "./node_modules/moment/dist/locale/pt.js",
  777. "./pt-br": "./node_modules/moment/dist/locale/pt-br.js",
  778. "./pt-br.js": "./node_modules/moment/dist/locale/pt-br.js",
  779. "./pt.js": "./node_modules/moment/dist/locale/pt.js",
  780. "./ro": "./node_modules/moment/dist/locale/ro.js",
  781. "./ro.js": "./node_modules/moment/dist/locale/ro.js",
  782. "./ru": "./node_modules/moment/dist/locale/ru.js",
  783. "./ru.js": "./node_modules/moment/dist/locale/ru.js",
  784. "./sd": "./node_modules/moment/dist/locale/sd.js",
  785. "./sd.js": "./node_modules/moment/dist/locale/sd.js",
  786. "./se": "./node_modules/moment/dist/locale/se.js",
  787. "./se.js": "./node_modules/moment/dist/locale/se.js",
  788. "./si": "./node_modules/moment/dist/locale/si.js",
  789. "./si.js": "./node_modules/moment/dist/locale/si.js",
  790. "./sk": "./node_modules/moment/dist/locale/sk.js",
  791. "./sk.js": "./node_modules/moment/dist/locale/sk.js",
  792. "./sl": "./node_modules/moment/dist/locale/sl.js",
  793. "./sl.js": "./node_modules/moment/dist/locale/sl.js",
  794. "./sq": "./node_modules/moment/dist/locale/sq.js",
  795. "./sq.js": "./node_modules/moment/dist/locale/sq.js",
  796. "./sr": "./node_modules/moment/dist/locale/sr.js",
  797. "./sr-cyrl": "./node_modules/moment/dist/locale/sr-cyrl.js",
  798. "./sr-cyrl.js": "./node_modules/moment/dist/locale/sr-cyrl.js",
  799. "./sr.js": "./node_modules/moment/dist/locale/sr.js",
  800. "./ss": "./node_modules/moment/dist/locale/ss.js",
  801. "./ss.js": "./node_modules/moment/dist/locale/ss.js",
  802. "./sv": "./node_modules/moment/dist/locale/sv.js",
  803. "./sv.js": "./node_modules/moment/dist/locale/sv.js",
  804. "./sw": "./node_modules/moment/dist/locale/sw.js",
  805. "./sw.js": "./node_modules/moment/dist/locale/sw.js",
  806. "./ta": "./node_modules/moment/dist/locale/ta.js",
  807. "./ta.js": "./node_modules/moment/dist/locale/ta.js",
  808. "./te": "./node_modules/moment/dist/locale/te.js",
  809. "./te.js": "./node_modules/moment/dist/locale/te.js",
  810. "./tet": "./node_modules/moment/dist/locale/tet.js",
  811. "./tet.js": "./node_modules/moment/dist/locale/tet.js",
  812. "./tg": "./node_modules/moment/dist/locale/tg.js",
  813. "./tg.js": "./node_modules/moment/dist/locale/tg.js",
  814. "./th": "./node_modules/moment/dist/locale/th.js",
  815. "./th.js": "./node_modules/moment/dist/locale/th.js",
  816. "./tk": "./node_modules/moment/dist/locale/tk.js",
  817. "./tk.js": "./node_modules/moment/dist/locale/tk.js",
  818. "./tl-ph": "./node_modules/moment/dist/locale/tl-ph.js",
  819. "./tl-ph.js": "./node_modules/moment/dist/locale/tl-ph.js",
  820. "./tlh": "./node_modules/moment/dist/locale/tlh.js",
  821. "./tlh.js": "./node_modules/moment/dist/locale/tlh.js",
  822. "./tr": "./node_modules/moment/dist/locale/tr.js",
  823. "./tr.js": "./node_modules/moment/dist/locale/tr.js",
  824. "./tzl": "./node_modules/moment/dist/locale/tzl.js",
  825. "./tzl.js": "./node_modules/moment/dist/locale/tzl.js",
  826. "./tzm": "./node_modules/moment/dist/locale/tzm.js",
  827. "./tzm-latn": "./node_modules/moment/dist/locale/tzm-latn.js",
  828. "./tzm-latn.js": "./node_modules/moment/dist/locale/tzm-latn.js",
  829. "./tzm.js": "./node_modules/moment/dist/locale/tzm.js",
  830. "./ug-cn": "./node_modules/moment/dist/locale/ug-cn.js",
  831. "./ug-cn.js": "./node_modules/moment/dist/locale/ug-cn.js",
  832. "./uk": "./node_modules/moment/dist/locale/uk.js",
  833. "./uk.js": "./node_modules/moment/dist/locale/uk.js",
  834. "./ur": "./node_modules/moment/dist/locale/ur.js",
  835. "./ur.js": "./node_modules/moment/dist/locale/ur.js",
  836. "./uz": "./node_modules/moment/dist/locale/uz.js",
  837. "./uz-latn": "./node_modules/moment/dist/locale/uz-latn.js",
  838. "./uz-latn.js": "./node_modules/moment/dist/locale/uz-latn.js",
  839. "./uz.js": "./node_modules/moment/dist/locale/uz.js",
  840. "./vi": "./node_modules/moment/dist/locale/vi.js",
  841. "./vi.js": "./node_modules/moment/dist/locale/vi.js",
  842. "./x-pseudo": "./node_modules/moment/dist/locale/x-pseudo.js",
  843. "./x-pseudo.js": "./node_modules/moment/dist/locale/x-pseudo.js",
  844. "./yo": "./node_modules/moment/dist/locale/yo.js",
  845. "./yo.js": "./node_modules/moment/dist/locale/yo.js",
  846. "./zh-cn": "./node_modules/moment/dist/locale/zh-cn.js",
  847. "./zh-cn.js": "./node_modules/moment/dist/locale/zh-cn.js",
  848. "./zh-hk": "./node_modules/moment/dist/locale/zh-hk.js",
  849. "./zh-hk.js": "./node_modules/moment/dist/locale/zh-hk.js",
  850. "./zh-mo": "./node_modules/moment/dist/locale/zh-mo.js",
  851. "./zh-mo.js": "./node_modules/moment/dist/locale/zh-mo.js",
  852. "./zh-tw": "./node_modules/moment/dist/locale/zh-tw.js",
  853. "./zh-tw.js": "./node_modules/moment/dist/locale/zh-tw.js"
  854. };
  855. function webpackContext(req) {
  856. var id = webpackContextResolve(req);
  857. return __webpack_require__(id);
  858. }
  859. function webpackContextResolve(req) {
  860. if(!__webpack_require__.o(map, req)) {
  861. var e = new Error("Cannot find module '" + req + "'");
  862. e.code = 'MODULE_NOT_FOUND';
  863. throw e;
  864. }
  865. return map[req];
  866. }
  867. webpackContext.keys = function webpackContextKeys() {
  868. return Object.keys(map);
  869. };
  870. webpackContext.resolve = webpackContextResolve;
  871. module.exports = webpackContext;
  872. webpackContext.id = "./node_modules/moment/dist/locale sync recursive ^\\.\\/.*$";
  873. /***/ })
  874. },
  875. /******/ __webpack_require__ => { // webpackRuntimeModules
  876. /******/ "use strict";
  877. /******/
  878. /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
  879. /******/ __webpack_require__.O(0, ["vendors-node_modules_core-js_internals_export_js","vendors-node_modules_jquery_src_jquery_js","vendors-node_modules_core-js_modules_es_string_replace_js","vendors-node_modules_popper_js_dist_esm_popper_js","vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-ca58f0","vendors-node_modules_admin-lte_dist_js_adminlte_min_js-node_modules_bootstrap-autocomplete_di-6ad752"], () => (__webpack_exec__("../LaClicBundle/SovBundle/Resources/assets/app/adminlte/plugins/app.plugins.js")));
  880. /******/ var __webpack_exports__ = __webpack_require__.O();
  881. /******/ }
  882. ]);
  883. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vTGFDbGljQnVuZGxlL1NvdkJ1bmRsZS9SZXNvdXJjZXMvYXNzZXRzL2FwcC9hZG1pbmx0ZS9wbHVnaW5zL2FwcC5wbHVnaW5zLmpzIiwid2VicGFjazovLy8uLi9MYUNsaWNCdW5kbGUvU292QnVuZGxlL1Jlc291cmNlcy9hc3NldHMvZnVuY3Rpb25zL25vdGlmaWNhdGlvbi5qcyIsIndlYnBhY2s6Ly8vLi4vTGFDbGljQnVuZGxlL1NvdkJ1bmRsZS9SZXNvdXJjZXMvYXNzZXRzL2Z1bmN0aW9ucy9wcmljZXMuanMiLCJ3ZWJwYWNrOi8vLy4uL0xhQ2xpY0J1bmRsZS9Tb3ZCdW5kbGUvUmVzb3VyY2VzL2Fzc2V0cy9mdW5jdGlvbnMvdG9vbHMuanMiLCJ3ZWJwYWNrOi8vLy4uL0xhQ2xpY0J1bmRsZS9Tb3ZCdW5kbGUvUmVzb3VyY2VzL2Fzc2V0cy9mdW5jdGlvbnMvd2lkZ2V0LWNvbGxlY3Rpb24uanMiLCJ3ZWJwYWNrOi8vLy4uL0xhQ2xpY0J1bmRsZS9Tb3ZCdW5kbGUvUmVzb3VyY2VzL2Fzc2V0cy9mdW5jdGlvbnMvd2lkZ2V0cy5qcyIsIndlYnBhY2s6Ly8vL3Zhci93d3cvU292U2tlbGV0b24vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZXxzeW5jfC9eXFwuXFwvLiokLyJdLCJuYW1lcyI6WyJnbG9iYWwiLCIkIiwialF1ZXJ5IiwidG9hc3RyIiwiU292VG9vbHMiLCJTb3ZQcmljZXMiLCJTb3ZXaWRnZXRDb2xsZWN0aW9uIiwiU292V2lkZ2V0cyIsIlNvdk5vdGlmaWNhdGlvbiIsIm9wdGlvbnMiLCJ0aW1lT3V0IiwicG9zaXRpb25DbGFzcyIsIm9uSGlkZGVuIiwibGVuZ3RoIiwicmVtb3ZlIiwibm90aWZpY2F0aW9ucyIsImN1cnJlbnROb3RpZmljYXRpb25zIiwiQXJyYXkiLCJ0eXBlIiwia2V5IiwiaW5jbHVkZXMiLCJwdXNoIiwiYWRkIiwidGV4dCIsIiRjb250YWluZXIiLCJzZWxlY3RvckJ1dHRvbkNsb3NlQWxsIiwiY291bnRNZXNzYWdlcyIsImZpbmQiLCJwcmVwZW5kIiwib2ZmIiwib24iLCJwcmljZVdpdGhUYXgiLCJ0YXhSYXRlIiwicGFyc2VGbG9hdCIsInRvRml4ZWQiLCJwcmljZVdpdGhvdXRUYXgiLCJwcmljZSIsImJ1eWluZ1ByaWNlIiwicGVyY2VudGFnZSIsImFwcGx5UGVyY2VudCIsImFtb3VudCIsInZhbHVlIiwiY29uc29sZSIsImxvZyIsImFyciIsImZpbHRlciIsImVsZSIsImh0bWwiLCJzY3JhdGNoRGl2IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaW5uZXJIVE1MIiwidGV4dENvbnRlbnQiLCJkYXRlIiwic2VwYXJhdG9yIiwiRGF0ZSIsIl9kIiwiZ2V0RGF0ZSIsImQiLCJfbSIsImdldE1vbnRoIiwibSIsImZvcm1hdHRlZCIsImdldEZ1bGxZZWFyIiwic1BhcmFtIiwic1BhZ2VVUkwiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInNlYXJjaCIsInN1YnN0cmluZyIsInNVUkxWYXJpYWJsZXMiLCJzcGxpdCIsInNQYXJhbWV0ZXJOYW1lIiwiaSIsInVuZGVmaW5lZCIsImRlY29kZVVSSUNvbXBvbmVudCIsImlucHV0IiwibnVtYmVyIiwiTnVtYmVyIiwicmVwbGFjZSIsImZsYXNoTWVzc2FnZXMiLCJjdXJyZW50Rmxhc2giLCJmb3JtSWQiLCJnZXRFbGVtZW50QnlJZCIsInN1YnN0ciIsImNoZWNrVmFsaWRpdHkiLCJyZXBvcnRWYWxpZGl0eSIsIiRjb2xsZWN0aW9uV2lkZ2V0IiwiZGF0YSIsImUiLCJuZXdXaWRnZXQiLCJhdHRyIiwiZ2V0TnVtSXRlbXMiLCJhcHBlbmQiLCJ2YWwiLCJyZWluZGV4S2V5Q29sbGVjdGlvbldpZGdldCIsInNldENvbGxlY3Rpb25XaWRnZXREZWxldGUiLCJ0cmlnZ2VyIiwiaGlkZSIsInBhcmVudHMiLCJzaG93IiwiZWFjaCIsIml0ZW0iLCJ5IiwiZmllbGQiLCIkZmllbGQiLCJwb3NJZFByZWZpeCIsInBhcnNlSW50IiwiaW5kZXhPZkZpcnN0RGlnaXQiLCJwcm9wIiwicG9zSWRTdWZmaXgiLCJpbmRleE9mTGFzdERpZ2l0IiwiaWRQcmVmaXgiLCJpZFN1ZmZpeCIsInBvc05hbWVQcmVmaXgiLCJwb3NOYW1lU3VmZml4IiwibmFtZVByZWZpeCIsIm5hbWVTdWZmaXgiLCJzb3J0YWJsZSIsImNhbmNlbCIsImV2ZW50IiwidWkiLCJpbmRleCIsIiRzZWxlY3QiLCJ3aWR0aCIsInRoZW1lIiwiZHJvcGRvd25BdXRvV2lkdGgiLCJhbGxvd0NsZWFyIiwibWluaW11bVJlc3VsdHNGb3JTZWFyY2giLCJwbGFjZWhvbGRlciIsIm15c2VsZWN0Iiwic2VsZWN0MiIsIkV2ZW50IiwidGFyZ2V0IiwiZGlzcGF0Y2hFdmVudCIsInBpY2tlciIsImF1dG9VcGRhdGVJbnB1dCIsImxvY2FsZSIsImhhc0NsYXNzIiwiT2JqZWN0IiwiYXNzaWduIiwidGltZVBpY2tlciIsInRpbWVQaWNrZXJJbmNyZW1lbnQiLCJ0aW1lUGlja2VyMjRIb3VyIiwibmV4dEFsbCIsInN0YXJ0RGF0ZSIsImVuZERhdGUiLCJkYXRlcmFuZ2VwaWNrZXIiLCJldiIsInBpY2tlckVsbSIsImZvcm1hdCIsImF1dG9jb21wbGV0ZUZpZWxkcyIsIiR0aGlzIiwidXJsIiwiYXV0b0NvbXBsZXRlIiwicmVzb2x2ZXJTZXR0aW5ncyIsImNvbGxlY3Rpb25XaWRnZXQiLCJzZXRDb2xsZWN0aW9uV2lkZ2V0U29ydGFibGUiLCJzZXRDb2xsZWN0aW9uV2lkZ2V0QWRkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTtBQUNBO0FBQ0FBLHFCQUFNLENBQUNDLENBQVAsR0FBV0QscUJBQU0sQ0FBQ0UsTUFBUCxHQUFnQkQsQ0FBM0IsQyxDQUVBOztDQUdBOztDQUdBOztDQUdBOztBQUNBO0FBQ0E7QUFDQTtDQUdBOztBQUNBO0FBQ0E7QUFDQUQscUJBQU0sQ0FBQ0csTUFBUCxHQUFnQkEseURBQWhCLEMsQ0FFQTs7QUFDQTtBQUNBO0NBR0E7O0FB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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0YiLCJmaWxlIjoiYWRtaW5sdGUtcGx1Z2lucy42YTljNmZmYy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy8gSlF1ZXJ5XG5pbXBvcnQgJ2pxdWVyeSc7XG5nbG9iYWwuJCA9IGdsb2JhbC5qUXVlcnkgPSAkO1xuXG4vLyBBZG1pbmx0ZVxuaW1wb3J0ICdhZG1pbmx0ZS1qcycgO1xuXG4vLyBCb290c3RyYXBcbmltcG9ydCAnYm9vdHN0cmFwL2Rpc3QvanMvYm9vdHN0cmFwLm1pbi5qcyc7XG5cbi8vIEJvb3RzdHJhcCAtIGF1dG9jb21wbGV0ZVxuaW1wb3J0ICdib290c3RyYXAtYXV0b2NvbXBsZXRlJztcblxuLy8gU2VsZWN0MlxuaW1wb3J0ICdzZWxlY3QyL2pzL3NlbGVjdDIubWluLmpzJztcbmltcG9ydCAnc2VsZWN0Mi9qcy9pMThuL2ZyLmpzJztcbmltcG9ydCAnc2VsZWN0Mi9jc3Mvc2VsZWN0Mi5taW4uY3NzJztcbmltcG9ydCAnc2VsZWN0Mi1ib290c3RyYXAtdGhlbWUnO1xuXG4vLyBUb2FzdHJcbmltcG9ydCB0b2FzdHIgZnJvbSAndG9hc3RyL3RvYXN0ci5qcycgO1xuaW1wb3J0ICd0b2FzdHIvdG9hc3RyLnNjc3MnIDtcbmdsb2JhbC50b2FzdHIgPSB0b2FzdHIgO1xuXG4vLyBEYXRlcmFuZ2VQaWNrZXJcbmltcG9ydCAnbW9tZW50JyA7XG5pbXBvcnQgJ2RhdGVyYW5nZXBpY2tlci9kYXRlcmFuZ2VwaWNrZXIuanMnIDtcbmltcG9ydCAnZGF0ZXJhbmdlcGlja2VyL2RhdGVyYW5nZXBpY2tlci5jc3MnIDtcblxuLy8gVG9vbHNcbmltcG9ydCB7IFNvdlRvb2xzIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL3Rvb2xzLmpzJztcbmdsb2JhbC5Tb3ZUb29scyA9IFNvdlRvb2xzO1xuXG5cbi8vIFByaWNlc1xuaW1wb3J0IHsgU292UHJpY2VzIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL3ByaWNlcy5qcyc7XG5nbG9iYWwuU292UHJpY2VzID0gU292UHJpY2VzO1xuXG4vLyBXaWRnZXRzXG5pbXBvcnQgeyBTb3ZXaWRnZXRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL3dpZGdldC1jb2xsZWN0aW9uLmpzJztcbmdsb2JhbC5Tb3ZXaWRnZXRDb2xsZWN0aW9uID0gU292V2lkZ2V0Q29sbGVjdGlvbjtcblxuLy8gV2lkZ2V0c1xuaW1wb3J0IHsgU292V2lkZ2V0cyB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy93aWRnZXRzLmpzJztcbmdsb2JhbC5Tb3ZXaWRnZXRzID0gU292V2lkZ2V0cztcblxuaW1wb3J0IHsgU292Tm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL25vdGlmaWNhdGlvbi5qcyc7XG5nbG9iYWwuU292Tm90aWZpY2F0aW9uID0gU292Tm90aWZpY2F0aW9uO1xuXG5cblxuXG5cbiIsIlxuZXhwb3J0IGNsYXNzIFNvdk5vdGlmaWNhdGlvbiB7XG5cbiAgICBzdGF0aWMgaW5pdCgpIHtcbiAgICAgICAgdG9hc3RyLm9wdGlvbnMudGltZU91dCA9IDMwMDA7XG4gICAgICAgIHRvYXN0ci5vcHRpb25zLnBvc2l0aW9uQ2xhc3MgPSAndG9hc3QtYm90dG9tLXJpZ2h0JztcbiAgICAgICAgdG9hc3RyLm9wdGlvbnMub25IaWRkZW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoJCgnI3RvYXN0LWNvbnRhaW5lciAudG9hc3QnKS5sZW5ndGggPT0gMSkge1xuICAgICAgICAgICAgICAgICQoJyN0b2FzdC1jbG9zZS1hbGwnKS5yZW1vdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgc2V0KG5vdGlmaWNhdGlvbnMpIHtcbiAgICAgICAgdmFyIGN1cnJlbnROb3RpZmljYXRpb25zID0gbmV3IEFycmF5KCk7XG4gICAgICAgIGZvciAodmFyIHR5cGUgaW4gbm90aWZpY2F0aW9ucykge1xuICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIG5vdGlmaWNhdGlvbnNbdHlwZV0pIHtcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbnNbdHlwZV1ba2V5XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudE5vdGlmaWNhdGlvbnMucHVzaChub3RpZmljYXRpb25zW3R5cGVdW2tleV0pO1xuICAgICAgICAgICAgICAgICAgICBTb3ZOb3RpZmljYXRpb24uYWRkKHR5cGUsIG5vdGlmaWNhdGlvbnNbdHlwZV1ba2V5XSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGFkZCh0eXBlLCB0ZXh0KSB7XG5cbiAgICAgICAgdG9hc3RyW3R5cGVdKHRleHQpO1xuXG4gICAgICAgIGxldCAkY29udGFpbmVyID0gJCgnI3RvYXN0LWNvbnRhaW5lcicpIDtcbiAgICAgICAgbGV0IHNlbGVjdG9yQnV0dG9uQ2xvc2VBbGwgPSAnI3RvYXN0LWNsb3NlLWFsbCcgO1xuICAgICAgICBsZXQgY291bnRNZXNzYWdlcyA9ICRjb250YWluZXIuZmluZCgnLnRvYXN0JykubGVuZ3RoIDtcblxuICAgICAgICBpZiAoJChzZWxlY3RvckJ1dHRvbkNsb3NlQWxsKS5sZW5ndGggPT0gMCAmJiBjb3VudE1lc3NhZ2VzID4gMikge1xuICAgICAgICAgICAgJGNvbnRhaW5lci5wcmVwZW5kKCc8YnV0dG9uIGlkPVwidG9hc3QtY2xvc2UtYWxsXCI+PGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiPjwvaT48L2J1dHRvbj4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgICQoc2VsZWN0b3JCdXR0b25DbG9zZUFsbCkub2ZmKCdjbGljaycpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRvYXN0ci5yZW1vdmUoKTtcbiAgICAgICAgICAgIGlmIChjb3VudE1lc3NhZ2VzID09IDApIHtcbiAgICAgICAgICAgICAgICAkKCcjdG9hc3QtY2xvc2UtYWxsJykucmVtb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIiwiXG5leHBvcnQgY2xhc3MgU292UHJpY2VzIHtcblxuICAgICAgICBzdGF0aWMgZ2V0UHJpY2UocHJpY2VXaXRoVGF4LCB0YXhSYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQocGFyc2VGbG9hdChwcmljZVdpdGhUYXgpIC8gKCh0YXhSYXRlLzEwMCkgKyAxKSkudG9GaXhlZCg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBnZXRQcmljZVdpdGhUYXgocHJpY2VXaXRob3V0VGF4LCB0YXhSYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQocGFyc2VGbG9hdChwcmljZVdpdGhvdXRUYXgpICogKCh0YXhSYXRlLzEwMCkgKyAxKSkudG9GaXhlZCgyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBnZXRNYXJnaW4ocHJpY2UsIGJ1eWluZ1ByaWNlKXtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChwcmljZSAtIGJ1eWluZ1ByaWNlKS50b0ZpeGVkKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIGdldE1hcmdpblBlcmNlbnQocHJpY2UsIGJ1eWluZ1ByaWNlKXtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VGbG9hdCgoKHByaWNlIC0gYnV5aW5nUHJpY2UpIC8gcHJpY2UpICogMTAwKS50b0ZpeGVkKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIGFwcGx5UmVkdWN0aW9uUGVyY2VudChwcmljZSwgcGVyY2VudGFnZSlcbiAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFwcGx5UGVyY2VudChwcmljZSwgLXBlcmNlbnRhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIGFwcGx5UmVkdWN0aW9uQW1vdW50KHByaWNlLCBhbW91bnQpXG4gICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChwcmljZSAtIGFtb3VudCkudG9GaXhlZCgyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBhcHBseVBlcmNlbnQocHJpY2UsIHBlcmNlbnRhZ2UpXG4gICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChwcmljZSAqIChwZXJjZW50YWdlIC8gMTAwICsgMSkpLnRvRml4ZWQoMik7XG4gICAgICAgIH1cbn1cbiIsIlxuZXhwb3J0IGNsYXNzIFNvdlRvb2xzIHtcblxuICAgICAgICBzdGF0aWMgbG9nKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHZhbHVlKSA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIHt9XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgYXJyYXlSZW1vdmUoYXJyLCB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhcnIuZmlsdGVyKGZ1bmN0aW9uKGVsZSl7IHJldHVybiBlbGUgIT0gdmFsdWU7IH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIHRvUGxhaW5UZXh0KGh0bWwpIHtcbiAgICAgICAgICAgICAgICBsZXQgc2NyYXRjaERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgICAgIHNjcmF0Y2hEaXYuaW5uZXJIVE1MID0gaHRtbDtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2NyYXRjaERpdi50ZXh0Q29udGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBnZXREYXRlRm9ybWF0dGVkKGRhdGUsIHNlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgIGlmKGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2QgPSBkYXRlLmdldERhdGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkID0gX2QgPiA5ID8gX2QgOiAnMCcgKyBfZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbSA9IGRhdGUuZ2V0TW9udGgoKSArIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbSA9IF9tID4gOSA/IF9tIDogJzAnICsgX20sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkID0gZCArIHNlcGFyYXRvciArIG0gKyBzZXBhcmF0b3IgKyBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgZ2V0VXJsUGFyYW1ldGVyKHNQYXJhbSkge1xuICAgICAgICAgICAgICAgIHZhciBzUGFnZVVSTCA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLFxuICAgICAgICAgICAgICAgICAgICBzVVJMVmFyaWFibGVzID0gc1BhZ2VVUkwuc3BsaXQoJyYnKSxcbiAgICAgICAgICAgICAgICAgICAgc1BhcmFtZXRlck5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGk7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc1VSTFZhcmlhYmxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc1BhcmFtZXRlck5hbWUgPSBzVVJMVmFyaWFibGVzW2ldLnNwbGl0KCc9Jyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzUGFyYW1ldGVyTmFtZVswXSA9PT0gc1BhcmFtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzUGFyYW1ldGVyTmFtZVsxXSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGRlY29kZVVSSUNvbXBvbmVudChzUGFyYW1ldGVyTmFtZVsxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIGluZGV4T2ZGaXJzdERpZ2l0KGlucHV0KSB7XG4gICAgICAgICAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICAgICAgICAgIGZvciAoOyBpbnB1dFtpXSA8ICcwJyB8fCBpbnB1dFtpXSA+ICc5JzsgaSsrKSA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGkgPT0gaW5wdXQubGVuZ3RoID8gLTEgOiBpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIGluZGV4T2ZMYXN0RGlnaXQoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICBsZXQgaSA9IGlucHV0Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgZm9yICg7IGlucHV0W2ldIDwgJzAnIHx8IGlucHV0W2ldID4gJzknOyBpLS0pIDtcbiAgICAgICAgICAgICAgICByZXR1cm4gaSA9PSBpbnB1dC5sZW5ndGggPyAtMSA6IGk7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgZm9ybWF0TnVtYmVyKG51bWJlciwgdG9GaXhlZCl7XG4gICAgICAgICAgICAgICAgaWYobnVtYmVyKXJldHVybiBOdW1iZXIobnVtYmVyLnJlcGxhY2UoJywnLCAnLicpKS50b0ZpeGVkKHRvRml4ZWQpO1xuICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgZm9ybWF0TnVtYmVyV2l0aG91dEZpeGVkKG51bWJlcil7XG4gICAgICAgICAgICAgICAgaWYodHlwZW9mIG51bWJlciA9PSAnc3RyaW5nJyludW1iZXIgPSBudW1iZXIucmVwbGFjZSgnLCcsICcuJyk7XG4gICAgICAgICAgICAgICAgaWYobnVtYmVyKXJldHVybiBOdW1iZXIobnVtYmVyKTtcbiAgICAgICAgICAgICAgICBlbHNlIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIGdldFVybFBhcmFtZXRlcihzUGFyYW0pIHtcbiAgICAgICAgICAgICAgICB2YXIgc1BhZ2VVUkwgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSxcbiAgICAgICAgICAgICAgICAgICAgc1VSTFZhcmlhYmxlcyA9IHNQYWdlVVJMLnNwbGl0KCcmJyksXG4gICAgICAgICAgICAgICAgICAgIHNQYXJhbWV0ZXJOYW1lLFxuICAgICAgICAgICAgICAgICAgICBpO1xuXG4gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHNVUkxWYXJpYWJsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNQYXJhbWV0ZXJOYW1lID0gc1VSTFZhcmlhYmxlc1tpXS5zcGxpdCgnPScpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc1BhcmFtZXRlck5hbWVbMF0gPT09IHNQYXJhbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc1BhcmFtZXRlck5hbWVbMV0gPT09IHVuZGVmaW5lZCA/IHRydWUgOiBkZWNvZGVVUklDb21wb25lbnQoc1BhcmFtZXRlck5hbWVbMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBzdGF0aWMgcmVhZEZsYXNoTWVzc2FnZXMoZmxhc2hNZXNzYWdlcyl7XG4gICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRGbGFzaCA9bmV3IEFycmF5KCk7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgdHlwZSBpbiBmbGFzaE1lc3NhZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gZmxhc2hNZXNzYWdlc1t0eXBlXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighY3VycmVudEZsYXNoLmluY2x1ZGVzKGZsYXNoTWVzc2FnZXNbdHlwZV1ba2V5XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50Rmxhc2gucHVzaChmbGFzaE1lc3NhZ2VzW3R5cGVdW2tleV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdk5vdGlmaWNhdGlvbi5hZGQodHlwZSwgZmxhc2hNZXNzYWdlc1t0eXBlXVtrZXldKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBjaGVja0Zvcm1WYWxpZGl0eShmb3JtSWQpe1xuICAgICAgICAgICAgICAgIGlmKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb3JtSWQuc3Vic3RyKDEpKS5jaGVja1ZhbGlkaXR5KCkpe1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZm9ybUlkLnN1YnN0cigxKSkucmVwb3J0VmFsaWRpdHkoKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG59XG4iLCJleHBvcnQgY2xhc3MgU292V2lkZ2V0Q29sbGVjdGlvbiB7XG4gICAgc3RhdGljIHNldENvbGxlY3Rpb25XaWRnZXRBZGQoJGNvbGxlY3Rpb25XaWRnZXQpIHtcblxuICAgICAgICBpZiAoJGNvbGxlY3Rpb25XaWRnZXQuZGF0YSgnYWxsb3ctYWRkJykpIHtcbiAgICAgICAgICAgICRjb2xsZWN0aW9uV2lkZ2V0LmZpbmQoJy5maWVsZC1jb2xsZWN0aW9uLWFkZCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgLy8gZ3JhYiB0aGUgcHJvdG90eXBlIHRlbXBsYXRlXG4gICAgICAgICAgICAgICAgdmFyIG5ld1dpZGdldCA9ICRjb2xsZWN0aW9uV2lkZ2V0LmF0dHIoJ2RhdGEtcHJvdG90eXBlJyk7XG4gICAgICAgICAgICAgICAgLy8gcmVwbGFjZSB0aGUgXCJfX25hbWVfX1wiIHVzZWQgaW4gdGhlIGlkIGFuZCBuYW1lIG9mIHRoZSBwcm90b3R5cGVcbiAgICAgICAgICAgICAgICAvLyB3aXRoIGEgbnVtYmVyIHRoYXQncyB1bmlxdWUgdG8geW91ciBlbWFpbHNcbiAgICAgICAgICAgICAgICAvLyBlbmQgbmFtZSBhdHRyaWJ1dGUgbG9va3MgbGlrZSBuYW1lPVwiY29udGFjdFtlbWFpbHNdWzJdXCJcbiAgICAgICAgICAgICAgICBuZXdXaWRnZXQgPSBuZXdXaWRnZXQucmVwbGFjZSgvX19uYW1lX18vZywgU292V2lkZ2V0Q29sbGVjdGlvbi5nZXROdW1JdGVtcygkY29sbGVjdGlvbldpZGdldCkpO1xuXG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIGEgbmV3IGxpc3QgZWxlbWVudCBhbmQgYWRkIGl0IHRvIHRoZSBsaXN0XG4gICAgICAgICAgICAgICAgJGNvbGxlY3Rpb25XaWRnZXQuZmluZCgnLmZvcm0td2lkZ2V0LWNvbXBvdW5kIC5maWVsZC1jb2xsZWN0aW9uLWdyb3VwJykuYXBwZW5kKG5ld1dpZGdldCk7XG4gICAgICAgICAgICAgICAgJGNvbGxlY3Rpb25XaWRnZXQuZmluZCgnLmZpZWxkLWNvbGxlY3Rpb24taXRlbTpsYXN0JykuZmluZCgnLmZpZWxkLXBvc2l0aW9uJykudmFsKFNvdldpZGdldENvbGxlY3Rpb24uZ2V0TnVtSXRlbXMoJGNvbGxlY3Rpb25XaWRnZXQpKTtcblxuICAgICAgICAgICAgICAgIFNvdldpZGdldENvbGxlY3Rpb24ucmVpbmRleEtleUNvbGxlY3Rpb25XaWRnZXQoJGNvbGxlY3Rpb25XaWRnZXQpO1xuICAgICAgICAgICAgICAgIFNvdldpZGdldENvbGxlY3Rpb24uc2V0Q29sbGVjdGlvbldpZGdldERlbGV0ZSgkY29sbGVjdGlvbldpZGdldCk7XG4gICAgICAgICAgICAgICAgJGNvbGxlY3Rpb25XaWRnZXQudHJpZ2dlcignY29sbGVjdGlvbi1hZGQtaXRlbScpO1xuXG4gICAgICAgICAgICAgICAgJGNvbGxlY3Rpb25XaWRnZXQuZGF0YSgnbnVtLWl0ZW1zJywgJGNvbGxlY3Rpb25XaWRnZXQuZGF0YSgnbnVtLWl0ZW1zJykgKyAxKTtcbiAgICAgICAgICAgICAgICAkY29sbGVjdGlvbldpZGdldC5maW5kKCcuY29sbGVjdGlvbi1lbXB0eScpLmhpZGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIHNldENvbGxlY3Rpb25XaWRnZXREZWxldGUoJGNvbGxlY3Rpb25XaWRnZXQpIHtcbiAgICAgICAgaWYgKCRjb2xsZWN0aW9uV2lkZ2V0LmRhdGEoJ2FsbG93LWRlbGV0ZScpKSB7XG4gICAgICAgICAgICAkY29sbGVjdGlvbldpZGdldC5maW5kKCcuZmllbGQtY29sbGVjdGlvbi1kZWxldGUnKS5vZmYoJ2NsaWNrJyk7XG4gICAgICAgICAgICAkY29sbGVjdGlvbldpZGdldC5maW5kKCcuZmllbGQtY29sbGVjdGlvbi1kZWxldGUnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnRzKCcuZm9ybS1ncm91cDpmaXJzdCcpLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIFNvdldpZGdldENvbGxlY3Rpb24ucmVpbmRleEtleUNvbGxlY3Rpb25XaWRnZXQoJGNvbGxlY3Rpb25XaWRnZXQpO1xuICAgICAgICAgICAgICAgIGlmIChnZXROdW1JdGVtcygkY29sbGVjdGlvbldpZGdldCkgPT0gMCkgJGNvbGxlY3Rpb25XaWRnZXQuZmluZCgnLmNvbGxlY3Rpb24tZW1wdHknKS5zaG93KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBnZXROdW1JdGVtcygkY29sbGVjdGlvbldpZGdldCkge1xuICAgICAgICBpZiAoJGNvbGxlY3Rpb25XaWRnZXQuZGF0YSgncmVpbmRleC1rZXknKSkge1xuICAgICAgICAgICAgcmV0dXJuICRjb2xsZWN0aW9uV2lkZ2V0LmZpbmQoJy5maWVsZC1jb2xsZWN0aW9uLWl0ZW0nKS5sZW5ndGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJGNvbGxlY3Rpb25XaWRnZXQuZGF0YSgnbnVtLWl0ZW1zJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgcmVpbmRleEtleUNvbGxlY3Rpb25XaWRnZXQoJGNvbGxlY3Rpb25XaWRnZXQpIHtcbiAgICAgICAgaWYgKCRjb2xsZWN0aW9uV2lkZ2V0LmRhdGEoJ3JlaW5kZXgta2V5JykpIHtcbiAgICAgICAgICAgICRjb2xsZWN0aW9uV2lkZ2V0LmZpbmQoJy5maWVsZC1jb2xsZWN0aW9uLWl0ZW0nKS5lYWNoKGZ1bmN0aW9uIChpLCBpdGVtKSB7XG4gICAgICAgICAgICAgICAgJChpdGVtKS5maW5kKCdpbnB1dCx0ZXh0YXJlYScpLmVhY2goZnVuY3Rpb24gKHksIGZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkZmllbGQgPSAkKGZpZWxkKTtcbiAgICAgICAgICAgICAgICAgICAgLy9DaGFuZWdtZW50IElEXG4gICAgICAgICAgICAgICAgICAgIGxldCBwb3NJZFByZWZpeCA9IHBhcnNlSW50KFNvdlRvb2xzLmluZGV4T2ZGaXJzdERpZ2l0KCRmaWVsZC5wcm9wKCdpZCcpKSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwb3NJZFN1ZmZpeCA9IHBhcnNlSW50KFNvdlRvb2xzLmluZGV4T2ZMYXN0RGlnaXQoJGZpZWxkLnByb3AoJ2lkJykpKTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgaWRQcmVmaXggPSAkZmllbGQucHJvcCgnaWQnKS5zdWJzdHIoMCwgcG9zSWRQcmVmaXgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWRTdWZmaXggPSAkZmllbGQucHJvcCgnaWQnKS5zdWJzdHIocG9zSWRTdWZmaXggKyAxKTtcblxuICAgICAgICAgICAgICAgICAgICAkZmllbGQucHJvcCgnaWQnLCBpZFByZWZpeCArIGkgKyBpZFN1ZmZpeCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy9DaGFuZWdtZW50IE5hbWVcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBvc05hbWVQcmVmaXggPSBTb3ZUb29scy5pbmRleE9mRmlyc3REaWdpdCgkZmllbGQucHJvcCgnbmFtZScpKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBvc05hbWVTdWZmaXggPSBTb3ZUb29scy5pbmRleE9mTGFzdERpZ2l0KCRmaWVsZC5wcm9wKCduYW1lJykpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmFtZVByZWZpeCA9ICRmaWVsZC5wcm9wKCduYW1lJykuc3Vic3RyKDAsIHBvc05hbWVQcmVmaXgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmFtZVN1ZmZpeCA9ICRmaWVsZC5wcm9wKCduYW1lJykuc3Vic3RyKHBvc05hbWVTdWZmaXggKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgJGZpZWxkLnByb3AoJ25hbWUnLCBuYW1lUHJlZml4ICsgaSArIG5hbWVTdWZmaXgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdGF0aWMgc2V0Q29sbGVjdGlvbldpZGdldFNvcnRhYmxlKCRjb2xsZWN0aW9uV2lkZ2V0KSB7XG4gICAgICAgIGlmICgkY29sbGVjdGlvbldpZGdldC5kYXRhKCdzb3J0YWJsZScpKSB7XG4gICAgICAgICAgICAkY29sbGVjdGlvbldpZGdldC5maW5kKCcuZmllbGQtY29sbGVjdGlvbi1ncm91cCcpLnNvcnRhYmxlKHtcbiAgICAgICAgICAgICAgICBcImhhbmRsZVwiOiAnLmxjLWJ0bi1zb3J0YWJsZScsXG4gICAgICAgICAgICAgICAgY2FuY2VsOiAnJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAkY29sbGVjdGlvbldpZGdldC5maW5kKCcuZmllbGQtY29sbGVjdGlvbi1ncm91cCcpLm9uKFwic29ydHVwZGF0ZVwiLCBmdW5jdGlvbiAoZXZlbnQsIHVpKSB7XG4gICAgICAgICAgICAgICAgJGNvbGxlY3Rpb25XaWRnZXQuZmluZCgnLmZpZWxkLWNvbGxlY3Rpb24tZ3JvdXA+ZGl2JykuZWFjaChmdW5jdGlvbiAoaW5kZXgsIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgJChpdGVtKS5maW5kKCcuZmllbGQtcG9zaXRpb24nKS52YWwoaW5kZXgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJleHBvcnQgY2xhc3MgU292V2lkZ2V0cyB7XG5cbiAgICBzdGF0aWMgc2V0U2VsZWN0Migkc2VsZWN0KSB7XG4gICAgICAgIGlmICh0eXBlb2YgJHNlbGVjdC5kYXRhKCdzZWxlY3QyLWlkJykgPT09ICd1bmRlZmluZWQnKSB7XG5cbiAgICAgICAgICAgICRzZWxlY3QuZGF0YSgnaW5pdCcsICdzZXQnKVxuICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgICAgIHRoZW1lOiBcImJvb3RzdHJhcDRcIixcbiAgICAgICAgICAgICAgICBkcm9wZG93bkF1dG9XaWR0aDogZmFsc2UsXG4gICAgICAgICAgICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBtaW5pbXVtUmVzdWx0c0ZvclNlYXJjaDogOFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKCRzZWxlY3QuZGF0YSgnYWxsb3ctY2xlYXInKSA9PSAnZmFsc2UnKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5hbGxvd0NsZWFyID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoJHNlbGVjdC5kYXRhKCd3aWR0aCcpKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy53aWR0aCA9ICdhdXRvJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCRzZWxlY3QuZmluZCgnb3B0aW9uW3ZhbHVlPVwiXCJdJykpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLnBsYWNlaG9sZGVyID0gJHNlbGVjdC5maW5kKCdvcHRpb25bdmFsdWU9XCJcIl0nKS5odG1sKClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIG15c2VsZWN0ID0gJHNlbGVjdC5zZWxlY3QyKG9wdGlvbnMpO1xuXG4gICAgICAgICAgICBteXNlbGVjdC5vbignc2VsZWN0MjpzZWxlY3QnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgIHZhciBldmVudCA9IG5ldyBFdmVudCgnY2hhbmdlJyk7XG4gICAgICAgICAgICAgICAgZS50YXJnZXQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG15c2VsZWN0Lm9uKCdzZWxlY3QyOnVuc2VsZWN0JywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICB2YXIgZXZlbnQgPSBuZXcgRXZlbnQoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgIGUudGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBTb3ZUb29scy5sb2cobXlzZWxlY3QpO1xuXG4gICAgICAgICAgICBteXNlbGVjdC5vZmYoJ3NlbGVjdDI6b3BlbicpXG5cbiAgICAgICAgICAgIHJldHVybiBteXNlbGVjdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBzZXREYXRlUmFuZ2UoKSB7XG4gICAgICAgICQoJy5kYXRlLXRpbWUtcmFuZ2UsIC5kYXRlLXJhbmdlJykuZWFjaChmdW5jdGlvbiAoaSwgcGlja2VyKSB7XG4gICAgICAgICAgICBsZXQgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBhdXRvVXBkYXRlSW5wdXQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGxvY2FsZToge1xuICAgICAgICAgICAgICAgICAgICBcImZvcm1hdFwiOiBcIkREL01NL1lZXCIsXG4gICAgICAgICAgICAgICAgICAgIFwic2VwYXJhdG9yXCI6IFwiIC0gXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiYXBwbHlMYWJlbFwiOiBcIkFwcGxpcXVlclwiLFxuICAgICAgICAgICAgICAgICAgICBcImNhbmNlbExhYmVsXCI6IFwiQW5udWxlclwiLFxuICAgICAgICAgICAgICAgICAgICBcImZyb21MYWJlbFwiOiBcIkR1XCIsXG4gICAgICAgICAgICAgICAgICAgIFwidG9MYWJlbFwiOiBcImF1XCIsXG4gICAgICAgICAgICAgICAgICAgIFwiY3VzdG9tUmFuZ2VMYWJlbFwiOiBcIkN1c3RvbVwiLFxuICAgICAgICAgICAgICAgICAgICBcImRheXNPZldlZWtcIjogW1wiRGlcIiwgXCJMdVwiLCBcIk1hXCIsIFwiTWVcIiwgXCJKZVwiLCBcIlZlXCIsIFwiU2FcIl0sXG4gICAgICAgICAgICAgICAgICAgIFwibW9udGhOYW1lc1wiOiBbXCJKYW52aWVyXCIsIFwiRsOpdnJpZXJcIiwgXCJNYXJzXCIsIFwiQXZyaWxcIiwgXCJNYWlcIiwgXCJKdWluXCIsIFwiSnVpbGxldFwiLCBcIkFvw7t0XCIsIFwiU2VwdGVtYnJlXCIsIFwiT2N0b2JyZVwiLCBcIk5vdmVtYnJlXCIsIFwiRMOpY2VtYnJlXCJdLFxuICAgICAgICAgICAgICAgICAgICBcImZpcnN0RGF5XCI6IDFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKCQocGlja2VyKS5oYXNDbGFzcygnZGF0ZS10aW1lLXJhbmdlJykpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zID0gT2JqZWN0LmFzc2lnbihvcHRpb25zLCB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVQaWNrZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHRpbWVQaWNrZXJJbmNyZW1lbnQ6IDMwLFxuICAgICAgICAgICAgICAgICAgICB0aW1lUGlja2VyMjRIb3VyOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBsb2NhbGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZm9ybWF0XCI6IFwiREQvTU0vWVlZWSBISDptbVwiLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoJChwaWNrZXIpLm5leHRBbGwoJy5kYXRlLXRpbWUtcmFuZ2UtZmllbGRzJykuZmluZCgnLmRhdGUtc3RhcnQnKS52YWwoKSkge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuc3RhcnREYXRlID0gbmV3IERhdGUoJChwaWNrZXIpLm5leHRBbGwoJy5kYXRlLXRpbWUtcmFuZ2UtZmllbGRzJykuZmluZCgnLmRhdGUtc3RhcnQnKS52YWwoKSk7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5hdXRvVXBkYXRlSW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCQocGlja2VyKS5uZXh0QWxsKCcuZGF0ZS10aW1lLXJhbmdlLWZpZWxkcycpLmZpbmQoJy5kYXRlLWVuZCcpLnZhbCgpKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy5lbmREYXRlID0gbmV3IERhdGUoJChwaWNrZXIpLm5leHRBbGwoJy5kYXRlLXRpbWUtcmFuZ2UtZmllbGRzJykuZmluZCgnLmRhdGUtZW5kJykudmFsKCkpO1xuICAgICAgICAgICAgICAgIG9wdGlvbnMuYXV0b1VwZGF0ZUlucHV0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICQocGlja2VyKS5kYXRlcmFuZ2VwaWNrZXIob3B0aW9ucyk7XG4gICAgICAgICAgICAkKHBpY2tlcikub24oJ2FwcGx5LmRhdGVyYW5nZXBpY2tlcicsIGZ1bmN0aW9uIChldiwgcGlja2VyRWxtKSB7XG4gICAgICAgICAgICAgICAgaWYgKCQocGlja2VyKS5oYXNDbGFzcygnZGF0ZS10aW1lLXJhbmdlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS52YWwocGlja2VyRWxtLnN0YXJ0RGF0ZS5mb3JtYXQoJ0REL01NL1lZIEhIOm1tJykgKyAnIC0gJyArIHBpY2tlckVsbS5lbmREYXRlLmZvcm1hdChvcHRpb25zLmxvY2FsZS5mb3JtYXQpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnZhbChwaWNrZXJFbG0uc3RhcnREYXRlLmZvcm1hdCgnREQvTU0vWVknKSArICcgLSAnICsgcGlja2VyRWxtLmVuZERhdGUuZm9ybWF0KG9wdGlvbnMubG9jYWxlLmZvcm1hdCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoJChwaWNrZXIpLmhhc0NsYXNzKCdkYXRlLXRpbWUtcmFuZ2UnKSkge1xuICAgICAgICAgICAgICAgICAgICAkKHBpY2tlcikubmV4dEFsbCgnLmRhdGUtdGltZS1yYW5nZS1maWVsZHMnKS5maW5kKCcuZGF0ZS1zdGFydCcpLnZhbChwaWNrZXJFbG0uc3RhcnREYXRlLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbScpKTtcbiAgICAgICAgICAgICAgICAgICAgJChwaWNrZXIpLm5leHRBbGwoJy5kYXRlLXRpbWUtcmFuZ2UtZmllbGRzJykuZmluZCgnLmRhdGUtZW5kJykudmFsKHBpY2tlckVsbS5lbmREYXRlLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbScpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAkKHBpY2tlcikubmV4dEFsbCgnLmRhdGUtdGltZS1yYW5nZS1maWVsZHMnKS5maW5kKCcuZGF0ZS1zdGFydCcpLnZhbChwaWNrZXJFbG0uc3RhcnREYXRlLmZvcm1hdCgnWVlZWS1NTS1ERCcpKTtcbiAgICAgICAgICAgICAgICAgICAgJChwaWNrZXIpLm5leHRBbGwoJy5kYXRlLXRpbWUtcmFuZ2UtZmllbGRzJykuZmluZCgnLmRhdGUtZW5kJykudmFsKHBpY2tlckVsbS5lbmREYXRlLmZvcm1hdCgnWVlZWS1NTS1ERCcpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3RhdGljIHNldEF1dG9Db21wbGV0ZUZpZWxkKCkge1xuICAgICAgICB2YXIgYXV0b2NvbXBsZXRlRmllbGRzID0gJCgnW2RhdGEtbGMtYXV0b2NvbXBsZXRlLXVybF0nKTtcbiAgICAgICAgYXV0b2NvbXBsZXRlRmllbGRzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSxcbiAgICAgICAgICAgICAgICB1cmwgPSAkdGhpcy5kYXRhKCdsYy1hdXRvY29tcGxldGUtdXJsJyk7XG5cbiAgICAgICAgICAgICR0aGlzLmF1dG9Db21wbGV0ZSh7XG4gICAgICAgICAgICAgICAgLy9ib290c3RyYXBWZXJzaW9uOiA0LFxuICAgICAgICAgICAgICAgIC8vbm9SZXN1bHRzVGV4dDogJ0F1Y3VuIHLDqXN1bHRhdCBuXFwnYSDDqXTDqSB0cm91dsOpLicsXG4gICAgICAgICAgICAgICAgcmVzb2x2ZXJTZXR0aW5nczoge1xuICAgICAgICAgICAgICAgICAgICB1cmw6IHVybFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgc2V0Q29sbGVjdGlvbldpZGdldCgpIHtcblxuICAgICAgICAkKCcuZmllbGQtY29sbGVjdGlvbltkYXRhLXByb3RvdHlwZV0nKS5lYWNoKGZ1bmN0aW9uIChpLCBjb2xsZWN0aW9uV2lkZ2V0KSB7XG4gICAgICAgICAgICBTb3ZXaWRnZXRDb2xsZWN0aW9uLnNldENvbGxlY3Rpb25XaWRnZXRTb3J0YWJsZSgkKGNvbGxlY3Rpb25XaWRnZXQpKTtcbiAgICAgICAgICAgIFNvdldpZGdldENvbGxlY3Rpb24ucmVpbmRleEtleUNvbGxlY3Rpb25XaWRnZXQoJChjb2xsZWN0aW9uV2lkZ2V0KSk7XG5cbiAgICAgICAgICAgIFNvdldpZGdldENvbGxlY3Rpb24uc2V0Q29sbGVjdGlvbldpZGdldEFkZCgkKGNvbGxlY3Rpb25XaWRnZXQpKTtcbiAgICAgICAgICAgIFNvdldpZGdldENvbGxlY3Rpb24uc2V0Q29sbGVjdGlvbldpZGdldERlbGV0ZSgkKGNvbGxlY3Rpb25XaWRnZXQpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG59XG4iLCJ2YXIgbWFwID0ge1xuXHRcIi4vYWZcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYWYuanNcIixcblx0XCIuL2FmLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2FmLmpzXCIsXG5cdFwiLi9hclwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9hci5qc1wiLFxuXHRcIi4vYXItZHpcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYXItZHouanNcIixcblx0XCIuL2FyLWR6LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2FyLWR6LmpzXCIsXG5cdFwiLi9hci1rd1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9hci1rdy5qc1wiLFxuXHRcIi4vYXIta3cuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYXIta3cuanNcIixcblx0XCIuL2FyLWx5XCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2FyLWx5LmpzXCIsXG5cdFwiLi9hci1seS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9hci1seS5qc1wiLFxuXHRcIi4vYXItbWFcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYXItbWEuanNcIixcblx0XCIuL2FyLW1hLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2FyLW1hLmpzXCIsXG5cdFwiLi9hci1zYVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9hci1zYS5qc1wiLFxuXHRcIi4vYXItc2EuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYXItc2EuanNcIixcblx0XCIuL2FyLXRuXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2FyLXRuLmpzXCIsXG5cdFwiLi9hci10bi5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9hci10bi5qc1wiLFxuXHRcIi4vYXIuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYXIuanNcIixcblx0XCIuL2F6XCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2F6LmpzXCIsXG5cdFwiLi9hei5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9hei5qc1wiLFxuXHRcIi4vYmVcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYmUuanNcIixcblx0XCIuL2JlLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2JlLmpzXCIsXG5cdFwiLi9iZ1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9iZy5qc1wiLFxuXHRcIi4vYmcuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYmcuanNcIixcblx0XCIuL2JtXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2JtLmpzXCIsXG5cdFwiLi9ibS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9ibS5qc1wiLFxuXHRcIi4vYm5cIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYm4uanNcIixcblx0XCIuL2JuLWJkXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2JuLWJkLmpzXCIsXG5cdFwiLi9ibi1iZC5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9ibi1iZC5qc1wiLFxuXHRcIi4vYm4uanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYm4uanNcIixcblx0XCIuL2JvXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2JvLmpzXCIsXG5cdFwiLi9iby5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9iby5qc1wiLFxuXHRcIi4vYnJcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYnIuanNcIixcblx0XCIuL2JyLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2JyLmpzXCIsXG5cdFwiLi9ic1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9icy5qc1wiLFxuXHRcIi4vYnMuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvYnMuanNcIixcblx0XCIuL2NhXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2NhLmpzXCIsXG5cdFwiLi9jYS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9jYS5qc1wiLFxuXHRcIi4vY3NcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvY3MuanNcIixcblx0XCIuL2NzLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2NzLmpzXCIsXG5cdFwiLi9jdlwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9jdi5qc1wiLFxuXHRcIi4vY3YuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvY3YuanNcIixcblx0XCIuL2N5XCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2N5LmpzXCIsXG5cdFwiLi9jeS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9jeS5qc1wiLFxuXHRcIi4vZGFcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZGEuanNcIixcblx0XCIuL2RhLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2RhLmpzXCIsXG5cdFwiLi9kZVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9kZS5qc1wiLFxuXHRcIi4vZGUtYXRcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZGUtYXQuanNcIixcblx0XCIuL2RlLWF0LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2RlLWF0LmpzXCIsXG5cdFwiLi9kZS1jaFwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9kZS1jaC5qc1wiLFxuXHRcIi4vZGUtY2guanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZGUtY2guanNcIixcblx0XCIuL2RlLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2RlLmpzXCIsXG5cdFwiLi9kdlwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9kdi5qc1wiLFxuXHRcIi4vZHYuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZHYuanNcIixcblx0XCIuL2VsXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VsLmpzXCIsXG5cdFwiLi9lbC5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9lbC5qc1wiLFxuXHRcIi4vZW4tYXVcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZW4tYXUuanNcIixcblx0XCIuL2VuLWF1LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VuLWF1LmpzXCIsXG5cdFwiLi9lbi1jYVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9lbi1jYS5qc1wiLFxuXHRcIi4vZW4tY2EuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZW4tY2EuanNcIixcblx0XCIuL2VuLWdiXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VuLWdiLmpzXCIsXG5cdFwiLi9lbi1nYi5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9lbi1nYi5qc1wiLFxuXHRcIi4vZW4taWVcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZW4taWUuanNcIixcblx0XCIuL2VuLWllLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VuLWllLmpzXCIsXG5cdFwiLi9lbi1pbFwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9lbi1pbC5qc1wiLFxuXHRcIi4vZW4taWwuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZW4taWwuanNcIixcblx0XCIuL2VuLWluXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VuLWluLmpzXCIsXG5cdFwiLi9lbi1pbi5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9lbi1pbi5qc1wiLFxuXHRcIi4vZW4tbnpcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZW4tbnouanNcIixcblx0XCIuL2VuLW56LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VuLW56LmpzXCIsXG5cdFwiLi9lbi1zZ1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9lbi1zZy5qc1wiLFxuXHRcIi4vZW4tc2cuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZW4tc2cuanNcIixcblx0XCIuL2VvXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VvLmpzXCIsXG5cdFwiLi9lby5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9lby5qc1wiLFxuXHRcIi4vZXNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZXMuanNcIixcblx0XCIuL2VzLWRvXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VzLWRvLmpzXCIsXG5cdFwiLi9lcy1kby5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9lcy1kby5qc1wiLFxuXHRcIi4vZXMtbXhcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZXMtbXguanNcIixcblx0XCIuL2VzLW14LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VzLW14LmpzXCIsXG5cdFwiLi9lcy11c1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9lcy11cy5qc1wiLFxuXHRcIi4vZXMtdXMuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZXMtdXMuanNcIixcblx0XCIuL2VzLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2VzLmpzXCIsXG5cdFwiLi9ldFwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9ldC5qc1wiLFxuXHRcIi4vZXQuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZXQuanNcIixcblx0XCIuL2V1XCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2V1LmpzXCIsXG5cdFwiLi9ldS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9ldS5qc1wiLFxuXHRcIi4vZmFcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZmEuanNcIixcblx0XCIuL2ZhLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2ZhLmpzXCIsXG5cdFwiLi9maVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9maS5qc1wiLFxuXHRcIi4vZmkuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZmkuanNcIixcblx0XCIuL2ZpbFwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9maWwuanNcIixcblx0XCIuL2ZpbC5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9maWwuanNcIixcblx0XCIuL2ZvXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2ZvLmpzXCIsXG5cdFwiLi9mby5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9mby5qc1wiLFxuXHRcIi4vZnJcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZnIuanNcIixcblx0XCIuL2ZyLWNhXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2ZyLWNhLmpzXCIsXG5cdFwiLi9mci1jYS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9mci1jYS5qc1wiLFxuXHRcIi4vZnItY2hcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZnItY2guanNcIixcblx0XCIuL2ZyLWNoLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2ZyLWNoLmpzXCIsXG5cdFwiLi9mci5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9mci5qc1wiLFxuXHRcIi4vZnlcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZnkuanNcIixcblx0XCIuL2Z5LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2Z5LmpzXCIsXG5cdFwiLi9nYVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9nYS5qc1wiLFxuXHRcIi4vZ2EuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZ2EuanNcIixcblx0XCIuL2dkXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2dkLmpzXCIsXG5cdFwiLi9nZC5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9nZC5qc1wiLFxuXHRcIi4vZ2xcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZ2wuanNcIixcblx0XCIuL2dsLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2dsLmpzXCIsXG5cdFwiLi9nb20tZGV2YVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9nb20tZGV2YS5qc1wiLFxuXHRcIi4vZ29tLWRldmEuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZ29tLWRldmEuanNcIixcblx0XCIuL2dvbS1sYXRuXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2dvbS1sYXRuLmpzXCIsXG5cdFwiLi9nb20tbGF0bi5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9nb20tbGF0bi5qc1wiLFxuXHRcIi4vZ3VcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvZ3UuanNcIixcblx0XCIuL2d1LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2d1LmpzXCIsXG5cdFwiLi9oZVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9oZS5qc1wiLFxuXHRcIi4vaGUuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvaGUuanNcIixcblx0XCIuL2hpXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2hpLmpzXCIsXG5cdFwiLi9oaS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9oaS5qc1wiLFxuXHRcIi4vaHJcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvaHIuanNcIixcblx0XCIuL2hyLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2hyLmpzXCIsXG5cdFwiLi9odVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9odS5qc1wiLFxuXHRcIi4vaHUuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvaHUuanNcIixcblx0XCIuL2h5LWFtXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2h5LWFtLmpzXCIsXG5cdFwiLi9oeS1hbS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9oeS1hbS5qc1wiLFxuXHRcIi4vaWRcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvaWQuanNcIixcblx0XCIuL2lkLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2lkLmpzXCIsXG5cdFwiLi9pc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9pcy5qc1wiLFxuXHRcIi4vaXMuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvaXMuanNcIixcblx0XCIuL2l0XCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2l0LmpzXCIsXG5cdFwiLi9pdC1jaFwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9pdC1jaC5qc1wiLFxuXHRcIi4vaXQtY2guanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvaXQtY2guanNcIixcblx0XCIuL2l0LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2l0LmpzXCIsXG5cdFwiLi9qYVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9qYS5qc1wiLFxuXHRcIi4vamEuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvamEuanNcIixcblx0XCIuL2p2XCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2p2LmpzXCIsXG5cdFwiLi9qdi5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9qdi5qc1wiLFxuXHRcIi4va2FcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUva2EuanNcIixcblx0XCIuL2thLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2thLmpzXCIsXG5cdFwiLi9ra1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9ray5qc1wiLFxuXHRcIi4va2suanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUva2suanNcIixcblx0XCIuL2ttXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2ttLmpzXCIsXG5cdFwiLi9rbS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9rbS5qc1wiLFxuXHRcIi4va25cIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUva24uanNcIixcblx0XCIuL2tuLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2tuLmpzXCIsXG5cdFwiLi9rb1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9rby5qc1wiLFxuXHRcIi4va28uanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUva28uanNcIixcblx0XCIuL2t1XCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2t1LmpzXCIsXG5cdFwiLi9rdS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9rdS5qc1wiLFxuXHRcIi4va3lcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUva3kuanNcIixcblx0XCIuL2t5LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2t5LmpzXCIsXG5cdFwiLi9sYlwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9sYi5qc1wiLFxuXHRcIi4vbGIuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbGIuanNcIixcblx0XCIuL2xvXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2xvLmpzXCIsXG5cdFwiLi9sby5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9sby5qc1wiLFxuXHRcIi4vbHRcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbHQuanNcIixcblx0XCIuL2x0LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL2x0LmpzXCIsXG5cdFwiLi9sdlwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9sdi5qc1wiLFxuXHRcIi4vbHYuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbHYuanNcIixcblx0XCIuL21lXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL21lLmpzXCIsXG5cdFwiLi9tZS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9tZS5qc1wiLFxuXHRcIi4vbWlcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbWkuanNcIixcblx0XCIuL21pLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL21pLmpzXCIsXG5cdFwiLi9ta1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9tay5qc1wiLFxuXHRcIi4vbWsuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbWsuanNcIixcblx0XCIuL21sXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL21sLmpzXCIsXG5cdFwiLi9tbC5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9tbC5qc1wiLFxuXHRcIi4vbW5cIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbW4uanNcIixcblx0XCIuL21uLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL21uLmpzXCIsXG5cdFwiLi9tclwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9tci5qc1wiLFxuXHRcIi4vbXIuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbXIuanNcIixcblx0XCIuL21zXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL21zLmpzXCIsXG5cdFwiLi9tcy1teVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9tcy1teS5qc1wiLFxuXHRcIi4vbXMtbXkuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbXMtbXkuanNcIixcblx0XCIuL21zLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL21zLmpzXCIsXG5cdFwiLi9tdFwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9tdC5qc1wiLFxuXHRcIi4vbXQuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbXQuanNcIixcblx0XCIuL215XCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL215LmpzXCIsXG5cdFwiLi9teS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9teS5qc1wiLFxuXHRcIi4vbmJcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbmIuanNcIixcblx0XCIuL25iLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL25iLmpzXCIsXG5cdFwiLi9uZVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9uZS5qc1wiLFxuXHRcIi4vbmUuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbmUuanNcIixcblx0XCIuL25sXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL25sLmpzXCIsXG5cdFwiLi9ubC1iZVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9ubC1iZS5qc1wiLFxuXHRcIi4vbmwtYmUuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbmwtYmUuanNcIixcblx0XCIuL25sLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL25sLmpzXCIsXG5cdFwiLi9ublwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9ubi5qc1wiLFxuXHRcIi4vbm4uanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvbm4uanNcIixcblx0XCIuL29jLWxuY1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9vYy1sbmMuanNcIixcblx0XCIuL29jLWxuYy5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9vYy1sbmMuanNcIixcblx0XCIuL3BhLWluXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3BhLWluLmpzXCIsXG5cdFwiLi9wYS1pbi5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9wYS1pbi5qc1wiLFxuXHRcIi4vcGxcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvcGwuanNcIixcblx0XCIuL3BsLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3BsLmpzXCIsXG5cdFwiLi9wdFwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9wdC5qc1wiLFxuXHRcIi4vcHQtYnJcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvcHQtYnIuanNcIixcblx0XCIuL3B0LWJyLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3B0LWJyLmpzXCIsXG5cdFwiLi9wdC5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9wdC5qc1wiLFxuXHRcIi4vcm9cIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvcm8uanNcIixcblx0XCIuL3JvLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3JvLmpzXCIsXG5cdFwiLi9ydVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9ydS5qc1wiLFxuXHRcIi4vcnUuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvcnUuanNcIixcblx0XCIuL3NkXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3NkLmpzXCIsXG5cdFwiLi9zZC5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9zZC5qc1wiLFxuXHRcIi4vc2VcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvc2UuanNcIixcblx0XCIuL3NlLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3NlLmpzXCIsXG5cdFwiLi9zaVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9zaS5qc1wiLFxuXHRcIi4vc2kuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvc2kuanNcIixcblx0XCIuL3NrXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3NrLmpzXCIsXG5cdFwiLi9zay5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9zay5qc1wiLFxuXHRcIi4vc2xcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvc2wuanNcIixcblx0XCIuL3NsLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3NsLmpzXCIsXG5cdFwiLi9zcVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9zcS5qc1wiLFxuXHRcIi4vc3EuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvc3EuanNcIixcblx0XCIuL3NyXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3NyLmpzXCIsXG5cdFwiLi9zci1jeXJsXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3NyLWN5cmwuanNcIixcblx0XCIuL3NyLWN5cmwuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvc3ItY3lybC5qc1wiLFxuXHRcIi4vc3IuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvc3IuanNcIixcblx0XCIuL3NzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3NzLmpzXCIsXG5cdFwiLi9zcy5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9zcy5qc1wiLFxuXHRcIi4vc3ZcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvc3YuanNcIixcblx0XCIuL3N2LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3N2LmpzXCIsXG5cdFwiLi9zd1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS9zdy5qc1wiLFxuXHRcIi4vc3cuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvc3cuanNcIixcblx0XCIuL3RhXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3RhLmpzXCIsXG5cdFwiLi90YS5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS90YS5qc1wiLFxuXHRcIi4vdGVcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdGUuanNcIixcblx0XCIuL3RlLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3RlLmpzXCIsXG5cdFwiLi90ZXRcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdGV0LmpzXCIsXG5cdFwiLi90ZXQuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdGV0LmpzXCIsXG5cdFwiLi90Z1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS90Zy5qc1wiLFxuXHRcIi4vdGcuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdGcuanNcIixcblx0XCIuL3RoXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3RoLmpzXCIsXG5cdFwiLi90aC5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS90aC5qc1wiLFxuXHRcIi4vdGtcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdGsuanNcIixcblx0XCIuL3RrLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3RrLmpzXCIsXG5cdFwiLi90bC1waFwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS90bC1waC5qc1wiLFxuXHRcIi4vdGwtcGguanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdGwtcGguanNcIixcblx0XCIuL3RsaFwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS90bGguanNcIixcblx0XCIuL3RsaC5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS90bGguanNcIixcblx0XCIuL3RyXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3RyLmpzXCIsXG5cdFwiLi90ci5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS90ci5qc1wiLFxuXHRcIi4vdHpsXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3R6bC5qc1wiLFxuXHRcIi4vdHpsLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3R6bC5qc1wiLFxuXHRcIi4vdHptXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3R6bS5qc1wiLFxuXHRcIi4vdHptLWxhdG5cIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdHptLWxhdG4uanNcIixcblx0XCIuL3R6bS1sYXRuLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3R6bS1sYXRuLmpzXCIsXG5cdFwiLi90em0uanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdHptLmpzXCIsXG5cdFwiLi91Zy1jblwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS91Zy1jbi5qc1wiLFxuXHRcIi4vdWctY24uanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdWctY24uanNcIixcblx0XCIuL3VrXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3VrLmpzXCIsXG5cdFwiLi91ay5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS91ay5qc1wiLFxuXHRcIi4vdXJcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdXIuanNcIixcblx0XCIuL3VyLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3VyLmpzXCIsXG5cdFwiLi91elwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS91ei5qc1wiLFxuXHRcIi4vdXotbGF0blwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS91ei1sYXRuLmpzXCIsXG5cdFwiLi91ei1sYXRuLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3V6LWxhdG4uanNcIixcblx0XCIuL3V6LmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3V6LmpzXCIsXG5cdFwiLi92aVwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS92aS5qc1wiLFxuXHRcIi4vdmkuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvdmkuanNcIixcblx0XCIuL3gtcHNldWRvXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3gtcHNldWRvLmpzXCIsXG5cdFwiLi94LXBzZXVkby5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS94LXBzZXVkby5qc1wiLFxuXHRcIi4veW9cIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUveW8uanNcIixcblx0XCIuL3lvLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3lvLmpzXCIsXG5cdFwiLi96aC1jblwiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS96aC1jbi5qc1wiLFxuXHRcIi4vemgtY24uanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvemgtY24uanNcIixcblx0XCIuL3poLWhrXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3poLWhrLmpzXCIsXG5cdFwiLi96aC1oay5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS96aC1oay5qc1wiLFxuXHRcIi4vemgtbW9cIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvemgtbW8uanNcIixcblx0XCIuL3poLW1vLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlL3poLW1vLmpzXCIsXG5cdFwiLi96aC10d1wiOiBcIi4vbm9kZV9tb2R1bGVzL21vbWVudC9kaXN0L2xvY2FsZS96aC10dy5qc1wiLFxuXHRcIi4vemgtdHcuanNcIjogXCIuL25vZGVfbW9kdWxlcy9tb21lbnQvZGlzdC9sb2NhbGUvemgtdHcuanNcIlxufTtcblxuXG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dChyZXEpIHtcblx0dmFyIGlkID0gd2VicGFja0NvbnRleHRSZXNvbHZlKHJlcSk7XG5cdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKGlkKTtcbn1cbmZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpIHtcblx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhtYXAsIHJlcSkpIHtcblx0XHR2YXIgZSA9IG5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIgKyByZXEgKyBcIidcIik7XG5cdFx0ZS5jb2RlID0gJ01PRFVMRV9OT1RfRk9VTkQnO1xuXHRcdHRocm93IGU7XG5cdH1cblx0cmV0dXJuIG1hcFtyZXFdO1xufVxud2VicGFja0NvbnRleHQua2V5cyA9IGZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0S2V5cygpIHtcblx0cmV0dXJuIE9iamVjdC5rZXlzKG1hcCk7XG59O1xud2VicGFja0NvbnRleHQucmVzb2x2ZSA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZTtcbm1vZHVsZS5leHBvcnRzID0gd2VicGFja0NvbnRleHQ7XG53ZWJwYWNrQ29udGV4dC5pZCA9IFwiLi9ub2RlX21vZHVsZXMvbW9tZW50L2Rpc3QvbG9jYWxlIHN5bmMgcmVjdXJzaXZlIF5cXFxcLlxcXFwvLiokXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==