1globalThis.process??={};globalThis.process.env??={};function o(){document.querySelectorAll("[data-testimonials]").forEach(e=>{if(e.hasAttribute("data-testimonials-ready"))return;const a=e.querySelector("[data-testimonials-carousel]"),s=e.querySelector("[data-testimonials-prev]"),r=e.querySelector("[data-testimonials-next]");if(!(a instanceof HTMLElement)||!(s instanceof HTMLButtonElement)||!(r instanceof HTMLButtonElement))return;e.setAttribute("data-testimonials-ready","");const t=a,i=s,l=r,c=window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth";function d(){const n=t.querySelector("li"),p=window.getComputedStyle(t),h=Number.parseFloat(p.columnGap||p.gap||"0")||0;return((n instanceof HTMLElement?n.getBoundingClientRect().width:0)||t.clientWidth*.8)+h}function u(){const n=t.scrollWidth-t.clientWidth-1;i.disabled=t.scrollLeft<=1,l.disabled=t.scrollLeft>=n}let m=0;function f(){window.cancelAnimationFrame(m),m=window.requestAnimationFrame(u)}i.addEventListener("click",()=>{t.scrollBy({left:-d(),behavior:c})}),l.addEventListener("click",()=>{t.scrollBy({left:d(),behavior:c})}),t.addEventListener("scroll",f,{passive:!0}),window.addEventListener("resize",f),u()})}document.addEventListener("astro:page-load",o);document.addEventListener("DOMContentLoaded",o);document.readyState!=="loading"&&o();
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.