vbg fragebogen fb 33 lösungen

}, } Bei der Überarbeitung des Fragebogens haben wir Hinweise direkt aus der Praxis berücksichtigt. group_wrapper.find('.actions .btn-cancel').css({"display": "none"}); }, . form.attr('id', 'temp-active-form'); } else { }, 300); let strasse = ""; }, 300); } else { }); let bundesland_changed = bundesland.val() !== bundesland.data('value'); vbg fragebogen fb 8 (bgi 886 8) antworten. form_valid = false; } else { } }); Notwendige Fachbegriffe würden einmal erklärt und im Folgenden ohne Erklärung genutzt. Maritim Saal, Mar ... Ausbildung: Personaldienstleistungskaufmann/-kauffrau. for (let i = 0; i < tabbed_classes.length; i++) { }); if (!target.next().is(":visible")) { let email = form.find('input[type=email]').val(); vorname = form.find('input[name=vorname]').val(); Die neuen Fragebögen in einfacher Sprache sind als interaktive Fragebögen im Programm „Zeitarbeit - Fragebögen für Sicherheit und Gesundheit bei der Arbeit" auf der VBG-Homepage zu finden. value : ',' + value; let firmenname = form.find('input[name=firmenname]'); Sie bemerken einen Isolationsschaden an der Schweiß- let group = btn.data('group'); let group = element.data('group'); input.removeClass('always-focused'); let btn = $(this); Die Veranstaltungen finden wie folgt statt: }, 300); Der Download enthält auf Seite 1 den Antwortbogen als Kopiervorlage, der Lösungsbogen auf Seite 2 unterstützt bei der Auswertung. Im Fragebogen 24 werden typische Themen aus dem Bereich Alten- und Krankenpflege behandelt. } body.on('input cut paste', '.email-field input[type=email]', function (e) { passwordOldField.addClass('error'); }); let postleitzahl_changed = postleitzahl.val().toString() !== postleitzahl.data('value').toString(); let dataValue = dataField.data('value'); VBG-Fragebogen | FB 1 Sie sollen an der Laderampe über eine bewegliche Ladebrücke den Lkw beladen. let btn = $(this); console.log("Error:"); PDF FB 11 Schweißen - OPUS Revisions und Montage GmbH igzButton.trigger('click'); var link = 'DE/Header/8_Warenkorb/addToCart_Formular.html;jsessionid=519F773B2B3D287807F6783AF4ABDD17.live2?nn=6634'; type: "POST", }); } let form = element.parents('form'); let btn = group_wrapper.find('.btn-save'); passwordOldField.parents('.ttr-input').removeClass('error'); let file_upload_field = file_upload_form.find('.business-register-file input[type=file]'); } else { }, let firma = ""; group_wrapper.find('.loader-overlay').animate({"opacity": 1}, 300); let btn = $(this); let group_wrapper = btn.parents('.group-wrapper'); let tabbed = body.find('#section-dashboard > .tabbed'); 1 2 3 4 Mitarbeiter/in (Vorname/Name) Mitarbeiter/in (Unterschrift) Unterweisende/r (Vorname/Name) Unterweisende/r (Unterschrift) Seite 1 Seite 2 Seite 3 Seite 4 A B A B C A B C A B C D Herausgeber: VBG Deelbögenkamp 4, 22297 Hamburg Antwort/Lösungsbogen Art.-Nr. „iGZ-Zeitreise mit Perspektive“ am Vorabend der Mitgliederversammlung Last Update: 2023-01-16 Usage Frequency: 1 Quality: Reference: Anonymous. Beide Fragebögen wurden nach einem TÜV geprüften Qualitätsstandard für barrierefreie Informationen entwickelt. Arbeitsbereich: Arbeitsplatz: Tätigkeit: © 2023 Interessenverband Deutscher Zeitarbeitsunternehmen e.V. Sie sind so einzusetzen wie alle anderen Fragebögen auch. }); if (localStorage.getItem('dashboard-tab')) { let btn = $(this); if (response.src) { const igzButton = navButton.clone(); let tabbed_classes = tabbed.attr('class').split(" "); body.on('wpcf7mailsent', '#sepa-mandate-form', function (e) { body.addClass('myigz-menu-active'); B. Ja, wenn es notwendig ist, dürfen Gegenstände hier abgestellt werden. Lösungsbogen - VBG. 29-14-4900-7 Druck 2012-09/Auflage 1.500 5 6 7 8 9 A B C D A B C D A B A B C D A B C D E F 10 11 12 13 14 A B C A B C D A B C D A B C A B C D 15 16 17 18 19 20 FB A B C D E A B C D A B C A B A B A B C D. Sie haben dieses Magazin bereits gemeldetVielen Dank, für Ihre Hilfe diese Plattform sauber zu halten.Die Redaktion wird schnellst möglich einen Blick darauf werfen. Juli 2012 FB Bezeichnung des Fragebogens Fragebogen-Nr. form.attr('id', ''); passwordNewRepeatField.parents('.ttr-input').addClass('error'); event.preventDefault(); }, action: "igz_crm_events_participate", if (value !== dataValue) { } else { let pass_valid = !hasPasswordFields || hasPasswordFields.length === 0 || (hasPasswordFields && (pass1.next('p').hasClass('strong-password') && pass1.val() === pass2.val())); igzButton.trigger('click'); let wrapper = field.parents('.group-wrapper'); let region_changed = region.val() !== region.data('value'); Fragebogen zur Unterstützung und Dokumentation der Unterweisung über Sicherheit und Gesundheit bei der Arbeit. Lösungen für VBG-Fragebogen FB 31? } event.preventDefault(); PDF Seite 1 Seite 2 Seite 3 Seite 4 1 5 A 10 A 15 A B C 2 A 11 D E B ... - VBG }); console.log(data); English. myIGZButton.on('click', function(event) { } btn.prop('disabled', true); Erfahrungen mitteilen firma: firma, if (passwordNewField.val() === "" || passwordNewField.next('.strength.strong-password').length === 0) { $.ajax({ let field = $(this); First Presbyterian Church of Fullerton | Fullerton CA - Facebook privacy: privacy !== undefined ? body.find('input[name=userid]').val(+body.find('span#UserID').text()); return; } Add a translation. Vbg fragebogen gabelstapler in English with examples - MyMemory Add a translation. }); } event.stopPropagation(); let email1 = form.find('input[name=email]'); btn.css({"display": "none"}); Personalisierte Anzeigen und Inhalte, Anzeigen- und Inhaltsmessungen, Erkenntnisse über Zielgruppen und Produktentwicklungen. August 2023 anzuheben. e.preventDefault(); $.ajax({ let tabbed = body.find('#section-dashboard > .tabbed'); } Lokale Suche - Vbg-fragebogen Fb 6 (bgi 886-6) Antworten Adressen - Fahrpläne - Bewertungen Wetterinformationen group_wrapper.find('.loader-overlay').animate({"opacity": 1}, 300); let btn_preview = element.find('a.btn.btn-primary.file-preview'); e.preventDefault(); if (hidden_notification.length > 1) { Auswertung Seite2 von 5. let is_only_button = element.is(':first-of-type') && element.is(':last-of-type'); let action = "igz_crm_" + group + "_update"; complete: function (response) { }, 300); } crmGuid: element.data("guid"), Die Sätze seien kurz und prägnant formuliert und untereinander angeordnet. group_wrapper.append('

Loading...
'); let dataType = ""; body.append(''); body.on('change','input[name=proof_of_business]', function (e) { plz: plz, let name = formData[i].name; passwordNewRepeatField.addClass('error'); 18 Lebensmittelproduktion - VBG - MOAM.INFO let group_wrapper = btn.parents('.group_wrapper'); action: 'igz_send_invitations', complete: function (response) { setTimeout(function () { let hasEmailFields = email1 && email2; passwordNewField.parents('.ttr-input').removeClass('error'); }, firma = form.find('input[name=firma]').val(); }); } }, Datum Mitarbeiter/in (Vorname/Name) Mitarbeiter/in (Unterschrift) . Zu einer Frage können auch mehrere Antworten richtig sein. let oldVal = field.data('value'); let land_changed = land.val() !== land.data('value'); dashboard_save_data(btn, sendEmails); } if (file.length > 0) { let hidden_notification = body.find('.hidden-notification'); ', 'error'); memberno_field.val($('.tab-profile-companies input[name=membershop_no]').val()); let anrede = ""; group_wrapper.find('.actions .btn-edit').css({"display": "inline-flex"}); Campus Loddenheide | Fridtjof-Nansen-Weg 3a | 48155 Münster, Tel. file_upload_form.addClass('hidden-field'); 113 talking about this. let wrapper = form.parent(); Alle Fragebögen stehen auch online zur Verfügung (siehe www.vbg.de/zeitarbeit-fb). formData: formData, A. Nein, auch kurzfristig dürfen hier keine Gegenstände abgestellt werden. group_wrapper.find('.loader-overlay').animate({"opacity": 0}, 300); Stand: Dezember 2009 Artikelnummer: 29-14-49 32 -8 Fragebogen für Sicherheit und Gesundheit bei der Arbeit Hautschutz Zu einer Frage können auch mehrere Antworten richtig sein. 'height' : 300, let postleitzahl = $('.tab-profile-companies input[name=postleitzahl]'); Die Erhöh ... Der zunehmende Fachkräftemangel stellt auch den Arbeitsalltag in Zeitarbeitsunternehmen nahezu auf den Kopf – lag früher der Schwerpunkt in der Akquise von Kundenunternehmen, hat sich mittlerweile der Löwenanteil auf den Bereich Recruiting verlagert. VBG - Homepage - Umfassend überarbeitet: Fragebogen 24 „Alten- und ... Wichtiger Schritt für die Zeitarbeitsbranche complete: function (response) { +49 (0) 251 32262-0 Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software. let passwordOldField = form.find('input[name=password_old'); email: email, } let input = $(this); btn.prop('disabled', false); Warum muss auch die kleinste Verletzung fachgerecht versorgt werden? } btn.addClass('btn-disabled'); }, let formDataChanged = []; tabbed.attr('class', tabbed_classes.join(' ')); event_id: event_id, e.preventDefault(); }, vbg fragebogen fb 8 (bgi 886 8) antworten. } input.addClass('always-focused') : false; let region = $('.tab-profile-companies input[name=region]'); 'width' : 660, if (tabbed_classes[i].indexOf('tab-') >= 0) { e.preventDefault(); setTimeout(function () { e.preventDefault(); beforeSend: function () { repeatField.parents('.ttr-input').removeClass('hidden-field'); siblingForm.find('.wpcf7-submit').click(); btn.addClass('disabled'); 32 Hautschutz - VBG - Yumpu PDF FB 1 (BGI 886-1) Helfer/in - heidenescher-stapler.de data: { let proof_of_business = siblingForm.find('input[name=proof_of_business]').val(); group_wrapper.find('.loader-overlay').animate({"opacity": 0}, 300); if (siblingForm.length === 1) { Dazu äußert sich die Verhandlungsgemeinsch ... Warum gibt es zwei Arbeitgeberverbände für die Zeitarbeitsbranche? let input = $(this); file_upload_field.prop('required', true); dataType: "html", $('.overlay-mobile-nav').add(navButton[0].firstChild).removeClass('active'); let formData = form.serializeArray(); for (let i = 0; i < tabbed_classes.length; i++) { }); let group_wrapper = form.parent(); let info = actions.find('span'); dataType: dataType, function dashboard_save_data(element) { let element = $(this); Da die VBG an den Erfahrungen der Zeitarbeitsunternehmen und Beschäftigten mit den neuen Fragebögen in einfacher Sprache interessiert ist, hat sie für Rückmeldungen ein E-Mail-Postfach unter fb.einfache.sprache@vbg.de eingerichtet. if (firmenname.val() !== firmenname.data('val')) { Fragebogen für Sicherheit und Gesundheit bei der Arbeit Stand: 07/2021 - Version 3.0 mündliche (Nach-)Unterweisung ist erfolgt nein Unterweisende/r (Vorname/Name) ja Datum Mitarbeiter/in (Vorname/Name) Mitarbeiter/in (Unterschrift) Unterweisende/r (Unterschrift) Firma: Reinigungsmittel Nr. event.stopPropagation(); VBG-Fragebogen | FB 11 orauf achten Sie an Ihrem neuen Arbeitsplatz?W A. Wo sich die Fluchtwege und Notausgänge befinden.Standorte der Feuerlöscher, Brandmelder und Verbandkästen. let wrapper = form.parent(); } vbg questionnaire fb 8 (bgi 886 8) answers. nav.on('click', function(event) { let ort = ""; PDF FB 3 Reinigung - VBG Dadurch soll ein Lerneffekt entstehen. Sie können elektronisch ausgewertet, abgespeichert und ausgedruckt werden. if (element.data('group') === 'member') { Fax +49 (0) 251 32262-100. beforeSend: function () { complete: function (response) { let memberno_field = file_upload_form.find('input[name=mitgliedsnummer]'); }); let args = []; Auf Fachbegriffe sei weitestgehend verzichtet worden. type: "POST", } else if(body.hasClass('page-template-myigz-dashboard')) { $(".lightBoxWarenkorb"+addParam_cart_id).fancybox({ body.on('input cut paste', '.tab-profile-companies input', function (e) { let btn_download = element.find('a.btn.btn-primary.file-download'); group_wrapper.find('.loader-overlay').remove(); passwordNewField.parents('.ttr-input').addClass('error'); let bundesland = $('.tab-profile-companies input[name=bundesland]'); }, }); body.on('click', '.btn-save', function (e) { e.preventDefault(); $.ajax({ e.preventDefault(); let cf7 = wrapper.find('.wpcf7-form'); let action = urlParams.get('action'); let land = $('.tab-profile-companies input[name=land]'); type: "POST", btn.removeClass('btn-deactivate-disabled'); Come worship with us on Sunday mornings - two services - UPLIFT at 9 AM &. if (value !== undefined) { } } }); let btn = form.find('.btn-save'); btn.addClass('btn-deactivate'); event.stopPropagation(); error: function(data){ tabbed_classes[i] = new_tab; action: "crm_get_file", In den Warenkorb, Frei­wil­li­ge Un­ter­neh­mer­ver­si­che­rung, Teil­neh­men­de an Qua­li­fi­zie­rungs­maß­nah­men, Op­ti­mier­te Zu­sam­men­ar­beit mit Leis­tungs­er­brin­gern, Be­ruf­li­che und so­zia­le Re­ha­bi­li­ta­ti­on, Qua­li­täts­ma­na­ge­ment Re­ha­bi­li­ta­ti­on, In­ge­nieu­re, Ar­chi­tek­ten, Bau­pla­ner, Bau­pla­nung und Bau­stel­len­si­cher­heit. Befreien die Animation Windows - Steam Demonstration A-Frame / Mehrspieler . Aus den zwei Verbänden soll nun ein Gesamtverband werden, wenn die Mitgliedsunternehmen von BAP und iGZ dem zustimmen. let passwordNewRepeatField = form.find('input[name=password_repeat'); type: "POST", ort: ort, let crmGuid = element.data("crmguid"); show_notification(response.msg, response.result); group_wrapper.find('.loader-overlay').animate({"opacity": 1}, 300); group_wrapper.find('.loader-overlay').animate({"opacity": 0}, 300); let element = $(this); body.removeClass('myigz-menu-active mobile-nav-active'); if (window.location.hash.substr(1,3)=="tab") { group_wrapper.find('.actions .btn-edit').css({"display": "inline-flex"}); Lösungsbogen - VBG - MOAM.INFO type: "POST", success: function(data){ } }, let tab=window.location.hash.substr(1); } else { let parents = email_field.parents('.tab-profile-employees, .tab-profile-companies'); VBG-Fragebögen für Sicherheit und Gesundheit | iGZ Wenn Sie diese Aktion ausführen, werden die Änderungen auf die Standardeinstellungen zurückgesetzt: Hurra! Fragebogen zur Unterstützung und Dokumentation der Unterweisung über Sicherheit und Gesundheit bei der Arbeit. Antwortbogen und Lösungsbogen gelten für alle Fragebögen. B. chI brauche mich um nichts zu kümmern, da ich hier nur zeitweise arbeite. } setTimeout(function () { let emailOld = form.find('input[type=email]').data('value'); data: { crmGuid: btn.data('crmguid'), if (passwordNewRepeatField.val() === "" || passwordNewRepeatField.val() !== passwordNewField.val()) { body.on('click', '.btn-event-participate', function (e) { if (btn.hasClass('btn-change-password')) { } crmGuid: crmGuid, } else { let participant_id = btn.data("id"); const windowWidth = $(window).width(); Wie ein Zusammen der beiden Verbände als ein Gesamtverband funktionieren und wi ... Das Bundesarbeitsgericht (BAG) hat am 31. if (target.hasClass('has-sub-tabs')) { let group_wrapper = form.parent(); group_wrapper.find('.loader-overlay').remove(); body.find('.lightbox.lightbox-password-reset').click(); Liste der Partner (Lieferanten) 1 if (check.is(':checked')) { }); } } Comment. let firmenname = $('.tab-profile-companies input[name=firmenname]'); } vbg questionnaire fb 8 (bgi 886 8) answers. if(windowWidth < 1024 || igzButton.is(":visible")) { let cf7 = wrapper.find('.wpcf7-form'); A. Ladebrücke so auflegen, dass sie sich nicht unbeabsichtigt verschieben kann. anrede = form.find('input[name=anrede]').val(); value : ',' + value; var addParam_cart_value = '%2B1'; file_upload_form.removeClass('hidden-field'); show_notification(response.responseJSON.msg, 'success'); if (mitgliedsnummer !== undefined && mitgliedsnummer !== "" && proof_of_business !== undefined && proof_of_business !== "") { Die Broschüre „Praxis-Check Zeitarbeit" richtet sich insbesondere an kleine Zeitarbeitsunternehmen. action: 'igz_crm_deactivate', btn.css({"display": "none"}); VBG-Fragebogen | FB 18 Lebensmittelproduktion Datum Stand: 04/2014 Mitarbeiter/in (Vorname/Name) Mitarbeiter/in (Unterschrift) Unterweisende/r (Vorname/Name) Unterweisende/r (Unterschrift) mündliche (Nach-)Unterweisung ist erfolgt nein ja Zu einer Frage können auch mehrere Antworten richtig sein. data: { iGZ-Bundesgeschäftsstelle passwordNewField.removeClass('error'); show_notification('Datei wurde gesendet', 'success'); e.preventDefault(); if (field.is(':checked')) { group_wrapper.find('.loader-overlay').remove(); info.removeClass('hidden'); In einer Zielgruppenprüfung seien optimale Verständlichkeit und Handhabbarkeit der Texte untersucht worden. Häufige Fragen und Antworten auf einen Blick. let new_tab = $(this).data('tab'); }); complete: function (response) { Fragebogen für Sicherheit und Gesundheit bei der Arbeit - VBG [PDF] Lager und Transport Helfer/in - Free Download PDF igzButton.insertBefore(navButton); file_upload_field.removeClass('hidden-field'); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlcyI6WyJjb250ZW50LWRhc2hib2FyZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB1cmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuXG5qUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgkKSB7XG4gICAgbGV0IGJvZHkgPSAkKCdib2R5Jyk7XG5cbiAgICBpZiAoIWJvZHkuaGFzQ2xhc3MoJ2xvZ2dlZC1pbicpKSB7XG4gICAgICAgIGxldCBhY3Rpb24gPSB1cmxQYXJhbXMuZ2V0KCdhY3Rpb24nKTtcbiAgICAgICAgaWYgKGFjdGlvbiA9PT0gXCJyZXNldFwiKSB7XG4gICAgICAgICAgICBib2R5LmFwcGVuZCgnPHNwYW4gY2xhc3M9XCJoaWRkZW5cIj48YSBjbGFzcz1cImxpZ2h0Ym94IGxpZ2h0Ym94LXBhc3N3b3JkLXJlc2V0XCIgZGF0YS11c2VyPVwiJyArIHVybFBhcmFtcy5nZXQoJ3VzZXInKSArICdcIiBkYXRhLXRva2VuPVwiJyArIHVybFBhcmFtcy5nZXQoJ3Rva2VuJykgKyAnXCI+PC9hPjwvc3Bhbj4nKTtcbiAgICAgICAgICAgIGJvZHkuZmluZCgnLmxpZ2h0Ym94LmxpZ2h0Ym94LXBhc3N3b3JkLXJlc2V0JykuY2xpY2soKTtcbiAgICAgICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdyZWdpc3RlcicpIHtcbiAgICAgICAgICAgIGxldCBoaWRkZW5fbm90aWZpY2F0aW9uID0gYm9keS5maW5kKCcuaGlkZGVuLW5vdGlmaWNhdGlvbicpO1xuICAgICAgICAgICAgaWYgKGhpZGRlbl9ub3RpZmljYXRpb24ubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoaWRkZW5fbm90aWZpY2F0aW9uLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHNob3dfbm90aWZpY2F0aW9uKGhpZGRlbl9ub3RpZmljYXRpb24udGV4dCgpLCBoaWRkZW5fbm90aWZpY2F0aW9uLmRhdGEoJ3R5cGUnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYoYm9keS5oYXNDbGFzcygncGFnZS10ZW1wbGF0ZS1teWlnei1kYXNoYm9hcmQnKSkge1xuICAgICAgICBjb25zdCBuYXZCdXR0b24gPSAkKCcubW9iaWxlLW5hdi1idXR0b246Zmlyc3QnKTtcbiAgICAgICAgY29uc3QgaWd6QnV0dG9uID0gbmF2QnV0dG9uLmNsb25lKCk7XG4gICAgICAgIGlnekJ1dHRvbi5hdHRyKCdpZCcsICdteWlnei1tb2JpbGUtYnV0dG9uJyk7XG4gICAgICAgIGlnekJ1dHRvbi5odG1sKCc8YSBocmVmPVwiI1wiPjxpIGNsYXNzPVwiZmEgZmEtcmVndWxhciBmYS1jaXJjbGUtdXNlclwiPjwvaT48L2E+Jyk7XG4gICAgICAgIGlnekJ1dHRvbi5pbnNlcnRCZWZvcmUobmF2QnV0dG9uKTtcbiAgICAgICAgaWd6QnV0dG9uLm9uKCdjbGljaycsIGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBib2R5LmFkZENsYXNzKCdteWlnei1tZW51LWFjdGl2ZScpO1xuICAgICAgICAgICAgJCgnLm92ZXJsYXktbW9iaWxlLW5hdicpLmFkZENsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgbXlJR1pCdXR0b24gPSAkKCcjYnRuLW15aWd6LW1vYmlsZScpO1xuICAgICAgICBteUlHWkJ1dHRvbi5vbignY2xpY2snLCBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWd6QnV0dG9uLnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICQoJyNidG4tbXlpZ3otaGVhZGVyJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHdpbmRvd1dpZHRoID0gJCh3aW5kb3cpLndpZHRoKCk7XG5cbiAgICAgICAgICAgIGlmKHdpbmRvd1dpZHRoIDwgMTAyNCB8fCBpZ3pCdXR0b24uaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgaWd6QnV0dG9uLnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IG5hdiA9ICQoJyNzZWN0aW9uLWRhc2hib2FyZCA+IC5jb250YWluZXIgPiBuYXYuY29sJyk7XG4gICAgICAgIG5hdi5vbignY2xpY2snLCBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gJChldmVudC50YXJnZXQpO1xuICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNDbGFzcygnaGFzLXN1Yi10YWJzJykpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRhcmdldC5uZXh0KCkuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYm9keS5yZW1vdmVDbGFzcygnbXlpZ3otbWVudS1hY3RpdmUgbW9iaWxlLW5hdi1hY3RpdmUnKTtcbiAgICAgICAgICAgICQoJy5vdmVybGF5LW1vYmlsZS1uYXYnKS5hZGQobmF2QnV0dG9uWzBdLmZpcnN0Q2hpbGQpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdkYXNoYm9hcmQtdGFiJykpIHtcbiAgICAgICAgbGV0IHRhYmJlZCA9IGJvZHkuZmluZCgnI3NlY3Rpb24tZGFzaGJvYXJkID4gLnRhYmJlZCcpO1xuICAgICAgICBsZXQgdGFiYmVkX2NsYXNzZXMgPSB0YWJiZWQuYXR0cignY2xhc3MnKS5zcGxpdChcIiBcIik7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFiYmVkX2NsYXNzZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0YWJiZWRfY2xhc3Nlc1tpXS5pbmRleE9mKCd0YWItJykgPj0gMCkge1xuICAgICAgICAgICAgICAgIHRhYmJlZF9jbGFzc2VzW2ldID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Rhc2hib2FyZC10YWInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0YWJiZWQuYXR0cignY2xhc3MnLCB0YWJiZWRfY2xhc3Nlcy5qb2luKCcgJykpO1xuICAgIH1cblxuICAgIC8vIHJlZGlyZWN0cyBpZS4gL215aWd6LyN0YWItc2hvcC1jYXJ0IHRvIGNvcmVzcG9uZGluZyB0YWJcbiAgICBpZiAod2luZG93LmxvY2F0aW9uLmhhc2guc3Vic3RyKDEsMyk9PVwidGFiXCIpIHtcbiAgICAgICAgbGV0IHRhYj13aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHIoMSk7XG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgJChcIltkYXRhLXRhYj0nXCIrdGFiK1wiJ11cIikuY2xpY2soKTtcbiAgICAgICAgfSwgMzAwKTtcbiAgICB9XG5cbiAgICBib2R5Lm9uKCdjbGljaycsICcuYnRuLWVkaXQnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGxldCBidG4gPSAkKHRoaXMpO1xuICAgICAgICBsZXQgZ3JvdXAgPSBidG4uZGF0YSgnZ3JvdXAnKTtcbiAgICAgICAgbGV0IGdyb3VwX3dyYXBwZXIgPSBidG4ucGFyZW50cygnLmdyb3VwLXdyYXBwZXInKTtcblxuICAgICAgICBncm91cF93cmFwcGVyLmZpbmQoJy50dHItaW5wdXQnKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGxldCBpbnB1dCA9ICQodGhpcyk7XG4gICAgICAgICAgICAhaW5wdXQuaGFzQ2xhc3MoJ2Fsd2F5cy1mb2N1c2VkJykgPyBpbnB1dC5hZGRDbGFzcygnYWx3YXlzLWZvY3VzZWQnKSA6IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICBidG4uY3NzKHtcImRpc3BsYXlcIjogXCJub25lXCJ9KTtcbiAgICAgICAgZ3JvdXBfd3JhcHBlci5maW5kKCcuYWN0aW9ucyAuYnRuLXNhdmUnKS5jc3Moe1wiZGlzcGxheVwiOiBcImlubGluZS1mbGV4XCJ9KTtcbiAgICAgICAgZ3JvdXBfd3JhcHBlci5maW5kKCcuYWN0aW9ucyAuYnRuLWNhbmNlbCcpLmNzcyh7XCJkaXNwbGF5XCI6IFwiaW5saW5lLWZsZXhcIn0pO1xuICAgIH0pO1xuXG4gICAgYm9keS5vbignY2xpY2snLCAnLmJ0bi1jYW5jZWwnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGxldCBidG4gPSAkKHRoaXMpO1xuICAgICAgICBsZXQgZ3JvdXAgPSBidG4uZGF0YSgnZ3JvdXAnKTtcbiAgICAgICAgbGV0IGdyb3VwX3dyYXBwZXIgPSBidG4ucGFyZW50cygnLmdyb3VwLXdyYXBwZXInKTtcblxuICAgICAgICBncm91cF93cmFwcGVyLmZpbmQoJy50dHItaW5wdXQnKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGxldCBpbnB1dCA9ICQodGhpcyk7XG4gICAgICAgICAgICBpbnB1dC5yZW1vdmVDbGFzcygnYWx3YXlzLWZvY3VzZWQnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYnRuLmNzcyh7XCJkaXNwbGF5XCI6IFwibm9uZVwifSk7XG4gICAgICAgIGdyb3VwX3dyYXBwZXIuZmluZCgnLmFjdGlvbnMgLmJ0bi1zYXZlJykuY3NzKHtcImRpc3BsYXlcIjogXCJub25lXCJ9KTtcbiAgICAgICAgZ3JvdXBfd3JhcHBlci5maW5kKCcuYWN0aW9ucyAuYnRuLWVkaXQnKS5jc3Moe1wiZGlzcGxheVwiOiBcImlubGluZS1mbGV4XCJ9KTtcbiAgICB9KTtcblxuICAgIGJvZHkub24oJ2NsaWNrJywgJy50YWJiZWQgbmF2IC50YWInLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgbGV0IG5ld190YWIgPSAkKHRoaXMpLmRhdGEoJ3RhYicpO1xuICAgICAgICBsZXQgdGFiYmVkID0gYm9keS5maW5kKCcjc2VjdGlvbi1kYXNoYm9hcmQgPiAudGFiYmVkJyk7XG4gICAgICAgIGxldCB0YWJiZWRfY2xhc3NlcyA9IHRhYmJlZC5hdHRyKCdjbGFzcycpLnNwbGl0KFwiIFwiKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0YWJiZWRfY2xhc3Nlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRhYmJlZF9jbGFzc2VzW2ldLmluZGV4T2YoJ3RhYi0nKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgdGFiYmVkX2NsYXNzZXNbaV0gPSBuZXdfdGFiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRhYmJlZC5hdHRyKCdjbGFzcycsIHRhYmJlZF9jbGFzc2VzLmpvaW4oJyAnKSk7XG4gICAgfSk7XG5cbiAgICBib2R5Lm9uKCdpbnB1dCBjdXQgcGFzdGUnLCAnLmVtYWlsLWZpZWxkIGlucHV0W3R5cGU9ZW1haWxdJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBsZXQgZmllbGQgPSAkKHRoaXMpO1xuICAgICAgICBsZXQgdmFsID0gZmllbGQudmFsKCk7XG4gICAgICAgIGxldCBvbGRWYWwgPSBmaWVsZC5kYXRhKCd2YWx1ZScpO1xuICAgICAgICBsZXQgd3JhcHBlciA9IGZpZWxkLnBhcmVudHMoJy5ncm91cC13cmFwcGVyJyk7XG4gICAgICAgIGxldCByZXBlYXRGaWVsZCA9IHdyYXBwZXIuZmluZCgnaW5wdXRbbmFtZT1lbWFpbF9yZXBlYXRdJyk7XG5cbiAgICAgICAgaWYgKHZhbCAhPT0gb2xkVmFsKSB7XG4gICAgICAgICAgICByZXBlYXRGaWVsZC5wcm9wKCdyZXF1aXJlZCcsdHJ1ZSk7XG4gICAgICAgICAgICByZXBlYXRGaWVsZC5wYXJlbnRzKCcudHRyLWlucHV0JykucmVtb3ZlQ2xhc3MoJ2hpZGRlbi1maWVsZCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVwZWF0RmllbGQucHJvcCgncmVxdWlyZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICBsZXQgcmVwZWF0RmllbGRXcmFwcGVyID0gcmVwZWF0RmllbGQucGFyZW50cygnLnR0ci1pbnB1dCcpO1xuICAgICAgICAgICAgaWYgKCFyZXBlYXRGaWVsZFdyYXBwZXIuaGFzQ2xhc3MoJ2hpZGRlbi1maWVsZCcpKSB7XG4gICAgICAgICAgICAgICAgcmVwZWF0RmllbGRXcmFwcGVyLmFkZENsYXNzKCdoaWRkZW4tZmllbGQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgYm9keS5vbignY2xpY2snLCAnLmJ0bi1ldmVudC1wYXJ0aWNpcGF0ZScsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbGV0IGJ0biA9ICQodGhpcyk7XG4gICAgICAgIGxldCBncm91cF93cmFwcGVyID0gYnRuLnBhcmVudHMoJy5ncm91cF93cmFwcGVyJyk7XG4gICAgICAgIGxldCBldmVudF9pZCA9IGJ0bi5kYXRhKFwiZXZlbnQtaWRcIik7XG4gICAgICAgIGxldCBjb250YWN0X2lkID0gYnRuLmRhdGEoXCJjb250YWN0LWlkXCIpO1xuICAgICAgICBsZXQgcGFydGljaXBhbnRfaWQgPSBidG4uZGF0YShcImlkXCIpO1xuXG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB0eXBlOiBcIlBPU1RcIixcbiAgICAgICAgICAgIHVybDogYWpheHVybCxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBhY3Rpb246IFwiaWd6X2NybV9ldmVudHNfcGFydGljaXBhdGVcIixcbiAgICAgICAgICAgICAgICBldmVudF9pZDogZXZlbnRfaWQsXG4gICAgICAgICAgICAgICAgY29udGFjdF9pZDogY29udGFjdF9pZCxcbiAgICAgICAgICAgICAgICBwYXJ0aWNpcGFudF9pZDogcGFydGljaXBhbnRfaWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBiZWZvcmVTZW5kOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBfd3JhcHBlci5hcHBlbmQoJzxkaXYgY2xhc3M9XCJsb2FkZXItb3ZlcmxheVwiPjxkaXYgY2xhc3M9XCJsb2FkZXJcIj5Mb2FkaW5nLi4uPC9kaXY+PC9kaXY+Jyk7XG4gICAgICAgICAgICAgICAgZ3JvdXBfd3JhcHBlci5maW5kKCcubG9hZGVyLW92ZXJsYXknKS5hbmltYXRlKHtcIm9wYWNpdHlcIjogMX0sIDMwMCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIGdyb3VwX3dyYXBwZXIuZmluZCgnLmxvYWRlci1vdmVybGF5JykuYW5pbWF0ZSh7XCJvcGFjaXR5XCI6IDB9LCAzMDApO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwX3dyYXBwZXIuZmluZCgnLmxvYWRlci1vdmVybGF5JykucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICBzaG93X25vdGlmaWNhdGlvbihyZXNwb25zZS5tc2csIHJlc3BvbnNlLnJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgYm9keS5maW5kKCdpbnB1dFtuYW1lPW1haW5PZmZpY2VJZF0nKS52YWwoYm9keS5maW5kKCdpbnB1dFtuYW1lPXByZWZpbGxfbWFpbk9mZmljZUlkXScpLnZhbCgpKTtcbiAgICBib2R5LmZpbmQoJ2lucHV0W25hbWU9ZW1haWxdJykuZWFjaChmdW5jdGlvbiAoaSkge1xuICAgICAgICBsZXQgZW1haWxfZmllbGQgPSAkKHRoaXMpO1xuICAgICAgICBsZXQgcGFyZW50cyA9IGVtYWlsX2ZpZWxkLnBhcmVudHMoJy50YWItcHJvZmlsZS1lbXBsb3llZXMsIC50YWItcHJvZmlsZS1jb21wYW5pZXMnKTtcbiAgICAgICAgaWYgKCFwYXJlbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgZW1haWxfZmllbGQudmFsKGJvZHkuZmluZCgnaW5wdXRbbmFtZT1wcmVmaWxsX2VtYWlsXScpLnZhbCgpKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGJvZHkuZmluZCgnaW5wdXRbbmFtZT10b2tlbl0nKS52YWwoYm9keS5maW5kKCdpbnB1dFtuYW1lPXByZWZpbGxfdG9rZW5dJykudmFsKCkpO1xuICAgIGJvZHkuZmluZCgnaW5wdXRbbmFtZT11bnRlcm5laG1lbl0nKS52YWwoYm9keS5maW5kKCdpbnB1dFtuYW1lPXByZWZpbGxfZmlybWVubmFtZV0nKS52YWwoKSk7XG4gICAgYm9keS5maW5kKCdpbnB1dFtuYW1lPW1pdGdsaWVkc251bW1lcl0nKS52YWwoYm9keS5maW5kKCdpbnB1dFtuYW1lPXByZWZpbGxfbWVtYmVyX25vXScpLnZhbCgpKTtcbiAgICBib2R5LmZpbmQoJ2lucHV0W25hbWU9dXNlcmlkXScpLnZhbCgrYm9keS5maW5kKCdzcGFuI1VzZXJJRCcpLnRleHQoKSk7XG5cbiAgICBib2R5Lm9uKCdjbGljaycsICcjdXBsb2FkLXNlcGEtbWFuZGF0ZSAuYnRuLXNlcGEtbWFuZGF0ZScsIGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBsZXQgYnRuID0gJCh0aGlzKTtcbiAgICAgICAgbGV0IGZvcm0gPSBidG4ucGFyZW50KCk7XG4gICAgICAgIGxldCB3cmFwcGVyID0gZm9ybS5wYXJlbnQoKTtcblxuICAgICAgICBsZXQgZmlsZSA9IHdyYXBwZXIuZmluZCgnaW5wdXRbdHlwZT1maWxlXScpO1xuICAgICAgICBpZiAoZmlsZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAoZmlsZS52YWwoKSAhPT0gXCJcIikge1xuICAgICAgICAgICAgICAgIGxldCB3cmFwcGVyID0gZm9ybS5wYXJlbnQoKTtcbiAgICAgICAgICAgICAgICBsZXQgY2Y3ID0gd3JhcHBlci5maW5kKCcud3BjZjctZm9ybScpO1xuICAgICAgICAgICAgICAgIGNmNy5maW5kKCdpbnB1dFtuYW1lPW1pdGdsaWVkc251bW1lcl0nKS52YWwoZm9ybS5maW5kKCdpbnB1dFtuYW1lPW1lbWJlcl9ub10nKS52YWwoKSk7XG4gICAgICAgICAgICAgICAgY2Y3LmZpbmQoJy53cGNmNy1zdWJtaXQnKS5jbGljaygpO1xuICAgICAgICAgICAgICAgIHNob3dfbm90aWZpY2F0aW9uKCdEYXRlaSB3dXJkZSBnZXNlbmRldCcsICdzdWNjZXNzJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNob3dfbm90aWZpY2F0aW9uKCdCaXR0ZSB3w6RobGVuIFNpZSBlaW5lIERhdGVpIGF1cyEnLCAnZXJyb3InKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCBjZjcgPSB3cmFwcGVyLmZpbmQoJy53cGNmNy1mb3JtJyk7XG4gICAgICAgICAgICBjZjcuZmluZCgnLndwY2Y3LXN1Ym1pdCcpLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGJvZHkub24oJ3dwY2Y3bWFpbHNlbnQnLCAnI3NlcGEtbWFuZGF0ZS1mb3JtJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgc2hvd19ub3RpZmljYXRpb24oJ01hbmRhdCB3dXJkZSBnZXNlbmRldCcsICdzdWNjZXNzJyk7XG4gICAgfSk7XG5cbiAgICBib2R5Lm9uKCdjbGljaycsICcuYnRuLXNhdmUnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGxldCBidG4gPSAkKHRoaXMpO1xuICAgICAgICBsZXQgZm9ybSA9IGJ0bi5wYXJlbnRzKCdmb3JtJyk7XG4gICAgICAgIGxldCBzZW5kRW1haWxzID0gW107XG5cbiAgICAgICAgbGV0IHBhc3MxID0gZm9ybS5maW5kKCdpbnB1dFtuYW1lPXBhc3N3b3JkXScpO1xuICAgICAgICBsZXQgcGFzczIgPSBmb3JtLmZpbmQoJ2lucHV0W25hbWU9cGFzc3dvcmRfcmVwZWF0XScpO1xuICAgICAgICBsZXQgaGFzUGFzc3dvcmRGaWVsZHMgPSBwYXNzMSAmJiBwYXNzMjtcblxuICAgICAgICBsZXQgZW1haWwxID0gZm9ybS5maW5kKCdpbnB1dFtuYW1lPWVtYWlsXScpO1xuICAgICAgICBsZXQgZW1haWwyID0gZm9ybS5maW5kKCdpbnB1dFtuYW1lPWVtYWlsX3JlcGVhdF0nKTtcbiAgICAgICAgbGV0IGhhc0VtYWlsRmllbGRzID0gZW1haWwxICYmIGVtYWlsMjtcblxuICAgICAgICBsZXQgZmlybWVubmFtZSA9IGZvcm0uZmluZCgnaW5wdXRbbmFtZT1maXJtZW5uYW1lXScpO1xuICAgICAgICBpZiAoZmlybWVubmFtZS52YWwoKSAhPT0gZmlybWVubmFtZS5kYXRhKCd2YWwnKSkge1xuICAgICAgICAgICAgc2VuZEVtYWlscy5wdXNoKCdmaXJtZW5uYW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZm9ybV92YWxpZCA9IGZvcm0udmFsaWQoKTtcbiAgICAgICAgbGV0IHBhc3NfdmFsaWQgPSAhaGFzUGFzc3dvcmRGaWVsZHMgfHwgaGFzUGFzc3dvcmRGaWVsZHMubGVuZ3RoID09PSAwIHx8IChoYXNQYXNzd29yZEZpZWxkcyAmJiAocGFzczEubmV4dCgncCcpLmhhc0NsYXNzKCdzdHJvbmctcGFzc3dvcmQnKSAmJiBwYXNzMS52YWwoKSA9PT0gcGFzczIudmFsKCkpKTtcbiAgICAgICAgbGV0IG1haWxfdmFsaWQgPSAhaGFzRW1haWxGaWVsZHMgfHwgaGFzRW1haWxGaWVsZHMubGVuZ3RoID09PSAwIHx8IChoYXNFbWFpbEZpZWxkcyAmJiBlbWFpbDEudmFsKCkgPT09IGVtYWlsMi52YWwoKSk7XG5cbiAgICAgICAgaWYgKGJ0bi5oYXNDbGFzcygnYnRuLWNoYW5nZS1wYXNzd29yZCcpKSB7XG4gICAgICAgICAgICBsZXQgcGFzc3dvcmRPbGRGaWVsZCA9IGZvcm0uZmluZCgnaW5wdXRbbmFtZT1wYXNzd29yZF9vbGQnKTtcbiAgICAgICAgICAgIGxldCBwYXNzd29yZE5ld0ZpZWxkID0gZm9ybS5maW5kKCdpbnB1dFtuYW1lPXBhc3N3b3JkJyk7XG4gICAgICAgICAgICBsZXQgcGFzc3dvcmROZXdSZXBlYXRGaWVsZCA9IGZvcm0uZmluZCgnaW5wdXRbbmFtZT1wYXNzd29yZF9yZXBlYXQnKTtcblxuICAgICAgICAgICAgaWYgKHBhc3N3b3JkT2xkRmllbGQudmFsKCkgPT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICBwYXNzd29yZE9sZEZpZWxkLmFkZENsYXNzKCdlcnJvcicpO1xuICAgICAgICAgICAgICAgIHBhc3N3b3JkT2xkRmllbGQucGFyZW50cygnLnR0ci1pbnB1dCcpLmFkZENsYXNzKCdlcnJvcicpO1xuICAgICAgICAgICAgICAgIGZvcm1fdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmROZXdGaWVsZC5yZW1vdmVDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgICAgICBwYXNzd29yZE9sZEZpZWxkLnBhcmVudHMoJy50dHItaW5wdXQnKS5yZW1vdmVDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhc3N3b3JkTmV3RmllbGQudmFsKCkgPT09IFwiXCIgfHwgcGFzc3dvcmROZXdGaWVsZC5uZXh0KCcuc3RyZW5ndGguc3Ryb25nLXBhc3N3b3JkJykubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmROZXdGaWVsZC5hZGRDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgICAgICBwYXNzd29yZE5ld0ZpZWxkLnBhcmVudHMoJy50dHItaW5wdXQnKS5hZGRDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgICAgICBwYXNzd29yZE5ld0ZpZWxkLnBhcmVudHMoJy50dHItaW5wdXQnKS5kYXRhKCdwbGFjZWhvbGRlcicsICdOZXVlcyBQYXNzd29ydCBpc3QgenUgdW5zaWNoZXInKTtcbiAgICAgICAgICAgICAgICBwYXNzd29yZE5ld0ZpZWxkLnBhcmVudHMoJy50dHItaW5wdXQnKS5hdHRyKCdkYXRhLXBsYWNlaG9sZGVyJywgJ05ldWVzIFBhc3N3b3J0IGlzdCB6dSB1bnNpY2hlcicpO1xuICAgICAgICAgICAgICAgIGZvcm1fdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmROZXdGaWVsZC5yZW1vdmVDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgICAgICBwYXNzd29yZE5ld0ZpZWxkLnBhcmVudHMoJy50dHItaW5wdXQnKS5yZW1vdmVDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhc3N3b3JkTmV3UmVwZWF0RmllbGQudmFsKCkgPT09IFwiXCIgfHwgcGFzc3dvcmROZXdSZXBlYXRGaWVsZC52YWwoKSAhPT0gcGFzc3dvcmROZXdGaWVsZC52YWwoKSkge1xuICAgICAgICAgICAgICAgIHBhc3N3b3JkTmV3UmVwZWF0RmllbGQuYWRkQ2xhc3MoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmROZXdSZXBlYXRGaWVsZC5wYXJlbnRzKCcudHRyLWlucHV0JykuYWRkQ2xhc3MoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmROZXdSZXBlYXRGaWVsZC5wYXJlbnRzKCcudHRyLWlucHV0JykuZGF0YSgncGxhY2Vob2xkZXInLCAnUGFzc3fDtnJ0ZXIgc3RpbW1lbiBuaWNodCDDvGJlcmVpbicpO1xuICAgICAgICAgICAgICAgIHBhc3N3b3JkTmV3UmVwZWF0RmllbGQucGFyZW50cygnLnR0ci1pbnB1dCcpLmF0dHIoJ2RhdGEtcGxhY2Vob2xkZXInLCAnUGFzc3fDtnJ0ZXIgc3RpbW1lbiBuaWNodCDDvGJlcmVpbicpO1xuICAgICAgICAgICAgICAgIGZvcm1fdmFsaWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFzc3dvcmROZXdSZXBlYXRGaWVsZC5yZW1vdmVDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgICAgICBwYXNzd29yZE5ld1JlcGVhdEZpZWxkLnBhcmVudHMoJy50dHItaW5wdXQnKS5yZW1vdmVDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGVycm9yX3R4dCA9IGZvcm0ucGFyZW50cygnLmdyb3VwLXdyYXBwZXInKS5maW5kKCc+IHAnKTtcbiAgICAgICAgICAgIGlmICghZm9ybV92YWxpZCkge1xuICAgICAgICAgICAgICAgIGlmICghZXJyb3JfdHh0Lmhhc0NsYXNzKCdlcnJvcicpKSB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yX3R4dC5hZGRDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGVycm9yX3R4dC5yZW1vdmVDbGFzcygnZXJyb3InKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmb3JtX3ZhbGlkKSB7XG4gICAgICAgICAgICBkYXNoYm9hcmRfc2F2ZV9kYXRhKGJ0biwgc2VuZEVtYWlscyk7XG5cbiAgICAgICAgICAgIGxldCBzaWJsaW5nRm9ybSA9IGZvcm0ucGFyZW50KCkuZmluZCgnI3Byb29mX29mX2J1c2luZXNzX2Zvcm0nKTtcbiAgICAgICAgICAgIGlmIChzaWJsaW5nRm9ybS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICBsZXQgbWl0Z2xpZWRzbnVtbWVyID0gc2libGluZ0Zvcm0uZmluZCgnaW5wdXRbbmFtZT1taXRnbGllZHNudW1tZXJdJykudmFsKCk7XG4gICAgICAgICAgICAgICAgbGV0IHByb29mX29mX2J1c2luZXNzID0gc2libGluZ0Zvcm0uZmluZCgnaW5wdXRbbmFtZT1wcm9vZl9vZl9idXNpbmVzc10nKS52YWwoKTtcbiAgICAgICAgICAgICAgICBpZiAobWl0Z2xpZWRzbnVtbWVyICE9PSB1bmRlZmluZWQgJiYgbWl0Z2xpZWRzbnVtbWVyICE9PSBcIlwiICYmIHByb29mX29mX2J1c2luZXNzICE9PSB1bmRlZmluZWQgJiYgcHJvb2Zfb2ZfYnVzaW5lc3MgIT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgc2libGluZ0Zvcm0uZmluZCgnLndwY2Y3LXN1Ym1pdCcpLmNsaWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBib2R5Lm9uKCdjaGFuZ2UnLCdpbnB1dFtuYW1lPXByb29mX29mX2J1c2luZXNzXScsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbGV0IGlucHV0ID0gJCh0aGlzKTtcbiAgICAgICAgbGV0IGdyb3VwX3dyYXBwZXIgPSBpbnB1dC5wYXJlbnRzKCcuZ3JvdXAtd3JhcHBlcicpO1xuICAgICAgICBsZXQgYnRuID0gZ3JvdXBfd3JhcHBlci5maW5kKCcuYnRuLXNhdmUnKTtcblxuICAgICAgICBpZiAoaW5wdXQudmFsKCkgIT09IFwiXCIpIHtcbiAgICAgICAgICAgIGJ0bi5yZW1vdmVDbGFzcygnYnRuLWRpc2FibGVkJyk7XG4gICAgICAgICAgICBidG4ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIWJ0bi5oYXNDbGFzcygnYnRuLWRpc2FibGVkJykpIHtcbiAgICAgICAgICAgICAgICBidG4uYWRkQ2xhc3MoJ2J0bi1kaXNhYmxlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnRuLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGJvZHkub24oJ2lucHV0IGN1dCBwYXN0ZScsICcudGFiLXByb2ZpbGUtY29tcGFuaWVzIGlucHV0JywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSAkKHRoaXMpO1xuICAgICAgICBsZXQgdGFiID0gZWxlbWVudC5wYXJlbnRzKCcudGFiLXByb2ZpbGUtY29tcGFuaWVzJyk7XG4gICAgICAgIGxldCBmb3JtID0gZWxlbWVudC5wYXJlbnRzKCdmb3JtJyk7XG4gICAgICAgIGxldCBidG4gPSBmb3JtLmZpbmQoJy5idG4tc2F2ZScpO1xuICAgICAgICBsZXQgZmlybWVubmFtZSA9ICQoJy50YWItcHJvZmlsZS1jb21wYW5pZXMgaW5wdXRbbmFtZT1maXJtZW5uYW1lXScpO1xuICAgICAgICBsZXQgZmlybWVubmFtZV9jaGFuZ2VkID0gZmlybWVubmFtZS52YWwoKSAhPT0gZmlybWVubmFtZS5kYXRhKCd2YWx1ZScpO1xuICAgICAgICBsZXQgZmlybWVubmFtZTIgPSAkKCcudGFiLXByb2ZpbGUtY29tcGFuaWVzIGlucHV0W25hbWU9ZmlybWVubmFtZTJdJyk7XG4gICAgICAgIGxldCBmaXJtZW5uYW1lMl9jaGFuZ2VkID0gZmlybWVubmFtZTIudmFsKCkgIT09IGZpcm1lbm5hbWUyLmRhdGEoJ3ZhbHVlJyk7XG4gICAgICAgIGxldCBzdHJhc3NlID0gJCgnLnRhYi1wcm9maWxlLWNvbXBhbmllcyBpbnB1dFtuYW1lPXN0cmFzc2VdJyk7XG4gICAgICAgIGxldCBzdHJhc3NlX2NoYW5nZWQgPSBzdHJhc3NlLnZhbCgpICE9PSBzdHJhc3NlLmRhdGEoJ3ZhbHVlJyk7XG4gICAgICAgIGxldCBwb3N0bGVpdHphaGwgPSAkKCcudGFiLXByb2ZpbGUtY29tcGFuaWVzIGlucHV0W25hbWU9cG9zdGxlaXR6YWhsXScpO1xuICAgICAgICBsZXQgcG9zdGxlaXR6YWhsX2NoYW5nZWQgPSBwb3N0bGVpdHphaGwudmFsKCkudG9TdHJpbmcoKSAhPT0gcG9zdGxlaXR6YWhsLmRhdGEoJ3ZhbHVlJykudG9TdHJpbmcoKTtcbiAgICAgICAgbGV0IG9ydCA9ICQoJy50YWItcHJvZmlsZS1jb21wYW5pZXMgaW5wdXRbbmFtZT1vcnRdJyk7XG4gICAgICAgIGxldCBvcnRfY2hhbmdlZCA9IG9ydC52YWwoKSAhPT0gb3J0LmRhdGEoJ3ZhbHVlJyk7XG4gICAgICAgIGxldCBidW5kZXNsYW5kID0gJCgnLnRhYi1wcm9maWxlLWNvbXBhbmllcyBpbnB1dFtuYW1lPWJ1bmRlc2xhbmRdJyk7XG4gICAgICAgIGxldCBidW5kZXNsYW5kX2NoYW5nZWQgPSBidW5kZXNsYW5kLnZhbCgpICE9PSBidW5kZXNsYW5kLmRhdGEoJ3ZhbHVlJyk7XG4gICAgICAgIGxldCByZWdpb24gPSAkKCcudGFiLXByb2ZpbGUtY29tcGFuaWVzIGlucHV0W25hbWU9cmVnaW9uXScpO1xuICAgICAgICBsZXQgcmVnaW9uX2NoYW5nZWQgPSByZWdpb24udmFsKCkgIT09IHJlZ2lvbi5kYXRhKCd2YWx1ZScpO1xuICAgICAgICBsZXQgbGFuZCA9ICQoJy50YWItcHJvZmlsZS1jb21wYW5pZXMgaW5wdXRbbmFtZT1sYW5kXScpO1xuICAgICAgICBsZXQgbGFuZF9jaGFuZ2VkID0gbGFuZC52YWwoKSAhPT0gbGFuZC5kYXRhKCd2YWx1ZScpO1xuXG4gICAgICAgIGxldCBmaWxlX3VwbG9hZF9mb3JtID0gJCh0aGlzKS5wYXJlbnRzKCcudGFiLXByb2ZpbGUtY29tcGFuaWVzJykuZmluZCgnI3Byb29mX29mX2J1c2luZXNzX2Zvcm0nKTtcbiAgICAgICAgbGV0IGZpbGVfdXBsb2FkX2ZpZWxkID0gZmlsZV91cGxvYWRfZm9ybS5maW5kKCcuYnVzaW5lc3MtcmVnaXN0ZXItZmlsZSBpbnB1dFt0eXBlPWZpbGVdJyk7XG4gICAgICAgIGlmICghZmlybWVubmFtZV9jaGFuZ2VkICYmICFmaXJtZW5uYW1lMl9jaGFuZ2VkICYmICFzdHJhc3NlX2NoYW5nZWQgJiYgIXBvc3RsZWl0emFobF9jaGFuZ2VkICYmICFvcnRfY2hhbmdlZCAmJiAhYnVuZGVzbGFuZF9jaGFuZ2VkICYmICFyZWdpb25fY2hhbmdlZCAmJiAhbGFuZF9jaGFuZ2VkKSB7XG4gICAgICAgICAgICBmaWxlX3VwbG9hZF9mb3JtLmFkZENsYXNzKCdoaWRkZW4tZmllbGQnKTtcbiAgICAgICAgICAgIGZpbGVfdXBsb2FkX2ZpZWxkLmFkZENsYXNzKCdoaWRkZW4tZmllbGQnKTtcbiAgICAgICAgICAgIGZpbGVfdXBsb2FkX2ZpZWxkLnByb3AoJ3JlcXVpcmVkJywgZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IG1lbWJlcm5vX2ZpZWxkID0gZmlsZV91cGxvYWRfZm9ybS5maW5kKCdpbnB1dFtuYW1lPW1pdGdsaWVkc251bW1lcl0nKTtcbiAgICAgICAgICAgIG1lbWJlcm5vX2ZpZWxkLnZhbCgkKCcudGFiLXByb2ZpbGUtY29tcGFuaWVzIGlucHV0W25hbWU9bWVtYmVyc2hvcF9ub10nKS52YWwoKSk7XG4gICAgICAgICAgICBmaWxlX3VwbG9hZF9mb3JtLnJlbW92ZUNsYXNzKCdoaWRkZW4tZmllbGQnKTtcbiAgICAgICAgICAgIGZpbGVfdXBsb2FkX2ZpZWxkLnJlbW92ZUNsYXNzKCdoaWRkZW4tZmllbGQnKTtcbiAgICAgICAgICAgIGZpbGVfdXBsb2FkX2ZpZWxkLnByb3AoJ3JlcXVpcmVkJywgdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoKCFmaXJtZW5uYW1lX2NoYW5nZWQgJiYgIWZpcm1lbm5hbWUyX2NoYW5nZWQgJiYgIXN0cmFzc2VfY2hhbmdlZCAmJiAhcG9zdGxlaXR6YWhsX2NoYW5nZWQgJiYgIW9ydF9jaGFuZ2VkICYmICFidW5kZXNsYW5kX2NoYW5nZWQgJiYgIXJlZ2lvbl9jaGFuZ2VkICYmICFsYW5kX2NoYW5nZWQpIHx8ICQoJ2lucHV0W25hbWU9cHJvb2Zfb2ZfYnVzaW5lc3NdJykudmFsKCkgIT09IFwiXCIpIHtcbiAgICAgICAgICAgIGJ0bi5yZW1vdmVDbGFzcygnYnRuLWRpc2FibGVkJyk7XG4gICAgICAgICAgICBidG4ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIWJ0bi5oYXNDbGFzcygnYnRuLWRpc2FibGVkJykpIHtcbiAgICAgICAgICAgICAgICBidG4uYWRkQ2xhc3MoJ2J0bi1kaXNhYmxlZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnRuLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgICQoJy5jcm0tZ2V0LWZpbGUnKS5lYWNoKGZ1bmN0aW9uIChpbmRleCkge1xuICAgICAgICBsZXQgZWxlbWVudCA9ICQodGhpcyk7XG4gICAgICAgIGxldCBidG5fcHJldmlldyA9IGVsZW1lbnQuZmluZCgnYS5idG4uYnRuLXByaW1hcnkuZmlsZS1wcmV2aWV3Jyk7XG4gICAgICAgIGxldCBidG5fZG93bmxvYWQgPSBlbGVtZW50LmZpbmQoJ2EuYnRuLmJ0bi1wcmltYXJ5LmZpbGUtZG93bmxvYWQnKTtcbiAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgIHR5cGU6IFwiUE9TVFwiLFxuICAgICAgICAgICAgdXJsOiBhamF4dXJsLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGFjdGlvbjogXCJjcm1fZ2V0X2ZpbGVcIixcbiAgICAgICAgICAgICAgICBjcm1HdWlkOiBlbGVtZW50LmRhdGEoXCJndWlkXCIpLFxuICAgICAgICAgICAgICAgIHR5cGU6IGVsZW1lbnQuZGF0YShcInR5cGVcIilcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBiZWZvcmVTZW5kOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zcmMpIHtcbiAgICAgICAgICAgICAgICAgICAgYnRuX3ByZXZpZXcuZGF0YSgnc3JjJywgcmVzcG9uc2Uuc3JjKTtcbiAgICAgICAgICAgICAgICAgICAgYnRuX2Rvd25sb2FkLmF0dHIoJ2hyZWYnLCByZXNwb25zZS5zcmMpO1xuXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGJvZHkub24oJ2NoYW5nZScsICcuY29uZmlybS1kZWFjdGl2YXRpb24nLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGxldCBjaGVjayA9ICQodGhpcyk7XG4gICAgICAgIGxldCBhY3Rpb25zID0gY2hlY2sucGFyZW50cygnLmFjdGlvbnMnKTtcbiAgICAgICAgbGV0IGJ0biA9IGFjdGlvbnMuZmluZCgnLmJ0bicpO1xuICAgICAgICBsZXQgaW5mbyA9IGFjdGlvbnMuZmluZCgnc3BhbicpO1xuICAgICAgICBpZiAoY2hlY2suaXMoJzpjaGVja2VkJykpIHtcbiAgICAgICAgICAgIGluZm8ucmVtb3ZlQ2xhc3MoJ2hpZGRlbicpO1xuICAgICAgICAgICAgYnRuLnJlbW92ZUNsYXNzKCdkaXNhYmxlZCcpO1xuICAgICAgICAgICAgYnRuLnJlbW92ZUNsYXNzKCdidG4tZGlzYWJsZWQnKTtcbiAgICAgICAgICAgIGJ0bi5yZW1vdmVDbGFzcygnYnRuLWRlYWN0aXZhdGUtZGlzYWJsZWQnKTtcbiAgICAgICAgICAgIGJ0bi5hZGRDbGFzcygnYnRuLWRlYWN0aXZhdGUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluZm8uYWRkQ2xhc3MoJ2hpZGRlbicpO1xuICAgICAgICAgICAgYnRuLnJlbW92ZUNsYXNzKCdidG4tZGVhY3RpdmF0ZScpO1xuICAgICAgICAgICAgYnRuLmFkZENsYXNzKCdkaXNhYmxlZCcpO1xuICAgICAgICAgICAgYnRuLmFkZENsYXNzKCdidG4tZGlzYWJsZWQnKTtcbiAgICAgICAgICAgIGJ0bi5hZGRDbGFzcygnYnRuLWRlYWN0aXZhdGUtZGlzYWJsZWQnKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgYm9keS5vbignY2xpY2snLCAnLmJ0bi1kZWFjdGl2YXRlJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBsZXQgYnRuID0gJCh0aGlzKTtcbiAgICAgICAgbGV0IGdyb3VwX3dyYXBwZXIgPSBidG4ucGFyZW50cygnLmdyb3VwX3dyYXBwZXInKTtcblxuICAgICAgICAkLmFqYXgoe1xuICAgICAgICAgICAgdHlwZTogXCJQT1NUXCIsXG4gICAgICAgICAgICB1cmw6IGFqYXh1cmwsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uOiAnaWd6X2NybV9kZWFjdGl2YXRlJyxcbiAgICAgICAgICAgICAgICBjcm1HdWlkOiBidG4uZGF0YSgnY3JtZ3VpZCcpLFxuICAgICAgICAgICAgICAgIHVzZXJFbWFpbDogYnRuLmRhdGEoJ2VtYWlsJylcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBiZWZvcmVTZW5kOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBfd3JhcHBlci5hcHBlbmQoJzxkaXYgY2xhc3M9XCJsb2FkZXItb3ZlcmxheVwiPjxkaXYgY2xhc3M9XCJsb2FkZXJcIj5Mb2FkaW5nLi4uPC9kaXY+PC9kaXY+Jyk7XG4gICAgICAgICAgICAgICAgZ3JvdXBfd3JhcHBlci5maW5kKCcubG9hZGVyLW92ZXJsYXknKS5hbmltYXRlKHtcIm9wYWNpdHlcIjogMX0sIDMwMCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIGdyb3VwX3dyYXBwZXIuZmluZCgnLmxvYWRlci1vdmVybGF5JykuYW5pbWF0ZSh7XCJvcGFjaXR5XCI6IDB9LCAzMDApO1xuXG4gICAgICAgICAgICAgICAgc2hvd19ub3RpZmljYXRpb24ocmVzcG9uc2UucmVzcG9uc2VKU09OLm1zZywgJ3N1Y2Nlc3MnKTtcblxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBncm91cF93cmFwcGVyLmZpbmQoJy5sb2FkZXItb3ZlcmxheScpLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgYm9keS5vbignY2xpY2snLCAnLmJ0bi1pbnZpdGUnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGxldCBlbGVtZW50ID0gJCh0aGlzKTtcbiAgICAgICAgbGV0IGZvcm0gPSBlbGVtZW50LnBhcmVudHMoJ2Zvcm0nKTtcbiAgICAgICAgbGV0IGZvcm1EYXRhID0gZm9ybS5zZXJpYWxpemVBcnJheSgpO1xuICAgICAgICBsZXQgZ3JvdXBfd3JhcHBlciA9IGZvcm0ucGFyZW50KCk7XG5cbiAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgIHR5cGU6IFwiUE9TVFwiLFxuICAgICAgICAgICAgdXJsOiBhamF4dXJsLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGFjdGlvbjogJ2lnel9zZW5kX2ludml0YXRpb25zJyxcbiAgICAgICAgICAgICAgICBmb3JtRGF0YTogZm9ybURhdGFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBiZWZvcmVTZW5kOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBfd3JhcHBlci5hcHBlbmQoJzxkaXYgY2xhc3M9XCJsb2FkZXItb3ZlcmxheVwiPjxkaXYgY2xhc3M9XCJsb2FkZXJcIj5Mb2FkaW5nLi4uPC9kaXY+PC9kaXY+Jyk7XG4gICAgICAgICAgICAgICAgZ3JvdXBfd3JhcHBlci5maW5kKCcubG9hZGVyLW92ZXJsYXknKS5hbmltYXRlKHtcIm9wYWNpdHlcIjogMX0sIDMwMCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgIGdyb3VwX3dyYXBwZXIuZmluZCgnLmxvYWRlci1vdmVybGF5JykuYW5pbWF0ZSh7XCJvcGFjaXR5XCI6IDB9LCAzMDApO1xuXG4gICAgICAgICAgICAgICAgbGV0IGlzX29ubHlfYnV0dG9uID0gZWxlbWVudC5pcygnOmZpcnN0LW9mLXR5cGUnKSAmJiBlbGVtZW50LmlzKCc6bGFzdC1vZi10eXBlJyk7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5hdHRyKFwidHlwZVwiKSAhPT0gXCJjaGVja2JveFwiICYmICFpc19vbmx5X2J1dHRvbiA/IGVsZW1lbnQuY3NzKHtcImRpc3BsYXlcIjogXCJub25lXCJ9KSA6IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgc2hvd19ub3RpZmljYXRpb24ocmVzcG9uc2UucmVzcG9uc2VKU09OLm1zZywgJ3N1Y2Nlc3MnKTtcblxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBncm91cF93cmFwcGVyLmZpbmQoJy5sb2FkZXItb3ZlcmxheScpLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gZGFzaGJvYXJkX3NhdmVfZGF0YShlbGVtZW50KSB7XG4gICAgICAgIGxldCBmb3JtID0gZWxlbWVudC5wYXJlbnRzKCdmb3JtJyk7XG4gICAgICAgIGxldCBmb3JtRGF0YSA9IGZvcm0uc2VyaWFsaXplQXJyYXkoKTtcbiAgICAgICAgbGV0IGZvcm1EYXRhQ2hhbmdlZCA9IFtdO1xuICAgICAgICBsZXQgYXJncyA9IFtdO1xuICAgICAgICBsZXQgZ3JvdXBfd3JhcHBlciA9IGZvcm0ucGFyZW50KCk7XG4gICAgICAgIGxldCBjcm1HdWlkID0gZWxlbWVudC5kYXRhKFwiY3JtZ3VpZFwiKTtcbiAgICAgICAgbGV0IGdyb3VwID0gZWxlbWVudC5kYXRhKCdncm91cCcpO1xuICAgICAgICBsZXQgZGF0YVR5cGUgPSBcIlwiO1xuICAgICAgICBsZXQgZGF0YVZhbHVlID0gXCJcIjtcbiAgICAgICAgaWYgKGVsZW1lbnQuZGF0YSgnZ3JvdXAnKSA9PT0gJ21lbWJlcicpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybURhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgbmFtZSA9IGZvcm1EYXRhW2ldLm5hbWU7XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gZm9ybURhdGFbaV0udmFsdWU7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGFGaWVsZCA9IGZvcm0uZmluZCgnaW5wdXRbbmFtZT0nICsgbmFtZSArICddJyk7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGFWYWx1ZSA9IGRhdGFGaWVsZC5kYXRhKCd2YWx1ZScpO1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gZGF0YVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhQ2hhbmdlZC5wdXNoKGZvcm1EYXRhW2ldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmlybWEgPSBcIlwiO1xuICAgICAgICBsZXQgYW5yZWRlID0gXCJcIjtcbiAgICAgICAgbGV0IHZvcm5hbWUgPSBcIlwiO1xuICAgICAgICBsZXQgbmFjaG5hbWUgPSBcIlwiO1xuICAgICAgICBsZXQgc3RyYXNzZSA9IFwiXCI7XG4gICAgICAgIGxldCBwbHogPSBcIlwiO1xuICAgICAgICBsZXQgb3J0ID0gXCJcIjtcbiAgICAgICAgaWYgKGVsZW1lbnQuaGFzQ2xhc3MoJ2J0bi1kaXN0cmlidXRvcicpKSB7XG4gICAgICAgICAgICBkYXRhVHlwZSA9IFwic2V0RGlzdHJpYnV0b3JcIjtcbiAgICAgICAgICAgIGZvcm1EYXRhID0gXCJcIjtcblxuICAgICAgICAgICAgZm9ybS5hdHRyKCdpZCcsICd0ZW1wLWFjdGl2ZS1mb3JtJyk7XG4gICAgICAgICAgICBmb3JtLmZpbmQoJ2lucHV0W3R5cGU9Y2hlY2tib3hdJykuZWFjaChmdW5jdGlvbiAoaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBsZXQgZmllbGQgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGZpZWxkLmF0dHIoJ3ZhbHVlJyk7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmlzKCc6Y2hlY2tlZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YSArPSBmb3JtRGF0YSA9PT0gJycgPyB2YWx1ZSA6ICcsJyArIHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVZhbHVlICs9IGRhdGFWYWx1ZSA9PT0gJycgPyB2YWx1ZSA6ICcsJyArIHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGZpcm1hID0gZm9ybS5maW5kKCdpbnB1dFtuYW1lPWZpcm1hXScpLnZhbCgpO1xuICAgICAgICAgICAgYW5yZWRlID0gZm9ybS5maW5kKCdpbnB1dFtuYW1lPWFucmVkZV0nKS52YWwoKTtcbiAgICAgICAgICAgIHZvcm5hbWUgPSBmb3JtLmZpbmQoJ2lucHV0W25hbWU9dm9ybmFtZV0nKS52YWwoKTtcbiAgICAgICAgICAgIG5hY2huYW1lID0gZm9ybS5maW5kKCdpbnB1dFtuYW1lPW5hY2huYW1lXScpLnZhbCgpO1xuICAgICAgICAgICAgc3RyYXNzZSA9IGZvcm0uZmluZCgnaW5wdXRbbmFtZT1zdHJhc3NlXScpLnZhbCgpO1xuICAgICAgICAgICAgcGx6ID0gZm9ybS5maW5kKCdpbnB1dFtuYW1lPXBvc3RsZWl0emFobF0nKS52YWwoKTtcbiAgICAgICAgICAgIG9ydCA9IGZvcm0uZmluZCgnaW5wdXRbbmFtZT1vcnRdJykudmFsKCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZW1haWwgPSBmb3JtLmZpbmQoJ2lucHV0W3R5cGU9ZW1haWxdJykudmFsKCk7XG4gICAgICAgIGxldCBlbWFpbE9sZCA9IGZvcm0uZmluZCgnaW5wdXRbdHlwZT1lbWFpbF0nKS5kYXRhKCd2YWx1ZScpO1xuICAgICAgICBlbWFpbCA9IGVtYWlsICE9PSB1bmRlZmluZWQgJiYgZW1haWwgIT09IGVtYWlsT2xkID8gZW1haWwgOiBcIlwiO1xuICAgICAgICBsZXQgcHJpdmFjeSA9IGZvcm0uZmluZCgnbGFiZWwuY2hlY2tib3guYWNjZXB0LXByaXZhY3knKS5kYXRhKCd2YWx1ZScpO1xuICAgICAgICBsZXQgYWN0aW9uID0gXCJpZ3pfY3JtX1wiICsgZ3JvdXAgKyBcIl91cGRhdGVcIjtcbiAgICAgICAgalF1ZXJ5LmFqYXgoe1xuICAgICAgICAgICAgdHlwZTogXCJQT1NUXCIsXG4gICAgICAgICAgICB1cmw6IGFqYXh1cmwsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uOiBhY3Rpb24sXG4gICAgICAgICAgICAgICAgY3JtR3VpZDogY3JtR3VpZCxcbiAgICAgICAgICAgICAgICBmb3JtRGF0YTogZm9ybURhdGEsXG4gICAgICAgICAgICAgICAgZGF0YVR5cGU6IGRhdGFUeXBlLFxuICAgICAgICAgICAgICAgIGZpcm1hOiBmaXJtYSxcbiAgICAgICAgICAgICAgICBhbnJlZGU6IGFucmVkZSxcbiAgICAgICAgICAgICAgICB2b3JuYW1lOiB2b3JuYW1lLFxuICAgICAgICAgICAgICAgIG5hY2huYW1lOiBuYWNobmFtZSxcbiAgICAgICAgICAgICAgICBzdHJhc3NlOiBzdHJhc3NlLFxuICAgICAgICAgICAgICAgIHBsejogcGx6LFxuICAgICAgICAgICAgICAgIG9ydDogb3J0LFxuICAgICAgICAgICAgICAgIGRhdGFWYWx1ZTogZGF0YVZhbHVlLFxuICAgICAgICAgICAgICAgIGFyZ3M6IGFyZ3MsXG4gICAgICAgICAgICAgICAgcmVxdWVzdDogZWxlbWVudC5kYXRhKCdyZXF1ZXN0JyksXG4gICAgICAgICAgICAgICAgZW1haWw6IGVtYWlsLFxuICAgICAgICAgICAgICAgIHByaXZhY3k6IHByaXZhY3kgIT09IHVuZGVmaW5lZCA/IHByaXZhY3kgOiBcIlwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYmVmb3JlU2VuZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGdyb3VwX3dyYXBwZXIuYXBwZW5kKCc8ZGl2IGNsYXNzPVwibG9hZGVyLW92ZXJsYXlcIj48ZGl2IGNsYXNzPVwibG9hZGVyXCI+TG9hZGluZy4uLjwvZGl2PjwvZGl2PicpO1xuICAgICAgICAgICAgICAgIGdyb3VwX3dyYXBwZXIuZmluZCgnLmxvYWRlci1vdmVybGF5JykuYW5pbWF0ZSh7XCJvcGFjaXR5XCI6IDF9LCAzMDApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbiAocmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICBncm91cF93cmFwcGVyLmZpbmQoJy5sb2FkZXItb3ZlcmxheScpLmFuaW1hdGUoe1wib3BhY2l0eVwiOiAwfSwgMzAwKTtcblxuICAgICAgICAgICAgICAgIGxldCBpc19vbmx5X2J1dHRvbiA9IGVsZW1lbnQuaXMoJzpmaXJzdC1vZi10eXBlJykgJiYgZWxlbWVudC5pcygnOmxhc3Qtb2YtdHlwZScpO1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuYXR0cihcInR5cGVcIikgIT09IFwiY2hlY2tib3hcIiAmJiAhaXNfb25seV9idXR0b24gPyBlbGVtZW50LmNzcyh7XCJkaXNwbGF5XCI6IFwibm9uZVwifSkgOiBmYWxzZTtcbiAgICAgICAgICAgICAgICBncm91cF93cmFwcGVyLmZpbmQoJy5hY3Rpb25zIC5idG4tY2FuY2VsJykuY3NzKHtcImRpc3BsYXlcIjogXCJub25lXCJ9KTtcbiAgICAgICAgICAgICAgICBncm91cF93cmFwcGVyLmZpbmQoJy5hY3Rpb25zIC5idG4tZWRpdCcpLmNzcyh7XCJkaXNwbGF5XCI6IFwiaW5saW5lLWZsZXhcIn0pO1xuXG4gICAgICAgICAgICAgICAgZ3JvdXBfd3JhcHBlci5maW5kKCcudHRyLWlucHV0JykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbnB1dCA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0Lmhhc0NsYXNzKCdhbHdheXMtZm9jdXNlZCcpID8gaW5wdXQucmVtb3ZlQ2xhc3MoJ2Fsd2F5cy1mb2N1c2VkJykgOiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzaG93X25vdGlmaWNhdGlvbihyZXNwb25zZS5yZXNwb25zZUpTT04ubXNnLCAnc3VjY2VzcycpO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwX3dyYXBwZXIuZmluZCgnLmxvYWRlci1vdmVybGF5JykucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgICAgICAgICBmb3JtLmF0dHIoJ2lkJywgJycpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChyZXNwb25zZSkge1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59KTtcbiJdLCJmaWxlIjoiY29udGVudC1kYXNoYm9hcmQubWluLmpzIn0=, Interessenverband Deutscher Zeitarbeitsunternehmen e.V.

Flohmarkt Allgäu Heute, Articles V