New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@formspark/formtrack

Package Overview
Dependencies
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@formspark/formtrack - npm Package Compare versions

Comparing version 0.1.12 to 0.1.13

5

dist/index.d.ts
import "url-search-params-polyfill";
declare global {
interface Window {
__FORMTRACK_SUBMIT_LISTENER__: boolean | undefined;
}
}

4

dist/index.js
/*! For license information please see index.js.LICENSE.txt */
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("Formtrack",[],e):"object"==typeof exports?exports.Formtrack=e():t.Formtrack=e()}("undefined"!=typeof self?self:this,(function(){return(()=>{var t={607:(t,e,r)=>{"use strict";r(449);var n=function(t){var e=t.formElement,r=t.id,n=t.name,o=t.value,i=document.getElementById(r);if(!i){var a=document.createElement("input");a.setAttribute("type","hidden"),a.setAttribute("id",r),a.setAttribute("name",n),e.appendChild(a),i=a}i.setAttribute("value",o)};"undefined"!=typeof document&&document.addEventListener("submit",(function(t){try{var e=t.target;if(e){var r=e;if(void 0!==r.dataset.formtrack)for(var o=new URLSearchParams(window.location.search),i=["referrer","utm_campaign","utm_content","utm_medium","utm_source","utm_term"],a=0;a<i.length;a++){var c=i[a],u="formtrack_"+c,s=c,f=o.get(c);f&&n({formElement:r,id:u,name:s,value:f})}}}catch(t){console.error(t)}return!0}))},449:function(t,e,r){!function(t){"use strict";var e,r=function(){try{if(t.URLSearchParams&&"bar"===new t.URLSearchParams("foo=bar").get("foo"))return t.URLSearchParams}catch(t){}return null}(),n=r&&"a=1"===new r({a:1}).toString(),o=r&&"+"===new r("s=%2B").get("s"),i=!r||((e=new r).append("s"," &"),"s=+%26"===e.toString()),a=f.prototype,c=!(!t.Symbol||!t.Symbol.iterator);if(!(r&&n&&o&&i)){a.append=function(t,e){d(this.__URLSearchParams__,t,e)},a.delete=function(t){delete this.__URLSearchParams__[t]},a.get=function(t){var e=this.__URLSearchParams__;return this.has(t)?e[t][0]:null},a.getAll=function(t){var e=this.__URLSearchParams__;return this.has(t)?e[t].slice(0):[]},a.has=function(t){return y(this.__URLSearchParams__,t)},a.set=function(t,e){this.__URLSearchParams__[t]=[""+e]},a.toString=function(){var t,e,r,n,o=this.__URLSearchParams__,i=[];for(e in o)for(r=h(e),t=0,n=o[e];t<n.length;t++)i.push(r+"="+h(n[t]));return i.join("&")};var u=!!o&&r&&!n&&t.Proxy;Object.defineProperty(t,"URLSearchParams",{value:u?new Proxy(r,{construct:function(t,e){return new t(new f(e[0]).toString())}}):f});var s=t.URLSearchParams.prototype;s.polyfill=!0,s.forEach=s.forEach||function(t,e){var r=m(this.toString());Object.getOwnPropertyNames(r).forEach((function(n){r[n].forEach((function(r){t.call(e,r,n,this)}),this)}),this)},s.sort=s.sort||function(){var t,e,r,n=m(this.toString()),o=[];for(t in n)o.push(t);for(o.sort(),e=0;e<o.length;e++)this.delete(o[e]);for(e=0;e<o.length;e++){var i=o[e],a=n[i];for(r=0;r<a.length;r++)this.append(i,a[r])}},s.keys=s.keys||function(){var t=[];return this.forEach((function(e,r){t.push(r)})),p(t)},s.values=s.values||function(){var t=[];return this.forEach((function(e){t.push(e)})),p(t)},s.entries=s.entries||function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),p(t)},c&&(s[t.Symbol.iterator]=s[t.Symbol.iterator]||s.entries)}function f(t){((t=t||"")instanceof URLSearchParams||t instanceof f)&&(t=t.toString()),this.__URLSearchParams__=m(t)}function h(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'\(\)~]|%20|%00/g,(function(t){return e[t]}))}function l(t){return t.replace(/[ +]/g,"%20").replace(/(%[a-f0-9]{2})+/gi,(function(t){return decodeURIComponent(t)}))}function p(e){var r={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return c&&(r[t.Symbol.iterator]=function(){return r}),r}function m(t){var e={};if("object"==typeof t)if(v(t))for(var r=0;r<t.length;r++){var n=t[r];if(!v(n)||2!==n.length)throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");d(e,n[0],n[1])}else for(var o in t)t.hasOwnProperty(o)&&d(e,o,t[o]);else{0===t.indexOf("?")&&(t=t.slice(1));for(var i=t.split("&"),a=0;a<i.length;a++){var c=i[a],u=c.indexOf("=");-1<u?d(e,l(c.slice(0,u)),l(c.slice(u+1))):c&&d(e,l(c),"")}}return e}function d(t,e,r){var n="string"==typeof r?r:null!=r&&"function"==typeof r.toString?r.toString():JSON.stringify(r);y(t,e)?t[e].push(n):t[e]=[n]}function v(t){return!!t&&"[object Array]"===Object.prototype.toString.call(t)}function y(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(void 0!==r.g?r.g:"undefined"!=typeof window?window:this)}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r(607)})().default}));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Gb3JtdHJhY2svd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL0Zvcm10cmFjay8uL3NyYy9pbmRleC50cyIsIndlYnBhY2s6Ly9Gb3JtdHJhY2svLi9ub2RlX21vZHVsZXMvdXJsLXNlYXJjaC1wYXJhbXMtcG9seWZpbGwvaW5kZXguanMiLCJ3ZWJwYWNrOi8vRm9ybXRyYWNrL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0Zvcm10cmFjay93ZWJwYWNrL3N0YXJ0dXAiLCJ3ZWJwYWNrOi8vRm9ybXRyYWNrL3dlYnBhY2svcnVudGltZS9nbG9iYWwiXSwibmFtZXMiOlsicm9vdCIsImZhY3RvcnkiLCJleHBvcnRzIiwibW9kdWxlIiwiZGVmaW5lIiwiYW1kIiwic2VsZiIsInRoaXMiLCJhcHBlbmRPclVwZGF0ZUZvcm10cmFja0lucHV0IiwiZm9ybUVsZW1lbnQiLCJpZCIsIm5hbWUiLCJ2YWx1ZSIsImlucHV0IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIm5ld0lucHV0IiwiY3JlYXRlRWxlbWVudCIsInNldEF0dHJpYnV0ZSIsImFwcGVuZENoaWxkIiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2ZW50IiwiZm9ybUV2ZW50VGFyZ2V0IiwidGFyZ2V0IiwiZGF0YXNldCIsImZvcm10cmFjayIsInNlYXJjaFBhcmFtZXRlcnMiLCJVUkxTZWFyY2hQYXJhbXMiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInNlYXJjaCIsInN1cHBvcnRlZFBhcmFtZXRlck5hbWVzIiwiaSIsImxlbmd0aCIsInBhcmFtZXRlck5hbWUiLCJnZXQiLCJlIiwiY29uc29sZSIsImVycm9yIiwiYW1wZXJzYW5kVGVzdCIsIm5hdGl2ZVVSTFNlYXJjaFBhcmFtcyIsImlzU3VwcG9ydE9iamVjdENvbnN0cnVjdG9yIiwiYSIsInRvU3RyaW5nIiwiZGVjb2Rlc1BsdXNlc0NvcnJlY3RseSIsImVuY29kZXNBbXBlcnNhbmRzQ29ycmVjdGx5IiwiYXBwZW5kIiwicHJvdG90eXBlIiwiVVJMU2VhcmNoUGFyYW1zUG9seWZpbGwiLCJpdGVyYWJsZSIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiYXBwZW5kVG8iLCJkaWN0IiwiaGFzIiwiZ2V0QWxsIiwic2xpY2UiLCJoYXNPd25Qcm9wZXJ0eSIsInNldCIsImtleSIsInF1ZXJ5IiwiZW5jb2RlIiwicHVzaCIsImpvaW4iLCJ1c2VQcm94eSIsIlByb3h5IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJjb25zdHJ1Y3QiLCJhcmdzIiwiVVNQUHJvdG8iLCJwb2x5ZmlsbCIsImZvckVhY2giLCJjYWxsYmFjayIsInRoaXNBcmciLCJwYXJzZVRvRGljdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJjYWxsIiwic29ydCIsImsiLCJqIiwia2V5cyIsInZhbHVlcyIsIml0ZW1zIiwiaXRlbSIsIm1ha2VJdGVyYXRvciIsImVudHJpZXMiLCJzdHIiLCJyZXBsYWNlIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwibWF0Y2giLCJkZWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJhcnIiLCJuZXh0Iiwic2hpZnQiLCJkb25lIiwidW5kZWZpbmVkIiwiaXNBcnJheSIsIlR5cGVFcnJvciIsImluZGV4T2YiLCJwYWlycyIsInNwbGl0IiwiaW5kZXgiLCJ2YWwiLCJKU09OIiwic3RyaW5naWZ5Iiwib2JqIiwicHJvcCIsImciLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwiZ2xvYmFsVGhpcyIsIkZ1bmN0aW9uIl0sIm1hcHBpbmdzIjoiO0NBQUEsU0FBMkNBLEVBQU1DLEdBQzFCLGlCQUFaQyxTQUEwQyxpQkFBWEMsT0FDeENBLE9BQU9ELFFBQVVELElBQ1EsbUJBQVhHLFFBQXlCQSxPQUFPQyxJQUM5Q0QsT0FBTyxZQUFhLEdBQUlILEdBQ0UsaUJBQVpDLFFBQ2RBLFFBQW1CLFVBQUlELElBRXZCRCxF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bENBLFNBQW1FLG1CQUFuQkEsRUFBTStCLFNBQTBCL0IsRUFBTStCLFdBQWE4RCxLQUFLQyxVQUFVOUYsR0FJbEg2QyxFQUFlSixFQUFNMUMsR0FDckIwQyxFQUFLMUMsR0FBTW1ELEtBQUswQyxHQUVoQm5ELEVBQUsxQyxHQUFRLENBQUM2RixHQUl0QixTQUFTTixFQUFRTSxHQUNiLFFBQVNBLEdBQU8sbUJBQXFCdEMsT0FBT25CLFVBQVVKLFNBQVNrQyxLQUFLMkIsR0FHeEUsU0FBUy9DLEVBQWVrRCxFQUFLQyxHQUN6QixPQUFPMUMsT0FBT25CLFVBQVVVLGVBQWVvQixLQUFLOEIsRUFBS0MsSUFqVnpELE1Bb1ZxQixJQUFYLEVBQUFDLEVBQXlCLEVBQUFBLEVBQTRCLG9CQUFYakYsT0FBeUJBLE9BQVNyQixRQzNWbEZ1RyxFQUEyQixHQUcvQixTQUFTQyxFQUFvQkMsR0FFNUIsR0FBR0YsRUFBeUJFLEdBQzNCLE9BQU9GLEVBQXlCRSxHQUFVOUcsUUFHM0MsSUFBSUMsRUFBUzJHLEVBQXlCRSxHQUFZLENBR2pEOUcsUUFBUyxJQU9WLE9BSEErRyxFQUFvQkQsR0FBVW5DLEtBQUsxRSxFQUFPRCxRQUFTQyxFQUFRQSxFQUFPRCxRQUFTNkcsR0FHcEU1RyxFQUFPRCxRQ2pCZixPQ0hBNkcsRUFBb0JGLEVBQUksV0FDdkIsR0FBMEIsaUJBQWZLLFdBQXlCLE9BQU9BLFdBQzNDLElBQ0MsT0FBTzNHLE1BQVEsSUFBSTRHLFNBQVMsY0FBYixHQUNkLE1BQU8vRSxHQUNSLEdBQXNCLGlCQUFYUixPQUFxQixPQUFPQSxRQUxqQixHREdqQm1GLEVBQW9CLE0iLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShcIkZvcm10cmFja1wiLCBbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJGb3JtdHJhY2tcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiRm9ybXRyYWNrXCJdID0gZmFjdG9yeSgpO1xufSkodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6IHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuICIsImltcG9ydCBcInVybC1zZWFyY2gtcGFyYW1zLXBvbHlmaWxsXCI7XG5cbmNvbnN0IGFwcGVuZE9yVXBkYXRlRm9ybXRyYWNrSW5wdXQgPSAoe1xuICBmb3JtRWxlbWVudCxcbiAgaWQsXG4gIG5hbWUsXG4gIHZhbHVlLFxufToge1xuICBmb3JtRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0pID0+IHtcbiAgbGV0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICBpZiAoIWlucHV0KSB7XG4gICAgY29uc3QgbmV3SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gICAgbmV3SW5wdXQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImhpZGRlblwiKTtcbiAgICBuZXdJbnB1dC5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBpZCk7XG4gICAgbmV3SW5wdXQuc2V0QXR0cmlidXRlKFwibmFtZVwiLCBuYW1lKTtcbiAgICBmb3JtRWxlbWVudC5hcHBlbmRDaGlsZChuZXdJbnB1dCk7XG4gICAgaW5wdXQgPSBuZXdJbnB1dDtcbiAgfVxuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiLCB2YWx1ZSk7XG59O1xuXG5jb25zdCBhZGRTdWJtaXRMaXN0ZW5lciA9ICgpID0+IHtcbiAgaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJzdWJtaXRcIiwgKGV2ZW50KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBmb3JtRXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGlmIChmb3JtRXZlbnRUYXJnZXQpIHtcbiAgICAgICAgICBjb25zdCBmb3JtRWxlbWVudCA9IGZvcm1FdmVudFRhcmdldCBhcyBIVE1MRm9ybUVsZW1lbnQ7XG4gICAgICAgICAgY29uc3Qgc2hvdWxkVHJhY2sgPVxuICAgICAgICAgICAgdHlwZW9mIGZvcm1FbGVtZW50LmRhdGFzZXQuZm9ybXRyYWNrICE9PSBcInVuZGVmaW5lZFwiO1xuICAgICAgICAgIGlmIChzaG91bGRUcmFjaykge1xuICAgICAgICAgICAgY29uc3Qgc2VhcmNoUGFyYW1ldGVycyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoXG4gICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5zZWFyY2hcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBzdXBwb3J0ZWRQYXJhbWV0ZXJOYW1lcyA9IFtcbiAgICAgICAgICAgICAgXCJyZWZlcnJlclwiLFxuICAgICAgICAgICAgICBcInV0bV9jYW1wYWlnblwiLFxuICAgICAgICAgICAgICBcInV0bV9jb250ZW50XCIsXG4gICAgICAgICAgICAgIFwidXRtX21lZGl1bVwiLFxuICAgICAgICAgICAgICBcInV0bV9zb3VyY2VcIixcbiAgICAgICAgICAgICAgXCJ1dG1fdGVybVwiLFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3VwcG9ydGVkUGFyYW1ldGVyTmFtZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVyTmFtZSA9IHN1cHBvcnRlZFBhcmFtZXRlck5hbWVzW2ldO1xuICAgICAgICAgICAgICBjb25zdCBpZCA9IGBmb3JtdHJhY2tfJHtwYXJhbWV0ZXJOYW1lfWA7XG4gICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBwYXJhbWV0ZXJOYW1lO1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHNlYXJjaFBhcmFtZXRlcnMuZ2V0KHBhcmFtZXRlck5hbWUpO1xuICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBhcHBlbmRPclVwZGF0ZUZvcm10cmFja0lucHV0KHtcbiAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50LFxuICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICB9XG59O1xuXG5hZGRTdWJtaXRMaXN0ZW5lcigpO1xuIiwiLyoqXG4gKlxuICpcbiAqIEBhdXRob3IgSmVycnkgQmVuZHkgPGplcnJ5QGljZXdpbmdjYy5jb20+XG4gKiBAbGljZW5jZSBNSVRcbiAqXG4gKi9cblxuKGZ1bmN0aW9uKHNlbGYpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICB2YXIgbmF0aXZlVVJMU2VhcmNoUGFyYW1zID0gKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgLy8gIzQxIEZpeCBpc3N1ZSBpbiBSTlxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5VUkxTZWFyY2hQYXJhbXMgJiYgKG5ldyBzZWxmLlVSTFNlYXJjaFBhcmFtcygnZm9vPWJhcicpKS5nZXQoJ2ZvbycpID09PSAnYmFyJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5VUkxTZWFyY2hQYXJhbXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KSgpLFxuICAgICAgICBpc1N1cHBvcnRPYmplY3RDb25zdHJ1Y3RvciA9IG5hdGl2ZVVSTFNlYXJjaFBhcmFtcyAmJiAobmV3IG5hdGl2ZVVSTFNlYXJjaFBhcmFtcyh7YTogMX0pKS50b1N0cmluZygpID09PSAnYT0xJyxcbiAgICAgICAgLy8gVGhlcmUgaXMgYSBidWcgaW4gc2FmYXJpIDEwLjEgKGFuZCBlYXJsaWVyKSB0aGF0IGluY29ycmVjdGx5IGRlY29kZXMgYCUyQmAgYXMgYW4gZW1wdHkgc3BhY2UgYW5kIG5vdCBhIHBsdXMuXG4gICAgICAgIGRlY29kZXNQbHVzZXNDb3JyZWN0bHkgPSBuYXRpdmVVUkxTZWFyY2hQYXJhbXMgJiYgKG5ldyBuYXRpdmVVUkxTZWFyY2hQYXJhbXMoJ3M9JTJCJykuZ2V0KCdzJykgPT09ICcrJyksXG4gICAgICAgIF9fVVJMU2VhcmNoUGFyYW1zX18gPSBcIl9fVVJMU2VhcmNoUGFyYW1zX19cIixcbiAgICAgICAgLy8gRml4IGJ1ZyBpbiBFZGdlIHdoaWNoIGNhbm5vdCBlbmNvZGUgJyAmJyBjb3JyZWN0bHlcbiAgICAgICAgZW5jb2Rlc0FtcGVyc2FuZHNDb3JyZWN0bHkgPSBuYXRpdmVVUkxTZWFyY2hQYXJhbXMgPyAoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgYW1wZXJzYW5kVGVzdCA9IG5ldyBuYXRpdmVVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICAgICAgICAgIGFtcGVyc2FuZFRlc3QuYXBwZW5kKCdzJywgJyAmJyk7XG4gICAgICAgICAgICByZXR1cm4gYW1wZXJzYW5kVGVzdC50b1N0cmluZygpID09PSAncz0rJTI2JztcbiAgICAgICAgfSkoKSA6IHRydWUsXG4gICAgICAgIHByb3RvdHlwZSA9IFVSTFNlYXJjaFBhcmFtc1BvbHlmaWxsLnByb3RvdHlwZSxcbiAgICAgICAgaXRlcmFibGUgPSAhIShzZWxmLlN5bWJvbCAmJiBzZWxmLlN5bWJvbC5pdGVyYXRvcik7XG5cbiAgICBpZiAobmF0aXZlVVJMU2VhcmNoUGFyYW1zICYmIGlzU3VwcG9ydE9iamVjdENvbnN0cnVjdG9yICYmIGRlY29kZXNQbHVzZXNDb3JyZWN0bHkgJiYgZW5jb2Rlc0FtcGVyc2FuZHNDb3JyZWN0bHkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogTWFrZSBhIFVSTFNlYXJjaFBhcmFtcyBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIHtvYmplY3R8c3RyaW5nfFVSTFNlYXJjaFBhcmFtc30gc2VhcmNoXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICovXG4gICAgZnVuY3Rpb24gVVJMU2VhcmNoUGFyYW1zUG9seWZpbGwoc2VhcmNoKSB7XG4gICAgICAgIHNlYXJjaCA9IHNlYXJjaCB8fCBcIlwiO1xuXG4gICAgICAgIC8vIHN1cHBvcnQgY29uc3RydWN0IG9iamVjdCB3aXRoIGFub3RoZXIgVVJMU2VhcmNoUGFyYW1zIGluc3RhbmNlXG4gICAgICAgIGlmIChzZWFyY2ggaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXMgfHwgc2VhcmNoIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zUG9seWZpbGwpIHtcbiAgICAgICAgICAgIHNlYXJjaCA9IHNlYXJjaC50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMgW19fVVJMU2VhcmNoUGFyYW1zX19dID0gcGFyc2VUb0RpY3Qoc2VhcmNoKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEFwcGVuZHMgYSBzcGVjaWZpZWQga2V5L3ZhbHVlIHBhaXIgYXMgYSBuZXcgc2VhcmNoIHBhcmFtZXRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAgICovXG4gICAgcHJvdG90eXBlLmFwcGVuZCA9IGZ1bmN0aW9uKG5hbWUsIHZhbHVlKSB7XG4gICAgICAgIGFwcGVuZFRvKHRoaXMgW19fVVJMU2VhcmNoUGFyYW1zX19dLCBuYW1lLCB2YWx1ZSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgdGhlIGdpdmVuIHNlYXJjaCBwYXJhbWV0ZXIsIGFuZCBpdHMgYXNzb2NpYXRlZCB2YWx1ZSxcbiAgICAgKiBmcm9tIHRoZSBsaXN0IG9mIGFsbCBzZWFyY2ggcGFyYW1ldGVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAgICovXG4gICAgcHJvdG90eXBlWydkZWxldGUnXSA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMgW19fVVJMU2VhcmNoUGFyYW1zX19dIFtuYW1lXTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZmlyc3QgdmFsdWUgYXNzb2NpYXRlZCB0byB0aGUgZ2l2ZW4gc2VhcmNoIHBhcmFtZXRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAgICogQHJldHVybnMge3N0cmluZ3xudWxsfVxuICAgICAqL1xuICAgIHByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbihuYW1lKSB7XG4gICAgICAgIHZhciBkaWN0ID0gdGhpcyBbX19VUkxTZWFyY2hQYXJhbXNfX107XG4gICAgICAgIHJldHVybiB0aGlzLmhhcyhuYW1lKSA/IGRpY3RbbmFtZV1bMF0gOiBudWxsO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCB0aGUgdmFsdWVzIGFzc29jaWF0aW9uIHdpdGggYSBnaXZlbiBzZWFyY2ggcGFyYW1ldGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9XG4gICAgICovXG4gICAgcHJvdG90eXBlLmdldEFsbCA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICAgICAgdmFyIGRpY3QgPSB0aGlzIFtfX1VSTFNlYXJjaFBhcmFtc19fXTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzKG5hbWUpID8gZGljdCBbbmFtZV0uc2xpY2UoMCkgOiBbXTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIEJvb2xlYW4gaW5kaWNhdGluZyBpZiBzdWNoIGEgc2VhcmNoIHBhcmFtZXRlciBleGlzdHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgICAqL1xuICAgIHByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbihuYW1lKSB7XG4gICAgICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eSh0aGlzIFtfX1VSTFNlYXJjaFBhcmFtc19fXSwgbmFtZSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgdG8gYSBnaXZlbiBzZWFyY2ggcGFyYW1ldGVyIHRvXG4gICAgICogdGhlIGdpdmVuIHZhbHVlLiBJZiB0aGVyZSB3ZXJlIHNldmVyYWwgdmFsdWVzLCBkZWxldGUgdGhlXG4gICAgICogb3RoZXJzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICAgKi9cbiAgICBwcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gc2V0KG5hbWUsIHZhbHVlKSB7XG4gICAgICAgIHRoaXMgW19fVVJMU2VhcmNoUGFyYW1zX19dW25hbWVdID0gWycnICsgdmFsdWVdO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5nIGEgcXVlcnkgc3RyaW5nIHN1aXRhYmxlIGZvciB1c2UgaW4gYSBVUkwuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgICAqL1xuICAgIHByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZGljdCA9IHRoaXNbX19VUkxTZWFyY2hQYXJhbXNfX10sIHF1ZXJ5ID0gW10sIGksIGtleSwgbmFtZSwgdmFsdWU7XG4gICAgICAgIGZvciAoa2V5IGluIGRpY3QpIHtcbiAgICAgICAgICAgIG5hbWUgPSBlbmNvZGUoa2V5KTtcbiAgICAgICAgICAgIGZvciAoaSA9IDAsIHZhbHVlID0gZGljdFtrZXldOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBxdWVyeS5wdXNoKG5hbWUgKyAnPScgKyBlbmNvZGUodmFsdWVbaV0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVlcnkuam9pbignJicpO1xuICAgIH07XG5cbiAgICAvLyBUaGVyZSBpcyBhIGJ1ZyBpbiBTYWZhcmkgMTAuMSBhbmQgYFByb3h5YGluZyBpdCBpcyBub3QgZW5vdWdoLlxuICAgIHZhciBmb3JTdXJlVXNlUG9seWZpbGwgPSAhZGVjb2Rlc1BsdXNlc0NvcnJlY3RseTtcbiAgICB2YXIgdXNlUHJveHkgPSAoIWZvclN1cmVVc2VQb2x5ZmlsbCAmJiBuYXRpdmVVUkxTZWFyY2hQYXJhbXMgJiYgIWlzU3VwcG9ydE9iamVjdENvbnN0cnVjdG9yICYmIHNlbGYuUHJveHkpO1xuICAgIC8qXG4gICAgICogQXBwbHkgcG9saWZpbGwgdG8gZ2xvYmFsIG9iamVjdCBhbmQgYXBwZW5kIG90aGVyIHByb3RvdHlwZSBpbnRvIGl0XG4gICAgICovXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYsICdVUkxTZWFyY2hQYXJhbXMnLCB7XG4gICAgICAgIHZhbHVlOiAodXNlUHJveHkgP1xuICAgICAgICAgICAgLy8gU2FmYXJpIDEwLjAgZG9lc24ndCBzdXBwb3J0IFByb3h5LCBzbyBpdCB3b24ndCBleHRlbmQgVVJMU2VhcmNoUGFyYW1zIG9uIHNhZmFyaSAxMC4wXG4gICAgICAgICAgICBuZXcgUHJveHkobmF0aXZlVVJMU2VhcmNoUGFyYW1zLCB7XG4gICAgICAgICAgICAgICAgY29uc3RydWN0OiBmdW5jdGlvbih0YXJnZXQsIGFyZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyB0YXJnZXQoKG5ldyBVUkxTZWFyY2hQYXJhbXNQb2x5ZmlsbChhcmdzWzBdKS50b1N0cmluZygpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkgOlxuICAgICAgICAgICAgVVJMU2VhcmNoUGFyYW1zUG9seWZpbGwpXG4gICAgfSk7XG5cbiAgICB2YXIgVVNQUHJvdG8gPSBzZWxmLlVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGU7XG5cbiAgICBVU1BQcm90by5wb2x5ZmlsbCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gICAgICogQHBhcmFtIHtvYmplY3R9IHRoaXNBcmdcbiAgICAgKi9cbiAgICBVU1BQcm90by5mb3JFYWNoID0gVVNQUHJvdG8uZm9yRWFjaCB8fCBmdW5jdGlvbihjYWxsYmFjaywgdGhpc0FyZykge1xuICAgICAgICB2YXIgZGljdCA9IHBhcnNlVG9EaWN0KHRoaXMudG9TdHJpbmcoKSk7XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGRpY3QpLmZvckVhY2goZnVuY3Rpb24obmFtZSkge1xuICAgICAgICAgICAgZGljdFtuYW1lXS5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzQXJnLCB2YWx1ZSwgbmFtZSwgdGhpcyk7XG4gICAgICAgICAgICB9LCB0aGlzKTtcbiAgICAgICAgfSwgdGhpcyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFNvcnQgYWxsIG5hbWUtdmFsdWUgcGFpcnNcbiAgICAgKi9cbiAgICBVU1BQcm90by5zb3J0ID0gVVNQUHJvdG8uc29ydCB8fCBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGRpY3QgPSBwYXJzZVRvRGljdCh0aGlzLnRvU3RyaW5nKCkpLCBrZXlzID0gW10sIGssIGksIGo7XG4gICAgICAgIGZvciAoayBpbiBkaWN0KSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goayk7XG4gICAgICAgIH1cbiAgICAgICAga2V5cy5zb3J0KCk7XG5cbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXNbJ2RlbGV0ZSddKGtleXNbaV0pO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXSwgdmFsdWVzID0gZGljdFtrZXldO1xuICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHZhbHVlcy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kKGtleSwgdmFsdWVzW2pdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIGFsbG93aW5nIHRvIGdvIHRocm91Z2ggYWxsIGtleXMgb2ZcbiAgICAgKiB0aGUga2V5L3ZhbHVlIHBhaXJzIGNvbnRhaW5lZCBpbiB0aGlzIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtmdW5jdGlvbn1cbiAgICAgKi9cbiAgICBVU1BQcm90by5rZXlzID0gVVNQUHJvdG8ua2V5cyB8fCBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBuYW1lKSB7XG4gICAgICAgICAgICBpdGVtcy5wdXNoKG5hbWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1ha2VJdGVyYXRvcihpdGVtcyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gaXRlcmF0b3IgYWxsb3dpbmcgdG8gZ28gdGhyb3VnaCBhbGwgdmFsdWVzIG9mXG4gICAgICogdGhlIGtleS92YWx1ZSBwYWlycyBjb250YWluZWQgaW4gdGhpcyBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259XG4gICAgICovXG4gICAgVVNQUHJvdG8udmFsdWVzID0gVVNQUHJvdG8udmFsdWVzIHx8IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgaXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbWFrZUl0ZXJhdG9yKGl0ZW1zKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBpdGVyYXRvciBhbGxvd2luZyB0byBnbyB0aHJvdWdoIGFsbCBrZXkvdmFsdWVcbiAgICAgKiBwYWlycyBjb250YWluZWQgaW4gdGhpcyBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259XG4gICAgICovXG4gICAgVVNQUHJvdG8uZW50cmllcyA9IFVTUFByb3RvLmVudHJpZXMgfHwgZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBpdGVtcyA9IFtdO1xuICAgICAgICB0aGlzLmZvckVhY2goZnVuY3Rpb24oaXRlbSwgbmFtZSkge1xuICAgICAgICAgICAgaXRlbXMucHVzaChbbmFtZSwgaXRlbV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1ha2VJdGVyYXRvcihpdGVtcyk7XG4gICAgfTtcblxuXG4gICAgaWYgKGl0ZXJhYmxlKSB7XG4gICAgICAgIFVTUFByb3RvW3NlbGYuU3ltYm9sLml0ZXJhdG9yXSA9IFVTUFByb3RvW3NlbGYuU3ltYm9sLml0ZXJhdG9yXSB8fCBVU1BQcm90by5lbnRyaWVzO1xuICAgIH1cblxuXG4gICAgZnVuY3Rpb24gZW5jb2RlKHN0cikge1xuICAgICAgICB2YXIgcmVwbGFjZSA9IHtcbiAgICAgICAgICAgICchJzogJyUyMScsXG4gICAgICAgICAgICBcIidcIjogJyUyNycsXG4gICAgICAgICAgICAnKCc6ICclMjgnLFxuICAgICAgICAgICAgJyknOiAnJTI5JyxcbiAgICAgICAgICAgICd+JzogJyU3RScsXG4gICAgICAgICAgICAnJTIwJzogJysnLFxuICAgICAgICAgICAgJyUwMCc6ICdcXHgwMCdcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnJlcGxhY2UoL1shJ1xcKFxcKX5dfCUyMHwlMDAvZywgZnVuY3Rpb24obWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiByZXBsYWNlW21hdGNoXTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZGVjb2RlKHN0cikge1xuICAgICAgICByZXR1cm4gc3RyXG4gICAgICAgICAgICAucmVwbGFjZSgvWyArXS9nLCAnJTIwJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8oJVthLWYwLTldezJ9KSsvaWcsIGZ1bmN0aW9uKG1hdGNoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChtYXRjaCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYWtlSXRlcmF0b3IoYXJyKSB7XG4gICAgICAgIHZhciBpdGVyYXRvciA9IHtcbiAgICAgICAgICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGFyci5zaGlmdCgpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7ZG9uZTogdmFsdWUgPT09IHVuZGVmaW5lZCwgdmFsdWU6IHZhbHVlfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXRlcmFibGUpIHtcbiAgICAgICAgICAgIGl0ZXJhdG9yW3NlbGYuU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlcmF0b3I7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcGFyc2VUb0RpY3Qoc2VhcmNoKSB7XG4gICAgICAgIHZhciBkaWN0ID0ge307XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZWFyY2ggPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIC8vIGlmIGBzZWFyY2hgIGlzIGFuIGFycmF5LCB0cmVhdCBpdCBhcyBhIHNlcXVlbmNlXG4gICAgICAgICAgICBpZiAoaXNBcnJheShzZWFyY2gpKSB7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWFyY2gubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSBzZWFyY2hbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KGl0ZW0pICYmIGl0ZW0ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbyhkaWN0LCBpdGVtWzBdLCBpdGVtWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJGYWlsZWQgdG8gY29uc3RydWN0ICdVUkxTZWFyY2hQYXJhbXMnOiBTZXF1ZW5jZSBpbml0aWFsaXplciBtdXN0IG9ubHkgY29udGFpbiBwYWlyIGVsZW1lbnRzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBzZWFyY2gpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlYXJjaC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbyhkaWN0LCBrZXksIHNlYXJjaFtrZXldKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gcmVtb3ZlIGZpcnN0ICc/J1xuICAgICAgICAgICAgaWYgKHNlYXJjaC5pbmRleE9mKFwiP1wiKSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHNlYXJjaCA9IHNlYXJjaC5zbGljZSgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHBhaXJzID0gc2VhcmNoLnNwbGl0KFwiJlwiKTtcbiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcGFpcnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBwYWlycyBbal0sXG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gdmFsdWUuaW5kZXhPZignPScpO1xuXG4gICAgICAgICAgICAgICAgaWYgKC0xIDwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG8oZGljdCwgZGVjb2RlKHZhbHVlLnNsaWNlKDAsIGluZGV4KSksIGRlY29kZSh2YWx1ZS5zbGljZShpbmRleCArIDEpKSk7XG5cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvKGRpY3QsIGRlY29kZSh2YWx1ZSksICcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkaWN0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFwcGVuZFRvKGRpY3QsIG5hbWUsIHZhbHVlKSB7XG4gICAgICAgIHZhciB2YWwgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUgOiAoXG4gICAgICAgICAgICB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZS50b1N0cmluZyA9PT0gJ2Z1bmN0aW9uJyA/IHZhbHVlLnRvU3RyaW5nKCkgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyAjNDcgUHJldmVudCB1c2luZyBgaGFzT3duUHJvcGVydHlgIGFzIGEgcHJvcGVydHkgbmFtZVxuICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkoZGljdCwgbmFtZSkpIHtcbiAgICAgICAgICAgIGRpY3RbbmFtZV0ucHVzaCh2YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGljdFtuYW1lXSA9IFt2YWxdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNBcnJheSh2YWwpIHtcbiAgICAgICAgcmV0dXJuICEhdmFsICYmICdbb2JqZWN0IEFycmF5XScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGhhc093blByb3BlcnR5KG9iaiwgcHJvcCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCk7XG4gICAgfVxuXG59KSh0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJyA/IGdsb2JhbCA6ICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHRoaXMpKTtcbiIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdGlmKF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0pIHtcblx0XHRyZXR1cm4gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gbW9kdWxlIGV4cG9ydHMgbXVzdCBiZSByZXR1cm5lZCBmcm9tIHJ1bnRpbWUgc28gZW50cnkgaW5saW5pbmcgaXMgZGlzYWJsZWRcbi8vIHN0YXJ0dXBcbi8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xucmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oNjA3KTtcbiIsIl9fd2VicGFja19yZXF1aXJlX18uZyA9IChmdW5jdGlvbigpIHtcblx0aWYgKHR5cGVvZiBnbG9iYWxUaGlzID09PSAnb2JqZWN0JykgcmV0dXJuIGdsb2JhbFRoaXM7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIHRoaXMgfHwgbmV3IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ29iamVjdCcpIHJldHVybiB3aW5kb3c7XG5cdH1cbn0pKCk7Il0sInNvdXJjZVJvb3QiOiIifQ==
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("Formtrack",[],e):"object"==typeof exports?exports.Formtrack=e():t.Formtrack=e()}("undefined"!=typeof self?self:this,(function(){return(()=>{var t={607:(t,e,r)=>{"use strict";r(449);var n=function(t){var e=t.formElement,r=t.id,n=t.name,o=t.value,i=document.getElementById(r);if(!i){var a=document.createElement("input");a.setAttribute("type","hidden"),a.setAttribute("id",r),a.setAttribute("name",n),e.appendChild(a),i=a}i.setAttribute("value",o)};"undefined"!=typeof document&&(window.__FORMTRACK_SUBMIT_LISTENER__||(window.__FORMTRACK_SUBMIT_LISTENER__=!0,document.addEventListener("submit",(function(t){try{var e=t.target;if(e){var r=e;if(void 0!==r.dataset.formtrack)for(var o=new URLSearchParams(window.location.search),i=["referrer","utm_campaign","utm_content","utm_medium","utm_source","utm_term"],a=0;a<i.length;a++){var c=i[a],u="formtrack_"+c,s=c,f=o.get(c);f&&n({formElement:r,id:u,name:s,value:f})}}}catch(t){console.error(t)}return!0}))))},449:function(t,e,r){!function(t){"use strict";var e,r=function(){try{if(t.URLSearchParams&&"bar"===new t.URLSearchParams("foo=bar").get("foo"))return t.URLSearchParams}catch(t){}return null}(),n=r&&"a=1"===new r({a:1}).toString(),o=r&&"+"===new r("s=%2B").get("s"),i=!r||((e=new r).append("s"," &"),"s=+%26"===e.toString()),a=f.prototype,c=!(!t.Symbol||!t.Symbol.iterator);if(!(r&&n&&o&&i)){a.append=function(t,e){d(this.__URLSearchParams__,t,e)},a.delete=function(t){delete this.__URLSearchParams__[t]},a.get=function(t){var e=this.__URLSearchParams__;return this.has(t)?e[t][0]:null},a.getAll=function(t){var e=this.__URLSearchParams__;return this.has(t)?e[t].slice(0):[]},a.has=function(t){return v(this.__URLSearchParams__,t)},a.set=function(t,e){this.__URLSearchParams__[t]=[""+e]},a.toString=function(){var t,e,r,n,o=this.__URLSearchParams__,i=[];for(e in o)for(r=h(e),t=0,n=o[e];t<n.length;t++)i.push(r+"="+h(n[t]));return i.join("&")};var u=!!o&&r&&!n&&t.Proxy;Object.defineProperty(t,"URLSearchParams",{value:u?new Proxy(r,{construct:function(t,e){return new t(new f(e[0]).toString())}}):f});var s=t.URLSearchParams.prototype;s.polyfill=!0,s.forEach=s.forEach||function(t,e){var r=m(this.toString());Object.getOwnPropertyNames(r).forEach((function(n){r[n].forEach((function(r){t.call(e,r,n,this)}),this)}),this)},s.sort=s.sort||function(){var t,e,r,n=m(this.toString()),o=[];for(t in n)o.push(t);for(o.sort(),e=0;e<o.length;e++)this.delete(o[e]);for(e=0;e<o.length;e++){var i=o[e],a=n[i];for(r=0;r<a.length;r++)this.append(i,a[r])}},s.keys=s.keys||function(){var t=[];return this.forEach((function(e,r){t.push(r)})),p(t)},s.values=s.values||function(){var t=[];return this.forEach((function(e){t.push(e)})),p(t)},s.entries=s.entries||function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),p(t)},c&&(s[t.Symbol.iterator]=s[t.Symbol.iterator]||s.entries)}function f(t){((t=t||"")instanceof URLSearchParams||t instanceof f)&&(t=t.toString()),this.__URLSearchParams__=m(t)}function h(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'\(\)~]|%20|%00/g,(function(t){return e[t]}))}function l(t){return t.replace(/[ +]/g,"%20").replace(/(%[a-f0-9]{2})+/gi,(function(t){return decodeURIComponent(t)}))}function p(e){var r={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return c&&(r[t.Symbol.iterator]=function(){return r}),r}function m(t){var e={};if("object"==typeof t)if(_(t))for(var r=0;r<t.length;r++){var n=t[r];if(!_(n)||2!==n.length)throw new TypeError("Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements");d(e,n[0],n[1])}else for(var o in t)t.hasOwnProperty(o)&&d(e,o,t[o]);else{0===t.indexOf("?")&&(t=t.slice(1));for(var i=t.split("&"),a=0;a<i.length;a++){var c=i[a],u=c.indexOf("=");-1<u?d(e,l(c.slice(0,u)),l(c.slice(u+1))):c&&d(e,l(c),"")}}return e}function d(t,e,r){var n="string"==typeof r?r:null!=r&&"function"==typeof r.toString?r.toString():JSON.stringify(r);v(t,e)?t[e].push(n):t[e]=[n]}function _(t){return!!t&&"[object Array]"===Object.prototype.toString.call(t)}function v(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(void 0!==r.g?r.g:"undefined"!=typeof window?window:this)}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r(607)})().default}));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Gb3JtdHJhY2svd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL0Zvcm10cmFjay8uL3NyYy9pbmRleC50cyIsIndlYnBhY2s6Ly9Gb3JtdHJhY2svLi9ub2RlX21vZHVsZXMvdXJsLXNlYXJjaC1wYXJhbXMtcG9seWZpbGwvaW5kZXguanMiLCJ3ZWJwYWNrOi8vRm9ybXRyYWNrL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0Zvcm10cmFjay93ZWJwYWNrL3N0YXJ0dXAiLCJ3ZWJwYWNrOi8vRm9ybXRyYWNrL3dlYnBhY2svcnVudGltZS9nbG9iYWwiXSwibmFtZXMiOlsicm9vdCIsImZhY3RvcnkiLCJleHBvcnRzIiwibW9kdWxlIiwiZGVmaW5lIiwiYW1kIiwic2VsZiIsInRoaXMiLCJhcHBlbmRPclVwZGF0ZUZvcm10cmFja0lucHV0IiwiZm9ybUVsZW1lbnQiLCJpZCIsIm5hbWUiLCJ2YWx1ZSIsImlucHV0IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsIm5ld0lucHV0IiwiY3JlYXRlRWxlbWVudCIsInNldEF0dHJpYnV0ZSIsImFwcGVuZENoaWxkIiwid2luZG93IiwiX19GT1JNVFJBQ0tfU1VCTUlUX0xJU1RFTkVSX18iLCJhZGRFdmVudExpc3RlbmVyIiwiZXZlbnQiLCJmb3JtRXZlbnRUYXJnZXQiLCJ0YXJnZXQiLCJkYXRhc2V0IiwiZm9ybXRyYWNrIiwic2VhcmNoUGFyYW1ldGVycyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwic3VwcG9ydGVkUGFyYW1ldGVyTmFtZXMiLCJpIiwibGVuZ3RoIiwicGFyYW1ldGVyTmFtZSIsImdldCIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJhbXBlcnNhbmRUZXN0IiwibmF0aXZlVVJMU2VhcmNoUGFyYW1zIiwiaXNTdXBwb3J0T2JqZWN0Q29uc3RydWN0b3IiLCJhIiwidG9TdHJpbmciLCJkZWNvZGVzUGx1c2VzQ29ycmVjdGx5IiwiZW5jb2Rlc0FtcGVyc2FuZHNDb3JyZWN0bHkiLCJhcHBlbmQiLCJwcm90b3R5cGUiLCJVUkxTZWFyY2hQYXJhbXNQb2x5ZmlsbCIsIml0ZXJhYmxlIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJhcHBlbmRUbyIsImRpY3QiLCJoYXMiLCJnZXRBbGwiLCJzbGljZSIsImhhc093blByb3BlcnR5Iiwic2V0Iiwia2V5IiwicXVlcnkiLCJlbmNvZGUiLCJwdXNoIiwiam9pbiIsInVzZVByb3h5IiwiUHJveHkiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbnN0cnVjdCIsImFyZ3MiLCJVU1BQcm90byIsInBvbHlmaWxsIiwiZm9yRWFjaCIsImNhbGxiYWNrIiwidGhpc0FyZyIsInBhcnNlVG9EaWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImNhbGwiLCJzb3J0IiwiayIsImoiLCJrZXlzIiwidmFsdWVzIiwiaXRlbXMiLCJpdGVtIiwibWFrZUl0ZXJhdG9yIiwiZW50cmllcyIsInN0ciIsInJlcGxhY2UiLCJlbmNvZGVVUklDb21wb25lbnQiLCJtYXRjaCIsImRlY29kZSIsImRlY29kZVVSSUNvbXBvbmVudCIsImFyciIsIm5leHQiLCJzaGlmdCIsImRvbmUiLCJ1bmRlZmluZWQiLCJpc0FycmF5IiwiVHlwZUVycm9yIiwiaW5kZXhPZiIsInBhaXJzIiwic3BsaXQiLCJpbmRleCIsInZhbCIsIkpTT04iLCJzdHJpbmdpZnkiLCJvYmoiLCJwcm9wIiwiZyIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsIl9fd2VicGFja19tb2R1bGVzX18iLCJnbG9iYWxUaGlzIiwiRnVuY3Rpb24iXSwibWFwcGluZ3MiOiI7Q0FBQSxTQUEyQ0EsRUFBTUMsR0FDMUIsaUJBQVpDLFNBQTBDLGlCQUFYQyxPQUN4Q0EsT0FBT0QsUUFBVUQsSUFDUSxtQkFBWEcsUUFBeUJBLE9BQU9DLElBQzlDRCxPQUFPLFlBQWEsR0FBSUgsR0FDRSxp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RUFHWCxTQUFTRCxFQUFTQyxFQUFNM0MsRUFBTUMsR0FDMUIsSUFBSTZGLEVBQXVCLGlCQUFWN0YsRUFBcUJBLEVBQ2xDQSxTQUFtRSxtQkFBbkJBLEVBQU1nQyxTQUEwQmhDLEVBQU1nQyxXQUFhOEQsS0FBS0MsVUFBVS9GLEdBSWxIOEMsRUFBZUosRUFBTTNDLEdBQ3JCMkMsRUFBSzNDLEdBQU1vRCxLQUFLMEMsR0FFaEJuRCxFQUFLM0MsR0FBUSxDQUFDOEYsR0FJdEIsU0FBU04sRUFBUU0sR0FDYixRQUFTQSxHQUFPLG1CQUFxQnRDLE9BQU9uQixVQUFVSixTQUFTa0MsS0FBSzJCLEdBR3hFLFNBQVMvQyxFQUFla0QsRUFBS0MsR0FDekIsT0FBTzFDLE9BQU9uQixVQUFVVSxlQUFlb0IsS0FBSzhCLEVBQUtDLElBalZ6RCxNQW9WcUIsSUFBWCxFQUFBQyxFQUF5QixFQUFBQSxFQUE0QixvQkFBWDFGLE9BQXlCQSxPQUFTYixRQzNWbEZ3RyxFQUEyQixHQUcvQixTQUFTQyxFQUFvQkMsR0FFNUIsR0FBR0YsRUFBeUJFLEdBQzNCLE9BQU9GLEVBQXlCRSxHQUFVL0csUUFHM0MsSUFBSUMsRUFBUzRHLEVBQXlCRSxHQUFZLENBR2pEL0csUUFBUyxJQU9WLE9BSEFnSCxFQUFvQkQsR0FBVW5DLEtBQUszRSxFQUFPRCxRQUFTQyxFQUFRQSxFQUFPRCxRQUFTOEcsR0FHcEU3RyxFQUFPRCxRQ2pCZixPQ0hBOEcsRUFBb0JGLEVBQUksV0FDdkIsR0FBMEIsaUJBQWZLLFdBQXlCLE9BQU9BLFdBQzNDLElBQ0MsT0FBTzVHLE1BQVEsSUFBSTZHLFNBQVMsY0FBYixHQUNkLE1BQU8vRSxHQUNSLEdBQXNCLGlCQUFYakIsT0FBcUIsT0FBT0EsUUFMakIsR0RHakI0RixFQUFvQixNIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoXCJGb3JtdHJhY2tcIiwgW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiRm9ybXRyYWNrXCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIkZvcm10cmFja1wiXSA9IGZhY3RvcnkoKTtcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzLCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCJpbXBvcnQgXCJ1cmwtc2VhcmNoLXBhcmFtcy1wb2x5ZmlsbFwiO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIF9fRk9STVRSQUNLX1NVQk1JVF9MSVNURU5FUl9fOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICB9XG59XG5cbmNvbnN0IGFwcGVuZE9yVXBkYXRlRm9ybXRyYWNrSW5wdXQgPSAoe1xuICBmb3JtRWxlbWVudCxcbiAgaWQsXG4gIG5hbWUsXG4gIHZhbHVlLFxufToge1xuICBmb3JtRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn0pID0+IHtcbiAgbGV0IGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICBpZiAoIWlucHV0KSB7XG4gICAgY29uc3QgbmV3SW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gICAgbmV3SW5wdXQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImhpZGRlblwiKTtcbiAgICBuZXdJbnB1dC5zZXRBdHRyaWJ1dGUoXCJpZFwiLCBpZCk7XG4gICAgbmV3SW5wdXQuc2V0QXR0cmlidXRlKFwibmFtZVwiLCBuYW1lKTtcbiAgICBmb3JtRWxlbWVudC5hcHBlbmRDaGlsZChuZXdJbnB1dCk7XG4gICAgaW5wdXQgPSBuZXdJbnB1dDtcbiAgfVxuICBpbnB1dC5zZXRBdHRyaWJ1dGUoXCJ2YWx1ZVwiLCB2YWx1ZSk7XG59O1xuXG5jb25zdCBhZGRTdWJtaXRMaXN0ZW5lciA9ICgpID0+IHtcbiAgaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGlmICghd2luZG93Ll9fRk9STVRSQUNLX1NVQk1JVF9MSVNURU5FUl9fKSB7XG4gICAgICB3aW5kb3cuX19GT1JNVFJBQ0tfU1VCTUlUX0xJU1RFTkVSX18gPSB0cnVlO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInN1Ym1pdFwiLCAoZXZlbnQpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBmb3JtRXZlbnRUYXJnZXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgICAgaWYgKGZvcm1FdmVudFRhcmdldCkge1xuICAgICAgICAgICAgY29uc3QgZm9ybUVsZW1lbnQgPSBmb3JtRXZlbnRUYXJnZXQgYXMgSFRNTEZvcm1FbGVtZW50O1xuICAgICAgICAgICAgY29uc3Qgc2hvdWxkVHJhY2sgPVxuICAgICAgICAgICAgICB0eXBlb2YgZm9ybUVsZW1lbnQuZGF0YXNldC5mb3JtdHJhY2sgIT09IFwidW5kZWZpbmVkXCI7XG4gICAgICAgICAgICBpZiAoc2hvdWxkVHJhY2spIHtcbiAgICAgICAgICAgICAgY29uc3Qgc2VhcmNoUGFyYW1ldGVycyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoXG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnNlYXJjaFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBjb25zdCBzdXBwb3J0ZWRQYXJhbWV0ZXJOYW1lcyA9IFtcbiAgICAgICAgICAgICAgICBcInJlZmVycmVyXCIsXG4gICAgICAgICAgICAgICAgXCJ1dG1fY2FtcGFpZ25cIixcbiAgICAgICAgICAgICAgICBcInV0bV9jb250ZW50XCIsXG4gICAgICAgICAgICAgICAgXCJ1dG1fbWVkaXVtXCIsXG4gICAgICAgICAgICAgICAgXCJ1dG1fc291cmNlXCIsXG4gICAgICAgICAgICAgICAgXCJ1dG1fdGVybVwiLFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN1cHBvcnRlZFBhcmFtZXRlck5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYW1ldGVyTmFtZSA9IHN1cHBvcnRlZFBhcmFtZXRlck5hbWVzW2ldO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkID0gYGZvcm10cmFja18ke3BhcmFtZXRlck5hbWV9YDtcbiAgICAgICAgICAgICAgICBjb25zdCBuYW1lID0gcGFyYW1ldGVyTmFtZTtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHNlYXJjaFBhcmFtZXRlcnMuZ2V0KHBhcmFtZXRlck5hbWUpO1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgYXBwZW5kT3JVcGRhdGVGb3JtdHJhY2tJbnB1dCh7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1FbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59O1xuXG5hZGRTdWJtaXRMaXN0ZW5lcigpO1xuIiwiLyoqXG4gKlxuICpcbiAqIEBhdXRob3IgSmVycnkgQmVuZHkgPGplcnJ5QGljZXdpbmdjYy5jb20+XG4gKiBAbGljZW5jZSBNSVRcbiAqXG4gKi9cblxuKGZ1bmN0aW9uKHNlbGYpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICB2YXIgbmF0aXZlVVJMU2VhcmNoUGFyYW1zID0gKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgLy8gIzQxIEZpeCBpc3N1ZSBpbiBSTlxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5VUkxTZWFyY2hQYXJhbXMgJiYgKG5ldyBzZWxmLlVSTFNlYXJjaFBhcmFtcygnZm9vPWJhcicpKS5nZXQoJ2ZvbycpID09PSAnYmFyJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5VUkxTZWFyY2hQYXJhbXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KSgpLFxuICAgICAgICBpc1N1cHBvcnRPYmplY3RDb25zdHJ1Y3RvciA9IG5hdGl2ZVVSTFNlYXJjaFBhcmFtcyAmJiAobmV3IG5hdGl2ZVVSTFNlYXJjaFBhcmFtcyh7YTogMX0pKS50b1N0cmluZygpID09PSAnYT0xJyxcbiAgICAgICAgLy8gVGhlcmUgaXMgYSBidWcgaW4gc2FmYXJpIDEwLjEgKGFuZCBlYXJsaWVyKSB0aGF0IGluY29ycmVjdGx5IGRlY29kZXMgYCUyQmAgYXMgYW4gZW1wdHkgc3BhY2UgYW5kIG5vdCBhIHBsdXMuXG4gICAgICAgIGRlY29kZXNQbHVzZXNDb3JyZWN0bHkgPSBuYXRpdmVVUkxTZWFyY2hQYXJhbXMgJiYgKG5ldyBuYXRpdmVVUkxTZWFyY2hQYXJhbXMoJ3M9JTJCJykuZ2V0KCdzJykgPT09ICcrJyksXG4gICAgICAgIF9fVVJMU2VhcmNoUGFyYW1zX18gPSBcIl9fVVJMU2VhcmNoUGFyYW1zX19cIixcbiAgICAgICAgLy8gRml4IGJ1ZyBpbiBFZGdlIHdoaWNoIGNhbm5vdCBlbmNvZGUgJyAmJyBjb3JyZWN0bHlcbiAgICAgICAgZW5jb2Rlc0FtcGVyc2FuZHNDb3JyZWN0bHkgPSBuYXRpdmVVUkxTZWFyY2hQYXJhbXMgPyAoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB2YXIgYW1wZXJzYW5kVGVzdCA9IG5ldyBuYXRpdmVVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICAgICAgICAgIGFtcGVyc2FuZFRlc3QuYXBwZW5kKCdzJywgJyAmJyk7XG4gICAgICAgICAgICByZXR1cm4gYW1wZXJzYW5kVGVzdC50b1N0cmluZygpID09PSAncz0rJTI2JztcbiAgICAgICAgfSkoKSA6IHRydWUsXG4gICAgICAgIHByb3RvdHlwZSA9IFVSTFNlYXJjaFBhcmFtc1BvbHlmaWxsLnByb3RvdHlwZSxcbiAgICAgICAgaXRlcmFibGUgPSAhIShzZWxmLlN5bWJvbCAmJiBzZWxmLlN5bWJvbC5pdGVyYXRvcik7XG5cbiAgICBpZiAobmF0aXZlVVJMU2VhcmNoUGFyYW1zICYmIGlzU3VwcG9ydE9iamVjdENvbnN0cnVjdG9yICYmIGRlY29kZXNQbHVzZXNDb3JyZWN0bHkgJiYgZW5jb2Rlc0FtcGVyc2FuZHNDb3JyZWN0bHkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogTWFrZSBhIFVSTFNlYXJjaFBhcmFtcyBpbnN0YW5jZVxuICAgICAqXG4gICAgICogQHBhcmFtIHtvYmplY3R8c3RyaW5nfFVSTFNlYXJjaFBhcmFtc30gc2VhcmNoXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICovXG4gICAgZnVuY3Rpb24gVVJMU2VhcmNoUGFyYW1zUG9seWZpbGwoc2VhcmNoKSB7XG4gICAgICAgIHNlYXJjaCA9IHNlYXJjaCB8fCBcIlwiO1xuXG4gICAgICAgIC8vIHN1cHBvcnQgY29uc3RydWN0IG9iamVjdCB3aXRoIGFub3RoZXIgVVJMU2VhcmNoUGFyYW1zIGluc3RhbmNlXG4gICAgICAgIGlmIChzZWFyY2ggaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXMgfHwgc2VhcmNoIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zUG9seWZpbGwpIHtcbiAgICAgICAgICAgIHNlYXJjaCA9IHNlYXJjaC50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMgW19fVVJMU2VhcmNoUGFyYW1zX19dID0gcGFyc2VUb0RpY3Qoc2VhcmNoKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEFwcGVuZHMgYSBzcGVjaWZpZWQga2V5L3ZhbHVlIHBhaXIgYXMgYSBuZXcgc2VhcmNoIHBhcmFtZXRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAgICovXG4gICAgcHJvdG90eXBlLmFwcGVuZCA9IGZ1bmN0aW9uKG5hbWUsIHZhbHVlKSB7XG4gICAgICAgIGFwcGVuZFRvKHRoaXMgW19fVVJMU2VhcmNoUGFyYW1zX19dLCBuYW1lLCB2YWx1ZSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgdGhlIGdpdmVuIHNlYXJjaCBwYXJhbWV0ZXIsIGFuZCBpdHMgYXNzb2NpYXRlZCB2YWx1ZSxcbiAgICAgKiBmcm9tIHRoZSBsaXN0IG9mIGFsbCBzZWFyY2ggcGFyYW1ldGVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAgICovXG4gICAgcHJvdG90eXBlWydkZWxldGUnXSA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMgW19fVVJMU2VhcmNoUGFyYW1zX19dIFtuYW1lXTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZmlyc3QgdmFsdWUgYXNzb2NpYXRlZCB0byB0aGUgZ2l2ZW4gc2VhcmNoIHBhcmFtZXRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAgICogQHJldHVybnMge3N0cmluZ3xudWxsfVxuICAgICAqL1xuICAgIHByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbihuYW1lKSB7XG4gICAgICAgIHZhciBkaWN0ID0gdGhpcyBbX19VUkxTZWFyY2hQYXJhbXNfX107XG4gICAgICAgIHJldHVybiB0aGlzLmhhcyhuYW1lKSA/IGRpY3RbbmFtZV1bMF0gOiBudWxsO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCB0aGUgdmFsdWVzIGFzc29jaWF0aW9uIHdpdGggYSBnaXZlbiBzZWFyY2ggcGFyYW1ldGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9XG4gICAgICovXG4gICAgcHJvdG90eXBlLmdldEFsbCA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICAgICAgdmFyIGRpY3QgPSB0aGlzIFtfX1VSTFNlYXJjaFBhcmFtc19fXTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzKG5hbWUpID8gZGljdCBbbmFtZV0uc2xpY2UoMCkgOiBbXTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIEJvb2xlYW4gaW5kaWNhdGluZyBpZiBzdWNoIGEgc2VhcmNoIHBhcmFtZXRlciBleGlzdHMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgICAqIEByZXR1cm5zIHtib29sZWFufVxuICAgICAqL1xuICAgIHByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbihuYW1lKSB7XG4gICAgICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eSh0aGlzIFtfX1VSTFNlYXJjaFBhcmFtc19fXSwgbmFtZSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHZhbHVlIGFzc29jaWF0ZWQgdG8gYSBnaXZlbiBzZWFyY2ggcGFyYW1ldGVyIHRvXG4gICAgICogdGhlIGdpdmVuIHZhbHVlLiBJZiB0aGVyZSB3ZXJlIHNldmVyYWwgdmFsdWVzLCBkZWxldGUgdGhlXG4gICAgICogb3RoZXJzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICAgKi9cbiAgICBwcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gc2V0KG5hbWUsIHZhbHVlKSB7XG4gICAgICAgIHRoaXMgW19fVVJMU2VhcmNoUGFyYW1zX19dW25hbWVdID0gWycnICsgdmFsdWVdO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5nIGEgcXVlcnkgc3RyaW5nIHN1aXRhYmxlIGZvciB1c2UgaW4gYSBVUkwuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgICAqL1xuICAgIHByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZGljdCA9IHRoaXNbX19VUkxTZWFyY2hQYXJhbXNfX10sIHF1ZXJ5ID0gW10sIGksIGtleSwgbmFtZSwgdmFsdWU7XG4gICAgICAgIGZvciAoa2V5IGluIGRpY3QpIHtcbiAgICAgICAgICAgIG5hbWUgPSBlbmNvZGUoa2V5KTtcbiAgICAgICAgICAgIGZvciAoaSA9IDAsIHZhbHVlID0gZGljdFtrZXldOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBxdWVyeS5wdXNoKG5hbWUgKyAnPScgKyBlbmNvZGUodmFsdWVbaV0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVlcnkuam9pbignJicpO1xuICAgIH07XG5cbiAgICAvLyBUaGVyZSBpcyBhIGJ1ZyBpbiBTYWZhcmkgMTAuMSBhbmQgYFByb3h5YGluZyBpdCBpcyBub3QgZW5vdWdoLlxuICAgIHZhciBmb3JTdXJlVXNlUG9seWZpbGwgPSAhZGVjb2Rlc1BsdXNlc0NvcnJlY3RseTtcbiAgICB2YXIgdXNlUHJveHkgPSAoIWZvclN1cmVVc2VQb2x5ZmlsbCAmJiBuYXRpdmVVUkxTZWFyY2hQYXJhbXMgJiYgIWlzU3VwcG9ydE9iamVjdENvbnN0cnVjdG9yICYmIHNlbGYuUHJveHkpO1xuICAgIC8qXG4gICAgICogQXBwbHkgcG9saWZpbGwgdG8gZ2xvYmFsIG9iamVjdCBhbmQgYXBwZW5kIG90aGVyIHByb3RvdHlwZSBpbnRvIGl0XG4gICAgICovXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNlbGYsICdVUkxTZWFyY2hQYXJhbXMnLCB7XG4gICAgICAgIHZhbHVlOiAodXNlUHJveHkgP1xuICAgICAgICAgICAgLy8gU2FmYXJpIDEwLjAgZG9lc24ndCBzdXBwb3J0IFByb3h5LCBzbyBpdCB3b24ndCBleHRlbmQgVVJMU2VhcmNoUGFyYW1zIG9uIHNhZmFyaSAxMC4wXG4gICAgICAgICAgICBuZXcgUHJveHkobmF0aXZlVVJMU2VhcmNoUGFyYW1zLCB7XG4gICAgICAgICAgICAgICAgY29uc3RydWN0OiBmdW5jdGlvbih0YXJnZXQsIGFyZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyB0YXJnZXQoKG5ldyBVUkxTZWFyY2hQYXJhbXNQb2x5ZmlsbChhcmdzWzBdKS50b1N0cmluZygpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkgOlxuICAgICAgICAgICAgVVJMU2VhcmNoUGFyYW1zUG9seWZpbGwpXG4gICAgfSk7XG5cbiAgICB2YXIgVVNQUHJvdG8gPSBzZWxmLlVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGU7XG5cbiAgICBVU1BQcm90by5wb2x5ZmlsbCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gICAgICogQHBhcmFtIHtvYmplY3R9IHRoaXNBcmdcbiAgICAgKi9cbiAgICBVU1BQcm90by5mb3JFYWNoID0gVVNQUHJvdG8uZm9yRWFjaCB8fCBmdW5jdGlvbihjYWxsYmFjaywgdGhpc0FyZykge1xuICAgICAgICB2YXIgZGljdCA9IHBhcnNlVG9EaWN0KHRoaXMudG9TdHJpbmcoKSk7XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGRpY3QpLmZvckVhY2goZnVuY3Rpb24obmFtZSkge1xuICAgICAgICAgICAgZGljdFtuYW1lXS5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzQXJnLCB2YWx1ZSwgbmFtZSwgdGhpcyk7XG4gICAgICAgICAgICB9LCB0aGlzKTtcbiAgICAgICAgfSwgdGhpcyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFNvcnQgYWxsIG5hbWUtdmFsdWUgcGFpcnNcbiAgICAgKi9cbiAgICBVU1BQcm90by5zb3J0ID0gVVNQUHJvdG8uc29ydCB8fCBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGRpY3QgPSBwYXJzZVRvRGljdCh0aGlzLnRvU3RyaW5nKCkpLCBrZXlzID0gW10sIGssIGksIGo7XG4gICAgICAgIGZvciAoayBpbiBkaWN0KSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goayk7XG4gICAgICAgIH1cbiAgICAgICAga2V5cy5zb3J0KCk7XG5cbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXNbJ2RlbGV0ZSddKGtleXNbaV0pO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXSwgdmFsdWVzID0gZGljdFtrZXldO1xuICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHZhbHVlcy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kKGtleSwgdmFsdWVzW2pdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIGl0ZXJhdG9yIGFsbG93aW5nIHRvIGdvIHRocm91Z2ggYWxsIGtleXMgb2ZcbiAgICAgKiB0aGUga2V5L3ZhbHVlIHBhaXJzIGNvbnRhaW5lZCBpbiB0aGlzIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtmdW5jdGlvbn1cbiAgICAgKi9cbiAgICBVU1BQcm90by5rZXlzID0gVVNQUHJvdG8ua2V5cyB8fCBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBuYW1lKSB7XG4gICAgICAgICAgICBpdGVtcy5wdXNoKG5hbWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1ha2VJdGVyYXRvcihpdGVtcyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gaXRlcmF0b3IgYWxsb3dpbmcgdG8gZ28gdGhyb3VnaCBhbGwgdmFsdWVzIG9mXG4gICAgICogdGhlIGtleS92YWx1ZSBwYWlycyBjb250YWluZWQgaW4gdGhpcyBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259XG4gICAgICovXG4gICAgVVNQUHJvdG8udmFsdWVzID0gVVNQUHJvdG8udmFsdWVzIHx8IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgaXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbWFrZUl0ZXJhdG9yKGl0ZW1zKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBpdGVyYXRvciBhbGxvd2luZyB0byBnbyB0aHJvdWdoIGFsbCBrZXkvdmFsdWVcbiAgICAgKiBwYWlycyBjb250YWluZWQgaW4gdGhpcyBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7ZnVuY3Rpb259XG4gICAgICovXG4gICAgVVNQUHJvdG8uZW50cmllcyA9IFVTUFByb3RvLmVudHJpZXMgfHwgZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBpdGVtcyA9IFtdO1xuICAgICAgICB0aGlzLmZvckVhY2goZnVuY3Rpb24oaXRlbSwgbmFtZSkge1xuICAgICAgICAgICAgaXRlbXMucHVzaChbbmFtZSwgaXRlbV0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1ha2VJdGVyYXRvcihpdGVtcyk7XG4gICAgfTtcblxuXG4gICAgaWYgKGl0ZXJhYmxlKSB7XG4gICAgICAgIFVTUFByb3RvW3NlbGYuU3ltYm9sLml0ZXJhdG9yXSA9IFVTUFByb3RvW3NlbGYuU3ltYm9sLml0ZXJhdG9yXSB8fCBVU1BQcm90by5lbnRyaWVzO1xuICAgIH1cblxuXG4gICAgZnVuY3Rpb24gZW5jb2RlKHN0cikge1xuICAgICAgICB2YXIgcmVwbGFjZSA9IHtcbiAgICAgICAgICAgICchJzogJyUyMScsXG4gICAgICAgICAgICBcIidcIjogJyUyNycsXG4gICAgICAgICAgICAnKCc6ICclMjgnLFxuICAgICAgICAgICAgJyknOiAnJTI5JyxcbiAgICAgICAgICAgICd+JzogJyU3RScsXG4gICAgICAgICAgICAnJTIwJzogJysnLFxuICAgICAgICAgICAgJyUwMCc6ICdcXHgwMCdcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnJlcGxhY2UoL1shJ1xcKFxcKX5dfCUyMHwlMDAvZywgZnVuY3Rpb24obWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiByZXBsYWNlW21hdGNoXTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZGVjb2RlKHN0cikge1xuICAgICAgICByZXR1cm4gc3RyXG4gICAgICAgICAgICAucmVwbGFjZSgvWyArXS9nLCAnJTIwJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8oJVthLWYwLTldezJ9KSsvaWcsIGZ1bmN0aW9uKG1hdGNoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChtYXRjaCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBtYWtlSXRlcmF0b3IoYXJyKSB7XG4gICAgICAgIHZhciBpdGVyYXRvciA9IHtcbiAgICAgICAgICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGFyci5zaGlmdCgpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7ZG9uZTogdmFsdWUgPT09IHVuZGVmaW5lZCwgdmFsdWU6IHZhbHVlfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXRlcmFibGUpIHtcbiAgICAgICAgICAgIGl0ZXJhdG9yW3NlbGYuU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVyYXRvcjtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlcmF0b3I7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcGFyc2VUb0RpY3Qoc2VhcmNoKSB7XG4gICAgICAgIHZhciBkaWN0ID0ge307XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzZWFyY2ggPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIC8vIGlmIGBzZWFyY2hgIGlzIGFuIGFycmF5LCB0cmVhdCBpdCBhcyBhIHNlcXVlbmNlXG4gICAgICAgICAgICBpZiAoaXNBcnJheShzZWFyY2gpKSB7XG4gICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWFyY2gubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSBzZWFyY2hbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KGl0ZW0pICYmIGl0ZW0ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbyhkaWN0LCBpdGVtWzBdLCBpdGVtWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJGYWlsZWQgdG8gY29uc3RydWN0ICdVUkxTZWFyY2hQYXJhbXMnOiBTZXF1ZW5jZSBpbml0aWFsaXplciBtdXN0IG9ubHkgY29udGFpbiBwYWlyIGVsZW1lbnRzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBzZWFyY2gpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlYXJjaC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbyhkaWN0LCBrZXksIHNlYXJjaFtrZXldKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gcmVtb3ZlIGZpcnN0ICc/J1xuICAgICAgICAgICAgaWYgKHNlYXJjaC5pbmRleE9mKFwiP1wiKSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHNlYXJjaCA9IHNlYXJjaC5zbGljZSgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHBhaXJzID0gc2VhcmNoLnNwbGl0KFwiJlwiKTtcbiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcGFpcnMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBwYWlycyBbal0sXG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gdmFsdWUuaW5kZXhPZignPScpO1xuXG4gICAgICAgICAgICAgICAgaWYgKC0xIDwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG8oZGljdCwgZGVjb2RlKHZhbHVlLnNsaWNlKDAsIGluZGV4KSksIGRlY29kZSh2YWx1ZS5zbGljZShpbmRleCArIDEpKSk7XG5cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvKGRpY3QsIGRlY29kZSh2YWx1ZSksICcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkaWN0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGFwcGVuZFRvKGRpY3QsIG5hbWUsIHZhbHVlKSB7XG4gICAgICAgIHZhciB2YWwgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUgOiAoXG4gICAgICAgICAgICB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiB2YWx1ZS50b1N0cmluZyA9PT0gJ2Z1bmN0aW9uJyA/IHZhbHVlLnRvU3RyaW5nKCkgOiBKU09OLnN0cmluZ2lmeSh2YWx1ZSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyAjNDcgUHJldmVudCB1c2luZyBgaGFzT3duUHJvcGVydHlgIGFzIGEgcHJvcGVydHkgbmFtZVxuICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkoZGljdCwgbmFtZSkpIHtcbiAgICAgICAgICAgIGRpY3RbbmFtZV0ucHVzaCh2YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGljdFtuYW1lXSA9IFt2YWxdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNBcnJheSh2YWwpIHtcbiAgICAgICAgcmV0dXJuICEhdmFsICYmICdbb2JqZWN0IEFycmF5XScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGhhc093blByb3BlcnR5KG9iaiwgcHJvcCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCk7XG4gICAgfVxuXG59KSh0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJyA/IGdsb2JhbCA6ICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHRoaXMpKTtcbiIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdGlmKF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0pIHtcblx0XHRyZXR1cm4gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gbW9kdWxlIGV4cG9ydHMgbXVzdCBiZSByZXR1cm5lZCBmcm9tIHJ1bnRpbWUgc28gZW50cnkgaW5saW5pbmcgaXMgZGlzYWJsZWRcbi8vIHN0YXJ0dXBcbi8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xucmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oNjA3KTtcbiIsIl9fd2VicGFja19yZXF1aXJlX18uZyA9IChmdW5jdGlvbigpIHtcblx0aWYgKHR5cGVvZiBnbG9iYWxUaGlzID09PSAnb2JqZWN0JykgcmV0dXJuIGdsb2JhbFRoaXM7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIHRoaXMgfHwgbmV3IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ29iamVjdCcpIHJldHVybiB3aW5kb3c7XG5cdH1cbn0pKCk7Il0sInNvdXJjZVJvb3QiOiIifQ==

@@ -5,3 +5,3 @@ {

"private": false,
"version": "0.1.12",
"version": "0.1.13",
"author": "Bjorn Krols (https://formspark.io)",

@@ -50,5 +50,5 @@ "license": "MIT",

"typescript": "^4.1.3",
"webpack": "^5.17.0",
"webpack": "^5.18.0",
"webpack-cli": "^4.4.0"
}
}
import "url-search-params-polyfill";
declare global {
interface Window {
__FORMTRACK_SUBMIT_LISTENER__: boolean | undefined;
}
}
const appendOrUpdateFormtrackInput = ({

@@ -28,42 +34,45 @@ formElement,

if (typeof document !== "undefined") {
document.addEventListener("submit", (event) => {
try {
const formEventTarget = event.target;
if (formEventTarget) {
const formElement = formEventTarget as HTMLFormElement;
const shouldTrack =
typeof formElement.dataset.formtrack !== "undefined";
if (shouldTrack) {
const searchParameters = new URLSearchParams(
window.location.search
);
const supportedParameterNames = [
"referrer",
"utm_campaign",
"utm_content",
"utm_medium",
"utm_source",
"utm_term",
];
for (let i = 0; i < supportedParameterNames.length; i++) {
const parameterName = supportedParameterNames[i];
const id = `formtrack_${parameterName}`;
const name = parameterName;
const value = searchParameters.get(parameterName);
if (value) {
appendOrUpdateFormtrackInput({
formElement,
id,
name,
value,
});
if (!window.__FORMTRACK_SUBMIT_LISTENER__) {
window.__FORMTRACK_SUBMIT_LISTENER__ = true;
document.addEventListener("submit", (event) => {
try {
const formEventTarget = event.target;
if (formEventTarget) {
const formElement = formEventTarget as HTMLFormElement;
const shouldTrack =
typeof formElement.dataset.formtrack !== "undefined";
if (shouldTrack) {
const searchParameters = new URLSearchParams(
window.location.search
);
const supportedParameterNames = [
"referrer",
"utm_campaign",
"utm_content",
"utm_medium",
"utm_source",
"utm_term",
];
for (let i = 0; i < supportedParameterNames.length; i++) {
const parameterName = supportedParameterNames[i];
const id = `formtrack_${parameterName}`;
const name = parameterName;
const value = searchParameters.get(parameterName);
if (value) {
appendOrUpdateFormtrackInput({
formElement,
id,
name,
value,
});
}
}
}
}
} catch (e) {
console.error(e);
}
} catch (e) {
console.error(e);
}
return true;
});
return true;
});
}
}

@@ -70,0 +79,0 @@ };

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc