1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1543],{1543:(e,t,n)=>{let r,i;n.d(t,{L:()=>U});var o=n(2039),l=n(8041),s=n(2115),f=n(4119),c=n(3934);function a(e,t){let n,r=()=>{let{currentTime:r}=t,i=(null===r?0:r.value)/100;n!==i&&e(i),n=i};return c.Gt.preUpdate(r,!0),()=>(0,c.WG)(r)}var g=n(4995),u=n(9089),h=n(8561);let d=new WeakMap,p=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+"Size"]:(0,u.x)(r)&&"getBBox"in r?r.getBBox()[t]:r[n],m=p("inline","width","offsetWidth"),v=p("block","height","offsetHeight");function w({target:e,borderBoxSize:t}){d.get(e)?.forEach(n=>{n(e,{get width(){return m(e,t)},get height(){return v(e,t)}})})}function y(e){e.forEach(w)}let E=new Set;var x=n(1225),L=n(5242);let W=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),b={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function O(e,t,n,r){let i=n[t],{length:o,position:l}=b[t],s=i.current,f=n.time;i.current=e[`scroll${l}`],i.scrollLength=e[`scroll${o}`]-e[`client${o}`],i.offset.length=0,i.offset[0]=0,i.offset[1]=i.scrollLength,i.progress=(0,x.q)(0,i.scrollLength,i.current);let c=r-f;i.velocity=c>50?0:(0,L.f)(i.current-s,c)}var B=n(6706),k=n(6827),z=n(8895),H=n(1402);let G={start:0,center:.5,end:1};function N(e,t,n=0){let r=0;if(e in G&&(e=G[e]),"string"==typeof e){let t=parseFloat(e);e.endsWith("px")?r=t:e.endsWith("%")?e=t/100:e.endsWith("vw")?r=t/100*document.documentElement.clientWidth:e.endsWith("vh")?r=t/100*document.documentElement.clientHeight:e=t}return"number"==typeof e&&(r=t*e),n+r}let S=[0,0],M={All:[[0,0],[1,1]]},P={x:0,y:0},T=new WeakMap,Y=new WeakMap,$=new WeakMap,A=e=>e===document.scrollingElement?window:e;function C(e,{container:t=document.scrollingElement,...n}={}){if(!t)return f.l;let o=$.get(t);o||(o=new Set,$.set(t,o));let l=function(e,t,n,r={}){return{measure:t=>{!function(e,t=e,n){if(n.x.targetOffset=0,n.y.targetOffset=0,t!==e){let r=t;for(;r&&r!==e;)n.x.targetOffset+=r.offsetLeft,n.y.targetOffset+=r.offsetTop,r=r.offsetParent}n.x.targetLength=t===e?t.scrollWidth:t.clientWidth,n.y.targetLength=t===e?t.scrollHeight:t.clientHeight,n.x.containerLength=e.clientWidth,n.y.containerLength=e.clientHeight}(e,r.target,n),O(e,"x",n,t),O(e,"y",n,t),n.time=t,(r.offset||r.target)&&function(e,t,n){let{offset:r=M.All}=n,{target:i=e,axis:o="y"}=n,l="y"===o?"height":"width",s=i!==e?function(e,t){let n={x:0,y:0},r=e;for(;r&&r!==t;)if((0,H.s)(r))n.x+=r.offsetLeft,n.y+=r.offsetTop,r=r.offsetParent;else if("svg"===r.tagName){let e=r.getBoundingClientRect(),t=(r=r.parentElement).getBoundingClientRect();n.x+=e.left-t.left,n.y+=e.top-t.top}else if(r instanceof SVGGraphicsElement){let{x:e,y:t}=r.getBBox();n.x+=e,n.y+=t;let i=null,o=r.parentNode;for(;!i;)"svg"===o.tagName&&(i=o),o=r.parentNode;r=i}else break;return n}(i,e):P,f=i===e?{width:e.scrollWidth,height:e.scrollHeight}:"getBBox"in i&&"svg"!==i.tagName?i.getBBox():{width:i.clientWidth,height:i.clientHeight},c={width:e.clientWidth,height:e.clientHeight};t[o].offset.length=0;let a=!t[o].interpolate,g=r.length;for(let e=0;e<g;e++){let n=function(e,t,n,r){let i=Array.isArray(e)?e:S,o=0;return"number"==typeof e?i=[e,e]:"string"==typeof e&&(i=(e=e.trim()).includes(" ")?e.split(" "):[e,G[e]?e:"0"]),(o=N(i[0],n,r))-N(i[1],t)}(r[e],c[l],f[l],s[o]);a||n===t[o].interpolatorOffsets[e]||(a=!0),t[o].offset[e]=n}a&&(t[o].interpolate=(0,B.G)(t[o].offset,(0,k.Z)(r),{clamp:!1}),t[o].interpolatorOffsets=[...t[o].offset]),t[o].progress=(0,z.q)(0,1,t[o].interpolate(t[o].current))}(e,n,r)},notify:()=>t(n)}}(t,e,{time:0,x:W(),y:W()},n);if(o.add(l),!T.has(t)){let e=()=>{for(let e of o)e.measure(c.uv.timestamp);c.Gt.preUpdate(n)},n=()=>{for(let e of o)e.notify()},l=()=>c.Gt.read(e);T.set(t,l);let s=A(t);window.addEventListener("resize",l,{passive:!0}),t!==document.documentElement&&Y.set(t,"function"==typeof t?(E.add(t),i||(i=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};E.forEach(t=>t(e))},window.addEventListener("resize",i)),()=>{E.delete(t),E.size||"function"!=typeof i||(window.removeEventListener("resize",i),i=void 0)}):function(e,t){r||"undefined"!=typeof ResizeObserver&&(r=new ResizeObserver(y));let n=(0,h.K)(e);
1return n.forEach(e=>{let n=d.get(e);n||(n=new Set,d.set(e,n)),n.add(t),r?.observe(e)}),()=>{n.forEach(e=>{let n=d.get(e);n?.delete(t),n?.size||r?.unobserve(e)})}}(t,l)),s.addEventListener("scroll",l,{passive:!0}),l()}let s=T.get(t);return c.Gt.read(s,!1,!0),()=>{(0,c.WG)(s);let e=$.get(t);if(!e||(e.delete(l),e.size))return;let n=T.get(t);T.delete(t),n&&(A(t).removeEventListener("scroll",n),Y.get(t)?.(),window.removeEventListener("resize",n))}}let Q=new Map;function R({source:e,container:t,...n}){let{axis:r}=n;e&&(t=e);let i=Q.get(t)??new Map;Q.set(t,i);let o=n.target??"self",l=i.get(o)??{},s=r+(n.offset??[]).join(",");return l[s]||(l[s]=!n.target&&(0,g.J)()?new ScrollTimeline({source:t,axis:r}):function(e){let t={value:0},n=C(n=>{t.value=100*n[e.axis].progress},e);return{currentTime:t,cancel:n}}({container:t,...n})),l[s]}var X=n(4416),_=n(6553);function q(e,t){(0,l.$)(!!(!t||t.current),`You have defined a ${e} options but the provided ref is not yet hydrated, probably because it's defined higher up the tree. Try calling useScroll() in the same component as the ref, or setting its \`layoutEffect: false\` option.`)}let J=()=>({scrollX:(0,o.OQ)(0),scrollY:(0,o.OQ)(0),scrollXProgress:(0,o.OQ)(0),scrollYProgress:(0,o.OQ)(0)});function U({container:e,target:t,layoutEffect:n=!0,...r}={}){let i=(0,X.M)(J);return(n?_.E:s.useEffect)(()=>(q("target",t),q("container",e),function(e,{axis:t="y",container:n=document.scrollingElement,...r}={}){var i,o;if(!n)return f.l;let l={axis:t,container:n,...r};return"function"==typeof e?(i=e,o=l,2===i.length?C(e=>{i(e[o.axis].progress,e)},o):a(i,R(o))):function(e,t){let n=R(t);return e.attachTimeline({timeline:t.target?void 0:n,observe:e=>(e.pause(),a(t=>{e.time=e.duration*t},n))})}(e,l)}((e,{x:t,y:n})=>{i.scrollX.set(t.current),i.scrollXProgress.set(t.progress),i.scrollY.set(n.current),i.scrollYProgress.set(n.progress)},{...r,container:e?.current||void 0,target:t?.current||void 0})),[e,t,JSON.stringify(r.offset)]),i}}}]);
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.