!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="70523d51-adad-4416-ae1b-2b1afec109ea",e._sentryDebugIdIdentifier="sentry-dbid-70523d51-adad-4416-ae1b-2b1afec109ea")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7707],{13800:function(e,t,n){n.d(t,{_:function(){return c}});var r=n(12210),o=n(13221),i=n(60200);function l(e,t){[...t].reverse().forEach(n=>{let r=e.getVariant(n);r&&(0,o.C)(e,r),e.variantChildren&&e.variantChildren.forEach(e=>{l(e,t)})})}function s(){let e=!1,t=new Set,n={subscribe:e=>(t.add(e),()=>void t.delete(e)),start(n,o){(0,r.k)(e,"controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook.");let l=[];return t.forEach(e=>{l.push((0,i.d)(e,n,{transitionOverride:o}))}),Promise.all(l)},set:n=>((0,r.k)(e,"controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook."),t.forEach(e=>{Array.isArray(n)?l(e,n):"string"==typeof n?l(e,[n]):(0,o.C)(e,n)})),stop(){t.forEach(e=>{!function(e){e.values.forEach(e=>e.stop())}(e)})},mount:()=>(e=!0,()=>{e=!1,n.stop()})};return n}var f=n(78956),a=n(17341);let c=function(){let e=(0,f.h)(s);return(0,a.L)(e.mount,[]),e}},86619:function(e,t,n){n.d(t,{E:function(){return u}});var r=n(51063),o=n(47101),i=n(45838),l=n(84263),s=n(60900),f=n(18210),a=n(88518);let c=(0,f.x)({...o.s,...l.E,...i.o,...s.b},a.b),u=(0,r.c)(c)},51628:function(e,t,n){n.d(t,{I:function(){return o}});var r=n(12210);function o(e,t,n){var o;if("string"==typeof e){let i=document;t&&((0,r.k)(!!t.current,"Scope provided, but no element detected."),i=t.current),n?(null!==(o=n[e])&&void 0!==o||(n[e]=i.querySelectorAll(e)),e=n[e]):e=i.querySelectorAll(e)}else e instanceof Element&&(e=[e]);return Array.from(e||[])}},10073:function(e,t,n){n.d(t,{W:function(){return o}});var r=n(88043);function o(e,t,n){(0,r.useInsertionEffect)(()=>e.on(t,n),[e,t,n])}},81113:function(e,t,n){let r,o;n.d(t,{v:function(){return D}});var i=n(52855),l=n(78956),s=n(88043),f=n(12210),a=n(51628);let c=new WeakMap;function u({target:e,contentRect:t,borderBoxSize:n}){var r;null===(r=c.get(e))||void 0===r||r.forEach(r=>{r({target:e,contentSize:t,get size(){return function(e,t){if(t){let{inlineSize:e,blockSize:n}=t[0];return{width:e,height:n}}return e instanceof SVGElement&&"getBBox"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}(e,n)}})})}function d(e){e.forEach(u)}let h=new Set;var g=n(31374),p=n(33477);let v=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),m=()=>({time:0,x:v(),y:v()}),y={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function w(e,t,n,r){let o=n[t],{length:i,position:l}=y[t],s=o.current,f=n.time;o.current=e[`scroll${l}`],o.scrollLength=e[`scroll${i}`]-e[`client${i}`],o.offset.length=0,o.offset[0]=0,o.offset[1]=o.scrollLength,o.progress=(0,g.Y)(0,o.scrollLength,o.current);let a=r-f;o.velocity=a>50?0:(0,p.R)(o.current-s,a)}let E=[[0,0],[1,1]],b={start:0,center:.5,end:1};function W(e,t,n=0){let r=0;if(e in b&&(e=b[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 x=[0,0];var L=n(26344),B=n(93083);let k={x:0,y:0};var S=n(30386);let z=new WeakMap,H=new WeakMap,C=new WeakMap,O=e=>e===document.documentElement?window:e;function P(e,{container:t=document.documentElement,...n}={}){let i=C.get(t);i||(i=new Set,C.set(t,i));let l=function(e,t,n,r={}){return{measure:()=>(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),update:t=>{w(e,"x",n,t),w(e,"y",n,t),n.time=t,(r.offset||r.target)&&function(e,t,n){let{offset:r=E}=n,{target:o=e,axis:i="y"}=n,l="y"===i?"height":"width",s=o!==e?function(e,t){let n={x:0,y:0},r=e;for(;r&&r!==t;)if(r instanceof HTMLElement)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 o=null,i=r.parentNode;for(;!o;)"svg"===i.tagName&&(o=i),i=r.parentNode;r=o}else break;return n}(o,e):k,f=o===e?{width:e.scrollWidth,height:e.scrollHeight}:"getBBox"in o&&"svg"!==o.tagName?o.getBBox():{width:o.clientWidth,height:o.clientHeight},a={width:e.clientWidth,height:e.clientHeight};t[i].offset.length=0;let c=!t[i].interpolate,u=r.length;for(let e=0;e<u;e++){let n=function(e,t,n,r){let o=Array.isArray(e)?e:x,i=0;return"number"==typeof e?o=[e,e]:"string"==typeof e&&(o=(e=e.trim()).includes(" ")?e.split(" "):[e,b[e]?e:"0"]),W(o[0],n,r)-W(o[1],t)}(r[e],a[l],f[l],s[i]);c||n===t[i].interpolatorOffsets[e]||(c=!0),t[i].offset[e]=n}c&&(t[i].interpolate=(0,L.s)(t[i].offset,(0,B.Y)(r)),t[i].interpolatorOffsets=[...t[i].offset]),t[i].progress=t[i].interpolate(t[i].current)}(e,n,r)},notify:()=>t(n)}}(t,e,m(),n);if(i.add(l),!z.has(t)){let e=()=>{for(let e of i)e.measure()},n=()=>{for(let e of i)e.update(S.frameData.timestamp)},l=()=>{for(let e of i)e.notify()},s=()=>{S.Wi.read(e,!1,!0),S.Wi.read(n,!1,!0),S.Wi.update(l,!1,!0)};z.set(t,s);let f=O(t);window.addEventListener("resize",s,{passive:!0}),t!==document.documentElement&&H.set(t,"function"==typeof t?(h.add(t),o||(o=()=>{let e={width:window.innerWidth,height:window.innerHeight},t={target:window,size:e,contentSize:e};h.forEach(e=>e(t))},window.addEventListener("resize",o)),()=>{h.delete(t),!h.size&&o&&(o=void 0)}):function(e,t){r||"undefined"==typeof ResizeObserver||(r=new ResizeObserver(d));let n=(0,a.I)(e);return n.forEach(e=>{let n=c.get(e);n||(n=new Set,c.set(e,n)),n.add(t),null==r||r.observe(e)}),()=>{n.forEach(e=>{let n=c.get(e);null==n||n.delete(t),(null==n?void 0:n.size)||null==r||r.unobserve(e)})}}(t,s)),f.addEventListener("scroll",s,{passive:!0})}let s=z.get(t);return S.Wi.read(s,!1,!0),()=>{var e;(0,S.Pn)(s);let n=C.get(t);if(!n||(n.delete(l),n.size))return;let r=z.get(t);z.delete(t),r&&(O(t).removeEventListener("scroll",r),null===(e=H.get(t))||void 0===e||e(),window.removeEventListener("resize",r))}}function _(e,t){let n;let r=()=>{let{currentTime:r}=t,o=(null===r?0:r.value)/100;n!==o&&e(o),n=o};return S.Wi.update(r,!0),()=>(0,S.Pn)(r)}var I=n(43518);let N=new Map;function X({source:e,container:t=document.documentElement,axis:n="y"}={}){e&&(t=e),N.has(t)||N.set(t,{});let r=N.get(t);return r[n]||(r[n]=(0,I.t)()?new ScrollTimeline({source:t,axis:n}):function({source:e,container:t,axis:n="y"}){e&&(t=e);let r={value:0},o=P(e=>{r.value=100*e[n].progress},{container:t,axis:n});return{currentTime:r,cancel:o}}({source:t,axis:n})),r[n]}function A(e){return e&&(e.target||e.offset)}var T=n(17341);function Y(e,t){(0,f.K)(!!(!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 M=()=>({scrollX:(0,i.BX)(0),scrollY:(0,i.BX)(0),scrollXProgress:(0,i.BX)(0),scrollYProgress:(0,i.BX)(0)});function D({container:e,target:t,layoutEffect:n=!0,...r}={}){let o=(0,l.h)(M);return(n?T.L:s.useEffect)(()=>(Y("target",t),Y("container",e),function(e,{axis:t="y",...n}={}){let r={axis:t,...n};return"function"==typeof e?2===e.length||A(r)?P(t=>{e(t[r.axis].progress,t)},r):_(e,X(r)):function(e,t){if(A(t))return e.pause(),P(n=>{e.time=e.duration*n[t.axis].progress},t);{let n=X(t);return e.attachTimeline(n,e=>(e.pause(),_(t=>{e.time=e.duration*t},n)))}}(e,r)}((e,{x:t,y:n})=>{o.scrollX.set(t.current),o.scrollXProgress.set(t.progress),o.scrollY.set(n.current),o.scrollYProgress.set(n.progress)},{...r,container:(null==e?void 0:e.current)||void 0,target:(null==t?void 0:t.current)||void 0})),[e,t,JSON.stringify(r.offset)]),o}}}]);