| Server IP : 85.158.181.41 / Your IP : 216.73.217.12 Web Server : Apache System : Linux cloud9-vm129 6.1.178+1-ph #ph SMP PREEMPT_DYNAMIC Wed Jul 29 09:00:54 UTC 2026 x86_64 User : moncbefd ( 1024) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/moncbefd/www.moneta.at/GXModules/Gambio/Hub/Build/Shop/Javascript/ |
Upload File : |
'use strict';
if (window.NodeList && !NodeList.prototype.forEach) {
NodeList.prototype.forEach = Array.prototype.forEach;
}
var payPalButtonSettings = {};
var payPalText = {};
var currentScript = document.currentScript;
var initDisplayModeECS_ButtonReplace = function initDisplayModeECS_ButtonReplace() {
var paypalButtonContainer = document.querySelector('#paypal-button-container'),
footerTotalRow = document.querySelector('table.order-total tr.footer.total'),
newTotalRow = document.createElement('tr'),
newTotalRowCell = document.createElement('td');
newTotalRowCell.colSpan = '2';
newTotalRowCell.style.width = '100%';
newTotalRowCell.style.borderTop = 'none';
newTotalRowCell.appendChild(paypalButtonContainer);
newTotalRow.appendChild(newTotalRowCell);
footerTotalRow.parentNode.appendChild(newTotalRow);
footerTotalRow.querySelectorAll('td').forEach(function (td) {
td.style.paddingBottom = '15px';
});
};
var initDisplayModeECS = function initDisplayModeECS() {
if (window.location.search.match(/(\?|&)display_mode=ecs($|&)/)) {
var checkoutButtons = document.querySelector('div.checkout-buttons');
if (checkoutButtons) {
checkoutButtons.style.display = 'none';
}
var checkoutSubmitButton = document.querySelector('div.shopping-cart-button a.button-submit');
if (checkoutSubmitButton === null) {
checkoutSubmitButton = document.querySelector('tr.checkout-button');
}
if (checkoutSubmitButton) {
checkoutSubmitButton.style.display = 'none';
}
var shoppingCartButton = document.querySelector('div.shopping-cart-button');
if (shoppingCartButton) {
shoppingCartButton.classList.add('paypal-ecs-mode');
}
var ppiContainer = document.querySelector('div.paypalinstallmentcontainer');
if (ppiContainer) {
ppiContainer.style.display = 'none';
}
initDisplayModeECS_ButtonReplace();
}
};
var initJSSDKPayPalButton = function initJSSDKPayPalButton() {
initDisplayModeECS();
paypal.Buttons({
style: payPalButtonSettings.style,
createOrder: function createOrder(data, actions) {
return $.ajax({
url: payPalButtonSettings.createPaymentUrl,
dataType: 'json'
}).then(function (data) {
var token = void 0;
if (data.payment) {
for (var link in data.payment.links) {
if (data.payment.links[link].rel === 'approval_url') {
token = data.payment.links[link].href.match(/EC-\w+/)[0];
}
}
} else {
//throw new Error(payPalText.paypalUnavailable);
return false;
}
return token;
});
},
onApprove: function onApprove(data, actions) {
$.ajax({
url: payPalButtonSettings.authorizedPaymentUrl,
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
data: 'paymentID=' + data.paymentID + '&payerID=' + data.payerID
}).then(function (res) {
console.debug(res);
document.location = payPalButtonSettings.checkoutUrl;
});
},
onError: function onError(err) {
var ppButtonContainer = document.querySelector('#paypal-button-container');
var ecsIntro = document.querySelector('div.ecs_intro');
if (ppButtonContainer) {
var errorMessage = document.querySelector('div.paypal-error');
if (!errorMessage) {
errorMessage = document.createElement('div');
errorMessage.classList.add('paypal-error');
errorMessage.classList.add('alert');
errorMessage.classList.add('alert-warning');
errorMessage.style.textAlign = 'left';
errorMessage.style.color = '#555';
}
errorMessage.innerText = payPalText.paypalUnavailable + ' ';
var shoppingCartButton = document.querySelector('div.shopping-cart-button');
if (shoppingCartButton && shoppingCartButton.classList.contains('paypal-ecs-mode')) {
var linkUrl = window.location.toString().replace('display_mode=ecs', 'display_mode=normal');
var continueLink = document.createElement('a');
continueLink.setAttribute('href', linkUrl);
continueLink.innerText = payPalText.errorContinue;
errorMessage.append(continueLink);
}
ppButtonContainer.parentNode.append(errorMessage);
ppButtonContainer.style.display = 'none';
}
if (ecsIntro) {
ecsIntro.style.display = 'none';
}
}
}).render('#paypal-button-container');
var observerTarget = document.querySelector('#paypal-button-container');
var observer = new MutationObserver(function (mutations, observer) {
mutations.forEach(function (mutation) {
// console.debug(mutation);
if (mutation.removedNodes.length > 0) {
console.info('re-init PayPal buttons');
initJSSDKPayPalButton();
}
});
});
observer.observe(observerTarget, { childList: true });
};
document.addEventListener('DOMContentLoaded', function () {
var jssdk = document.createElement('script');
jssdk.src = payPalButtonSettings.jssrc;
jssdk.onload = initJSSDKPayPalButton;
if (currentScript) {
currentScript.parentNode.insertBefore(jssdk, currentScript);
} else {
document.querySelector('script:last-of-type').parentNode.appendChild(jssdk);
}
});
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNob3AvSmF2YXNjcmlwdC9QYXlQYWxTbWFydEJ1dHRvbi5qcyJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJOb2RlTGlzdCIsInByb3RvdHlwZSIsImZvckVhY2giLCJBcnJheSIsInBheVBhbEJ1dHRvblNldHRpbmdzIiwicGF5UGFsVGV4dCIsImN1cnJlbnRTY3JpcHQiLCJkb2N1bWVudCIsImluaXREaXNwbGF5TW9kZUVDU19CdXR0b25SZXBsYWNlIiwicGF5cGFsQnV0dG9uQ29udGFpbmVyIiwicXVlcnlTZWxlY3RvciIsImZvb3RlclRvdGFsUm93IiwibmV3VG90YWxSb3ciLCJjcmVhdGVFbGVtZW50IiwibmV3VG90YWxSb3dDZWxsIiwiY29sU3BhbiIsInN0eWxlIiwid2lkdGgiLCJib3JkZXJUb3AiLCJhcHBlbmRDaGlsZCIsInBhcmVudE5vZGUiLCJxdWVyeVNlbGVjdG9yQWxsIiwidGQiLCJwYWRkaW5nQm90dG9tIiwiaW5pdERpc3BsYXlNb2RlRUNTIiwibG9jYXRpb24iLCJzZWFyY2giLCJtYXRjaCIsImNoZWNrb3V0QnV0dG9ucyIsImRpc3BsYXkiLCJjaGVja291dFN1Ym1pdEJ1dHRvbiIsInNob3BwaW5nQ2FydEJ1dHRvbiIsImNsYXNzTGlzdCIsImFkZCIsInBwaUNvbnRhaW5lciIsImluaXRKU1NES1BheVBhbEJ1dHRvbiIsInBheXBhbCIsIkJ1dHRvbnMiLCJjcmVhdGVPcmRlciIsImRhdGEiLCJhY3Rpb25zIiwiJCIsImFqYXgiLCJ1cmwiLCJjcmVhdGVQYXltZW50VXJsIiwiZGF0YVR5cGUiLCJ0aGVuIiwidG9rZW4iLCJwYXltZW50IiwibGluayIsImxpbmtzIiwicmVsIiwiaHJlZiIsIm9uQXBwcm92ZSIsImF1dGhvcml6ZWRQYXltZW50VXJsIiwibWV0aG9kIiwiaGVhZGVycyIsInBheW1lbnRJRCIsInBheWVySUQiLCJyZXMiLCJjb25zb2xlIiwiZGVidWciLCJjaGVja291dFVybCIsIm9uRXJyb3IiLCJlcnIiLCJwcEJ1dHRvbkNvbnRhaW5lciIsImVjc0ludHJvIiwiZXJyb3JNZXNzYWdlIiwidGV4dEFsaWduIiwiY29sb3IiLCJpbm5lclRleHQiLCJwYXlwYWxVbmF2YWlsYWJsZSIsImNvbnRhaW5zIiwibGlua1VybCIsInRvU3RyaW5nIiwicmVwbGFjZSIsImNvbnRpbnVlTGluayIsInNldEF0dHJpYnV0ZSIsImVycm9yQ29udGludWUiLCJhcHBlbmQiLCJyZW5kZXIiLCJvYnNlcnZlclRhcmdldCIsIm9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm11dGF0aW9ucyIsIm11dGF0aW9uIiwicmVtb3ZlZE5vZGVzIiwibGVuZ3RoIiwiaW5mbyIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJhZGRFdmVudExpc3RlbmVyIiwianNzZGsiLCJzcmMiLCJqc3NyYyIsIm9ubG9hZCIsImluc2VydEJlZm9yZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFJQSxPQUFPQyxRQUFQLElBQW1CLENBQUNBLFNBQVNDLFNBQVQsQ0FBbUJDLE9BQTNDLEVBQW9EO0FBQ25ERixVQUFTQyxTQUFULENBQW1CQyxPQUFuQixHQUE2QkMsTUFBTUYsU0FBTixDQUFnQkMsT0FBN0M7QUFDQTs7QUFFRCxJQUFJRSx1QkFBdUIsRUFBM0I7QUFDQSxJQUFJQyxhQUFhLEVBQWpCO0FBQ0EsSUFBSUMsZ0JBQWdCQyxTQUFTRCxhQUE3Qjs7QUFFQSxJQUFJRSxtQ0FBbUMsU0FBbkNBLGdDQUFtQyxHQUFXO0FBQ2pELEtBQUlDLHdCQUF3QkYsU0FBU0csYUFBVCxDQUF1QiwwQkFBdkIsQ0FBNUI7QUFBQSxLQUNDQyxpQkFBaUJKLFNBQVNHLGFBQVQsQ0FBdUIsbUNBQXZCLENBRGxCO0FBQUEsS0FFQ0UsY0FBY0wsU0FBU00sYUFBVCxDQUF1QixJQUF2QixDQUZmO0FBQUEsS0FHQ0Msa0JBQWtCUCxTQUFTTSxhQUFULENBQXVCLElBQXZCLENBSG5CO0FBSUFDLGlCQUFnQkMsT0FBaEIsR0FBMEIsR0FBMUI7QUFDQUQsaUJBQWdCRSxLQUFoQixDQUFzQkMsS0FBdEIs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akM7QUFDQUYsT0FBTUcsTUFBTixHQUFlNUQscUJBQWY7QUFDQSxLQUFHN0IsYUFBSCxFQUFrQjtBQUNqQkEsZ0JBQWNjLFVBQWQsQ0FBeUI0RSxZQUF6QixDQUFzQ0osS0FBdEMsRUFBNkN0RixhQUE3QztBQUNBLEVBRkQsTUFFTztBQUNOQyxXQUFTRyxhQUFULENBQXVCLHFCQUF2QixFQUE4Q1UsVUFBOUMsQ0FBeURELFdBQXpELENBQXFFeUUsS0FBckU7QUFDQTtBQUNELENBVEQiLCJmaWxlIjoiU2hvcC9KYXZhc2NyaXB0L1BheVBhbFNtYXJ0QnV0dG9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaWYgKHdpbmRvdy5Ob2RlTGlzdCAmJiAhTm9kZUxpc3QucHJvdG90eXBlLmZvckVhY2gpIHtcblx0Tm9kZUxpc3QucHJvdG90eXBlLmZvckVhY2ggPSBBcnJheS5wcm90b3R5cGUuZm9yRWFjaDtcbn1cblxubGV0IHBheVBhbEJ1dHRvblNldHRpbmdzID0ge307XG5sZXQgcGF5UGFsVGV4dCA9IHt9O1xubGV0IGN1cnJlbnRTY3JpcHQgPSBkb2N1bWVudC5jdXJyZW50U2NyaXB0O1xuXG5sZXQgaW5pdERpc3BsYXlNb2RlRUNTX0J1dHRvblJlcGxhY2UgPSBmdW5jdGlvbigpIHtcblx0bGV0IHBheXBhbEJ1dHRvbkNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwYXlwYWwtYnV0dG9uLWNvbnRhaW5lcicpLFxuXHRcdGZvb3RlclRvdGFsUm93ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGFibGUub3JkZXItdG90YWwgdHIuZm9vdGVyLnRvdGFsJyksXG5cdFx0bmV3VG90YWxSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpLFxuXHRcdG5ld1RvdGFsUm93Q2VsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7XG5cdG5ld1RvdGFsUm93Q2VsbC5jb2xTcGFuID0gJzInO1xuXHRuZXdUb3RhbFJvd0NlbGwuc3R5bGUud2lkdGggPSAnMTAwJSc7XG5cdG5ld1RvdGFsUm93Q2VsbC5zdHlsZS5ib3JkZXJUb3AgPSAnbm9uZSc7XG5cdG5ld1RvdGFsUm93Q2VsbC5hcHBlbmRDaGlsZChwYXlwYWxCdXR0b25Db250YWluZXIpO1xuXHRuZXdUb3RhbFJvdy5hcHBlbmRDaGlsZChuZXdUb3RhbFJvd0NlbGwpO1xuXHRmb290ZXJUb3RhbFJvdy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKG5ld1RvdGFsUm93KTtcblx0Zm9vdGVyVG90YWxSb3cucXVlcnlTZWxlY3RvckFsbCgndGQnKS5mb3JFYWNoKGZ1bmN0aW9uKHRkKSB7XG5cdFx0dGQuc3R5bGUucGFkZGluZ0JvdHRvbSA9ICcxNXB4Jztcblx0fSk7XG59O1xuXG5sZXQgaW5pdERpc3BsYXlNb2RlRUNTID0gZnVuY3Rpb24oKSB7XG5cdGlmKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gubWF0Y2goLyhcXD98JilkaXNwbGF5X21vZGU9ZWNzKCR8JikvKSkge1xuXHRcdGxldCBjaGVja291dEJ1dHRvbnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaXYuY2hlY2tvdXQtYnV0dG9ucycpO1xuXHRcdGlmKGNoZWNrb3V0QnV0dG9ucykge1xuXHRcdFx0Y2hlY2tvdXRCdXR0b25zLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0fVxuXHRcdGxldCBjaGVja291dFN1Ym1pdEJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Rpdi5zaG9wcGluZy1jYXJ0LWJ1dHRvbiBhLmJ1dHRvbi1zdWJtaXQnKTtcblx0XHRpZihjaGVja291dFN1Ym1pdEJ1dHRvbiA9PT0gbnVsbCkge1xuXHRcdFx0Y2hlY2tvdXRTdWJtaXRCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0ci5jaGVja291dC1idXR0b24nKTtcblx0XHR9XG5cdFx0aWYoY2hlY2tvdXRTdWJtaXRCdXR0b24pIHtcblx0XHRcdGNoZWNrb3V0U3VibWl0QnV0dG9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0fVxuXHRcdGxldCBzaG9wcGluZ0NhcnRCdXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaXYuc2hvcHBpbmctY2FydC1idXR0b24nKTtcblx0XHRpZihzaG9wcGluZ0NhcnRCdXR0b24pIHtcblx0XHRcdHNob3BwaW5nQ2FydEJ1dHRvbi5jbGFzc0xpc3QuYWRkKCdwYXlwYWwtZWNzLW1vZGUnKTtcblx0XHR9XG5cdFx0bGV0IHBwaUNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Rpdi5wYXlwYWxpbnN0YWxsbWVudGNvbnRhaW5lcicpO1xuXHRcdGlmKHBwaUNvbnRhaW5lcikge1xuXHRcdFx0cHBpQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0fVxuXHRcdGluaXREaXNwbGF5TW9kZUVDU19CdXR0b25SZXBsYWNlKCk7XG5cdH1cbn1cblxubGV0IGluaXRKU1NES1BheVBhbEJ1dHRvbiA9IGZ1bmN0aW9uKCkge1xuXHRpbml0RGlzcGxheU1vZGVFQ1MoKTtcblxuXHRwYXlwYWwuQnV0dG9ucyh7XG5cdFx0c3R5bGU6IHBheVBhbEJ1dHRvblNldHRpbmdzLnN0eWxlLFxuXHRcdGNyZWF0ZU9yZGVyOiBmdW5jdGlvbihkYXRhLCBhY3Rpb25zKSB7XG5cdFx0XHRyZXR1cm4gJC5hamF4KHtcblx0XHRcdFx0dXJsOiBwYXlQYWxCdXR0b25TZXR0aW5ncy5jcmVhdGVQYXltZW50VXJsLFxuXHRcdFx0XHRkYXRhVHlwZTogJ2pzb24nXG5cdFx0XHR9KS50aGVuKGZ1bmN0aW9uKGRhdGEpIHtcblx0XHRcdFx0bGV0IHRva2VuO1xuXHRcdFx0XHRpZiAoZGF0YS5wYXltZW50KSB7XG5cdFx0XHRcdFx0Zm9yIChsZXQgbGluayBpbiBkYXRhLnBheW1lbnQubGlua3MpIHtcblx0XHRcdFx0XHRcdGlmIChkYXRhLnBheW1lbnQubGlua3NbbGlua10ucmVsID09PSAnYXBwcm92YWxfdXJsJykge1xuXHRcdFx0XHRcdFx0XHR0b2tlbiA9IGRhdGEucGF5bWVudC5saW5rc1tsaW5rXS5ocmVmLm1hdGNoKC9FQy1cXHcrLylbMF07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdC8vdGhyb3cgbmV3IEVycm9yKHBheVBhbFRleHQucGF5cGFsVW5hdmFpbGFibGUpO1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdG9rZW47XG5cdFx0XHR9KTtcblx0XHR9LFxuXHRcdG9uQXBwcm92ZTogZnVuY3Rpb24oZGF0YSwgYWN0aW9ucykge1xuXHRcdFx0JC5hamF4KHtcblx0XHRcdFx0dXJsOiBwYXlQYWxCdXR0b25TZXR0aW5ncy5hdXRob3JpemVkUGF5bWVudFVybCxcblx0XHRcdFx0bWV0aG9kOiAncG9zdCcsXG5cdFx0XHRcdGhlYWRlcnM6IHtcblx0XHRcdFx0XHQnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD1VVEYtOCdcblx0XHRcdFx0fSxcblx0XHRcdFx0ZGF0YTogJ3BheW1lbnRJRD0nICsgZGF0YS5wYXltZW50SUQgKyAnJnBheWVySUQ9JyArIGRhdGEucGF5ZXJJRFxuXHRcdFx0fSkudGhlbihmdW5jdGlvbiAocmVzKSB7XG5cdFx0XHRcdGNvbnNvbGUuZGVidWcocmVzKTtcblx0XHRcdFx0ZG9jdW1lbnQubG9jYXRpb24gPSBwYXlQYWxCdXR0b25TZXR0aW5ncy5jaGVja291dFVybDtcblx0XHRcdH0pO1xuXHRcdH0sXG5cdFx0b25FcnJvcjogZnVuY3Rpb24oZXJyKSB7XG5cdFx0XHRsZXQgcHBCdXR0b25Db250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjcGF5cGFsLWJ1dHRvbi1jb250YWluZXInKTtcblx0XHRcdGxldCBlY3NJbnRybyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Rpdi5lY3NfaW50cm8nKTtcblx0XHRcdGlmKHBwQnV0dG9uQ29udGFpbmVyKSB7XG5cdFx0XHRcdGxldCBlcnJvck1lc3NhZ2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaXYucGF5cGFsLWVycm9yJyk7XG5cdFx0XHRcdGlmKCFlcnJvck1lc3NhZ2UpIHtcblx0XHRcdFx0XHRlcnJvck1lc3NhZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblx0XHRcdFx0XHRlcnJvck1lc3NhZ2UuY2xhc3NMaXN0LmFkZCgncGF5cGFsLWVycm9yJyk7XG5cdFx0XHRcdFx0ZXJyb3JNZXNzYWdlLmNsYXNzTGlzdC5hZGQoJ2FsZXJ0Jyk7XG5cdFx0XHRcdFx0ZXJyb3JNZXNzYWdlLmNsYXNzTGlzdC5hZGQoJ2FsZXJ0LXdhcm5pbmcnKTtcblx0XHRcdFx0XHRlcnJvck1lc3NhZ2Uuc3R5bGUudGV4dEFsaWduID0gJ2xlZnQnO1xuXHRcdFx0XHRcdGVycm9yTWVzc2FnZS5zdHlsZS5jb2xvciA9ICcjNTU1Jztcblx0XHRcdFx0fVxuXHRcdFx0XHRlcnJvck1lc3NhZ2UuaW5uZXJUZXh0ID0gcGF5UGFsVGV4dC5wYXlwYWxVbmF2YWlsYWJsZSArICcgJztcblx0XHRcdFx0bGV0IHNob3BwaW5nQ2FydEJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Rpdi5zaG9wcGluZy1jYXJ0LWJ1dHRvbicpO1xuXHRcdFx0XHRpZihzaG9wcGluZ0NhcnRCdXR0b24gJiYgc2hvcHBpbmdDYXJ0QnV0dG9uLmNsYXNzTGlzdC5jb250YWlucygncGF5cGFsLWVjcy1tb2RlJykpIHtcblx0XHRcdFx0XHRsZXQgbGlua1VybCA9IHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpLnJlcGxhY2UoJ2Rpc3BsYXlfbW9kZT1lY3MnLCAnZGlzcGxheV9tb2RlPW5vcm1hbCcpO1xuXHRcdFx0XHRcdGxldCBjb250aW51ZUxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG5cdFx0XHRcdFx0Y29udGludWVMaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGxpbmtVcmwpO1xuXHRcdFx0XHRcdGNvbnRpbnVlTGluay5pbm5lclRleHQgPSBwYXlQYWxUZXh0LmVycm9yQ29udGludWU7XG5cdFx0XHRcdFx0ZXJyb3JNZXNzYWdlLmFwcGVuZChjb250aW51ZUxpbmspO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHBwQnV0dG9uQ29udGFpbmVyLnBhcmVudE5vZGUuYXBwZW5kKGVycm9yTWVzc2FnZSk7XG5cdFx0XHRcdHBwQnV0dG9uQ29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0XHR9XG5cdFx0XHRpZihlY3NJbnRybykge1xuXHRcdFx0XHRlY3NJbnRyby5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXHRcdFx0fVxuXHRcdH1cblx0fSkucmVuZGVyKCcjcGF5cGFsLWJ1dHRvbi1jb250YWluZXInKTtcblx0XG5cdGxldCBvYnNlcnZlclRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNwYXlwYWwtYnV0dG9uLWNvbnRhaW5lcicpO1xuXHRsZXQgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihtdXRhdGlvbnMsIG9ic2VydmVyKSB7XG5cdFx0bXV0YXRpb25zLmZvckVhY2goZnVuY3Rpb24obXV0YXRpb24pIHtcblx0XHRcdC8vIGNvbnNvbGUuZGVidWcobXV0YXRpb24pO1xuXHRcdFx0aWYobXV0YXRpb24ucmVtb3ZlZE5vZGVzLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0Y29uc29sZS5pbmZvKCdyZS1pbml0IFBheVBhbCBidXR0b25zJyk7XG5cdFx0XHRcdGluaXRKU1NES1BheVBhbEJ1dHRvbigpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9KTtcblx0b2JzZXJ2ZXIub2JzZXJ2ZShvYnNlcnZlclRhcmdldCwge2NoaWxkTGlzdDogdHJ1ZX0pO1xufTtcblxuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uKCkge1xuXHRsZXQganNzZGsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblx0anNzZGsuc3JjID0gcGF5UGFsQnV0dG9uU2V0dGluZ3MuanNzcmM7XG5cdGpzc2RrLm9ubG9hZCA9IGluaXRKU1NES1BheVBhbEJ1dHRvbjtcblx0aWYoY3VycmVudFNjcmlwdCkge1xuXHRcdGN1cnJlbnRTY3JpcHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoanNzZGssIGN1cnJlbnRTY3JpcHQpO1xuXHR9IGVsc2Uge1xuXHRcdGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdDpsYXN0LW9mLXR5cGUnKS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGpzc2RrKTtcblx0fVxufSk7XG4iXX0=