1(()=>{var o=class a{constructor(){this.containerIds=new Set;window.dataLayer=window.dataLayer||[],this.dataLayer=window.dataLayer}static getInstance(){return a.instance||(a.instance=new a),a.instance}loadContainer(t){this.containerIds.has(t)||(this.containerIds.size===0&&this.loadScript(t),this.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js","gtm.container":t}),this.containerIds.add(t))}loadScript(t){let e=document.createElement("script");e.async=!0,e.src=`https://www.googletagmanager.com/gtm.js?id=${t}`;let s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(e,s)}observeNewForms(){new MutationObserver(e=>{e.forEach(s=>{s.addedNodes.forEach(n=>{if(n instanceof HTMLFormElement){let r=n.dataset.gtmId;r&&this.loadContainer(r)}})})}).observe(document.body,{childList:!0,subtree:!0})}};(()=>{let a=o.getInstance();document.querySelectorAll("form[data-gtm-id]").forEach(t=>{let e=t.dataset.gtmId;e&&a.loadContainer(e)}),document.addEventListener("freeform-ajax-success",t=>{let e=t.form;if(!e.dataset.gtmEvent)return;let s=e.dataset.gtmEvent,n=t.response,r=e.freeform._dispatchEvent("freeform-gtm-data-layer-push",{payload:{},response:n}),{finished:c,multipage:d,success:m,submissionId:p,submissionToken:f}=n,i={event:s,form:{handle:e.dataset.handle,finished:c,multipage:d,success:m},submission:{id:p,token:f}};i=Object.assign(i,r.payload),window.dataLayer.push(i)}),a.observeNewForms()})();})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.