(self["webpackChunk"] = self["webpackChunk"] || []).push([["app"],{ /***/ "./assets/controllers sync recursive ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js! \\.[jt]sx?$": /*!****************************************************************************************************************!*\ !*** ./assets/controllers/ sync ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js! \.[jt]sx?$ ***! \****************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var map = { "./hello_controller.js": "./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js!./assets/controllers/hello_controller.js" }; function webpackContext(req) { var id = webpackContextResolve(req); return __webpack_require__(id); } function webpackContextResolve(req) { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } return map[req]; } webpackContext.keys = function webpackContextKeys() { return Object.keys(map); }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; webpackContext.id = "./assets/controllers sync recursive ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js! \\.[jt]sx?$"; /***/ }), /***/ "./node_modules/@symfony/stimulus-bridge/dist/webpack/loader.js!./assets/controllers.json": /*!************************************************************************************************!*\ !*** ./node_modules/@symfony/stimulus-bridge/dist/webpack/loader.js!./assets/controllers.json ***! \************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ }); /***/ }), /***/ "./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js!./assets/controllers/hello_controller.js": /*!******************************************************************************************************************!*\ !*** ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js!./assets/controllers/hello_controller.js ***! \******************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ _default) /* harmony export */ }); /* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.set-prototype-of.js */ "./node_modules/core-js/modules/es.object.set-prototype-of.js"); /* harmony import */ var core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_set_prototype_of_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_es_function_bind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.function.bind.js */ "./node_modules/core-js/modules/es.function.bind.js"); /* harmony import */ var core_js_modules_es_function_bind_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_bind_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.object.get-prototype-of.js */ "./node_modules/core-js/modules/es.object.get-prototype-of.js"); /* harmony import */ var core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_prototype_of_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js"); /* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_es_reflect_to_string_tag_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.reflect.to-string-tag.js */ "./node_modules/core-js/modules/es.reflect.to-string-tag.js"); /* harmony import */ var core_js_modules_es_reflect_to_string_tag_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_to_string_tag_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.reflect.construct.js */ "./node_modules/core-js/modules/es.reflect.construct.js"); /* harmony import */ var core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_reflect_construct_js__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ "./node_modules/core-js/modules/es.error.cause.js"); /* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.error.to-string.js */ "./node_modules/core-js/modules/es.error.to-string.js"); /* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.object.create.js */ "./node_modules/core-js/modules/es.object.create.js"); /* harmony import */ var core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_create_js__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js"); /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js"); /* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/es.symbol.description.js */ "./node_modules/core-js/modules/es.symbol.description.js"); /* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_11__); /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! core-js/modules/es.symbol.iterator.js */ "./node_modules/core-js/modules/es.symbol.iterator.js"); /* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_12__); /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! core-js/modules/es.array.iterator.js */ "./node_modules/core-js/modules/es.array.iterator.js"); /* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_13__); /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! core-js/modules/es.string.iterator.js */ "./node_modules/core-js/modules/es.string.iterator.js"); /* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_14__); /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator.js */ "./node_modules/core-js/modules/web.dom-collections.iterator.js"); /* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_15__); /* harmony import */ var _hotwired_stimulus__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @hotwired/stimulus */ "./node_modules/@hotwired/stimulus/dist/stimulus.js"); function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 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); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } /* * This is an example Stimulus controller! * * Any element with a data-controller="hello" attribute will cause * this controller to be executed. The name "hello" comes from the filename: * hello_controller.js -> "hello" * * Delete this file or adapt it for your use! */ var _default = /*#__PURE__*/function (_Controller) { _inherits(_default, _Controller); var _super = _createSuper(_default); function _default() { _classCallCheck(this, _default); return _super.apply(this, arguments); } _createClass(_default, [{ key: "connect", value: function connect() { this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js'; } }]); return _default; }(_hotwired_stimulus__WEBPACK_IMPORTED_MODULE_16__.Controller); /***/ }), /***/ "./assets/app.js": /*!***********************!*\ !*** ./assets/app.js ***! \***********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.timers.js */ "./node_modules/core-js/modules/web.timers.js"); /* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _js_getCodeBarre__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./js/getCodeBarre */ "./assets/js/getCodeBarre.js"); /* harmony import */ var _bootstrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./bootstrap */ "./assets/bootstrap.js"); /* provided dependency */ var $ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); /* * Welcome to your app's main JavaScript file! * * We recommend including the built version of this JavaScript file * (and its CSS file) in your base layout (base.html.twig). */ // any CSS you import will output into a single css file (app.css in this case) // start the Stimulus application $(document).ready(function () { setTimeout(function () { // utils.init(); _js_getCodeBarre__WEBPACK_IMPORTED_MODULE_2__["default"].init(); }, 200); }); /***/ }), /***/ "./assets/bootstrap.js": /*!*****************************!*\ !*** ./assets/bootstrap.js ***! \*****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "app": () => (/* binding */ app) /* harmony export */ }); /* harmony import */ var _symfony_stimulus_bridge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @symfony/stimulus-bridge */ "./node_modules/@symfony/stimulus-bridge/dist/index.js"); // Registers Stimulus controllers from controllers.json and in the controllers/ directory var app = (0,_symfony_stimulus_bridge__WEBPACK_IMPORTED_MODULE_0__.startStimulusApp)(__webpack_require__("./assets/controllers sync recursive ./node_modules/@symfony/stimulus-bridge/lazy-controller-loader.js! \\.[jt]sx?$")); // register any custom, 3rd party controllers here // app.register('some_controller_name', SomeImportedController); /***/ }), /***/ "./assets/js/getCodeBarre.js": /*!***********************************!*\ !*** ./assets/js/getCodeBarre.js ***! \***********************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ GetEvent) /* harmony export */ }); /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ "./node_modules/core-js/modules/es.date.to-string.js"); /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/web.timers.js */ "./node_modules/core-js/modules/web.timers.js"); /* harmony import */ var core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_1__); /* 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"); /* 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__); /* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ "./node_modules/core-js/modules/es.error.cause.js"); /* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.error.to-string.js */ "./node_modules/core-js/modules/es.error.to-string.js"); /* harmony import */ var core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_to_string_js__WEBPACK_IMPORTED_MODULE_4__); /* provided dependency */ var $ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 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); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } var GetEvent = /*#__PURE__*/function () { function GetEvent() { _classCallCheck(this, GetEvent); } _createClass(GetEvent, null, [{ key: "init", value: function init() { this.getEvent(); } }, { key: "getEvent", value: function getEvent() { var saisie = $('#saisie'); saisie.focus(); var value; var $info = $('.info'); var $infoDon = $('#info-don'); var $infoDonneur = $('#info-donneur'); var $infoPsl = $('#info-psl'); var $don = $('#don'); var $nom = $('#nom'); var $prenom = $('#prenom'); var $naissance = $('#naissance'); var $typeDon = $('#typeDon'); var $typePoche = $('#typePoche'); var $nbreTube = $('#nbreTube'); var $step = $('#step'); var $indication = $('#indication'); var $evolution = $('#evolution'); var $label = $('#label'); var $type = $('#type'); var $current = $('#current'); var $todo = $('#todo'); var $picturePoche = $('#picturePoche'); var $pictureTube = $('#pictureTube'); var $input = $('#inputRange'); var $displayError = $('.error'); var $displaySuccess = $('.displaySuccess'); document.addEventListener('keydown', function (event) { saisie.focus(); if (event.code == 'Tab') { value = saisie.val(); saisie.val(''); $.ajax({ url: '/api/get-code-barre-type', method: "POST", dataType: "json", data: { 'codeBarre': value }, success: function success(response) { console.log(response.data); switch (response.data.step) { case '0': if (response.data.status == 'success') { $don.html(response.data.codeBarre); $nom.html(response.data.nom); $prenom.html(response.data.prenom); $naissance.html(new Date(response.data.birthdate).toLocaleDateString()); $typeDon.html(response.data.type_don); $nbreTube.html(response.data.nbre_tube); $step.html('Pour passer à la suite'); $indication.html('Scannez le DMU'); $pictureTube.css('display', 'none'); $picturePoche.css('display', 'flex'); $info.css('visibility', 'visible'); saisie.focus(); } if (response.data.status == 'init') { $don.html(response.data.codeBarre); $nom.html(response.data.nom); $prenom.html(response.data.prenom); $naissance.html(new Date(response.data.birthdate).toLocaleDateString()); $typeDon.html(response.data.type_don); $nbreTube.html(response.data.nbre_tube); $step.html('Pour passer à la suite'); $indication.html('Scannez le DMU'); $typePoche.html(''); $info.css('visibility', 'visible'); $evolution.css('visibility', 'hidden'); saisie.focus(); } if (response.data.status == 'error') { saisie.focus(); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); } break; case '1': if (response.data.status == 'success') { $typePoche.html(response.data.nbre_poche); $step.html('ETAPE 1 / 2'); $indication.html('Scannez les étiquettes des poches'); saisie.focus(); $evolution.css('visibility', 'visible'); } if (response.data.status == 'error_donneur') { $displayError.html('erreur donneur'); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); saisie.focus(); } if (response.data.status == 'error_doublon') { $displayError.html('erreur doublon'); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); saisie.focus(); } case '2': if (response.data.status == 'success') { $typePoche.html(response.data.nbre_poche); console.log(response.data.nbre_poche); $current.html(response.data.nbre_poche); $type.html('Poches'); $todo.html(response.data.nbre_poche_max); $input.attr('max', response.data.nbre_poche_max); $input.attr('value', response.data.nbre_poche); if (response.data.nbre_poche != response.data.nbre_poche_max) { $picturePoche.append('
'); } saisie.focus(); } if (response.data.status == 'final') { $typePoche.html(response.data.nbre_poche); console.log(response.data.nbre_poche); $current.html(response.data.nbre_poche); $input.attr('max', response.data.nbre_poche_max); $input.attr('value', response.data.nbre_poche); console.log('valider avec un scan de poche!'); $indication.html('valider avec un scan de poche!'); $picturePoche.append(''); saisie.focus(); } if (response.data.status == 'error_scan') { $displayError.html("Mauvais type d'étiquette"); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); saisie.focus(); } if (response.data.status == 'error_doublon') { $displayError.html('Etiquette déjà scannée'); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); saisie.focus(); } if (response.data.status == 'error_donneur') { $displayError.html('Ne correspond pas au donneur'); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); saisie.focus(); } break; case '3': if (response.data.status == "success") { $picturePoche.css('display', 'none'); $pictureTube.css('display', 'flex'); console.log('valider avec un scan de poche!'); $indication.html('Scannez les étiquettes de tubes!'); $input.attr('max', response.data.nbre_tube_max); $todo.html(response.data.nbre_tube_max); $input.attr('value', response.data.nbre_tube_max); $current.html(response.data.nbre_tube_max); $type.html('Tubes'); console.log("on passe aux tubes"); } if (response.data.status == "error_scan") { $displayError.html("Mauvais type d'étiquette"); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); } break; case '4': if (response.data.status == 'success') { $step.html('ETAPE 2 / 2'); $nbreTube.html(response.data.nbre_tube); $current.html(response.data.nbre_tube); $input.attr('max', response.data.nbre_tube_max); $type.html('Tubes'); $todo.html(response.data.nbre_tube_max); $input.attr('value', response.data.nbre_tube); $pictureTube.append(''); saisie.focus(); console.log(response.data.nbre_poche); } if (response.data.status == 'final') { $nbreTube.html(response.data.nbre_tube); $current.html(response.data.nbre_tube); $input.attr('max', response.data.nbre_tube_max); $type.html('Tubes'); $todo.html(response.data.nbre_tube_max); $input.attr('value', response.data.nbre_tube); $pictureTube.append(''); $displaySuccess.css('display', 'flex'); setTimeout(function () { $displaySuccess.css('display', 'none'); }, 5000); saisie.focus(); console.log(response.data.nbre_poche); } if (response.data.status == 'error_scan') { $displayError.html("Mauvais type d'étiquette"); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); saisie.focus(); } if (response.data.status == 'error_doublon') { $displayError.html('Etiquette déjà scannée'); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); saisie.focus(); } if (response.data.status == 'error_donneur') { $displayError.html('Ne correspond pas au donneur'); $displayError.css('display', "flex"); setTimeout(function () { $displayError.css('display', 'none'); }, 5000); saisie.focus(); } break; } } }); } }); } }]); return GetEvent; }(); /***/ }) }, /******/ __webpack_require__ => { // webpackRuntimeModules /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) /******/ __webpack_require__.O(0, ["vendors-node_modules_symfony_stimulus-bridge_dist_index_js-node_modules_core-js_modules_es_da-7a184a"], () => (__webpack_exec__("./assets/app.js"))); /******/ var __webpack_exports__ = __webpack_require__.O(); /******/ } ]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,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QixhQUFhLENBQUMwQixHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztvQkFDcEN6RCxVQUFVLENBQUMsWUFBTTtzQkFDYitCLGFBQWEsQ0FBQzBCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO29CQUN4QyxDQUFDLEVBQUUsSUFBSSxDQUFDO29CQUNSbEQsTUFBTSxDQUFDQyxLQUFLLEVBQUU7a0JBRWxCO2tCQUNBLElBQUdtQyxRQUFRLENBQUNGLElBQUksQ0FBQ00sTUFBTSxJQUFJLGVBQWUsRUFBQztvQkFFdkNoQixhQUFhLENBQUNpQixJQUFJLENBQUMsOEJBQThCLENBQUM7b0JBQ2xEakIsYUFBYSxDQUFDMEIsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7b0JBQ3BDekQsVUFBVSxDQUFDLFlBQU07c0JBQ2IrQixhQUFhLENBQUMwQixHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztvQkFDeEMsQ0FBQyxFQUFFLElBQUksQ0FBQztvQkFDUmxELE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO2tCQUVsQjtrQkFDQTtjQUFNO1lBRWxCO1VBRUosQ0FBQyxDQUFDO1FBQ047TUFDSixDQUFDLENBQUM7SUFDTjtFQUFDO0VBQUE7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8gXFwuW2p0XXN4Iiwid2VicGFjazovLy8uL2Fzc2V0cy9jb250cm9sbGVycy5qc29uIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb250cm9sbGVycy9oZWxsb19jb250cm9sbGVyLmpzIiwid2VicGFjazovLy8uL2Fzc2V0cy9hcHAuanMiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Jvb3RzdHJhcC5qcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvZ2V0Q29kZUJhcnJlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBtYXAgPSB7XG5cdFwiLi9oZWxsb19jb250cm9sbGVyLmpzXCI6IFwiLi9ub2RlX21vZHVsZXMvQHN5bWZvbnkvc3RpbXVsdXMtYnJpZGdlL2xhenktY29udHJvbGxlci1sb2FkZXIuanMhLi9hc3NldHMvY29udHJvbGxlcnMvaGVsbG9fY29udHJvbGxlci5qc1wiXG59O1xuXG5cbmZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0KHJlcSkge1xuXHR2YXIgaWQgPSB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKTtcblx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oaWQpO1xufVxuZnVuY3Rpb24gd2VicGFja0NvbnRleHRSZXNvbHZlKHJlcSkge1xuXHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1hcCwgcmVxKSkge1xuXHRcdHZhciBlID0gbmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIiArIHJlcSArIFwiJ1wiKTtcblx0XHRlLmNvZGUgPSAnTU9EVUxFX05PVF9GT1VORCc7XG5cdFx0dGhyb3cgZTtcblx0fVxuXHRyZXR1cm4gbWFwW3JlcV07XG59XG53ZWJwYWNrQ29udGV4dC5rZXlzID0gZnVuY3Rpb24gd2VicGFja0NvbnRleHRLZXlzKCkge1xuXHRyZXR1cm4gT2JqZWN0LmtleXMobWFwKTtcbn07XG53ZWJwYWNrQ29udGV4dC5yZXNvbHZlID0gd2VicGFja0NvbnRleHRSZXNvbHZlO1xubW9kdWxlLmV4cG9ydHMgPSB3ZWJwYWNrQ29udGV4dDtcbndlYnBhY2tDb250ZXh0LmlkID0gXCIuL2Fzc2V0cy9jb250cm9sbGVycyBzeW5jIHJlY3Vyc2l2ZSAuL25vZGVfbW9kdWxlcy9Ac3ltZm9ueS9zdGltdWx1cy1icmlkZ2UvbGF6eS1jb250cm9sbGVyLWxvYWRlci5qcyEgXFxcXC5banRdc3g/JFwiOyIsImV4cG9ydCBkZWZhdWx0IHtcbn07IiwiaW1wb3J0IHsgQ29udHJvbGxlciB9IGZyb20gJ0Bob3R3aXJlZC9zdGltdWx1cyc7XG5cbi8qXG4gKiBUaGlzIGlzIGFuIGV4YW1wbGUgU3RpbXVsdXMgY29udHJvbGxlciFcbiAqXG4gKiBBbnkgZWxlbWVudCB3aXRoIGEgZGF0YS1jb250cm9sbGVyPVwiaGVsbG9cIiBhdHRyaWJ1dGUgd2lsbCBjYXVzZVxuICogdGhpcyBjb250cm9sbGVyIHRvIGJlIGV4ZWN1dGVkLiBUaGUgbmFtZSBcImhlbGxvXCIgY29tZXMgZnJvbSB0aGUgZmlsZW5hbWU6XG4gKiBoZWxsb19jb250cm9sbGVyLmpzIC0+IFwiaGVsbG9cIlxuICpcbiAqIERlbGV0ZSB0aGlzIGZpbGUgb3IgYWRhcHQgaXQgZm9yIHlvdXIgdXNlIVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBleHRlbmRzIENvbnRyb2xsZXIge1xuICAgIGNvbm5lY3QoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudC50ZXh0Q29udGVudCA9ICdIZWxsbyBTdGltdWx1cyEgRWRpdCBtZSBpbiBhc3NldHMvY29udHJvbGxlcnMvaGVsbG9fY29udHJvbGxlci5qcyc7XG4gICAgfVxufVxuIiwiLypcbiAqIFdlbGNvbWUgdG8geW91ciBhcHAncyBtYWluIEphdmFTY3JpcHQgZmlsZSFcbiAqXG4gKiBXZSByZWNvbW1lbmQgaW5jbHVkaW5nIHRoZSBidWlsdCB2ZXJzaW9uIG9mIHRoaXMgSmF2YVNjcmlwdCBmaWxlXG4gKiAoYW5kIGl0cyBDU1MgZmlsZSkgaW4geW91ciBiYXNlIGxheW91dCAoYmFzZS5odG1sLnR3aWcpLlxuICovXG5cbi8vIGFueSBDU1MgeW91IGltcG9ydCB3aWxsIG91dHB1dCBpbnRvIGEgc2luZ2xlIGNzcyBmaWxlIChhcHAuY3NzIGluIHRoaXMgY2FzZSlcbmltcG9ydCAnanF1ZXJ5Jztcbi8vIHN0YXJ0IHRoZSBTdGltdWx1cyBhcHBsaWNhdGlvblxuaW1wb3J0IEdldEV2ZW50IGZyb20gJy4vanMvZ2V0Q29kZUJhcnJlJztcbmltcG9ydCAnLi9ib290c3RyYXAnO1xuXG4kKGRvY3VtZW50KS5yZWFkeSgoKT0+e1xuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgLy8gdXRpbHMuaW5pdCgpO1xuICAgICAgICBHZXRFdmVudC5pbml0KClcblxuICAgIH0sIDIwMCk7XG59KSIsImltcG9ydCB7IHN0YXJ0U3RpbXVsdXNBcHAgfSBmcm9tICdAc3ltZm9ueS9zdGltdWx1cy1icmlkZ2UnO1xuXG4vLyBSZWdpc3RlcnMgU3RpbXVsdXMgY29udHJvbGxlcnMgZnJvbSBjb250cm9sbGVycy5qc29uIGFuZCBpbiB0aGUgY29udHJvbGxlcnMvIGRpcmVjdG9yeVxuZXhwb3J0IGNvbnN0IGFwcCA9IHN0YXJ0U3RpbXVsdXNBcHAocmVxdWlyZS5jb250ZXh0KFxuICAgICdAc3ltZm9ueS9zdGltdWx1cy1icmlkZ2UvbGF6eS1jb250cm9sbGVyLWxvYWRlciEuL2NvbnRyb2xsZXJzJyxcbiAgICB0cnVlLFxuICAgIC9cXC5banRdc3g/JC9cbikpO1xuXG4vLyByZWdpc3RlciBhbnkgY3VzdG9tLCAzcmQgcGFydHkgY29udHJvbGxlcnMgaGVyZVxuLy8gYXBwLnJlZ2lzdGVyKCdzb21lX2NvbnRyb2xsZXJfbmFtZScsIFNvbWVJbXBvcnRlZENvbnRyb2xsZXIpO1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2V0RXZlbnR7XG4gICAgc3RhdGljIGluaXQoKXtcbiAgICAgICAgdGhpcy5nZXRFdmVudCgpXG4gICAgfVxuXG4gICAgc3RhdGljIGdldEV2ZW50KCl7XG4gICAgICAgIGxldCBzYWlzaWUgID0gJCgnI3NhaXNpZScpO1xuICAgICAgICBzYWlzaWUuZm9jdXMoKTtcbiAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICBsZXQgJGluZm8gPSAkKCcuaW5mbycpO1xuICAgICAgICBsZXQgJGluZm9Eb24gPSAkKCcjaW5mby1kb24nKTtcbiAgICAgICAgbGV0ICRpbmZvRG9ubmV1ciA9ICQoJyNpbmZvLWRvbm5ldXInKTtcbiAgICAgICAgbGV0ICRpbmZvUHNsID0gJCgnI2luZm8tcHNsJyk7XG4gICAgICAgIGxldCAkZG9uID0gJCgnI2RvbicpO1xuICAgICAgICBsZXQgJG5vbSA9ICQoJyNub20nKTtcbiAgICAgICAgbGV0ICRwcmVub20gPSAkKCcjcHJlbm9tJyk7XG4gICAgICAgIGxldCAkbmFpc3NhbmNlID0gJCgnI25haXNzYW5jZScpO1xuICAgICAgICBsZXQgJHR5cGVEb24gPSAkKCcjdHlwZURvbicpO1xuICAgICAgICBsZXQgJHR5cGVQb2NoZSA9ICQoJyN0eXBlUG9jaGUnKTtcbiAgICAgICAgbGV0ICRuYnJlVHViZSA9ICQoJyNuYnJlVHViZScpO1xuICAgICAgICBsZXQgJHN0ZXAgPSAkKCcjc3RlcCcpO1xuICAgICAgICBsZXQgJGluZGljYXRpb24gPSAkKCcjaW5kaWNhdGlvbicpO1xuICAgICAgICBsZXQgJGV2b2x1dGlvbiA9ICQoJyNldm9sdXRpb24nKTtcbiAgICAgICAgbGV0ICRsYWJlbCA9ICQoJyNsYWJlbCcpO1xuICAgICAgICBsZXQgJHR5cGUgPSAkKCcjdHlwZScpO1xuICAgICAgICBsZXQgJGN1cnJlbnQgPSAkKCcjY3VycmVudCcpO1xuICAgICAgICBsZXQgJHRvZG8gPSAkKCcjdG9kbycpO1xuICAgICAgICBsZXQgJHBpY3R1cmVQb2NoZSA9ICQoJyNwaWN0dXJlUG9jaGUnKTtcbiAgICAgICAgbGV0ICRwaWN0dXJlVHViZSA9ICQoJyNwaWN0dXJlVHViZScpO1xuICAgICAgICBsZXQgJGlucHV0ID0gJCgnI2lucHV0UmFuZ2UnKTtcbiAgICAgICAgbGV0ICRkaXNwbGF5RXJyb3IgPSAkKCcuZXJyb3InKTtcbiAgICAgICAgbGV0ICRkaXNwbGF5U3VjY2VzcyA9ICQoJy5kaXNwbGF5U3VjY2VzcycpO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcbiAgICAgICAgICAgIGlmKGV2ZW50LmNvZGUgPT0gJ1RhYicpe1xuICAgICAgICAgICAgICAgIHZhbHVlID0gc2Fpc2llLnZhbCgpO1xuICAgICAgICAgICAgICAgIHNhaXNpZS52YWwoJycpXG4gICAgICAgICAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnL2FwaS9nZXQtY29kZS1iYXJyZS10eXBlJyxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IFwianNvblwiLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7J2NvZGVCYXJyZSc6IHZhbHVlfSxcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzcG9uc2Upe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaChyZXNwb25zZS5kYXRhLnN0ZXApe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzAnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnc3VjY2Vzcycpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRvbi5odG1sKHJlc3BvbnNlLmRhdGEuY29kZUJhcnJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub20uaHRtbChyZXNwb25zZS5kYXRhLm5vbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJlbm9tLmh0bWwocmVzcG9uc2UuZGF0YS5wcmVub20pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5haXNzYW5jZS5odG1sKG5ldyBEYXRlKHJlc3BvbnNlLmRhdGEuYmlydGhkYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZURvbi5odG1sKHJlc3BvbnNlLmRhdGEudHlwZV9kb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0ZXAuaHRtbCgnUG91ciBwYXNzZXIgw6AgbGEgc3VpdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpY2F0aW9uLmh0bWwoJ1NjYW5uZXogbGUgRE1VJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwaWN0dXJlUG9jaGUuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvLmNzcygndmlzaWJpbGl0eScsICd2aXNpYmxlJylcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnaW5pdCcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRvbi5odG1sKHJlc3BvbnNlLmRhdGEuY29kZUJhcnJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub20uaHRtbChyZXNwb25zZS5kYXRhLm5vbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJlbm9tLmh0bWwocmVzcG9uc2UuZGF0YS5wcmVub20pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5haXNzYW5jZS5odG1sKG5ldyBEYXRlKHJlc3BvbnNlLmRhdGEuYmlydGhkYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZURvbi5odG1sKHJlc3BvbnNlLmRhdGEudHlwZV9kb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0ZXAuaHRtbCgnUG91ciBwYXNzZXIgw6AgbGEgc3VpdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpY2F0aW9uLmh0bWwoJ1NjYW5uZXogbGUgRE1VJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZVBvY2hlLmh0bWwoJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZm8uY3NzKCd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2b2x1dGlvbi5jc3MoJ3Zpc2liaWxpdHknLCAnaGlkZGVuJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaXNpZS5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcicpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcxJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ3N1Y2Nlc3MnKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlUG9jaGUuaHRtbChyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RlcC5odG1sKCdFVEFQRSAxIC8gMicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZGljYXRpb24uaHRtbCgnU2Nhbm5leiBsZXMgw6l0aXF1ZXR0ZXMgZGVzIHBvY2hlcycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZvbHV0aW9uLmNzcygndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ2Vycm9yX2Rvbm5ldXInKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnZXJyZXVyIGRvbm5ldXInKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3BsYXlFcnJvci5jc3MoJ2Rpc3BsYXknLCBcImZsZXhcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsICdub25lJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ2Vycm9yX2RvdWJsb24nKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnZXJyZXVyIGRvdWJsb24nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3BsYXlFcnJvci5jc3MoJ2Rpc3BsYXknLCBcImZsZXhcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsICdub25lJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ3N1Y2Nlc3MnKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlUG9jaGUuaHRtbChyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLmh0bWwoJ1BvY2hlcycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRvZG8uaHRtbChyZXNwb25zZS5kYXRhLm5icmVfcG9jaGVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndmFsdWUnLCByZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUgIT1yZXNwb25zZS5kYXRhLm5icmVfcG9jaGVfbWF4ICl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBpY3R1cmVQb2NoZS5hcHBlbmQoJzxkaXYgY2xhc3M9XCJzYW5nXCI+PGltZyBzcmM9XCIvcG9jaGVzL1BvY2hlX3NhbmcucG5nXCI+PC9kaXY+JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaXNpZS5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdmaW5hbCcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGVQb2NoZS5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXJyZW50Lmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3BvY2hlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndmFsdWUnLCByZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygndmFsaWRlciBhdmVjIHVuIHNjYW4gZGUgcG9jaGUhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpY2F0aW9uLmh0bWwoJ3ZhbGlkZXIgYXZlYyB1biBzY2FuIGRlIHBvY2hlIScpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVBvY2hlLmFwcGVuZCgnPGRpdiBjbGFzcz1cInNhbmdcIj48aW1nIHNyYz1cIi9wb2NoZXMvUG9jaGVfc2FuZy5wbmdcIj48L2Rpdj4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnZXJyb3Jfc2Nhbicpe1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmh0bWwoXCJNYXV2YWlzIHR5cGUgZCfDqXRpcXVldHRlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb3VibG9uJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnRXRpcXVldHRlIGTDqWrDoCBzY2FubsOpZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb25uZXVyJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnTmUgY29ycmVzcG9uZCBwYXMgYXUgZG9ubmV1cicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzMnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSBcInN1Y2Nlc3NcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVBvY2hlLmNzcygnZGlzcGxheScsICdub25lJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2YWxpZGVyIGF2ZWMgdW4gc2NhbiBkZSBwb2NoZSEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZGljYXRpb24uaHRtbCgnU2Nhbm5leiBsZXMgw6l0aXF1ZXR0ZXMgZGUgdHViZXMhJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cignbWF4JywgcmVzcG9uc2UuZGF0YS5uYnJlX3R1YmVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRvZG8uaHRtbChyZXNwb25zZS5kYXRhLm5icmVfdHViZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndmFsdWUnLCByZXNwb25zZS5kYXRhLm5icmVfdHViZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV90dWJlX21heClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGUuaHRtbCgnVHViZXMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJvbiBwYXNzZSBhdXggdHViZXNcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gXCJlcnJvcl9zY2FuXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmh0bWwoXCJNYXV2YWlzIHR5cGUgZCfDqXRpcXVldHRlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnNCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdzdWNjZXNzJyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RlcC5odG1sKCdFVEFQRSAyIC8gMicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV90dWJlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV90dWJlX21heClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLmh0bWwoJ1R1YmVzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0b2RvLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3ZhbHVlJywgcmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic2FuZ1wiPjxpbWcgc3JjPVwiL3R1YmVzL1R1YmUxLnBuZ1wiPjwvZGl2PicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YS5uYnJlX3BvY2hlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdmaW5hbCcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV90dWJlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV90dWJlX21heClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLmh0bWwoJ1R1YmVzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0b2RvLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3ZhbHVlJywgcmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic2FuZ1wiPjxpbWcgc3JjPVwiL3R1YmVzL1R1YmUxLnBuZ1wiPjwvZGl2PicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheVN1Y2Nlc3MuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3BsYXlTdWNjZXNzLmNzcygnZGlzcGxheScsICdub25lJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnZXJyb3Jfc2Nhbicpe1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmh0bWwoXCJNYXV2YWlzIHR5cGUgZCfDqXRpcXVldHRlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb3VibG9uJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnRXRpcXVldHRlIGTDqWrDoCBzY2FubsOpZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb25uZXVyJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnTmUgY29ycmVzcG9uZCBwYXMgYXUgZG9ubmV1cicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn0iXSwibmFtZXMiOlsiQ29udHJvbGxlciIsImVsZW1lbnQiLCJ0ZXh0Q29udGVudCIsIkdldEV2ZW50IiwiJCIsImRvY3VtZW50IiwicmVhZHkiLCJzZXRUaW1lb3V0IiwiaW5pdCIsInN0YXJ0U3RpbXVsdXNBcHAiLCJhcHAiLCJyZXF1aXJlIiwiY29udGV4dCIsImdldEV2ZW50Iiwic2Fpc2llIiwiZm9jdXMiLCJ2YWx1ZSIsIiRpbmZvIiwiJGluZm9Eb24iLCIkaW5mb0Rvbm5ldXIiLCIkaW5mb1BzbCIsIiRkb24iLCIkbm9tIiwiJHByZW5vbSIsIiRuYWlzc2FuY2UiLCIkdHlwZURvbiIsIiR0eXBlUG9jaGUiLCIkbmJyZVR1YmUiLCIkc3RlcCIsIiRpbmRpY2F0aW9uIiwiJGV2b2x1dGlvbiIsIiRsYWJlbCIsIiR0eXBlIiwiJGN1cnJlbnQiLCIkdG9kbyIsIiRwaWN0dXJlUG9jaGUiLCIkcGljdHVyZVR1YmUiLCIkaW5wdXQiLCIkZGlzcGxheUVycm9yIiwiJGRpc3BsYXlTdWNjZXNzIiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2ZW50IiwiY29kZSIsInZhbCIsImFqYXgiLCJ1cmwiLCJtZXRob2QiLCJkYXRhVHlwZSIsImRhdGEiLCJzdWNjZXNzIiwicmVzcG9uc2UiLCJjb25zb2xlIiwibG9nIiwic3RlcCIsInN0YXR1cyIsImh0bWwiLCJjb2RlQmFycmUiLCJub20iLCJwcmVub20iLCJEYXRlIiwiYmlydGhkYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidHlwZV9kb24iLCJuYnJlX3R1YmUiLCJjc3MiLCJuYnJlX3BvY2hlIiwibmJyZV9wb2NoZV9tYXgiLCJhdHRyIiwiYXBwZW5kIiwibmJyZV90dWJlX21heCJdLCJzb3VyY2VSb290IjoiIn0=