1(function(){window.dataLayer=window.dataLayer||[];function t(e){try{window.dataLayer.push(e)}catch(n){console.error("GTM Tracking Error: Failed to push to dataLayer",n)}}const o={pageView(){t({event:"page_view",page_path:window.location.pathname,page_title:document.title})},viewContent(e,n){if(!e||!n){console.warn("GTM Tracking Warning: viewContent requires name and type.");return}t({event:"view_content",content_name:e,content_type:n})},submitLead({user_name:e,email:n,phone:a,content_name:r,content_type:l}){t({event:"submit_lead",user_name:e||null,email:n||null,phone:a||null,content_name:r||null,content_type:l||null})},unSuccessLead(e){t({event:"un_success_lead",error_type:e||"validation_error"})},initScroll20Tracking(){let e=!1;const n=()=>{if(e)return;const a=window.scrollY||document.documentElement.scrollTop,r=document.documentElement.scrollHeight-document.documentElement.clientHeight;if(r<=0)return;a/r*100>=20&&(e=!0,window.removeEventListener("scroll",n),t({event:"scroll_20"}))};window.addEventListener("scroll",n,{passive:!0})}};window.Tracking=o,document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{o.pageView(),o.initScroll20Tracking()}):(o.pageView(),o.initScroll20Tracking())})();
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.