500 lines
68 KiB
JavaScript
500 lines
68 KiB
JavaScript
(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('<div class="sang"><img src="/poches/Poche_sang.png"></div>');
|
|
}
|
|
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('<div class="sang"><img src="/poches/Poche_sang.png"></div>');
|
|
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('<div class="sang"><img src="/tubes/Tube1.png"></div>');
|
|
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('<div class="sang"><img src="/tubes/Tube1.png"></div>');
|
|
$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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akIsYUFBYSxDQUFDMEIsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7b0JBQ3BDekQsVUFBVSxDQUFDLFlBQU07c0JBQ2IrQixhQUFhLENBQUMwQixHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztvQkFDeEMsQ0FBQyxFQUFFLElBQUksQ0FBQztvQkFDUmxELE1BQU0sQ0FBQ0MsS0FBSyxFQUFFO2tCQUVsQjtrQkFDQSxJQUFHbUMsUUFBUSxDQUFDRixJQUFJLENBQUNNLE1BQU0sSUFBSSxlQUFlLEVBQUM7b0JBRXZDaEIsYUFBYSxDQUFDaUIsSUFBSSxDQUFDLDhCQUE4QixDQUFDO29CQUNsRGpCLGFBQWEsQ0FBQzBCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO29CQUNwQ3pELFVBQVUsQ0FBQyxZQUFNO3NCQUNiK0IsYUFBYSxDQUFDMEIsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7b0JBQ3hDLENBQUMsRUFBRSxJQUFJLENBQUM7b0JBQ1JsRCxNQUFNLENBQUNDLEtBQUssRUFBRTtrQkFFbEI7a0JBQ0E7Y0FBTTtZQUVsQjtVQUVKLENBQUMsQ0FBQztRQUNOO01BQ0osQ0FBQyxDQUFDO0lBQ047RUFBQztFQUFBO0FBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vIFxcLltqdF1zeCIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY29udHJvbGxlcnMuanNvbiIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY29udHJvbGxlcnMvaGVsbG9fY29udHJvbGxlci5qcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvYXBwLmpzIiwid2VicGFjazovLy8uL2Fzc2V0cy9ib290c3RyYXAuanMiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2pzL2dldENvZGVCYXJyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgbWFwID0ge1xuXHRcIi4vaGVsbG9fY29udHJvbGxlci5qc1wiOiBcIi4vbm9kZV9tb2R1bGVzL0BzeW1mb255L3N0aW11bHVzLWJyaWRnZS9sYXp5LWNvbnRyb2xsZXItbG9hZGVyLmpzIS4vYXNzZXRzL2NvbnRyb2xsZXJzL2hlbGxvX2NvbnRyb2xsZXIuanNcIlxufTtcblxuXG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dChyZXEpIHtcblx0dmFyIGlkID0gd2VicGFja0NvbnRleHRSZXNvbHZlKHJlcSk7XG5cdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKGlkKTtcbn1cbmZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpIHtcblx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhtYXAsIHJlcSkpIHtcblx0XHR2YXIgZSA9IG5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIgKyByZXEgKyBcIidcIik7XG5cdFx0ZS5jb2RlID0gJ01PRFVMRV9OT1RfRk9VTkQnO1xuXHRcdHRocm93IGU7XG5cdH1cblx0cmV0dXJuIG1hcFtyZXFdO1xufVxud2VicGFja0NvbnRleHQua2V5cyA9IGZ1bmN0aW9uIHdlYnBhY2tDb250ZXh0S2V5cygpIHtcblx0cmV0dXJuIE9iamVjdC5rZXlzKG1hcCk7XG59O1xud2VicGFja0NvbnRleHQucmVzb2x2ZSA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZTtcbm1vZHVsZS5leHBvcnRzID0gd2VicGFja0NvbnRleHQ7XG53ZWJwYWNrQ29udGV4dC5pZCA9IFwiLi9hc3NldHMvY29udHJvbGxlcnMgc3luYyByZWN1cnNpdmUgLi9ub2RlX21vZHVsZXMvQHN5bWZvbnkvc3RpbXVsdXMtYnJpZGdlL2xhenktY29udHJvbGxlci1sb2FkZXIuanMhIFxcXFwuW2p0XXN4PyRcIjsiLCJleHBvcnQgZGVmYXVsdCB7XG59OyIsImltcG9ydCB7IENvbnRyb2xsZXIgfSBmcm9tICdAaG90d2lyZWQvc3RpbXVsdXMnO1xuXG4vKlxuICogVGhpcyBpcyBhbiBleGFtcGxlIFN0aW11bHVzIGNvbnRyb2xsZXIhXG4gKlxuICogQW55IGVsZW1lbnQgd2l0aCBhIGRhdGEtY29udHJvbGxlcj1cImhlbGxvXCIgYXR0cmlidXRlIHdpbGwgY2F1c2VcbiAqIHRoaXMgY29udHJvbGxlciB0byBiZSBleGVjdXRlZC4gVGhlIG5hbWUgXCJoZWxsb1wiIGNvbWVzIGZyb20gdGhlIGZpbGVuYW1lOlxuICogaGVsbG9fY29udHJvbGxlci5qcyAtPiBcImhlbGxvXCJcbiAqXG4gKiBEZWxldGUgdGhpcyBmaWxlIG9yIGFkYXB0IGl0IGZvciB5b3VyIHVzZSFcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgZXh0ZW5kcyBDb250cm9sbGVyIHtcbiAgICBjb25uZWN0KCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQudGV4dENvbnRlbnQgPSAnSGVsbG8gU3RpbXVsdXMhIEVkaXQgbWUgaW4gYXNzZXRzL2NvbnRyb2xsZXJzL2hlbGxvX2NvbnRyb2xsZXIuanMnO1xuICAgIH1cbn1cbiIsIi8qXG4gKiBXZWxjb21lIHRvIHlvdXIgYXBwJ3MgbWFpbiBKYXZhU2NyaXB0IGZpbGUhXG4gKlxuICogV2UgcmVjb21tZW5kIGluY2x1ZGluZyB0aGUgYnVpbHQgdmVyc2lvbiBvZiB0aGlzIEphdmFTY3JpcHQgZmlsZVxuICogKGFuZCBpdHMgQ1NTIGZpbGUpIGluIHlvdXIgYmFzZSBsYXlvdXQgKGJhc2UuaHRtbC50d2lnKS5cbiAqL1xuXG4vLyBhbnkgQ1NTIHlvdSBpbXBvcnQgd2lsbCBvdXRwdXQgaW50byBhIHNpbmdsZSBjc3MgZmlsZSAoYXBwLmNzcyBpbiB0aGlzIGNhc2UpXG5pbXBvcnQgJ2pxdWVyeSc7XG5cbi8vIHN0YXJ0IHRoZSBTdGltdWx1cyBhcHBsaWNhdGlvblxuaW1wb3J0IEdldEV2ZW50IGZyb20gJy4vanMvZ2V0Q29kZUJhcnJlJztcbmltcG9ydCAnLi9ib290c3RyYXAnO1xuXG4kKGRvY3VtZW50KS5yZWFkeSgoKT0+e1xuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgLy8gdXRpbHMuaW5pdCgpO1xuICAgICAgICBHZXRFdmVudC5pbml0KClcblxuICAgIH0sIDIwMCk7XG59KSIsImltcG9ydCB7IHN0YXJ0U3RpbXVsdXNBcHAgfSBmcm9tICdAc3ltZm9ueS9zdGltdWx1cy1icmlkZ2UnO1xuXG4vLyBSZWdpc3RlcnMgU3RpbXVsdXMgY29udHJvbGxlcnMgZnJvbSBjb250cm9sbGVycy5qc29uIGFuZCBpbiB0aGUgY29udHJvbGxlcnMvIGRpcmVjdG9yeVxuZXhwb3J0IGNvbnN0IGFwcCA9IHN0YXJ0U3RpbXVsdXNBcHAocmVxdWlyZS5jb250ZXh0KFxuICAgICdAc3ltZm9ueS9zdGltdWx1cy1icmlkZ2UvbGF6eS1jb250cm9sbGVyLWxvYWRlciEuL2NvbnRyb2xsZXJzJyxcbiAgICB0cnVlLFxuICAgIC9cXC5banRdc3g/JC9cbikpO1xuXG4vLyByZWdpc3RlciBhbnkgY3VzdG9tLCAzcmQgcGFydHkgY29udHJvbGxlcnMgaGVyZVxuLy8gYXBwLnJlZ2lzdGVyKCdzb21lX2NvbnRyb2xsZXJfbmFtZScsIFNvbWVJbXBvcnRlZENvbnRyb2xsZXIpO1xuIiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgR2V0RXZlbnR7XG4gICAgc3RhdGljIGluaXQoKXtcbiAgICAgICAgdGhpcy5nZXRFdmVudCgpXG4gICAgfVxuXG4gICAgc3RhdGljIGdldEV2ZW50KCl7XG4gICAgICAgIGxldCBzYWlzaWUgID0gJCgnI3NhaXNpZScpO1xuICAgICAgICBzYWlzaWUuZm9jdXMoKTtcbiAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICBsZXQgJGluZm8gPSAkKCcuaW5mbycpO1xuICAgICAgICBsZXQgJGluZm9Eb24gPSAkKCcjaW5mby1kb24nKTtcbiAgICAgICAgbGV0ICRpbmZvRG9ubmV1ciA9ICQoJyNpbmZvLWRvbm5ldXInKTtcbiAgICAgICAgbGV0ICRpbmZvUHNsID0gJCgnI2luZm8tcHNsJyk7XG4gICAgICAgIGxldCAkZG9uID0gJCgnI2RvbicpO1xuICAgICAgICBsZXQgJG5vbSA9ICQoJyNub20nKTtcbiAgICAgICAgbGV0ICRwcmVub20gPSAkKCcjcHJlbm9tJyk7XG4gICAgICAgIGxldCAkbmFpc3NhbmNlID0gJCgnI25haXNzYW5jZScpO1xuICAgICAgICBsZXQgJHR5cGVEb24gPSAkKCcjdHlwZURvbicpO1xuICAgICAgICBsZXQgJHR5cGVQb2NoZSA9ICQoJyN0eXBlUG9jaGUnKTtcbiAgICAgICAgbGV0ICRuYnJlVHViZSA9ICQoJyNuYnJlVHViZScpO1xuICAgICAgICBsZXQgJHN0ZXAgPSAkKCcjc3RlcCcpO1xuICAgICAgICBsZXQgJGluZGljYXRpb24gPSAkKCcjaW5kaWNhdGlvbicpO1xuICAgICAgICBsZXQgJGV2b2x1dGlvbiA9ICQoJyNldm9sdXRpb24nKTtcbiAgICAgICAgbGV0ICRsYWJlbCA9ICQoJyNsYWJlbCcpO1xuICAgICAgICBsZXQgJHR5cGUgPSAkKCcjdHlwZScpO1xuICAgICAgICBsZXQgJGN1cnJlbnQgPSAkKCcjY3VycmVudCcpO1xuICAgICAgICBsZXQgJHRvZG8gPSAkKCcjdG9kbycpO1xuICAgICAgICBsZXQgJHBpY3R1cmVQb2NoZSA9ICQoJyNwaWN0dXJlUG9jaGUnKTtcbiAgICAgICAgbGV0ICRwaWN0dXJlVHViZSA9ICQoJyNwaWN0dXJlVHViZScpO1xuICAgICAgICBsZXQgJGlucHV0ID0gJCgnI2lucHV0UmFuZ2UnKTtcbiAgICAgICAgbGV0ICRkaXNwbGF5RXJyb3IgPSAkKCcuZXJyb3InKTtcbiAgICAgICAgbGV0ICRkaXNwbGF5U3VjY2VzcyA9ICQoJy5kaXNwbGF5U3VjY2VzcycpO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcbiAgICAgICAgICAgIGlmKGV2ZW50LmNvZGUgPT0gJ1RhYicpe1xuICAgICAgICAgICAgICAgIHZhbHVlID0gc2Fpc2llLnZhbCgpO1xuICAgICAgICAgICAgICAgIHNhaXNpZS52YWwoJycpXG4gICAgICAgICAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnL2FwaS9nZXQtY29kZS1iYXJyZS10eXBlJyxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6IFwianNvblwiLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiB7J2NvZGVCYXJyZSc6IHZhbHVlfSxcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzcG9uc2Upe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaChyZXNwb25zZS5kYXRhLnN0ZXApe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzAnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnc3VjY2Vzcycpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRvbi5odG1sKHJlc3BvbnNlLmRhdGEuY29kZUJhcnJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub20uaHRtbChyZXNwb25zZS5kYXRhLm5vbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJlbm9tLmh0bWwocmVzcG9uc2UuZGF0YS5wcmVub20pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5haXNzYW5jZS5odG1sKG5ldyBEYXRlKHJlc3BvbnNlLmRhdGEuYmlydGhkYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZURvbi5odG1sKHJlc3BvbnNlLmRhdGEudHlwZV9kb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0ZXAuaHRtbCgnUG91ciBwYXNzZXIgw6AgbGEgc3VpdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpY2F0aW9uLmh0bWwoJ1NjYW5uZXogbGUgRE1VJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwaWN0dXJlUG9jaGUuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvLmNzcygndmlzaWJpbGl0eScsICd2aXNpYmxlJylcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnaW5pdCcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRvbi5odG1sKHJlc3BvbnNlLmRhdGEuY29kZUJhcnJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub20uaHRtbChyZXNwb25zZS5kYXRhLm5vbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHJlbm9tLmh0bWwocmVzcG9uc2UuZGF0YS5wcmVub20pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5haXNzYW5jZS5odG1sKG5ldyBEYXRlKHJlc3BvbnNlLmRhdGEuYmlydGhkYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZURvbi5odG1sKHJlc3BvbnNlLmRhdGEudHlwZV9kb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0ZXAuaHRtbCgnUG91ciBwYXNzZXIgw6AgbGEgc3VpdGUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpY2F0aW9uLmh0bWwoJ1NjYW5uZXogbGUgRE1VJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHlwZVBvY2hlLmh0bWwoJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZm8uY3NzKCd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2b2x1dGlvbi5jc3MoJ3Zpc2liaWxpdHknLCAnaGlkZGVuJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaXNpZS5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcicpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcxJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ3N1Y2Nlc3MnKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlUG9jaGUuaHRtbChyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RlcC5odG1sKCdFVEFQRSAxIC8gMicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZGljYXRpb24uaHRtbCgnU2Nhbm5leiBsZXMgw6l0aXF1ZXR0ZXMgZGVzIHBvY2hlcycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZvbHV0aW9uLmNzcygndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ2Vycm9yX2Rvbm5ldXInKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnZXJyZXVyIGRvbm5ldXInKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3BsYXlFcnJvci5jc3MoJ2Rpc3BsYXknLCBcImZsZXhcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsICdub25lJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ2Vycm9yX2RvdWJsb24nKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnZXJyZXVyIGRvdWJsb24nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3BsYXlFcnJvci5jc3MoJ2Rpc3BsYXknLCBcImZsZXhcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsICdub25lJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcyJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gJ3N1Y2Nlc3MnKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlUG9jaGUuaHRtbChyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLmh0bWwoJ1BvY2hlcycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRvZG8uaHRtbChyZXNwb25zZS5kYXRhLm5icmVfcG9jaGVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndmFsdWUnLCByZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLm5icmVfcG9jaGUgIT1yZXNwb25zZS5kYXRhLm5icmVfcG9jaGVfbWF4ICl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBpY3R1cmVQb2NoZS5hcHBlbmQoJzxkaXYgY2xhc3M9XCJzYW5nXCI+PGltZyBzcmM9XCIvcG9jaGVzL1BvY2hlX3NhbmcucG5nXCI+PC9kaXY+JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaXNpZS5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdmaW5hbCcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGVQb2NoZS5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXJyZW50Lmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3BvY2hlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndmFsdWUnLCByZXNwb25zZS5kYXRhLm5icmVfcG9jaGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygndmFsaWRlciBhdmVjIHVuIHNjYW4gZGUgcG9jaGUhJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmRpY2F0aW9uLmh0bWwoJ3ZhbGlkZXIgYXZlYyB1biBzY2FuIGRlIHBvY2hlIScpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVBvY2hlLmFwcGVuZCgnPGRpdiBjbGFzcz1cInNhbmdcIj48aW1nIHNyYz1cIi9wb2NoZXMvUG9jaGVfc2FuZy5wbmdcIj48L2Rpdj4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnZXJyb3Jfc2Nhbicpe1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmh0bWwoXCJNYXV2YWlzIHR5cGUgZCfDqXRpcXVldHRlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb3VibG9uJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnRXRpcXVldHRlIGTDqWrDoCBzY2FubsOpZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb25uZXVyJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnTmUgY29ycmVzcG9uZCBwYXMgYXUgZG9ubmV1cicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzMnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSBcInN1Y2Nlc3NcIil7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVBvY2hlLmNzcygnZGlzcGxheScsICdub25lJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2YWxpZGVyIGF2ZWMgdW4gc2NhbiBkZSBwb2NoZSEnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZGljYXRpb24uaHRtbCgnU2Nhbm5leiBsZXMgw6l0aXF1ZXR0ZXMgZGUgdHViZXMhJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cignbWF4JywgcmVzcG9uc2UuZGF0YS5uYnJlX3R1YmVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRvZG8uaHRtbChyZXNwb25zZS5kYXRhLm5icmVfdHViZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndmFsdWUnLCByZXNwb25zZS5kYXRhLm5icmVfdHViZV9tYXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV90dWJlX21heClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGUuaHRtbCgnVHViZXMnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJvbiBwYXNzZSBhdXggdHViZXNcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5zdGF0dXMgPT0gXCJlcnJvcl9zY2FuXCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmh0bWwoXCJNYXV2YWlzIHR5cGUgZCfDqXRpcXVldHRlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnNCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdzdWNjZXNzJyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RlcC5odG1sKCdFVEFQRSAyIC8gMicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV90dWJlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV90dWJlX21heClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLmh0bWwoJ1R1YmVzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0b2RvLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3ZhbHVlJywgcmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic2FuZ1wiPjxpbWcgc3JjPVwiL3R1YmVzL1R1YmUxLnBuZ1wiPjwvZGl2PicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UuZGF0YS5uYnJlX3BvY2hlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdmaW5hbCcpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5icmVUdWJlLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudC5odG1sKHJlc3BvbnNlLmRhdGEubmJyZV90dWJlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ21heCcsIHJlc3BvbnNlLmRhdGEubmJyZV90dWJlX21heClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlLmh0bWwoJ1R1YmVzJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0b2RvLmh0bWwocmVzcG9uc2UuZGF0YS5uYnJlX3R1YmVfbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3ZhbHVlJywgcmVzcG9uc2UuZGF0YS5uYnJlX3R1YmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGljdHVyZVR1YmUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic2FuZ1wiPjxpbWcgc3JjPVwiL3R1YmVzL1R1YmUxLnBuZ1wiPjwvZGl2PicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheVN1Y2Nlc3MuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRpc3BsYXlTdWNjZXNzLmNzcygnZGlzcGxheScsICdub25lJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDUwMDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Fpc2llLmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLmRhdGEubmJyZV9wb2NoZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihyZXNwb25zZS5kYXRhLnN0YXR1cyA9PSAnZXJyb3Jfc2Nhbicpe1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmh0bWwoXCJNYXV2YWlzIHR5cGUgZCfDqXRpcXVldHRlXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb3VibG9uJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnRXRpcXVldHRlIGTDqWrDoCBzY2FubsOpZScpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHJlc3BvbnNlLmRhdGEuc3RhdHVzID09ICdlcnJvcl9kb25uZXVyJyl7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuaHRtbCgnTmUgY29ycmVzcG9uZCBwYXMgYXUgZG9ubmV1cicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGlzcGxheUVycm9yLmNzcygnZGlzcGxheScsIFwiZmxleFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkaXNwbGF5RXJyb3IuY3NzKCdkaXNwbGF5JywgJ25vbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWlzaWUuZm9jdXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbn0iXSwibmFtZXMiOlsiQ29udHJvbGxlciIsImVsZW1lbnQiLCJ0ZXh0Q29udGVudCIsIkdldEV2ZW50IiwiJCIsImRvY3VtZW50IiwicmVhZHkiLCJzZXRUaW1lb3V0IiwiaW5pdCIsInN0YXJ0U3RpbXVsdXNBcHAiLCJhcHAiLCJyZXF1aXJlIiwiY29udGV4dCIsImdldEV2ZW50Iiwic2Fpc2llIiwiZm9jdXMiLCJ2YWx1ZSIsIiRpbmZvIiwiJGluZm9Eb24iLCIkaW5mb0Rvbm5ldXIiLCIkaW5mb1BzbCIsIiRkb24iLCIkbm9tIiwiJHByZW5vbSIsIiRuYWlzc2FuY2UiLCIkdHlwZURvbiIsIiR0eXBlUG9jaGUiLCIkbmJyZVR1YmUiLCIkc3RlcCIsIiRpbmRpY2F0aW9uIiwiJGV2b2x1dGlvbiIsIiRsYWJlbCIsIiR0eXBlIiwiJGN1cnJlbnQiLCIkdG9kbyIsIiRwaWN0dXJlUG9jaGUiLCIkcGljdHVyZVR1YmUiLCIkaW5wdXQiLCIkZGlzcGxheUVycm9yIiwiJGRpc3BsYXlTdWNjZXNzIiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2ZW50IiwiY29kZSIsInZhbCIsImFqYXgiLCJ1cmwiLCJtZXRob2QiLCJkYXRhVHlwZSIsImRhdGEiLCJzdWNjZXNzIiwicmVzcG9uc2UiLCJjb25zb2xlIiwibG9nIiwic3RlcCIsInN0YXR1cyIsImh0bWwiLCJjb2RlQmFycmUiLCJub20iLCJwcmVub20iLCJEYXRlIiwiYmlydGhkYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwidHlwZV9kb24iLCJuYnJlX3R1YmUiLCJjc3MiLCJuYnJlX3BvY2hlIiwibmJyZV9wb2NoZV9tYXgiLCJhdHRyIiwiYXBwZW5kIiwibmJyZV90dWJlX21heCJdLCJzb3VyY2VSb290IjoiIn0=
|