www.postemobile.it Open in urlscan Pro
13.107.246.44  Public Scan

Submitted URL: https://officevpn.arcade.it/
Effective URL: https://www.postemobile.it/offerta-sim-promo-creami-extra-wow-150?STZ=DPR3953
Submission: On August 13 via automatic, source certstream-suspicious — Scanned from IT

Form analysis 7 forms found in the DOM

Name: aspnetFormPOST /offerta-sim-promo-creami-extra-wow-150?STZ=DPR3953

<form name="aspnetForm" method="post" action="/offerta-sim-promo-creami-extra-wow-150?STZ=DPR3953" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
  <div>
    <input type="hidden" name="MSOWebPartPage_PostbackSource" id="MSOWebPartPage_PostbackSource" value="">
    <input type="hidden" name="MSOTlPn_SelectedWpId" id="MSOTlPn_SelectedWpId" value="">
    <input type="hidden" name="MSOTlPn_View" id="MSOTlPn_View" value="0">
    <input type="hidden" name="MSOTlPn_ShowSettings" id="MSOTlPn_ShowSettings" value="False">
    <input type="hidden" name="MSOGallery_SelectedLibrary" id="MSOGallery_SelectedLibrary" value="">
    <input type="hidden" name="MSOGallery_FilterString" id="MSOGallery_FilterString" value="">
    <input type="hidden" name="MSOTlPn_Button" id="MSOTlPn_Button" value="none">
    <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
    <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
    <input type="hidden" name="__REQUESTDIGEST" id="__REQUESTDIGEST" value="noDigest">
    <input type="hidden" name="MSOSPWebPartManager_DisplayModeName" id="MSOSPWebPartManager_DisplayModeName" value="Browse">
    <input type="hidden" name="MSOSPWebPartManager_ExitingDesignMode" id="MSOSPWebPartManager_ExitingDesignMode" value="false">
    <input type="hidden" name="MSOWebPartPage_Shared" id="MSOWebPartPage_Shared" value="">
    <input type="hidden" name="MSOLayout_LayoutChanges" id="MSOLayout_LayoutChanges" value="">
    <input type="hidden" name="MSOLayout_InDesignMode" id="MSOLayout_InDesignMode" value="">
    <input type="hidden" name="_wpSelected" id="_wpSelected" value="">
    <input type="hidden" name="_wzSelected" id="_wzSelected" value="">
    <input type="hidden" name="MSOSPWebPartManager_OldDisplayModeName" id="MSOSPWebPartManager_OldDisplayModeName" value="Browse">
    <input type="hidden" name="MSOSPWebPartManager_StartWebPartEditingName" id="MSOSPWebPartManager_StartWebPartEditingName" value="false">
    <input type="hidden" name="MSOSPWebPartManager_EndWebPartEditing" id="MSOSPWebPartManager_EndWebPartEditing" value="false">
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
      value="/wEPDwUKMTgxOTUwNjgwMg9kFgJmD2QWAgIBD2QWCAIBD2QWAgIUD2QWCmYPDxYCHiB4bWwtY29udGVudC11c2VyLWNvbnRyb2wtbWFya3VwLQUuDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCmRkAgIPDxYCHwAFLg0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQpkZAIDDw8WAh8ABfv5Ag0KICA8c2NyaXB0IHNyYz0iLy9hc3NldHMuYWRvYmVkdG0uY29tL2xhdW5jaC1FTjU5MjI2MWUzNmRjMTRiMTBhOTkzNmU4NTRhNGIzMGRiLm1pbi5qcyIgYXN5bmM+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1EQy02MTAyNzE4IiBhc3luYz48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCnZhciBuZXdQcml2YWN5RGF0ZSA9IDIwMjIwNTI2Ow0KDQoJCWZ1bmN0aW9uIHNldENvb2tpZShjbmFtZSwgY3ZhbHVlLCBleGRheXMpIHsNCiAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZSgpOw0KICAgICAgICBkLnNldFRpbWUoZC5nZXRUaW1lKCkgKyAoZXhkYXlzICogMjQgKiA2MCAqIDYwICogMTAwMCkpOw0KICAgICAgICB2YXIgZXhwaXJlcyA9ICJleHBpcmVzPSIgKyBkLnRvVVRDU3RyaW5nKCk7DQogICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNuYW1lICsgIj0iICsgY3ZhbHVlICsgIjsgcGF0aD0vOyAiICsgZXhwaXJlczsNCgkJCQkNCiAgICB9DQogICAgZnVuY3Rpb24gZ2V0Q29va2llKGNuYW1lKSB7DQogICAgICAgIHZhciBuYW1lID0gY25hbWUgKyAiPSI7DQogICAgICAgIHZhciBjYSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpOw0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICB2YXIgYyA9IGNhW2ldOw0KICAgICAgICAgICAgd2hpbGUgKGMuY2hhckF0KDApID09ICcgJykgYyA9IGMuc3Vic3RyaW5nKDEpOw0KICAgICAgICAgICAgaWYgKGMuaW5kZXhPZihuYW1lKSAhPSAtMSkgcmV0dXJuIGMuc3Vic3RyaW5nKG5hbWUubGVuZ3RoLCBjLmxlbmd0aCk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICIiOw0KICAgIH0NCgkJZnVuY3Rpb24gaXNCYW5uZXJDb29raWVIaWRlKCkgew0KCQkJICB2YXIgY2lkID0gJ1BDT09LLU1FU1NBR0UnOw0KCSAgICAgIHZhciBjbmFtZSA9ICdQQ09PSyc7DQoJCQkJdmFyIGNoZWNrZGF0YSA9ICdQQ09PSy1EQyc7DQoJICAgICAgdmFyIGN2YWx1ZSA9IGdldENvb2tpZShjbmFtZSk7DQoJCQkJaWYoY3ZhbHVlID09Jycpew0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJCWlmKGN2YWx1ZS5pbmRleE9mKGNoZWNrZGF0YSk9PS0xKXsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCQllbHNlew0KDQoJCQkJCXZhciBteURhdGEgPSBjdmFsdWUuc3Vic3RyaW5nKGN2YWx1ZS5pbmRleE9mKGNoZWNrZGF0YSkgKyA5KTsNCgkJCQkJDQoJCQkJCWlmKHBhcnNlSW50KG15RGF0YSk+PW5ld1ByaXZhY3lEYXRlKXsNCgkJCQkJCXZhciBjZmxhZyA9IGNuYW1lKyctJytjaWQrJy1PRkYnOw0KCQkJCQkJaWYoY3ZhbHVlLmluZGV4T2YoY2ZsYWcpPT0tMSkgew0KCQkJCQkJCXJldHVybiB0cnVlOw0KCQkJCQkJfQ0KCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQl9DQoJCQkJCWVsc2V7DQoJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCX0NCgkJCQl9DQogICAgfQkNCg0KCQlmdW5jdGlvbiBpc1NjcmlwdFRyYWNrKCkgew0KCQkJICB2YXIgY2lkID0gJ1BDT09LLU1FU1NBR0UnOw0KCSAgICAgIHZhciBjbmFtZSA9ICdQQ09PSyc7DQoJCQkJdmFyIGNoZWNrZGF0YSA9ICdQQ09PSy1EQyc7DQoJICAgICAgdmFyIGN2YWx1ZSA9IGdldENvb2tpZShjbmFtZSk7DQoJCQkJaWYoY3ZhbHVlID09Jycpew0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfQ0KCQkJCWlmKGN2YWx1ZS5pbmRleE9mKGNoZWNrZGF0YSk9PS0xKXsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCQllbHNlew0KCQkJCQl2YXIgbXlEYXRhID0gY3ZhbHVlLnN1YnN0cmluZyhjdmFsdWUuaW5kZXhPZihjaGVja2RhdGEpICsgOSk7CQkNCgkJCQkJaWYocGFyc2VJbnQobXlEYXRhKT49bmV3UHJpdmFjeURhdGUpew0KCQkJCQkJdmFyIGNmbGFnID0gJ1BDT09LLURPVUJMRUNMSUNLLU9OJzsNCgkJCQkJCWlmKGN2YWx1ZS5pbmRleE9mKGNmbGFnKT09LTEpIHsNCgkJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCQl9DQoJCQkJCQkvL3Z1b2wgZGlyZSBjaGUgw6ggT04NCgkJCQkJCXJldHVybiB0cnVlOw0KCQkJCQl9DQoJCQkJCWVsc2V7DQoJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCX0NCgkJCQl9DQogICAgfQ0KCQ0KDQoJDQogICAgZnVuY3Rpb24gc2hvd1ByaXZhY3lDb29raWVzTWVzc2FnZSgpIHsNCiAgICAgICAgJCgnI2N0bDAwX01TT19Db250ZW50RGl2JykNCgkgICAgICAgIC5hcHBlbmQoJzxkaXYgaWQ9InBtMTVfY29va2llX2luZm8iPjwvZGl2PicpOw0KDQogICAgICAgICQoJyNwbTE1X2Nvb2tpZV9pbmZvJykNCgkgICAgICAgIC5hcHBlbmQoJzxkaXYgIGlkPSJjb29raWUtdHJhY2siIHN0eWxlPSJkaXNwbGF5OiBibG9jazsgb3BhY2l0eTogMTsiPjwvZGl2PicpLmZpbmQoJyNjb29raWUtdHJhY2snKQ0KCQkJCQkuYXBwZW5kKCc8ZGl2IGNsYXNzPSJib3hlci1jbG9zZSIgaWQ9ImNsb3NlQ29va2llIiA+PGltZyBzcmM9Ii9DbGllbnRMaWJyYXJ5L2ltZy9zaGFyZS9pY28tY2xvc2UtYmxhY2sucG5nIiBhbHQ9IlgiPjwvaW1nPjwvZGl2PicpDQoJCSAgICAgICAgLmFwcGVuZCgnPGRpdiBjbGFzcz0icG0yMC1jb25zZW50LWNvbnRlbnQiPjwvZGl2PicpLmZpbmQoJy5wbTIwLWNvbnNlbnQtY29udGVudCcpDQoJCQkJCS5hcHBlbmQoJzxkaXYgaWQ9ImNvb2tpZS10ZXh0IiBjbGFzcz0icG0yMC10ZXh0Ij4nKS5maW5kKCcucG0yMC10ZXh0JykNCgkJCQkJLmFwcGVuZCgnPHNwYW4gY2xhc3M9InBtMjAtdGl0bGUiPlBvc3RlUGF5IFMucC5BLiBkw6AgdmFsb3JlIGFsbGEgdHVhIHByaXZhY3k8L3NwYW4+PGJyLz4nKQ0KCQkJCQkJLmFwcGVuZCgnUG9zdGVQYXkgUy5wLkEuIHV0aWxpenphIGNvb2tpZSBkaSBwcm9maWxhemlvbmUgZSBhbHRyaSBzaXN0ZW1pIGRpIHRyYWNjaWFtZW50byBhZCBlc3NpIGVxdWlwYXJhYmlsaSwgYW5jaGUgZGkgdGVyemUgcGFydGksIGFsIGZpbmUgZGkgYXNzaWN1cmFydGkgdW5hIG1pZ2xpb3JlIGVzcGVyaWVuemEgc3UgcXVlc3RvIHNpdG8gd2ViIGUgZGkgZWZmZXR0dWFyZSBjb211bmljYXppb25pIGVkIGludGVyYXppb25pIGluIGxpbmVhIGNvbiBsZSB0dWUgcHJlZmVyZW56ZS4nKQ0KCQkJCQkJLmFwcGVuZCgnIFB1b2kgYWNjZXR0YXJlIHR1dHRpIGkgY29va2llIGNsaWNjYW5kbyBzdSA8Zm9udCBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyIj4iQWNjZXR0byI8L2ZvbnQ+IG9wcHVyZSByaWZpdXRhcmxpIGNsaWNjYW5kbyBsYSA8Zm9udCBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyIj4iWCI8L2ZvbnQ+IG8gaWwgYm90dG9uZSA8Zm9udCBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyIj4iTm9uIEFjY2V0dG8iPC9mb250Pi4gUHVvaSBzZW1wcmUgbW9kaWZpY2FyZSBsZSB0dWUgcHJlZmVyZW56ZSBhY2NlZGVuZG8gYWxsYSA8Zm9udCBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyIj4iQ29va2llIFBvbGljeSI8L2ZvbnQ+Ljxici8+JykNCgkJCQkJCS5hcHBlbmQoJ1BlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgc3VpIGNvb2tpZSB1dGlsaXp6YXRpIGRhIHF1ZXN0byBzaXRvIHdlYiBlIHN1bCB0cmF0dGFtZW50byBkZWkgdHVvaSBkYXRpIHBlcnNvbmFsaSwgdGkgaW52aXRpYW1vIGEgY29uc3VsdGFyZSBsYSBub3N0cmEgPGEgaWQ9InBtMjAtc2hvdy1jb25zZW50IiBjbGFzcz0icG0yMC1idXR0b250ZXh0IiBocmVmPSIvcHJpdmFjeS9jb29raWUtcG9saWN5Ij5Db29raWUgUG9saWN5PC9hPiBlIDxhIGlkPSJwbTIwLXNob3ctY29uc2VudCIgY2xhc3M9InBtMjAtYnV0dG9udGV4dCIgaHJlZj0iL2RvY3VtZW50cy9pbmZvcm1hdGl2YV9haV9zZW5zaV9kZWxsYV9wcml2YWN5X25hdmlnYXppb25lLnBkZiI+SW5mb3JtYXRpdmEgUHJpdmFjeTwvYT4gZGVsIHNpdG8gd2ViJykNCgkJCQkJLmVuZCgpDQoJCQkJCS5hcHBlbmQoJzxkaXYgaWQ9ImNvb2tpZS1idXR0b25zIj48L2Rpdj4nKS5maW5kKCcjY29va2llLWJ1dHRvbnMnKQ0KCQkJCQkJLmFwcGVuZCgnPGEgaWQ9ImNvb2tpZS1idXR0b24iIGNsYXNzPSJwbTIwLWNsb3NlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjE1cHg7IG1hcmdpbi1ib3R0b206MHB4Ij5BY2NldHRvPC9hPicpDQoJCQkJCQkuYXBwZW5kKCc8YSBpZD0iY29va2llLWJ1dHRvbiIgY2xhc3M9ImNsb3NlQ29va2llTm9uQWNjZXR0byIgc3R5bGU9Im1hcmdpbi1yaWdodDoxNXB4OyBtYXJnaW4tYm90dG9tOjE1cHg7IG1hcmdpbi10b3A6MXB4Ij5Ob24gQWNjZXR0bzwvYT4nKQ0KCQkJCQkJLmVuZCgpCQkJCQ0KCQkJCQkuZW5kKCkNCgkgICAgICAgIC5lbmQoKTsNCg0KICAgICAgICAkKCcjcG0xNV9jb29raWVfaW5mbyAucG0yMC1jbG9zZScpLm9uKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7DQoJCQkJCQlzZXRQcml2YWN5Q29va2llc01lc3NhZ2VPZmYoKTsNCiAgICAgICAgICAgICQoIiNwbTE1X2Nvb2tpZV9pbmZvIikuaGlkZSgpOw0KICAgICAgICB9KTsNCgkJCQkNCgkJCQkkKCcjcG0xNV9jb29raWVfaW5mbyAjY2xvc2VDb29raWUnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkgew0KCQkJCQkJc2V0UHJpdmFjeUNvb2tpZXNNZXNzYWdlT2ZmX0Nsb3NlQnRuKCk7DQogICAgICAgICAgICAkKCIjcG0xNV9jb29raWVfaW5mbyIpLmhpZGUoKTsNCiAgICAgICAgfSk7DQoJCQ0KCQkkKCcjcG0xNV9jb29raWVfaW5mbyAuY2xvc2VDb29raWVOb25BY2NldHRvJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsNCgkJCQkJCXNldFByaXZhY3lDb29raWVzTWVzc2FnZU9mZl9DbG9zZUJ0bigpOw0KICAgICAgICAgICAgJCgiI3BtMTVfY29va2llX2luZm8iKS5oaWRlKCk7DQogICAgICAgIH0pOw0KICAgIH0NCiAgICBmdW5jdGlvbiBzZXRQcml2YWN5Q29va2llc01lc3NhZ2VPZmYoKSB7DQogICAgICAgIHZhciBjbmFtZSA9ICdQQ09PSyc7DQogICAgICAgIHZhciBjdmFsdWUgPSBnZXRDb29raWUoY25hbWUpOw0KICAgICAgICB2YXIgY2ZsYWdzID0gJyc7DQogICAgICAgIGlmIChjdmFsdWUuaW5kZXhPZignfCcpICE9IC0xKSB7DQogICAgICAgICAgICBjZmxhZ3MgPSBjdmFsdWUuc3Vic3RyaW5nKGN2YWx1ZS5pbmRleE9mKCd8JykpDQogICAgICAgIH0NCgkJCQkNCgkJCQkvLyBSZXR1cm4gdG9kYXkncyBkYXRlIGFuZCB0aW1lDQoJCQkJdmFyIGN1cnJlbnRUaW1lID0gbmV3IERhdGUoKTsNCg0KCQkJCS8vIHJldHVybnMgdGhlIG1vbnRoIChmcm9tIDAgdG8gMTEpDQoJCQkJdmFyIG1vbnRoQ29va2llID0gY3VycmVudFRpbWUuZ2V0TW9udGgoKSArIDE7DQoJCQkJaWYobW9udGhDb29raWUgPCAxMCkNCgkJCQl7DQoJCQkJIG1vbnRoQ29va2llID0gJzAnK21vbnRoQ29va2llOw0KCQkJCX0NCgkJCQkNCgkJCQkvLyByZXR1cm5zIHRoZSBkYXkgb2YgdGhlIG1vbnRoIChmcm9tIDEgdG8gMzEpDQoJCQkJdmFyIGRheUNvb2tpZSA9IGN1cnJlbnRUaW1lLmdldERhdGUoKTsNCgkJCQlpZihkYXlDb29raWUgPCAxMCkNCgkJCQl7DQoJCQkJIGRheUNvb2tpZSA9ICcwJytkYXlDb29raWU7DQoJCQkJfQ0KDQoJCQkJLy8gcmV0dXJucyB0aGUgeWVhciAoZm91ciBkaWdpdHMpDQoJCQkJdmFyIHllYXJDb29raWUgPSBjdXJyZW50VGltZS5nZXRGdWxsWWVhcigpOw0KDQogICAgICAgIGN2YWx1ZSA9ICdQQ09PSy1NRVNTQUdFLU9GRiZQQ09PSy1ET1VCTEVDTElDSy1PTiZQQ09PSy1EQy0nICsgeWVhckNvb2tpZSArIG1vbnRoQ29va2llICsgZGF5Q29va2llICsgY2ZsYWdzOw0KICAgICAgICBzZXRDb29raWUoY25hbWUsIGN2YWx1ZSwgMzY1KTsNCgkJd2luZG93LmxvY2F0aW9uLnJlbG9hZCh0cnVlKTsNCiAgICB9DQoJCQ0KCQkNCgkJZnVuY3Rpb24gZGVsQ29va2llKGNuYW1lLCBjcGF0aCkgew0KICAgICAgICBkb2N1bWVudC5jb29raWUgPSBjbmFtZSArICI9IiArDQogICAgICAgICAgKChjcGF0aCkgPyAiO3BhdGg9IitjcGF0aDoiIikgKw0KICAgICAgICAgICI7ZXhwaXJlcz1UaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIFVUQyI7DQogICAgICB9DQoNCgkJCQ0KCQlmdW5jdGlvbiBkZWxUcmFja0Nvb2tpZSgpIHsNCgkJCQkJZGVsQ29va2llKCdfZHAnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnZGVtZGV4JywnLycpOw0KCQkJCQlkZWxDb29raWUoJ2RwbScsJy8nKTsNCgkJCQkJZGVsQ29va2llKCdldmVyZXN0X2dfdjInLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnZXZlcmVzdF9zZXNzaW9uX3YyJywnLycpOw0KCQkJCQlkZWxDb29raWUoJ0FNQ1ZfM0EzQzFEMDg1QzVDNzA5OTBBNDk1Q0ZDJTQwQWRvYmVPcmcnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnQU1DVlNfM0EzQzFEMDg1QzVDNzA5OTBBNDk1Q0ZDJTQwQWRvYmVPcmcnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnc19jYycsJy8nKTsNCgkJCQkJZGVsQ29va2llKCdzX3NxJywnLycpOw0KCQkJCQlkZWxDb29raWUoJ2RleHRwJywnLycpOw0KCQkJCQlkZWxDb29raWUoJ2RzdCcsJy8nKTsNCgkJCQkJZGVsQ29va2llKCdzX2RsJywnLycpOw0KCQkJCQlkZWxDb29raWUoJ3NfdmknLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnc19maWQnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnc19kZXB0aCcsJy8nKTsNCgkJCQkJZGVsQ29va2llKCdzX2ludmlzaXQnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnc19wcHYnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnc190Ym0nLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnc192bnVtJywnLycpOw0KCQkJCQlkZWxDb29raWUoJ3NjX2FwcHZuJywnLycpOw0KCQkJCQlkZWxDb29raWUoJ3NjX2NtZGVwJywnLycpOw0KCQkJCQlkZWxDb29raWUoJ3NjX2Z2JywnLycpOw0KCQkJCQlkZWxDb29raWUoJ3NjX3BDbXAnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnc2NfcHJldnBhZ2UnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnc2NfcHJvcDMyJywnLycpOw0KCQkJCQlkZWxDb29raWUoJ3NjX3RzZXYnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnc2NfdHN2JywnLycpOw0KCQkJCQlkZWxDb29raWUoJ3NjX2M2OCcsJy8nKTsNCgkJCQkJZGVsQ29va2llKCdfZ2NsX2F1JywnLycpOw0KCQkJCQlkZWxDb29raWUoJ2V2X3N5bmNfZGQnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgndGVzdF9jb29raWUnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnX19TZWN1cmUtM1BBUElTSUQnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnX19TZWN1cmUtM1BTSUQnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnX19TZWN1cmUtM1BTSURDQycsJy8nKTsNCgkJCQkJZGVsQ29va2llKCdJREUnLCcvJyk7DQoJCQkJCWRlbENvb2tpZSgnY3JpdGVvJywnLycpOw0KCQkJCQlkZWxDb29raWUoJ29idWlkJywnLycpOw0KDQoJCQkJCWRlbENvb2tpZSgnZmlkLjAuMC40JywnLycpOw0KDQogICAgICB9DQoNCgkJCQ0KCQlmdW5jdGlvbiBzZXRQcml2YWN5Q29va2llc01lc3NhZ2VPZmZfQ2xvc2VCdG4oKSB7IA0KCQkJdmFyIGNvb2tpZV9mbGFnX29mZiA9ICdPRkYnOw0KCQkJdmFyIGNvb2tpZV9pZCA9CSdET1VCTEVDTElDSyc7CQkNCgkJCXNldFByaXZhY3lDb29raWVGbGFnX0Nsb3NlQnRuKGNvb2tpZV9pZCxjb29raWVfZmxhZ19vZmYpOw0KCQkJCWRlbFRyYWNrQ29va2llKCk7DQoJCQkJd2luZG93LmxvY2F0aW9uLnJlbG9hZCh0cnVlKTsNCiAgICB9DQoJCQ0KCQlmdW5jdGlvbiBzZXRQcml2YWN5Q29va2llRmxhZ19DbG9zZUJ0bihjaWQsY3N0YXQpIHsNCgkgICAgICB2YXIgY25hbWUgPSAnUENPT0snOw0KCSAgICAgIHZhciBjaWRVID0gY2lkLnRvVXBwZXJDYXNlKCk7DQoJICAgICAgdmFyIGNzdGF0VSA9IGNzdGF0LnRvVXBwZXJDYXNlKCk7DQoJICAgICAgdmFyIGNmbGFnX3ByZWZpeCA9IGNuYW1lICsgJy0nICsgY2lkVSArICctJzsNCgkgICAgICB2YXIgY2ZsYWdfb24gPSBjZmxhZ19wcmVmaXggKyAnT04nOw0KCSAgICAgIHZhciBjZmxhZ19vZmYgPSBjZmxhZ19wcmVmaXggKyAnT0ZGJzsNCgkJICB2YXIgY2ZsYWdfc2VwID0gJyYnOw0KCQkJCQ0KCQkJLy8gUmV0dXJuIHRvZGF5J3MgZGF0ZSBhbmQgdGltZQ0KCQkJdmFyIGN1cnJlbnRUaW1lID0gbmV3IERhdGUoKTsNCg0KCQkJLy8gcmV0dXJucyB0aGUgbW9udGggKGZyb20gMCB0byAxMSkNCgkJCXZhciBtb250aENvb2tpZSA9IGN1cnJlbnRUaW1lLmdldE1vbnRoKCkgKyAxOw0KCQkJaWYobW9udGhDb29raWUgPCAxMCkNCgkJCXsNCgkJCSBtb250aENvb2tpZSA9ICcwJyttb250aENvb2tpZTsNCgkJCX0NCg0KCQkJLy8gcmV0dXJucyB0aGUgZGF5IG9mIHRoZSBtb250aCAoZnJvbSAxIHRvIDMxKQ0KCQkJdmFyIGRheUNvb2tpZSA9IGN1cnJlbnRUaW1lLmdldERhdGUoKTsNCgkJCWlmKGRheUNvb2tpZSA8IDEwKQ0KCQkJew0KCQkJIGRheUNvb2tpZSA9ICcwJytkYXlDb29raWU7DQoJCQl9DQoNCgkJCS8vIHJldHVybnMgdGhlIHllYXIgKGZvdXIgZGlnaXRzKQ0KCQkJdmFyIHllYXJDb29raWUgPSBjdXJyZW50VGltZS5nZXRGdWxsWWVhcigpOw0KDQoJCQl2YXIgY2ZsYWdfdGltZSA9ICdQQ09PSy1EQy0nICsgeWVhckNvb2tpZSArIG1vbnRoQ29va2llICsgZGF5Q29va2llOyAvLzIwMjAxMTI4JzsNCgkJCQkNCgkgICAgICB2YXIgY3ZhbHVlID0gZ2V0Q29va2llKGNuYW1lKTsNCgkJCQlpZihjdmFsdWUuaW5kZXhPZignUENPT0stTUVTU0FHRS1PRkYnKT09LTEpew0KCQkJCQljdmFsdWUgPSAnUENPT0stTUVTU0FHRS1PRkYnOw0KCQkJCQkkKCIjcG0xNV9jb29raWVfaW5mbyIpLmhpZGUoKTsNCgkJCQl9CQkJCQ0KCSAgICAgIGlmKGNzdGF0VT09J09OJykgew0KCQkgICAgICBjdmFsdWUgPSBjdmFsdWUucmVwbGFjZShjZmxhZ19vZmYsY2ZsYWdfb24pOw0KCQkgICAgICBjdmFsdWUgPSAoY3ZhbHVlLmluZGV4T2YoY2ZsYWdfb24pPT0tMSkgPyBjdmFsdWUuY29uY2F0KGNmbGFnX3NlcCkuY29uY2F0KGNmbGFnX29uKSA6IGN2YWx1ZTsNCgkgICAgICB9IGVsc2Ugew0KCQkgICAgICBjdmFsdWUgPSBjdmFsdWUucmVwbGFjZShjZmxhZ19vbixjZmxhZ19vZmYpOw0KCQkgICAgICBjdmFsdWUgPSAoY3ZhbHVlLmluZGV4T2YoY2ZsYWdfb2ZmKT09LTEpID8gY3ZhbHVlLmNvbmNhdChjZmxhZ19zZXApLmNvbmNhdChjZmxhZ19vZmYpIDogY3ZhbHVlOw0KCSAgICAgIH0NCgkJCQljdmFsdWUgPSAoY3ZhbHVlLmluZGV4T2YoY2ZsYWdfdGltZSk9PS0xKSA/IGN2YWx1ZS5jb25jYXQoY2ZsYWdfc2VwKS5jb25jYXQoY2ZsYWdfdGltZSkgOiBjdmFsdWU7DQoJICAgICAgc2V0Q29va2llKGNuYW1lLGN2YWx1ZSwzNjUpOw0KCQkJCWlmKGNzdGF0VT09J09GRicpIHsNCgkJCQkJZGVsVHJhY2tDb29raWUoKTsNCgkJCQkJDQoJCQkJCSQuZ2V0KCIvUGFnaW5lL1BNMTMvZGVsQ29va2llLmh0bWwiLCBmdW5jdGlvbihzdGF0dXMpew0KCQkJCQkJLy9kbyBub3RoaW5nDQoJCQkJCX0pOwkJDQoJCQkJCQkJCQkJDQoJCQkJfQ0KICAgICAgfQ0KCQkvL3RoZSBkb2N1bWVudCBvcGVuIGlzIGhlcmUNCgkJaWYoaXNTY3JpcHRUcmFjaygpKXsNCg0KCQkJKGZ1bmN0aW9uKGYsaSxkLG8sYyxvZCxlKXtmWydGaWRvT2JqZWN0J109YztmW2NdPWZbY118fGZ1bmN0aW9uKCl7DQoJCQkJKGZbY10ucT1mW2NdLnF8fFtdKS5wdXNoKGFyZ3VtZW50cyl9LGZbY10ubD0xKm5ldyBEYXRlKCk7b2Q9aS5jcmVhdGVFbGVtZW50KGQpLA0KCQkJCWU9aS5nZXRFbGVtZW50c0J5VGFnTmFtZShkKVswXTtvZC5hc3luYz0xO29kLnNyYz1vO2UucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUob2QsZSkNCgkJCQkJfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdodHRwczovL2NvZGUuZmlkby5pZC9mZC5qcycsJ2ZpZG8nKTsNCgkJCWZpZG8oJ2NyZWF0ZScsICdGSURPLTA2YTcxZjVkLWQyODgtNDc2OC1hZmU1LTRmZDNmZjFjMzFiOCcpOw0KCQkJZmlkbygnY2xhaW1zJywgWydwaG9uZScsICduYW1lJywgJ2lwJywgJ2RldmljZScsICdicm93c2VyJywgJ3Njb3JlJ10pOw0KCQkJDQoJCQkvLyBTdGFydCBvZiBnbG9iYWwgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCS8vUGxhY2UgdGhpcyBzbmlwcGV0IGJldHdlZW4gdGhlIDxoZWFkPiBhbmQgPC9oZWFkPiB0YWdzIG9uIGV2ZXJ5IHBhZ2Ugb2YgeW91ciBzaXRlLg0KCQkJDQoJCQkvLyBHbG9iYWwgc2l0ZSB0YWcgKGd0YWcuanMpIC0gR29vZ2xlIE1hcmtldGluZyBQbGF0Zm9ybSANCg0KCQkJICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsNCgkJCSAgZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fQ0KCQkJICBndGFnKCdqcycsIG5ldyBEYXRlKCkpOw0KDQoJCQkgIGd0YWcoJ2NvbmZpZycsICdEQy02MTAyNzE4Jyk7DQoNCgkJCS8vIEVuZCBvZiBnbG9iYWwgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUgDQoJCQkNCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YVBNY2FzYS9BY3F1aXN0YU9ubGluZS5hc3B4P29mPTAxIik+LTEpew0KCQkJLy9FdmVudCBzbmlwcGV0IGZvciBQb3N0ZSBNb2JpbGUgLSBDYXNhIFdlYiAtIEZvcm0gQWNxdWlzdGEgT25saW5lIG9uIGh0dHBzOi8vd3d3LnBvc3RlbW9iaWxlLml0L0FyZWFQcm90ZXR0YS9QYWdpbmUvQWNxdWlzdGFQTWNhc2EvQWNxdWlzdGFPbmxpbmUuYXNweD9vZj0wMTogUGxlYXNlIGRvIG5vdCByZW1vdmUuDQogICAgICAgICAgICAvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJZ3RhZygnZXZlbnQnLCAnY29udmVyc2lvbicsIHsNCgkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvY2FzYXcwL3Bvc3RlMDArdW5pcXVlJw0KCQkJCX0pOw0KCQkJDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz1cImh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS9hY3Rpdml0eS9zcmM9NjEwMjcxODt0eXBlPWNhc2F3MDtjYXQ9cG9zdGUwMDtkY19sYXQ9O2RjX3JkaWQ9O3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50PTt0ZnVhPTtucGE9O2dkcHI9JHtHRFBSfTtnZHByX2NvbnNlbnQ9JHtHRFBSX0NPTlNFTlRfNzU1fTtvcmQ9MTtudW09MT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCJcLz48XC9ub3NjcmlwdD4nKTsNCgkJCQkvLyBFbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCg0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoIi9hcmVhcHJvdGV0dGEvYWNxdWlzdGEtcG9zdGVtb2JpbGUtY2FzYS13ZWItY29uLW9wZXJhdG9yZSIpPi0xKSB7DQoJCQkJLy9FdmVudCBzbmlwcGV0IGZvciBQb3N0ZSBNb2JpbGUgLSBDYXNhIFdlYiAtIEZvcm0gQ2FsbCBNZSBCYWNrIG9uIGh0dHBzOi8vd3d3LnBvc3RlbW9iaWxlLml0L2FyZWFwcm90ZXR0YS9hY3F1aXN0YS1wb3N0ZW1vYmlsZS1jYXNhLXdlYi1jb24tb3BlcmF0b3JlOiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2Nhc2F3MC9wb3N0ZTAwMCt1bmlxdWUnDQoJCQkJICB9KTsNCgkJCQlkb2N1bWVudC53cml0ZSgnPG5vc2NyaXB0PjxpbWcgc3JjPVwiaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz02MTAyNzE4O3R5cGU9Y2FzYXcwO2NhdD1wb3N0ZTAwMDtkY19sYXQ9O2RjX3JkaWQ9O3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50PTt0ZnVhPTtucGE9O2dkcHI9JHtHRFBSfTtnZHByX2NvbnNlbnQ9JHtHRFBSX0NPTlNFTlRfNzU1fTtvcmQ9MTtudW09MT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUgDQoJCQl9DQoJCQkNCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvb2ZmZXJ0ZS1maXNzby9wb3N0ZW1vYmlsZS1jYXNhLXdlYiIpPi0xKSB7DQoJCQkJLy9FdmVudCBzbmlwcGV0IGZvciBQb3N0ZSBNb2JpbGUgLSBDYXNhIFdlYiAtIExQIE9mZmVydGEgb24gaHR0cDovL3d3dy5wb3N0ZW1vYmlsZS5pdC9vZmZlcnRlLWZpc3NvL3Bvc3RlbW9iaWxlLWNhc2Etd2ViOiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2Nhc2F3MC9wb3N0ZTArdW5pcXVlJw0KCQkJCSAgfSk7DQoNCgkJCQlkb2N1bWVudC53cml0ZSgnPG5vc2NyaXB0PjxpbWcgc3JjPVwiaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz02MTAyNzE4O3R5cGU9Y2FzYXcwO2NhdD1wb3N0ZTA7ZGNfbGF0PTtkY19yZGlkPTt0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudD07dGZ1YT07bnBhPTtnZHByPSR7R0RQUn07Z2Rwcl9jb25zZW50PSR7R0RQUl9DT05TRU5UXzc1NX07b3JkPTE7bnVtPTE/XCIgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiMVwiIGFsdD1cIlwiLz48L25vc2NyaXB0PicpOw0KCQkJCS8vRW5kIG9mIGV2ZW50IHNuaXBwZXQ6IFBsZWFzZSBkbyBub3QgcmVtb3ZlIA0KDQoJCQl9DQoJCQkNCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YVBNY2FzYS9ncmF6aWUuYXNweCIpPi0xKSB7DQoJCQkJLy9FdmVudCBzbmlwcGV0IGZvciBQb3N0ZSBNb2JpbGUgLSBDYXNhIFdlYiAtIFRZUCBBY3F1aXN0YSBPbmxpbmUgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YVBNY2FzYS9ncmF6aWUuYXNweDogUGxlYXNlIGRvIG5vdCByZW1vdmUuDQoJCQkJLy9QbGFjZSB0aGlzIHNuaXBwZXQgb24gcGFnZXMgd2l0aCBldmVudHMgeW914oCZcmUgdHJhY2tpbmcuIA0KCQkJCSAgZ3RhZygnZXZlbnQnLCAncHVyY2hhc2UnLCB7DQoJCQkJCSdhbGxvd19jdXN0b21fc2NyaXB0cyc6IHRydWUsDQoJCQkJCSd2YWx1ZSc6ICdbUmV2ZW51ZV0nLA0KCQkJCQkndHJhbnNhY3Rpb25faWQnOiAnW09yZGVySURdJywNCgkJCQkJJ3NlbmRfdG8nOiAnREMtNjEwMjcxOC90eXBjYTAvcG9zdGUwMCt0cmFuc2FjdGlvbnMnDQoJCQkJICB9KTsNCg0KCQkJCWRvY3VtZW50LndyaXRlKCc8bm9zY3JpcHQ+PGltZyBzcmM9XCJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT10eXBjYTA7Y2F0PXBvc3RlMDA7cXR5PTE7Y29zdD1bUmV2ZW51ZV07ZGNfbGF0PTtkY19yZGlkPTt0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudD07dGZ1YT07bnBhPTtnZHByPSR7R0RQUn07Z2Rwcl9jb25zZW50PSR7R0RQUl9DT05TRU5UXzc1NX07b3JkPVtPcmRlcklEXT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkNCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvYXJlYXByb3RldHRhL2NvbmZlcm1hLWFjcXVpc3RvLXBvc3RlbW9iaWxlLWNhc2Etd2ViLWNvbi1vcGVyYXRvcmUiKT4tMSkgew0KCQkJCS8vRXZlbnQgc25pcHBldCBmb3IgUG9zdGUgTW9iaWxlIC0gQ2FzYSBXZWIgLSBUWVAgQ2FsbCBNZSBCYWNrIG9uIGh0dHBzOi8vd3d3LnBvc3RlbW9iaWxlLml0L2FyZWFwcm90ZXR0YS9jb25mZXJtYS1hY3F1aXN0by1wb3N0ZW1vYmlsZS1jYXNhLXdlYi1jb24tb3BlcmF0b3JlOiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdwdXJjaGFzZScsIHsNCgkJCQkJJ2FsbG93X2N1c3RvbV9zY3JpcHRzJzogdHJ1ZSwNCgkJCQkJJ3ZhbHVlJzogJ1tSZXZlbnVlXScsDQoJCQkJCSd0cmFuc2FjdGlvbl9pZCc6ICdbT3JkZXJJRF0nLA0KCQkJCQkndTEnOiAnW3Byb2RvdHRvXScsDQoJCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvdHlwY2EwL3Bvc3RlMCt0cmFuc2FjdGlvbnMnDQoJCQkJICB9KTsNCg0KCQkJCWRvY3VtZW50LndyaXRlKCc8bm9zY3JpcHQ+PGltZyBzcmM9XCJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT10eXBjYTA7Y2F0PXBvc3RlMDtxdHk9MTtjb3N0PVtSZXZlbnVlXTt1MT1bcHJvZG90dG9dO2RjX2xhdD07ZGNfcmRpZD07dGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9O3RmdWE9O25wYT07Z2Rwcj0ke0dEUFJ9O2dkcHJfY29uc2VudD0ke0dEUFJfQ09OU0VOVF83NTV9O29yZD1bT3JkZXJJRF0/XCIgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiMVwiIGFsdD1cIlwiLz48L25vc2NyaXB0PicpOw0KCQkJCS8vRW5kIG9mIGV2ZW50IHNuaXBwZXQ6IFBsZWFzZSBkbyBub3QgcmVtb3ZlDQoJCQl9DQoJCQkNCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvY3JlYW1pLXdvdy13ZWVrZW5kLTMwLWdpZ2EiKT4tMSkgew0KCQkJCS8vRXZlbnQgc25pcHBldCBmb3IgQ3JlYW1pIFdvdyBXZWVrZW5kIDMwR0IgLSBMUCBvbiBodHRwOi8vd3d3LnBvc3RlbW9iaWxlLml0L2NyZWFtaS13b3ctd2Vla2VuZC0zMC1naWdhOiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2NyZWFtMDBuL2NyZWFtMCt1bmlxdWUnDQoJCQkJICB9KTsNCg0KCQkJCWRvY3VtZW50LndyaXRlKCc8bm9zY3JpcHQ+PGltZyBzcmM9XCJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT1jcmVhbTAwbjtjYXQ9Y3JlYW0wO2RjX2xhdD07ZGNfcmRpZD07dGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9O3RmdWE9O25wYT07Z2Rwcj0ke0dEUFJ9O2dkcHJfY29uc2VudD0ke0dEUFJfQ09OU0VOVF83NTV9O29yZD0xO251bT0xP1wiIHdpZHRoPVwiMVwiIGhlaWdodD1cIjFcIiBhbHQ9XCJcIi8+PC9ub3NjcmlwdD4nKTsNCgkJCQkvL0VuZCBvZiBldmVudCBzbmlwcGV0OiBQbGVhc2UgZG8gbm90IHJlbW92ZQ0KCQkJfQ0KCQkJDQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL0FyZWFQcm90ZXR0YS9QYWdpbmUvQWNxdWlzdGEvQWNxdWlzdGFPbmxpbmUuYXNweD9vZj0xOSIpPi0xKSB7DQoJCQkJLy9FdmVudCBzbmlwcGV0IGZvciBDcmVhbWkgV293IFdlZWtlbmQgMzBHQiBFeHRyYSAtIEFjcXVpc3RvIE9ubGluZSAtIEZvcm0gb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9BY3F1aXN0YU9ubGluZS5hc3B4P29mPTE5OiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2NyZWFtMDBjL2NyZWFtMCt1bmlxdWUnDQoJCQkJICB9KTsNCg0KCQkJCWRvY3VtZW50LndyaXRlKCc8bm9zY3JpcHQ+PGltZyBzcmM9XCJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT1jcmVhbTAwYztjYXQ9Y3JlYW0wO2RjX2xhdD07ZGNfcmRpZD07dGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9O3RmdWE9O25wYT07Z2Rwcj0ke0dEUFJ9O2dkcHJfY29uc2VudD0ke0dEUFJfQ09OU0VOVF83NTV9O29yZD0xO251bT0xP1wiIHdpZHRoPVwiMVwiIGhlaWdodD1cIjFcIiBhbHQ9XCJcIi8+PC9ub3NjcmlwdD4nKTsNCgkJCQkvL0VuZCBvZiBldmVudCBzbmlwcGV0OiBQbGVhc2UgZG8gbm90IHJlbW92ZQ0KCQkJfQ0KCQkJDQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL0FyZWFQcm90ZXR0YS9QYWdpbmUvQWNxdWlzdGEvZ3JhemllLmFzcHgiKT4tMSkgew0KCQkJCS8vRXZlbnQgc25pcHBldCBmb3IgQ3JlYW1pIFdvdyBXZWVrZW5kIDMwR0IgRXh0cmEgLSBBY3F1aXN0byBPbmxpbmUgLSBUWVAgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9ncmF6aWUuYXNweDogUGxlYXNlIGRvIG5vdCByZW1vdmUuDQoJCQkJLy9QbGFjZSB0aGlzIHNuaXBwZXQgb24gcGFnZXMgd2l0aCBldmVudHMgeW914oCZcmUgdHJhY2tpbmcuIA0KCQkJCSAgZ3RhZygnZXZlbnQnLCAncHVyY2hhc2UnLCB7DQoJCQkJCSdhbGxvd19jdXN0b21fc2NyaXB0cyc6IHRydWUsDQoJCQkJCSd2YWx1ZSc6ICdbUmV2ZW51ZV0nLA0KCQkJCQkndHJhbnNhY3Rpb25faWQnOiAnW09yZGVySURdJywNCgkJCQkJJ3NlbmRfdG8nOiAnREMtNjEwMjcxOC9jcmVhbTAwZC9jcmVhbTArdHJhbnNhY3Rpb25zJw0KCQkJCSAgfSk7DQoNCgkJCQlkb2N1bWVudC53cml0ZSgnPG5vc2NyaXB0PjxpbWcgc3JjPVwiaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz02MTAyNzE4O3R5cGU9Y3JlYW0wMGQ7Y2F0PWNyZWFtMDtxdHk9MTtjb3N0PVtSZXZlbnVlXTtkY19sYXQ9O2RjX3JkaWQ9O3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50PTt0ZnVhPTtucGE9O2dkcHI9JHtHRFBSfTtnZHByX2NvbnNlbnQ9JHtHRFBSX0NPTlNFTlRfNzU1fTtvcmQ9W09yZGVySURdP1wiIHdpZHRoPVwiMVwiIGhlaWdodD1cIjFcIiBhbHQ9XCJcIi8+PC9ub3NjcmlwdD4nKTsNCgkJCQkvL0VuZCBvZiBldmVudCBzbmlwcGV0OiBQbGVhc2UgZG8gbm90IHJlbW92ZQ0KCQkJfQ0KCQkJDQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL2FyZWFwcm90ZXR0YS9jcmVhbWktd293LXdlZWtlbmQtMzAtZ2lnYS1vcmRpbmUtY29uLW9wZXJhdG9yZSIpPi0xKSB7DQoJCQkJLy9FdmVudCBzbmlwcGV0IGZvciBDcmVhbWkgV293IFdlZWtlbmQgMzBHQiBFeHRyYSAtIENhbGwgTWUgQmFjayAtIEZvcm0gb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvYXJlYXByb3RldHRhL2NyZWFtaS13b3ctd2Vla2VuZC0zMC1naWdhLW9yZGluZS1jb24tb3BlcmF0b3JlOiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2NyZWFtMDBjL2NyZWFtMDArdW5pcXVlJw0KCQkJCSAgfSk7DQoNCgkJCQlkb2N1bWVudC53cml0ZSgnPG5vc2NyaXB0PjxpbWcgc3JjPVwiaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz02MTAyNzE4O3R5cGU9Y3JlYW0wMGM7Y2F0PWNyZWFtMDA7ZGNfbGF0PTtkY19yZGlkPTt0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudD07dGZ1YT07bnBhPTtnZHByPSR7R0RQUn07Z2Rwcl9jb25zZW50PSR7R0RQUl9DT05TRU5UXzc1NX07b3JkPTE7bnVtPTE/XCIgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiMVwiIGFsdD1cIlwiLz48L25vc2NyaXB0PicpOw0KCQkJCS8vRW5kIG9mIGV2ZW50IHNuaXBwZXQ6IFBsZWFzZSBkbyBub3QgcmVtb3ZlDQoJCQl9DQoJCQkNCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvYXJlYXByb3RldHRhL2NyZWFtaS13b3ctd2Vla2VuZC0zMC1naWdhLWNvbmZlcm1hLW9yZGluZS1jb24tb3BlcmF0b3JlIik+LTEpIHsNCgkJCQkvL0V2ZW50IHNuaXBwZXQgZm9yIENyZWFtaSBXb3cgV2Vla2VuZCAzMEdCIEV4dHJhIC0gQ2FsbCBNZSBCYWNrIC0gVFlQIG9uIGh0dHBzOi8vd3d3LnBvc3RlbW9iaWxlLml0L2FyZWFwcm90ZXR0YS9jcmVhbWktd293LXdlZWtlbmQtMzAtZ2lnYS1jb25mZXJtYS1vcmRpbmUtY29uLW9wZXJhdG9yZTogUGxlYXNlIGRvIG5vdCByZW1vdmUuDQoJCQkJLy9QbGFjZSB0aGlzIHNuaXBwZXQgb24gcGFnZXMgd2l0aCBldmVudHMgeW914oCZcmUgdHJhY2tpbmcuIA0KCQkJCSAgZ3RhZygnZXZlbnQnLCAncHVyY2hhc2UnLCB7DQoJCQkJCSdhbGxvd19jdXN0b21fc2NyaXB0cyc6IHRydWUsDQoJCQkJCSd2YWx1ZSc6ICdbUmV2ZW51ZV0nLA0KCQkJCQkndHJhbnNhY3Rpb25faWQnOiAnW09yZGVySURdJywNCgkJCQkJJ3NlbmRfdG8nOiAnREMtNjEwMjcxOC9jcmVhbTAwZC9jcmVhbTAwK3RyYW5zYWN0aW9ucycNCgkJCQkgIH0pOw0KDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz1cImh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS9hY3Rpdml0eS9zcmM9NjEwMjcxODt0eXBlPWNyZWFtMDBkO2NhdD1jcmVhbTAwO3F0eT0xO2Nvc3Q9W1JldmVudWVdO2RjX2xhdD07ZGNfcmRpZD07dGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9O3RmdWE9O25wYT07Z2Rwcj0ke0dEUFJ9O2dkcHJfY29uc2VudD0ke0dEUFJfQ09OU0VOVF83NTV9O29yZD1bT3JkZXJJRF0/XCIgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiMVwiIGFsdD1cIlwiLz48L25vc2NyaXB0PicpOw0KCQkJCS8vRW5kIG9mIGV2ZW50IHNuaXBwZXQ6IFBsZWFzZSBkbyBub3QgcmVtb3ZlIA0KCQkJfQ0KCQkJDQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL0FyZWFQcm90ZXR0YS9QYWdpbmUvQWNxdWlzdGEvQWNxdWlzdGFPbmxpbmUuYXNweD9vZj0yNSIpPi0xKXsNCgkJCQkvL0V2ZW50IHNuaXBwZXQgZm9yIEVYVFJBIFdPVyAxNTBHQiAtIEZPUk0gLSBBQ1FVSVNUQSBPTkxJTkUgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9BY3F1aXN0YU9ubGluZS5hc3B4P29mPTI1OiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2V4dHJhMC9leHRyYTAwMCt1bmlxdWUnDQoJCQkJICB9KTsNCg0KCQkJCWRvY3VtZW50LndyaXRlKCc8bm9zY3JpcHQ+PGltZyBzcmM9XCJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT1leHRyYTA7Y2F0PWV4dHJhMDAwO2RjX2xhdD07ZGNfcmRpZD07dGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9O3RmdWE9O25wYT07Z2Rwcj0ke0dEUFJ9O2dkcHJfY29uc2VudD0ke0dEUFJfQ09OU0VOVF83NTV9O29yZD0xO251bT0xP1wiIHdpZHRoPVwiMVwiIGhlaWdodD1cIjFcIiBhbHQ9XCJcIi8+PC9ub3NjcmlwdD4nKTsNCgkJCQkvL0VuZCBvZiBldmVudCBzbmlwcGV0OiBQbGVhc2UgZG8gbm90IHJlbW92ZQ0KCQkJfQ0KCQkJDQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL2FyZWFwcm90ZXR0YS9jcmVhbWktZXh0cmEtd293LTE1MC1vcmRpbmUtY29uLW9wZXJhdG9yZSIpPi0xKXsNCgkJCQkvL0V2ZW50IHNuaXBwZXQgZm9yIEVYVFJBIFdPVyAxNTBHQiAtIEZPUk0gLSBDTUIgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvYXJlYXByb3RldHRhL2NyZWFtaS1leHRyYS13b3ctMTUwLW9yZGluZS1jb24tb3BlcmF0b3JlOiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2V4dHJhMC9leHRyYTAwK3VuaXF1ZScNCgkJCQkgIH0pOw0KDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz1cImh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS9hY3Rpdml0eS9zcmM9NjEwMjcxODt0eXBlPWV4dHJhMDtjYXQ9ZXh0cmEwMDtkY19sYXQ9O2RjX3JkaWQ9O3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50PTt0ZnVhPTtucGE9O2dkcHI9JHtHRFBSfTtnZHByX2NvbnNlbnQ9JHtHRFBSX0NPTlNFTlRfNzU1fTtvcmQ9MTtudW09MT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkJCQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoIi9jcmVhbWktZXh0cmEtd293LTE1MCIpPi0xKXsNCgkJCQkvL0V2ZW50IHNuaXBwZXQgZm9yIEVYVFJBIFdPVyAxNTBHQiAtIExQIG9uIGh0dHA6Ly93d3cucG9zdGVtb2JpbGUuaXQvY3JlYW1pLWV4dHJhLXdvdy0xNTA6IFBsZWFzZSBkbyBub3QgcmVtb3ZlLg0KCQkJCS8vUGxhY2UgdGhpcyBzbmlwcGV0IG9uIHBhZ2VzIHdpdGggZXZlbnRzIHlvdeKAmXJlIHRyYWNraW5nLiANCgkJCQkgIGd0YWcoJ2V2ZW50JywgJ2NvbnZlcnNpb24nLCB7DQoJCQkJCSdhbGxvd19jdXN0b21fc2NyaXB0cyc6IHRydWUsDQoJCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvZXh0cmEwL2V4dHJhMCt1bmlxdWUnDQoJCQkJICB9KTsNCg0KCQkJCWRvY3VtZW50LndyaXRlKCc8bm9zY3JpcHQ+PGltZyBzcmM9XCJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT1leHRyYTA7Y2F0PWV4dHJhMDtkY19sYXQ9O2RjX3JkaWQ9O3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50PTt0ZnVhPTtucGE9O2dkcHI9JHtHRFBSfTtnZHByX2NvbnNlbnQ9JHtHRFBSX0NPTlNFTlRfNzU1fTtvcmQ9MTtudW09MT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkJCQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoIi9BcmVhUHJvdGV0dGEvUGFnaW5lL0FjcXVpc3RhL0dyYXppZS5hc3B4Iik+LTEpew0KCQkJCS8vRXZlbnQgc25pcHBldCBmb3IgRVhUUkEgV09XIDE1MEdCIC0gVFlQIC0gQUNRVUlTVEEgT05MSU5FIG9uIGh0dHBzOi8vd3d3LnBvc3RlbW9iaWxlLml0L0FyZWFQcm90ZXR0YS9QYWdpbmUvQWNxdWlzdGEvR3JhemllLmFzcHg6IFBsZWFzZSBkbyBub3QgcmVtb3ZlLg0KCQkJCS8vUGxhY2UgdGhpcyBzbmlwcGV0IG9uIHBhZ2VzIHdpdGggZXZlbnRzIHlvdeKAmXJlIHRyYWNraW5nLiANCgkJCQkgIGd0YWcoJ2V2ZW50JywgJ3B1cmNoYXNlJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQkndmFsdWUnOiAnW1JldmVudWVdJywNCgkJCQkJJ3RyYW5zYWN0aW9uX2lkJzogJ1tPcmRlcklEXScsDQoJCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvZXh0cmEwMC9leHRyYTAwK3RyYW5zYWN0aW9ucycNCgkJCQkgIH0pOw0KDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz1cImh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS9hY3Rpdml0eS9zcmM9NjEwMjcxODt0eXBlPWV4dHJhMDA7Y2F0PWV4dHJhMDA7cXR5PTE7Y29zdD1bUmV2ZW51ZV07ZGNfbGF0PTtkY19yZGlkPTt0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudD07dGZ1YT07bnBhPTtnZHByPSR7R0RQUn07Z2Rwcl9jb25zZW50PSR7R0RQUl9DT05TRU5UXzc1NX07b3JkPVtPcmRlcklEXT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkJCQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoIi9hcmVhcHJvdGV0dGEvY3JlYW1pLWV4dHJhLXdvdy0xNTAtY29uZmVybWEtb3JkaW5lLWNvbi1vcGVyYXRvcmUiKT4tMSl7DQoJCQkJLy9FdmVudCBzbmlwcGV0IGZvciBFWFRSQSBXT1cgMTUwR0IgLSBUWVAgLSBDTUIgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvYXJlYXByb3RldHRhL2NyZWFtaS1leHRyYS13b3ctMTUwLWNvbmZlcm1hLW9yZGluZS1jb24tb3BlcmF0b3JlOiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdwdXJjaGFzZScsIHsNCgkJCQkJJ2FsbG93X2N1c3RvbV9zY3JpcHRzJzogdHJ1ZSwNCgkJCQkJJ3ZhbHVlJzogJ1tSZXZlbnVlXScsDQoJCQkJCSd0cmFuc2FjdGlvbl9pZCc6ICdbT3JkZXJJRF0nLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2V4dHJhMDAvZXh0cmEwK3RyYW5zYWN0aW9ucycNCgkJCQkgIH0pOw0KDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz1cImh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS9hY3Rpdml0eS9zcmM9NjEwMjcxODt0eXBlPWV4dHJhMDA7Y2F0PWV4dHJhMDtxdHk9MTtjb3N0PVtSZXZlbnVlXTtkY19sYXQ9O2RjX3JkaWQ9O3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50PTt0ZnVhPTtucGE9O2dkcHI9JHtHRFBSfTtnZHByX2NvbnNlbnQ9JHtHRFBSX0NPTlNFTlRfNzU1fTtvcmQ9W09yZGVySURdP1wiIHdpZHRoPVwiMVwiIGhlaWdodD1cIjFcIiBhbHQ9XCJcIi8+PC9ub3NjcmlwdD4nKTsNCgkJCQkvL0VuZCBvZiBldmVudCBzbmlwcGV0OiBQbGVhc2UgZG8gbm90IHJlbW92ZQ0KCQkJfQ0KCQkJDQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL0FyZWFQcm90ZXR0YS9QYWdpbmUvQWNxdWlzdGEvQWNxdWlzdGFPbmxpbmUuYXNweD9vZj0yNCIpPi0xKXsNCgkJCQkvL0V2ZW50IHNuaXBwZXQgZm9yIENSRUFNSSBFWFRSQSBXT1cgNTBHQiAtIEZPUk0gLSBBQ1FVSVNUQSBPTkxJTkUgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9BY3F1aXN0YU9ubGluZS5hc3B4P29mPTI0OiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2NyZWFtMDB0L2NyZWFtMDAwK3VuaXF1ZScNCgkJCQkgIH0pOw0KDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz1cImh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS9hY3Rpdml0eS9zcmM9NjEwMjcxODt0eXBlPWNyZWFtMDB0O2NhdD1jcmVhbTAwMDtkY19sYXQ9O2RjX3JkaWQ9O3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50PTt0ZnVhPTtucGE9O2dkcHI9JHtHRFBSfTtnZHByX2NvbnNlbnQ9JHtHRFBSX0NPTlNFTlRfNzU1fTtvcmQ9MTtudW09MT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkJCQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoIi9hcmVhcHJvdGV0dGEvY3JlYW1pLWV4dHJhLXdvdy01MC1vcmRpbmUtY29uLW9wZXJhdG9yZSIpPi0xKXsNCgkJCQkvL0V2ZW50IHNuaXBwZXQgZm9yIENSRUFNSSBFWFRSQSBXT1cgNTBHQiAtIEZPUk0gLSBDTUIgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvYXJlYXByb3RldHRhL2NyZWFtaS1leHRyYS13b3ctNTAtb3JkaW5lLWNvbi1vcGVyYXRvcmU6IFBsZWFzZSBkbyBub3QgcmVtb3ZlLg0KCQkJCS8vUGxhY2UgdGhpcyBzbmlwcGV0IG9uIHBhZ2VzIHdpdGggZXZlbnRzIHlvdeKAmXJlIHRyYWNraW5nLiANCgkJCQkgIGd0YWcoJ2V2ZW50JywgJ2NvbnZlcnNpb24nLCB7DQoJCQkJCSdhbGxvd19jdXN0b21fc2NyaXB0cyc6IHRydWUsDQoJCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvY3JlYW0wMHQvY3JlYW0wMCt1bmlxdWUnDQoJCQkJICB9KTsNCg0KCQkJCWRvY3VtZW50LndyaXRlKCc8bm9zY3JpcHQ+PGltZyBzcmM9XCJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT1jcmVhbTAwdDtjYXQ9Y3JlYW0wMDtkY19sYXQ9O2RjX3JkaWQ9O3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50PTt0ZnVhPTtucGE9O2dkcHI9JHtHRFBSfTtnZHByX2NvbnNlbnQ9JHtHRFBSX0NPTlNFTlRfNzU1fTtvcmQ9MTtudW09MT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkJCQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoIi9jcmVhbWktZXh0cmEtd293LTUwIik+LTEpew0KCQkJCS8vRXZlbnQgc25pcHBldCBmb3IgQ1JFQU1JIEVYVFJBIFdPVyA1MEdCIC0gTFAgb24gaHR0cDovL3d3dy5wb3N0ZW1vYmlsZS5pdC9jcmVhbWktZXh0cmEtd293LTUwOiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L2NyZWFtMDB0L2NyZWFtMCt1bmlxdWUnDQoJCQkJICB9KTsNCg0KCQkJCWRvY3VtZW50LndyaXRlKCc8bm9zY3JpcHQ+PGltZyBzcmM9XCJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT1jcmVhbTAwdDtjYXQ9Y3JlYW0wO2RjX2xhdD07ZGNfcmRpZD07dGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9O3RmdWE9O25wYT07Z2Rwcj0ke0dEUFJ9O2dkcHJfY29uc2VudD0ke0dEUFJfQ09OU0VOVF83NTV9O29yZD0xO251bT0xP1wiIHdpZHRoPVwiMVwiIGhlaWdodD1cIjFcIiBhbHQ9XCJcIi8+PC9ub3NjcmlwdD4nKTsNCgkJCQkvL0VuZCBvZiBldmVudCBzbmlwcGV0OiBQbGVhc2UgZG8gbm90IHJlbW92ZQ0KCQkJfQ0KCQkJDQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL0FyZWFQcm90ZXR0YS9QYWdpbmUvQWNxdWlzdGEvR3JhemllLmFzcHgiKT4tMSl7DQoJCQkJLy9FdmVudCBzbmlwcGV0IGZvciBDUkVBTUkgRVhUUkEgV09XIDUwR0IgLSBUWVAgLSBBQ1FVSVNUQSBPTkxJTkUgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9HcmF6aWUuYXNweDogUGxlYXNlIGRvIG5vdCByZW1vdmUuDQoJCQkJLy9QbGFjZSB0aGlzIHNuaXBwZXQgb24gcGFnZXMgd2l0aCBldmVudHMgeW914oCZcmUgdHJhY2tpbmcuIA0KCQkJCSAgZ3RhZygnZXZlbnQnLCAncHVyY2hhc2UnLCB7DQoJCQkJCSdhbGxvd19jdXN0b21fc2NyaXB0cyc6IHRydWUsDQoJCQkJCSd2YWx1ZSc6ICdbUmV2ZW51ZV0nLA0KCQkJCQkndHJhbnNhY3Rpb25faWQnOiAnW09yZGVySURdJywNCgkJCQkJJ3NlbmRfdG8nOiAnREMtNjEwMjcxOC9jcmVhbTAwdS9jcmVhbTAwK3RyYW5zYWN0aW9ucycNCgkJCQkgIH0pOw0KDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz1cImh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS9hY3Rpdml0eS9zcmM9NjEwMjcxODt0eXBlPWNyZWFtMDB1O2NhdD1jcmVhbTAwO3F0eT0xO2Nvc3Q9W1JldmVudWVdO2RjX2xhdD07ZGNfcmRpZD07dGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9O3RmdWE9O25wYT07Z2Rwcj0ke0dEUFJ9O2dkcHJfY29uc2VudD0ke0dEUFJfQ09OU0VOVF83NTV9O29yZD1bT3JkZXJJRF0/XCIgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiMVwiIGFsdD1cIlwiLz48L25vc2NyaXB0PicpOw0KCQkJCS8vRW5kIG9mIGV2ZW50IHNuaXBwZXQ6IFBsZWFzZSBkbyBub3QgcmVtb3ZlDQoJCQl9DQoJCQkNCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvYXJlYXByb3RldHRhL2NyZWFtaS1leHRyYS13b3ctNTAtY29uZmVybWEtb3JkaW5lLWNvbi1vcGVyYXRvcmUiKT4tMSl7DQoJCQkJLy9FdmVudCBzbmlwcGV0IGZvciBDUkVBTUkgRVhUUkEgV09XIDUwR0IgLSBUWVAgLSBDTUIgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvYXJlYXByb3RldHRhL2NyZWFtaS1leHRyYS13b3ctNTAtY29uZmVybWEtb3JkaW5lLWNvbi1vcGVyYXRvcmU6IFBsZWFzZSBkbyBub3QgcmVtb3ZlLg0KCQkJCS8vUGxhY2UgdGhpcyBzbmlwcGV0IG9uIHBhZ2VzIHdpdGggZXZlbnRzIHlvdeKAmXJlIHRyYWNraW5nLiANCgkJCQkgIGd0YWcoJ2V2ZW50JywgJ3B1cmNoYXNlJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQkndmFsdWUnOiAnW1JldmVudWVdJywNCgkJCQkJJ3RyYW5zYWN0aW9uX2lkJzogJ1tPcmRlcklEXScsDQoJCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvY3JlYW0wMHUvY3JlYW0wK3RyYW5zYWN0aW9ucycNCgkJCQkgIH0pOw0KDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz1cImh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS9hY3Rpdml0eS9zcmM9NjEwMjcxODt0eXBlPWNyZWFtMDB1O2NhdD1jcmVhbTA7cXR5PTE7Y29zdD1bUmV2ZW51ZV07ZGNfbGF0PTtkY19yZGlkPTt0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudD07dGZ1YT07bnBhPTtnZHByPSR7R0RQUn07Z2Rwcl9jb25zZW50PSR7R0RQUl9DT05TRU5UXzc1NX07b3JkPVtPcmRlcklEXT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9ncmF6aWUuYXNweCIpPi0xKXsNCgkJCQkvL0V2ZW50IHNuaXBwZXQgZm9yIFBNIFN1cGVyIDIwR0IgLSBUWVAgLSBBY3F1aXN0byBPbkxpbmUgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9ncmF6aWUuYXNweDogUGxlYXNlIGRvIG5vdCByZW1vdmUuDQoJCQkJLy9QbGFjZSB0aGlzIHNuaXBwZXQgb24gcGFnZXMgd2l0aCBldmVudHMgeW914oCZcmUgdHJhY2tpbmcuIA0KCQkJCS8vQ3JlYXRpb24gZGF0ZTogMjEvMDIvMjAyMw0KCQkJCWd0YWcoJ2V2ZW50JywgJ3B1cmNoYXNlJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQkndmFsdWUnOiAnW1JldmVudWVdJywNCgkJCQkJJ3RyYW5zYWN0aW9uX2lkJzogJ1tPcmRlcklEXScsDQoJCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvcG1zdXAwMDAvcG1zdXAwK3RyYW5zYWN0aW9ucycNCgkJCQl9KTsNCgkJCQlkb2N1bWVudC53cml0ZSgnPG5vc2NyaXB0PjxpbWcgc3JjPSJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT1wbXN1cDAwMDtjYXQ9cG1zdXAwO3F0eT0xO2Nvc3Q9W1JldmVudWVdO2RjX2xhdD07ZGNfcmRpZD07dGFnX2Zvcl9jaGlsZF9kaXJlY3RlZF90cmVhdG1lbnQ9O3RmdWE9O25wYT07Z2Rwcj0ke0dEUFJ9O2dkcHJfY29uc2VudD0ke0dEUFJfQ09OU0VOVF83NTV9O29yZD1bT3JkZXJJRF0/IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBhbHQ9IiIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkJCQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoIi9BcmVhUHJvdGV0dGEvUGFnaW5lL0FjcXVpc3RhL2dyYXppZS5hc3B4Iik+LTEpew0KCQkJCS8vRXZlbnQgc25pcHBldCBmb3IgQ3JlYW1pIEV4dHJhIFdvdyAzMDAgR0IgLSBUWVAgLSBBQ1FVSVNUQSBPTkxJTkUgb24gaHR0cHM6Ly93d3cucG9zdGVtb2JpbGUuaXQvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9ncmF6aWUuYXNweDogUGxlYXNlIGRvIG5vdCByZW1vdmUuDQoJCQkJLy9QbGFjZSB0aGlzIHNuaXBwZXQgb24gcGFnZXMgd2l0aCBldmVudHMgeW914oCZcmUgdHJhY2tpbmcuIA0KCQkJCS8vQ3JlYXRpb24gZGF0ZTogMjEvMDIvMjAyMw0KCQkJCWd0YWcoJ2V2ZW50JywgJ3B1cmNoYXNlJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQkndmFsdWUnOiAnW1JldmVudWVdJywNCgkJCQkJJ3RyYW5zYWN0aW9uX2lkJzogJ1tPcmRlcklEXScsDQoJCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvY3JlYW0wMHcvY3JlYW0wMCt0cmFuc2FjdGlvbnMnDQoJCQkJfSk7DQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz0iaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz02MTAyNzE4O3R5cGU9Y3JlYW0wMHc7Y2F0PWNyZWFtMDA7cXR5PTE7Y29zdD1bUmV2ZW51ZV07ZGNfbGF0PTtkY19yZGlkPTt0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudD07dGZ1YT07bnBhPTtnZHByPSR7R0RQUn07Z2Rwcl9jb25zZW50PSR7R0RQUl9DT05TRU5UXzc1NX07b3JkPVtPcmRlcklEXT8iIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGFsdD0iIi8+PC9ub3NjcmlwdD4nKTsNCgkJCQkvL0VuZCBvZiBldmVudCBzbmlwcGV0OiBQbGVhc2UgZG8gbm90IHJlbW92ZQ0KCQkJfQ0KCQkJDQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL2FyZWFwcm90ZXR0YS9hdHRpdmEtY3JlYW1pLXdvdy0xMC1naWdhLWxpbWl0ZWQtZWRpdGlvbi1jb24tb3BlcmF0b3JlIik+LTEpew0KCQkJDQoJCQkJJCgnLmJsb2Njb19mb3JtX3N1Ym1pdCcpLmFwcGVuZCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgZGF0YS1maWRvLWZpZWxkPSJlbWFpbCIgdmFsdWU9Im1hcmlvLnJvc3NpQGdtYWlsLmNvbSI+Jyk7DQoJCQl9DQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL2FyZWFwcm90ZXR0YS9jcmVhbWktZXh0cmEtd293LTUwLW9yZGluZS1jb24tb3BlcmF0b3JlIik+LTEpDQoJCQl7DQoJCQkJJCgnLmJsb2Njb19mb3JtX3N1Ym1pdCcpLmFwcGVuZCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgZGF0YS1maWRvLWZpZWxkPSJlbWFpbCIgdmFsdWU9Im1hcmlvLnJvc3NpQGdtYWlsLmNvbSI+Jyk7DQoJCQl9DQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL2FyZWFwcm90ZXR0YS9jcmVhbWktZXh0cmEtd293LTE1MC1vcmRpbmUtY29uLW9wZXJhdG9yZSIpPi0xKQ0KCQkJeyANCgkJCQkkKCcuYmxvY2NvX2Zvcm1fc3VibWl0JykuYXBwZW5kKCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBkYXRhLWZpZG8tZmllbGQ9ImVtYWlsIiB2YWx1ZT0ibWFyaW8ucm9zc2lAZ21haWwuY29tIj4nKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvYXJlYXByb3RldHRhL29mZmVydGEtdHJlY2VudG8tcGVyLWNlbnRvLW9yZGluZS1jb24tb3BlcmF0b3JlIik+LTEpDQoJCQl7DQoJCQkJJCgnLmJsb2Njb19mb3JtX3N1Ym1pdCcpLmFwcGVuZCgnPGlucHV0IHR5cGU9ImhpZGRlbiIgZGF0YS1maWRvLWZpZWxkPSJlbWFpbCIgdmFsdWU9Im1hcmlvLnJvc3NpQGdtYWlsLmNvbSI+Jyk7DQoJCQl9DQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiL2FyZWFwcm90ZXR0YS9zdXBlci0yMC1jb24tb3BlcmF0b3JlIik+LTEpIA0KCQkJew0KCQkJICAkKCcuYmxvY2NvX2Zvcm1fc3VibWl0JykuYXBwZW5kKCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBkYXRhLWZpZG8tZmllbGQ9ImVtYWlsIiB2YWx1ZT0ibWFyaW8ucm9zc2lAZ21haWwuY29tIj4nKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvc3VwZXItcG93ZXItMjAtY29uLW9wZXJhdG9yZSIpPi0xKQ0KCQkJew0KCQkJCSQoJy5ibG9jY29fZm9ybV9zdWJtaXQnKS5hcHBlbmQoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIGRhdGEtZmlkby1maWVsZD0iZW1haWwiIHZhbHVlPSJtYXJpby5yb3NzaUBnbWFpbC5jb20iPicpOw0KCQkJfQ0KCQkJDQoJCQkNCgkJCQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoIi9BcmVhUHJvdGV0dGEvUGFnaW5lL0FjcXVpc3RhL2dyYXppZS5hc3B4Iik+LTEpIHsNCgkJCQkvL0V2ZW50IHNuaXBwZXQgZm9yIFN1cGVyIFBvd2VyIDIwIC0gQWNxdWlzdG8gT25saW5lIC0gVFlQIG9uIGh0dHBzOi8vd3d3LnBvc3RlbW9iaWxlLml0L0FyZWFQcm90ZXR0YS9QYWdpbmUvQWNxdWlzdGEvZ3JhemllLmFzcHg6IFBsZWFzZSBkbyBub3QgcmVtb3ZlLg0KCQkJCS8vUGxhY2UgdGhpcyBzbmlwcGV0IG9uIHBhZ2VzIHdpdGggZXZlbnRzIHlvdeKAmXJlIHRyYWNraW5nLiANCgkJCQkvL0NyZWF0aW9uIGRhdGU6IDA5LzEyLzIwMjINCgkJCQkgIGd0YWcoJ2V2ZW50JywgJ3B1cmNoYXNlJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQkndmFsdWUnOiAnW1JldmVudWVdJywNCgkJCQkJJ3RyYW5zYWN0aW9uX2lkJzogJ1tPcmRlcklEXScsDQoJCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvcG1zdXAwMDEvcG1zdXAwK3RyYW5zYWN0aW9ucycNCgkJCQkgIH0pOw0KDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz0iaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvZGRtL2FjdGl2aXR5L3NyYz02MTAyNzE4O3R5cGU9cG1zdXAwMDE7Y2F0PXBtc3VwMDtxdHk9MTtjb3N0PVtSZXZlbnVlXTtkY19sYXQ9O2RjX3JkaWQ9O3RhZ19mb3JfY2hpbGRfZGlyZWN0ZWRfdHJlYXRtZW50PTt0ZnVhPTtucGE9O2dkcHI9JHtHRFBSfTtnZHByX2NvbnNlbnQ9JHtHRFBSX0NPTlNFTlRfNzU1fTtvcmQ9W09yZGVySURdPyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSIiLz48L25vc2NyaXB0PicpOw0KCQkJCS8vRW5kIG9mIGV2ZW50IHNuaXBwZXQ6IFBsZWFzZSBkbyBub3QgcmVtb3ZlDQoJCQl9DQoJCQkNCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCIvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9ncmF6aWUuYXNweCIpPi0xKSB7DQoJCQkJLy9FdmVudCBzbmlwcGV0IGZvciBTdXBlciBQb3dlciA0MCAtIEFjcXVpc3RvIE9ubGluZSAtIFRZUCBvbiBodHRwczovL3d3dy5wb3N0ZW1vYmlsZS5pdC9BcmVhUHJvdGV0dGEvUGFnaW5lL0FjcXVpc3RhL2dyYXppZS5hc3B4OiBQbGVhc2UgZG8gbm90IHJlbW92ZS4NCgkJCQkvL1BsYWNlIHRoaXMgc25pcHBldCBvbiBwYWdlcyB3aXRoIGV2ZW50cyB5b3XigJlyZSB0cmFja2luZy4gDQoJCQkJICBndGFnKCdldmVudCcsICdwdXJjaGFzZScsIHsNCgkJCQkJJ2FsbG93X2N1c3RvbV9zY3JpcHRzJzogdHJ1ZSwNCgkJCQkJJ3ZhbHVlJzogJ1tSZXZlbnVlXScsDQoJCQkJCSd0cmFuc2FjdGlvbl9pZCc6ICdbT3JkZXJJRF0nLA0KCQkJCQknc2VuZF90byc6ICdEQy02MTAyNzE4L3Btc3VwMC9wbXN1cDAwMit0cmFuc2FjdGlvbnMnDQoJCQkJICB9KTsNCg0KCQkJCWRvY3VtZW50LndyaXRlKCc8bm9zY3JpcHQ+PGltZyBzcmM9XCJodHRwczovL2FkLmRvdWJsZWNsaWNrLm5ldC9kZG0vYWN0aXZpdHkvc3JjPTYxMDI3MTg7dHlwZT1wbXN1cDA7Y2F0PXBtc3VwMDAycXR5PTE7Y29zdD1bUmV2ZW51ZV07ZGNfbGF0PTtkY19yZGlkPTt0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudD07dGZ1YT07bnBhPTtnZHByPSR7R0RQUn07Z2Rwcl9jb25zZW50PSR7R0RQUl9DT05TRU5UXzc1NX07b3JkPVtPcmRlcklEXT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkJCQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoIi9BcmVhUHJvdGV0dGEvUGFnaW5lL0FjcXVpc3RhL0dyYXppZS5hc3B4Iik+LTEpew0KCQkJCS8vRXZlbnQgc25pcHBldCBmb3IgUFJPTU8gMzAwJSBESUdJVEFMIC0gVFlQIC0gQUNRVUlTVEEgT05MSU5FIG9uIGh0dHBzOi8vd3d3LnBvc3RlbW9iaWxlLml0L0FyZWFQcm90ZXR0YS9QYWdpbmUvQWNxdWlzdGEvR3JhemllLmFzcHg6IFBsZWFzZSBkbyBub3QgcmVtb3ZlLg0KCQkJCS8vUGxhY2UgdGhpcyBzbmlwcGV0IG9uIHBhZ2VzIHdpdGggZXZlbnRzIHlvdeKAmXJlIHRyYWNraW5nLiANCgkJCQkgIGd0YWcoJ2V2ZW50JywgJ3B1cmNoYXNlJywgew0KCQkJCQknYWxsb3dfY3VzdG9tX3NjcmlwdHMnOiB0cnVlLA0KCQkJCQkndmFsdWUnOiAnW1JldmVudWVdJywNCgkJCQkJJ3RyYW5zYWN0aW9uX2lkJzogJ1tPcmRlcklEXScsDQoJCQkJCSdzZW5kX3RvJzogJ0RDLTYxMDI3MTgvb2ZmZXIwMC9wb3N0ZTAwK3RyYW5zYWN0aW9ucycNCgkJCQkgIH0pOw0KDQoJCQkJZG9jdW1lbnQud3JpdGUoJzxub3NjcmlwdD48aW1nIHNyYz1cImh0dHBzOi8vYWQuZG91YmxlY2xpY2submV0L2RkbS9hY3Rpdml0eS9zcmM9NjEwMjcxODt0eXBlPW9mZmVyMDA7Y2F0PXBvc3RlMDA7cXR5PTE7Y29zdD1bUmV2ZW51ZV07ZGNfbGF0PTtkY19yZGlkPTt0YWdfZm9yX2NoaWxkX2RpcmVjdGVkX3RyZWF0bWVudD07dGZ1YT07bnBhPTtnZHByPSR7R0RQUn07Z2Rwcl9jb25zZW50PSR7R0RQUl9DT05TRU5UXzc1NX07b3JkPVtPcmRlcklEXT9cIiB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYWx0PVwiXCIvPjwvbm9zY3JpcHQ+Jyk7DQoJCQkJLy9FbmQgb2YgZXZlbnQgc25pcHBldDogUGxlYXNlIGRvIG5vdCByZW1vdmUNCgkJCX0NCgkJCQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoImFyZWFwcm90ZXR0YS9jcmVhbWktZXh0cmEtd293LTE1MC1jb25mZXJtYS1vcmRpbmUtY29uLW9wZXJhdG9yZSIpPi0xKXsNCgkJCQlkYXRhTGF5ZXJfY3JlYW1pX2V4dHJhX3dvd18xNTAoKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvY3JlYW1pLWV4dHJhLXdvdy0zMDAtY29uZmVybWEtb3JkaW5lLWNvbi1vcGVyYXRvcmUiKT4tMSl7DQoJCQkJZGF0YUxheWVyX2NyZWFtaV9leHRyYV93b3dfMzAwKCk7DQoJCQl9DQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiYXJlYXByb3RldHRhL29mZmVydGEtdHJlY2VudG8tcGVyLWNlbnRvLWNvbmZlcm1hLW9yZGluZS1jb24tb3BlcmF0b3JlIik+LTEpew0KCQkJCWRhdGFMYXllcl90cmVjZW50b19wZXJfY2VudG8oKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvc3VwZXItMjAtY29uZmVybWEtY29uLW9wZXJhdG9yZSIpPi0xKXsNCgkJCQlkYXRhTGF5ZXJfUE1fc3VwZXJfMjAoKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvYXR0aXZhLXVuaWNhLW5ldy1jb24tb3BlcmF0b3JlLWNvbmZlcm1hIik+LTEpew0KCQkJCWRhdGFMYXllcl9Qb3N0ZU1vYmlsZV9VbmljYV9OZXcoKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvYXR0aXZhLTYteC10dXR0aS1jb24tb3BlcmF0b3JlLWNvbmZlcm1hIik+LTEpew0KCQkJCWRhdGFMYXllcl82X3hfdHV0dGkoKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvYXR0aXZhLWNyZWFtaS1leHRyYS13b3ctMzBnYi1jb24tb3BlcmF0b3JlLWNvbmZlcm1hIik+LTEpew0KCQkJCWRhdGFMYXllcl9jcmVhbWlfZXh0cmFfd293XzMwKCk7DQoJCQl9DQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiYXJlYXByb3RldHRhL2F0dGl2YS1jcmVhbWktZXh0cmEtd293LWNvbi1vcGVyYXRvcmUtY29uZmVybWEiKT4tMSl7DQoJCQkJZGF0YUxheWVyX2NyZWFtaV9leHRyYV93b3coKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvYXR0aXZhLWNyZWFtaS1zdHlsZS1jb24tb3BlcmF0b3JlLWNvbmZlcm1hIik+LTEpew0KCQkJCWRhdGFMYXllcl9jcmVhbWlfc3R5bGUoKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvYXR0aXZhLWNyZWFtaS13b3ctMTAtZ2lnYS1jb24tb3BlcmF0b3JlLWNvbmZlcm1hIik+LTEpew0KCQkJCWRhdGFMYXllcl9jcmVhbWlfd293XzEwKCk7DQoJCQl9DQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiYXJlYXByb3RldHRhL2F0dGl2YS1jcmVhbWktd293LTEwLWdpZ2EtbGltaXRlZC1lZGl0aW9uLWNvbi1vcGVyYXRvcmUtY29uZmVybWEiKT4tMSl7DQoJCQkJZGF0YUxheWVyX2NyZWFtaV93b3dfMTBfbGltaXRlZF9lZGl0aW9uKCk7DQoJCQl9DQoJCQlpZihkb2N1bWVudC5VUkwuaW5kZXhPZigiYXJlYXByb3RldHRhL2F0dGl2YS1jcmVhbWktd293LTUtZ2lnYS1jb24tb3BlcmF0b3JlLWNvbmZlcm1hIik+LTEpew0KCQkJCWRhdGFMYXllcl9jcmVhbWlfd293XzUoKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvY29uZmVybWEtYWNxdWlzdG8tY3JlYW1pLXdlLWJhY2stY29uLW9wZXJhdG9yZSIpPi0xKXsNCgkJCQlkYXRhTGF5ZXJfY3JlYW1pX3dlX2JhY2soKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvY29uZmVybWEtYWNxdWlzdG8tcG9zdGVtb2JpbGUtY2FzYS13ZWItY29uLW9wZXJhdG9yZSIpPi0xKXsNCgkJCQlkYXRhTGF5ZXJfcG9zdGVtb2JpbGVfY2FzYV93ZWIoKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvY3JlYW1pLWV4dHJhLXdvdy01MC1jb25mZXJtYS1vcmRpbmUtY29uLW9wZXJhdG9yZSIpPi0xKXsNCgkJCQlkYXRhTGF5ZXJfY3JlYW1pX2V4dHJhX3dvd181MCgpOw0KCQkJfQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoImFyZWFwcm90ZXR0YS9jcmVhbWktd293LTUwLWdpZ2EtY29uZmVybWEtb3JkaW5lLWNvbi1vcGVyYXRvcmUiKT4tMSl7DQoJCQkJZGF0YUxheWVyX2NyZWFtaV93b3dfNTAoKTsNCgkJCX0NCgkJCWlmKGRvY3VtZW50LlVSTC5pbmRleE9mKCJhcmVhcHJvdGV0dGEvY3JlYW1pLXdvdy13ZWVrZW5kLTMwLWdpZ2EtY29uZmVybWEtb3JkaW5lLWNvbi1vcGVyYXRvcmUiKT4tMSl7DQoJCQkJZGF0YUxheWVyX2NyZWFtaV93b3dfd2Vla2VuZF8zMCgpOw0KCQkJfQ0KCQkJaWYoZG9jdW1lbnQuVVJMLmluZGV4T2YoImFyZWFwcm90ZXR0YS9zdXBlci1wb3dlci0yMC1jb25mZXJtYS1jb24tb3BlcmF0b3JlIik+LTEpew0KCQkJCWRhdGFMYXllcl9QTV9zdXBlcl9wb3dlcl8yMCgpOw0KCQkJfQ0KCQl9DQoJCSAgICAJCQ0KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgpIHsNCgkgICAgICBpZighKGlzQmFubmVyQ29va2llSGlkZSgpKSl7DQoJCSAgICAgIHNob3dQcml2YWN5Q29va2llc01lc3NhZ2UoKTsNCgkgICAgICB9CQ0KICAgIH0pOw0KDQp2YXIgZGF0YUxheWVyX2NyZWFtaV9leHRyYV93b3dfMTUwID0gZnVuY3Rpb24oKXsNCglkYXRhTGF5ZXIgPSAoew0KCQkndG91Y2hwb2ludCcgOiAnV0VCJywNCgkJJ2FsaWFzX3BhZ2UnIDogJ2FsaWFzX1NpbVBvc3RlbW9iaWxlX1RZUF9DTUInLA0KCQknc2l0ZV9zZWN0aW9uJyA6ICdBY3F1aXN0YSBjb24gT3BlcmF0b3JlIFBvc3RlbW9iaWxlJywNCgkJJ2NvbnRhdG9yZV9jbWInIDogJzEnLA0KCQknaW5mb19wcm9kb3R0b19zZXJ2aXppb19tb3Rpdm8nIDogJ2NyZWFtaSBleHRyYSB3b3cgMTUwJywNCgkJJ3RpdGxlX3BhZ2UnIDogJ1RoYW5rIFlvdSBQYWdlIC0gQ2FsbCBNZSBCYWNrJywNCgkJJ3NlY3Rpb24nIDogJ1RoYW5rIFlvdSBQYWdlICBDYWxsIE1lIEJhY2sgUG9zdGVtb2JpbGUnDQp9KTsNCndpbmRvdy5fc2F0ZWxsaXRlLnRyYWNrKCdkaXJlY3RfY2FsbF9TUEEnKTsNCn0NCg0KdmFyIGRhdGFMYXllcl9jcmVhbWlfZXh0cmFfd293XzMwMCA9IGZ1bmN0aW9uKCl7DQoJZGF0YUxheWVyID0gKHsNCgkJJ3RvdWNocG9pbnQnIDogJ1dFQicsDQoJCSdhbGlhc19wYWdlJyA6ICdhbGlhc19TaW1Qb3N0ZW1vYmlsZV9UWVBfQ01CJywNCgkJJ3NpdGVfc2VjdGlvbicgOiAnQWNxdWlzdGEgY29uIE9wZXJhdG9yZSBQb3N0ZW1vYmlsZScsDQoJCSdjb250YXRvcmVfY21iJyA6ICcxJywNCgkJJ2luZm9fcHJvZG90dG9fc2Vydml6aW9fbW90aXZvJyA6ICdjcmVhbWkgZXh0cmEgd293IDMwMCcsDQoJCSd0aXRsZV9wYWdlJyA6ICdUaGFuayBZb3UgUGFnZSAtIENhbGwgTWUgQmFjaycsDQoJCSdzZWN0aW9uJyA6ICdUaGFuayBZb3UgUGFnZSAgQ2FsbCBNZSBCYWNrIFBvc3RlbW9iaWxlJw0KfSk7DQp3aW5kb3cuX3NhdGVsbGl0ZS50cmFjaygnZGlyZWN0X2NhbGxfU1BBJyk7DQp9DQoJDQp2YXIgZGF0YUxheWVyX3RyZWNlbnRvX3Blcl9jZW50byA9IGZ1bmN0aW9uKCl7DQoJZGF0YUxheWVyID0gKHsNCgkJJ3RvdWNocG9pbnQnIDogJ1dFQicsDQoJCSdhbGlhc19wYWdlJyA6ICdhbGlhc19TaW1Qb3N0ZW1vYmlsZV9UWVBfQ01CJywNCgkJJ3NpdGVfc2VjdGlvbicgOiAnQWNxdWlzdGEgY29uIE9wZXJhdG9yZSBQb3N0ZW1vYmlsZScsDQoJCSdjb250YXRvcmVfY21iJyA6ICcxJywNCgkJJ2luZm9fcHJvZG90dG9fc2Vydml6aW9fbW90aXZvJyA6ICczMDAlIERpZ2l0YWwnLA0KCQkndGl0bGVfcGFnZScgOiAnVGhhbmsgWW91IFBhZ2UgLSBDYWxsIE1lIEJhY2snLA0KCQknc2VjdGlvbicgOiAnVGhhbmsgWW91IFBhZ2UgIENhbGwgTWUgQmFjayBQb3N0ZW1vYmlsZScNCn0pOw0Kd2luZG93Ll9zYXRlbGxpdGUudHJhY2soJ2RpcmVjdF9jYWxsX1NQQScpOw0KfQ0KDQp2YXIgZGF0YUxheWVyX1BNX3N1cGVyXzIwID0gZnVuY3Rpb24oKXsNCglkYXRhTGF5ZXIgPSAoew0KCQkndG91Y2hwb2ludCcgOiAnV0VCJywNCgkJJ2FsaWFzX3BhZ2UnIDogJ2FsaWFzX1NpbVBvc3RlbW9iaWxlX1RZUF9DTUInLA0KCQknc2l0ZV9zZWN0aW9uJyA6ICdBY3F1aXN0YSBjb24gT3BlcmF0b3JlIFBvc3RlbW9iaWxlJywNCgkJJ2NvbnRhdG9yZV9jbWInIDogJzEnLA0KCQknaW5mb19wcm9kb3R0b19zZXJ2aXppb19tb3Rpdm8nIDogJ1BNIFN1cGVyIDIwJywNCgkJJ3RpdGxlX3BhZ2UnIDogJ1RoYW5rIFlvdSBQYWdlIC0gQ2FsbCBNZSBCYWNrJywNCgkJJ3NlY3Rpb24nIDogJ1RoYW5rIFlvdSBQYWdlICBDYWxsIE1lIEJhY2sgUG9zdGVtb2JpbGUnDQp9KTsNCndpbmRvdy5fc2F0ZWxsaXRlLnRyYWNrKCdkaXJlY3RfY2FsbF9TUEEnKTsNCn0NCg0KdmFyIGRhdGFMYXllcl9Qb3N0ZU1vYmlsZV9VbmljYV9OZXcgPSBmdW5jdGlvbigpew0KCWRhdGFMYXllciA9ICh7DQoJCSd0b3VjaHBvaW50JyA6ICdXRUInLA0KCQknYWxpYXNfcGFnZScgOiAnYWxpYXNfU2ltUG9zdGVtb2JpbGVfVFlQX0NNQicsDQoJCSdzaXRlX3NlY3Rpb24nIDogJ0FjcXVpc3RhIGNvbiBPcGVyYXRvcmUgUG9zdGVtb2JpbGUnLA0KCQknY29udGF0b3JlX2NtYicgOiAnMScsDQoJCSdpbmZvX3Byb2RvdHRvX3NlcnZpemlvX21vdGl2bycgOiAnUG9zdGVNb2JpbGUgVW5pY2EgTmV3JywNCgkJJ3RpdGxlX3BhZ2UnIDogJ1RoYW5rIFlvdSBQYWdlIC0gQ2FsbCBNZSBCYWNrJywNCgkJJ3NlY3Rpb24nIDogJ1RoYW5rIFlvdSBQYWdlICBDYWxsIE1lIEJhY2sgUG9zdGVtb2JpbGUnDQp9KTsNCndpbmRvdy5fc2F0ZWxsaXRlLnRyYWNrKCdkaXJlY3RfY2FsbF9TUEEnKTsNCn0NCg0KdmFyIGRhdGFMYXllcl82X3hfdHV0dGkgPSBmdW5jdGlvbigpew0KCWRhdGFMYXllciA9ICh7DQoJCSd0b3VjaHBvaW50JyA6ICdXRUInLA0KCQknYWxpYXNfcGFnZScgOiAnYWxpYXNfU2ltUG9zdGVtb2JpbGVfVFlQX0NNQicsDQoJCSdzaXRlX3NlY3Rpb24nIDogJ0FjcXVpc3RhIGNvbiBPcGVyYXRvcmUgUG9zdGVtb2JpbGUnLA0KCQknY29udGF0b3JlX2NtYicgOiAnMScsDQoJCSdpbmZvX3Byb2RvdHRvX3NlcnZpemlvX21vdGl2bycgOiAnNiB4IFR1dHRpJywNCgkJJ3RpdGxlX3BhZ2UnIDogJ1RoYW5rIFlvdSBQYWdlIC0gQ2FsbCBNZSBCYWNrJywNCgkJJ3NlY3Rpb24nIDogJ1RoYW5rIFlvdSBQYWdlICBDYWxsIE1lIEJhY2sgUG9zdGVtb2JpbGUnDQp9KTsNCndpbmRvdy5fc2F0ZWxsaXRlLnRyYWNrKCdkaXJlY3RfY2FsbF9TUEEnKTsNCn0NCg0KdmFyIGRhdGFMYXllcl9jcmVhbWlfZXh0cmFfd293XzMwID0gZnVuY3Rpb24oKXsNCglkYXRhTGF5ZXIgPSAoew0KCQkndG91Y2hwb2ludCcgOiAnV0VCJywNCgkJJ2FsaWFzX3BhZ2UnIDogJ2FsaWFzX1NpbVBvc3RlbW9iaWxlX1RZUF9DTUInLA0KCQknc2l0ZV9zZWN0aW9uJyA6ICdBY3F1aXN0YSBjb24gT3BlcmF0b3JlIFBvc3RlbW9iaWxlJywNCgkJJ2NvbnRhdG9yZV9jbWInIDogJzEnLA0KCQknaW5mb19wcm9kb3R0b19zZXJ2aXppb19tb3Rpdm8nIDogJ0NyZWFtaSBFeHRyYSBXb3cgMzAnLA0KCQkndGl0bGVfcGFnZScgOiAnVGhhbmsgWW91IFBhZ2UgLSBDYWxsIE1lIEJhY2snLA0KCQknc2VjdGlvbicgOiAnVGhhbmsgWW91IFBhZ2UgIENhbGwgTWUgQmFjayBQb3N0ZW1vYmlsZScNCn0pOw0Kd2luZG93Ll9zYXRlbGxpdGUudHJhY2soJ2RpcmVjdF9jYWxsX1NQQScpOw0KfQ0KDQp2YXIgZGF0YUxheWVyX2NyZWFtaV9leHRyYV93b3cgPSBmdW5jdGlvbigpew0KCWRhdGFMYXllciA9ICh7DQoJCSd0b3VjaHBvaW50JyA6ICdXRUInLA0KCQknYWxpYXNfcGFnZScgOiAnYWxpYXNfU2ltUG9zdGVtb2JpbGVfVFlQX0NNQicsDQoJCSdzaXRlX3NlY3Rpb24nIDogJ0FjcXVpc3RhIGNvbiBPcGVyYXRvcmUgUG9zdGVtb2JpbGUnLA0KCQknY29udGF0b3JlX2NtYicgOiAnMScsDQoJCSdpbmZvX3Byb2RvdHRvX3NlcnZpemlvX21vdGl2bycgOiAnQ3JlYW1pIEV4dHJhIFdvdycsDQoJCSd0aXRsZV9wYWdlJyA6ICdUaGFuayBZb3UgUGFnZSAtIENhbGwgTWUgQmFjaycsDQoJCSdzZWN0aW9uJyA6ICdUaGFuayBZb3UgUGFnZSAgQ2FsbCBNZSBCYWNrIFBvc3RlbW9iaWxlJw0KfSk7DQp3aW5kb3cuX3NhdGVsbGl0ZS50cmFjaygnZGlyZWN0X2NhbGxfU1BBJyk7DQp9DQoNCnZhciBkYXRhTGF5ZXJfY3JlYW1pX3N0eWxlID0gZnVuY3Rpb24oKXsNCglkYXRhTGF5ZXIgPSAoew0KCQkndG91Y2hwb2ludCcgOiAnV0VCJywNCgkJJ2FsaWFzX3BhZ2UnIDogJ2FsaWFzX1NpbVBvc3RlbW9iaWxlX1RZUF9DTUInLA0KCQknc2l0ZV9zZWN0aW9uJyA6ICdBY3F1aXN0YSBjb24gT3BlcmF0b3JlIFBvc3RlbW9iaWxlJywNCgkJJ2NvbnRhdG9yZV9jbWInIDogJzEnLA0KCQknaW5mb19wcm9kb3R0b19zZXJ2aXppb19tb3Rpdm8nIDogJ0NyZWFtaSBTdHlsZScsDQoJCSd0aXRsZV9wYWdlJyA6ICdUaGFuayBZb3UgUGFnZSAtIENhbGwgTWUgQmFjaycsDQoJCSdzZWN0aW9uJyA6ICdUaGFuayBZb3UgUGFnZSAgQ2FsbCBNZSBCYWNrIFBvc3RlbW9iaWxlJw0KfSk7DQp3aW5kb3cuX3NhdGVsbGl0ZS50cmFjaygnZGlyZWN0X2NhbGxfU1BBJyk7DQp9DQoNCnZhciBkYXRhTGF5ZXJfY3JlYW1pX3dvd18xMCA9IGZ1bmN0aW9uKCl7DQoJZGF0YUxheWVyID0gKHsNCgkJJ3RvdWNocG9pbnQnIDogJ1dFQicsDQoJCSdhbGlhc19wYWdlJyA6ICdhbGlhc19TaW1Qb3N0ZW1vYmlsZV9UWVBfQ01CJywNCgkJJ3NpdGVfc2VjdGlvbicgOiAnQWNxdWlzdGEgY29uIE9wZXJhdG9yZSBQb3N0ZW1vYmlsZScsDQoJCSdjb250YXRvcmVfY21iJyA6ICcxJywNCgkJJ2luZm9fcHJvZG90dG9fc2Vydml6aW9fbW90aXZvJyA6ICdDcmVhbWkgV293IDEwJywNCgkJJ3RpdGxlX3BhZ2UnIDogJ1RoYW5rIFlvdSBQYWdlIC0gQ2FsbCBNZSBCYWNrJywNCgkJJ3NlY3Rpb24nIDogJ1RoYW5rIFlvdSBQYWdlICBDYWxsIE1lIEJhY2sgUG9zdGVtb2JpbGUnDQp9KTsNCndpbmRvdy5fc2F0ZWxsaXRlLnRyYWNrKCdkaXJlY3RfY2FsbF9TUEEnKTsNCn0NCg0KdmFyIGRhdGFMYXllcl9jcmVhbWlfd293XzEwX2xpbWl0ZWRfZWRpdGlvbiA9IGZ1bmN0aW9uKCl7DQoJZGF0YUxheWVyID0gKHsNCgkJJ3RvdWNocG9pbnQnIDogJ1dFQicsDQoJCSdhbGlhc19wYWdlJyA6ICdhbGlhc19TaW1Qb3N0ZW1vYmlsZV9UWVBfQ01CJywNCgkJJ3NpdGVfc2VjdGlvbicgOiAnQWNxdWlzdGEgY29uIE9wZXJhdG9yZSBQb3N0ZW1vYmlsZScsDQoJCSdjb250YXRvcmVfY21iJyA6ICcxJywNCgkJJ2luZm9fcHJvZG90dG9fc2Vydml6aW9fbW90aXZvJyA6ICdDcmVhbWkgV293IDEwIExpbWl0ZWQgRWRpdGlvbicsDQoJCSd0aXRsZV9wYWdlJyA6ICdUaGFuayBZb3UgUGFnZSAtIENhbGwgTWUgQmFjaycsDQoJCSdzZWN0aW9uJyA6ICdUaGFuayBZb3UgUGFnZSAgQ2FsbCBNZSBCYWNrIFBvc3RlbW9iaWxlJw0KfSk7DQp3aW5kb3cuX3NhdGVsbGl0ZS50cmFjaygnZGlyZWN0X2NhbGxfU1BBJyk7DQp9DQoNCnZhciBkYXRhTGF5ZXJfY3JlYW1pX3dvd181ID0gZnVuY3Rpb24oKXsNCglkYXRhTGF5ZXIgPSAoew0KCQkndG91Y2hwb2ludCcgOiAnV0VCJywNCgkJJ2FsaWFzX3BhZ2UnIDogJ2FsaWFzX1NpbVBvc3RlbW9iaWxlX1RZUF9DTUInLA0KCQknc2l0ZV9zZWN0aW9uJyA6ICdBY3F1aXN0YSBjb24gT3BlcmF0b3JlIFBvc3RlbW9iaWxlJywNCgkJJ2NvbnRhdG9yZV9jbWInIDogJzEnLA0KCQknaW5mb19wcm9kb3R0b19zZXJ2aXppb19tb3Rpdm8nIDogJ0NyZWFtaSBXb3cgNScsDQoJCSd0aXRsZV9wYWdlJyA6ICdUaGFuayBZb3UgUGFnZSAtIENhbGwgTWUgQmFjaycsDQoJCSdzZWN0aW9uJyA6ICdUaGFuayBZb3UgUGFnZSAgQ2FsbCBNZSBCYWNrIFBvc3RlbW9iaWxlJw0KfSk7DQp3aW5kb3cuX3NhdGVsbGl0ZS50cmFjaygnZGlyZWN0X2NhbGxfU1BBJyk7DQp9DQoNCnZhciBkYXRhTGF5ZXJfY3JlYW1pX3dlX2JhY2sgPSBmdW5jdGlvbigpew0KCWRhdGFMYXllciA9ICh7DQoJCSd0b3VjaHBvaW50JyA6ICdXRUInLA0KCQknYWxpYXNfcGFnZScgOiAnYWxpYXNfU2ltUG9zdGVtb2JpbGVfVFlQX0NNQicsDQoJCSdzaXRlX3NlY3Rpb24nIDogJ0FjcXVpc3RhIGNvbiBPcGVyYXRvcmUgUG9zdGVtb2JpbGUnLA0KCQknY29udGF0b3JlX2NtYicgOiAnMScsDQoJCSdpbmZvX3Byb2RvdHRvX3NlcnZpemlvX21vdGl2bycgOiAnQ3JlYW1pIFdlIEJhY2snLA0KCQkndGl0bGVfcGFnZScgOiAnVGhhbmsgWW91IFBhZ2UgLSBDYWxsIE1lIEJhY2snLA0KCQknc2VjdGlvbicgOiAnVGhhbmsgWW91IFBhZ2UgIENhbGwgTWUgQmFjayBQb3N0ZW1vYmlsZScNCn0pOw0Kd2luZG93Ll9zYXRlbGxpdGUudHJhY2soJ2RpcmVjdF9jYWxsX1NQQScpOw0KfQ0KDQp2YXIgZGF0YUxheWVyX3Bvc3RlbW9iaWxlX2Nhc2Ffd2ViID0gZnVuY3Rpb24oKXsNCglkYXRhTGF5ZXIgPSAoew0KCQkndG91Y2hwb2ludCcgOiAnV0VCJywNCgkJJ2FsaWFzX3BhZ2UnIDogJ2FsaWFzX1NpbVBvc3RlbW9iaWxlX1RZUF9DTUInLA0KCQknc2l0ZV9zZWN0aW9uJyA6ICdBY3F1aXN0YSBjb24gT3BlcmF0b3JlIFBvc3RlbW9iaWxlJywNCgkJJ2NvbnRhdG9yZV9jbWInIDogJzEnLA0KCQknaW5mb19wcm9kb3R0b19zZXJ2aXppb19tb3Rpdm8nIDogJ1Bvc3RlTW9iaWxlIENhc2EgV2ViJywNCgkJJ3RpdGxlX3BhZ2UnIDogJ1RoYW5rIFlvdSBQYWdlIC0gQ2FsbCBNZSBCYWNrJywNCgkJJ3NlY3Rpb24nIDogJ1RoYW5rIFlvdSBQYWdlICBDYWxsIE1lIEJhY2sgUG9zdGVtb2JpbGUnDQp9KTsNCndpbmRvdy5fc2F0ZWxsaXRlLnRyYWNrKCdkaXJlY3RfY2FsbF9TUEEnKTsNCn0NCg0KdmFyIGRhdGFMYXllcl9jcmVhbWlfZXh0cmFfd293XzUwID0gZnVuY3Rpb24oKXsNCglkYXRhTGF5ZXIgPSAoew0KCQkndG91Y2hwb2ludCcgOiAnV0VCJywNCgkJJ2FsaWFzX3BhZ2UnIDogJ2FsaWFzX1NpbVBvc3RlbW9iaWxlX1RZUF9DTUInLA0KCQknc2l0ZV9zZWN0aW9uJyA6ICdBY3F1aXN0YSBjb24gT3BlcmF0b3JlIFBvc3RlbW9iaWxlJywNCgkJJ2NvbnRhdG9yZV9jbWInIDogJzEnLA0KCQknaW5mb19wcm9kb3R0b19zZXJ2aXppb19tb3Rpdm8nIDogJ0NyZWFtaSBFeHRyYSBXb3cgNTAnLA0KCQkndGl0bGVfcGFnZScgOiAnVGhhbmsgWW91IFBhZ2UgLSBDYWxsIE1lIEJhY2snLA0KCQknc2VjdGlvbicgOiAnVGhhbmsgWW91IFBhZ2UgIENhbGwgTWUgQmFjayBQb3N0ZW1vYmlsZScNCn0pOw0Kd2luZG93Ll9zYXRlbGxpdGUudHJhY2soJ2RpcmVjdF9jYWxsX1NQQScpOw0KfQ0KDQp2YXIgZGF0YUxheWVyX2NyZWFtaV93b3dfNTAgPSBmdW5jdGlvbigpew0KCWRhdGFMYXllciA9ICh7DQoJCSd0b3VjaHBvaW50JyA6ICdXRUInLA0KCQknYWxpYXNfcGFnZScgOiAnYWxpYXNfU2ltUG9zdGVtb2JpbGVfVFlQX0NNQicsDQoJCSdzaXRlX3NlY3Rpb24nIDogJ0FjcXVpc3RhIGNvbiBPcGVyYXRvcmUgUG9zdGVtb2JpbGUnLA0KCQknY29udGF0b3JlX2NtYicgOiAnMScsDQoJCSdpbmZvX3Byb2RvdHRvX3NlcnZpemlvX21vdGl2bycgOiAnQ3JlYW1pIFdvdyA1MCcsDQoJCSd0aXRsZV9wYWdlJyA6ICdUaGFuayBZb3UgUGFnZSAtIENhbGwgTWUgQmFjaycsDQoJCSdzZWN0aW9uJyA6ICdUaGFuayBZb3UgUGFnZSAgQ2FsbCBNZSBCYWNrIFBvc3RlbW9iaWxlJw0KfSk7DQp3aW5kb3cuX3NhdGVsbGl0ZS50cmFjaygnZGlyZWN0X2NhbGxfU1BBJyk7DQp9DQoNCnZhciBkYXRhTGF5ZXJfY3JlYW1pX3dvd193ZWVrZW5kXzMwID0gZnVuY3Rpb24oKXsNCglkYXRhTGF5ZXIgPSAoew0KCQkndG91Y2hwb2ludCcgOiAnV0VCJywNCgkJJ2FsaWFzX3BhZ2UnIDogJ2FsaWFzX1NpbVBvc3RlbW9iaWxlX1RZUF9DTUInLA0KCQknc2l0ZV9zZWN0aW9uJyA6ICdBY3F1aXN0YSBjb24gT3BlcmF0b3JlIFBvc3RlbW9iaWxlJywNCgkJJ2NvbnRhdG9yZV9jbWInIDogJzEnLA0KCQknaW5mb19wcm9kb3R0b19zZXJ2aXppb19tb3Rpdm8nIDogJ0NyZWFtaSBXb3cgV2Vla2VuZCAzMCcsDQoJCSd0aXRsZV9wYWdlJyA6ICdUaGFuayBZb3UgUGFnZSAtIENhbGwgTWUgQmFjaycsDQoJCSdzZWN0aW9uJyA6ICdUaGFuayBZb3UgUGFnZSAgQ2FsbCBNZSBCYWNrIFBvc3RlbW9iaWxlJw0KfSk7DQp3aW5kb3cuX3NhdGVsbGl0ZS50cmFjaygnZGlyZWN0X2NhbGxfU1BBJyk7DQp9DQoNCnZhciBkYXRhTGF5ZXJfUE1fc3VwZXJfcG93ZXJfMjAgPSBmdW5jdGlvbigpew0KCWRhdGFMYXllciA9ICh7DQoJCSd0b3VjaHBvaW50JyA6ICdXRUInLA0KCQknYWxpYXNfcGFnZScgOiAnYWxpYXNfU2ltUG9zdGVtb2JpbGVfVFlQX0NNQicsDQoJCSdzaXRlX3NlY3Rpb24nIDogJ0FjcXVpc3RhIGNvbiBPcGVyYXRvcmUgUG9zdGVtb2JpbGUnLA0KCQknY29udGF0b3JlX2NtYicgOiAnMScsDQoJCSdpbmZvX3Byb2RvdHRvX3NlcnZpemlvX21vdGl2bycgOiAnUE0gU3VwZXIgUG93ZXIgMjAnLA0KCQkndGl0bGVfcGFnZScgOiAnVGhhbmsgWW91IFBhZ2UgLSBDYWxsIE1lIEJhY2snLA0KCQknc2VjdGlvbicgOiAnVGhhbmsgWW91IFBhZ2UgIENhbGwgTWUgQmFjayBQb3N0ZW1vYmlsZScNCn0pOw0Kd2luZG93Ll9zYXRlbGxpdGUudHJhY2soJ2RpcmVjdF9jYWxsX1NQQScpOw0KfQ0KDQoNCjwvc2NyaXB0Pg0KDQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KQGZvbnQtZmFjZSB7DQogIGZvbnQtZmFtaWx5OiAnVGV4dGEnOw0KICBzcmM6IHVybCgiL0NsaWVudExpYnJhcnkvZm9udHMvdGV4dGEvVGV4dGEtTGlnaHQvVGV4dGEtTGlnaHQuZW90Iik7DQogIC8qIElFOSBDb21wYXQgTW9kZXMgKi8NCiAgc3JjOiB1cmwoIi9DbGllbnRMaWJyYXJ5L2ZvbnRzL3RleHRhL1RleHRhLUxpZ2h0L1RleHRhLUxpZ2h0LmVvdD8jaWVmaXgiKSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksIHVybCgiL0NsaWVudExpYnJhcnkvZm9udHMvdGV4dGEvVGV4dGEtTGlnaHQvVGV4dGEtTGlnaHQud29mZiIpIGZvcm1hdCgid29mZiIpLCB1cmwoIi9DbGllbnRMaWJyYXJ5L2ZvbnRzL3RleHRhL1RleHRhLUxpZ2h0L1RleHRhLUxpZ2h0LnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKSwgdXJsKCIvQ2xpZW50TGlicmFyeS9mb250cy90ZXh0YS9UZXh0YS1MaWdodC9UZXh0YS1MaWdodC5zdmcjVGV4dGEtTGlnaHQiKSBmb3JtYXQoInN2ZyIpOw0KICAvKiBMZWdhY3kgaU9TICovDQogIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgZm9udC13ZWlnaHQ6IDIwMDsNCiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsNCn0NCg0KICNwbTE1X2Nvb2tpZV9pbmZvIHsNCglwb3NpdGlvbjogZml4ZWQ7DQoJei1pbmRleDogMTIwMDAwMDsNCglib3R0b206IDA7DQoJbGVmdDogMDsNCgl3aWR0aDogMTAwJTsNCglmb250LWZhbWlseTogIlRleHRhIiwgQXJpYWwsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOiAxMnB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmZmY7DQoJY29sb3I6ICMyMjI0Mjc7DQoJcGFkZGluZzogMDsNCglib3JkZXItcmFkaXVzOiAwcHg7CSAgDQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCg0KLnBtMjAtY29uc2VudC1jb250ZW50IHsNCglvdmVyZmxvdzogaGlkZGVuOw0KCW1heC1oZWlnaHQ6IDQ5cHg7DQoJbWluLXdpZHRoOiAzMDBweDsNCgl3aWR0aDogMTAwJTsNCgltYXgtd2lkdGg6IDEzMjBweDsNCglkaXNwbGF5OiB0YWJsZTsNCgltYXJnaW46IDAgYXV0bzsNCn0NCg0KLnBtMjAtdGV4dCB7DQoJd2lkdGg6IGF1dG87DQoJZGlzcGxheTogdGFibGUtY2VsbDsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KCXBhZGRpbmc6IDEwcHggMTBweCAxMnB4IDE1cHg7DQoJdGV4dC1hbGlnbjogbGVmdDsNCn0NCg0KLnBtMjAtdGV4dCB7DQoJZm9udC1mYW1pbHk6ICJUZXh0YSIsIEFyaWFsLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogMTVweDsNCgljb2xvcjogIzIyMjQyNzsNCglsZXR0ZXItc3BhY2luZzogMDsNCglsaW5lLWhlaWdodDogMjBweDsNCn0NCg0KLnBtMjAtYnV0dG9udGV4dCB7DQoJZm9udC1mYW1pbHk6ICJUZXh0YSIsIEFyaWFsLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogMTVweDsNCgljb2xvcjogIzIyMjQyNzsNCglib3JkZXI6IG5vbmU7DQoJdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDsNCgljdXJzb3I6IHBvaW50ZXI7DQoJbGV0dGVyLXNwYWNpbmc6IDBweDsNCglfbGluZS1oZWlnaHQ6IDQwcHg7DQoJbWFyZ2luLXJpZ2h0OiAwcHg7DQoJZm9udC13ZWlnaHQ6Ym9sZGVyOw0KfQ0KDQoucG0yMC1idXR0b250ZXh0OmhvdmVyIHsNCgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCgljb2xvcjogIzIyMjQyNzsNCn0NCg0KLnBtMjAtY2xvc2Ugew0KCWZvbnQtZmFtaWx5OiAiVGV4dGEiLCBBcmlhbCwgc2Fucy1zZXJpZjsNCglmb250LXNpemU6IDEycHg7DQoJY29sb3I6ICMyMjI0Mjc7DQoJYmFja2dyb3VuZDogI2VlZGMwMDsNCglib3JkZXI6IG5vbmU7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KCWN1cnNvcjogcG9pbnRlcjsNCglwYWRkaW5nOiAxMHB4IDE1cHg7DQoJYm9yZGVyOiAwcHggbm9uZTsNCgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KCWJvcmRlci1yYWRpdXM6IDVweDsNCglsZXR0ZXItc3BhY2luZzogLjVweDsNCglmbG9hdDogcmlnaHQ7DQoJbWFyZ2luOiA1MHB4IDEwcHg7DQoJd2hpdGUtc3BhY2U6IG5vd3JhcDsNCn0NCg0KLmNsb3NlQ29va2llTm9uQWNjZXR0byB7DQoJZm9udC1mYW1pbHk6ICJUZXh0YSIsIEFyaWFsLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogMTJweDsNCgljb2xvcjogIzIyMjQyNzsNCgliYWNrZ3JvdW5kOiAjZWVkYzAwOw0KCWJvcmRlcjogbm9uZTsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXBhZGRpbmc6IDEwcHggMTVweDsNCglib3JkZXI6IDBweCBub25lOw0KCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQoJYm9yZGVyLXJhZGl1czogNXB4Ow0KCWxldHRlci1zcGFjaW5nOiAuNXB4Ow0KCWZsb2F0OiByaWdodDsNCgltYXJnaW46IDUwcHggMTBweDsNCgl3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQoucG0yMC1jbG9zZTpob3ZlciB7DQoJYmFja2dyb3VuZDogI2ZmZWMwMDsNCgljb2xvcjogIzIyMjQyNzsNCn0NCg0KLmNsb3NlQ29va2llTm9uQWNjZXR0bzpob3ZlciB7DQoJYmFja2dyb3VuZDogI2ZmZWMwMDsNCgljb2xvcjogIzIyMjQyNzsNCn0NCg0KLnBtMjAtY29va2llLWxpbmsgew0KCWNvbG9yOiAjMjIyNDI3Ow0KCXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KCXRleHQtZGVjb3JhdGlvbi1jb2xvcjogI2UxMDYwMCFpbXBvcnRhbnQ7DQoJX2xpbmUtaGVpZ2h0OiA0MHB4Ow0KfQ0KDQoucG0yMC1jb29raWUtbGluazpob3ZlciB7DQoJdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQoJdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjZTEwNjAwIWltcG9ydGFudDsNCgljb2xvcjogIzIyMjQyNzsNCn0NCg0KLnBtMjAtdGl0bGUgew0KCV9mb250LXNpemU6IDE4cHg7DQoJY29sb3I6ICMyMjI0Mjc7DQoJZm9udC1mYW1pbHk6ICJUZXh0YSIsIEFyaWFsLCBzYW5zLXNlcmlmOw0KCWxldHRlci1zcGFjaW5nOiAwOw0KCWxpbmUtaGVpZ2h0OiA0MHB4Ow0KCWZvbnQtd2VpZ2h0OiBib2xkZXI7DQp9DQoNCg0KLyogTU9CSUxFIE9OTFkgKi8NCg0KQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDUwcHgpIGFuZCAobWF4LXdpZHRoOiA3NDBweCkgew0KCS5wbTIwLWNsb3NlIHsNCgkJbWFyZ2luLXJpZ2h0OiA1cHg7DQoJCW1hcmdpbi1ib3R0b206IC0ycHg7DQoJCXRleHQtYWxpZ246IGNlbnRlcjsNCgkJZm9udC1mYW1pbHk6ICJUZXh0YSIsIEFyaWFsLCBzYW5zLXNlcmlmOw0KCQljb2xvcjogIzIyMjQyNzsNCgkJYmFja2dyb3VuZC1jb2xvcjogI2ZmZWMwMDsNCgkJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KCQljdXJzb3I6IHBvaW50ZXI7DQoJCW1hcmdpbjogMHB4IDBweCAwcHggMTVweDsNCgkJZmxvYXQ6IG5vbmU7DQoJCWNsZWFyOiBib3RoOw0KCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJfQ0KCS5wbTIwLXRleHQgew0KCQl3aWR0aDogYXV0bzsNCgkJZGlzcGxheTogYmxvY2s7DQoJCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQoJCXRleHQtYWxpZ246IGxlZnQ7DQoJfQ0KCS5wbTIwLWNvbnNlbnQtY29udGVudCB7DQoJCXRleHQtYWxpZ246IGxlZnQ7DQoJfQ0KCQ0KCS5jbG9zZUNvb2tpZU5vbkFjY2V0dG8gew0KCQltYXJnaW4tcmlnaHQ6IDVweDsNCgkJbWFyZ2luLWJvdHRvbTogLTJweDsNCgkJdGV4dC1hbGlnbjogY2VudGVyOw0KCQlmb250LWZhbWlseTogIlRleHRhIiwgQXJpYWwsIHNhbnMtc2VyaWY7DQoJCWNvbG9yOiAjMjIyNDI3Ow0KCQliYWNrZ3JvdW5kLWNvbG9yOiAjZmZlYzAwOw0KCQl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQoJCWN1cnNvcjogcG9pbnRlcjsNCgkJbWFyZ2luOiAwcHggMHB4IDBweCAxNXB4Ow0KCQlmbG9hdDogbm9uZTsNCgkJY2xlYXI6IGJvdGg7DQoJCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgl9DQp9DQoNCkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7DQoJLnBtMjAtdGV4dCB7DQoJCWZsb2F0OiBsZWZ0Ow0KCQl3aWR0aDogYXV0bzsNCgkJZm9udC1zaXplOjEzcHg7DQoJfQ0KCS5wbTIwLWNsb3NlIHsNCgkJZmxvYXQ6IGxlZnQ7DQoJCW1hcmdpbjogMHB4IDBweCAwcHggMTVweDsNCgkJdGV4dC1hbGlnbjogbGVmdDsNCgl9DQoJDQoJLmNsb3NlQ29va2llTm9uQWNjZXR0byB7DQoJCWZsb2F0OiBsZWZ0Ow0KCQltYXJnaW46IDBweCAwcHggMHB4IDE1cHg7DQoJCXRleHQtYWxpZ246IGxlZnQ7DQoJfQ0KCQ0KCS5wbTIwLWJ1dHRvbnRleHQgew0KCQlmb250LXNpemU6MTRweDsNCgl9DQoJDQoJI2Nsb3NlQ29va2llIHsNCiAgICBib3R0b206IDE1cHg7DQoJfQ0KfQ0KDQojY2xvc2VDb29raWUgew0KICAgIF9mbG9hdDpyaWdodDsNCiAgICBkaXNwbGF5OmlubGluZS1ibG9jazsNCiAgICBfcGFkZGluZzoycHggNXB4Ow0KCQltYXJnaW4tcmlnaHQ6MTVweDsNCgkJbWFyZ2luLXRvcDo4cHg7DQoJCWN1cnNvcjpwb2ludGVyOw0KCQlwb3NpdGlvbjphYnNvbHV0ZTsNCgkJcmlnaHQ6MDsNCn0NCg0KDQo8L3N0eWxlPg0KDQpkZAIEDw8WAh8ABQ4NCiAgDQogIA0KICANCmRkAgUPDxYCHwBlZGQCAw9kFgJmDw8WAh8ABaYFDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgDQogIA0KICANCiAgPCEtLQ0KRXZlbnQgc25pcHBldCBmb3IgRVhUUkEgV09XIDE1MEdCIC0gTFAgb24gd3d3LnBvc3RlbW9iaWxlLml0L29mZmVydGEtc2ltLXByb21vLWNyZWFtaS1leHRyYS13b3ctMTUwDQotLT4NCjxzY3JpcHQ+DQppZihpc1NjcmlwdFRyYWNrKCkpew0KICBndGFnKCdldmVudCcsICdjb252ZXJzaW9uJywgew0KICAgICdhbGxvd19jdXN0b21fc2NyaXB0cyc6IHRydWUsDQogICAgJ3NlbmRfdG8nOiAnREMtNjEwMjcxOC9leHRyYTAvZXh0cmEwK3VuaXF1ZScNCiAgfSk7DQp9DQo8L3NjcmlwdD4NCjwhLS0gRW5kIG9mIGV2ZW50IHNuaXBwZXQ6IFBsZWFzZSBkbyBub3QgcmVtb3ZlIC0tPg0KDQogIA0KZGQCBQ9kFgYCAw9kFgIFJmdfMWVkNzBlNjBfZmEzNF80MGMzX2I0MjFfZjVhYWFlZWI5ODdjD2QWAmYPDxYCHwAF5XY8ZGl2IGNsYXNzPSJzZWN0aW9uIj48ZGl2IGNsYXNzPSJwcmltb19ibG9jY29fMTAwXzUwMCBzY2hlZGFfcHJvZG90dG8iPjxkaXYgY2xhc3M9InN3aXBlci1jb250YWluZXIgc2xpZGVyLXByaW1vX2Jsb2Njb18xMDBfNTAwIj48dWwgY2xhc3M9InN3aXBlci13cmFwcGVyIj48bGkgY2xhc3M9InN3aXBlci1zbGlkZSI+PHBpY3R1cmU+PHNvdXJjZSBtZWRpYT0iKG1pbi13aWR0aDogNzY5cHgpIiBzcmNzZXQ9Ii9Qcml2YXRpL0ltZy8yMDI0L1Byb21vQ3JlYW1pRXh0cmFXT1cxNTAvcHJvbW8tY3JlYW1pLTE1MC1nYi1scC5qcGciIC8+PHNvdXJjZSBtZWRpYT0iKG1pbi13aWR0aDogMzIwcHgpIiBzcmNzZXQ9Ii9Qcml2YXRpL0ltZy8yMDI0L1Byb21vQ3JlYW1pRXh0cmFXT1cxNTAvcHJvbW8tY3JlYW1pLTE1MC1nYi1scC1tb2IuanBnIiAvPjxpbWcgY2xhc3M9InN3aXBlci1sYXp5IiBzcmM9Ii9Qcml2YXRpL0ltZy8yMDI0L1Byb21vQ3JlYW1pRXh0cmFXT1cxNTAvcHJvbW8tY3JlYW1pLTE1MC1nYi1scC5qcGciIGFsdD0iUHJvbW8gQ3JlYW1pIEVYVFJBIFdPVyAxNTAiIHRpdGxlPSJQcm9tbyBDcmVhbWkgRVhUUkEgV09XIDE1MCIgLz48L3BpY3R1cmU+PGRpdiBjbGFzcz0iYmxvY2NvX3RhcmlmZmFfYmlnIj48ZGl2IGNsYXNzPSJibG9jY29fdGFyaWZmYSI+PGRpdiBjbGFzcz0iZWxlbmNvX3RhcmlmZmVfMiI+PGgxPjxmb250IHNpemU9IjUiPlByb21vIENyZWFtaSBFWFRSQSBXT1cgMTUwPC9mb250PjwvaDE+PHA+RXNjbHVzaXZhIG9ubGluZQ0KPGJyPlZhbGlkYSBmaW5vIGFsIDMwLzA5LzIwMjQ8YnI+UGVyIG51b3ZpIGNsaWVudGk8L3A+PGRpdiBjbGFzcz0iZWxlbmNvX3RhcmlmZmVfZGV0dCIgc3R5bGU9InBhZGRpbmctdG9wOiAwcHg7cGFkZGluZy1ib3R0b206IDBweDsiPjxkaXY+Q3JlZGl0IHBlciBjaGlhbWF0ZSBlIFNNUzxzcGFuPklsbGltaXRhdGkqPC9zcGFuPjwvZGl2PjxkaXY+VHJhZmZpY28gZGF0aSBpbmNsdXNvPHNwYW4+IDxiPjE1MEdCPC9iPiBpbiA0Rys8YnI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNnB4Ij5maW5vIGEgMzAwTWJwczwvc3Bhbj48L3NwYW4+PC9kaXY+wqA8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJlbGVuY29fdGFyaWZmZV8zIj48ZGl2IGNsYXNzPSJwcm9tb19wcmV6em8iIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwcHg7Ij48ZGl2IGNsYXNzPSJpbl9wcm9tbyI+PHA+Q29zdG8gbWVuc2lsZTxzcGFuPiA8L3NwYW4+PC9wPjwvZGl2PjxkaXYgY2xhc3M9InByZXp6byI+PGRpdiBjbGFzcz0icHJlenpvIj48ZGl2IGNsYXNzPSJwcmV6em9fbnVvdm8iPjxzcGFuIGNsYXNzPSJldXJvIj4mZXVybzs8L3NwYW4+NjxzcGFuIGNsYXNzPSJkZWNpbWFsaSI+LDk5PC9zcGFuPjwvZGl2PjxkaXYgY2xhc3M9ImZyZXF1ZW56YSI+IDwvZGl2PjwvZGl2PsKgPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibGVnYWwtZGlzY2xhaW1lciI+PGZvbnQgc2l6ZT0iMiI+Q29zdG8gYXR0aXZhemlvbmUgT25saW5lOiAxMOKCrCBjb3N0byBTSU0gKyAxMOKCrCBwcmltYSByaWNhcmljYSBjb21wcmVuc2l2YSBkaSBwcmltbyBjYW5vbmUuPGI+KklsIHNlcnZpemlvIGUnIHNvZ2dldHRvIGEgY29uZGl6aW9uaSBkaTwvYj48L2ZvbnQ+ICA8YSBocmVmPScvUHJpdmF0aS9QYWdpbmUvRGlnaXRhbC9EZXR0YWdsaW9UYXJpZmZhLmFzcHg/dnc9Y29uZGl6aW9uaXVzb3BlcnNvbmFsZScgdGFyZ2V0PSdfYmxhbmsnID51c28gcGVyc29uYWxlPC9hPsKgPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9saT48L3VsPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24gc2NoZWRhX3Byb2RvdHRvIiBpZD0ic2NoZWRhX3Byb2RvdHRvIj48ZGl2IGNsYXNzPSJzY2hlZGFfcHJvZG90dG9fcGFkIj48ZGl2IGNsYXNzPSJzY2hlZGFfcHJvZG90dG9fMiI+PGEgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSBidG4tZXhwYW5kIiBocmVmPSIvQXJlYVByb3RldHRhL1BhZ2luZS9BY3F1aXN0YS9BY3F1aXN0YU9ubGluZS5hc3B4P29mPTI1Ij5BY3F1aXN0YSBPbmxpbmU8L2E+wqA8YSBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IGJ0bi1leHBhbmQiIGhyZWY9Ii9hcmVhcHJvdGV0dGEvYWNxdWlzdGEtcHJvbW8tY3JlYW1pLWV4dHJhLXdvdy0xNTAtY29uLW9wZXJhdG9yZSI+QWNxdWlzdGEgY29uIG9wZXJhdG9yZTwvYT7CoMKgPC9kaXY+PGRpdiBjbGFzcz0ic2NoZWRhX3Byb2RvdHRvXzEiPjxkaXYgY2xhc3M9ImNhcmF0dGVyaXN0aXNjaGUgdGVzdG9fZ2VzdGlvbmFsZSI+PGgyPlBlcmNow6kgc2NlZ2xpZXJlIFBvc3RlTW9iaWxlPC9oMj48dWwgY2xhc3M9InVsLWljb24iPjxsaSBjbGFzcz0icmV0ZS1jb3BlcnR1cmEiPjxoMz5SRVRFPC9oMz48dWw+PGxpPkkgc2Vydml6aSBkaSB0ZWxlZm9uaWEgbW9iaWxlIGUgY29ubmV0dGl2aXTDoCBpbnRlcm5ldCBzb25vIGVyb2dhdGkgdHJhbWl0ZSBhY2Nlc3NvIGFsbGEgcmV0ZSA0RysgZGkgVm9kYWZvbmUuPGJyIC8+VmVsb2NpdMOgIGRpIG5hdmlnYXppb25lIGludGVybmV0IGZpbm8gYSAzMDBNYnBzLjxiciAvPkNvcGVydHVyYSBkZWxsYSBwb3BvbGF6aW9uZSBpdGFsaWFuYSBzdSByZXRlIDRHOiBvbHRyZSBpbCA5OSUuPC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJzZXJ2aXppLWluY2x1c2kiPjxoMz5TRVJWSVpJIElOQ0xVU0kgU0VOWkEgQ09TVEkgQUdHSVVOVElWSTwvaDM+PHVsPjxsaT4iVGkgY2VyY28iIGUgIlJpY2hpYW1hIG9yYSIsIGF2dmlzbyBkaSBjaGlhbWF0YSBlIGNvbnRyb2xsbyBkZWwgY3JlZGl0byByZXNpZHVvIGFsIG51bWVybyA0MDEyMTIuPC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJob3RzcG90Ij48aDM+SE9UU1BPVCBJTkNMVVNPOiBDT05ESVZJREkgTEEgVFVBIENPTk5FU1NJT05FIElOVEVSTkVUPC9oMz48dWw+PGxpPlV0aWxpenphIGZhY2lsbWVudGUgaSB0dW9pIEdJR0EgcGVyIG5hdmlnYXJlIHN1IGludGVybmV0IGFuY2hlIGNvbiBhbHRyaSBkaXNwb3NpdGl2aSBlIHNlbnphIGNvc3RpIGFnZ2l1bnRpdmkuIDwvbGk+PC91bD48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0iY2FyYXR0ZXJpc3Rpc2NoZSB0ZXN0b19nZXN0aW9uYWxlIj48aDI+wqA8L2gyPjx1bCBjbGFzcz0idWwtaWNvbiI+PGxpIGNsYXNzPSJzZXJ2aXppLWluY2x1c2kiPjxoMz5SSUNPUkRBIERJIEFWRVJFIENSRURJVE8gU1VMTEEgU0lNIFBFUiBSSU5OT1ZBUkUgTOKAmU9GRkVSVEEuIDwvaDM+PHVsPjxsaT5TZSBub24gcmlubm92aSBwYWdoaTogMThjZW50L21pbiwgMTJjZW50L1NNUyBlLCBzZSBoYWkgbGEgdGFyaWZmYSBkYXRpIGJhc2UgYWJpbGl0YXRhLCAyIGV1cm8gYWwgZ2lvcm5vIHBlciA1MDBNQiBhbGxhIHByaW1hIGNvbm5lc3Npb25lLiBTZSBoYWkgbGEgdGFyaWZmYSBkYXRpIGJhc2UgZGlzYWJpbGl0YXRhIG5vbiBwb3RyYWkgZWZmZXR0dWFyZSB0cmFmZmljbyBkYXRpIGZpbm8gYWwgcmlubm92byBkZWxsYSB0dWEgb2ZmZXJ0YS4gUGVyIDxzdHJvbmc+YWJpbGl0YXJlL2Rpc2FiaWxpdGFyZSBsYSBuYXZpZ2F6aW9uZSBpbnRlcm5ldCBhIGNvbnN1bW8gPC9zdHJvbmc+YWxsYSB0YXJpZmZhIGRhdGkgYmFzZSBnaW9ybmFsaWVyYSwgaW52aWEgdW4gU01TIGdyYXR1aXRvIGFsIDQwNzExNjAgY29uIHRlc3RvIE5PIEJMT0NDTy9TSSBCTE9DQ08sIGFjY2VkaSBhbGxhIHR1YSBhcmVhIHBlcnNvbmFsZSBkZWwgc2l0byBQb3N0ZVBheSwgY2hpYW1hIGlsIDE2MCBvIGRhIEFwcCBQb3N0ZVBheS4gUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSwgdmlzaXRhIGxhIHBhZ2luYSA8YSBocmVmPSJodHRwOi8vd3d3LnBvc3RlbW9iaWxlLml0L29wemlvbmUtYmxvY2NvLXRhcmlmZmEtZGF0aS1iYXNlLWdpb3JuYWxpZXJhIj5PcHppb25lIGJsb2NjbyB0YXJpZmZhIGRhdGkgYmFzZSBnaW9ybmFsaWVyYSA8L2E+byBsZSA8YSBocmVmPSJodHRwOi8vd3d3LnBvc3RlbW9iaWxlLml0L2Fzc2lzdGVuemEvY29tZS1wb3NzbyI+RkFRPC9hPi48L2xpPjwvdWw+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InNjb3ByaV9waXVfMTAwIHRlc3RvX2dlc3Rpb25hbGUiPjxkaXYgY2xhc3M9ImFjY29yZGlvbiI+PGRpdiBjbGFzcz0iYm94LWFjY29yZGlvbiI+PGgzPlRlcm1pbmkgZSBDb25kaXppb25pPC9oMz48ZGl2IGNsYXNzPSJjb2xsYXBzZSI+PHA+PHN0cm9uZz4mbGRxdW87UHJvbW8gQ3JlYW1pIEVYVFJBIFdPVyAxNTAmcmRxdW87PC9zdHJvbmc+Jm5ic3A7JmVncmF2ZTsgZGlzcG9uaWJpbGUgcGVyIHR1dHRpIGkgbnVvdmkgY2xpZW50aSBwcml2YXRpIGUgdGl0b2xhcmkgZGkgcGFydGl0YSBJVkEgZSBwcmV2ZWRlIGNyZWRpdCBpbGxpbWl0YXRpIHBlciBjaGlhbWF0ZSBlIFNNUyBlIDE1MCBnaWdhIGFsIG1lc2UgKGNoZSBjb3JyaXNwb25kb25vIGEgMTUzLjYwMCBjcmVkaXQpIHBlciBuYXZpZ2FyZSBpbiBpbnRlcm5ldC48L3A+DQo8cD5PZ25pIG1lc2UsIHJpc3BldHRvIGFpIDEwIGdpZ2EgaW5jbHVzaSBuZWwgcGlhbm8gc3RhbmRhcmQsIHZpZW5lIGVyb2dhdG8gdW4gYm9udXMgZGkgMTQwIGdpZ2EgYWdnaXVudGl2aSwgZXJvZ2F0aSBlbnRybyAyNCBvcmUgZGFsbCZyc3F1bzthdHRpdmF6aW9uZSBkZWxsYSBTSU0gcGVyIGlsIDEmZGVnOyBtZXNlIGUgYSBwYXJ0aXJlIGRhbCAyJmRlZzsgbWVzZSBjb250ZXN0dWFsbWVudGUgYWwgcmlubm92byBkZWwgcGlhbm8uJm5ic3A7IElsIGNvc3RvIGRlbCBwaWFubyAmZWdyYXZlOyBkaSA2LDk5IGV1cm8gZSB2aWVuZSBhZGRlYml0YXRvIHN1bCBjcmVkaXRvIHJlc2lkdW8gZGVsbGEgU0lNIGFsIG1vbWVudG8gZGVsbCZyc3F1bzthdHRpdmF6aW9uZSBlIHBvaSBvZ25pIG1lc2UuPC9wPg0KPHA+PHN0cm9uZz5QZXIgYWRlcmlyZSBhbGwmcnNxdW87b2ZmZXJ0YSAmZWdyYXZlOyAmbmJzcDtuZWNlc3NhcmlvIGF0dGl2YXJlIHVuYSBudW92YSBTSU0gUmljYXJpY2FiaWxlPC9zdHJvbmc+PHN0cm9uZz4gb25saW5lIG8gZGEgY2FuYWxlIHRlbGVmb25pY288L3N0cm9uZz4gPHN0cm9uZz5lbnRybyBpbCAzMC8wOS8yMDI0LCBzZW56YSB2aW5jb2xvIGRpIHBvcnRhYmlsaXQmYWdyYXZlOy4gPC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5MYSBTSU0gaGEgdW4gY29zdG8gZGkgMTAgZXVyby4gRSZyc3F1bzsgcHJldmlzdGEgdW5hIHJpY2FyaWNhIGluaXppYWxlIGRpIDEwIGV1cm8gY2hlIGNvcHJlIGlsIGNhbm9uZSBkZWwgcHJpbW8gbWVzZS48L3N0cm9uZz48L3A+DQo8cD48c3Ryb25nPkxhIHNwZWRpemlvbmUgZGVsbGEgU0lNICZlZ3JhdmU7IGdyYXR1aXRhLjwvc3Ryb25nPjwvcD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+SSBjcmVkaXQgaWxsaW1pdGF0aSBwb3Nzb25vIGVzc2VyZSB1dGlsaXp6YXRpIHBlciBjaGlhbWF0ZSBlIFNNUyAmbmJzcDttYSBub24gcGVyIGkgc2Vydml6aSBhIHNvdnJhcHByZXp6byBlIHBlciBpIHNlcnZpemkgZGkgZ2VzdGlvbmUgY2hpYW1hdGUuIEkgY3JlZGl0IG5vbiB1dGlsaXp6YXRpIG5lbCBwZXJpb2RvIGRpIHJpZmVyaW1lbnRvIGFuZHJhbm5vIHBlcnNpLiBQZXIgbGEgbmF2aWdhemlvbmUgaW50ZXJuZXQgY2lhc2N1biBjcmVkaXQgdmllbmUgc2NhbGF0byBhbCByYWdnaXVuZ2ltZW50byBkaSAxTUIgZGkgbmF2aWdhemlvbmUuIEFsbCZyc3F1bztlc2F1cmltZW50byBkZWkgZ2lnYSBkZWwgcGlhbm8gbGEgbmF2aWdhemlvbmUgaW50ZXJuZXQgc2FyJmFncmF2ZTsgYmxvY2NhdGEuPC9wPg0KPHA+JkVncmF2ZTsgcG9zc2liaWxlIGFjcXVpc3RhcmUgaW4gcXVhbHNpYXNpIG1vbWVudG8gbCZyc3F1bztvcHppb25lIEdJR0EgRVhUUkEgY2hlIGNvbnNlbnRlIGRpIGNvbnRpbnVhcmUgYSBuYXZpZ2FyZSBjb24gMSBnaWdhIGluIHBpJnVncmF2ZTsgYWwgY29zdG8gZGkgMSw5OSBldXJvLjwvcD4NCjxwPklsIGdpZ2EgZGkgbmF2aWdhemlvbmUgaW5jbHVzbyBuZWxsJnJzcXVvO29wemlvbmUgR0lHQSBFWFRSQSAmZWdyYXZlOyBkaXNwb25pYmlsZSBmaW5vIGFsbGEgZGF0YSBkaSBzdWNjZXNzaXZvIHJpbm5vdm8gbWVuc2lsZSBkZWwgcGlhbm8uIEVzYXVyaXRvIGlsIGdpZ2EsIHNlIG5vbiBzaSAmZWdyYXZlOyBhY3F1aXN0YXRvIHVuIHVsdGVyaW9yZSBHSUdBIEVYVFJBIHNlbXByZSBhbCBjb3N0byBkaSAxLDk5IGV1cm8sIGxhIG5hdmlnYXppb25lIGludGVybmV0IHNhciZhZ3JhdmU7IGJsb2NjYXRhIGZpbm8gYWxsYSBkYXRhIGRpIHN1Y2Nlc3Npdm8gcmlubm92byBtZW5zaWxlIGRlbCBwaWFuby48L3A+DQo8cD4mRWdyYXZlOyBwb3NzaWJpbGUgYWNxdWlzdGFyZSBHSUdBIEVYVFJBIGRhIEFwcCBQb3N0ZXBheSBvcHB1cmUgaW52aWFuZG8gdW4gU01TIGFsIG51bWVybyA0MDcxMTYwIGNvbiB0ZXN0byAmbGRxdW87U0kgR0lHQUVYVFJBJnJkcXVvOywgY2hpYW1hbmRvIGlsIFNlcnZpemlvIEZhaSBkYSBUZSBhbCA0MDEyMTIgbyBsJnJzcXVvO0Fzc2lzdGVuemEgQ2xpZW50aSBhbCAxNjAgbyBzdWxsYSBwcm9wcmlhIEFyZWEgUGVyc29uYWxlLiBQZXIgY29ub3NjZXJlIGNyZWRpdCAobWludXRpIGUgc21zKSBlIGdpZ2EgcmVzaWR1aSBkZWwgcGlhbm8gdGFyaWZmYXJpbywgbGEgZGF0YSBkZWwgcmlubm92byBlIGlsIGNyZWRpdG8gcmVzaWR1bywgJmVncmF2ZTsgZGlzcG9uaWJpbGUgaWwgbnVtZXJvIGdyYXR1aXRvIDQwMTIxMiBvIGwmcnNxdW87QXBwIFBvc3RlcGF5LjwvcD4NCjxwPkwnYXNzaXN0ZW56YSBQb3N0ZU1vYmlsZSAmZWdyYXZlOyBhIHR1YSBkaXNwb3NpemlvbmUgcGVyIG9nbmkgZXNpZ2VuemEgZGkgY2FyYXR0ZXJlIGFtbWluaXN0cmF0aXZvLCB0ZWNuaWNvIGUgY29tbWVyY2lhbGUgYWwgbnVtZXJvIGdyYXR1aXRvIDE2MCB0dXR0aSBpIGdpb3JuaSBkYWxsZSA3LjAwIGFsbGUgMjQuMDAuIFBlciBjb250YXR0YXJlIGwmcnNxdW87YXNzaXN0ZW56YSBkYWxsJnJzcXVvO2VzdGVybyAmZWdyYXZlOyBkaXNwb25pYmlsZSBpbCBudW1lcm8gKzM5MzcxLjEwMDAuMTYwLCBncmF0dWl0byBkYWkgUGFlc2kgZGVsbCZyc3F1bztVbmlvbmUgRXVyb3BlYSBlIGRhaSBQYWVzaSBkZWxsYSBBcmVhIEVjb25vbWljYSBFdXJvcGVhIChFRUEpLiBEYWxsZSBhbHRyZSBab25lIEV4dHJhIFVFIGlsIGNvc3RvICZlZ3JhdmU7IHF1ZWxsbyBkaSB1bmEgbm9ybWFsZSBjaGlhbWF0YSBlZmZldHR1YXRhIGluIHJvYW1pbmcgdmVyc28gbCZyc3F1bztJdGFsaWEuIFBlciB2ZXJpZmljYXJlIGxlIHRhcmlmZmUmbmJzcDs8YSBocmVmPSJodHRwOi8vd3d3LnBvc3RlbW9iaWxlLml0L3RhcmlmZmUtcm9hbWluZyI+Y2xpY2NhIHF1aTwvYT4uIFBlciBzY29wcmlyZSB0dXR0aSBnbGkgYWx0cmkgY2FuYWxpIHBlciByaWNldmVyZSBhc3Npc3Rlbnph4oCvPGEgaHJlZj0iaHR0cDovL3d3dy5wb3N0ZW1vYmlsZS5pdC9wcml2YXRpL2Fzc2lzdGVuemEvY29udGF0dGkiPmNsaWNjYSBxdWk8L2E+LjwvcD4NCjxwPjxzdHJvbmc+SWwgbWFuY2F0byByaW5ub3ZvIGRlbCBwaWFubyBwZXIgY3JlZGl0byBpbnN1ZmZpY2llbnRlIGNvbXBvcnRhIGxhIHNvc3BlbnNpb25lIGRlbGxvIHN0ZXNzbyBlIGwmcnNxdW87YXBwbGljYXppb25lIGRlbGxhIHRhcmlmZmEgZGkgMTggY2VudC9taW4sIDEyIGNlbnQvU01TLiBTZSBoYWkgbGEgbmF2aWdhemlvbmUgaW50ZXJuZXQgYSBjb25zdW1vIGFiaWxpdGF0YSwgcHVvaSBjb250aW51YXJlIGEgbmF2aWdhcmUgYWxsYSB0YXJpZmZhIGRhdGkgYmFzZSBnaW9ybmFsaWVyYSBkaSAyIGV1cm8vZ2lvcm5vIHBlciA1MDAgTUIgZGkgdHJhZmZpY28gaW50ZXJuZXQgYWRkZWJpdGF0aSBhbGxhIHByaW1hIGNvbm5lc3Npb25lIGRlbGxhIGdpb3JuYXRhLiBBbHRyaW1lbnRpIG5vbiBzYXImYWdyYXZlOyBwb3NzaWJpbGUgZWZmZXR0dWFyZSB0cmFmZmljbyBkYXRpIGZpbm8gYWwgcmlubm92byBkZWxsYSB0dWEgb2ZmZXJ0YS4gQWQgZXNhdXJpbWVudG8gZGVpIDUwMCBNQiwgZSBzb2xvIGluIGNhc28gZGkgY3JlZGl0byByZXNpZHVvIGRpc3BvbmliaWxlLCB2ZXJyJmFncmF2ZTsgYXBwbGljYXRhIGxhIHRhcmlmZmEgZXh0cmEgc29nbGlhIGRpIDAsMSZldXJvO2NlbnQgKElWQSBpbmNsdXNhKSBvZ25pIDEwMEtCIGNvbiB0YXJpZmZhemlvbmUgYSBzY2F0dGkgYW50aWNpcGF0aSBkaSAxMDBLQi4gU2Ugcmlubm92aSBpbCB0dW8gcGlhbm8sIGlsIGNvc3RvIGNoZSBoYWkgZXZlbnR1YWxtZW50ZSBzb3N0ZW51dG8gbmVsbGEgc3Rlc3NhIGdpb3JuYXRhIHBlciBsYSB0YXJpZmZhIGRhdGkgZ2lvcm5hbGllcmEgdGkgc2FyJmFncmF2ZTsgcmlhY2NyZWRpdGF0by48L3N0cm9uZz48L3A+DQo8cD48c3Ryb25nPlB1b2kgc2VtcHJlIGFiaWxpdGFyZS9kaXNhYmlsaXRhcmUgbGEgbmF2aWdhemlvbmUgaW50ZXJuZXQgYSBjb25zdW1vIGFsbGEgdGFyaWZmYSBkYXRpIGJhc2UgZ2lvcm5hbGllcmEgY29uIHVuIHNtcyBncmF0dWl0byBhbCA0MDcxMTYwIGNvbiB0ZXN0byBOTyBCTE9DQ08vU0kgQkxPQ0NPLCBkYWxsYSB0dWEgQXJlYSBQZXJzb25hbGUsIGNoaWFtYW5kbyBpbCAxNjAgbyBkYSBBcHAgUG9zdGVwYXkuPGJyIC8+UGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSBjb25zdWx0YSBsZSZuYnNwOzwvc3Ryb25nPjxhIGhyZWY9Imh0dHA6Ly93d3cucG9zdGVtb2JpbGUuaXQvYXNzaXN0ZW56YS9jb21lLXBvc3NvIj48c3Ryb25nPkZBUTwvc3Ryb25nPjwvYT48c3Ryb25nPiZuYnNwO28gY2hpYW1hIGlsIDE2MC48L3N0cm9uZz48L3A+DQo8cD4mRWdyYXZlOyBwb3NzaWJpbGUgdXN1ZnJ1aXJlLCBzZW56YSBjb3N0aSBhZ2dpdW50aXZpLCBkZWkgbWludXRpIGUgU01TIHByZXZpc3RpIGRhbGwmcnNxdW87b2ZmZXJ0YSBuYXppb25hbGUsIGFuY2hlIHBlciBpbCB0cmFmZmljbyBlZmZldHR1YXRvIGluIHJvYW1pbmcgaW4gdW5vIGRlaSBQYWVzaSBkZWxsJnJzcXVvO1VuaW9uZSBFdXJvcGVhLCBuZWwgcmlzcGV0dG8gZGVsbGUgY29uZGl6aW9uaSBkaSB1dGlsaXp6byBjb3JyZXR0byBwcmV2aXN0ZSBkYWxsJnJzcXVvO2FydGljb2xvIDQgZGVsIFJlZ29sYW1lbnRvIFVFIDIwMTYvMjI4Ni4gUGVyIGxhIG5hdmlnYXppb25lIEludGVybmV0LCBpbCBxdWFudGl0YXRpdm8gZGkgR0IgZGlzcG9uaWJpbGUgaW4gcm9hbWluZyBhbGxlIHN0ZXNzZSBjb25kaXppb25pIG5hemlvbmFsaSwgZGlwZW5kZSBkYWxsJnJzcXVvO2ltcG9ydG8gZGVsIGNhbm9uZSBkZWxsJnJzcXVvO29mZmVydGEgbmF6aW9uYWxlIGVkICZlZ3JhdmU7IGNhbGNvbGF0byBpbiBiYXNlIGFsbGEgc2VndWVudGUgZm9ybXVsYTo8L3A+DQo8cD5Wb2x1bWUgZGkgR0IgPSAoaW1wb3J0byBkZWwgY2Fub25lIGRlbGxhIHR1YSBvZmZlcnRhIChJVkEgZXNjbHVzYSkvMSw1NSlYMjwvcD4NCjxwPk5lbGxvIHNwZWNpZmljbyBwaWFubyA8c3Ryb25nPlByb21vIENyZWFtaSBFWFRSQSBXT1cgMTUwPC9zdHJvbmc+OiA3LDM5IEdCIGFsIG1lc2UuPC9wPg0KPHA+T2x0cmUgdGFsaSBsaW1pdGkgJmVncmF2ZTsgcG9zc2liaWxlIG5hdmlnYXJlIGluIFVFIGFsIGNvc3RvIGRpIDAsMTggY2VudC9NQiBpbiBiYXNlIGFpIEtCIGVmZmV0dGl2YW1lbnRlIGNvbnN1bWF0aSwgZmlubyBhbGwmcnNxdW87ZXNhdXJpbWVudG8gZGVsIHBhY2NoZXR0byBkaSBHQiBwcmV2aXN0byBkYWxsYSB0dWEgT2ZmZXJ0YSBuYXppb25hbGUuPC9wPg0KPHA+QW5jaGUgaWwgR0IgaW5jbHVzbyBuZWxsJnJzcXVvO29wemlvbmUgR2lnYSBFeHRyYSAmZWdyYXZlOyBkaXNwb25pYmlsZSBpbiByb2FtaW5nIGFsbGUgc3Rlc3NlIGNvbmRpemlvbmkgbmF6aW9uYWxpLiBQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHN1bCB0cmFmZmljbyByb2FtaW5nIG5laSBQYWVzaSBkZWxsJ1VuaW9uZSBFdXJvcGVhJm5ic3A7PGEgaHJlZj0iaHR0cDovL3d3dy5wb3N0ZW1vYmlsZS5pdC9yb2FtaW5nLWluLWV1cm9wYSI+Y2xpY2NhIHF1aTwvYT4uPC9wPg0KPHA+UGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSBzdWwgdHJhZmZpY28gcm9hbWluZyBuZWkgcGFlc2kgZXh0cmEgVUUmbmJzcDs8YSBocmVmPSJodHRwOi8vd3d3LnBvc3RlbW9iaWxlLml0L3RhcmlmZmUtcm9hbWluZyI+Y2xpY2NhIHF1aTwvYT4uJm5ic3A7PC9wPg0KPHA+TCZyc3F1bztob3RzcG90IG8gdGV0aGVyaW5nICZlZ3JhdmU7IHVuYSBtb2RhbGl0JmFncmF2ZTsgZGkgY29uZGl2aXNpb25lIGRlbGxhIGNvbm5lc3Npb25lIGludGVybmV0IGRlbCBwcm9wcmlvIHNtYXJ0cGhvbmUgbyB0YWJsZXQgY29uIGFsdHJpIGRpc3Bvc2l0aXZpIChQQywgdGFibGV0IG8gYWx0cmkgc21hcnRwaG9uZSkuIFBlciBjb25maWd1cmFyZSBvIGdlc3RpcmUgbCZyc3F1bztob3RzcG90IHZlcmlmaWNhIGxlIGltcG9zdGF6aW9uaSBkZWwgdHVvIHNtYXJ0cGhvbmUgbyB0YWJsZXQ7IHBlciBsYSBmcnVpemlvbmUgZGVsIHNlcnZpemlvIG5vbiBzYXJhbm5vIGFkZGViaXRhdGkgY29zdGkgYWdnaXVudGl2aSByaXNwZXR0byBhbCB0dW8gcGlhbm8gdGFyaWZmYXJpby48L3A+DQo8cD5UdXR0ZSBsZSB0YXJpZmZlIHRlbGVmb25pY2hlIHNvbm8gZGEgaW50ZW5kZXJzaSBJVkEgaW5jbHVzYSwgdmFsaWRlIHBlciBpbCB0cmFmZmljbyBuYXppb25hbGUsIHNlbnphIHNjYXR0byBhbGxhIHJpc3Bvc3RhIGUgY29uIHRhcmlmZmF6aW9uZSBhbCBzZWNvbmRvOyBpbCB0cmFmZmljbyBkYXRpICZlZ3JhdmU7IHZhbGlkbyB0cmFtaXRlIEFQTiB3YXAucG9zdGVtb2JpbGUuaXQsIGNvbiB0YXJpZmZhemlvbmUgc3VpIEtCIHJlYWxtZW50ZSBjb25zdW1hdGkuIFBlciBsYSBuYXZpZ2F6aW9uZSBpbnRlcm5ldCA0RysgZcyAIG5lY2Vzc2FyaW8gZXNzZXJlIGluIHBvc3Nlc3NvIGRpIHVubyBzbWFydHBob25lIDRHIGVkIGVzc2VyZSBpbiB1bidhcmVhIGNvbiBjb3BlcnR1cmEgNEcrIGRlbGxhIFNJTSBQb3N0ZU1vYmlsZS4gTGEgdmVsb2NpdGHMgCBtYXNzaW1hIGRpIGNvbm5lc3Npb25lIGluIDRHKyBlzIAgMzAwIE1icHMgZSBpbiA0RyAmZWdyYXZlOyAxNTAgTWJwcy4gTGEgdmVsb2NpdGHMgCBkaSBjb25uZXNzaW9uZSBkaXBlbmRlIGNvbXVucXVlIGRhbCBncmFkbyBkaSBjb25nZXN0aW9uZSBkZWxsYSByZXRlLCBkYWxsYSBjb3BlcnR1cmEgZGkgem9uYSwgZGFsIHRlcm1pbmFsZSB1dGlsaXp6YXRvLCBkYWwgc2lzdGVtYSBvcGVyYXRpdm8gZSBkYWwgYnJvd3NlciB1dGlsaXp6YXRvLCBkYWwgbnVtZXJvIGRpIHJpY2hpZXN0ZSBhbGxhIHBhZ2luYSB3ZWIgdmlzaXRhdGEgZSBkYWxsZSBjYXJhdHRlcmlzdGljaGUgZGVsIHNlcnZlciBuZWwgcXVhbGUgbGEgcGFnaW5hIGXMgCBvc3BpdGF0YS48L3A+DQo8cD5MJnJzcXVvO29mZmVydGEgJmxkcXVvO1Byb21vIENyZWFtaSBFWFRSQSBXT1cgMTUwJnJkcXVvOyAmZWdyYXZlOyBzb2dnZXR0YSBhbGxlIG5vcm1lIGRpIGN1aSBhZ2xpIGFydHQuIDQ5IGUgc2VnZy4gZGVsIEQuTGdzLiAyMDYvMDUgKENvZGljZSBkZWwgQ29uc3VtbyksIGNvbiBmYWNvbHQmYWdyYXZlOyBwZXIgaWwgY29uc3VtYXRvcmUgZGkgZXNlcmNpdGFyZSBpbCBkaXJpdHRvIGRpIHJlY2Vzc28gZW50cm8gMTQgZ2lvcm5pIGRhbGxhIGNvbmNsdXNpb25lIGRlbCBDb250cmF0dG8uPGJyIC8+UGVy4oCvaW5mb+KAr3N14oCvbGltaXRhemlvbmksIHJlY2xhbWkgZSBzdWxsJnJzcXVvO2VzZXJjaXppbyBkZWwgZGlyaXR0byBkaSByZWNlc3NvIGNvbnN1bHRhIGxhIGRvY3VtZW50YXppb25lIGNvbnRyYXR0dWFsZeKArzxhIGhyZWY9Imh0dHA6Ly93d3cucG9zdGVtb2JpbGUuaXQvUHJpdmF0aS9Eb2N1bWVudHMvQ29uZGl6aW9uaUdlbmVyYWxpL0NPTkRJWklPTkktR0VORVJBTEktREVJLVNFUlZJWkktTU9CSUxJLVBSRVBBR0FUSS5wZGYiPmNsaWNjYW5kbyBxdWk8L2E+4oCvb+KAr2Rpc3BvbmliaWxlIHByZXNzbyBnbGkgVWZmaWNpIFBvc3RhbGkuIFBlciBpbmZvcm1hemlvbmkgc3Ugc2Vydml6aSwgdGFyaWZmZSwgZm9ybXVsYSBkaSBjYWxjb2xvIGRlbCB2b2x1bWUgZGkgR0IgaW4gVUUgYWwgY29zdG8gZGVsbGEgdGFyaWZmYSBuYXppb25hbGUsIGNvcGVydHVyYSA0RysgZSByZWNlc3NvLCBjaGlhbWEgaWwgbnVtZXJvIGdyYXR1aXRvIDE2MC48L3A+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iYm94LWFjY29yZGlvbiI+PGgzPkRvY3VtZW50YXppb25lPC9oMz48ZGl2IGNsYXNzPSJjb2xsYXBzZSI+LSA8YSB0aXRsZT0iUHJvc3BldHRvIEluZm9ybWF0aXZvIFByb21vIENyZWFtaSBFWFRSQSBXT1cgMTUwIiBocmVmPSIvUHJpdmF0aS9Eb2N1bWVudHMvUHJvc3BldHRvSW5mb3JtYXRpdm9fUFJPTU9DcmVhbWlFeHRyYVdPVzE1MC5wZGYiIHRhcmdldD0iX2JsYW5rIj5Qcm9zcGV0dG8gSW5mb3JtYXRpdm8gKERvd25sb2FkIFBERik8L2E+PGJyPg0KLSA8YSB0aXRsZT0iUHJvc3BldHRvIEluZm9ybWF0aXZvIEdJR0EgRVhUUkEiIGhyZWY9Ii9Qcml2YXRpL0RvY3VtZW50cy9Qcm9zcGV0dG9fR2lnYV9FeHRyYV8yMDIxLnBkZiIgdGFyZ2V0PSJfYmxhbmsiPlByb3NwZXR0byBpbmZvcm1hdGl2byBHaWdhIEV4dHJhIChEb3dubG9hZCBQREYpPC9hPjxiciAvPg0KLSA8YSB0aXRsZT0iRG9jdW1lbnRvIGRpIFNpbnRlc2kgQ29udHJhdHR1YWxlIFByb21vIENyZWFtaSBFWFRSQSBXT1cgMTUwIiBocmVmPSIvUHJpdmF0aS9Eb2N1bWVudHMvU2ludGVzaUNvbnRyYXR0dWFsZS9Nb2JpbGUvU2ludGVzaV9jb250cmF0dHVhbGVfUFJPTU9DUkVBTUlFWFRSQVdPVzE1MC5wZGYiIHRhcmdldD0iX2JsYW5rIj5Eb2N1bWVudG8gZGkgU2ludGVzaSBDb250cmF0dHVhbGUgKERvd25sb2FkIFBERik8L2E+DQoNCjwvYnI+LSA8YSBocmVmPSIvUHJpdmF0aS9Eb2N1bWVudHMvQ29uZGl6aW9uaUdlbmVyYWxpL0NPTkRJWklPTkktR0VORVJBTEktREVJLVNFUlZJWkktTU9CSUxJLVBSRVBBR0FUSS5wZGYiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5Db25kaXppb25pIEdlbmVyYWxpIGRpIENvbnRyYXR0byDigJMgY2xpZW50aSBQcml2YXRpPC9hPg0KDQoNCjwvYnI+LSA8YSBocmVmPSIvUHJpdmF0aS9Eb2N1bWVudHMvQ29uZGl6aW9uaUdlbmVyYWxpL0NHQy1CdXNpbmVzcy1QcmVwYWdhdG8ucGRmIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+Q29uZGl6aW9uaSBHZW5lcmFsaSBkaSBDb250cmF0dG8g4oCTIGNsaWVudGkgUHJvZmVzc2lvbmlzdGk8L2E+DQoNCg0KDQoNCjxiciAvPi0gPGEgaHJlZj0iL1ByaXZhdGkvRG9jdW1lbnRzL0NvbmRpemlvbmlHZW5lcmFsaS9TZXJ2aXppby1kaS1Qb3J0YWJpbGl0JmFncmF2ZTstZGVsLU51bWVyby5wZGYiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5TZXJ2aXppbyBkaSBwb3J0YWJpbGl0JmFncmF2ZTsgZGVsIG51bWVybzwvYT4NCjxiciAvPi0gPGEgaHJlZj0iL0NoaVNpYW1vL0NhcnRhU2Vydml6aU9iaWV0dGl2aVF1YWxpdGEvY2FydGFfc2Vydml6aS5wZGYiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj5DYXJ0YSBkZWkgU2Vydml6aSBQb3N0ZU1vYmlsZTwvYT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJkZXR0YWdsaSB0ZXN0b19nZXN0aW9uYWxlIj48aDI+wqA8L2gyPjxzdHJvbmc+PGZvbnQgc2l6ZT0iMiI+PGVtPk1lc3NhZ2dpbyBwdWJibGljaXRhcmlvIGNvbiBmaW5hbGl0w6AgcHJvbW96aW9uYWxlLjwvZW0+PC9mb250Pjwvc3Ryb25nPjxmb250IHNpemU9IjIiPjxlbT4g4oCcUHJvbW8gQ3JlYW1pIEVYVFJBIFdPVyAxNTDigJ0gw6ggdW4nb2ZmZXJ0YSBQb3N0ZU1vYmlsZSBkaSBQb3N0ZVBheSBTLnAuQS4sIGNvbiBzZWRlIGluIFJvbWEgYWwgVmlhbGUgRXVyb3BhIG4uIDE5MCwgc29jaWV0w6AgY29uIHNvY2lvIHVuaWNvIHNvZ2dldHRhIGEgZGlyZXppb25lIGUgY29vcmRpbmFtZW50byBkaSBQb3N0ZSBJdGFsaWFuZSBTLnAuQS4sIGF1dG9yaXp6YXRhIGEgZm9ybmlyZSBzZXJ2aXppIGRpIGNvbXVuaWNhemlvbmUgZWxldHRyb25pY2EgYWkgc2Vuc2kgZGVsIEQuTGdzLiAyNTkvMDMuIFBlciBsZSBjb25kaXppb25pIGVjb25vbWljaGUgZSBjb250cmF0dHVhbGkgZGVsIHNlcnZpemlvLCBwZXIgaW5mb3JtYXppb25pIHN1IGxpbWl0YXppb25pLCBtb2RhbGl0w6AgZGkgZXNlcmNpemlvIGRpIGV2ZW50dWFsaSByZWNsYW1pIGUgcmVjZXNzbyBjb25zdWx0YXJlIGxhIFNlemlvbmUg4oCcVGVybWluaSBlIGNvbmRpemlvbmnigJ0gZGkgcXVlc3RhIHBhZ2luYSBlIGwgZG9jdW1lbnRhemlvbmUgcHJlc2VudGUgc3UgcXVlc3RvIHNpdG8gbyBwcmVzc28gZ2xpIFVmZmljaSBQb3N0YWxpLg0KQXBwIFBvc3RlcGF5IMOoIHVu4oCZYXBwbGljYXppb25lIGRpIFBvc3RlIEl0YWxpYW5lIFMucC5BLiBkZWRpY2F0YSBhaSBkaXNwb3NpdGl2aSBkaSB0aXBvIG1vYmlsZSwgcXVhbGkgc21hcnRwaG9uZSBvIHRhYmxldCwgc2NhcmljYWJpbGUgZGEgQXBwIFN0b3JlIG8gUGxheSBTdG9yZSwgYSBzZWNvbmRhIGRlbCBzaXN0ZW1hIG9wZXJhdGl2byBkaSByaWZlcmltZW50by4gVHV0dGXigK9sZSB0YXJpZmZlIHRlbGVmb25pY2hlIHNvbm8gZGEgaW50ZW5kZXJzaSBJVkEgaW5jbHVzYSwgdmFsaWRlIHBlciBpbCB0cmFmZmljbyBuYXppb25hbGUsIHNlbnphIHNjYXR0byBhbGxhIHJpc3Bvc3RhOyBpbCB0cmFmZmljbyBkYXRpIMOoICB0YXJpZmZhdG8gc3VpIEtCIHJlYWxtZW50ZSBjb25zdW1hdGkgdHJhbWl0ZSBBUE4gd2FwLnBvc3RlbW9iaWxlLml0LiBQZXIgbGEgbmF2aWdhemlvbmUgSW50ZXJuZXQgNEcrIGXMgCBuZWNlc3NhcmlvIGVzc2VyZSBpbiBwb3NzZXNzbyBkaSB1bm8gc21hcnRwaG9uZSA0RyBlZCBlc3NlcmUgaW4gdW4nYXJlYSBjb24gY29wZXJ0dXJhIDRHKyBkZWxsYSBTSU0gUG9zdGVNb2JpbGUuIExhIHZlbG9jaXRhzIAgbWFzc2ltYSBkaSBjb25uZXNzaW9uZSBpbiA0RysgZcyAIDMwMCBNYnBzIGUgaW4gNEcgw6ggMTUwIE1icHMuIExhIHZlbG9jaXRhzIAgZGkgY29ubmVzc2lvbmUgZGlwZW5kZSBjb211bnF1ZSBkYWwgZ3JhZG8gZGkgY29uZ2VzdGlvbmUgZGVsbGEgcmV0ZSwgZGFsbGEgY29wZXJ0dXJhIGRpIHpvbmEsIGRhbCB0ZXJtaW5hbGUgdXRpbGl6emF0bywgZGFsIHNpc3RlbWEgb3BlcmF0aXZvIGUgZGFsIGJyb3dzZXIgdXRpbGl6emF0bywgZGFsIG51bWVybyBkaSByaWNoaWVzdGUgYWxsYSBwYWdpbmEgd2ViIHZpc2l0YXRhIGUgZGFsbGUgY2FyYXR0ZXJpc3RpY2hlIGRlbCBzZXJ2ZXIgbmVsIHF1YWxlIGxhIHBhZ2luYSBlzIAgb3NwaXRhdGEuDQoNCjwvZW0+PC9mb250PjwvZGl2PsKgPC9kaXY+PC9kaXY+PC9kaXY+ZGQCBw9kFgICAQ9kFgRmD2QWAgIBDxYCHgdWaXNpYmxlaBYCZg9kFgQCAg9kFgYCAQ8WAh8BaGQCAw8WCB4TQ2xpZW50T25DbGlja1NjcmlwdAV6amF2YVNjcmlwdDpDb3JlSW52b2tlKCdUYWtlT2ZmbGluZVRvQ2xpZW50UmVhbCcsMSwgNTMsICdodHRwOlx1MDAyZlx1MDAyZnd3dy5wb3N0ZW1vYmlsZS5pdFx1MDAyZlByaXZhdGknLCAtMSwgLTEsICcnLCAnJykeGENsaWVudE9uQ2xpY2tOYXZpZ2F0ZVVybGQeKENsaWVudE9uQ2xpY2tTY3JpcHRDb250YWluaW5nUHJlZml4ZWRVcmxkHgxIaWRkZW5TY3JpcHQFIlRha2VPZmZsaW5lRGlzYWJsZWQoMSwgNTMsIC0xLCAtMSlkAgUPFgIfAWhkAgMPDxYKHglBY2Nlc3NLZXkFAS8eD0Fycm93SW1hZ2VXaWR0aAIFHhBBcnJvd0ltYWdlSGVpZ2h0AgMeEUFycm93SW1hZ2VPZmZzZXRYZh4RQXJyb3dJbWFnZU9mZnNldFkC6wNkZAIBD2QWBAIFD2QWAgIBDxAWAh8BaGQUKwEAZAIHD2QWAmYPZBYCZg8UKwADZGRkZAILD2QWDAIED2QWAmYPDxYCHwAF6wENCiAgPGRpdiBjbGFzcz0icG9zdGVpdCI+PGRpdiBjbGFzcz0icGFkX3Bvc3RlaXQiPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LnBvc3RlLml0Ij48aW1nIHdpZHRoPSIxMjQiIGhlaWdodD0iMTYiIHNyYz0iL0NsaWVudExpYnJhcnkvaW1nL3NoYXJlL2xvZ28tcG9zdGUucG5nIiBhbHQ9IlBvc3RlIEl0YWxpYW5lIiB0aXRsZT0iUG9zdGUgSXRhbGlhbmUiIC8+PC9hPjwvZGl2PjwvZGl2Pg0KZGQCBg9kFgJmDw8WAh8ABbwBPGEgaHJlZj0iaHR0cDovL3d3dy5wb3N0ZW1vYmlsZS5pdCIgY2xhc3M9ImxvZ28tcG9zdGVtb2JpbGUiPjxpbWcgc3JjPSIvQ2xpZW50TGlicmFyeS9pbWcvc2hhcmUvbG9nby1wb3N0ZW1vYmlsZS5wbmciIHdpZHRoPSIyMDAiIGhlaWdodD0iNjgiIGFsdD0iUG9zdGUgTW9iaWxlIiB0aXRsZT0iUG9zdGUgTW9iaWxlIiAvPjwvYT5kZAIMD2QWAmYPDxYCHwAF5Ak8ZGl2IGNsYXNzPSJpY28tY2VyY2EiPg0KICAgICAgwqANCiAgICA8L2Rpdj48ZGl2IGNsYXNzPSJjZXJjYS1mb3JtIj48ZGl2IGNsYXNzPSJwYWQtY2VyY2EtZm9ybSI+PGlucHV0IHR5cGU9InRleHQiIGlkPSJjZXJjYV9pbnB1dCIgbmFtZT0iY2VyY2FfaW5wdXQiIGNsYXNzPSJjZXJjYV9pbnB1dCIgcGxhY2Vob2xkZXI9ImNlcmNhIiAvPjxpbWcgc3JjPSIvQ2xpZW50TGlicmFyeS9pbWcvc2hhcmUvaWNvLWNlcmNhLTAwMC5wbmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgYWx0PSJDZXJjYSIgdGl0bGU9IkNlcmNhIiBjbGFzcz0iY2VyY2FfaW5wdXRfaW1nIiAvPjxkaXYgY2xhc3M9ImNlcmNhX2Nsb3NlIj54PC9kaXY+PC9kaXY+PC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgICAgDQogICAgICBBZGRPbmxvYWRFdmVudChmdW5jdGlvbigpIHsNCgkgICAgICAkKCIuY2VyY2EtZm9ybSAuY2VyY2FfaW5wdXRfaW1nIikuY2xpY2soZnVuY3Rpb24oKSB7DQoJCSAgICAgIHZhciBzZWFyY2hVcmwgPSAnaHR0cDovL3d3dy5wb3N0ZW1vYmlsZS5pdC9SaWNlcmNhL1BhZ2luZS9SaWNlcmNhLmFzcHgnOw0KCQkgICAgICB2YXIgc2VhcmNoVGV4dCA9ICQoIi5jZXJjYS1mb3JtIC5jZXJjYV9pbnB1dCIpLnZhbCgpOw0KICAgICAgICAgICQoIi5jZXJjYS1mb3JtIC5jZXJjYV9pbnB1dCIpLnZhbCgnJyk7DQogICAgICAgICAgaWYoc2VhcmNoVGV4dCAhPScnKQ0KCQkgICAgICB7DQogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAkKCJoZWFkIikuYXBwZW5kKCc8c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5yZWRpcmVjdC1vdmVybGF5e3otaW5kZXg6MTAwMTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MCU7bGVmdDowJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6d2hpdGU7b3BhY2l0eTouMDA7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MDApO308L3N0eWxlPicpOw0KICAgICAgICAgICAgICAkKCJib2R5IikuYXBwZW5kKCc8ZGl2IGNsYXNzPSJyZWRpcmVjdC1vdmVybGF5Ij48L2Rpdj4nKTsNCiAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBzZWFyY2hVcmwrJz9rPScrZW5jb2RlVVJJQ29tcG9uZW50KHNlYXJjaFRleHQpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgfQ0KCSAgICAgIH0pOw0KICAgICAgfSk7DQogICAgDQogICAgPC9zY3JpcHQ+ZGQCDg9kFgJmDw8WAh8ABSo8ZGl2IGlkPSJuYXYtdG9nZ2xlIj48c3Bhbj7CoDwvc3Bhbj48L2Rpdj5kZAISD2QWAmYPDxYCHwAFpxI8ZGl2IGlkPSJmb290ZXJfMSI+PGRpdiBjbGFzcz0icGFkX2Zvb3RlciI+PGRpdiBpZD0iZm9vdGVyXzFfaW1nIj48YSBjbGFzcz0ibG9nby1wb3N0ZW1vYmlsZSIgaHJlZj0iaHR0cHM6Ly9wb3N0ZXBheS5wb3N0ZS5pdC9pbmRleC5odG1sP3d0LmFjPTE0NzY0ODU5NzY2ODQtMTQ3NjQ4NTk3NTMwNyZhbXA7Y3VzdGFkYz0xNDc2NDg1OTc2Njg0LTE0NzY0ODU5NzUzMDciPjxpbWcgd2lkdGg9IjE1OSIgaGVpZ2h0PSI1NCIgc3JjPSIvQ2xpZW50TGlicmFyeS9pbWcvc2hhcmUvbG9nby1wb3N0ZW1vYmlsZS1mZmYucG5nIiBhbHQ9IlBvc3RlUGF5IFMucC5BLiIgdGl0bGU9IlBvc3RlUGF5IFMucC5BLiIgLz48L2E+PC9kaXY+PGRpdiBpZD0iZm9vdGVyXzFfMSI+PHVsPjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9Imljby1mYiIgdGl0bGU9IkZhY2Vib29rIiBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vcG9zdGVtb2JpbGUvIj5GYWNlYm9vazwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBpZD0iZm9vdGVyXzFfMiI+PGRpdiBjbGFzcz0ic3ViX2NvbCI+PGgyPlNlcnZpemkgT25saW5lPC9oMj48dWw+PGxpPjxhIHRpdGxlPSJBY3F1aXN0YSBTSU0gT25saW5lIiBocmVmPSIvYWNxdWlzdGEtc2ltLW9ubGluZSI+QWNxdWlzdGEgU0lNIE9ubGluZTwvYT48L2xpPjxsaT48YSB0aXRsZT0iUmljYXJpY2EgU0lNIG9ubGluZSIgaHJlZj0iL2FyZWFwZXJzb25hbGUvcHJpdmF0aS9QYWdpbmUvUE0xMy9SaWNhcmljYVF1aS5hc3B4Ij5SaWNhcmljYSBTSU0gb25saW5lPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzdWJfY29sIj48aDI+QXNzaXN0ZW56YTwvaDI+PHVsPjxsaT48YSB0aXRsZT0iRkFRIE9mZmVydGEgTW9iaWxlIiBocmVmPSIvYXNzaXN0ZW56YS9jb21lLXBvc3NvIj5GQVEgT2ZmZXJ0YSBNb2JpbGU8L2E+PC9saT48bGk+PGEgdGl0bGU9IkZBUSBPZmZlcnRhIEZpc3NvIiBocmVmPSIvcG9zdGVtb2JpbGUtY2FzYS9mYXEiPkZBUSBPZmZlcnRhIEZpc3NvPC9hPjwvbGk+PGxpPjxhIHRpdGxlPSJDb250YXR0aSIgaHJlZj0iL3ByaXZhdGkvYXNzaXN0ZW56YS9jb250YXR0aSI+Q29udGF0dGk8L2E+PC9saT48L3VsPjwvZGl2PjxkaXYgY2xhc3M9InN1Yl9jb2wiPjxoMj5DYW5hbGk8L2gyPjx1bD48bGk+PGEgdGl0bGU9IlVmZmljaSBQb3N0YWxpIiBocmVmPSJodHRwczovL3d3dy5wb3N0ZS5pdC91ZmZpY2ktcG9zdGFsaS5odG1sIj5VZmZpY2kgUG9zdGFsaTwvYT48L2xpPjxsaT48YSB0aXRsZT0iU2Vydml6aSBhIGRvbWljaWxpbyIgaHJlZj0iaHR0cHM6Ly93d3cucG9zdGUuaXQvc2Vydml6aS1hLWRvbWljaWxpby5odG1sIj5TZXJ2aXppIGEgZG9taWNpbGlvPC9hPjwvbGk+PC91bD48L2Rpdj48ZGl2IGNsYXNzPSJzdWJfY29sIj48aDI+U2ljdXJlenphIHBlciBpbCBjb25zdW1hdG9yZTwvaDI+PHVsPjxsaT48YSB0aXRsZT0iU21pc2hpbmciIGhyZWY9Ii9zaWN1cmV6emEtY29uc3VtYXRvcmUvc21pc2hpbmciPlNtaXNoaW5nPC9hPjwvbGk+PGxpPjxhIHRpdGxlPSJXYW5naXJpIG8gUGluZ2NhbGxzIiBocmVmPSIvc2ljdXJlenphLWNvbnN1bWF0b3JlL3dhbmdpcmkiPldhbmdpcmkgbyBQaW5nY2FsbHM8L2E+PC9saT48bGk+PGEgdGl0bGU9IkNhc2ggZm9yIFNNUyIgaHJlZj0iL3NpY3VyZXp6YS1jb25zdW1hdG9yZS9jYXNoLWZvci1zbXMiPkNhc2ggZm9yIFNNUzwvYT48L2xpPjwvdWw+PC9kaXY+PGRpdiBjbGFzcz0ic3ViX2NvbCI+PGgyPkwnYXppZW5kYTwvaDI+PHVsPjxsaT48YSB0aXRsZT0iQ2hpIHNpYW1vIiBocmVmPSJodHRwczovL3Bvc3RlcGF5LnBvc3RlLml0L2NoaS1zaWFtby1wb3N0ZXBheS5odG1sIj5DaGkgc2lhbW88L2E+PC9saT48bGk+PGEgdGl0bGU9IlNpc3RlbWEgZGkgc2VnbmFsYXppb25lIGRlbGxlIHZpb2xhemlvbmkiIGhyZWY9Imh0dHBzOi8vcG9zdGVwYXkucG9zdGUuaXQvc2lzdGVtYS1kaS1zZWduYWxhemlvbmUtZGVsbGUtdmlvbGF6aW9uaS5odG1sIj5TaXN0ZW1hIGRpIHNlZ25hbGF6aW9uZSBkZWxsZSB2aW9sYXppb25pPC9hPjwvbGk+PGxpPjxhIHRpdGxlPSJBbnRpY29ycnV6aW9uZSIgaHJlZj0iaHR0cHM6Ly9wb3N0ZXBheS5wb3N0ZS5pdC9hbnRpY29ycnV6aW9uZS5odG1sIj5BbnRpY29ycnV6aW9uZTwvYT48L2xpPjxsaT48YSB0aXRsZT0iT2ZmZXJ0YSBkaSByaWZlcmltZW50byIgaHJlZj0iL29mZmVydGEtZGktcmlmZXJpbWVudG8iPk9mZmVydGEgZGkgcmlmZXJpbWVudG88L2E+PC9saT48bGk+PGEgdGl0bGU9IlByaXZhY3kiIGhyZWY9Ii9wcml2YWN5Ij5Qcml2YWN5PC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj5kZAIUD2QWAmYPDxYCHwAFzwg8ZGl2IGlkPSJmb290ZXJfMyI+PGRpdiBjbGFzcz0icGFkX2Zvb3RlciI+PGRpdiBpZD0iZm9vdGVyXzNfMSI+wqlQb3N0ZVBheSBTLnAuQS4gMjAyNCBQLkkuIDA2ODc0MzUxMDA3IDwvZGl2PjxkaXYgaWQ9ImZvb3Rlcl8zXzIiPjx1bD48bGk+PGEgdGFyZ2V0PSJfc2VsZiIgaHJlZj0iaHR0cHM6Ly93d3cucG9zdGUuaXQvZGljaGlhcmF6aW9uZS1hY2Nlc3NpYmlsaXRhLmh0bWwiIHRpdGxlPSJEaWNoaWFyYXppb25lIGRpIGFjY2Vzc2liaWxpdMOgIj5EaWNoaWFyYXppb25lIGRpIGFjY2Vzc2liaWxpdMOgPC9hPjwvbGk+PGxpPjxhIHRhcmdldD0iX3NlbGYiIGhyZWY9Imh0dHA6Ly93d3cucG9zdGVtb2JpbGUuaXQvUHJpdmF0aS9QYWdpbmUvRGlnaXRhbC92ZXRyaW5hdGFyaWZmZS5hc3B4P3Z3PVZldHJpbmFfVHJhc3BhcmVuemFUYXJpZmZhcmlhIiB0aXRsZT0iVHJhc3BhcmVuemEgdGFyaWZmYXJpYSI+VHJhc3BhcmVuemEgdGFyaWZmYXJpYTwvYT48L2xpPjxsaT48YSB0YXJnZXQ9Il9zZWxmIiBocmVmPSJodHRwOi8vd3d3LnBvc3RlbW9iaWxlLml0L3RyYXNwYXJlbnphLXRlY25pY2EiIHRpdGxlPSJUcmFzcGFyZW56YSB0ZWNuaWNhIj5UcmFzcGFyZW56YSB0ZWNuaWNhPC9hPjwvbGk+PGxpPjxhIHRhcmdldD0iX3NlbGYiIGhyZWY9Imh0dHA6Ly93d3cucG9zdGVtb2JpbGUuaXQvUHJpdmF0aS9QYWdpbmUvRGlnaXRhbC92ZXRyaW5hVGFyaWZmZS5hc3B4P3Z3PVZldHJpbmFfY29uc3VtYXRvcmkiIHRpdGxlPSJDb25zdW1hdG9yaSI+Q29uc3VtYXRvcmk8L2E+PC9saT48bGk+PGEgdGFyZ2V0PSJfc2VsZiIgaHJlZj0iaHR0cDovL3d3dy5wb3N0ZW1vYmlsZS5pdC9hZ2V2b2xhemlvbmktdGFyaWZmYXJpZSIgdGl0bGU9IkFnZXZvbGF6aW9uaSBwZXIgdXRlbnRpIGNvbiBkaXNhYmlsaXTDoCI+QWdldm9sYXppb25pIHBlciB1dGVudGkgY29uIGRpc2FiaWxpdMOgPC9hPjwvbGk+PGxpPjxhIHRhcmdldD0iX3NlbGYiIGhyZWY9Imh0dHA6Ly93d3cucG9zdGVtb2JpbGUuaXQvcHJpdmFjeS9jb29raWUtcG9saWN5IiB0aXRsZT0iQ29va2llIFBvbGljeSI+Q29va2llIFBvbGljeTwvYT48L2xpPiA8L3VsPjwvZGl2PjwvZGl2PjwvZGl2PmRkAgsPZBYEZg8PFgIfAAWoBA0KICAgPHNjcmlwdCBzcmM9Ii9TdHlsZSUyMExpYnJhcnkvUG9zdGVNb2JpbGUvY2hhdC92ZW5kb3JzL2pxdWVyeS11aS5taW4uanMiPjwvc2NyaXB0Pg0KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgdmFyIHZpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOyB2aXYudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnOyB2aXYuYXN5bmMgPSB0cnVlOw0KICAgICAgICB2aXYuc3JjID0gKCdodHRwczonID09IGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sID8gJ2h0dHBzOi8vJyA6ICdodHRwOi8vJykgKyAnd3d3LnBvc3RlbW9iaWxlLml0L1N0eWxlJTIwTGlicmFyeS9Qb3N0ZU1vYmlsZS9jaGF0L2NvbXBhY3RlZC5qcyc7DQogICAgICAgIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOyBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHZpdiwgcyk7DQogICAgfSkoKTsNCjwvc2NyaXB0Pg0KPGRpdiBjbGFzcz0iZ2VuZXN5c19jaGF0Ij48L2Rpdj4NCmRkAgEPDxYCHwAFDg0KICANCiAgDQogIA0KZGRkJ4I8beKmeZiTENwCqfw1H2ZYDm0=">
  </div>
  <script type="text/javascript">
    //<![CDATA[
    var theForm = document.forms['aspnetForm'];
    if (!theForm) {
      theForm = document.aspnetForm;
    }

    function __doPostBack(eventTarget, eventArgument) {
      if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
      }
    }
    //]]>
  </script>
  <script src="/WebResource.axd?d=CasUCE8efexu7qDk52j6S1V2o5FIEmVrqIbK-fhwJ8AeCyq9HnOWJzcgPK2KGS33pgiEzrFCZFTSqzpJVdd-mNnCY-A1&amp;t=636271743501517547" type="text/javascript"></script>
  <script type="text/javascript">
    //<![CDATA[
    var MSOWebPartPageFormName = 'aspnetForm';
    var g_presenceEnabled = true;
    var g_wsaEnabled = false;
    var g_wsaLCID = 1040;
    var g_wsaSiteTemplateId = 'BLANKINTERNET#2';
    var g_wsaListTemplateId = 850;
    var _fV4UI = true;
    var _spPageContextInfo = {
      webServerRelativeUrl: "\u002fPrivati",
      webLanguage: 1040,
      currentLanguage: 1040,
      webUIVersion: 4,
      pageListId: "{27ddc02b-39fa-48f0-a245-e901261ef1a0}",
      pageItemId: 563,
      alertsEnabled: true,
      siteServerRelativeUrl: "\u002f",
      allowSilverlightPrompt: 'True'
    }; //]]>
  </script>
  <script type="text/javascript">
    <!--
    var L_Menu_BaseUrl = "/Privati";
    var L_Menu_LCID = "1040";
    var L_Menu_SiteTheme = "";
    //
    -->
  </script>
  <script type="text/javascript">
    //<![CDATA[
    document.onreadystatechange = fnRemoveAllStatus;

    function fnRemoveAllStatus() {
      removeAllStatus(true)
    };
    var _spWebPartComponents = new Object(); //]]>
  </script>
  <script type="text/javascript">
    <!--
    //
    -->
  </script>
  <script src="/_layouts/blank.js?rev=QGOYAJlouiWgFRlhHVlMKA%3D%3D" type="text/javascript"></script>
  <script type="text/javascript">
    //<![CDATA[
    if (typeof(DeferWebFormInitCallback) == 'function') DeferWebFormInitCallback();

    function WebForm_OnSubmit() {
      UpdateFormDigest('\u002fPrivati', 1440000);
      if (typeof(_spFormOnSubmitWrapper) != 'undefined') {
        return _spFormOnSubmitWrapper();
      } else {
        return true;
      };
      return true;
    }
    //]]>
  </script>
  <div>
    <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="9307D207">
  </div>
  <script type="text/javascript">
    //<![CDATA[
    Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager', document.getElementById('aspnetForm'));
    Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tctl00$panelZone'], [], [], 90);
    //]]>
  </script>
  <noscript>
    <div class="noindex">Tentativo di accesso al sito da un browser protetto nel server. Abilitare gli script e ricaricare la pagina.</div>
  </noscript>
  <div id="s4-workspace" class="s4-pr s4-widecontentarea">
    <div id="s4-bodyContainer">
      <div id="s4-titlerow" class="s4-notdlg">
      </div>
      <div id="ctl00_MSO_ContentDiv">
        <script type="text/javascript">
          function AddOnloadEvent(f) {
            if (typeof window.onload != 'function') {
              window.onload = f;
            } else {
              var cache = window.onload;
              window.onload = function() {
                if (cache) {
                  cache();
                }
                f();
              };
            }
          }

          function SessionLogout() {
            $('#aspnetForm').append('<input type="hidden" name="Esci" value="1" />');
            $('#aspnetForm').submit();
          }
        </script>
        <!-- HEADER -->
        <div id="header">
          <header>
            <div class="posteit">
              <div class="pad_posteit"><a target="_blank" href="http://www.poste.it"><img width="124" height="16" src="/ClientLibrary/img/share/logo-poste.png" alt="Poste Italiane" title="Poste Italiane"></a></div>
            </div>
            <div class="postemobileit">
              <div class="pad_postemobileit">
                <a href="http://www.postemobile.it" class="logo-postemobile"><img src="/ClientLibrary/img/share/logo-postemobile.png" width="200" height="68" alt="Poste Mobile" title="Poste Mobile"></a>
                <div class="animazione_menu_mobile">
                  <ul id="second-menu">
                    <li class="second-menu-txt area-privati"><a href="/" title="Privati">Privati</a></li>
                    <li class="second-menu-txt area-professionisti"><a href="/professionisti" title="Professionisti">Professionisti</a></li>
                    <li class="second-menu-txt area-aziende"><a href="/business/piccole-medie-imprese/piani-tariffari-ricaricabile" title="Aziende">Aziende</a></li>
                    <li class="second-menu-puls"><a href="/areapersonale/privati/Pagine/PM13/RicaricaQui.aspx?ActionLink=1" title="RICARICA"><span class="ico-ricarica">&nbsp;</span>RICARICA</a></li>
                    <li class="second-menu-puls"><a href="/acquista-sim-online" title="ACQUISTA"><span class="ico-acquista">&nbsp;</span>ACQUISTA</a></li>
                    <li class="third-menu-puls"><a href="/areaprotetta/Pagine/LoginSSO.aspx?ActionLink=1" title="ACCEDI"><span class="ico-accedi">&nbsp;</span>ACCEDI</a></li>
                  </ul>
                  <script type="text/javascript">
                    AddOnloadEvent(function() {
                      $(".third-menu-puls a[name=logout]").click(function() {
                        SessionLogout();
                      });
                    });
                  </script>
                </div>
                <div class="ico-cerca"> &nbsp; </div>
                <div class="cerca-form">
                  <div class="pad-cerca-form"><input type="text" id="cerca_input" name="cerca_input" class="cerca_input" placeholder="cerca"><img src="/ClientLibrary/img/share/ico-cerca-000.png" width="18" height="18" alt="Cerca" title="Cerca"
                      class="cerca_input_img">
                    <div class="cerca_close">x</div>
                  </div>
                </div>
                <script type="text/javascript">
                  AddOnloadEvent(function() {
                    $(".cerca-form .cerca_input_img").click(function() {
                      var searchUrl = 'http://www.postemobile.it/Ricerca/Pagine/Ricerca.aspx';
                      var searchText = $(".cerca-form .cerca_input").val();
                      $(".cerca-form .cerca_input").val('');
                      if (searchText != '') {
                        setTimeout(function() {
                          $("head").append('<style type="text/css">.redirect-overlay{z-index:1001;position:absolute;top:0%;left:0%;width:100%;height:100%;background-color:white;opacity:.00;filter:alpha(opacity=00);}</style>');
                          $("body").append('<div class="redirect-overlay"></div>');
                          window.location.href = searchUrl + '?k=' + encodeURIComponent(searchText);
                        });
                        return false;
                      }
                    });
                  });
                </script>
                <div id="nav-toggle"><span>&nbsp;</span></div>
              </div>
            </div>
          </header>
        </div>
        <!-- /HEADER -->
        <div id="container">
          <div id="ctl00_m_g_1ed70e60_fa34_40c3_b421_f5aaaeeb987c">
            <div class="section apriamo">
              <div class="primo_blocco_100_500 scheda_prodotto">
                <div class="swiper-container slider-primo_blocco_100_500">
                  <ul class="swiper-wrapper">
                    <li class="swiper-slide swiper-slide-active">
                      <picture>
                        <source media="(min-width: 769px)" srcset="/Privati/Img/2024/PromoCreamiExtraWOW150/promo-creami-150-gb-lp.jpg">
                        <source media="(min-width: 320px)" srcset="/Privati/Img/2024/PromoCreamiExtraWOW150/promo-creami-150-gb-lp-mob.jpg"><img class="swiper-lazy" src="/Privati/Img/2024/PromoCreamiExtraWOW150/promo-creami-150-gb-lp.jpg"
                          alt="Promo Creami EXTRA WOW 150" title="Promo Creami EXTRA WOW 150">
                      </picture>
                      <div class="blocco_tariffa_big">
                        <div class="blocco_tariffa">
                          <div class="elenco_tariffe_2">
                            <h1>
                              <font size="5">Promo Creami EXTRA WOW 150</font>
                            </h1>
                            <p>Esclusiva online <br>Valida fino al 30/09/2024<br>Per nuovi clienti</p>
                            <div class="elenco_tariffe_dett" style="padding-top: 0px;padding-bottom: 0px;">
                              <div>Credit per chiamate e SMS<span>Illimitati*</span></div>
                              <div>Traffico dati incluso<span> <b>150GB</b> in 4G+<br><span style="font-size:16px">fino a 300Mbps</span></span></div>&nbsp;
                            </div>
                          </div>
                          <div class="elenco_tariffe_3">
                            <div class="promo_prezzo" style="margin-bottom: 0px;">
                              <div class="in_promo">
                                <p>Costo mensile<span> </span></p>
                              </div>
                              <div class="prezzo">
                                <div class="prezzo">
                                  <div class="prezzo_nuovo"><span class="euro">€</span>6<span class="decimali">,99</span></div>
                                  <div class="frequenza"> </div>
                                </div>&nbsp;
                              </div>
                            </div>
                            <div class="legal-disclaimer">
                              <font size="2">Costo attivazione Online: 10€ costo SIM + 10€ prima ricarica comprensiva di primo canone.<b>*Il servizio e' soggetto a condizioni di</b></font>
                              <a href="/condizioni-uso-personale" target="_blank">uso personale</a>&nbsp;
                            </div>
                          </div>
                        </div>
                      </div>
                    </li>
                  </ul>
                </div>
              </div>
            </div>
            <div class="section scheda_prodotto" id="scheda_prodotto">
              <div class="scheda_prodotto_pad">
                <div class="scheda_prodotto_2">
                  <a class="btn btn-primary btn-expand" href="/AreaProtetta/Pagine/Acquista/AcquistaOnline.aspx?of=25">Acquista Online</a>&nbsp;<a class="btn btn-primary btn-expand" href="/areaprotetta/acquista-promo-creami-extra-wow-150-con-operatore">Acquista con operatore</a>&nbsp;&nbsp;
                </div>
                <div class="scheda_prodotto_1">
                  <div class="caratteristische testo_gestionale">
                    <h2>Perché scegliere PosteMobile</h2>
                    <ul class="ul-icon">
                      <li class="rete-copertura">
                        <h3>RETE</h3>
                        <ul>
                          <li>I servizi di telefonia mobile e connettività internet sono erogati tramite accesso alla rete 4G+ di Vodafone.<br>Velocità di navigazione internet fino a 300Mbps.<br>Copertura della popolazione italiana su rete 4G: oltre
                            il 99%.</li>
                        </ul>
                      </li>
                      <li class="servizi-inclusi">
                        <h3>SERVIZI INCLUSI SENZA COSTI AGGIUNTIVI</h3>
                        <ul>
                          <li>"Ti cerco" e "Richiama ora", avviso di chiamata e controllo del credito residuo al numero 401212.</li>
                        </ul>
                      </li>
                      <li class="hotspot">
                        <h3>HOTSPOT INCLUSO: CONDIVIDI LA TUA CONNESSIONE INTERNET</h3>
                        <ul>
                          <li>Utilizza facilmente i tuoi GIGA per navigare su internet anche con altri dispositivi e senza costi aggiuntivi. </li>
                        </ul>
                      </li>
                    </ul>
                  </div>
                  <div class="caratteristische testo_gestionale">
                    <h2>&nbsp;</h2>
                    <ul class="ul-icon">
                      <li class="servizi-inclusi">
                        <h3>RICORDA DI AVERE CREDITO SULLA SIM PER RINNOVARE L’OFFERTA. </h3>
                        <ul>
                          <li>Se non rinnovi paghi: 18cent/min, 12cent/SMS e, se hai la tariffa dati base abilitata, 2 euro al giorno per 500MB alla prima connessione. Se hai la tariffa dati base disabilitata non potrai effettuare traffico dati fino
                            al rinnovo della tua offerta. Per <strong>abilitare/disabilitare la navigazione internet a consumo </strong>alla tariffa dati base giornaliera, invia un SMS gratuito al 4071160 con testo NO BLOCCO/SI BLOCCO, accedi alla
                            tua area personale del sito PostePay, chiama il 160 o da App PostePay. Per maggiori informazioni, visita la pagina
                            <a href="http://www.postemobile.it/opzione-blocco-tariffa-dati-base-giornaliera">Opzione blocco tariffa dati base giornaliera </a>o le <a href="http://www.postemobile.it/assistenza/come-posso">FAQ</a>.</li>
                        </ul>
                      </li>
                    </ul>
                  </div>
                  <div class="scopri_piu_100 testo_gestionale">
                    <div class="accordion">
                      <div class="box-accordion">
                        <h3>Termini e Condizioni</h3>
                        <div class="collapse">
                          <p><strong>“Promo Creami EXTRA WOW 150”</strong>&nbsp;è disponibile per tutti i nuovi clienti privati e titolari di partita IVA e prevede credit illimitati per chiamate e SMS e 150 giga al mese (che corrispondono a 153.600
                            credit) per navigare in internet.</p>
                          <p>Ogni mese, rispetto ai 10 giga inclusi nel piano standard, viene erogato un bonus di 140 giga aggiuntivi, erogati entro 24 ore dall’attivazione della SIM per il 1° mese e a partire dal 2° mese contestualmente al rinnovo
                            del piano.&nbsp; Il costo del piano è di 6,99 euro e viene addebitato sul credito residuo della SIM al momento dell’attivazione e poi ogni mese.</p>
                          <p><strong>Per aderire all’offerta è &nbsp;necessario attivare una nuova SIM Ricaricabile</strong><strong> online o da canale telefonico</strong> <strong>entro il 30/09/2024, senza vincolo di portabilità. </strong></p>
                          <p><strong>La SIM ha un costo di 10 euro. E’ prevista una ricarica iniziale di 10 euro che copre il canone del primo mese.</strong></p>
                          <p><strong>La spedizione della SIM è gratuita.</strong></p>
                          <p><strong>&nbsp;</strong>I credit illimitati possono essere utilizzati per chiamate e SMS &nbsp;ma non per i servizi a sovrapprezzo e per i servizi di gestione chiamate. I credit non utilizzati nel periodo di riferimento
                            andranno persi. Per la navigazione internet ciascun credit viene scalato al raggiungimento di 1MB di navigazione. All’esaurimento dei giga del piano la navigazione internet sarà bloccata.</p>
                          <p>È possibile acquistare in qualsiasi momento l’opzione GIGA EXTRA che consente di continuare a navigare con 1 giga in più al costo di 1,99 euro.</p>
                          <p>Il giga di navigazione incluso nell’opzione GIGA EXTRA è disponibile fino alla data di successivo rinnovo mensile del piano. Esaurito il giga, se non si è acquistato un ulteriore GIGA EXTRA sempre al costo di 1,99 euro,
                            la navigazione internet sarà bloccata fino alla data di successivo rinnovo mensile del piano.</p>
                          <p>È possibile acquistare GIGA EXTRA da App Postepay oppure inviando un SMS al numero 4071160 con testo “SI GIGAEXTRA”, chiamando il Servizio Fai da Te al 401212 o l’Assistenza Clienti al 160 o sulla propria Area Personale.
                            Per conoscere credit (minuti e sms) e giga residui del piano tariffario, la data del rinnovo e il credito residuo, è disponibile il numero gratuito 401212 o l’App Postepay.</p>
                          <p>L'assistenza PosteMobile è a tua disposizione per ogni esigenza di carattere amministrativo, tecnico e commerciale al numero gratuito 160 tutti i giorni dalle 7.00 alle 24.00. Per contattare l’assistenza dall’estero è
                            disponibile il numero +39371.1000.160, gratuito dai Paesi dell’Unione Europea e dai Paesi della Area Economica Europea (EEA). Dalle altre Zone Extra UE il costo è quello di una normale chiamata effettuata in roaming verso
                            l’Italia. Per verificare le tariffe&nbsp;<a href="http://www.postemobile.it/tariffe-roaming">clicca qui</a>. Per scoprire tutti gli altri canali per ricevere
                            assistenza <a href="http://www.postemobile.it/privati/assistenza/contatti">clicca qui</a>.</p>
                          <p><strong>Il mancato rinnovo del piano per credito insufficiente comporta la sospensione dello stesso e l’applicazione della tariffa di 18 cent/min, 12 cent/SMS. Se hai la navigazione internet a consumo abilitata, puoi
                              continuare a navigare alla tariffa dati base giornaliera di 2 euro/giorno per 500 MB di traffico internet addebitati alla prima connessione della giornata. Altrimenti non sarà possibile effettuare traffico dati fino al
                              rinnovo della tua offerta. Ad esaurimento dei 500 MB, e solo in caso di credito residuo disponibile, verrà applicata la tariffa extra soglia di 0,1€cent (IVA inclusa) ogni 100KB con tariffazione a scatti anticipati di
                              100KB. Se rinnovi il tuo piano, il costo che hai eventualmente sostenuto nella stessa giornata per la tariffa dati giornaliera ti sarà riaccreditato.</strong></p>
                          <p><strong>Puoi sempre abilitare/disabilitare la navigazione internet a consumo alla tariffa dati base giornaliera con un sms gratuito al 4071160 con testo NO BLOCCO/SI BLOCCO, dalla tua Area Personale, chiamando il 160 o da
                              App Postepay.<br>Per maggiori informazioni consulta le&nbsp;</strong><a href="http://www.postemobile.it/assistenza/come-posso"><strong>FAQ</strong></a><strong>&nbsp;o chiama il 160.</strong></p>
                          <p>È possibile usufruire, senza costi aggiuntivi, dei minuti e SMS previsti dall’offerta nazionale, anche per il traffico effettuato in roaming in uno dei Paesi dell’Unione Europea, nel rispetto delle condizioni di utilizzo
                            corretto previste dall’articolo 4 del Regolamento UE 2016/2286. Per la navigazione Internet, il quantitativo di GB disponibile in roaming alle stesse condizioni nazionali, dipende dall’importo del canone dell’offerta
                            nazionale ed è calcolato in base alla seguente formula:</p>
                          <p>Volume di GB = (importo del canone della tua offerta (IVA esclusa)/1,55)X2</p>
                          <p>Nello specifico piano <strong>Promo Creami EXTRA WOW 150</strong>: 7,39 GB al mese.</p>
                          <p>Oltre tali limiti è possibile navigare in UE al costo di 0,18 cent/MB in base ai KB effettivamente consumati, fino all’esaurimento del pacchetto di GB previsto dalla tua Offerta nazionale.</p>
                          <p>Anche il GB incluso nell’opzione Giga Extra è disponibile in roaming alle stesse condizioni nazionali. Per maggiori informazioni sul traffico roaming nei Paesi dell'Unione
                            Europea&nbsp;<a href="http://www.postemobile.it/roaming-in-europa">clicca qui</a>.</p>
                          <p>Per maggiori informazioni sul traffico roaming nei paesi extra UE&nbsp;<a href="http://www.postemobile.it/tariffe-roaming">clicca qui</a>.&nbsp;</p>
                          <p>L’hotspot o tethering è una modalità di condivisione della connessione internet del proprio smartphone o tablet con altri dispositivi (PC, tablet o altri smartphone). Per configurare o gestire l’hotspot verifica le
                            impostazioni del tuo smartphone o tablet; per la fruizione del servizio non saranno addebitati costi aggiuntivi rispetto al tuo piano tariffario.</p>
                          <p>Tutte le tariffe telefoniche sono da intendersi IVA inclusa, valide per il traffico nazionale, senza scatto alla risposta e con tariffazione al secondo; il traffico dati è valido tramite APN wap.postemobile.it, con
                            tariffazione sui KB realmente consumati. Per la navigazione internet 4G+ è necessario essere in possesso di uno smartphone 4G ed essere in un'area con copertura 4G+ della SIM PosteMobile. La velocità massima di
                            connessione in 4G+ è 300 Mbps e in 4G è 150 Mbps. La velocità di connessione dipende comunque dal grado di congestione della rete, dalla copertura di zona, dal terminale utilizzato, dal sistema operativo e dal browser
                            utilizzato, dal numero di richieste alla pagina web visitata e dalle caratteristiche del server nel quale la pagina è ospitata.</p>
                          <p>L’offerta “Promo Creami EXTRA WOW 150” è soggetta alle norme di cui agli artt. 49 e segg. del D.Lgs. 206/05 (Codice del Consumo), con facoltà per il consumatore di esercitare il diritto di recesso entro 14 giorni dalla
                            conclusione del Contratto.<br>Per info su limitazioni, reclami e sull’esercizio del diritto di recesso consulta la documentazione
                            contrattuale <a href="http://www.postemobile.it/Privati/Documents/CondizioniGenerali/CONDIZIONI-GENERALI-DEI-SERVIZI-MOBILI-PREPAGATI.pdf">cliccando qui</a> o disponibile presso gli Uffici Postali. Per informazioni su
                            servizi, tariffe, formula di calcolo del volume di GB in UE al costo della tariffa nazionale, copertura 4G+ e recesso, chiama il numero gratuito 160.</p>
                        </div>
                      </div>
                      <div class="box-accordion">
                        <h3>Documentazione</h3>
                        <div class="collapse">- <a title="Prospetto Informativo Promo Creami EXTRA WOW 150" href="/Privati/Documents/ProspettoInformativo_PROMOCreamiExtraWOW150.pdf" target="_blank">Prospetto Informativo (Download PDF)</a><br> -
                          <a title="Prospetto Informativo GIGA EXTRA" href="/Privati/Documents/Prospetto_Giga_Extra_2021.pdf" target="_blank">Prospetto informativo Giga Extra (Download PDF)</a><br> -
                          <a title="Documento di Sintesi Contrattuale Promo Creami EXTRA WOW 150" href="/Privati/Documents/SintesiContrattuale/Mobile/Sintesi_contrattuale_PROMOCREAMIEXTRAWOW150.pdf" target="_blank">Documento di Sintesi Contrattuale (Download PDF)</a>
                          <br>- <a href="/Privati/Documents/CondizioniGenerali/CONDIZIONI-GENERALI-DEI-SERVIZI-MOBILI-PREPAGATI.pdf" target="_blank" rel="noopener">Condizioni Generali di Contratto – clienti Privati</a>
                          <br>- <a href="/Privati/Documents/CondizioniGenerali/CGC-Business-Prepagato.pdf" target="_blank" rel="noopener">Condizioni Generali di Contratto – clienti Professionisti</a>
                          <br>- <a href="/Privati/Documents/CondizioniGenerali/Servizio-di-Portabilità-del-Numero.pdf" target="_blank" rel="noopener">Servizio di portabilità del numero</a>
                          <br>- <a href="/ChiSiamo/CartaServiziObiettiviQualita/carta_servizi.pdf" target="_blank" rel="noopener">Carta dei Servizi PosteMobile</a>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="dettagli testo_gestionale">
                    <h2>&nbsp;</h2><strong>
                      <font size="2"><em>Messaggio pubblicitario con finalità promozionale.</em></font>
                    </strong>
                    <font size="2"><em> “Promo Creami EXTRA WOW 150” è un'offerta PosteMobile di PostePay S.p.A., con sede in Roma al Viale Europa n. 190, società con socio unico soggetta a direzione e coordinamento di Poste Italiane S.p.A.,
                        autorizzata a fornire servizi di comunicazione elettronica ai sensi del D.Lgs. 259/03. Per le condizioni economiche e contrattuali del servizio, per informazioni su limitazioni, modalità di esercizio di eventuali reclami e
                        recesso consultare la Sezione “Termini e condizioni” di questa pagina e l documentazione presente su questo sito o presso gli Uffici Postali. App Postepay è un’applicazione di Poste Italiane S.p.A. dedicata ai dispositivi di
                        tipo mobile, quali smartphone o tablet, scaricabile da App Store o Play Store, a seconda del sistema operativo di riferimento. Tutte le tariffe telefoniche sono da intendersi IVA inclusa, valide per il traffico nazionale,
                        senza scatto alla risposta; il traffico dati è tariffato sui KB realmente consumati tramite APN wap.postemobile.it. Per la navigazione Internet 4G+ è necessario essere in possesso di uno smartphone 4G ed essere in un'area con
                        copertura 4G+ della SIM PosteMobile. La velocità massima di connessione in 4G+ è 300 Mbps e in 4G è 150 Mbps. La velocità di connessione dipende comunque dal grado di congestione della rete, dalla copertura di zona, dal
                        terminale utilizzato, dal sistema operativo e dal browser utilizzato, dal numero di richieste alla pagina web visitata e dalle caratteristiche del server nel quale la pagina è ospitata. </em></font>
                  </div>&nbsp;
                </div>
              </div>
            </div>
          </div>
        </div>
        <!-- FOOTER -->
        <footer>
          <div id="footer">
            <div id="footer_1">
              <div class="pad_footer">
                <div id="footer_1_img">
                  <a class="logo-postemobile" href="https://postepay.poste.it/index.html?wt.ac=1476485976684-1476485975307&amp;custadc=1476485976684-1476485975307"><img width="159" height="54" src="/ClientLibrary/img/share/logo-postemobile-fff.png" alt="PostePay S.p.A." title="PostePay S.p.A."></a>
                </div>
                <div id="footer_1_1">
                  <ul>
                    <li><a target="_blank" class="ico-fb" title="Facebook" href="https://www.facebook.com/postemobile/">Facebook</a></li>
                  </ul>
                </div>
                <div id="footer_1_2">
                  <div class="sub_col">
                    <h2>Servizi Online</h2>
                    <ul>
                      <li><a title="Acquista SIM Online" href="/acquista-sim-online">Acquista SIM Online</a></li>
                      <li><a title="Ricarica SIM online" href="/areapersonale/privati/Pagine/PM13/RicaricaQui.aspx">Ricarica SIM online</a></li>
                    </ul>
                  </div>
                  <div class="sub_col">
                    <h2>Assistenza</h2>
                    <ul>
                      <li><a title="FAQ Offerta Mobile" href="/assistenza/come-posso">FAQ Offerta Mobile</a></li>
                      <li><a title="FAQ Offerta Fisso" href="/postemobile-casa/faq">FAQ Offerta Fisso</a></li>
                      <li><a title="Contatti" href="/privati/assistenza/contatti">Contatti</a></li>
                    </ul>
                  </div>
                  <div class="sub_col">
                    <h2>Canali</h2>
                    <ul>
                      <li><a title="Uffici Postali" href="https://www.poste.it/uffici-postali.html">Uffici Postali</a></li>
                      <li><a title="Servizi a domicilio" href="https://www.poste.it/servizi-a-domicilio.html">Servizi a domicilio</a></li>
                    </ul>
                  </div>
                  <div class="sub_col">
                    <h2>Sicurezza per il consumatore</h2>
                    <ul>
                      <li><a title="Smishing" href="/sicurezza-consumatore/smishing">Smishing</a></li>
                      <li><a title="Wangiri o Pingcalls" href="/sicurezza-consumatore/wangiri">Wangiri o Pingcalls</a></li>
                      <li><a title="Cash for SMS" href="/sicurezza-consumatore/cash-for-sms">Cash for SMS</a></li>
                    </ul>
                  </div>
                  <div class="sub_col">
                    <h2>L'azienda</h2>
                    <ul>
                      <li><a title="Chi siamo" href="https://postepay.poste.it/chi-siamo-postepay.html">Chi siamo</a></li>
                      <li><a title="Sistema di segnalazione delle violazioni" href="https://postepay.poste.it/sistema-di-segnalazione-delle-violazioni.html">Sistema di segnalazione delle violazioni</a></li>
                      <li><a title="Anticorruzione" href="https://postepay.poste.it/anticorruzione.html">Anticorruzione</a></li>
                      <li><a title="Offerta di riferimento" href="/offerta-di-riferimento">Offerta di riferimento</a></li>
                      <li><a title="Privacy" href="/privacy">Privacy</a></li>
                    </ul>
                  </div>
                </div>
              </div>
            </div>
            <div id="footer_3">
              <div class="pad_footer">
                <div id="footer_3_1">©PostePay S.p.A. 2024 P.I. 06874351007 </div>
                <div id="footer_3_2">
                  <ul>
                    <li><a target="_self" href="https://www.poste.it/dichiarazione-accessibilita.html" title="Dichiarazione di accessibilità">Dichiarazione di accessibilità</a></li>
                    <li><a target="_self" href="/trasparenza-tariffe" title="Trasparenza tariffaria">Trasparenza tariffaria</a></li>
                    <li><a target="_self" href="http://www.postemobile.it/trasparenza-tecnica" title="Trasparenza tecnica">Trasparenza tecnica</a></li>
                    <li><a target="_self" href="/consumatori" title="Consumatori">Consumatori</a></li>
                    <li><a target="_self" href="http://www.postemobile.it/agevolazioni-tariffarie" title="Agevolazioni per utenti con disabilità">Agevolazioni per utenti con disabilità</a></li>
                    <li><a target="_self" href="http://www.postemobile.it/privacy/cookie-policy" title="Cookie Policy">Cookie Policy</a></li>
                  </ul>
                </div>
              </div>
            </div>
          </div>
        </footer>
        <!-- /FOOTER -->
        <div id="pm15_cookie_info">
          <div id="cookie-track" style="display: block; opacity: 1;">
            <div class="boxer-close" id="closeCookie"><img src="/ClientLibrary/img/share/ico-close-black.png" alt="X"></div>
            <div class="pm20-consent-content">
              <div id="cookie-text" class="pm20-text"><span class="pm20-title">PostePay S.p.A. dà valore alla tua privacy</span><br>PostePay S.p.A. utilizza cookie di profilazione e altri sistemi di tracciamento ad essi equiparabili, anche di terze
                parti, al fine di assicurarti una migliore esperienza su questo sito web e di effettuare comunicazioni ed interazioni in linea con le tue preferenze. Puoi accettare tutti i cookie cliccando su <font style="font-weight:bolder">
                  "Accetto"</font> oppure rifiutarli cliccando la <font style="font-weight:bolder">"X"</font> o il bottone <font style="font-weight:bolder">"Non Accetto"</font>. Puoi sempre modificare le tue preferenze accedendo alla <font
                  style="font-weight:bolder">"Cookie Policy"</font>.<br>Per maggiori informazioni sui cookie utilizzati da questo sito web e sul trattamento dei tuoi dati personali, ti invitiamo a consultare la nostra
                <a id="pm20-show-consent" class="pm20-buttontext" href="/privacy/cookie-policy">Cookie Policy</a> e
                <a id="pm20-show-consent" class="pm20-buttontext" href="/documents/informativa_ai_sensi_della_privacy_navigazione.pdf">Informativa Privacy</a> del sito web</div>
              <div id="cookie-buttons">
                <a id="cookie-button" class="pm20-close" style="margin-right:15px; margin-bottom:0px">Accetto</a><a id="cookie-button" class="closeCookieNonAccetto" style="margin-right:15px; margin-bottom:15px; margin-top:1px">Non Accetto</a></div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <input type="text" name="__spText1" title="text" style="display: none;">
  <input type="text" name="__spText2" title="text" style="display: none;">
  <div id="ctl00_panelZone">
    <div style="display:none" id="hidZone"></div>
  </div><input type="hidden" id="_wpcmWpid" name="_wpcmWpid" value=""><input type="hidden" id="wpcmVal" name="wpcmVal" value="">
  <script type="text/javascript">
    //<![CDATA[
    var _spFormDigestRefreshInterval = 1440000;
    window.g_updateFormDigestPageLoaded = new Date();
    window.g_updateFormDigestPageLoaded.setDate(window.g_updateFormDigestPageLoaded.getDate() - 5);

    function EnsureScripts(scriptInfoList, finalFunction) {
      if (scriptInfoList.length == 0) {
        finalFunction();
      } else {
        var scriptInfo = scriptInfoList.shift();
        var rest = function() {
          EnsureScripts(scriptInfoList, finalFunction);
        };
        var defd;
        try {
          eval('defd = typeof(' + scriptInfo[1] + ');');
        } catch (e) {
          defd = 'undefined';
        }
        if (scriptInfo[2]) {
          EnsureScript(scriptInfo[0], defd, null);
          ExecuteOrDelayUntilScriptLoaded(rest, scriptInfo[0]);
        } else {
          EnsureScript(scriptInfo[0], defd, rest);
        }
      }
    }

    function PublishingRibbonUpdateRibbon() {
      var pageManager = SP.Ribbon.PageManager.get_instance();
      if (pageManager) {
        pageManager.get_commandDispatcher().executeCommand('appstatechanged', null);
      }
    }
    var _fV4UI = true;

    function _RegisterWebPartPageCUI() {
      var initInfo = {
        editable: false,
        isEditMode: false,
        allowWebPartAdder: false,
        listId: "{27ddc02b-39fa-48f0-a245-e901261ef1a0}",
        itemId: 563,
        recycleBinEnabled: true,
        enableMinorVersioning: true,
        enableModeration: true,
        forceCheckout: true,
        rootFolderUrl: "\u002fPrivati\u002fPagine",
        itemPermissions: {
          High: 16,
          Low: 196673
        }
      };
      SP.Ribbon.WebPartComponent.registerWithPageManager(initInfo);
      var wpcomp = SP.Ribbon.WebPartComponent.get_instance();
      var hid;
      hid = document.getElementById("_wpSelected");
      if (hid != null) {
        var wpid = hid.value;
        if (wpid.length > 0) {
          var zc = document.getElementById(wpid);
          if (zc != null) wpcomp.selectWebPart(zc, false);
        }
      }
      hid = document.getElementById("_wzSelected");
      if (hid != null) {
        var wzid = hid.value;
        if (wzid.length > 0) {
          wpcomp.selectWebPartZone(null, wzid);
        }
      }
    }
    ExecuteOrDelayUntilScriptLoaded(_RegisterWebPartPageCUI, "sp.ribbon.js");
    var __wpmExportWarning =
      'This Web Part Page has been personalized. As a result, one or more Web Part properties may contain confidential information. Make sure the properties contain information that is safe for others to read. After exporting this Web Part, view properties in the Web Part description file (.WebPart) by using a text editor such as Microsoft Notepad.';
    var __wpmCloseProviderWarning =
      'You are about to close this Web Part.  It is currently providing data to other Web Parts, and these connections will be deleted if this Web Part is closed.  To close this Web Part, click OK.  To keep this Web Part, click Cancel.';
    var __wpmDeleteWarning = 'You are about to permanently delete this Web Part.  Are you sure you want to do this?  To delete this Web Part, click OK.  To keep this Web Part, click Cancel.'; //]]>
  </script>
  <script type="text/javascript">
    // <![CDATA[
    // ]]>
  </script>
  <script type="text/javascript">
    RegisterSod("sp.core.js", "\u002f_layouts\u002fsp.core.js?rev=7ByNlH\u00252BvcgRJg\u00252BRCctdC0w\u00253D\u00253D");
  </script>
  <script type="text/javascript">
    RegisterSod("sp.res.resx", "\u002f_layouts\u002fScriptResx.ashx?culture=it\u00252Dit\u0026name=SP\u00252ERes\u0026rev=gvM1\u00252BlOz4\u00252FJjb57I3\u00252FNd8w\u00253D\u00253D");
  </script>
  <script type="text/javascript">
    RegisterSod("sp.ui.dialog.js", "\u002f_layouts\u002fsp.ui.dialog.js?rev=Tpcmo1\u00252FSu6R0yewHowDl5g\u00253D\u00253D");
    RegisterSodDep("sp.ui.dialog.js", "sp.core.js");
    RegisterSodDep("sp.ui.dialog.js", "sp.res.resx");
  </script>
  <script type="text/javascript">
    RegisterSod("core.js", "\u002f_layouts\u002f1040\u002fcore.js?rev=8d\u00252F05tLRo62WeVtlxkFp8w\u00253D\u00253D");
  </script>
  <script type="text/javascript">
    RegisterSod("sp.runtime.js", "\u002f_layouts\u002fsp.runtime.js?rev=IGffcZfunndj0247nOxKVg\u00253D\u00253D");
    RegisterSodDep("sp.runtime.js", "sp.core.js");
    RegisterSodDep("sp.runtime.js", "sp.res.resx");
  </script>
  <script type="text/javascript">
    RegisterSod("sp.js", "\u002f_layouts\u002fsp.js?rev=\u00252B4ZEyA892P3T0504qi0paw\u00253D\u00253D");
    RegisterSodDep("sp.js", "sp.core.js");
    RegisterSodDep("sp.js", "sp.runtime.js");
    RegisterSodDep("sp.js", "sp.ui.dialog.js");
    RegisterSodDep("sp.js", "sp.res.resx");
  </script>
  <script type="text/javascript">
    RegisterSod("cui.js", "\u002f_layouts\u002fcui.js?rev=OOyJv78CADNBeet\u00252FvTvniQ\u00253D\u00253D");
  </script>
  <script type="text/javascript">
    RegisterSod("inplview", "\u002f_layouts\u002finplview.js?rev=WB6Gy8a027aeNCq7koVCUg\u00253D\u00253D");
    RegisterSodDep("inplview", "core.js");
    RegisterSodDep("inplview", "sp.js");
  </script>
  <script type="text/javascript">
    RegisterSod("ribbon", "\u002f_layouts\u002fsp.ribbon.js?rev=F\u00252BUEJ66rbXzSvpf7nN69wQ\u00253D\u00253D");
    RegisterSodDep("ribbon", "core.js");
    RegisterSodDep("ribbon", "sp.core.js");
    RegisterSodDep("ribbon", "sp.js");
    RegisterSodDep("ribbon", "cui.js");
    RegisterSodDep("ribbon", "sp.res.resx");
    RegisterSodDep("ribbon", "sp.runtime.js");
    RegisterSodDep("ribbon", "inplview");
  </script>
  <script type="text/javascript">
    RegisterSod("sp.publishing.resources.resx", "\u002f_layouts\u002fScriptResx.ashx?culture=it\u00252Dit\u0026name=SP\u00252EPublishing\u00252EResources\u0026rev=BOIQlFaAPsKB9NGXPipkgw\u00253D\u00253D");
  </script>
  <script type="text/javascript">
    RegisterSod("sp.ui.pub.ribbon.js", "\u002f_layouts\u002fsp.ui.pub.ribbon.js?rev=epwnP\u00252FbdljnctbCVld1nnA\u00253D\u00253D");
  </script>
  <script type="text/javascript">
    RegisterSod("msstring.js", "\u002f_layouts\u002f1040\u002fmsstring.js?rev=5JKX\u00252FdWxw\u00252BZl3PDJevK9cQ\u00253D\u00253D");
  </script>
  <script type="text/javascript">
    RegisterSod("browserScript", "\u002f_layouts\u002f1040\u002fie55up.js?rev=UgTcwUTI6YcRzTMBxD93Xg\u00253D\u00253D");
  </script>
  <script type="text/javascript">
    RegisterSodDep("browserScript", "msstring.js");
  </script>
  <script type="text/javascript">
    //<![CDATA[
    Sys.Application.initialize();
    //]]>
  </script>
</form>

Name: data_anchored

<form name="data_anchored" class="vivocha_form vvc_form_disabled" onsubmit="return false;">
  <div class="vivocha_form_container nobrdnobg">
    <span class="vivocha_form_message">
      <p style="text-align: center;"> Consenso per il Trattamento Dati Personali </p>
    </span>
    <span class="vivocha_field_container">
      <span class="vivocha_field">
        <label for="name">
          <p><b>Nome:</b></p>
        </label>
        <input class="vivocha_form_text" type="text" name="name">
      </span>
    </span>
    <span class="vivocha_field_container">
      <span class="vivocha_field">
        <label>
          <p>
            <span style="text-align: left; color: #000000; font-size: 12px; font-family: Arial, Sans-Serif;"> Ho preso visione dell'informativa privacy ai sensi degli artt. 13 e 14 del Regolamento 2016/679/UE, disponibile nella sezione Privacy del
              sito PosteMobile. </span>
          </p>
        </label>
      </span>
    </span>
  </div>
  <!-- DEVELOPER NOTE: Send Button -->
  <div class="vivocha_widget_submitButtonContainer">
    <!-- span class="vivocha_widget_chatButton">avanti</span -->
    <input type="submit" value="avanti" class="startChatButton vivocha_widget_submitButton">
  </div>
</form>

Name: vivocha_media_form

<form name="vivocha_media_form" class="vivocha_media_form vvc_form_disabled" onsubmit="return false">
  <div class="vivocha_media_chatTextareaContainer vivocha_media_chatTextareaContainer_disabled">
    <textarea id="vivocha_media_chatTextarea" disabled="disabled" rows="" cols=""></textarea>
  </div>
  <!-- DEVELOPER NOTE: Send Button -->
  <div class="vivocha_media_chatButtonContainer">
    <!-- span class="vivocha_media_chatButton">invia</span -->
    <input type="submit" value="invia" class="vivocha_media_chatButton">
  </div>
</form>

Name: vivocha_media_form

<form name="vivocha_media_form" class="vivocha_media_form vvc_form_disabled" onsubmit="return false">
  <div class="vivocha_media_chatTextareaContainer">
    <textarea class="messageTextArea" id="vivocha_media_chatTextarea" rows="" cols=""></textarea>
  </div>
  <!-- DEVELOPER NOTE: Send Button -->
  <div class="vivocha_media_chatButtonContainer">
    <!-- span class="vivocha_media_chatButton">invia</span -->
    <input type="submit" value="invia" class="messageSendBtn vivocha_media_chatButton">
  </div>
</form>

Name: vivocha_media_form

<form name="vivocha_media_form" class="vivocha_media_form vvc_form_disabled" onsubmit="return false">
  <div class="vivocha_media_chatTextareaContainer vivocha_media_chatTextareaContainer_disabled">
    <textarea id="vivocha_media_chatTextarea" rows="" cols="" disabled="disabled"></textarea>
  </div>
  <!-- DEVELOPER NOTE: Send Button -->
  <div class="vivocha_media_chatButtonContainer">
    <!-- span class="vivocha_media_chatButton">invia</span -->
    <input type="submit" value="invia" class="vivocha_media_chatButton">
  </div>
</form>

Name: callback_later

<form name="callback_later" class="vivocha_form vvc_form_disabled" onsubmit="return false;">
  <div class="vivocha_form_container">
    <span class="vivocha_form_message">
      <div style="margin: 8px; outline-width: 0px; background-origin: initial; background-clip: initial;">
        <div style="margin: 8px; outline-width: 0px; background-origin: initial; background-clip: initial;">
          <p>
            <span style="font-family: arial, helvetica, sans-serif;">
              <strong>
                <span style="font-size: small;"> Prenota una chiamata </span>
              </strong>
            </span>
          </p>
        </div>
      </div>
    </span>
    <span class="vivocha_field_container">
      <span class="vivocha_field">
        <label for="callback">
          <p>
            <span style="font-family: arial,helvetica,sans-serif; font-size: small;"> Numero di telefono: </span>
          </p>
        </label>
        <input class="vivocha_form_callback" type="text" name="callback">
      </span>
    </span>
  </div>
  <!-- DEVELOPER NOTE: Send Button -->
  <div class="vivocha_widget_submitButtonContainer">
    <!-- span class="vivocha_widget_chatButton">avanti</span -->
    <input type="submit" value="avanti" class="callbackNowBtn vivocha_widget_submitButton">
  </div>
</form>

Name: callback_later

<form name="callback_later" class="vivocha_form vvc_form_disabled" onsubmit="return false;">
  <div class="vivocha_form_container" style="display: none;">
    <span class="vivocha_form_message">
      <div style="margin: 8px; outline-width: 0px; background-origin: initial; background-clip: initial;">
        <div style="margin: 8px; outline-width: 0px; background-origin: initial; background-clip: initial;">
          <p>
            <span style="font-family: arial, helvetica, sans-serif;">
              <strong>
                <span style="font-size: small;"> Prenota una chiamata </span>
              </strong>
            </span>
          </p>
        </div>
      </div>
    </span>
    <span class="vivocha_field_container">
      <span class="vivocha_field">
        <label for="callback">
          <p>
            <span style="font-family: arial,helvetica,sans-serif; font-size: small;"> Numero di telefono: </span>
          </p>
        </label>
        <input class="vivocha_form_callback" type="text" name="callback">
      </span>
    </span>
    <span class="vivocha_field_container vivocha_field_slotselection">
      <span class="vivocha_field" style="">
        <label for="dateselection">
          <p> Data Appuntamento: </p>
        </label>
        <span class="vivocha_form_slotdate hasDatepicker" id="dp1504189669304">
          <div class="ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" style="display: block;">
            <div class="ui-datepicker-header ui-widget-header ui-helper-clearfix ui-corner-all">
              <a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_1504189669301.datepicker._adjustDate('#dp1504189669304', -1, 'M');" title="<Prec"><span class="ui-icon ui-icon-circle-triangle-w">&lt;Prec</span></a><a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_1504189669301.datepicker._adjustDate('#dp1504189669304', +1, 'M');" title="Succ>"><span class="ui-icon ui-icon-circle-triangle-e">Succ&gt;</span></a>
              <div class="ui-datepicker-title"><span class="ui-datepicker-month">Agosto</span>&nbsp;<span class="ui-datepicker-year">2017</span></div>
            </div>
            <table class="ui-datepicker-calendar">
              <thead>
                <tr>
                  <th><span title="Lunedì">Lu</span></th>
                  <th><span title="Martedì">Ma</span></th>
                  <th><span title="Mercoledì">Me</span></th>
                  <th><span title="Giovedì">Gi</span></th>
                  <th><span title="Venerdì">Ve</span></th>
                  <th class="ui-datepicker-week-end"><span title="Sabato">Sa</span></th>
                  <th class="ui-datepicker-week-end"><span title="Domenica">Do</span></th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td class=" ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled">&nbsp;</td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">1</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">2</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">3</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">4</span></td>
                  <td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">5</span></td>
                  <td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">6</span></td>
                </tr>
                <tr>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">7</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">8</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">9</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">10</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">11</span></td>
                  <td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">12</span></td>
                  <td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">13</span></td>
                </tr>
                <tr>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">14</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">15</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">16</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">17</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">18</span></td>
                  <td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">19</span></td>
                  <td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">20</span></td>
                </tr>
                <tr>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">21</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">22</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">23</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">24</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">25</span></td>
                  <td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">26</span></td>
                  <td class=" ui-datepicker-week-end ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">27</span></td>
                </tr>
                <tr>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">28</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">29</span></td>
                  <td class=" ui-datepicker-unselectable ui-state-disabled null"><span class="ui-state-default">30</span></td>
                  <td class=" ui-datepicker-days-cell-over null ui-datepicker-current-day ui-datepicker-today" onclick="DP_jQuery_1504189669301.datepicker._selectDay('#dp1504189669304',7,2017, this);return false;">
                    <a class="ui-state-default ui-state-highlight ui-state-active" href="#">31</a></td>
                  <td class=" ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled">&nbsp;</td>
                  <td class=" ui-datepicker-week-end ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled">&nbsp;</td>
                  <td class=" ui-datepicker-week-end ui-datepicker-other-month ui-datepicker-unselectable ui-state-disabled">&nbsp;</td>
                </tr>
              </tbody>
            </table>
          </div>
        </span>
        <select class="vivocha_form_slottime" name="dateselection">
          <option value="">seleziona una fascia oraria</option>
          <option value="31,08,2017,14,00">16:00 - 17:00</option>
          <option value="31,08,2017,15,00">17:00 - 18:00</option>
          <option value="31,08,2017,16,00">18:00 - 19:00</option>
          <option value="31,08,2017,17,00">19:00 - 20:00</option>
          <option value="31,08,2017,18,00">20:00 - 21:00</option>
          <option value="31,08,2017,19,00">21:00 - 22:00</option>
        </select>
        <input class="vivocha_form_slotselection" type="hidden" name="dateselection">
      </span>
    </span>
  </div>
  <!-- DEVELOPER NOTE: Send Button -->
  <div class="vivocha_widget_submitButtonContainer" style="display: none;">
    <!-- span class="vivocha_widget_chatButton">avanti</span -->
    <input type="submit" value="avanti" class="vivocha_widget_submitButton">
  </div>
</form>

Text Content

Tentativo di accesso al sito da un browser protetto nel server. Abilitare gli
script e ricaricare la pagina.
 * Privati
 * Professionisti
 * Aziende
 *  RICARICA
 *  ACQUISTA
 *  ACCEDI

 
x
 


 * PROMO CREAMI EXTRA WOW 150
   
   Esclusiva online
   Valida fino al 30/09/2024
   Per nuovi clienti
   
   Credit per chiamate e SMSIllimitati*
   Traffico dati incluso 150GB in 4G+
   fino a 300Mbps
    
   
   Costo mensile
   
   €6,99
   
    
   Costo attivazione Online: 10€ costo SIM + 10€ prima ricarica comprensiva di
   primo canone.*Il servizio e' soggetto a condizioni di uso personale 

Acquista Online Acquista con operatore  


PERCHÉ SCEGLIERE POSTEMOBILE


 * RETE
   
   * I servizi di telefonia mobile e connettività internet sono erogati tramite
     accesso alla rete 4G+ di Vodafone.
     Velocità di navigazione internet fino a 300Mbps.
     Copertura della popolazione italiana su rete 4G: oltre il 99%.


 * SERVIZI INCLUSI SENZA COSTI AGGIUNTIVI
   
   * "Ti cerco" e "Richiama ora", avviso di chiamata e controllo del credito
     residuo al numero 401212.


 * HOTSPOT INCLUSO: CONDIVIDI LA TUA CONNESSIONE INTERNET
   
   * Utilizza facilmente i tuoi GIGA per navigare su internet anche con altri
     dispositivi e senza costi aggiuntivi.


 


 * RICORDA DI AVERE CREDITO SULLA SIM PER RINNOVARE L’OFFERTA.
   
   * Se non rinnovi paghi: 18cent/min, 12cent/SMS e, se hai la tariffa dati base
     abilitata, 2 euro al giorno per 500MB alla prima connessione. Se hai la
     tariffa dati base disabilitata non potrai effettuare traffico dati fino al
     rinnovo della tua offerta. Per abilitare/disabilitare la navigazione
     internet a consumo alla tariffa dati base giornaliera, invia un SMS
     gratuito al 4071160 con testo NO BLOCCO/SI BLOCCO, accedi alla tua area
     personale del sito PostePay, chiama il 160 o da App PostePay. Per maggiori
     informazioni, visita la pagina Opzione blocco tariffa dati base giornaliera
     o le FAQ.


TERMINI E CONDIZIONI

“Promo Creami EXTRA WOW 150” è disponibile per tutti i nuovi clienti privati e
titolari di partita IVA e prevede credit illimitati per chiamate e SMS e 150
giga al mese (che corrispondono a 153.600 credit) per navigare in internet.

Ogni mese, rispetto ai 10 giga inclusi nel piano standard, viene erogato un
bonus di 140 giga aggiuntivi, erogati entro 24 ore dall’attivazione della SIM
per il 1° mese e a partire dal 2° mese contestualmente al rinnovo del piano.  Il
costo del piano è di 6,99 euro e viene addebitato sul credito residuo della SIM
al momento dell’attivazione e poi ogni mese.

Per aderire all’offerta è  necessario attivare una nuova SIM Ricaricabile online
o da canale telefonico entro il 30/09/2024, senza vincolo di portabilità.

La SIM ha un costo di 10 euro. E’ prevista una ricarica iniziale di 10 euro che
copre il canone del primo mese.

La spedizione della SIM è gratuita.

 I credit illimitati possono essere utilizzati per chiamate e SMS  ma non per i
servizi a sovrapprezzo e per i servizi di gestione chiamate. I credit non
utilizzati nel periodo di riferimento andranno persi. Per la navigazione
internet ciascun credit viene scalato al raggiungimento di 1MB di navigazione.
All’esaurimento dei giga del piano la navigazione internet sarà bloccata.

È possibile acquistare in qualsiasi momento l’opzione GIGA EXTRA che consente di
continuare a navigare con 1 giga in più al costo di 1,99 euro.

Il giga di navigazione incluso nell’opzione GIGA EXTRA è disponibile fino alla
data di successivo rinnovo mensile del piano. Esaurito il giga, se non si è
acquistato un ulteriore GIGA EXTRA sempre al costo di 1,99 euro, la navigazione
internet sarà bloccata fino alla data di successivo rinnovo mensile del piano.

È possibile acquistare GIGA EXTRA da App Postepay oppure inviando un SMS al
numero 4071160 con testo “SI GIGAEXTRA”, chiamando il Servizio Fai da Te al
401212 o l’Assistenza Clienti al 160 o sulla propria Area Personale. Per
conoscere credit (minuti e sms) e giga residui del piano tariffario, la data del
rinnovo e il credito residuo, è disponibile il numero gratuito 401212 o l’App
Postepay.

L'assistenza PosteMobile è a tua disposizione per ogni esigenza di carattere
amministrativo, tecnico e commerciale al numero gratuito 160 tutti i giorni
dalle 7.00 alle 24.00. Per contattare l’assistenza dall’estero è disponibile il
numero +39371.1000.160, gratuito dai Paesi dell’Unione Europea e dai Paesi della
Area Economica Europea (EEA). Dalle altre Zone Extra UE il costo è quello di una
normale chiamata effettuata in roaming verso l’Italia. Per verificare le
tariffe clicca qui. Per scoprire tutti gli altri canali per ricevere
assistenza clicca qui.

Il mancato rinnovo del piano per credito insufficiente comporta la sospensione
dello stesso e l’applicazione della tariffa di 18 cent/min, 12 cent/SMS. Se hai
la navigazione internet a consumo abilitata, puoi continuare a navigare alla
tariffa dati base giornaliera di 2 euro/giorno per 500 MB di traffico internet
addebitati alla prima connessione della giornata. Altrimenti non sarà possibile
effettuare traffico dati fino al rinnovo della tua offerta. Ad esaurimento dei
500 MB, e solo in caso di credito residuo disponibile, verrà applicata la
tariffa extra soglia di 0,1€cent (IVA inclusa) ogni 100KB con tariffazione a
scatti anticipati di 100KB. Se rinnovi il tuo piano, il costo che hai
eventualmente sostenuto nella stessa giornata per la tariffa dati giornaliera ti
sarà riaccreditato.

Puoi sempre abilitare/disabilitare la navigazione internet a consumo alla
tariffa dati base giornaliera con un sms gratuito al 4071160 con testo NO
BLOCCO/SI BLOCCO, dalla tua Area Personale, chiamando il 160 o da App Postepay.
Per maggiori informazioni consulta le FAQ o chiama il 160.

È possibile usufruire, senza costi aggiuntivi, dei minuti e SMS previsti
dall’offerta nazionale, anche per il traffico effettuato in roaming in uno dei
Paesi dell’Unione Europea, nel rispetto delle condizioni di utilizzo corretto
previste dall’articolo 4 del Regolamento UE 2016/2286. Per la navigazione
Internet, il quantitativo di GB disponibile in roaming alle stesse condizioni
nazionali, dipende dall’importo del canone dell’offerta nazionale ed è calcolato
in base alla seguente formula:

Volume di GB = (importo del canone della tua offerta (IVA esclusa)/1,55)X2

Nello specifico piano Promo Creami EXTRA WOW 150: 7,39 GB al mese.

Oltre tali limiti è possibile navigare in UE al costo di 0,18 cent/MB in base ai
KB effettivamente consumati, fino all’esaurimento del pacchetto di GB previsto
dalla tua Offerta nazionale.

Anche il GB incluso nell’opzione Giga Extra è disponibile in roaming alle stesse
condizioni nazionali. Per maggiori informazioni sul traffico roaming nei Paesi
dell'Unione Europea clicca qui.

Per maggiori informazioni sul traffico roaming nei paesi extra UE clicca qui. 

L’hotspot o tethering è una modalità di condivisione della connessione internet
del proprio smartphone o tablet con altri dispositivi (PC, tablet o altri
smartphone). Per configurare o gestire l’hotspot verifica le impostazioni del
tuo smartphone o tablet; per la fruizione del servizio non saranno addebitati
costi aggiuntivi rispetto al tuo piano tariffario.

Tutte le tariffe telefoniche sono da intendersi IVA inclusa, valide per il
traffico nazionale, senza scatto alla risposta e con tariffazione al secondo; il
traffico dati è valido tramite APN wap.postemobile.it, con tariffazione sui KB
realmente consumati. Per la navigazione internet 4G+ è necessario essere in
possesso di uno smartphone 4G ed essere in un'area con copertura 4G+ della SIM
PosteMobile. La velocità massima di connessione in 4G+ è 300 Mbps e in 4G è
150 Mbps. La velocità di connessione dipende comunque dal grado di congestione
della rete, dalla copertura di zona, dal terminale utilizzato, dal sistema
operativo e dal browser utilizzato, dal numero di richieste alla pagina web
visitata e dalle caratteristiche del server nel quale la pagina è ospitata.

L’offerta “Promo Creami EXTRA WOW 150” è soggetta alle norme di cui agli artt.
49 e segg. del D.Lgs. 206/05 (Codice del Consumo), con facoltà per il
consumatore di esercitare il diritto di recesso entro 14 giorni dalla
conclusione del Contratto.
Per info su limitazioni, reclami e sull’esercizio del diritto di recesso
consulta la documentazione contrattuale cliccando qui o disponibile presso gli
Uffici Postali. Per informazioni su servizi, tariffe, formula di calcolo del
volume di GB in UE al costo della tariffa nazionale, copertura 4G+ e recesso,
chiama il numero gratuito 160.


DOCUMENTAZIONE

- Prospetto Informativo (Download PDF)
- Prospetto informativo Giga Extra (Download PDF)
- Documento di Sintesi Contrattuale (Download PDF)
- Condizioni Generali di Contratto – clienti Privati
- Condizioni Generali di Contratto – clienti Professionisti
- Servizio di portabilità del numero
- Carta dei Servizi PosteMobile


 

Messaggio pubblicitario con finalità promozionale. “Promo Creami EXTRA WOW 150”
è un'offerta PosteMobile di PostePay S.p.A., con sede in Roma al Viale Europa n.
190, società con socio unico soggetta a direzione e coordinamento di Poste
Italiane S.p.A., autorizzata a fornire servizi di comunicazione elettronica ai
sensi del D.Lgs. 259/03. Per le condizioni economiche e contrattuali del
servizio, per informazioni su limitazioni, modalità di esercizio di eventuali
reclami e recesso consultare la Sezione “Termini e condizioni” di questa pagina
e l documentazione presente su questo sito o presso gli Uffici Postali. App
Postepay è un’applicazione di Poste Italiane S.p.A. dedicata ai dispositivi di
tipo mobile, quali smartphone o tablet, scaricabile da App Store o Play Store, a
seconda del sistema operativo di riferimento. Tutte le tariffe telefoniche sono
da intendersi IVA inclusa, valide per il traffico nazionale, senza scatto alla
risposta; il traffico dati è tariffato sui KB realmente consumati tramite APN
wap.postemobile.it. Per la navigazione Internet 4G+ è necessario essere in
possesso di uno smartphone 4G ed essere in un'area con copertura 4G+ della SIM
PosteMobile. La velocità massima di connessione in 4G+ è 300 Mbps e in 4G è
150 Mbps. La velocità di connessione dipende comunque dal grado di congestione
della rete, dalla copertura di zona, dal terminale utilizzato, dal sistema
operativo e dal browser utilizzato, dal numero di richieste alla pagina web
visitata e dalle caratteristiche del server nel quale la pagina è ospitata.
 
 * Facebook


SERVIZI ONLINE

 * Acquista SIM Online
 * Ricarica SIM online


ASSISTENZA

 * FAQ Offerta Mobile
 * FAQ Offerta Fisso
 * Contatti


CANALI

 * Uffici Postali
 * Servizi a domicilio


SICUREZZA PER IL CONSUMATORE

 * Smishing
 * Wangiri o Pingcalls
 * Cash for SMS


L'AZIENDA

 * Chi siamo
 * Sistema di segnalazione delle violazioni
 * Anticorruzione
 * Offerta di riferimento
 * Privacy

©PostePay S.p.A. 2024 P.I. 06874351007
 * Dichiarazione di accessibilità
 * Trasparenza tariffaria
 * Trasparenza tecnica
 * Consumatori
 * Agevolazioni per utenti con disabilità
 * Cookie Policy

PostePay S.p.A. dà valore alla tua privacy
PostePay S.p.A. utilizza cookie di profilazione e altri sistemi di tracciamento
ad essi equiparabili, anche di terze parti, al fine di assicurarti una migliore
esperienza su questo sito web e di effettuare comunicazioni ed interazioni in
linea con le tue preferenze. Puoi accettare tutti i cookie cliccando su
"Accetto" oppure rifiutarli cliccando la "X" o il bottone "Non Accetto". Puoi
sempre modificare le tue preferenze accedendo alla "Cookie Policy".
Per maggiori informazioni sui cookie utilizzati da questo sito web e sul
trattamento dei tuoi dati personali, ti invitiamo a consultare la nostra Cookie
Policy e Informativa Privacy del sito web
AccettoNon Accetto


Al momento non è possibile prenotare una chiamata. Ti preghiamo di riprovare più
tardi.



Trattamento dati



Consenso per il Trattamento Dati Personali

Nome:

Ho preso visione dell'informativa privacy ai sensi degli artt. 13 e 14 del
Regolamento 2016/679/UE, disponibile nella sezione Privacy del sito PosteMobile.



Servizio Clienti PosteMobile

0
OK
Ti stiamo mettendo in contatto con il primo Operatore disponibile ...



Allega documento


Servizio Clienti PosteMobile

1
OK
Ti stiamo mettendo in contatto con il primo Operatore disponibile ...
Tutti gli operatori sono al momento impegnati, ti preghiamo di riprovare!



Allega documento


Servizio Clienti PosteMobile

1
OK
Ti stiamo mettendo in contatto con il primo Operatore disponibile ...

L'operatore chiara è entrato in chat

chiara: Ciao Giorgio! Sono chiara, operatore del Servizio Clienti PosteMobile.
Come posso esserti utile?

hai abbandonato la chat
Grazie per aver utilizzato il servizio



Allega documento


Servizio Clienti PosteMobile



Ciao, un operatore ti ricontatterà quanto prima!
(ti ricordiamo che il servizio assistenza è attivo dalle 7:00 alle 24:00)

Purtroppo non è stato possibile soddisfare la tua richiesta.

Riprova più tardi.




chiudi

Prenota una chiamata

Numero di telefono:



Servizio Clienti PosteMobile



Ciao, un operatore ti ricontatterà quanto prima!
(ti ricordiamo che il servizio assistenza è attivo dalle 7:00 alle 24:00)

Purtroppo non è stato possibile soddisfare la tua richiesta.

Riprova più tardi.




chiudi

Prenota una chiamata

Numero di telefono:

Data Appuntamento:

<PrecSucc>
Agosto 2017

LuMaMeGiVeSaDo 12345678910111213141516171819202122232425262728293031   

seleziona una fascia oraria16:00 - 17:0017:00 - 18:0018:00 - 19:0019:00 -
20:0020:00 - 21:0021:00 - 22:00