1const e=()=>{const e=document.querySelectorAll(".counter-animation");if(0===e.length)return;const t=(e,t)=>{const n=String(t),l=n.length;let o=e.querySelectorAll(".digit-slot");for(;o.length<l;){const t=document.createElement("div");t.className="digit-slot",e.appendChild(t),o=e.querySelectorAll(".digit-slot")}for(;o.length>l&&o.length>1;)e.removeChild(o[0]),o=e.querySelectorAll(".digit-slot");const i=e.querySelectorAll(".digit-slot");for(let s=0;s<l;s++){const e=i[s],t=n[s],l=e.querySelector(".digit.visible");if(t!==(l?l.textContent:null)){l&&(l.classList.remove("visible"),l.classList.add("slide-out"),l.addEventListener("transitionend",()=>{l.remove()},{once:!0}));const n=document.createElement("span");n.className="digit slide-in",n.textContent=t,e.appendChild(n),n.offsetHeight,n.classList.remove("slide-in"),n.classList.add("visible")}}},n=new IntersectionObserver((e,n)=>{e.forEach(e=>{if(e.isIntersecting){const l=e.target,o=parseInt(l.dataset.value,10)||0,i=400,s=2100;let r=o*50;r=Math.max(i,Math.min(r,s)),((e,n,l)=>{let o=null,i=-1;const s=r=>{o||(o=r);const a=r-o,c=Math.min(a/l,1),d=Math.floor(c*n);d!==i&&(t(e,d),i=d),c<1?requestAnimationFrame(s):t(e,n)};requestAnimationFrame(s)})(l,o,r),n.unobserve(l)}})},{root:null,rootMargin:"0px",threshold:.5});e.forEach(e=>{t(e,0),n.observe(e)})};export{e as init};
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.