1!function(){var links=[];const mainContent=document.querySelector(".post-body");if(mainContent){const anchorContainerWrappers=document.querySelectorAll(".blog-anchors-menu-wrapper"),anchorsContainers=document.querySelectorAll(".blog-anchors-menu-container"),anchorsSelect=document.querySelector(".blog-anchors-dropdown-container select"),titles=mainContent.querySelectorAll("h2");if(titles.length>0){titles.forEach(title=>{let anchorId=title.textContent.replace(/[0-9!@#$%^&*()"';:?]/g,"").trim().toLowerCase().replace(/ /g,"-"),anchor=document.createElement("span");anchor.id=anchorId,anchor.classList.add("anchor"),title.id=anchorId+"-header",title.parentNode.insertBefore(anchor,title);const opt=document.createElement("option");opt.textContent=title.textContent,opt.value=anchorId,anchorsSelect&&anchorsSelect.appendChild(opt),anchorsContainers.forEach(anchorsContainer=>{let anchorLink=document.createElement("a");anchorLink.setAttribute("href","#"+anchorId),anchorLink.textContent=title.textContent,anchorLink.classList.add("brand-link"),anchorsContainer.appendChild(anchorLink),links.push(anchorLink)})});let clickTimeout,isClicking=!1;function updateActiveLink(){if(isClicking)return;let current=null;
1titles.forEach(title=>{const anchorId=title.id.replace("-header",""),anchor=document.getElementById(anchorId);if(anchor){const anchorTop=anchor.getBoundingClientRect().top+window.scrollY;window.scrollY>=anchorTop-120&&(current=title)}}),links.forEach(link=>{const isActive=current&&link.getAttribute("href")==="#"+current.id.replace("-header","");link.classList.toggle("active",!!isActive)})}links.forEach(link=>{link.addEventListener("click",()=>{isClicking=!0,clearTimeout(clickTimeout),links.forEach(l=>l.classList.remove("active")),link.classList.add("active"),clickTimeout=setTimeout(()=>{isClicking=!1,updateActiveLink()},800)})}),window.addEventListener("scroll",updateActiveLink,{passive:!0}),updateActiveLink(),anchorContainerWrappers.forEach(anchorsContainerWrapper=>{anchorsContainerWrapper.classList.add("active")}),anchorsSelect&&anchorsSelect.addEventListener("change",e=>{const target=e.target.value;if(!target)return;const el=document.querySelector(`#${target}`);el&&el.scrollIntoView({behavior:"smooth",block:"start"})})}else anchorsContainers.forEach(anchorsContainer=>{anchorsContainer.remove()})}}(); 2//# sourceURL=https://46377716.fs1.hubspotusercontent-na1.net/hubfs/46377716/hub_generated/template_assets/1/206692012350/1790925981445/template_blog.js
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.