<?php

use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;

/* @public_path/build/cas.js */
class __TwigTemplate_7480864f29ec7ea936579ffde26dcd9b0fb2a7c34711f315bbd1bdae9535f526 extends Template
{
    private $source;
    private $macros = [];

    public function __construct(Environment $env)
    {
        parent::__construct($env);

        $this->source = $this->getSourceContext();

        $this->parent = false;

        $this->blocks = [
        ];
    }

    protected function doDisplay(array $context, array $blocks = [])
    {
        $macros = $this->macros;
        $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
        $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->enter($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@public_path/build/cas.js"));

        $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02 = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
        $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->enter($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@public_path/build/cas.js"));

        yield "(self[\"webpackChunk\"] = self[\"webpackChunk\"] || []).push([[\"cas\"],{

/***/ \"./assets/images/legende.png\":
/*!***********************************!*\\
  !*** ./assets/images/legende.png ***!
  \\***********************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";
module.exports = __webpack_require__.p + \"images/legende.56e89d5f.png\";

/***/ }),

/***/ \"./assets/images/punaise-white.png\":
/*!*****************************************!*\\
  !*** ./assets/images/punaise-white.png ***!
  \\*****************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";
module.exports = __webpack_require__.p + \"images/punaise-white.fbd71a1e.png\";

/***/ }),

/***/ \"./assets/js/contrats_a_servir.js\":
/*!****************************************!*\\
  !*** ./assets/js/contrats_a_servir.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 core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");
/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"./node_modules/core-js/modules/es.string.trim.js\");
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_parse_float_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.parse-float.js */ \"./node_modules/core-js/modules/es.parse-float.js\");
/* harmony import */ var core_js_modules_es_parse_float_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_float_js__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./map */ \"./assets/js/map.js\");
/* harmony import */ var _images_punaise_png__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../images/punaise.png */ \"./assets/images/punaise.png\");
/* harmony import */ var _images_punaise_red_png__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../images/punaise-red.png */ \"./assets/images/punaise-red.png\");
/* harmony import */ var _images_punaise_green_png__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../images/punaise-green.png */ \"./assets/images/punaise-green.png\");
/* harmony import */ var _images_punaise_blue_png__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../images/punaise-blue.png */ \"./assets/images/punaise-blue.png\");
/* harmony import */ var _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../images/punaise-white.png */ \"./assets/images/punaise-white.png\");
/* harmony import */ var _images_legende_png__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../images/legende.png */ \"./assets/images/legende.png\");
/* harmony import */ var ol_proj__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ol/proj */ \"./node_modules/ol/proj.js\");
/* provided dependency */ var \$ = __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\");










 //images












\$(document).ready(function () {
  var mapContainer = \$('#map'); // Récupère l'élément contenant la carte

  /*redimensionnement carte*/

  \$(window).resize(function () {
    var height = 200;
    var sH = \$(window).height() - height;
    var mapWidth = '100%';
    var paginationWidth = '0%';

    if (\$('#cardPagination').is(':visible')) {
      mapWidth = 'calc(70% - 5px)';
      paginationWidth = '30%';
      \$('#clientAServirContent').css({
        'display': 'flex',
        'gap': '5px'
      });
    } else {
      \$('#clientAServirContent').css('display', 'block');
    }

    mapContainer.css({
      'height': sH + 'px',
      'max-height': sH + 'px',
      'width': mapWidth
    });
    \$('#cardPagination').css({
      'height': sH + 30 + 'px',
      'width': paginationWidth
    });
    \$('#sidebarMap').css('height', sH + 'px');

    if (_map__WEBPACK_IMPORTED_MODULE_8__.map) {
      _map__WEBPACK_IMPORTED_MODULE_8__.map.updateSize();
    }
  });
  \$(window).trigger('resize');
  \$('body').on('change', '.change_recherche_cas', function (e) {
    var form = \$(this).data('form-change');
    var name = \$(this).attr('name');
    \$(form + ' > input[name=type_change]').val(name);
    \$(form + ' > input[name=data_value]').val(\$(this).val());
    \$(form + ' > input[name=date_value]').val(\$('#date_cas').val());
    \$(form).data('target-html', \$(this).data('target'));
    \$(form).submit(); //si nom = site on vide la selection groupe agent et intervention

    if (name == 'site') {
      \$('#groupe').val('');
      \$('#agent').html('');
      \$('#intervention').html('');
    } //si nom = groupe, on vide la selection agent et intervention
    else if (name == 'groupe') {
        \$('#agent').val('');
        \$('#intervention').html('');
      } //si nom = agent, on vide la selection intervention
      else if (name == 'agent') {
          \$('#intervention').html('');
        }
  });
  \$(\"#submit-form-cas\").on(\"click\", function (event) {
    event.preventDefault();
    searchCas(1);
  });
  \$('body').on('click', '.page-link-cas', function (e) {
    e.preventDefault();
    var page = \$(this).attr('data-page');
    console.log(\"Click pagination, page:\", page);

    if (page && page > 0) {
      searchCas(page);
    }
  });
  \$('body').on('click', '.btn-log-call', function (e) {
    e.preventDefault();
    var \$btn = \$(this);
    var clientId = \$btn.data('client-id');
    var equipementId = \$btn.data('equipement-id');
    \$.ajax({
      method: \"POST\",
      url: \"/clients/add_communication\",
      data: {
        clientId: clientId,
        equipementId: equipementId,
        canalId: 4 // Appel

      },
      success: function success(response) {
        if (response.status === 'success') {
          // Optionnel: feedback visuel
          \$btn.removeClass('btn-outline-danger').addClass('btn-danger');
          setTimeout(function () {
            \$btn.removeClass('btn-danger').addClass('btn-outline-danger');
          }, 1000); // Mise à jour de l'info du dernier appel

          if (response.lastAppelHtml) {
            var \$infoContainer = \$btn.next('.text-end');

            if (\$infoContainer.length) {
              \$infoContainer.html(response.lastAppelHtml);
            } else {
              // Si le conteneur n'existe pas encore (pas d'appel récent avant celui-ci)
              \$btn.after('<div class=\"text-end\" style=\"font-size: 0.75rem; color: #e74c3c; width: 123px;\">' + response.lastAppelHtml + '</div>');
            }
          }
        }
      },
      error: function error(xhr, status, _error) {
        console.error(\"Erreur lors de l'enregistrement de l'appel:\", _error);
      }
    });
  });
  \$('body').on('change', '#date_cas', function () {
    var agent = \$('#agent').val();
    var groupe = \$('#groupe').val();
    var site = \$('select[name=site]').val();
    var form = \$('#form-change-cas-recherche');

    if (agent && agent !== '') {
      form.find('input[name=type_change]').val('agent');
      form.find('input[name=data_value]').val(agent);
      form.data('target-html', '#target-cas_intervention');
    } else if (groupe && groupe !== '') {
      form.find('input[name=type_change]').val('groupe');
      form.find('input[name=data_value]').val(groupe);
      form.data('target-html', '#target-cas_agent');
    } else if (site && site !== '') {
      form.find('input[name=type_change]').val('site');
      form.find('input[name=data_value]').val(site);
      form.data('target-html', '#target-cas_groupe');
    }

    form.find('input[name=date_value]').val(\$(this).val());
    form.trigger('submit');
  });
  _map__WEBPACK_IMPORTED_MODULE_8__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_8__.overlayRdv);
  _map__WEBPACK_IMPORTED_MODULE_8__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_8__.overlayGps);
  _map__WEBPACK_IMPORTED_MODULE_8__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_8__.overlayCas);
  _map__WEBPACK_IMPORTED_MODULE_8__.map.on('singleclick', function (event) {
    (0,_map__WEBPACK_IMPORTED_MODULE_8__.onSingleClickFeature)(event);
  });
  /* Gestion de l'activation du bouton de recherche et blocage des champs mutuellement exclusifs */

  function toggleSubmitButton() {
    var \$submitBtn = \$(\"#submit-form-cas\");
    var \$intervention = \$('#intervention');
    var \$numClient = \$('#cas_num_client');
    var \$adresse = \$('#cas_adresse_auto');
    var \$agent = \$('#agent');
    var hasIntervention = \$intervention.length > 0 && \$intervention.val() && \$intervention.val() !== '';
    var hasNumClient = \$numClient.length > 0 && \$numClient.val() && \$numClient.val().trim() !== '';
    var hasAdresse = \$adresse.length > 0 && \$adresse.val() && \$adresse.val().trim() !== '';
    var hasAgent = \$agent.length > 0 && \$agent.val() && \$agent.val() !== ''; // Blocage des champs mutuellement exclusifs

    if (hasIntervention) {
      \$numClient.prop('disabled', true);
      \$adresse.prop('disabled', true);
    } else if (hasNumClient) {
      \$intervention.prop('disabled', true);
      \$adresse.prop('disabled', true);
    } else if (hasAdresse) {
      \$intervention.prop('disabled', true);
      \$numClient.prop('disabled', true);
    } else {
      \$intervention.prop('disabled', false);
      \$numClient.prop('disabled', false);
      \$adresse.prop('disabled', false);
    }

    if (hasAgent && (hasIntervention || hasNumClient || hasAdresse)) {
      \$submitBtn.prop('disabled', false);
    } else {
      \$submitBtn.prop('disabled', true);
    }
  } // Initialisation


  toggleSubmitButton(); // Écouteurs d'événements

  \$('body').on('change', '#intervention, #cas_num_client, #cas_adresse_auto, #agent', function () {
    toggleSubmitButton();
  });
  \$('body').on('input', '#cas_num_client, #cas_adresse_auto', function () {
    toggleSubmitButton();
  }); // On s'assure que si le contenu de #target-cas_intervention ou #target-cas_agent change (rechargement AJAX), on vérifie le bouton

  var observer = new MutationObserver(function (mutations) {
    toggleSubmitButton();
  });
  var targetIntervention = document.getElementById('target-cas_intervention');

  if (targetIntervention) {
    observer.observe(targetIntervention, {
      childList: true,
      subtree: true
    });
  }

  var targetAgent = document.getElementById('target-cas_agent');

  if (targetAgent) {
    observer.observe(targetAgent, {
      childList: true,
      subtree: true
    });
  }

  \$('#reset-form-cas').on('click', function () {
    // On attend que le reset soit effectif avant de vérifier
    setTimeout(toggleSubmitButton, 10);
  });
  \$('input[name=cas_adresse_auto]').autocomplete({
    source: function source(request, response) {
      \$.ajax({
        method: \"GET\",
        url: 'https://api-adresse.data.gouv.fr/search/?q=' + \$(\"input[name='cas_adresse_auto']\").val() + '&type=housenumber&autocomplete=1&limit=10',
        dataType: \"json\",
        success: function success(data) {
          response(\$.map(data.features, function (item) {
            var adresses = []; // Ici on est obligé d'ajouter les CP dans un array pour ne pas avoir plusieurs fois le même

            if (\$.inArray(item.properties.label, adresses) == -1 && item.properties.housenumber) {
              adresses.push(item.properties.label);
              console.log(item);
              return {
                label: item.properties.label,
                city: item.properties.city,
                postcode: item.properties.postcode,
                name: item.properties.name,
                coordinates: item.geometry.coordinates
              };
            }
          }));
        }
      });
    },
    // On remplit aussi la ville
    select: function select(event, ui) {
      \$(\"input[name='code_postal']\").val(ui.item.postcode);
      \$(\"input[name='ville']\").val(ui.item.city);
      \$(\"input[name='adresse']\").val(ui.item.name);
      \$(\"input[name='coordinates']\").val(ui.item.coordinates);
    }
  });
});

function searchCas() {
  var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
  var form = document.getElementById('form_cas');

  if (!form) {
    console.error(\"Formulaire form_cas non trouvé\");
    return;
  }

  var formData = new FormData(form);
  \$.ajax({
    method: \"POST\",
    url: '/map/search_cas',
    data: {
      \"site\": formData.get('site'),
      \"agent\": formData.get('agent'),
      \"date\": formData.get('date_cas'),
      \"intervention\": formData.get('intervention'),
      \"num_client\": formData.get('num_client'),
      \"coordinates\": formData.get('coordinates'),
      \"rayon\": formData.get('rayon'),
      \"tri\": formData.get('tri'),
      \"check_qualif\": formData.get('check_qualif'),
      \"page\": page
    },
    dataType: \"json\",
    success: function success(data) {
      if (data.status === 'error') {
        \$('#cardPagination').html(data.html).show();
        (0,_map__WEBPACK_IMPORTED_MODULE_8__.removeFeatures)(_map__WEBPACK_IMPORTED_MODULE_8__.vectorSource);
        \$(window).trigger('resize');
        return;
      }

      (0,_map__WEBPACK_IMPORTED_MODULE_8__.removeFeatures)(_map__WEBPACK_IMPORTED_MODULE_8__.vectorSource); // On vide la carte avant d'ajouter les nouvelles punaises

      (0,_map__WEBPACK_IMPORTED_MODULE_8__.punaises)(data);

      if (data.secteurs) {
        data.secteurs.forEach(function (secteur) {
          var couleur = '';

          if (secteur.agentPrincipal && secteur.agentPrincipal.id && secteur.agentPrincipal.id == data.agent.id) {
            couleur = '#18bc9c';
          }

          if (secteur.coordonnees && secteur.coordonnees.coordinates) {
            (0,_map__WEBPACK_IMPORTED_MODULE_8__.addPolygon)(secteur.coordonnees.coordinates[0], couleur);
          }
        });
      }

      if (data.center && data.center.lat && data.center.lon && data.center.rayon) {
        (0,_map__WEBPACK_IMPORTED_MODULE_8__.addSearchCircle)([parseFloat(data.center.lon), parseFloat(data.center.lat)], parseFloat(data.center.rayon));
      }

      \$('#cardPagination').html(data.html).show();
      \$(window).trigger('resize');
    },
    error: function error(xhr, status, _error2) {
      console.error(\"Erreur lors de la recherche CAS:\", _error2);
    }
  });
}

/***/ }),

/***/ \"./node_modules/core-js/internals/number-parse-float.js\":
/*!**************************************************************!*\\
  !*** ./node_modules/core-js/internals/number-parse-float.js ***!
  \\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");
var trim = __webpack_require__(/*! ../internals/string-trim */ \"./node_modules/core-js/internals/string-trim.js\").trim;
var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ \"./node_modules/core-js/internals/whitespaces.js\");

var \$parseFloat = global.parseFloat;
var FORCED = 1 / \$parseFloat(whitespaces + '-0') !== -Infinity;

// `parseFloat` method
// https://tc39.es/ecma262/#sec-parsefloat-string
module.exports = FORCED ? function parseFloat(string) {
  var trimmedString = trim(String(string));
  var result = \$parseFloat(trimmedString);
  return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
} : \$parseFloat;


/***/ }),

/***/ \"./node_modules/core-js/internals/string-trim-forced.js\":
/*!**************************************************************!*\\
  !*** ./node_modules/core-js/internals/string-trim-forced.js ***!
  \\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");
var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ \"./node_modules/core-js/internals/whitespaces.js\");

var non = '\\u200B\\u0085\\u180E';

// check that a method works with the correct list
// of whitespaces and has a correct name
module.exports = function (METHOD_NAME) {
  return fails(function () {
    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
  });
};


/***/ }),

/***/ \"./node_modules/core-js/modules/es.array.find.js\":
/*!*******************************************************!*\\
  !*** ./node_modules/core-js/modules/es.array.find.js ***!
  \\*******************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";

var \$ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");
var \$find = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").find;
var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ \"./node_modules/core-js/internals/add-to-unscopables.js\");

var FIND = 'find';
var SKIPS_HOLES = true;

// Shouldn't skip holes
if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });

// `Array.prototype.find` method
// https://tc39.es/ecma262/#sec-array.prototype.find
\$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
  find: function find(callbackfn /* , that = undefined */) {
    return \$find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});

// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables(FIND);


/***/ }),

/***/ \"./node_modules/core-js/modules/es.function.name.js\":
/*!**********************************************************!*\\
  !*** ./node_modules/core-js/modules/es.function.name.js ***!
  \\**********************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;

var FunctionPrototype = Function.prototype;
var FunctionPrototypeToString = FunctionPrototype.toString;
var nameRE = /^\\s*function ([^ (]*)/;
var NAME = 'name';

// Function instances `.name` property
// https://tc39.es/ecma262/#sec-function-instances-name
if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
  defineProperty(FunctionPrototype, NAME, {
    configurable: true,
    get: function () {
      try {
        return FunctionPrototypeToString.call(this).match(nameRE)[1];
      } catch (error) {
        return '';
      }
    }
  });
}


/***/ }),

/***/ \"./node_modules/core-js/modules/es.parse-float.js\":
/*!********************************************************!*\\
  !*** ./node_modules/core-js/modules/es.parse-float.js ***!
  \\********************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

var \$ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");
var parseFloatImplementation = __webpack_require__(/*! ../internals/number-parse-float */ \"./node_modules/core-js/internals/number-parse-float.js\");

// `parseFloat` method
// https://tc39.es/ecma262/#sec-parsefloat-string
\$({ global: true, forced: parseFloat != parseFloatImplementation }, {
  parseFloat: parseFloatImplementation
});


/***/ }),

/***/ \"./node_modules/core-js/modules/es.string.trim.js\":
/*!********************************************************!*\\
  !*** ./node_modules/core-js/modules/es.string.trim.js ***!
  \\********************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";

var \$ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");
var \$trim = __webpack_require__(/*! ../internals/string-trim */ \"./node_modules/core-js/internals/string-trim.js\").trim;
var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ \"./node_modules/core-js/internals/string-trim-forced.js\");

// `String.prototype.trim` method
// https://tc39.es/ecma262/#sec-string.prototype.trim
\$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
  trim: function trim() {
    return \$trim(this);
  }
});


/***/ }),

/***/ \"./node_modules/core-js/modules/web.timers.js\":
/*!****************************************************!*\\
  !*** ./node_modules/core-js/modules/web.timers.js ***!
  \\****************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

var \$ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");
var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");
var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ \"./node_modules/core-js/internals/engine-user-agent.js\");

var slice = [].slice;
var MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check

var wrap = function (scheduler) {
  return function (handler, timeout /* , ...arguments */) {
    var boundArgs = arguments.length > 2;
    var args = boundArgs ? slice.call(arguments, 2) : undefined;
    return scheduler(boundArgs ? function () {
      // eslint-disable-next-line no-new-func -- spec requirement
      (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
    } : handler, timeout);
  };
};

// ie9- setTimeout & setInterval additional parameters fix
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
\$({ global: true, bind: true, forced: MSIE }, {
  // `setTimeout` method
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
  setTimeout: wrap(global.setTimeout),
  // `setInterval` method
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
  setInterval: wrap(global.setInterval)
});


/***/ })

},
/******/ __webpack_require__ => { // webpackRuntimeModules
/******/ \"use strict\";
/******/ 
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
/******/ __webpack_require__.O(0, [\"vendors-node_modules_core-js_internals_engine-user-agent_js-node_modules_core-js_internals_ex-b41e05\",\"vendors-node_modules_jquery_dist_jquery_js\",\"vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_a-5c631b\",\"vendors-node_modules_core-js_internals_array-method-has-species-support_js-node_modules_core--4e4faa\",\"vendors-node_modules_core-js_internals_function-bind_js-node_modules_core-js_modules_es_array-1797b9\",\"vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-b69ea3\",\"assets_js_map_js\"], () => (__webpack_exec__(\"./assets/js/contrats_a_servir.js\")));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvY29udHJhdHNfYV9zZXJ2aXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL251bWJlci1wYXJzZS1mbG9hdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvc3RyaW5nLXRyaW0tZm9yY2VkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lcy5wYXJzZS1mbG9hdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy50cmltLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvd2ViLnRpbWVycy5qcyJdLCJuYW1lcyI6WyIkIiwiZG9jdW1lbnQiLCJyZWFkeSIsIm1hcENvbnRhaW5lciIsIndpbmRvdyIsInJlc2l6ZSIsImhlaWdodCIsInNIIiwibWFwV2lkdGgiLCJwYWdpbmF0aW9uV2lkdGgiLCJpcyIsImNzcyIsIm1hcCIsInRyaWdnZXIiLCJvbiIsImUiLCJmb3JtIiwiZGF0YSIsIm5hbWUiLCJhdHRyIiwidmFsIiwic3VibWl0IiwiaHRtbCIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzZWFyY2hDYXMiLCJwYWdlIiwiY29uc29sZSIsImxvZyIsIiRidG4iLCJjbGllbnRJZCIsImVxdWlwZW1lbnRJZCIsImFqYXgiLCJtZXRob2QiLCJ1cmwiLCJjYW5hbElkIiwic3VjY2VzcyIsInJlc3BvbnNlIiwic3RhdHVzIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsInNldFRpbWVvdXQiLCJsYXN0QXBwZWxIdG1sIiwiJGluZm9Db250YWluZXIiLCJuZXh0IiwibGVuZ3RoIiwiYWZ0ZXIiLCJlcnJvciIsInhociIsImFnZW50IiwiZ3JvdXBlIiwic2l0ZSIsImZpbmQiLCJvdmVybGF5UmR2Iiwib3ZlcmxheUdwcyIsIm92ZXJsYXlDYXMiLCJvblNpbmdsZUNsaWNrRmVhdHVyZSIsInRvZ2dsZVN1Ym1pdEJ1dHRvbiIsIiRzdWJtaXRCdG4iLCIkaW50ZXJ2ZW50aW9uIiwiJG51bUNsaWVudCIsIiRhZHJlc3NlIiwiJGFnZW50IiwiaGFzSW50ZXJ2ZW50aW9uIiwiaGFzTnVtQ2xpZW50IiwidHJpbSIsImhhc0FkcmVzc2UiLCJoYXNBZ2VudCIsInByb3AiLCJvYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJtdXRhdGlvbnMiLCJ0YXJnZXRJbnRlcnZlbnRpb24iLCJnZXRFbGVtZW50QnlJZCIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJzdWJ0cmVlIiwidGFyZ2V0QWdlbnQiLCJhdXRvY29tcGxldGUiLCJzb3VyY2UiLCJyZXF1ZXN0IiwiZGF0YVR5cGUiLCJmZWF0dXJlcyIsIml0ZW0iLCJhZHJlc3NlcyIsImluQXJyYXkiLCJwcm9wZXJ0aWVzIiwibGFiZWwiLCJob3VzZW51bWJlciIsInB1c2giLCJjaXR5IiwicG9zdGNvZGUiLCJjb29yZGluYXRlcyIsImdlb21ldHJ5Iiwic2VsZWN0IiwidWkiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiZ2V0Iiwic2hvdyIsInJlbW92ZUZlYXR1cmVzIiwidmVjdG9yU291cmNlIiwicHVuYWlzZXMiLCJzZWN0ZXVycyIsImZvckVhY2giLCJzZWN0ZXVyIiwiY291bGV1ciIsImFnZW50UHJpbmNpcGFsIiwiaWQiLCJjb29yZG9ubmVlcyIsImFkZFBvbHlnb24iLCJjZW50ZXIiLCJsYXQiLCJsb24iLCJyYXlvbiIsImFkZFNlYXJjaENpcmNsZSIsInBhcnNlRmxvYXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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R0FBRyx3RUFBd0U7QUFDM0U7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7QUNYRCxRQUFRLG1CQUFPLENBQUMsdUVBQXFCO0FBQ3JDLGFBQWEsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDMUMsZ0JBQWdCLG1CQUFPLENBQUMsNkZBQWdDOztBQUV4RDtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRyx5Q0FBeUM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiJjYXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgYWRkTWFya2VyLFxyXG4gICAgY3JlYXRlQ3VzdG9tSWNvbixcclxuICAgIGNoYW5nZVZpZXcsXHJcbiAgICBtYXAsXHJcbiAgICB2ZWN0b3JTb3VyY2UsXHJcbiAgICByZW1vdmVGZWF0dXJlcyxcclxuICAgIHB1bmFpc2VQaWN0byxcclxuICAgIGZpdE1hcFRvRmVhdHVyZXMsXHJcbiAgICBzaG93T3ZlcmxheSxcclxuICAgIGhpZGVPdmVybGF5LFxyXG4gICAgcmVtb3ZlRmVhdHVyZXNCeURhdGFWYWx1ZSwgb3ZlcmxheVJkdiwgb3ZlcmxheUdwcywgb3ZlcmxheUNhcywgaW5pdFBvcHVwT3ZlcmxheVJkdiwgb25TaW5nbGVDbGlja0ZlYXR1cmUsIHB1bmFpc2VzLCBhZGRQb2x5Z29uLCBhZGRTZWFyY2hDaXJjbGVcclxufSBmcm9tIFwiLi9tYXBcIjtcclxuaW1wb3J0IENvbnRyb2wgZnJvbSBcIm9sL2NvbnRyb2wvQ29udHJvbFwiO1xyXG5pbXBvcnQgT3ZlcmxheSBmcm9tICdvbC9PdmVybGF5JztcclxuXHJcbi8vaW1hZ2VzXHJcbmltcG9ydCBwdW5haXNlRGVmYXVsdEltZyBmcm9tICcuLi9pbWFnZXMvcHVuYWlzZS5wbmcnO1xyXG5pbXBvcnQgcHVuYWlzZVJlZEltZyBmcm9tICcuLi9pbWFnZXMvcHVuYWlzZS1yZWQucG5nJztcclxuaW1wb3J0IHB1bmFpc2VHcmVlbkltZyBmcm9tICcuLi9pbWFnZXMvcHVuYWlzZS1ncmVlbi5wbmcnO1xyXG5pbXBvcnQgcHVuYWlzZUJsdWVJbWcgZnJvbSAnLi4vaW1hZ2VzL3B1bmFpc2UtYmx1ZS5wbmcnO1xyXG5pbXBvcnQgcHVuYWlzZVdoaXRlSW1nIGZyb20gJy4uL2ltYWdlcy9wdW5haXNlLXdoaXRlLnBuZyc7XHJcbmltcG9ydCBsZWdlbmRlIGZyb20gXCIuLi9pbWFnZXMvbGVnZW5kZS5wbmdcIjtcclxuaW1wb3J0IHtpc051bGx9IGZyb20gXCJvbC9mb3JtYXQvZmlsdGVyXCI7XHJcbmltcG9ydCB7ZnJvbUxvbkxhdH0gZnJvbSBcIm9sL3Byb2pcIjtcclxuaW1wb3J0IHtGZWF0dXJlfSBmcm9tIFwib2xcIjtcclxuaW1wb3J0IHtMaW5lU3RyaW5nfSBmcm9tIFwib2wvZ2VvbVwiO1xyXG5pbXBvcnQge1N0cm9rZSwgU3R5bGV9IGZyb20gXCJvbC9zdHlsZVwiO1xyXG5cclxuJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc3QgbWFwQ29udGFpbmVyID0gJCgnI21hcCcpOyAvLyBSw6ljdXDDqHJlIGwnw6lsw6ltZW50IGNvbnRlbmFudCBsYSBjYXJ0ZVxyXG5cclxuICAgIC8qcmVkaW1lbnNpb25uZW1lbnQgY2FydGUqL1xyXG4gICAgJCh3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGhlaWdodCA9IDIwMDtcclxuICAgICAgICB2YXIgc0ggPSAkKHdpbmRvdykuaGVpZ2h0KCkgLSBoZWlnaHQ7XHJcbiAgICAgICAgdmFyIG1hcFdpZHRoID0gJzEwMCUnO1xyXG4gICAgICAgIHZhciBwYWdpbmF0aW9uV2lkdGggPSAnMCUnO1xyXG5cclxuICAgICAgICBpZiAoJCgnI2NhcmRQYWdpbmF0aW9uJykuaXMoJzp2aXNpYmxlJykpIHtcclxuICAgICAgICAgICAgbWFwV2lkdGggPSAnY2FsYyg3MCUgLSA1cHgpJztcclxuICAgICAgICAgICAgcGFnaW5hdGlvbldpZHRoID0gJzMwJSc7XHJcbiAgICAgICAgICAgICQoJyNjbGllbnRBU2VydmlyQ29udGVudCcpLmNzcyh7XHJcbiAgICAgICAgICAgICAgICAnZGlzcGxheSc6ICdmbGV4JyxcclxuICAgICAgICAgICAgICAgICdnYXAnOiAnNXB4J1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAkKCcjY2xpZW50QVNlcnZpckNvbnRlbnQnKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG1hcENvbnRhaW5lci5jc3Moe1xyXG4gICAgICAgICAgICAnaGVpZ2h0Jzogc0ggKyAncHgnLFxyXG4gICAgICAgICAgICAnbWF4LWhlaWdodCc6IHNIICsgJ3B4JyxcclxuICAgICAgICAgICAgJ3dpZHRoJzogbWFwV2lkdGhcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJCgnI2NhcmRQYWdpbmF0aW9uJykuY3NzKHtcclxuICAgICAgICAgICAgJ2hlaWdodCc6IChzSCArIDMwKSArICdweCcsXHJcbiAgICAgICAgICAgICd3aWR0aCc6IHBhZ2luYXRpb25XaWR0aFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKCcjc2lkZWJhck1hcCcpLmNzcygnaGVpZ2h0Jywgc0ggKyAncHgnKTtcclxuXHJcbiAgICAgICAgaWYgKG1hcCkge1xyXG4gICAgICAgICAgICBtYXAudXBkYXRlU2l6ZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG5cclxuICAgICQoJ2JvZHknKS5vbignY2hhbmdlJywgJy5jaGFuZ2VfcmVjaGVyY2hlX2NhcycsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICB2YXIgZm9ybSA9ICQodGhpcykuZGF0YSgnZm9ybS1jaGFuZ2UnKTtcclxuICAgICAgICB2YXIgbmFtZSA9ICQodGhpcykuYXR0cignbmFtZScpO1xyXG4gICAgICAgICQoZm9ybSArICcgPiBpbnB1dFtuYW1lPXR5cGVfY2hhbmdlXScpLnZhbChuYW1lKTtcclxuICAgICAgICAkKGZvcm0gKyAnID4gaW5wdXRbbmFtZT1kYXRhX3ZhbHVlXScpLnZhbCgkKHRoaXMpLnZhbCgpKTtcclxuICAgICAgICAkKGZvcm0gKyAnID4gaW5wdXRbbmFtZT1kYXRlX3ZhbHVlXScpLnZhbCgkKCcjZGF0ZV9jYXMnKS52YWwoKSk7XHJcbiAgICAgICAgJChmb3JtKS5kYXRhKCd0YXJnZXQtaHRtbCcsICQodGhpcykuZGF0YSgndGFyZ2V0JykpO1xyXG4gICAgICAgICQoZm9ybSkuc3VibWl0KCk7XHJcbiAgICAgICAgLy9zaSBub20gPSBzaXRlIG9uIHZpZGUgbGEgc2VsZWN0aW9uIGdyb3VwZSBhZ2VudCBldCBpbnRlcnZlbnRpb25cclxuICAgICAgICBpZiAobmFtZSA9PSAnc2l0ZScpIHtcclxuICAgICAgICAgICAgJCgnI2dyb3VwZScpLnZhbCgnJyk7XHJcbiAgICAgICAgICAgICQoJyNhZ2VudCcpLmh0bWwoJycpO1xyXG4gICAgICAgICAgICAkKCcjaW50ZXJ2ZW50aW9uJykuaHRtbCgnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vc2kgbm9tID0gZ3JvdXBlLCBvbiB2aWRlIGxhIHNlbGVjdGlvbiBhZ2VudCBldCBpbnRlcnZlbnRpb25cclxuICAgICAgICBlbHNlIGlmIChuYW1lID09ICdncm91cGUnKSB7XHJcbiAgICAgICAgICAgICQoJyNhZ2VudCcpLnZhbCgnJyk7XHJcbiAgICAgICAgICAgICQoJyNpbnRlcnZlbnRpb24nKS5odG1sKCcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zaSBub20gPSBhZ2VudCwgb24gdmlkZSBsYSBzZWxlY3Rpb24gaW50ZXJ2ZW50aW9uXHJcbiAgICAgICAgZWxzZSBpZiAobmFtZSA9PSAnYWdlbnQnKSB7XHJcbiAgICAgICAgICAgICQoJyNpbnRlcnZlbnRpb24nKS5odG1sKCcnKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAkKFwiI3N1Ym1pdC1mb3JtLWNhc1wiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgc2VhcmNoQ2FzKDEpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgJCgnYm9keScpLm9uKCdjbGljaycsICcucGFnZS1saW5rLWNhcycsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdmFyIHBhZ2UgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtcGFnZScpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiQ2xpY2sgcGFnaW5hdGlvbiwgcGFnZTpcIiwgcGFnZSk7XHJcbiAgICAgICAgaWYgKHBhZ2UgJiYgcGFnZSA+IDApIHtcclxuICAgICAgICAgICAgc2VhcmNoQ2FzKHBhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgICQoJ2JvZHknKS5vbignY2xpY2snLCAnLmJ0bi1sb2ctY2FsbCcsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdmFyICRidG4gPSAkKHRoaXMpO1xyXG4gICAgICAgIHZhciBjbGllbnRJZCA9ICRidG4uZGF0YSgnY2xpZW50LWlkJyk7XHJcbiAgICAgICAgdmFyIGVxdWlwZW1lbnRJZCA9ICRidG4uZGF0YSgnZXF1aXBlbWVudC1pZCcpO1xyXG5cclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgICAgICB1cmw6IFwiL2NsaWVudHMvYWRkX2NvbW11bmljYXRpb25cIixcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgY2xpZW50SWQ6IGNsaWVudElkLFxyXG4gICAgICAgICAgICAgICAgZXF1aXBlbWVudElkOiBlcXVpcGVtZW50SWQsXHJcbiAgICAgICAgICAgICAgICBjYW5hbElkOiA0IC8vIEFwcGVsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAnc3VjY2VzcycpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBPcHRpb25uZWw6IGZlZWRiYWNrIHZpc3VlbFxyXG4gICAgICAgICAgICAgICAgICAgICRidG4ucmVtb3ZlQ2xhc3MoJ2J0bi1vdXRsaW5lLWRhbmdlcicpLmFkZENsYXNzKCdidG4tZGFuZ2VyJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGJ0bi5yZW1vdmVDbGFzcygnYnRuLWRhbmdlcicpLmFkZENsYXNzKCdidG4tb3V0bGluZS1kYW5nZXInKTtcclxuICAgICAgICAgICAgICAgICAgICB9LCAxMDAwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTWlzZSDDoCBqb3VyIGRlIGwnaW5mbyBkdSBkZXJuaWVyIGFwcGVsXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmxhc3RBcHBlbEh0bWwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0ICRpbmZvQ29udGFpbmVyID0gJGJ0bi5uZXh0KCcudGV4dC1lbmQnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkaW5mb0NvbnRhaW5lci5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvQ29udGFpbmVyLmh0bWwocmVzcG9uc2UubGFzdEFwcGVsSHRtbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaSBsZSBjb250ZW5ldXIgbidleGlzdGUgcGFzIGVuY29yZSAocGFzIGQnYXBwZWwgcsOpY2VudCBhdmFudCBjZWx1aS1jaSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRidG4uYWZ0ZXIoJzxkaXYgY2xhc3M9XCJ0ZXh0LWVuZFwiIHN0eWxlPVwiZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogI2U3NGMzYzsgd2lkdGg6IDEyM3B4O1wiPicgKyByZXNwb25zZS5sYXN0QXBwZWxIdG1sICsgJzwvZGl2PicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oeGhyLCBzdGF0dXMsIGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyZXVyIGxvcnMgZGUgbCdlbnJlZ2lzdHJlbWVudCBkZSBsJ2FwcGVsOlwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgICQoJ2JvZHknKS5vbignY2hhbmdlJywgJyNkYXRlX2NhcycsIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHZhciBhZ2VudCA9ICQoJyNhZ2VudCcpLnZhbCgpO1xyXG4gICAgICAgIHZhciBncm91cGUgPSAkKCcjZ3JvdXBlJykudmFsKCk7XHJcbiAgICAgICAgdmFyIHNpdGUgPSAkKCdzZWxlY3RbbmFtZT1zaXRlXScpLnZhbCgpO1xyXG4gICAgICAgIHZhciBmb3JtID0gJCgnI2Zvcm0tY2hhbmdlLWNhcy1yZWNoZXJjaGUnKTtcclxuXHJcbiAgICAgICAgaWYgKGFnZW50ICYmIGFnZW50ICE9PSAnJykge1xyXG4gICAgICAgICAgICBmb3JtLmZpbmQoJ2lucHV0W25hbWU9dHlwZV9jaGFuZ2VdJykudmFsKCdhZ2VudCcpO1xyXG4gICAgICAgICAgICBmb3JtLmZpbmQoJ2lucHV0W25hbWU9ZGF0YV92YWx1ZV0nKS52YWwoYWdlbnQpO1xyXG4gICAgICAgICAgICBmb3JtLmRhdGEoJ3RhcmdldC1odG1sJywgJyN0YXJnZXQtY2FzX2ludGVydmVudGlvbicpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZ3JvdXBlICYmIGdyb3VwZSAhPT0gJycpIHtcclxuICAgICAgICAgICAgZm9ybS5maW5kKCdpbnB1dFtuYW1lPXR5cGVfY2hhbmdlXScpLnZhbCgnZ3JvdXBlJyk7XHJcbiAgICAgICAgICAgIGZvcm0uZmluZCgnaW5wdXRbbmFtZT1kYXRhX3ZhbHVlXScpLnZhbChncm91cGUpO1xyXG4gICAgICAgICAgICBmb3JtLmRhdGEoJ3RhcmdldC1odG1sJywgJyN0YXJnZXQtY2FzX2FnZW50Jyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzaXRlICYmIHNpdGUgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGZvcm0uZmluZCgnaW5wdXRbbmFtZT10eXBlX2NoYW5nZV0nKS52YWwoJ3NpdGUnKTtcclxuICAgICAgICAgICAgZm9ybS5maW5kKCdpbnB1dFtuYW1lPWRhdGFfdmFsdWVdJykudmFsKHNpdGUpO1xyXG4gICAgICAgICAgICBmb3JtLmRhdGEoJ3RhcmdldC1odG1sJywgJyN0YXJnZXQtY2FzX2dyb3VwZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9ybS5maW5kKCdpbnB1dFtuYW1lPWRhdGVfdmFsdWVdJykudmFsKCQodGhpcykudmFsKCkpO1xyXG4gICAgICAgIGZvcm0udHJpZ2dlcignc3VibWl0Jyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBtYXAuYWRkT3ZlcmxheShvdmVybGF5UmR2KTtcclxuICAgIG1hcC5hZGRPdmVybGF5KG92ZXJsYXlHcHMpO1xyXG4gICAgbWFwLmFkZE92ZXJsYXkob3ZlcmxheUNhcyk7XHJcblxyXG4gICAgbWFwLm9uKCdzaW5nbGVjbGljaycsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIG9uU2luZ2xlQ2xpY2tGZWF0dXJlKGV2ZW50KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8qIEdlc3Rpb24gZGUgbCdhY3RpdmF0aW9uIGR1IGJvdXRvbiBkZSByZWNoZXJjaGUgZXQgYmxvY2FnZSBkZXMgY2hhbXBzIG11dHVlbGxlbWVudCBleGNsdXNpZnMgKi9cclxuICAgIGZ1bmN0aW9uIHRvZ2dsZVN1Ym1pdEJ1dHRvbigpIHtcclxuICAgICAgICBjb25zdCAkc3VibWl0QnRuID0gJChcIiNzdWJtaXQtZm9ybS1jYXNcIik7XHJcbiAgICAgICAgY29uc3QgJGludGVydmVudGlvbiA9ICQoJyNpbnRlcnZlbnRpb24nKTtcclxuICAgICAgICBjb25zdCAkbnVtQ2xpZW50ID0gJCgnI2Nhc19udW1fY2xpZW50Jyk7XHJcbiAgICAgICAgY29uc3QgJGFkcmVzc2UgPSAkKCcjY2FzX2FkcmVzc2VfYXV0bycpO1xyXG4gICAgICAgIGNvbnN0ICRhZ2VudCA9ICQoJyNhZ2VudCcpO1xyXG5cclxuICAgICAgICBjb25zdCBoYXNJbnRlcnZlbnRpb24gPSAkaW50ZXJ2ZW50aW9uLmxlbmd0aCA+IDAgJiYgJGludGVydmVudGlvbi52YWwoKSAmJiAkaW50ZXJ2ZW50aW9uLnZhbCgpICE9PSAnJztcclxuICAgICAgICBjb25zdCBoYXNOdW1DbGllbnQgPSAkbnVtQ2xpZW50Lmxlbmd0aCA+IDAgJiYgJG51bUNsaWVudC52YWwoKSAmJiAkbnVtQ2xpZW50LnZhbCgpLnRyaW0oKSAhPT0gJyc7XHJcbiAgICAgICAgY29uc3QgaGFzQWRyZXNzZSA9ICRhZHJlc3NlLmxlbmd0aCA+IDAgJiYgJGFkcmVzc2UudmFsKCkgJiYgJGFkcmVzc2UudmFsKCkudHJpbSgpICE9PSAnJztcclxuICAgICAgICBjb25zdCBoYXNBZ2VudCA9ICRhZ2VudC5sZW5ndGggPiAwICYmICRhZ2VudC52YWwoKSAmJiAkYWdlbnQudmFsKCkgIT09ICcnO1xyXG5cclxuICAgICAgICAvLyBCbG9jYWdlIGRlcyBjaGFtcHMgbXV0dWVsbGVtZW50IGV4Y2x1c2lmc1xyXG4gICAgICAgIGlmIChoYXNJbnRlcnZlbnRpb24pIHtcclxuICAgICAgICAgICAgJG51bUNsaWVudC5wcm9wKCdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgICAgICAkYWRyZXNzZS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaGFzTnVtQ2xpZW50KSB7XHJcbiAgICAgICAgICAgICRpbnRlcnZlbnRpb24ucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTtcclxuICAgICAgICAgICAgJGFkcmVzc2UucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGhhc0FkcmVzc2UpIHtcclxuICAgICAgICAgICAgJGludGVydmVudGlvbi5wcm9wKCdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgICAgICAkbnVtQ2xpZW50LnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgJGludGVydmVudGlvbi5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTtcclxuICAgICAgICAgICAgJG51bUNsaWVudC5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTtcclxuICAgICAgICAgICAgJGFkcmVzc2UucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaGFzQWdlbnQgJiYgKGhhc0ludGVydmVudGlvbiB8fCBoYXNOdW1DbGllbnQgfHwgaGFzQWRyZXNzZSkpIHtcclxuICAgICAgICAgICAgJHN1Ym1pdEJ0bi5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAkc3VibWl0QnRuLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEluaXRpYWxpc2F0aW9uXHJcbiAgICB0b2dnbGVTdWJtaXRCdXR0b24oKTtcclxuXHJcbiAgICAvLyDDiWNvdXRldXJzIGQnw6l2w6luZW1lbnRzXHJcbiAgICAkKCdib2R5Jykub24oJ2NoYW5nZScsICcjaW50ZXJ2ZW50aW9uLCAjY2FzX251bV9jbGllbnQsICNjYXNfYWRyZXNzZV9hdXRvLCAjYWdlbnQnLCBmdW5jdGlvbigpIHtcclxuICAgICAgICB0b2dnbGVTdWJtaXRCdXR0b24oKTtcclxuICAgIH0pO1xyXG4gICAgJCgnYm9keScpLm9uKCdpbnB1dCcsICcjY2FzX251bV9jbGllbnQsICNjYXNfYWRyZXNzZV9hdXRvJywgZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgdG9nZ2xlU3VibWl0QnV0dG9uKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBPbiBzJ2Fzc3VyZSBxdWUgc2kgbGUgY29udGVudSBkZSAjdGFyZ2V0LWNhc19pbnRlcnZlbnRpb24gb3UgI3RhcmdldC1jYXNfYWdlbnQgY2hhbmdlIChyZWNoYXJnZW1lbnQgQUpBWCksIG9uIHbDqXJpZmllIGxlIGJvdXRvblxyXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihtdXRhdGlvbnMpIHtcclxuICAgICAgICB0b2dnbGVTdWJtaXRCdXR0b24oKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHRhcmdldEludGVydmVudGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQtY2FzX2ludGVydmVudGlvbicpO1xyXG4gICAgaWYgKHRhcmdldEludGVydmVudGlvbikge1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0SW50ZXJ2ZW50aW9uLCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0YXJnZXRBZ2VudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQtY2FzX2FnZW50Jyk7XHJcbiAgICBpZiAodGFyZ2V0QWdlbnQpIHtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldEFnZW50LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAkKCcjcmVzZXQtZm9ybS1jYXMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAvLyBPbiBhdHRlbmQgcXVlIGxlIHJlc2V0IHNvaXQgZWZmZWN0aWYgYXZhbnQgZGUgdsOpcmlmaWVyXHJcbiAgICAgICAgc2V0VGltZW91dCh0b2dnbGVTdWJtaXRCdXR0b24sIDEwKTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICAkKCdpbnB1dFtuYW1lPWNhc19hZHJlc3NlX2F1dG9dJykuYXV0b2NvbXBsZXRlKHtcclxuICAgICAgICBzb3VyY2U6IGZ1bmN0aW9uKHJlcXVlc3QsIHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICQuYWpheCh7XHJcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXHJcbiAgICAgICAgICAgICAgICB1cmw6ICdodHRwczovL2FwaS1hZHJlc3NlLmRhdGEuZ291di5mci9zZWFyY2gvP3E9JyArICQoXCJpbnB1dFtuYW1lPSdjYXNfYWRyZXNzZV9hdXRvJ11cIikudmFsKCkgKyAnJnR5cGU9aG91c2VudW1iZXImYXV0b2NvbXBsZXRlPTEmbGltaXQ9MTAnLFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6IFwianNvblwiLFxyXG4gICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UoJC5tYXAoZGF0YS5mZWF0dXJlcywgZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFkcmVzc2VzID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEljaSBvbiBlc3Qgb2JsaWfDqSBkJ2Fqb3V0ZXIgbGVzIENQIGRhbnMgdW4gYXJyYXkgcG91ciBuZSBwYXMgYXZvaXIgcGx1c2lldXJzIGZvaXMgbGUgbcOqbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQuaW5BcnJheShpdGVtLnByb3BlcnRpZXMubGFiZWwsIGFkcmVzc2VzKSA9PSAtMSAmJiBpdGVtLnByb3BlcnRpZXMuaG91c2VudW1iZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkcmVzc2VzLnB1c2goaXRlbS5wcm9wZXJ0aWVzLmxhYmVsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbGFiZWw6IGl0ZW0ucHJvcGVydGllcy5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaXR5OiBpdGVtLnByb3BlcnRpZXMuY2l0eSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3N0Y29kZTogaXRlbS5wcm9wZXJ0aWVzLnBvc3Rjb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0ucHJvcGVydGllcy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBpdGVtLmdlb21ldHJ5LmNvb3JkaW5hdGVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gT24gcmVtcGxpdCBhdXNzaSBsYSB2aWxsZVxyXG4gICAgICAgIHNlbGVjdDogZnVuY3Rpb24oZXZlbnQsIHVpKSB7XHJcbiAgICAgICAgICAgICQoXCJpbnB1dFtuYW1lPSdjb2RlX3Bvc3RhbCddXCIpLnZhbCh1aS5pdGVtLnBvc3Rjb2RlKTtcclxuICAgICAgICAgICAgJChcImlucHV0W25hbWU9J3ZpbGxlJ11cIikudmFsKHVpLml0ZW0uY2l0eSk7XHJcbiAgICAgICAgICAgICQoXCJpbnB1dFtuYW1lPSdhZHJlc3NlJ11cIikudmFsKHVpLml0ZW0ubmFtZSk7XHJcbiAgICAgICAgICAgICQoXCJpbnB1dFtuYW1lPSdjb29yZGluYXRlcyddXCIpLnZhbCh1aS5pdGVtLmNvb3JkaW5hdGVzKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxufSk7XHJcblxyXG5mdW5jdGlvbiBzZWFyY2hDYXMocGFnZSA9IDEpe1xyXG4gICAgbGV0IGZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybV9jYXMnKTtcclxuICAgIGlmICghZm9ybSkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJGb3JtdWxhaXJlIGZvcm1fY2FzIG5vbiB0cm91dsOpXCIpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YShmb3JtKTtcclxuXHJcbiAgICAkLmFqYXgoe1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgdXJsOiAgJy9tYXAvc2VhcmNoX2NhcycsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBcInNpdGVcIjogZm9ybURhdGEuZ2V0KCdzaXRlJyksIFxyXG4gICAgICAgICAgICBcImFnZW50XCI6IGZvcm1EYXRhLmdldCgnYWdlbnQnKSwgXHJcbiAgICAgICAgICAgIFwiZGF0ZVwiOiBmb3JtRGF0YS5nZXQoJ2RhdGVfY2FzJyksIFxyXG4gICAgICAgICAgICBcImludGVydmVudGlvblwiOiBmb3JtRGF0YS5nZXQoJ2ludGVydmVudGlvbicpLCBcclxuICAgICAgICAgICAgXCJudW1fY2xpZW50XCI6IGZvcm1EYXRhLmdldCgnbnVtX2NsaWVudCcpLFxyXG4gICAgICAgICAgICBcImNvb3JkaW5hdGVzXCI6IGZvcm1EYXRhLmdldCgnY29vcmRpbmF0ZXMnKSxcclxuICAgICAgICAgICAgXCJyYXlvblwiOiBmb3JtRGF0YS5nZXQoJ3JheW9uJyksIFxyXG4gICAgICAgICAgICBcInRyaVwiOiBmb3JtRGF0YS5nZXQoJ3RyaScpLFxyXG4gICAgICAgICAgICBcImNoZWNrX3F1YWxpZlwiOiBmb3JtRGF0YS5nZXQoJ2NoZWNrX3F1YWxpZicpLFxyXG4gICAgICAgICAgICBcInBhZ2VcIjogcGFnZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YVR5cGU6IFwianNvblwiLFxyXG4gICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpe1xyXG4gICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgPT09ICdlcnJvcicpIHtcclxuICAgICAgICAgICAgICAgICQoJyNjYXJkUGFnaW5hdGlvbicpLmh0bWwoZGF0YS5odG1sKS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICByZW1vdmVGZWF0dXJlcyh2ZWN0b3JTb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlbW92ZUZlYXR1cmVzKHZlY3RvclNvdXJjZSk7IC8vIE9uIHZpZGUgbGEgY2FydGUgYXZhbnQgZCdham91dGVyIGxlcyBub3V2ZWxsZXMgcHVuYWlzZXNcclxuICAgICAgICAgICAgcHVuYWlzZXMoZGF0YSk7XHJcbiAgICAgICAgICAgIGlmIChkYXRhLnNlY3RldXJzKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnNlY3RldXJzLmZvckVhY2goKHNlY3RldXIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY291bGV1ciA9ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHNlY3RldXIuYWdlbnRQcmluY2lwYWwgJiYgc2VjdGV1ci5hZ2VudFByaW5jaXBhbC5pZCAmJiBzZWN0ZXVyLmFnZW50UHJpbmNpcGFsLmlkID09IGRhdGEuYWdlbnQuaWQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VsZXVyID0gJyMxOGJjOWMnO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAoc2VjdGV1ci5jb29yZG9ubmVlcyAmJiBzZWN0ZXVyLmNvb3Jkb25uZWVzLmNvb3JkaW5hdGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZFBvbHlnb24oc2VjdGV1ci5jb29yZG9ubmVlcy5jb29yZGluYXRlc1swXSwgY291bGV1cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGRhdGEuY2VudGVyICYmIGRhdGEuY2VudGVyLmxhdCAmJiBkYXRhLmNlbnRlci5sb24gJiYgZGF0YS5jZW50ZXIucmF5b24pIHtcclxuICAgICAgICAgICAgICAgIGFkZFNlYXJjaENpcmNsZShbcGFyc2VGbG9hdChkYXRhLmNlbnRlci5sb24pLCBwYXJzZUZsb2F0KGRhdGEuY2VudGVyLmxhdCldLCBwYXJzZUZsb2F0KGRhdGEuY2VudGVyLnJheW9uKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJCgnI2NhcmRQYWdpbmF0aW9uJykuaHRtbChkYXRhLmh0bWwpLnNob3coKTtcclxuICAgICAgICAgICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKHhociwgc3RhdHVzLCBlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyZXVyIGxvcnMgZGUgbGEgcmVjaGVyY2hlIENBUzpcIiwgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbn1cclxuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciB0cmltID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3N0cmluZy10cmltJykudHJpbTtcbnZhciB3aGl0ZXNwYWNlcyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy93aGl0ZXNwYWNlcycpO1xuXG52YXIgJHBhcnNlRmxvYXQgPSBnbG9iYWwucGFyc2VGbG9hdDtcbnZhciBGT1JDRUQgPSAxIC8gJHBhcnNlRmxvYXQod2hpdGVzcGFjZXMgKyAnLTAnKSAhPT0gLUluZmluaXR5O1xuXG4vLyBgcGFyc2VGbG9hdGAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLXBhcnNlZmxvYXQtc3RyaW5nXG5tb2R1bGUuZXhwb3J0cyA9IEZPUkNFRCA/IGZ1bmN0aW9uIHBhcnNlRmxvYXQoc3RyaW5nKSB7XG4gIHZhciB0cmltbWVkU3RyaW5nID0gdHJpbShTdHJpbmcoc3RyaW5nKSk7XG4gIHZhciByZXN1bHQgPSAkcGFyc2VGbG9hdCh0cmltbWVkU3RyaW5nKTtcbiAgcmV0dXJuIHJlc3VsdCA9PT0gMCAmJiB0cmltbWVkU3RyaW5nLmNoYXJBdCgwKSA9PSAnLScgPyAtMCA6IHJlc3VsdDtcbn0gOiAkcGFyc2VGbG9hdDtcbiIsInZhciBmYWlscyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9mYWlscycpO1xudmFyIHdoaXRlc3BhY2VzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3doaXRlc3BhY2VzJyk7XG5cbnZhciBub24gPSAnXFx1MjAwQlxcdTAwODVcXHUxODBFJztcblxuLy8gY2hlY2sgdGhhdCBhIG1ldGhvZCB3b3JrcyB3aXRoIHRoZSBjb3JyZWN0IGxpc3Rcbi8vIG9mIHdoaXRlc3BhY2VzIGFuZCBoYXMgYSBjb3JyZWN0IG5hbWVcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE1FVEhPRF9OQU1FKSB7XG4gIHJldHVybiBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuICEhd2hpdGVzcGFjZXNbTUVUSE9EX05BTUVdKCkgfHwgbm9uW01FVEhPRF9OQU1FXSgpICE9IG5vbiB8fCB3aGl0ZXNwYWNlc1tNRVRIT0RfTkFNRV0ubmFtZSAhPT0gTUVUSE9EX05BTUU7XG4gIH0pO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2V4cG9ydCcpO1xudmFyICRmaW5kID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2FycmF5LWl0ZXJhdGlvbicpLmZpbmQ7XG52YXIgYWRkVG9VbnNjb3BhYmxlcyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hZGQtdG8tdW5zY29wYWJsZXMnKTtcblxudmFyIEZJTkQgPSAnZmluZCc7XG52YXIgU0tJUFNfSE9MRVMgPSB0cnVlO1xuXG4vLyBTaG91bGRuJ3Qgc2tpcCBob2xlc1xuaWYgKEZJTkQgaW4gW10pIEFycmF5KDEpW0ZJTkRdKGZ1bmN0aW9uICgpIHsgU0tJUFNfSE9MRVMgPSBmYWxzZTsgfSk7XG5cbi8vIGBBcnJheS5wcm90b3R5cGUuZmluZGAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWFycmF5LnByb3RvdHlwZS5maW5kXG4kKHsgdGFyZ2V0OiAnQXJyYXknLCBwcm90bzogdHJ1ZSwgZm9yY2VkOiBTS0lQU19IT0xFUyB9LCB7XG4gIGZpbmQ6IGZ1bmN0aW9uIGZpbmQoY2FsbGJhY2tmbiAvKiAsIHRoYXQgPSB1bmRlZmluZWQgKi8pIHtcbiAgICByZXR1cm4gJGZpbmQodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICB9XG59KTtcblxuLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1hcnJheS5wcm90b3R5cGUtQEB1bnNjb3BhYmxlc1xuYWRkVG9VbnNjb3BhYmxlcyhGSU5EKTtcbiIsInZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9kZXNjcmlwdG9ycycpO1xudmFyIGRlZmluZVByb3BlcnR5ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1kZWZpbmUtcHJvcGVydHknKS5mO1xuXG52YXIgRnVuY3Rpb25Qcm90b3R5cGUgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG52YXIgRnVuY3Rpb25Qcm90b3R5cGVUb1N0cmluZyA9IEZ1bmN0aW9uUHJvdG90eXBlLnRvU3RyaW5nO1xudmFyIG5hbWVSRSA9IC9eXFxzKmZ1bmN0aW9uIChbXiAoXSopLztcbnZhciBOQU1FID0gJ25hbWUnO1xuXG4vLyBGdW5jdGlvbiBpbnN0YW5jZXMgYC5uYW1lYCBwcm9wZXJ0eVxuLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1mdW5jdGlvbi1pbnN0YW5jZXMtbmFtZVxuaWYgKERFU0NSSVBUT1JTICYmICEoTkFNRSBpbiBGdW5jdGlvblByb3RvdHlwZSkpIHtcbiAgZGVmaW5lUHJvcGVydHkoRnVuY3Rpb25Qcm90b3R5cGUsIE5BTUUsIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gRnVuY3Rpb25Qcm90b3R5cGVUb1N0cmluZy5jYWxsKHRoaXMpLm1hdGNoKG5hbWVSRSlbMV07XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cbiIsInZhciAkID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2V4cG9ydCcpO1xudmFyIHBhcnNlRmxvYXRJbXBsZW1lbnRhdGlvbiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9udW1iZXItcGFyc2UtZmxvYXQnKTtcblxuLy8gYHBhcnNlRmxvYXRgIG1ldGhvZFxuLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1wYXJzZWZsb2F0LXN0cmluZ1xuJCh7IGdsb2JhbDogdHJ1ZSwgZm9yY2VkOiBwYXJzZUZsb2F0ICE9IHBhcnNlRmxvYXRJbXBsZW1lbnRhdGlvbiB9LCB7XG4gIHBhcnNlRmxvYXQ6IHBhcnNlRmxvYXRJbXBsZW1lbnRhdGlvblxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9leHBvcnQnKTtcbnZhciAkdHJpbSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zdHJpbmctdHJpbScpLnRyaW07XG52YXIgZm9yY2VkU3RyaW5nVHJpbU1ldGhvZCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zdHJpbmctdHJpbS1mb3JjZWQnKTtcblxuLy8gYFN0cmluZy5wcm90b3R5cGUudHJpbWAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLXN0cmluZy5wcm90b3R5cGUudHJpbVxuJCh7IHRhcmdldDogJ1N0cmluZycsIHByb3RvOiB0cnVlLCBmb3JjZWQ6IGZvcmNlZFN0cmluZ1RyaW1NZXRob2QoJ3RyaW0nKSB9LCB7XG4gIHRyaW06IGZ1bmN0aW9uIHRyaW0oKSB7XG4gICAgcmV0dXJuICR0cmltKHRoaXMpO1xuICB9XG59KTtcbiIsInZhciAkID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2V4cG9ydCcpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciB1c2VyQWdlbnQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZW5naW5lLXVzZXItYWdlbnQnKTtcblxudmFyIHNsaWNlID0gW10uc2xpY2U7XG52YXIgTVNJRSA9IC9NU0lFIC5cXC4vLnRlc3QodXNlckFnZW50KTsgLy8gPC0gZGlydHkgaWU5LSBjaGVja1xuXG52YXIgd3JhcCA9IGZ1bmN0aW9uIChzY2hlZHVsZXIpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChoYW5kbGVyLCB0aW1lb3V0IC8qICwgLi4uYXJndW1lbnRzICovKSB7XG4gICAgdmFyIGJvdW5kQXJncyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyO1xuICAgIHZhciBhcmdzID0gYm91bmRBcmdzID8gc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBzY2hlZHVsZXIoYm91bmRBcmdzID8gZnVuY3Rpb24gKCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jIC0tIHNwZWMgcmVxdWlyZW1lbnRcbiAgICAgICh0eXBlb2YgaGFuZGxlciA9PSAnZnVuY3Rpb24nID8gaGFuZGxlciA6IEZ1bmN0aW9uKGhhbmRsZXIpKS5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9IDogaGFuZGxlciwgdGltZW91dCk7XG4gIH07XG59O1xuXG4vLyBpZTktIHNldFRpbWVvdXQgJiBzZXRJbnRlcnZhbCBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgZml4XG4vLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS90aW1lcnMtYW5kLXVzZXItcHJvbXB0cy5odG1sI3RpbWVyc1xuJCh7IGdsb2JhbDogdHJ1ZSwgYmluZDogdHJ1ZSwgZm9yY2VkOiBNU0lFIH0sIHtcbiAgLy8gYHNldFRpbWVvdXRgIG1ldGhvZFxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS90aW1lcnMtYW5kLXVzZXItcHJvbXB0cy5odG1sI2RvbS1zZXR0aW1lb3V0XG4gIHNldFRpbWVvdXQ6IHdyYXAoZ2xvYmFsLnNldFRpbWVvdXQpLFxuICAvLyBgc2V0SW50ZXJ2YWxgIG1ldGhvZFxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS90aW1lcnMtYW5kLXVzZXItcHJvbXB0cy5odG1sI2RvbS1zZXRpbnRlcnZhbFxuICBzZXRJbnRlcnZhbDogd3JhcChnbG9iYWwuc2V0SW50ZXJ2YWwpXG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=";
        
        $__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e->leave($__internal_085b0142806202599c7fe3b329164a92397d8978207a37e79d70b8c52599e33e_prof);

        
        $__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02->leave($__internal_319393461309892924ff6e74d6d6e64287df64b63545b994e100d4ab223aed02_prof);

        return; yield '';
    }

    /**
     * @codeCoverageIgnore
     */
    public function getTemplateName()
    {
        return "@public_path/build/cas.js";
    }

    /**
     * @codeCoverageIgnore
     */
    public function getDebugInfo()
    {
        return array ();
    }

    public function getSourceContext()
    {
        return new Source("(self[\"webpackChunk\"] = self[\"webpackChunk\"] || []).push([[\"cas\"],{

/***/ \"./assets/images/legende.png\":
/*!***********************************!*\\
  !*** ./assets/images/legende.png ***!
  \\***********************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";
module.exports = __webpack_require__.p + \"images/legende.56e89d5f.png\";

/***/ }),

/***/ \"./assets/images/punaise-white.png\":
/*!*****************************************!*\\
  !*** ./assets/images/punaise-white.png ***!
  \\*****************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";
module.exports = __webpack_require__.p + \"images/punaise-white.fbd71a1e.png\";

/***/ }),

/***/ \"./assets/js/contrats_a_servir.js\":
/*!****************************************!*\\
  !*** ./assets/js/contrats_a_servir.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 core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/core-js/modules/es.array.find.js\");
/* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.trim.js */ \"./node_modules/core-js/modules/es.string.trim.js\");
/* harmony import */ var core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_trim_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/core-js/modules/es.array.map.js\");
/* harmony import */ var core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");
/* harmony import */ var core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.array.for-each.js */ \"./node_modules/core-js/modules/es.array.for-each.js\");
/* harmony import */ var core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/core-js/modules/web.dom-collections.for-each.js\");
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_parse_float_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.parse-float.js */ \"./node_modules/core-js/modules/es.parse-float.js\");
/* harmony import */ var core_js_modules_es_parse_float_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_float_js__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./map */ \"./assets/js/map.js\");
/* harmony import */ var _images_punaise_png__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../images/punaise.png */ \"./assets/images/punaise.png\");
/* harmony import */ var _images_punaise_red_png__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../images/punaise-red.png */ \"./assets/images/punaise-red.png\");
/* harmony import */ var _images_punaise_green_png__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../images/punaise-green.png */ \"./assets/images/punaise-green.png\");
/* harmony import */ var _images_punaise_blue_png__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../images/punaise-blue.png */ \"./assets/images/punaise-blue.png\");
/* harmony import */ var _images_punaise_white_png__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../images/punaise-white.png */ \"./assets/images/punaise-white.png\");
/* harmony import */ var _images_legende_png__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../images/legende.png */ \"./assets/images/legende.png\");
/* harmony import */ var ol_proj__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ol/proj */ \"./node_modules/ol/proj.js\");
/* provided dependency */ var \$ = __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\");










 //images












\$(document).ready(function () {
  var mapContainer = \$('#map'); // Récupère l'élément contenant la carte

  /*redimensionnement carte*/

  \$(window).resize(function () {
    var height = 200;
    var sH = \$(window).height() - height;
    var mapWidth = '100%';
    var paginationWidth = '0%';

    if (\$('#cardPagination').is(':visible')) {
      mapWidth = 'calc(70% - 5px)';
      paginationWidth = '30%';
      \$('#clientAServirContent').css({
        'display': 'flex',
        'gap': '5px'
      });
    } else {
      \$('#clientAServirContent').css('display', 'block');
    }

    mapContainer.css({
      'height': sH + 'px',
      'max-height': sH + 'px',
      'width': mapWidth
    });
    \$('#cardPagination').css({
      'height': sH + 30 + 'px',
      'width': paginationWidth
    });
    \$('#sidebarMap').css('height', sH + 'px');

    if (_map__WEBPACK_IMPORTED_MODULE_8__.map) {
      _map__WEBPACK_IMPORTED_MODULE_8__.map.updateSize();
    }
  });
  \$(window).trigger('resize');
  \$('body').on('change', '.change_recherche_cas', function (e) {
    var form = \$(this).data('form-change');
    var name = \$(this).attr('name');
    \$(form + ' > input[name=type_change]').val(name);
    \$(form + ' > input[name=data_value]').val(\$(this).val());
    \$(form + ' > input[name=date_value]').val(\$('#date_cas').val());
    \$(form).data('target-html', \$(this).data('target'));
    \$(form).submit(); //si nom = site on vide la selection groupe agent et intervention

    if (name == 'site') {
      \$('#groupe').val('');
      \$('#agent').html('');
      \$('#intervention').html('');
    } //si nom = groupe, on vide la selection agent et intervention
    else if (name == 'groupe') {
        \$('#agent').val('');
        \$('#intervention').html('');
      } //si nom = agent, on vide la selection intervention
      else if (name == 'agent') {
          \$('#intervention').html('');
        }
  });
  \$(\"#submit-form-cas\").on(\"click\", function (event) {
    event.preventDefault();
    searchCas(1);
  });
  \$('body').on('click', '.page-link-cas', function (e) {
    e.preventDefault();
    var page = \$(this).attr('data-page');
    console.log(\"Click pagination, page:\", page);

    if (page && page > 0) {
      searchCas(page);
    }
  });
  \$('body').on('click', '.btn-log-call', function (e) {
    e.preventDefault();
    var \$btn = \$(this);
    var clientId = \$btn.data('client-id');
    var equipementId = \$btn.data('equipement-id');
    \$.ajax({
      method: \"POST\",
      url: \"/clients/add_communication\",
      data: {
        clientId: clientId,
        equipementId: equipementId,
        canalId: 4 // Appel

      },
      success: function success(response) {
        if (response.status === 'success') {
          // Optionnel: feedback visuel
          \$btn.removeClass('btn-outline-danger').addClass('btn-danger');
          setTimeout(function () {
            \$btn.removeClass('btn-danger').addClass('btn-outline-danger');
          }, 1000); // Mise à jour de l'info du dernier appel

          if (response.lastAppelHtml) {
            var \$infoContainer = \$btn.next('.text-end');

            if (\$infoContainer.length) {
              \$infoContainer.html(response.lastAppelHtml);
            } else {
              // Si le conteneur n'existe pas encore (pas d'appel récent avant celui-ci)
              \$btn.after('<div class=\"text-end\" style=\"font-size: 0.75rem; color: #e74c3c; width: 123px;\">' + response.lastAppelHtml + '</div>');
            }
          }
        }
      },
      error: function error(xhr, status, _error) {
        console.error(\"Erreur lors de l'enregistrement de l'appel:\", _error);
      }
    });
  });
  \$('body').on('change', '#date_cas', function () {
    var agent = \$('#agent').val();
    var groupe = \$('#groupe').val();
    var site = \$('select[name=site]').val();
    var form = \$('#form-change-cas-recherche');

    if (agent && agent !== '') {
      form.find('input[name=type_change]').val('agent');
      form.find('input[name=data_value]').val(agent);
      form.data('target-html', '#target-cas_intervention');
    } else if (groupe && groupe !== '') {
      form.find('input[name=type_change]').val('groupe');
      form.find('input[name=data_value]').val(groupe);
      form.data('target-html', '#target-cas_agent');
    } else if (site && site !== '') {
      form.find('input[name=type_change]').val('site');
      form.find('input[name=data_value]').val(site);
      form.data('target-html', '#target-cas_groupe');
    }

    form.find('input[name=date_value]').val(\$(this).val());
    form.trigger('submit');
  });
  _map__WEBPACK_IMPORTED_MODULE_8__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_8__.overlayRdv);
  _map__WEBPACK_IMPORTED_MODULE_8__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_8__.overlayGps);
  _map__WEBPACK_IMPORTED_MODULE_8__.map.addOverlay(_map__WEBPACK_IMPORTED_MODULE_8__.overlayCas);
  _map__WEBPACK_IMPORTED_MODULE_8__.map.on('singleclick', function (event) {
    (0,_map__WEBPACK_IMPORTED_MODULE_8__.onSingleClickFeature)(event);
  });
  /* Gestion de l'activation du bouton de recherche et blocage des champs mutuellement exclusifs */

  function toggleSubmitButton() {
    var \$submitBtn = \$(\"#submit-form-cas\");
    var \$intervention = \$('#intervention');
    var \$numClient = \$('#cas_num_client');
    var \$adresse = \$('#cas_adresse_auto');
    var \$agent = \$('#agent');
    var hasIntervention = \$intervention.length > 0 && \$intervention.val() && \$intervention.val() !== '';
    var hasNumClient = \$numClient.length > 0 && \$numClient.val() && \$numClient.val().trim() !== '';
    var hasAdresse = \$adresse.length > 0 && \$adresse.val() && \$adresse.val().trim() !== '';
    var hasAgent = \$agent.length > 0 && \$agent.val() && \$agent.val() !== ''; // Blocage des champs mutuellement exclusifs

    if (hasIntervention) {
      \$numClient.prop('disabled', true);
      \$adresse.prop('disabled', true);
    } else if (hasNumClient) {
      \$intervention.prop('disabled', true);
      \$adresse.prop('disabled', true);
    } else if (hasAdresse) {
      \$intervention.prop('disabled', true);
      \$numClient.prop('disabled', true);
    } else {
      \$intervention.prop('disabled', false);
      \$numClient.prop('disabled', false);
      \$adresse.prop('disabled', false);
    }

    if (hasAgent && (hasIntervention || hasNumClient || hasAdresse)) {
      \$submitBtn.prop('disabled', false);
    } else {
      \$submitBtn.prop('disabled', true);
    }
  } // Initialisation


  toggleSubmitButton(); // Écouteurs d'événements

  \$('body').on('change', '#intervention, #cas_num_client, #cas_adresse_auto, #agent', function () {
    toggleSubmitButton();
  });
  \$('body').on('input', '#cas_num_client, #cas_adresse_auto', function () {
    toggleSubmitButton();
  }); // On s'assure que si le contenu de #target-cas_intervention ou #target-cas_agent change (rechargement AJAX), on vérifie le bouton

  var observer = new MutationObserver(function (mutations) {
    toggleSubmitButton();
  });
  var targetIntervention = document.getElementById('target-cas_intervention');

  if (targetIntervention) {
    observer.observe(targetIntervention, {
      childList: true,
      subtree: true
    });
  }

  var targetAgent = document.getElementById('target-cas_agent');

  if (targetAgent) {
    observer.observe(targetAgent, {
      childList: true,
      subtree: true
    });
  }

  \$('#reset-form-cas').on('click', function () {
    // On attend que le reset soit effectif avant de vérifier
    setTimeout(toggleSubmitButton, 10);
  });
  \$('input[name=cas_adresse_auto]').autocomplete({
    source: function source(request, response) {
      \$.ajax({
        method: \"GET\",
        url: 'https://api-adresse.data.gouv.fr/search/?q=' + \$(\"input[name='cas_adresse_auto']\").val() + '&type=housenumber&autocomplete=1&limit=10',
        dataType: \"json\",
        success: function success(data) {
          response(\$.map(data.features, function (item) {
            var adresses = []; // Ici on est obligé d'ajouter les CP dans un array pour ne pas avoir plusieurs fois le même

            if (\$.inArray(item.properties.label, adresses) == -1 && item.properties.housenumber) {
              adresses.push(item.properties.label);
              console.log(item);
              return {
                label: item.properties.label,
                city: item.properties.city,
                postcode: item.properties.postcode,
                name: item.properties.name,
                coordinates: item.geometry.coordinates
              };
            }
          }));
        }
      });
    },
    // On remplit aussi la ville
    select: function select(event, ui) {
      \$(\"input[name='code_postal']\").val(ui.item.postcode);
      \$(\"input[name='ville']\").val(ui.item.city);
      \$(\"input[name='adresse']\").val(ui.item.name);
      \$(\"input[name='coordinates']\").val(ui.item.coordinates);
    }
  });
});

function searchCas() {
  var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
  var form = document.getElementById('form_cas');

  if (!form) {
    console.error(\"Formulaire form_cas non trouvé\");
    return;
  }

  var formData = new FormData(form);
  \$.ajax({
    method: \"POST\",
    url: '/map/search_cas',
    data: {
      \"site\": formData.get('site'),
      \"agent\": formData.get('agent'),
      \"date\": formData.get('date_cas'),
      \"intervention\": formData.get('intervention'),
      \"num_client\": formData.get('num_client'),
      \"coordinates\": formData.get('coordinates'),
      \"rayon\": formData.get('rayon'),
      \"tri\": formData.get('tri'),
      \"check_qualif\": formData.get('check_qualif'),
      \"page\": page
    },
    dataType: \"json\",
    success: function success(data) {
      if (data.status === 'error') {
        \$('#cardPagination').html(data.html).show();
        (0,_map__WEBPACK_IMPORTED_MODULE_8__.removeFeatures)(_map__WEBPACK_IMPORTED_MODULE_8__.vectorSource);
        \$(window).trigger('resize');
        return;
      }

      (0,_map__WEBPACK_IMPORTED_MODULE_8__.removeFeatures)(_map__WEBPACK_IMPORTED_MODULE_8__.vectorSource); // On vide la carte avant d'ajouter les nouvelles punaises

      (0,_map__WEBPACK_IMPORTED_MODULE_8__.punaises)(data);

      if (data.secteurs) {
        data.secteurs.forEach(function (secteur) {
          var couleur = '';

          if (secteur.agentPrincipal && secteur.agentPrincipal.id && secteur.agentPrincipal.id == data.agent.id) {
            couleur = '#18bc9c';
          }

          if (secteur.coordonnees && secteur.coordonnees.coordinates) {
            (0,_map__WEBPACK_IMPORTED_MODULE_8__.addPolygon)(secteur.coordonnees.coordinates[0], couleur);
          }
        });
      }

      if (data.center && data.center.lat && data.center.lon && data.center.rayon) {
        (0,_map__WEBPACK_IMPORTED_MODULE_8__.addSearchCircle)([parseFloat(data.center.lon), parseFloat(data.center.lat)], parseFloat(data.center.rayon));
      }

      \$('#cardPagination').html(data.html).show();
      \$(window).trigger('resize');
    },
    error: function error(xhr, status, _error2) {
      console.error(\"Erreur lors de la recherche CAS:\", _error2);
    }
  });
}

/***/ }),

/***/ \"./node_modules/core-js/internals/number-parse-float.js\":
/*!**************************************************************!*\\
  !*** ./node_modules/core-js/internals/number-parse-float.js ***!
  \\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");
var trim = __webpack_require__(/*! ../internals/string-trim */ \"./node_modules/core-js/internals/string-trim.js\").trim;
var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ \"./node_modules/core-js/internals/whitespaces.js\");

var \$parseFloat = global.parseFloat;
var FORCED = 1 / \$parseFloat(whitespaces + '-0') !== -Infinity;

// `parseFloat` method
// https://tc39.es/ecma262/#sec-parsefloat-string
module.exports = FORCED ? function parseFloat(string) {
  var trimmedString = trim(String(string));
  var result = \$parseFloat(trimmedString);
  return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
} : \$parseFloat;


/***/ }),

/***/ \"./node_modules/core-js/internals/string-trim-forced.js\":
/*!**************************************************************!*\\
  !*** ./node_modules/core-js/internals/string-trim-forced.js ***!
  \\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

var fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");
var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ \"./node_modules/core-js/internals/whitespaces.js\");

var non = '\\u200B\\u0085\\u180E';

// check that a method works with the correct list
// of whitespaces and has a correct name
module.exports = function (METHOD_NAME) {
  return fails(function () {
    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
  });
};


/***/ }),

/***/ \"./node_modules/core-js/modules/es.array.find.js\":
/*!*******************************************************!*\\
  !*** ./node_modules/core-js/modules/es.array.find.js ***!
  \\*******************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";

var \$ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");
var \$find = __webpack_require__(/*! ../internals/array-iteration */ \"./node_modules/core-js/internals/array-iteration.js\").find;
var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ \"./node_modules/core-js/internals/add-to-unscopables.js\");

var FIND = 'find';
var SKIPS_HOLES = true;

// Shouldn't skip holes
if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });

// `Array.prototype.find` method
// https://tc39.es/ecma262/#sec-array.prototype.find
\$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
  find: function find(callbackfn /* , that = undefined */) {
    return \$find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});

// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables(FIND);


/***/ }),

/***/ \"./node_modules/core-js/modules/es.function.name.js\":
/*!**********************************************************!*\\
  !*** ./node_modules/core-js/modules/es.function.name.js ***!
  \\**********************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");
var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;

var FunctionPrototype = Function.prototype;
var FunctionPrototypeToString = FunctionPrototype.toString;
var nameRE = /^\\s*function ([^ (]*)/;
var NAME = 'name';

// Function instances `.name` property
// https://tc39.es/ecma262/#sec-function-instances-name
if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
  defineProperty(FunctionPrototype, NAME, {
    configurable: true,
    get: function () {
      try {
        return FunctionPrototypeToString.call(this).match(nameRE)[1];
      } catch (error) {
        return '';
      }
    }
  });
}


/***/ }),

/***/ \"./node_modules/core-js/modules/es.parse-float.js\":
/*!********************************************************!*\\
  !*** ./node_modules/core-js/modules/es.parse-float.js ***!
  \\********************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

var \$ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");
var parseFloatImplementation = __webpack_require__(/*! ../internals/number-parse-float */ \"./node_modules/core-js/internals/number-parse-float.js\");

// `parseFloat` method
// https://tc39.es/ecma262/#sec-parsefloat-string
\$({ global: true, forced: parseFloat != parseFloatImplementation }, {
  parseFloat: parseFloatImplementation
});


/***/ }),

/***/ \"./node_modules/core-js/modules/es.string.trim.js\":
/*!********************************************************!*\\
  !*** ./node_modules/core-js/modules/es.string.trim.js ***!
  \\********************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

\"use strict\";

var \$ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");
var \$trim = __webpack_require__(/*! ../internals/string-trim */ \"./node_modules/core-js/internals/string-trim.js\").trim;
var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ \"./node_modules/core-js/internals/string-trim-forced.js\");

// `String.prototype.trim` method
// https://tc39.es/ecma262/#sec-string.prototype.trim
\$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
  trim: function trim() {
    return \$trim(this);
  }
});


/***/ }),

/***/ \"./node_modules/core-js/modules/web.timers.js\":
/*!****************************************************!*\\
  !*** ./node_modules/core-js/modules/web.timers.js ***!
  \\****************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {

var \$ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");
var global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");
var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ \"./node_modules/core-js/internals/engine-user-agent.js\");

var slice = [].slice;
var MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check

var wrap = function (scheduler) {
  return function (handler, timeout /* , ...arguments */) {
    var boundArgs = arguments.length > 2;
    var args = boundArgs ? slice.call(arguments, 2) : undefined;
    return scheduler(boundArgs ? function () {
      // eslint-disable-next-line no-new-func -- spec requirement
      (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
    } : handler, timeout);
  };
};

// ie9- setTimeout & setInterval additional parameters fix
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
\$({ global: true, bind: true, forced: MSIE }, {
  // `setTimeout` method
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
  setTimeout: wrap(global.setTimeout),
  // `setInterval` method
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
  setInterval: wrap(global.setInterval)
});


/***/ })

},
/******/ __webpack_require__ => { // webpackRuntimeModules
/******/ \"use strict\";
/******/ 
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
/******/ __webpack_require__.O(0, [\"vendors-node_modules_core-js_internals_engine-user-agent_js-node_modules_core-js_internals_ex-b41e05\",\"vendors-node_modules_jquery_dist_jquery_js\",\"vendors-node_modules_core-js_internals_add-to-unscopables_js-node_modules_core-js_internals_a-5c631b\",\"vendors-node_modules_core-js_internals_array-method-has-species-support_js-node_modules_core--4e4faa\",\"vendors-node_modules_core-js_internals_function-bind_js-node_modules_core-js_modules_es_array-1797b9\",\"vendors-node_modules_core-js_modules_es_array_filter_js-node_modules_core-js_modules_es_array-b69ea3\",\"assets_js_map_js\"], () => (__webpack_exec__(\"./assets/js/contrats_a_servir.js\")));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvY29udHJhdHNfYV9zZXJ2aXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL251bWJlci1wYXJzZS1mbG9hdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvc3RyaW5nLXRyaW0tZm9yY2VkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lcy5wYXJzZS1mbG9hdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy50cmltLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvd2ViLnRpbWVycy5qcyJdLCJuYW1lcyI6WyIkIiwiZG9jdW1lbnQiLCJyZWFkeSIsIm1hcENvbnRhaW5lciIsIndpbmRvdyIsInJlc2l6ZSIsImhlaWdodCIsInNIIiwibWFwV2lkdGgiLCJwYWdpbmF0aW9uV2lkdGgiLCJpcyIsImNzcyIsIm1hcCIsInRyaWdnZXIiLCJvbiIsImUiLCJmb3JtIiwiZGF0YSIsIm5hbWUiLCJhdHRyIiwidmFsIiwic3VibWl0IiwiaHRtbCIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzZWFyY2hDYXMiLCJwYWdlIiwiY29uc29sZSIsImxvZyIsIiRidG4iLCJjbGllbnRJZCIsImVxdWlwZW1lbnRJZCIsImFqYXgiLCJtZXRob2QiLCJ1cmwiLCJjYW5hbElkIiwic3VjY2VzcyIsInJlc3BvbnNlIiwic3RhdHVzIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsInNldFRpbWVvdXQiLCJsYXN0QXBwZWxIdG1sIiwiJGluZm9Db250YWluZXIiLCJuZXh0IiwibGVuZ3RoIiwiYWZ0ZXIiLCJlcnJvciIsInhociIsImFnZW50IiwiZ3JvdXBlIiwic2l0ZSIsImZpbmQiLCJvdmVybGF5UmR2Iiwib3ZlcmxheUdwcyIsIm92ZXJsYXlDYXMiLCJvblNpbmdsZUNsaWNrRmVhdHVyZSIsInRvZ2dsZVN1Ym1pdEJ1dHRvbiIsIiRzdWJtaXRCdG4iLCIkaW50ZXJ2ZW50aW9uIiwiJG51bUNsaWVudCIsIiRhZHJlc3NlIiwiJGFnZW50IiwiaGFzSW50ZXJ2ZW50aW9uIiwiaGFzTnVtQ2xpZW50IiwidHJpbSIsImhhc0FkcmVzc2UiLCJoYXNBZ2VudCIsInByb3AiLCJvYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJtdXRhdGlvbnMiLCJ0YXJnZXRJbnRlcnZlbnRpb24iLCJnZXRFbGVtZW50QnlJZCIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJzdWJ0cmVlIiwidGFyZ2V0QWdlbnQiLCJhdXRvY29tcGxldGUiLCJzb3VyY2UiLCJyZXF1ZXN0IiwiZGF0YVR5cGUiLCJmZWF0dXJlcyIsIml0ZW0iLCJhZHJlc3NlcyIsImluQXJyYXkiLCJwcm9wZXJ0aWVzIiwibGFiZWwiLCJob3VzZW51bWJlciIsInB1c2giLCJjaXR5IiwicG9zdGNvZGUiLCJjb29yZGluYXRlcyIsImdlb21ldHJ5Iiwic2VsZWN0IiwidWkiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiZ2V0Iiwic2hvdyIsInJlbW92ZUZlYXR1cmVzIiwidmVjdG9yU291cmNlIiwicHVuYWlzZXMiLCJzZWN0ZXVycyIsImZvckVhY2giLCJzZWN0ZXVyIiwiY291bGV1ciIsImFnZW50UHJpbmNpcGFsIiwiaWQiLCJjb29yZG9ubmVlcyIsImFkZFBvbHlnb24iLCJjZW50ZXIiLCJsYXQiLCJsb24iLCJyYXlvbiIsImFkZFNlYXJjaENpcmNsZSIsInBhcnNlRmxvYXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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R0FBRyx3RUFBd0U7QUFDM0U7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7QUNYRCxRQUFRLG1CQUFPLENBQUMsdUVBQXFCO0FBQ3JDLGFBQWEsbUJBQU8sQ0FBQyx1RUFBcUI7QUFDMUMsZ0JBQWdCLG1CQUFPLENBQUMsNkZBQWdDOztBQUV4RDtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRyx5Q0FBeUM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyIsImZpbGUiOiJjYXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgYWRkTWFya2VyLFxyXG4gICAgY3JlYXRlQ3VzdG9tSWNvbixcclxuICAgIGNoYW5nZVZpZXcsXHJcbiAgICBtYXAsXHJcbiAgICB2ZWN0b3JTb3VyY2UsXHJcbiAgICByZW1vdmVGZWF0dXJlcyxcclxuICAgIHB1bmFpc2VQaWN0byxcclxuICAgIGZpdE1hcFRvRmVhdHVyZXMsXHJcbiAgICBzaG93T3ZlcmxheSxcclxuICAgIGhpZGVPdmVybGF5LFxyXG4gICAgcmVtb3ZlRmVhdHVyZXNCeURhdGFWYWx1ZSwgb3ZlcmxheVJkdiwgb3ZlcmxheUdwcywgb3ZlcmxheUNhcywgaW5pdFBvcHVwT3ZlcmxheVJkdiwgb25TaW5nbGVDbGlja0ZlYXR1cmUsIHB1bmFpc2VzLCBhZGRQb2x5Z29uLCBhZGRTZWFyY2hDaXJjbGVcclxufSBmcm9tIFwiLi9tYXBcIjtcclxuaW1wb3J0IENvbnRyb2wgZnJvbSBcIm9sL2NvbnRyb2wvQ29udHJvbFwiO1xyXG5pbXBvcnQgT3ZlcmxheSBmcm9tICdvbC9PdmVybGF5JztcclxuXHJcbi8vaW1hZ2VzXHJcbmltcG9ydCBwdW5haXNlRGVmYXVsdEltZyBmcm9tICcuLi9pbWFnZXMvcHVuYWlzZS5wbmcnO1xyXG5pbXBvcnQgcHVuYWlzZVJlZEltZyBmcm9tICcuLi9pbWFnZXMvcHVuYWlzZS1yZWQucG5nJztcclxuaW1wb3J0IHB1bmFpc2VHcmVlbkltZyBmcm9tICcuLi9pbWFnZXMvcHVuYWlzZS1ncmVlbi5wbmcnO1xyXG5pbXBvcnQgcHVuYWlzZUJsdWVJbWcgZnJvbSAnLi4vaW1hZ2VzL3B1bmFpc2UtYmx1ZS5wbmcnO1xyXG5pbXBvcnQgcHVuYWlzZVdoaXRlSW1nIGZyb20gJy4uL2ltYWdlcy9wdW5haXNlLXdoaXRlLnBuZyc7XHJcbmltcG9ydCBsZWdlbmRlIGZyb20gXCIuLi9pbWFnZXMvbGVnZW5kZS5wbmdcIjtcclxuaW1wb3J0IHtpc051bGx9IGZyb20gXCJvbC9mb3JtYXQvZmlsdGVyXCI7XHJcbmltcG9ydCB7ZnJvbUxvbkxhdH0gZnJvbSBcIm9sL3Byb2pcIjtcclxuaW1wb3J0IHtGZWF0dXJlfSBmcm9tIFwib2xcIjtcclxuaW1wb3J0IHtMaW5lU3RyaW5nfSBmcm9tIFwib2wvZ2VvbVwiO1xyXG5pbXBvcnQge1N0cm9rZSwgU3R5bGV9IGZyb20gXCJvbC9zdHlsZVwiO1xyXG5cclxuJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc3QgbWFwQ29udGFpbmVyID0gJCgnI21hcCcpOyAvLyBSw6ljdXDDqHJlIGwnw6lsw6ltZW50IGNvbnRlbmFudCBsYSBjYXJ0ZVxyXG5cclxuICAgIC8qcmVkaW1lbnNpb25uZW1lbnQgY2FydGUqL1xyXG4gICAgJCh3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGhlaWdodCA9IDIwMDtcclxuICAgICAgICB2YXIgc0ggPSAkKHdpbmRvdykuaGVpZ2h0KCkgLSBoZWlnaHQ7XHJcbiAgICAgICAgdmFyIG1hcFdpZHRoID0gJzEwMCUnO1xyXG4gICAgICAgIHZhciBwYWdpbmF0aW9uV2lkdGggPSAnMCUnO1xyXG5cclxuICAgICAgICBpZiAoJCgnI2NhcmRQYWdpbmF0aW9uJykuaXMoJzp2aXNpYmxlJykpIHtcclxuICAgICAgICAgICAgbWFwV2lkdGggPSAnY2FsYyg3MCUgLSA1cHgpJztcclxuICAgICAgICAgICAgcGFnaW5hdGlvbldpZHRoID0gJzMwJSc7XHJcbiAgICAgICAgICAgICQoJyNjbGllbnRBU2VydmlyQ29udGVudCcpLmNzcyh7XHJcbiAgICAgICAgICAgICAgICAnZGlzcGxheSc6ICdmbGV4JyxcclxuICAgICAgICAgICAgICAgICdnYXAnOiAnNXB4J1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAkKCcjY2xpZW50QVNlcnZpckNvbnRlbnQnKS5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG1hcENvbnRhaW5lci5jc3Moe1xyXG4gICAgICAgICAgICAnaGVpZ2h0Jzogc0ggKyAncHgnLFxyXG4gICAgICAgICAgICAnbWF4LWhlaWdodCc6IHNIICsgJ3B4JyxcclxuICAgICAgICAgICAgJ3dpZHRoJzogbWFwV2lkdGhcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJCgnI2NhcmRQYWdpbmF0aW9uJykuY3NzKHtcclxuICAgICAgICAgICAgJ2hlaWdodCc6IChzSCArIDMwKSArICdweCcsXHJcbiAgICAgICAgICAgICd3aWR0aCc6IHBhZ2luYXRpb25XaWR0aFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKCcjc2lkZWJhck1hcCcpLmNzcygnaGVpZ2h0Jywgc0ggKyAncHgnKTtcclxuXHJcbiAgICAgICAgaWYgKG1hcCkge1xyXG4gICAgICAgICAgICBtYXAudXBkYXRlU2l6ZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG5cclxuICAgICQoJ2JvZHknKS5vbignY2hhbmdlJywgJy5jaGFuZ2VfcmVjaGVyY2hlX2NhcycsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICB2YXIgZm9ybSA9ICQodGhpcykuZGF0YSgnZm9ybS1jaGFuZ2UnKTtcclxuICAgICAgICB2YXIgbmFtZSA9ICQodGhpcykuYXR0cignbmFtZScpO1xyXG4gICAgICAgICQoZm9ybSArICcgPiBpbnB1dFtuYW1lPXR5cGVfY2hhbmdlXScpLnZhbChuYW1lKTtcclxuICAgICAgICAkKGZvcm0gKyAnID4gaW5wdXRbbmFtZT1kYXRhX3ZhbHVlXScpLnZhbCgkKHRoaXMpLnZhbCgpKTtcclxuICAgICAgICAkKGZvcm0gKyAnID4gaW5wdXRbbmFtZT1kYXRlX3ZhbHVlXScpLnZhbCgkKCcjZGF0ZV9jYXMnKS52YWwoKSk7XHJcbiAgICAgICAgJChmb3JtKS5kYXRhKCd0YXJnZXQtaHRtbCcsICQodGhpcykuZGF0YSgndGFyZ2V0JykpO1xyXG4gICAgICAgICQoZm9ybSkuc3VibWl0KCk7XHJcbiAgICAgICAgLy9zaSBub20gPSBzaXRlIG9uIHZpZGUgbGEgc2VsZWN0aW9uIGdyb3VwZSBhZ2VudCBldCBpbnRlcnZlbnRpb25cclxuICAgICAgICBpZiAobmFtZSA9PSAnc2l0ZScpIHtcclxuICAgICAgICAgICAgJCgnI2dyb3VwZScpLnZhbCgnJyk7XHJcbiAgICAgICAgICAgICQoJyNhZ2VudCcpLmh0bWwoJycpO1xyXG4gICAgICAgICAgICAkKCcjaW50ZXJ2ZW50aW9uJykuaHRtbCgnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vc2kgbm9tID0gZ3JvdXBlLCBvbiB2aWRlIGxhIHNlbGVjdGlvbiBhZ2VudCBldCBpbnRlcnZlbnRpb25cclxuICAgICAgICBlbHNlIGlmIChuYW1lID09ICdncm91cGUnKSB7XHJcbiAgICAgICAgICAgICQoJyNhZ2VudCcpLnZhbCgnJyk7XHJcbiAgICAgICAgICAgICQoJyNpbnRlcnZlbnRpb24nKS5odG1sKCcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zaSBub20gPSBhZ2VudCwgb24gdmlkZSBsYSBzZWxlY3Rpb24gaW50ZXJ2ZW50aW9uXHJcbiAgICAgICAgZWxzZSBpZiAobmFtZSA9PSAnYWdlbnQnKSB7XHJcbiAgICAgICAgICAgICQoJyNpbnRlcnZlbnRpb24nKS5odG1sKCcnKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAkKFwiI3N1Ym1pdC1mb3JtLWNhc1wiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgc2VhcmNoQ2FzKDEpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgJCgnYm9keScpLm9uKCdjbGljaycsICcucGFnZS1saW5rLWNhcycsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdmFyIHBhZ2UgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtcGFnZScpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiQ2xpY2sgcGFnaW5hdGlvbiwgcGFnZTpcIiwgcGFnZSk7XHJcbiAgICAgICAgaWYgKHBhZ2UgJiYgcGFnZSA+IDApIHtcclxuICAgICAgICAgICAgc2VhcmNoQ2FzKHBhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgICQoJ2JvZHknKS5vbignY2xpY2snLCAnLmJ0bi1sb2ctY2FsbCcsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdmFyICRidG4gPSAkKHRoaXMpO1xyXG4gICAgICAgIHZhciBjbGllbnRJZCA9ICRidG4uZGF0YSgnY2xpZW50LWlkJyk7XHJcbiAgICAgICAgdmFyIGVxdWlwZW1lbnRJZCA9ICRidG4uZGF0YSgnZXF1aXBlbWVudC1pZCcpO1xyXG5cclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgICAgICB1cmw6IFwiL2NsaWVudHMvYWRkX2NvbW11bmljYXRpb25cIixcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgY2xpZW50SWQ6IGNsaWVudElkLFxyXG4gICAgICAgICAgICAgICAgZXF1aXBlbWVudElkOiBlcXVpcGVtZW50SWQsXHJcbiAgICAgICAgICAgICAgICBjYW5hbElkOiA0IC8vIEFwcGVsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAnc3VjY2VzcycpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBPcHRpb25uZWw6IGZlZWRiYWNrIHZpc3VlbFxyXG4gICAgICAgICAgICAgICAgICAgICRidG4ucmVtb3ZlQ2xhc3MoJ2J0bi1vdXRsaW5lLWRhbmdlcicpLmFkZENsYXNzKCdidG4tZGFuZ2VyJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGJ0bi5yZW1vdmVDbGFzcygnYnRuLWRhbmdlcicpLmFkZENsYXNzKCdidG4tb3V0bGluZS1kYW5nZXInKTtcclxuICAgICAgICAgICAgICAgICAgICB9LCAxMDAwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTWlzZSDDoCBqb3VyIGRlIGwnaW5mbyBkdSBkZXJuaWVyIGFwcGVsXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmxhc3RBcHBlbEh0bWwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0ICRpbmZvQ29udGFpbmVyID0gJGJ0bi5uZXh0KCcudGV4dC1lbmQnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkaW5mb0NvbnRhaW5lci5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbmZvQ29udGFpbmVyLmh0bWwocmVzcG9uc2UubGFzdEFwcGVsSHRtbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaSBsZSBjb250ZW5ldXIgbidleGlzdGUgcGFzIGVuY29yZSAocGFzIGQnYXBwZWwgcsOpY2VudCBhdmFudCBjZWx1aS1jaSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRidG4uYWZ0ZXIoJzxkaXYgY2xhc3M9XCJ0ZXh0LWVuZFwiIHN0eWxlPVwiZm9udC1zaXplOiAwLjc1cmVtOyBjb2xvcjogI2U3NGMzYzsgd2lkdGg6IDEyM3B4O1wiPicgKyByZXNwb25zZS5sYXN0QXBwZWxIdG1sICsgJzwvZGl2PicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oeGhyLCBzdGF0dXMsIGVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyZXVyIGxvcnMgZGUgbCdlbnJlZ2lzdHJlbWVudCBkZSBsJ2FwcGVsOlwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgICQoJ2JvZHknKS5vbignY2hhbmdlJywgJyNkYXRlX2NhcycsIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHZhciBhZ2VudCA9ICQoJyNhZ2VudCcpLnZhbCgpO1xyXG4gICAgICAgIHZhciBncm91cGUgPSAkKCcjZ3JvdXBlJykudmFsKCk7XHJcbiAgICAgICAgdmFyIHNpdGUgPSAkKCdzZWxlY3RbbmFtZT1zaXRlXScpLnZhbCgpO1xyXG4gICAgICAgIHZhciBmb3JtID0gJCgnI2Zvcm0tY2hhbmdlLWNhcy1yZWNoZXJjaGUnKTtcclxuXHJcbiAgICAgICAgaWYgKGFnZW50ICYmIGFnZW50ICE9PSAnJykge1xyXG4gICAgICAgICAgICBmb3JtLmZpbmQoJ2lucHV0W25hbWU9dHlwZV9jaGFuZ2VdJykudmFsKCdhZ2VudCcpO1xyXG4gICAgICAgICAgICBmb3JtLmZpbmQoJ2lucHV0W25hbWU9ZGF0YV92YWx1ZV0nKS52YWwoYWdlbnQpO1xyXG4gICAgICAgICAgICBmb3JtLmRhdGEoJ3RhcmdldC1odG1sJywgJyN0YXJnZXQtY2FzX2ludGVydmVudGlvbicpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZ3JvdXBlICYmIGdyb3VwZSAhPT0gJycpIHtcclxuICAgICAgICAgICAgZm9ybS5maW5kKCdpbnB1dFtuYW1lPXR5cGVfY2hhbmdlXScpLnZhbCgnZ3JvdXBlJyk7XHJcbiAgICAgICAgICAgIGZvcm0uZmluZCgnaW5wdXRbbmFtZT1kYXRhX3ZhbHVlXScpLnZhbChncm91cGUpO1xyXG4gICAgICAgICAgICBmb3JtLmRhdGEoJ3RhcmdldC1odG1sJywgJyN0YXJnZXQtY2FzX2FnZW50Jyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzaXRlICYmIHNpdGUgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGZvcm0uZmluZCgnaW5wdXRbbmFtZT10eXBlX2NoYW5nZV0nKS52YWwoJ3NpdGUnKTtcclxuICAgICAgICAgICAgZm9ybS5maW5kKCdpbnB1dFtuYW1lPWRhdGFfdmFsdWVdJykudmFsKHNpdGUpO1xyXG4gICAgICAgICAgICBmb3JtLmRhdGEoJ3RhcmdldC1odG1sJywgJyN0YXJnZXQtY2FzX2dyb3VwZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9ybS5maW5kKCdpbnB1dFtuYW1lPWRhdGVfdmFsdWVdJykudmFsKCQodGhpcykudmFsKCkpO1xyXG4gICAgICAgIGZvcm0udHJpZ2dlcignc3VibWl0Jyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBtYXAuYWRkT3ZlcmxheShvdmVybGF5UmR2KTtcclxuICAgIG1hcC5hZGRPdmVybGF5KG92ZXJsYXlHcHMpO1xyXG4gICAgbWFwLmFkZE92ZXJsYXkob3ZlcmxheUNhcyk7XHJcblxyXG4gICAgbWFwLm9uKCdzaW5nbGVjbGljaycsIGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIG9uU2luZ2xlQ2xpY2tGZWF0dXJlKGV2ZW50KTtcclxuICAgIH0pO1xyXG5cclxuICAgIC8qIEdlc3Rpb24gZGUgbCdhY3RpdmF0aW9uIGR1IGJvdXRvbiBkZSByZWNoZXJjaGUgZXQgYmxvY2FnZSBkZXMgY2hhbXBzIG11dHVlbGxlbWVudCBleGNsdXNpZnMgKi9cclxuICAgIGZ1bmN0aW9uIHRvZ2dsZVN1Ym1pdEJ1dHRvbigpIHtcclxuICAgICAgICBjb25zdCAkc3VibWl0QnRuID0gJChcIiNzdWJtaXQtZm9ybS1jYXNcIik7XHJcbiAgICAgICAgY29uc3QgJGludGVydmVudGlvbiA9ICQoJyNpbnRlcnZlbnRpb24nKTtcclxuICAgICAgICBjb25zdCAkbnVtQ2xpZW50ID0gJCgnI2Nhc19udW1fY2xpZW50Jyk7XHJcbiAgICAgICAgY29uc3QgJGFkcmVzc2UgPSAkKCcjY2FzX2FkcmVzc2VfYXV0bycpO1xyXG4gICAgICAgIGNvbnN0ICRhZ2VudCA9ICQoJyNhZ2VudCcpO1xyXG5cclxuICAgICAgICBjb25zdCBoYXNJbnRlcnZlbnRpb24gPSAkaW50ZXJ2ZW50aW9uLmxlbmd0aCA+IDAgJiYgJGludGVydmVudGlvbi52YWwoKSAmJiAkaW50ZXJ2ZW50aW9uLnZhbCgpICE9PSAnJztcclxuICAgICAgICBjb25zdCBoYXNOdW1DbGllbnQgPSAkbnVtQ2xpZW50Lmxlbmd0aCA+IDAgJiYgJG51bUNsaWVudC52YWwoKSAmJiAkbnVtQ2xpZW50LnZhbCgpLnRyaW0oKSAhPT0gJyc7XHJcbiAgICAgICAgY29uc3QgaGFzQWRyZXNzZSA9ICRhZHJlc3NlLmxlbmd0aCA+IDAgJiYgJGFkcmVzc2UudmFsKCkgJiYgJGFkcmVzc2UudmFsKCkudHJpbSgpICE9PSAnJztcclxuICAgICAgICBjb25zdCBoYXNBZ2VudCA9ICRhZ2VudC5sZW5ndGggPiAwICYmICRhZ2VudC52YWwoKSAmJiAkYWdlbnQudmFsKCkgIT09ICcnO1xyXG5cclxuICAgICAgICAvLyBCbG9jYWdlIGRlcyBjaGFtcHMgbXV0dWVsbGVtZW50IGV4Y2x1c2lmc1xyXG4gICAgICAgIGlmIChoYXNJbnRlcnZlbnRpb24pIHtcclxuICAgICAgICAgICAgJG51bUNsaWVudC5wcm9wKCdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgICAgICAkYWRyZXNzZS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaGFzTnVtQ2xpZW50KSB7XHJcbiAgICAgICAgICAgICRpbnRlcnZlbnRpb24ucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTtcclxuICAgICAgICAgICAgJGFkcmVzc2UucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGhhc0FkcmVzc2UpIHtcclxuICAgICAgICAgICAgJGludGVydmVudGlvbi5wcm9wKCdkaXNhYmxlZCcsIHRydWUpO1xyXG4gICAgICAgICAgICAkbnVtQ2xpZW50LnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgJGludGVydmVudGlvbi5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTtcclxuICAgICAgICAgICAgJG51bUNsaWVudC5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTtcclxuICAgICAgICAgICAgJGFkcmVzc2UucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaGFzQWdlbnQgJiYgKGhhc0ludGVydmVudGlvbiB8fCBoYXNOdW1DbGllbnQgfHwgaGFzQWRyZXNzZSkpIHtcclxuICAgICAgICAgICAgJHN1Ym1pdEJ0bi5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAkc3VibWl0QnRuLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEluaXRpYWxpc2F0aW9uXHJcbiAgICB0b2dnbGVTdWJtaXRCdXR0b24oKTtcclxuXHJcbiAgICAvLyDDiWNvdXRldXJzIGQnw6l2w6luZW1lbnRzXHJcbiAgICAkKCdib2R5Jykub24oJ2NoYW5nZScsICcjaW50ZXJ2ZW50aW9uLCAjY2FzX251bV9jbGllbnQsICNjYXNfYWRyZXNzZV9hdXRvLCAjYWdlbnQnLCBmdW5jdGlvbigpIHtcclxuICAgICAgICB0b2dnbGVTdWJtaXRCdXR0b24oKTtcclxuICAgIH0pO1xyXG4gICAgJCgnYm9keScpLm9uKCdpbnB1dCcsICcjY2FzX251bV9jbGllbnQsICNjYXNfYWRyZXNzZV9hdXRvJywgZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgdG9nZ2xlU3VibWl0QnV0dG9uKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBPbiBzJ2Fzc3VyZSBxdWUgc2kgbGUgY29udGVudSBkZSAjdGFyZ2V0LWNhc19pbnRlcnZlbnRpb24gb3UgI3RhcmdldC1jYXNfYWdlbnQgY2hhbmdlIChyZWNoYXJnZW1lbnQgQUpBWCksIG9uIHbDqXJpZmllIGxlIGJvdXRvblxyXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihtdXRhdGlvbnMpIHtcclxuICAgICAgICB0b2dnbGVTdWJtaXRCdXR0b24oKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHRhcmdldEludGVydmVudGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQtY2FzX2ludGVydmVudGlvbicpO1xyXG4gICAgaWYgKHRhcmdldEludGVydmVudGlvbikge1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0SW50ZXJ2ZW50aW9uLCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB0YXJnZXRBZ2VudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQtY2FzX2FnZW50Jyk7XHJcbiAgICBpZiAodGFyZ2V0QWdlbnQpIHtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldEFnZW50LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAkKCcjcmVzZXQtZm9ybS1jYXMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAvLyBPbiBhdHRlbmQgcXVlIGxlIHJlc2V0IHNvaXQgZWZmZWN0aWYgYXZhbnQgZGUgdsOpcmlmaWVyXHJcbiAgICAgICAgc2V0VGltZW91dCh0b2dnbGVTdWJtaXRCdXR0b24sIDEwKTtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICAkKCdpbnB1dFtuYW1lPWNhc19hZHJlc3NlX2F1dG9dJykuYXV0b2NvbXBsZXRlKHtcclxuICAgICAgICBzb3VyY2U6IGZ1bmN0aW9uKHJlcXVlc3QsIHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICQuYWpheCh7XHJcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXHJcbiAgICAgICAgICAgICAgICB1cmw6ICdodHRwczovL2FwaS1hZHJlc3NlLmRhdGEuZ291di5mci9zZWFyY2gvP3E9JyArICQoXCJpbnB1dFtuYW1lPSdjYXNfYWRyZXNzZV9hdXRvJ11cIikudmFsKCkgKyAnJnR5cGU9aG91c2VudW1iZXImYXV0b2NvbXBsZXRlPTEmbGltaXQ9MTAnLFxyXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6IFwianNvblwiLFxyXG4gICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSl7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UoJC5tYXAoZGF0YS5mZWF0dXJlcywgZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFkcmVzc2VzID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEljaSBvbiBlc3Qgb2JsaWfDqSBkJ2Fqb3V0ZXIgbGVzIENQIGRhbnMgdW4gYXJyYXkgcG91ciBuZSBwYXMgYXZvaXIgcGx1c2lldXJzIGZvaXMgbGUgbcOqbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQuaW5BcnJheShpdGVtLnByb3BlcnRpZXMubGFiZWwsIGFkcmVzc2VzKSA9PSAtMSAmJiBpdGVtLnByb3BlcnRpZXMuaG91c2VudW1iZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkcmVzc2VzLnB1c2goaXRlbS5wcm9wZXJ0aWVzLmxhYmVsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgbGFiZWw6IGl0ZW0ucHJvcGVydGllcy5sYWJlbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaXR5OiBpdGVtLnByb3BlcnRpZXMuY2l0eSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3N0Y29kZTogaXRlbS5wcm9wZXJ0aWVzLnBvc3Rjb2RlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0ucHJvcGVydGllcy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBpdGVtLmdlb21ldHJ5LmNvb3JkaW5hdGVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gT24gcmVtcGxpdCBhdXNzaSBsYSB2aWxsZVxyXG4gICAgICAgIHNlbGVjdDogZnVuY3Rpb24oZXZlbnQsIHVpKSB7XHJcbiAgICAgICAgICAgICQoXCJpbnB1dFtuYW1lPSdjb2RlX3Bvc3RhbCddXCIpLnZhbCh1aS5pdGVtLnBvc3Rjb2RlKTtcclxuICAgICAgICAgICAgJChcImlucHV0W25hbWU9J3ZpbGxlJ11cIikudmFsKHVpLml0ZW0uY2l0eSk7XHJcbiAgICAgICAgICAgICQoXCJpbnB1dFtuYW1lPSdhZHJlc3NlJ11cIikudmFsKHVpLml0ZW0ubmFtZSk7XHJcbiAgICAgICAgICAgICQoXCJpbnB1dFtuYW1lPSdjb29yZGluYXRlcyddXCIpLnZhbCh1aS5pdGVtLmNvb3JkaW5hdGVzKTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxufSk7XHJcblxyXG5mdW5jdGlvbiBzZWFyY2hDYXMocGFnZSA9IDEpe1xyXG4gICAgbGV0IGZvcm0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9ybV9jYXMnKTtcclxuICAgIGlmICghZm9ybSkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJGb3JtdWxhaXJlIGZvcm1fY2FzIG5vbiB0cm91dsOpXCIpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YShmb3JtKTtcclxuXHJcbiAgICAkLmFqYXgoe1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgdXJsOiAgJy9tYXAvc2VhcmNoX2NhcycsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBcInNpdGVcIjogZm9ybURhdGEuZ2V0KCdzaXRlJyksIFxyXG4gICAgICAgICAgICBcImFnZW50XCI6IGZvcm1EYXRhLmdldCgnYWdlbnQnKSwgXHJcbiAgICAgICAgICAgIFwiZGF0ZVwiOiBmb3JtRGF0YS5nZXQoJ2RhdGVfY2FzJyksIFxyXG4gICAgICAgICAgICBcImludGVydmVudGlvblwiOiBmb3JtRGF0YS5nZXQoJ2ludGVydmVudGlvbicpLCBcclxuICAgICAgICAgICAgXCJudW1fY2xpZW50XCI6IGZvcm1EYXRhLmdldCgnbnVtX2NsaWVudCcpLFxyXG4gICAgICAgICAgICBcImNvb3JkaW5hdGVzXCI6IGZvcm1EYXRhLmdldCgnY29vcmRpbmF0ZXMnKSxcclxuICAgICAgICAgICAgXCJyYXlvblwiOiBmb3JtRGF0YS5nZXQoJ3JheW9uJyksIFxyXG4gICAgICAgICAgICBcInRyaVwiOiBmb3JtRGF0YS5nZXQoJ3RyaScpLFxyXG4gICAgICAgICAgICBcImNoZWNrX3F1YWxpZlwiOiBmb3JtRGF0YS5nZXQoJ2NoZWNrX3F1YWxpZicpLFxyXG4gICAgICAgICAgICBcInBhZ2VcIjogcGFnZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YVR5cGU6IFwianNvblwiLFxyXG4gICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpe1xyXG4gICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgPT09ICdlcnJvcicpIHtcclxuICAgICAgICAgICAgICAgICQoJyNjYXJkUGFnaW5hdGlvbicpLmh0bWwoZGF0YS5odG1sKS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICByZW1vdmVGZWF0dXJlcyh2ZWN0b3JTb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJlbW92ZUZlYXR1cmVzKHZlY3RvclNvdXJjZSk7IC8vIE9uIHZpZGUgbGEgY2FydGUgYXZhbnQgZCdham91dGVyIGxlcyBub3V2ZWxsZXMgcHVuYWlzZXNcclxuICAgICAgICAgICAgcHVuYWlzZXMoZGF0YSk7XHJcbiAgICAgICAgICAgIGlmIChkYXRhLnNlY3RldXJzKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnNlY3RldXJzLmZvckVhY2goKHNlY3RldXIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgY291bGV1ciA9ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHNlY3RldXIuYWdlbnRQcmluY2lwYWwgJiYgc2VjdGV1ci5hZ2VudFByaW5jaXBhbC5pZCAmJiBzZWN0ZXVyLmFnZW50UHJpbmNpcGFsLmlkID09IGRhdGEuYWdlbnQuaWQpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3VsZXVyID0gJyMxOGJjOWMnO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAoc2VjdGV1ci5jb29yZG9ubmVlcyAmJiBzZWN0ZXVyLmNvb3Jkb25uZWVzLmNvb3JkaW5hdGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZFBvbHlnb24oc2VjdGV1ci5jb29yZG9ubmVlcy5jb29yZGluYXRlc1swXSwgY291bGV1cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGRhdGEuY2VudGVyICYmIGRhdGEuY2VudGVyLmxhdCAmJiBkYXRhLmNlbnRlci5sb24gJiYgZGF0YS5jZW50ZXIucmF5b24pIHtcclxuICAgICAgICAgICAgICAgIGFkZFNlYXJjaENpcmNsZShbcGFyc2VGbG9hdChkYXRhLmNlbnRlci5sb24pLCBwYXJzZUZsb2F0KGRhdGEuY2VudGVyLmxhdCldLCBwYXJzZUZsb2F0KGRhdGEuY2VudGVyLnJheW9uKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJCgnI2NhcmRQYWdpbmF0aW9uJykuaHRtbChkYXRhLmh0bWwpLnNob3coKTtcclxuICAgICAgICAgICAgJCh3aW5kb3cpLnRyaWdnZXIoJ3Jlc2l6ZScpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKHhociwgc3RhdHVzLCBlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyZXVyIGxvcnMgZGUgbGEgcmVjaGVyY2hlIENBUzpcIiwgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH0pXHJcbn1cclxuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciB0cmltID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3N0cmluZy10cmltJykudHJpbTtcbnZhciB3aGl0ZXNwYWNlcyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy93aGl0ZXNwYWNlcycpO1xuXG52YXIgJHBhcnNlRmxvYXQgPSBnbG9iYWwucGFyc2VGbG9hdDtcbnZhciBGT1JDRUQgPSAxIC8gJHBhcnNlRmxvYXQod2hpdGVzcGFjZXMgKyAnLTAnKSAhPT0gLUluZmluaXR5O1xuXG4vLyBgcGFyc2VGbG9hdGAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLXBhcnNlZmxvYXQtc3RyaW5nXG5tb2R1bGUuZXhwb3J0cyA9IEZPUkNFRCA/IGZ1bmN0aW9uIHBhcnNlRmxvYXQoc3RyaW5nKSB7XG4gIHZhciB0cmltbWVkU3RyaW5nID0gdHJpbShTdHJpbmcoc3RyaW5nKSk7XG4gIHZhciByZXN1bHQgPSAkcGFyc2VGbG9hdCh0cmltbWVkU3RyaW5nKTtcbiAgcmV0dXJuIHJlc3VsdCA9PT0gMCAmJiB0cmltbWVkU3RyaW5nLmNoYXJBdCgwKSA9PSAnLScgPyAtMCA6IHJlc3VsdDtcbn0gOiAkcGFyc2VGbG9hdDtcbiIsInZhciBmYWlscyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9mYWlscycpO1xudmFyIHdoaXRlc3BhY2VzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3doaXRlc3BhY2VzJyk7XG5cbnZhciBub24gPSAnXFx1MjAwQlxcdTAwODVcXHUxODBFJztcblxuLy8gY2hlY2sgdGhhdCBhIG1ldGhvZCB3b3JrcyB3aXRoIHRoZSBjb3JyZWN0IGxpc3Rcbi8vIG9mIHdoaXRlc3BhY2VzIGFuZCBoYXMgYSBjb3JyZWN0IG5hbWVcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKE1FVEhPRF9OQU1FKSB7XG4gIHJldHVybiBmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuICEhd2hpdGVzcGFjZXNbTUVUSE9EX05BTUVdKCkgfHwgbm9uW01FVEhPRF9OQU1FXSgpICE9IG5vbiB8fCB3aGl0ZXNwYWNlc1tNRVRIT0RfTkFNRV0ubmFtZSAhPT0gTUVUSE9EX05BTUU7XG4gIH0pO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2V4cG9ydCcpO1xudmFyICRmaW5kID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2FycmF5LWl0ZXJhdGlvbicpLmZpbmQ7XG52YXIgYWRkVG9VbnNjb3BhYmxlcyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hZGQtdG8tdW5zY29wYWJsZXMnKTtcblxudmFyIEZJTkQgPSAnZmluZCc7XG52YXIgU0tJUFNfSE9MRVMgPSB0cnVlO1xuXG4vLyBTaG91bGRuJ3Qgc2tpcCBob2xlc1xuaWYgKEZJTkQgaW4gW10pIEFycmF5KDEpW0ZJTkRdKGZ1bmN0aW9uICgpIHsgU0tJUFNfSE9MRVMgPSBmYWxzZTsgfSk7XG5cbi8vIGBBcnJheS5wcm90b3R5cGUuZmluZGAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWFycmF5LnByb3RvdHlwZS5maW5kXG4kKHsgdGFyZ2V0OiAnQXJyYXknLCBwcm90bzogdHJ1ZSwgZm9yY2VkOiBTS0lQU19IT0xFUyB9LCB7XG4gIGZpbmQ6IGZ1bmN0aW9uIGZpbmQoY2FsbGJhY2tmbiAvKiAsIHRoYXQgPSB1bmRlZmluZWQgKi8pIHtcbiAgICByZXR1cm4gJGZpbmQodGhpcywgY2FsbGJhY2tmbiwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICB9XG59KTtcblxuLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1hcnJheS5wcm90b3R5cGUtQEB1bnNjb3BhYmxlc1xuYWRkVG9VbnNjb3BhYmxlcyhGSU5EKTtcbiIsInZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9kZXNjcmlwdG9ycycpO1xudmFyIGRlZmluZVByb3BlcnR5ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1kZWZpbmUtcHJvcGVydHknKS5mO1xuXG52YXIgRnVuY3Rpb25Qcm90b3R5cGUgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG52YXIgRnVuY3Rpb25Qcm90b3R5cGVUb1N0cmluZyA9IEZ1bmN0aW9uUHJvdG90eXBlLnRvU3RyaW5nO1xudmFyIG5hbWVSRSA9IC9eXFxzKmZ1bmN0aW9uIChbXiAoXSopLztcbnZhciBOQU1FID0gJ25hbWUnO1xuXG4vLyBGdW5jdGlvbiBpbnN0YW5jZXMgYC5uYW1lYCBwcm9wZXJ0eVxuLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1mdW5jdGlvbi1pbnN0YW5jZXMtbmFtZVxuaWYgKERFU0NSSVBUT1JTICYmICEoTkFNRSBpbiBGdW5jdGlvblByb3RvdHlwZSkpIHtcbiAgZGVmaW5lUHJvcGVydHkoRnVuY3Rpb25Qcm90b3R5cGUsIE5BTUUsIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gRnVuY3Rpb25Qcm90b3R5cGVUb1N0cmluZy5jYWxsKHRoaXMpLm1hdGNoKG5hbWVSRSlbMV07XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cbiIsInZhciAkID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2V4cG9ydCcpO1xudmFyIHBhcnNlRmxvYXRJbXBsZW1lbnRhdGlvbiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9udW1iZXItcGFyc2UtZmxvYXQnKTtcblxuLy8gYHBhcnNlRmxvYXRgIG1ldGhvZFxuLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1wYXJzZWZsb2F0LXN0cmluZ1xuJCh7IGdsb2JhbDogdHJ1ZSwgZm9yY2VkOiBwYXJzZUZsb2F0ICE9IHBhcnNlRmxvYXRJbXBsZW1lbnRhdGlvbiB9LCB7XG4gIHBhcnNlRmxvYXQ6IHBhcnNlRmxvYXRJbXBsZW1lbnRhdGlvblxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9leHBvcnQnKTtcbnZhciAkdHJpbSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zdHJpbmctdHJpbScpLnRyaW07XG52YXIgZm9yY2VkU3RyaW5nVHJpbU1ldGhvZCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zdHJpbmctdHJpbS1mb3JjZWQnKTtcblxuLy8gYFN0cmluZy5wcm90b3R5cGUudHJpbWAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLXN0cmluZy5wcm90b3R5cGUudHJpbVxuJCh7IHRhcmdldDogJ1N0cmluZycsIHByb3RvOiB0cnVlLCBmb3JjZWQ6IGZvcmNlZFN0cmluZ1RyaW1NZXRob2QoJ3RyaW0nKSB9LCB7XG4gIHRyaW06IGZ1bmN0aW9uIHRyaW0oKSB7XG4gICAgcmV0dXJuICR0cmltKHRoaXMpO1xuICB9XG59KTtcbiIsInZhciAkID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2V4cG9ydCcpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciB1c2VyQWdlbnQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZW5naW5lLXVzZXItYWdlbnQnKTtcblxudmFyIHNsaWNlID0gW10uc2xpY2U7XG52YXIgTVNJRSA9IC9NU0lFIC5cXC4vLnRlc3QodXNlckFnZW50KTsgLy8gPC0gZGlydHkgaWU5LSBjaGVja1xuXG52YXIgd3JhcCA9IGZ1bmN0aW9uIChzY2hlZHVsZXIpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChoYW5kbGVyLCB0aW1lb3V0IC8qICwgLi4uYXJndW1lbnRzICovKSB7XG4gICAgdmFyIGJvdW5kQXJncyA9IGFyZ3VtZW50cy5sZW5ndGggPiAyO1xuICAgIHZhciBhcmdzID0gYm91bmRBcmdzID8gc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBzY2hlZHVsZXIoYm91bmRBcmdzID8gZnVuY3Rpb24gKCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jIC0tIHNwZWMgcmVxdWlyZW1lbnRcbiAgICAgICh0eXBlb2YgaGFuZGxlciA9PSAnZnVuY3Rpb24nID8gaGFuZGxlciA6IEZ1bmN0aW9uKGhhbmRsZXIpKS5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9IDogaGFuZGxlciwgdGltZW91dCk7XG4gIH07XG59O1xuXG4vLyBpZTktIHNldFRpbWVvdXQgJiBzZXRJbnRlcnZhbCBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgZml4XG4vLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS90aW1lcnMtYW5kLXVzZXItcHJvbXB0cy5odG1sI3RpbWVyc1xuJCh7IGdsb2JhbDogdHJ1ZSwgYmluZDogdHJ1ZSwgZm9yY2VkOiBNU0lFIH0sIHtcbiAgLy8gYHNldFRpbWVvdXRgIG1ldGhvZFxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS90aW1lcnMtYW5kLXVzZXItcHJvbXB0cy5odG1sI2RvbS1zZXR0aW1lb3V0XG4gIHNldFRpbWVvdXQ6IHdyYXAoZ2xvYmFsLnNldFRpbWVvdXQpLFxuICAvLyBgc2V0SW50ZXJ2YWxgIG1ldGhvZFxuICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS90aW1lcnMtYW5kLXVzZXItcHJvbXB0cy5odG1sI2RvbS1zZXRpbnRlcnZhbFxuICBzZXRJbnRlcnZhbDogd3JhcChnbG9iYWwuc2V0SW50ZXJ2YWwpXG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=", "@public_path/build/cas.js", "/builds/dev/refonte_sav/public/build/cas.js");
    }
}
