{"version":3,"file":"HelixGradientLoop.Dz0jWQkV.mjs","names":["useRef","useState","Button","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","className","sharedStyle.css","sharedStyle.fonts","__esmMin","init_npm_react_18_3_1","x","oe","pe","de","ie","window","J","c","p","ce","_e","init_ssg_sandbox_shims","motion","LayoutGroup","MotionConfigContext","init_framer_motion_DhsWWWsN","withCSS","RichText","ResolveLinks","useRouter","getFonts","forwardLoader","addPropertyControls","cx","getFontsFromSharedStyle","init_framer_DcxuU94H","ComponentViewportProvider","useLocaleInfo","SmartComponentScopedContainer","useVariantState","useComponentViewport","ControlType","className","css$1","Framerbeyr97Pj2","init_MYwPjfe5j","fonts","init_beyr97Pj2","KineticGrid","props","clickProps","cursorTrailProps","canvasRef","animationRef","dotsRef","mousePosRef","trailPointsRef","isMouseDownRef","mounted","setMounted","colorsRef","prevGridSizeRef","gridSize","gridSizeChanged","canvas","width","height","gx","gy","key","backgroundColor","gridColor","dotColor","hoverColor","repulsionStrength","radius","dotSize","gridThickness","baseOpacity","clickInteraction","clickForce","motionSpeed","cursorTrail","trailMode","trailLength","trailColor","parseColor","color","rgbaMatch","rgbMatch","hex","r","g","b","ctx","getSpringParams","speed","getCanvasSize","initDots","currentGridSize","lastTime","getHoverIntensity","mouse","hoverRadius","dx","dy","y","dist","mapRepulsion","value","getCursorPush","currentRepulsion","mappedRepulsion","baseX","baseY","pushAmount","getClickPush","force","animate","now","currentColors","hoverColorParsed","gridColorParsed","dotColorParsed","bgColorParsed","currentDotSize","currentGridThickness","currentBaseOpacity","gxStr","gyStr","rightDot","bottomDot","hoverIntensity","dot","avgHover","lineOpacity","targetX","targetY","forceX","springStiffness","forceY","damping","opacity","ct","tlen","tcolor","effectiveTrailLength","trail","maxAge","started","i","point","trailAlpha","tc","handleMouseMove","rect","canvasWidth","canvasHeight","scaleX","scaleY","e","tm","effectiveLength","handleMouseDown","handleMouseUp","resizeObserver","newSize","init_InteractiveGrid_prod","init_jsx_runtime","addPropertyOverrides","variants","nextOverrides","variant","overrides","ButtonFonts","KineticGridFonts","cycleOrder","serializationHash","variantClassNames","transition1","matchVariant","Transition","humanReadableVariantMap","Variants","getProps","createLayoutDependency","Component","css","FrameruUMkJJyis","init_uUMkJJyis","args","arg","config","transition","contextValue","fallbackRef","refBinding","ref","defaultLayoutId","componentViewport","className$1","restProps","layoutDependency","scopingClassNames","layoutId","gestureHandlers","classNames","style","baseVariant","gestureVariant","resolvedLinks","addFonts","context","useKeyframes","id","tag","KEYFRAMES","gradientStyle","image","seconds","withGradientLoop","RAMP_FULL","init_HelixGradientLoop"],"sources":["https:/framerusercontent.com/modules/wskW1SoDKxJzJIiqOylQ/Z86JKWtK3QU4ffeT2odo/InteractiveGrid_prod.js","https:/framerusercontent.com/modules/bQfU1ywPwgeSFX0PPmxG/9jWkkC8jiHhyV5a0Grv9/uUMkJJyis.js","https:/framerusercontent.com/modules/2UtHGzIWPUZQInus1wgM/OuZpZdWou0pBCxrOxpNJ/HelixGradientLoop.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 500\n * @framerDisableUnlink\n */export default function KineticGrid(props){const{clickInteraction=false,clickProps={},cursorTrail=false,cursorTrailProps={},backgroundColor=\"transparent\",gridColor=\"#FFFFFF\",dotColor=\"#FFFFFF\",hoverColor=\"#FFFFFF\",gridSize=60,repulsionStrength=-.65,radius=290,dotSize=1.5,gridThickness=.5,baseOpacity=.09}=props;const{clickForce=0,motionSpeed=1}=clickProps;const{trailMode=\"hover\",trailLength=.1,trailColor=\"#FFFFFF\"}=cursorTrailProps;const canvasRef=useRef(null);const animationRef=useRef(null);const dotsRef=useRef(new Map);const mousePosRef=useRef(null);const trailPointsRef=useRef([]);const isMouseDownRef=useRef(false);const[mounted,setMounted]=useState(false);const colorsRef=useRef({backgroundColor,gridColor,dotColor,hoverColor,gridSize,repulsionStrength,radius,dotSize,gridThickness,baseOpacity,clickInteraction,clickForce,motionSpeed,cursorTrail,trailMode,trailLength,trailColor});const prevGridSizeRef=useRef(gridSize);useEffect(()=>{const gridSizeChanged=prevGridSizeRef.current!==gridSize;prevGridSizeRef.current=gridSize;colorsRef.current={backgroundColor,gridColor,dotColor,hoverColor,gridSize,repulsionStrength,radius,dotSize,gridThickness,baseOpacity,clickInteraction,clickForce,motionSpeed,cursorTrail,trailMode,trailLength,trailColor};if(gridSizeChanged&&mounted&&canvasRef.current){const canvas=canvasRef.current;const width=canvas.clientWidth||canvas.offsetWidth||1;const height=canvas.clientHeight||canvas.offsetHeight||1;dotsRef.current.clear();for(let gx=-gridSize;gx<width+gridSize*2;gx+=gridSize){for(let gy=-gridSize;gy<height+gridSize*2;gy+=gridSize){const key=`${gx},${gy}`;dotsRef.current.set(key,{x:gx,y:gy,vx:0,vy:0,size:1,targetSize:1,brightness:1});}}}},[mounted,backgroundColor,gridColor,dotColor,hoverColor,gridSize,repulsionStrength,radius,dotSize,gridThickness,baseOpacity,clickInteraction,clickForce,motionSpeed,cursorTrail,trailMode,trailLength,trailColor]);const parseColor=color=>{if(!color||color===\"transparent\")return{r:0,g:0,b:0,a:0};const rgbaMatch=color.match(/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)/i);if(rgbaMatch)return{r:parseInt(rgbaMatch[1]),g:parseInt(rgbaMatch[2]),b:parseInt(rgbaMatch[3]),a:parseFloat(rgbaMatch[4])};const rgbMatch=color.match(/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)/i);if(rgbMatch)return{r:parseInt(rgbMatch[1]),g:parseInt(rgbMatch[2]),b:parseInt(rgbMatch[3]),a:1};let hex=color.replace(\"#\",\"\");if(hex.length===8){return{r:parseInt(hex.substring(0,2),16),g:parseInt(hex.substring(2,4),16),b:parseInt(hex.substring(4,6),16),a:parseInt(hex.substring(6,8),16)/255};}if(hex.length===3)hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];const r=parseInt(hex.substring(0,2),16),g=parseInt(hex.substring(2,4),16),b=parseInt(hex.substring(4,6),16);return{r:isNaN(r)?160:r,g:isNaN(g)?160:g,b:isNaN(b)?160:b,a:1};};useEffect(()=>{setMounted(true);},[]);useEffect(()=>{if(!mounted)return;const canvas=canvasRef.current;if(!canvas)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;const maxDist=400;const getSpringParams=()=>{const speed=colorsRef.current.motionSpeed;const t=Math.max(0,Math.min(1,speed));return{springStiffness:.02+t*.06,damping:.7+t*.05};};const getCanvasSize=()=>{const width=canvas.clientWidth||canvas.offsetWidth||1;const height=canvas.clientHeight||canvas.offsetHeight||1;return{width,height};};const initDots=()=>{dotsRef.current.clear();const{width,height}=getCanvasSize();const currentGridSize=colorsRef.current.gridSize;for(let gx=-currentGridSize;gx<width+currentGridSize*2;gx+=currentGridSize){for(let gy=-currentGridSize;gy<height+currentGridSize*2;gy+=currentGridSize){const key=`${gx},${gy}`;dotsRef.current.set(key,{x:gx,y:gy,vx:0,vy:0,size:1,targetSize:1,brightness:1});}}};let{width,height}=getCanvasSize();canvas.width=width;canvas.height=height;initDots();let lastTime=performance.now();const getHoverIntensity=(x,y)=>{const mouse=mousePosRef.current;if(!mouse)return 0;const hoverRadius=colorsRef.current.radius;const dx=x-mouse.x,dy=y-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist>hoverRadius)return 0;return Math.pow(1-dist/hoverRadius,3.5);};const mapRepulsion=value=>{return value<=0?value*25:value*90;};const getCursorPush=(baseX,baseY)=>{const mouse=mousePosRef.current;const currentRepulsion=colorsRef.current.repulsionStrength;const mappedRepulsion=mapRepulsion(currentRepulsion);if(!mouse||mappedRepulsion===0)return{x:0,y:0};const dx=baseX-mouse.x,dy=baseY-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist===0)return{x:0,y:0};const normalizedDist=Math.min(dist/maxDist,1);const pushAmount=Math.pow(1-normalizedDist,2)*mappedRepulsion;return{x:dx/dist*pushAmount,y:dy/dist*pushAmount};};const getClickPush=(baseX,baseY)=>{if(!colorsRef.current.clickInteraction||!isMouseDownRef.current)return{x:0,y:0};const mouse=mousePosRef.current;const force=colorsRef.current.clickForce;if(!mouse||force<=0)return{x:0,y:0};const dx=baseX-mouse.x,dy=baseY-mouse.y;const dist=Math.sqrt(dx*dx+dy*dy);if(dist===0)return{x:0,y:0};const normalizedDist=Math.min(dist/maxDist,1);const pushAmount=Math.pow(1-normalizedDist,2)*force*100;return{x:dx/dist*pushAmount,y:dy/dist*pushAmount};};const animate=()=>{const now=performance.now();const deltaTime=now-lastTime;lastTime=now;const currentColors=colorsRef.current;const hoverColorParsed=parseColor(currentColors.hoverColor);const gridColorParsed=parseColor(currentColors.gridColor);const dotColorParsed=parseColor(currentColors.dotColor);const bgColorParsed=parseColor(currentColors.backgroundColor);const currentGridSize=currentColors.gridSize;const currentDotSize=currentColors.dotSize;const currentGridThickness=currentColors.gridThickness;const currentBaseOpacity=currentColors.baseOpacity;ctx.clearRect(0,0,width,height);ctx.fillStyle=`rgba(${bgColorParsed.r}, ${bgColorParsed.g}, ${bgColorParsed.b}, ${bgColorParsed.a})`;ctx.fillRect(0,0,width,height);dotsRef.current.forEach((dot,key)=>{const[gxStr,gyStr]=key.split(\",\");const gx=parseInt(gxStr),gy=parseInt(gyStr);const rightDot=dotsRef.current.get(`${gx+currentGridSize},${gy}`);const bottomDot=dotsRef.current.get(`${gx},${gy+currentGridSize}`);const hoverIntensity=getHoverIntensity(dot.x,dot.y);if(rightDot){const avgHover=(hoverIntensity+getHoverIntensity(rightDot.x,rightDot.y))/2;const r=Math.round(gridColorParsed.r+(hoverColorParsed.r-gridColorParsed.r)*avgHover);const g=Math.round(gridColorParsed.g+(hoverColorParsed.g-gridColorParsed.g)*avgHover);const b=Math.round(gridColorParsed.b+(hoverColorParsed.b-gridColorParsed.b)*avgHover);const lineOpacity=currentBaseOpacity+(1-currentBaseOpacity)*avgHover;ctx.beginPath();ctx.moveTo(dot.x,dot.y);ctx.lineTo(rightDot.x,rightDot.y);ctx.lineWidth=currentGridThickness+avgHover*2;ctx.strokeStyle=`rgba(${r}, ${g}, ${b}, ${lineOpacity})`;ctx.stroke();}if(bottomDot){const avgHover=(hoverIntensity+getHoverIntensity(bottomDot.x,bottomDot.y))/2;const r=Math.round(gridColorParsed.r+(hoverColorParsed.r-gridColorParsed.r)*avgHover);const g=Math.round(gridColorParsed.g+(hoverColorParsed.g-gridColorParsed.g)*avgHover);const b=Math.round(gridColorParsed.b+(hoverColorParsed.b-gridColorParsed.b)*avgHover);const lineOpacity=currentBaseOpacity+(1-currentBaseOpacity)*avgHover;ctx.beginPath();ctx.moveTo(dot.x,dot.y);ctx.lineTo(bottomDot.x,bottomDot.y);ctx.lineWidth=currentGridThickness+avgHover*2;ctx.strokeStyle=`rgba(${r}, ${g}, ${b}, ${lineOpacity})`;ctx.stroke();}});const{springStiffness,damping}=getSpringParams();dotsRef.current.forEach((dot,key)=>{const[gxStr,gyStr]=key.split(\",\");const gx=parseInt(gxStr),gy=parseInt(gyStr);const targetX=gx+getCursorPush(gx,gy).x+getClickPush(gx,gy).x;const targetY=gy+getCursorPush(gx,gy).y+getClickPush(gx,gy).y;const forceX=(targetX-dot.x)*springStiffness;const forceY=(targetY-dot.y)*springStiffness;dot.vx=(dot.vx+forceX)*damping;dot.vy=(dot.vy+forceY)*damping;dot.x+=dot.vx;dot.y+=dot.vy;const hoverIntensity=getHoverIntensity(dot.x,dot.y);dot.targetSize=currentDotSize+hoverIntensity*currentDotSize;dot.size+=(dot.targetSize-dot.size)*.15;const r=Math.round(dotColorParsed.r+(hoverColorParsed.r-dotColorParsed.r)*hoverIntensity);const g=Math.round(dotColorParsed.g+(hoverColorParsed.g-dotColorParsed.g)*hoverIntensity);const b=Math.round(dotColorParsed.b+(hoverColorParsed.b-dotColorParsed.b)*hoverIntensity);const opacity=currentBaseOpacity+(1-currentBaseOpacity)*hoverIntensity;ctx.beginPath();ctx.arc(dot.x,dot.y,Math.max(currentDotSize*.5,dot.size),0,Math.PI*2);ctx.fillStyle=`rgba(${r}, ${g}, ${b}, ${opacity})`;ctx.fill();});const{cursorTrail:ct,trailLength:tlen,trailColor:tcolor}=currentColors;const effectiveTrailLength=Math.max(1,Math.round(tlen*50));if(ct&&effectiveTrailLength>0){const trail=trailPointsRef.current;if(trail.length>1){const now=performance.now();const maxAge=Math.max(200,effectiveTrailLength*40);ctx.save();ctx.lineCap=\"round\";ctx.lineJoin=\"round\";ctx.lineWidth=2;ctx.beginPath();let started=false;for(let i=0;i<trail.length;i++){const point=trail[i],age=now-point.time;if(age<maxAge){if(!started){ctx.moveTo(point.x,point.y);started=true;}else{ctx.lineTo(point.x,point.y);}}}const trailAlpha=trail.length>0?Math.max(0,1-(now-trail[trail.length-1].time)/maxAge):0;const tc=parseColor(tcolor);ctx.strokeStyle=`rgba(${tc.r}, ${tc.g}, ${tc.b}, ${trailAlpha*.9*tc.a})`;ctx.stroke();ctx.restore();}}animationRef.current=requestAnimationFrame(animate);};animationRef.current=requestAnimationFrame(animate);const handleMouseMove=e=>{const rect=canvas.getBoundingClientRect();const canvasWidth=canvas.clientWidth||canvas.offsetWidth||1;const canvasHeight=canvas.clientHeight||canvas.offsetHeight||1;const scaleX=canvasWidth/rect.width;const scaleY=canvasHeight/rect.height;const x=(e.clientX-rect.left)*scaleX;const y=(e.clientY-rect.top)*scaleY;// Only track if mouse is within component bounds\nif(x>=0&&y>=0&&x<=canvasWidth&&y<=canvasHeight){mousePosRef.current={x,y};const{cursorTrail:ct,trailMode:tm,trailLength:tlen}=colorsRef.current;const effectiveLength=Math.max(1,Math.round(tlen*100));if(ct&&effectiveLength>0&&(tm===\"hover\"||isMouseDownRef.current)){const now=performance.now();const trail=trailPointsRef.current;trail.push({x,y,time:now});if(trail.length>effectiveLength)trail.splice(0,trail.length-effectiveLength);}}else{mousePosRef.current=null;}};const handleMouseDown=()=>{isMouseDownRef.current=true;};const handleMouseUp=()=>{if(colorsRef.current.trailMode===\"click\")trailPointsRef.current=[];isMouseDownRef.current=false;};// Attach listeners to window to allow interaction with underlying elements\nwindow.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"mousedown\",handleMouseDown);window.addEventListener(\"mouseup\",handleMouseUp);const handleResize=()=>{const newSize=getCanvasSize();width=newSize.width;height=newSize.height;canvas.width=width;canvas.height=height;initDots();};const resizeObserver=new ResizeObserver(handleResize);resizeObserver.observe(canvas);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"mousedown\",handleMouseDown);window.removeEventListener(\"mouseup\",handleMouseUp);resizeObserver.disconnect();if(animationRef.current)cancelAnimationFrame(animationRef.current);};},[mounted]);if(!mounted)return null;return /*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",pointerEvents:\"none\",...props.style}});}addPropertyControls(KineticGrid,{clickInteraction:{type:ControlType.Boolean,title:\"Click\",defaultValue:false},clickProps:{type:ControlType.Object,title:\"Click Props\",hidden:p=>!p.clickInteraction,controls:{clickForce:{type:ControlType.Number,title:\"Click Force\",defaultValue:.5,min:.1,max:1,step:.1},motionSpeed:{type:ControlType.Number,title:\"Snappyness\",defaultValue:.5,min:.1,max:1,step:.1}}},cursorTrail:{type:ControlType.Boolean,title:\"Cursor Trail\",defaultValue:false},cursorTrailProps:{type:ControlType.Object,hidden:p=>!p.cursorTrail,title:\"Trail Props\",controls:{trailMode:{type:ControlType.Enum,title:\"Trail Mode\",options:[\"click\",\"hover\"],defaultValue:\"hover\"},trailLength:{type:ControlType.Number,title:\"Trail Length\",defaultValue:.1,min:.1,max:1,step:.1},trailColor:{type:ControlType.Color,title:\"Trail Color\",defaultValue:\"#FFFFFF\"}}},gridThickness:{type:ControlType.Number,title:\"Grid Stroke\",defaultValue:.5,min:.1,max:3,step:.1},dotSize:{type:ControlType.Number,title:\"Dot Size\",defaultValue:1.5,min:.5,max:5,step:.1},baseOpacity:{type:ControlType.Number,title:\"Far Opacity\",defaultValue:.09,min:0,max:1,step:.01},gridSize:{type:ControlType.Number,title:\"Grid Size\",defaultValue:60,min:20,max:100,step:5},repulsionStrength:{type:ControlType.Number,title:\"Repulsion\",defaultValue:-.65,min:-1,max:1,step:.01},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:350,min:50,max:1e3,step:10},hoverColor:{type:ControlType.Color,title:\"Hover\",defaultValue:\"#0073FF\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\"},gridColor:{type:ControlType.Color,title:\"Grid\",defaultValue:\"#FFFFFF\"},dotColor:{type:ControlType.Color,title:\"Dots\",defaultValue:\"#FFFFFF\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});KineticGrid.displayName=\"Kinetic Grid\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"KineticGrid\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"500\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"800\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./InteractiveGrid_prod.map","// Generated by Framer (f550547)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,ResolveLinks,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import KineticGrid from\"https://framerusercontent.com/modules/wskW1SoDKxJzJIiqOylQ/Z86JKWtK3QU4ffeT2odo/InteractiveGrid_prod.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/zzIa9cE0L6LWkzXReBZj/gZbilPNGLDVi6GQdS3g9/MYwPjfe5j.js\";import Button from\"https://framerusercontent.com/modules/1eIcpd3nmHUEY8FjwvuX/GTFVLRgyQK1alIoO6CGk/beyr97Pj2.js\";const ButtonFonts=getFonts(Button);const KineticGridFonts=getFonts(KineticGrid);const cycleOrder=[\"p9COG81r4\",\"jlA2zuzE4\",\"EnQe2Wfpq\",\"w7rRMqcsh\"];const serializationHash=\"framer-BQg1E\";const variantClassNames={EnQe2Wfpq:\"framer-v-19v1aux\",jlA2zuzE4:\"framer-v-1kh08no\",p9COG81r4:\"framer-v-djz630\",w7rRMqcsh:\"framer-v-9spgaa\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Desktop:\"p9COG81r4\",Phone:\"EnQe2Wfpq\",Tablet:\"jlA2zuzE4\",Wide:\"w7rRMqcsh\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"p9COG81r4\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"p9COG81r4\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.section,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-djz630\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"p9COG81r4\",ref:refBinding,style:{...style},...addPropertyOverrides({EnQe2Wfpq:{\"data-framer-name\":\"Phone\"},jlA2zuzE4:{\"data-framer-name\":\"Tablet\"},w7rRMqcsh:{\"data-framer-name\":\"Wide\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1p9pfkf\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"TLz_29IpN\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-fbghdi\",layoutDependency:layoutDependency,layoutId:\"jWRr8LvOX\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-kljoji\",\"data-styles-preset\":\"MYwPjfe5j\",dir:\"auto\",style:{\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(37, 98, 234))\"},children:\"Get in touch!\"})}),className:\"framer-1o302sj\",\"data-framer-name\":\"Join Voodoo today.\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"p5IJnj5yt\",style:{\"--extracted-1of0zx5\":\"rgb(37, 98, 234)\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"FKQnsEJJj\"},implicitPathVariables:undefined},{href:{webPageId:\"FKQnsEJJj\"},implicitPathVariables:undefined},{href:{webPageId:\"FKQnsEJJj\"},implicitPathVariables:undefined},{href:{webPageId:\"FKQnsEJJj\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,y:(componentViewport?.y||0)+128+(((componentViewport?.height||200)-256-144)/2+0+0)+0+0+104,...addPropertyOverrides({EnQe2Wfpq:{y:(componentViewport?.y||0)+64+(((componentViewport?.height||200)-128-144)/2+0+0)+0+0+0+104}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ygxqmq-container\",layoutDependency:layoutDependency,layoutId:\"wNCH8WF4r-container\",nodeId:\"wNCH8WF4r\",rendersWithMotion:true,scopeId:\"uUMkJJyis\",children:/*#__PURE__*/_jsx(Button,{fEteKTjUG:resolvedLinks[0],height:\"100%\",id:\"wNCH8WF4r\",layoutId:\"wNCH8WF4r\",mwSmtD9y5:\"Get in touch\",variant:matchVariant(\"f7WvdiVFT\"),vUKAMPBYJ:\"CaretRight\",width:\"100%\",...addPropertyOverrides({EnQe2Wfpq:{fEteKTjUG:resolvedLinks[2]},jlA2zuzE4:{fEteKTjUG:resolvedLinks[1]},w7rRMqcsh:{fEteKTjUG:resolvedLinks[3]}},baseVariant,gestureVariant)})})})})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1afw3sw-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"hkksqg2VZ-container\",nodeId:\"hkksqg2VZ\",rendersWithMotion:true,scopeId:\"uUMkJJyis\",children:/*#__PURE__*/_jsx(KineticGrid,{backgroundColor:\"rgba(0, 0, 0, 0)\",baseOpacity:.5,clickInteraction:false,clickProps:{clickForce:.5,motionSpeed:.5},cursorTrail:true,cursorTrailProps:{trailColor:\"rgb(255, 255, 255)\",trailLength:.1,trailMode:\"hover\"},dotColor:\"rgb(255, 255, 255)\",dotSize:2,gridColor:\"var(--token-5bd54f06-3244-4cc0-98e4-f754937ccdfe, rgb(255, 255, 255))\",gridSize:32,gridThickness:1,height:\"100%\",hoverColor:\"var(--token-5bd54f06-3244-4cc0-98e4-f754937ccdfe, rgb(255, 255, 255))\",id:\"hkksqg2VZ\",layoutId:\"hkksqg2VZ\",radius:350,repulsionStrength:-.65,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1gh2i7m\",\"data-framer-name\":\"Gradient\",layoutDependency:layoutDependency,layoutId:\"XhVDyTyB1\",style:{background:\"radial-gradient(50% 50% at 50% 50%, rgba(229, 231, 235, 0.1) 68.0954391891892%, var(--token-529e015c-fa5c-46d3-9b34-83c941413ed1, rgb(229, 231, 235)) 100%)\"}})]})})})});});const css=[\".framer-BQg1E.framer-e9istt, .framer-BQg1E .framer-e9istt { display: block; }\",\".framer-BQg1E.framer-djz630 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: hidden; padding: 128px 64px 128px 64px; position: relative; width: 1224px; }\",\".framer-BQg1E .framer-1p9pfkf { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: center; max-width: 1024px; overflow: visible; padding: 0px; position: relative; width: 100%; z-index: 2; }\",\".framer-BQg1E .framer-fbghdi { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 60%; }\",\".framer-BQg1E .framer-1o302sj { flex: none; height: auto; max-width: 800px; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-BQg1E .framer-ygxqmq-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-BQg1E .framer-1afw3sw-container { flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); position: absolute; top: calc(50.00000000000002% - 100% / 2); width: 100%; z-index: 1; }\",\".framer-BQg1E .framer-1gh2i7m { -webkit-user-select: none; flex: none; height: 100%; left: calc(50.00000000000002% - 100% / 2); overflow: var(--overflow-clip-fallback, clip); pointer-events: none; position: absolute; top: calc(50.00000000000002% - 100% / 2); user-select: none; width: 100%; z-index: 1; }\",\".framer-BQg1E.framer-v-1kh08no.framer-djz630 { padding: 128px 48px 128px 48px; width: 768px; }\",\".framer-BQg1E.framer-v-1kh08no .framer-fbghdi { flex: 1 0 0px; width: 1px; }\",\".framer-BQg1E.framer-v-19v1aux.framer-djz630 { padding: 64px 24px 64px 24px; width: 320px; }\",\".framer-BQg1E.framer-v-19v1aux .framer-1p9pfkf { flex-direction: column; }\",\".framer-BQg1E.framer-v-19v1aux .framer-fbghdi { width: 100%; }\",\".framer-BQg1E.framer-v-9spgaa.framer-djz630 { width: 1920px; }\",\".framer-BQg1E.framer-v-9spgaa .framer-1p9pfkf { max-width: 1280px; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 400\n * @framerIntrinsicWidth 1224\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"jlA2zuzE4\":{\"layout\":[\"fixed\",\"auto\"]},\"EnQe2Wfpq\":{\"layout\":[\"fixed\",\"auto\"]},\"w7rRMqcsh\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FrameruUMkJJyis=withCSS(Component,css,\"framer-BQg1E\");export default FrameruUMkJJyis;FrameruUMkJJyis.displayName=\"Get in Touch - LIGHT\";FrameruUMkJJyis.defaultProps={height:400,width:1224};addPropertyControls(FrameruUMkJJyis,{variant:{options:[\"p9COG81r4\",\"jlA2zuzE4\",\"EnQe2Wfpq\",\"w7rRMqcsh\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\",\"Wide\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FrameruUMkJJyis,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...ButtonFonts,...KineticGridFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FrameruUMkJJyis.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Button,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameruUMkJJyis\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"400\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"1224\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"jlA2zuzE4\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"EnQe2Wfpq\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"w7rRMqcsh\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";// Helix animated vertical gradient.\n//\n// One container-sized div. The ramp is a single period used as a repeating background tile\n// four times the element's height, so only a quarter of the ramp is ever in view (you never\n// see the navy trough and the white peak together) and the background simply tiles above and\n// below. Scrolling it is one CSS animation on background-position.\n//\n// background-position percentages map onto (image height - box height) = 3x the box, so\n// 150% is a shift of exactly 3x the box = exactly one tile. The tiling makes that wrap\n// invisible, with no oversized clipped layer to translate and nothing tied to a pixel value\n// or a breakpoint.\nconst RAMP_FULL=\"linear-gradient(180deg, #73B2FF 0.0%, #73B2FF 1.5625%, #73B2FF 3.125%, #73B2FF 4.6875%, #73B2FF 6.25%, #74B3FF 7.8125%, #75B3FF 9.375%, #76B4FF 10.9375%, #79B5FF 12.5%, #7BB6FF 14.0625%, #7FB8FF 15.625%, #83BBFF 17.1875%, #89BEFF 18.75%, #8EC1FF 20.3125%, #95C4FF 21.875%, #9CC8FF 23.4375%, #A2CCFF 25.0%, #A9CFFF 26.5625%, #B0D3FF 28.125%, #B7D6FF 29.6875%, #BCD9FF 31.25%, #C2DCFF 32.8125%, #C6DFFF 34.375%, #CAE1FF 35.9375%, #CCE2FF 37.5%, #CFE3FF 39.0625%, #D0E4FF 40.625%, #D1E4FF 42.1875%, #D2E5FF 43.75%, #D2E5FF 45.3125%, #D2E5FF 46.875%, #D2E5FF 48.4375%, #D2E5FF 50.0%, #D2E5FF 51.5625%, #D2E5FF 53.125%, #D2E5FF 54.6875%, #D2E5FF 56.25%, #D1E4FF 57.8125%, #D0E4FF 59.375%, #CFE3FF 60.9375%, #CCE2FF 62.5%, #CAE1FF 64.0625%, #C6DFFF 65.625%, #C2DCFF 67.1875%, #BCD9FF 68.75%, #B7D6FF 70.3125%, #B0D3FF 71.875%, #A9CFFF 73.4375%, #A2CCFF 75.0%, #9CC8FF 76.5625%, #95C4FF 78.125%, #8EC1FF 79.6875%, #89BEFF 81.25%, #83BBFF 82.8125%, #7FB8FF 84.375%, #7BB6FF 85.9375%, #79B5FF 87.5%, #76B4FF 89.0625%, #75B3FF 90.625%, #74B3FF 92.1875%, #73B2FF 93.75%, #73B2FF 95.3125%, #73B2FF 96.875%, #73B2FF 98.4375%, #73B2FF 100.0%)\";const RAMP_LIGHT=\"linear-gradient(180deg, #73B2FF 0.0%, #73B2FF 1.5625%, #73B2FF 3.125%, #73B2FF 4.6875%, #73B2FF 6.25%, #74B3FF 7.8125%, #75B3FF 9.375%, #76B4FF 10.9375%, #79B5FF 12.5%, #7BB6FF 14.0625%, #7FB8FF 15.625%, #83BBFF 17.1875%, #89BEFF 18.75%, #8EC1FF 20.3125%, #95C4FF 21.875%, #9CC8FF 23.4375%, #A2CCFF 25.0%, #A9CFFF 26.5625%, #B0D3FF 28.125%, #B7D6FF 29.6875%, #BCD9FF 31.25%, #C2DCFF 32.8125%, #C6DFFF 34.375%, #CAE1FF 35.9375%, #CCE2FF 37.5%, #CFE3FF 39.0625%, #D0E4FF 40.625%, #D1E4FF 42.1875%, #D2E5FF 43.75%, #D2E5FF 45.3125%, #D2E5FF 46.875%, #D2E5FF 48.4375%, #D2E5FF 50.0%, #D2E5FF 51.5625%, #D2E5FF 53.125%, #D2E5FF 54.6875%, #D2E5FF 56.25%, #D1E4FF 57.8125%, #D0E4FF 59.375%, #CFE3FF 60.9375%, #CCE2FF 62.5%, #CAE1FF 64.0625%, #C6DFFF 65.625%, #C2DCFF 67.1875%, #BCD9FF 68.75%, #B7D6FF 70.3125%, #B0D3FF 71.875%, #A9CFFF 73.4375%, #A2CCFF 75.0%, #9CC8FF 76.5625%, #95C4FF 78.125%, #8EC1FF 79.6875%, #89BEFF 81.25%, #83BBFF 82.8125%, #7FB8FF 84.375%, #7BB6FF 85.9375%, #79B5FF 87.5%, #76B4FF 89.0625%, #75B3FF 90.625%, #74B3FF 92.1875%, #73B2FF 93.75%, #73B2FF 95.3125%, #73B2FF 96.875%, #73B2FF 98.4375%, #73B2FF 100.0%)\";const KEYFRAMES=`\n@keyframes helixGradientScroll {\n  from { background-position: 0% 0%; }\n  to   { background-position: 0% 166.6667%; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .helix-gradient-scroll { animation: none !important; }\n}\n`;function useKeyframes(){useEffect(()=>{const id=\"helix-gradient-scroll-keyframes\";if(typeof document===\"undefined\")return;if(document.getElementById(id))return;const tag=document.createElement(\"style\");tag.id=id;tag.textContent=KEYFRAMES;document.head.appendChild(tag);},[]);}function gradientStyle(image,seconds){return{backgroundImage:image,backgroundSize:\"100% 250%\",backgroundRepeat:\"repeat-y\",animation:`helixGradientScroll ${seconds}s linear infinite`};}/**\n * @framerDisableUnlink\n */export function withGradientLoop(Component){return props=>{useKeyframes();return /*#__PURE__*/_jsx(Component,{...props,className:[props.className,\"helix-gradient-scroll\"].filter(Boolean).join(\" \"),style:{...props.style,...gradientStyle(RAMP_FULL,8)}});};}/**\n * @framerDisableUnlink\n */export function withGradientLoopLight(Component){return props=>{useKeyframes();return /*#__PURE__*/_jsx(Component,{...props,className:[props.className,\"helix-gradient-scroll\"].filter(Boolean).join(\" \"),style:{...props.style,...gradientStyle(RAMP_LIGHT,8)}});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withGradientLoopLight\":{\"type\":\"reactHoc\",\"name\":\"withGradientLoopLight\",\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"withGradientLoop\":{\"type\":\"reactHoc\",\"name\":\"withGradientLoop\",\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HelixGradientLoop.map"],"mappings":"A,+dAMG,SAAwBoD,EAAY,EAAM,CAAC,GAAK,CAAC,mBAAiB,GAAM,aAAW,CAAC,EAAE,cAAY,GAAM,mBAAiB,CAAC,EAAE,kBAAgB,cAAc,YAAU,UAAU,WAAS,UAAU,aAAW,UAAU,WAAS,GAAG,oBAAkB,KAAK,SAAO,IAAI,UAAQ,IAAI,gBAAc,GAAG,cAAY,KAAKC,EAAW,CAAC,aAAW,EAAE,cAAY,GAAGC,EAAgB,CAAC,YAAU,QAAQ,cAAY,GAAG,aAAW,WAAWC,EAAuBC,EAAUxD,EAAO,IAAI,EAAQyD,EAAazD,EAAO,IAAI,EAAQ0D,EAAQ1D,kBAAO,IAAI,GAAG,EAAQ2D,EAAY3D,EAAO,IAAI,EAAQ4D,EAAe5D,EAAO,CAAC,CAAC,EAAQ6D,EAAe7D,EAAO,EAAK,EAAO,CAAC8D,EAAQC,GAAY9D,EAAS,EAAK,EAAQ+D,EAAUhE,EAAO,CAAC,kBAAgB,YAAU,WAAS,aAAW,WAAS,oBAAkB,SAAO,UAAQ,gBAAc,cAAY,mBAAiB,aAAW,cAAY,cAAY,YAAU,cAAY,YAAU,CAAC,EAAQiE,EAAgBjE,EAAOkE,CAAQ,EAAE3C,MAAc,CAAC,IAAM4C,EAAgBF,EAAgB,UAAUC,EAAqQ,GAA5P,EAAgB,QAAQA,EAAS,EAAU,QAAQ,CAAC,kBAAgB,YAAU,WAAS,aAAW,WAAS,oBAAkB,SAAO,UAAQ,gBAAc,cAAY,mBAAiB,aAAW,cAAY,cAAY,YAAU,cAAY,YAAU,EAAKC,GAAiBL,GAASN,EAAU,QAAQ,CAAC,IAAMY,EAAOZ,EAAU,QAAca,EAAMD,EAAO,aAAaA,EAAO,aAAa,EAAQE,EAAOF,EAAO,cAAcA,EAAO,cAAc,EAAEV,EAAQ,QAAQ,MAAM,EAAE,IAAI,IAAIa,EAAG,CAACL,EAASK,EAAGF,EAAMH,EAAS,EAAE,GAAIA,EAAU,IAAI,IAAIM,EAAG,CAACN,EAASM,EAAGF,EAAOJ,EAAS,EAAE,GAAIA,EAAS,CAAC,IAAMO,EAAI,GAAGF,EAAG,GAAGC,IAAKd,EAAQ,QAAQ,IAAIe,EAAI,CAAC,EAAEF,EAAG,EAAEC,EAAG,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAE,CAAE,CAAC,EAAE,CAACV,EAAQY,EAAgBC,EAAUC,EAASC,EAAWX,EAASY,EAAkBC,EAAOC,EAAQC,EAAcC,EAAYC,EAAiBC,EAAWC,EAAYC,EAAYC,EAAUC,EAAYC,CAAU,CAAC,EAAE,IAAMC,EAAW,GAAO,CAAC,GAAG,CAACC,GAAOA,IAAQ,cAAc,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAMC,EAAUD,EAAM,MAAM,2DAA2D,EAAE,GAAGC,EAAU,MAAM,CAAC,EAAE,SAASA,EAAU,EAAE,EAAE,EAAE,SAASA,EAAU,EAAE,EAAE,EAAE,SAASA,EAAU,EAAE,EAAE,EAAE,WAAWA,EAAU,EAAE,CAAC,EAAE,IAAMC,EAASF,EAAM,MAAM,2CAA2C,EAAE,GAAGE,EAAS,MAAM,CAAC,EAAE,SAASA,EAAS,EAAE,EAAE,EAAE,SAASA,EAAS,EAAE,EAAE,EAAE,SAASA,EAAS,EAAE,EAAE,EAAE,CAAC,EAAE,IAAIC,EAAIH,EAAM,QAAQ,IAAI,EAAE,EAAE,GAAGG,EAAI,SAAS,EAAG,MAAM,CAAC,EAAE,SAASA,EAAI,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,SAASA,EAAI,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,SAASA,EAAI,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,SAASA,EAAI,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAMA,EAAI,SAAS,IAAE,EAAIA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAAG,IAAMC,EAAE,SAASD,EAAI,UAAU,EAAE,CAAC,EAAE,EAAE,EAAEE,EAAE,SAASF,EAAI,UAAU,EAAE,CAAC,EAAE,EAAE,EAAEG,EAAE,SAASH,EAAI,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,MAAMC,CAAC,EAAE,IAAIA,EAAE,EAAE,MAAMC,CAAC,EAAE,IAAIA,EAAE,EAAE,MAAMC,CAAC,EAAE,IAAIA,EAAE,EAAE,CAAC,CAAE,EAEljE,OAFojE1E,MAAc,CAACwC,EAAW,EAAI,CAAE,EAAE,CAAC,CAAC,EAAExC,MAAc,CAAC,GAAG,CAACuC,EAAQ,OAAO,IAAMM,EAAOZ,EAAU,QAAQ,GAAG,CAACY,EAAO,OAAO,IAAM8B,EAAI9B,EAAO,WAAW,IAAI,EAAE,GAAG,CAAC8B,EAAI,OAAO,IAAwBC,MAAoB,CAAC,IAAMC,EAAMpC,EAAU,QAAQ,YAAkB,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAEoC,CAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE,IAAI,QAAQ,GAAG,EAAE,GAAG,CAAE,EAAQC,OAAwI,CAAC,MAA1GjC,EAAO,aAAaA,EAAO,aAAa,EAAwE,OAAzDA,EAAO,cAAcA,EAAO,cAAc,CAAqB,GAAUkC,MAAa,CAAC5C,EAAQ,QAAQ,MAAM,EAAE,GAAK,CAAC,QAAM,UAAQ2C,EAAc,EAAQE,EAAgBvC,EAAU,QAAQ,SAAS,IAAI,IAAIO,EAAG,CAACgC,EAAgBhC,EAAGF,EAAMkC,EAAgB,EAAE,GAAIA,EAAiB,IAAI,IAAI/B,EAAG,CAAC+B,EAAgB/B,EAAGF,EAAOiC,EAAgB,EAAE,GAAIA,EAAgB,CAAC,IAAM9B,EAAI,GAAGF,EAAG,GAAGC,IAAKd,EAAQ,QAAQ,IAAIe,EAAI,CAAC,EAAEF,EAAG,EAAEC,EAAG,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAE,CAAE,EAAK,CAAC,QAAM,UAAQ6B,EAAc,EAAE,EAAO,MAAMhC,EAAM,EAAO,OAAOC,EAAOgC,EAAS,EAAE,IAAIE,EAAS,YAAY,IAAI,EAAQC,GAAmB,EAAE,IAAI,CAAC,IAAMC,EAAM/C,EAAY,QAAQ,GAAG,CAAC+C,EAAM,MAAO,GAAE,IAAMC,EAAY3C,EAAU,QAAQ,OAAa4C,EAAG9F,EAAE4F,EAAM,EAAEG,EAAGC,EAAEJ,EAAM,EAAQK,EAAK,KAAK,KAAKH,EAAGA,EAAGC,EAAGA,CAAE,EAA+B,OAA1BE,EAAKJ,EAAmB,GAAkB,EAAEI,EAAKJ,IAAY,GAAK,EAAQK,EAAa,GAAeC,GAAO,EAAEA,EAAM,GAAGA,EAAM,GAAWC,GAAe,EAAM,IAAQ,CAAC,IAAMR,EAAM/C,EAAY,QAAcwD,EAAiBnD,EAAU,QAAQ,kBAAwBoD,EAAgBJ,EAAaG,CAAgB,EAAE,GAAG,CAACT,GAAOU,IAAkB,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAMR,EAAGS,EAAMX,EAAM,EAAEG,EAAGS,EAAMZ,EAAM,EAAQK,EAAK,KAAK,KAAKH,EAAGA,EAAGC,EAAGA,CAAE,EAAE,GAAGE,IAAO,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAgD,IAAMQ,GAAoB,EAAnD,KAAK,IAAIR,EAAK,IAAQ,CAA+B,IAAe,EAAGK,EAAgB,MAAM,CAAC,EAAER,EAAGG,EAAKQ,EAAW,EAAEV,EAAGE,EAAKQ,CAAU,CAAE,EAAQC,GAAc,EAAM,IAAQ,CAAC,GAAG,CAACxD,EAAU,QAAQ,kBAAkB,CAACH,EAAe,QAAQ,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM6C,EAAM/C,EAAY,QAAc8D,EAAMzD,EAAU,QAAQ,WAAW,GAAG,CAAC0C,GAAOe,GAAO,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAMb,EAAGS,EAAMX,EAAM,EAAEG,EAAGS,EAAMZ,EAAM,EAAQK,EAAK,KAAK,KAAKH,EAAGA,EAAGC,EAAGA,CAAE,EAAE,GAAGE,IAAO,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAgD,IAAMQ,GAAoB,EAAnD,KAAK,IAAIR,EAAK,IAAQ,CAA+B,IAAe,EAAGU,EAAM,IAAI,MAAM,CAAC,EAAEb,EAAGG,EAAKQ,EAAW,EAAEV,EAAGE,EAAKQ,CAAU,CAAE,EAAQG,MAAY,CAAC,IAAMC,EAAI,YAAY,IAAI,EAAkBA,EAAInB,EAAS,EAASmB,EAAI,IAAMC,EAAc5D,EAAU,QAAc6D,EAAiBnC,EAAWkC,EAAc,UAAU,EAAQE,EAAgBpC,EAAWkC,EAAc,SAAS,EAAQG,EAAerC,EAAWkC,EAAc,QAAQ,EAAQI,EAActC,EAAWkC,EAAc,eAAe,EAAQrB,EAAgBqB,EAAc,SAAeK,EAAeL,EAAc,QAAcM,EAAqBN,EAAc,cAAoBO,EAAmBP,EAAc,YAAY1B,EAAI,UAAU,EAAE,EAAE7B,EAAMC,CAAM,EAAE,EAAI,UAAU,QAAQ0D,EAAc,EAAE,IAAIA,EAAc,EAAE,IAAIA,EAAc,EAAE,IAAIA,EAAc,EAAE,GAAG9B,EAAI,SAAS,EAAE,EAAE7B,EAAMC,CAAM,EAAEZ,EAAQ,QAAQ,SAAS,EAAI,IAAM,CAAC,GAAK,CAAC0E,EAAMC,GAAO5D,EAAI,MAAM,GAAG,EAAQF,EAAG,SAAS6D,CAAK,EAAE5D,EAAG,SAAS6D,CAAK,EAAQC,EAAS5E,EAAQ,QAAQ,IAAI,GAAGa,EAAGgC,EAAgB,GAAG/B,GAAI,EAAQ+D,EAAU7E,EAAQ,QAAQ,IAAI,GAAGa,EAAG,GAAGC,EAAG+B,GAAiB,EAAQiC,EAAe/B,EAAkBgC,EAAI,EAAEA,EAAI,CAAC,EAAE,GAAGH,EAAS,CAAC,IAAMI,GAAUF,EAAe/B,EAAkB6B,EAAS,EAAEA,EAAS,CAAC,GAAG,EAAQ,EAAE,KAAK,MAAMR,EAAgB,GAAGD,EAAiB,EAAEC,EAAgB,GAAGY,CAAQ,EAAQ1C,EAAE,KAAK,MAAM8B,EAAgB,GAAGD,EAAiB,EAAEC,EAAgB,GAAGY,CAAQ,EAAQzC,EAAE,KAAK,MAAM6B,EAAgB,GAAGD,EAAiB,EAAEC,EAAgB,GAAGY,CAAQ,EAAQC,EAAYR,GAAoB,EAAEA,GAAoBO,EAASxC,EAAI,UAAU,EAAEA,EAAI,OAAOuC,EAAI,EAAEA,EAAI,CAAC,EAAEvC,EAAI,OAAOoC,EAAS,EAAEA,EAAS,CAAC,EAAE,EAAI,UAAUJ,EAAqBQ,EAAS,EAAE,EAAI,YAAY,QAAQ,EAAE,IAAI1C,EAAE,IAAIC,EAAE,IAAI0C,EAAY,GAAGzC,EAAI,OAAO,CAAE,CAAC,GAAGqC,EAAU,CAAC,IAAMG,GAAUF,EAAe/B,EAAkB8B,EAAU,EAAEA,EAAU,CAAC,GAAG,EAAQ,EAAE,KAAK,MAAMT,EAAgB,GAAGD,EAAiB,EAAEC,EAAgB,GAAGY,CAAQ,EAAQ1C,EAAE,KAAK,MAAM8B,EAAgB,GAAGD,EAAiB,EAAEC,EAAgB,GAAGY,CAAQ,EAAQzC,EAAE,KAAK,MAAM6B,EAAgB,GAAGD,EAAiB,EAAEC,EAAgB,GAAGY,CAAQ,EAAQC,EAAYR,GAAoB,EAAEA,GAAoBO,EAASxC,EAAI,UAAU,EAAEA,EAAI,OAAOuC,EAAI,EAAEA,EAAI,CAAC,EAAEvC,EAAI,OAAOqC,EAAU,EAAEA,EAAU,CAAC,EAAE,EAAI,UAAUL,EAAqBQ,EAAS,EAAE,EAAI,YAAY,QAAQ,EAAE,IAAI1C,EAAE,IAAIC,EAAE,IAAI0C,EAAY,GAAGzC,EAAI,OAAO,CAAE,CAAC,CAAC,EAAE,GAAK,CAAC,kBAAgB,WAASC,EAAgB,EAAEzC,EAAQ,QAAQ,SAAS,EAAI,IAAM,CAAC,GAAK,CAAC0E,EAAMC,GAAO5D,EAAI,MAAM,GAAG,EAAQF,EAAG,SAAS6D,CAAK,EAAE5D,EAAG,SAAS6D,CAAK,EAAQO,EAAQrE,EAAG2C,EAAc3C,EAAGC,CAAE,CAAC,CAAC,EAAEgD,EAAajD,EAAGC,CAAE,CAAC,CAAC,EAAQqE,EAAQrE,EAAG0C,EAAc3C,EAAGC,CAAE,CAAC,CAAC,EAAEgD,EAAajD,EAAGC,CAAE,CAAC,CAAC,EAAQsE,GAAQF,EAAQH,EAAI,GAAGM,EAAsBC,GAAQH,EAAQJ,EAAI,GAAGM,EAAgB,EAAI,IAAIN,EAAI,GAAGK,GAAQG,EAAQ,EAAI,IAAIR,EAAI,GAAGO,GAAQC,EAAQ,EAAI,GAAGR,EAAI,GAAG,EAAI,GAAGA,EAAI,GAAG,IAAMD,EAAe/B,EAAkBgC,EAAI,EAAEA,EAAI,CAAC,EAAE,EAAI,WAAWR,EAAeO,EAAeP,EAAe,EAAI,OAAOQ,EAAI,WAAWA,EAAI,MAAM,IAAI,IAAM1C,EAAE,KAAK,MAAMgC,EAAe,GAAGF,EAAiB,EAAEE,EAAe,GAAGS,CAAc,EAAQxC,EAAE,KAAK,MAAM+B,EAAe,GAAGF,EAAiB,EAAEE,EAAe,GAAGS,CAAc,EAAQvC,EAAE,KAAK,MAAM8B,EAAe,GAAGF,EAAiB,EAAEE,EAAe,GAAGS,CAAc,EAAQU,EAAQf,GAAoB,EAAEA,GAAoBK,EAAetC,EAAI,UAAU,EAAEA,EAAI,IAAIuC,EAAI,EAAEA,EAAI,EAAE,KAAK,IAAIR,EAAe,GAAGQ,EAAI,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,EAAI,UAAU,QAAQ1C,EAAE,IAAIC,EAAE,IAAIC,EAAE,IAAIiD,EAAQ,GAAGhD,EAAI,KAAK,CAAE,CAAC,EAAE,GAAK,CAAC,YAAYiD,EAAG,YAAYC,EAAK,WAAWC,GAAQzB,EAAoB0B,EAAqB,KAAK,IAAI,EAAE,KAAK,MAAMF,EAAK,EAAE,CAAC,EAAE,GAAGD,GAAIG,EAAqB,EAAE,CAAC,IAAMC,EAAM3F,EAAe,QAAQ,GAAG2F,EAAM,OAAO,EAAE,CAAC,IAAM5B,EAAI,YAAY,IAAI,EAAQ6B,EAAO,KAAK,IAAI,IAAIF,EAAqB,EAAE,EAAEpD,EAAI,KAAK,EAAE,EAAI,QAAQ,QAAQ,EAAI,SAAS,QAAQ,EAAI,UAAU,EAAEA,EAAI,UAAU,EAAE,IAAIuD,EAAQ,GAAM,IAAI,IAAIC,EAAE,EAAEA,EAAEH,EAAM,OAAO,IAAI,CAAC,IAAMI,EAAMJ,EAAMG,GAAO/B,EAAIgC,EAAM,KAAYH,IAAYC,EAAwDvD,EAAI,OAAOyD,EAAM,EAAEA,EAAM,CAAC,GAAzEzD,EAAI,OAAOyD,EAAM,EAAEA,EAAM,CAAC,EAAE,EAAQ,IAAyC,CAAC,IAAMC,EAAWL,EAAM,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG5B,EAAI4B,EAAMA,EAAM,OAAO,EAAE,CAAC,MAAMC,CAAM,EAAE,EAAQK,EAAGnE,EAAW2D,CAAM,EAAE,EAAI,YAAY,QAAQQ,EAAG,EAAE,IAAIA,EAAG,EAAE,IAAIA,EAAG,EAAE,IAAID,EAAW,GAAGC,EAAG,EAAE,GAAG3D,EAAI,OAAO,EAAEA,EAAI,QAAQ,CAAE,CAAC,CAAC,EAAa,QAAQ,sBAAsBwB,CAAO,CAAE,EAAE,EAAa,QAAQ,sBAAsBA,CAAO,EAAE,IAAMoC,EAAgB,GAAG,CAAC,IAAMC,EAAK3F,EAAO,sBAAsB,EAAQ4F,EAAY5F,EAAO,aAAaA,EAAO,aAAa,EAAQ6F,EAAa7F,EAAO,cAAcA,EAAO,cAAc,EAAQ8F,EAAOF,EAAYD,EAAK,MAAYI,EAAOF,EAAaF,EAAK,OAAajJ,GAAGsJ,EAAE,QAAQL,EAAK,MAAMG,EAAapD,GAAGsD,EAAE,QAAQL,EAAK,KAAKI,EACt9S,GAAGrJ,GAAG,GAAGgG,GAAG,GAAGhG,GAAGkJ,GAAalD,GAAGmD,EAAa,CAAC,EAAY,QAAQ,CAAC,IAAE,GAAC,EAAE,GAAK,CAAC,YAAYd,EAAG,UAAUkB,EAAG,YAAYjB,GAAMpF,EAAU,QAAcsG,EAAgB,KAAK,IAAI,EAAE,KAAK,MAAMlB,EAAK,GAAG,CAAC,EAAE,GAAGD,GAAImB,EAAgB,IAAID,IAAK,SAASxG,EAAe,SAAS,CAAC,IAAM8D,EAAI,YAAY,IAAI,EAAQ4B,EAAM3F,EAAe,QAAQ2F,EAAM,KAAK,CAAC,IAAE,IAAE,KAAK5B,CAAG,CAAC,EAAK4B,EAAM,OAAOe,GAAgBf,EAAM,OAAO,EAAEA,EAAM,OAAOe,CAAe,CAAE,CAAC,KAAM,GAAY,QAAQ,IAAM,EAAQC,MAAoB,CAAC,EAAe,QAAQ,EAAK,EAAQC,MAAkB,CAAIxG,EAAU,QAAQ,YAAY,UAAQ,EAAe,QAAQ,CAAC,GAAE,EAAe,QAAQ,EAAM,EACroB7C,EAAO,iBAAiB,YAAY2I,CAAe,EAAE3I,EAAO,iBAAiB,YAAYoJ,CAAe,EAAEpJ,EAAO,iBAAiB,UAAUqJ,CAAa,EAAuJ,IAAMC,EAAe,IAAI,mBAAvJ,CAAC,IAAMC,EAAQrE,EAAc,EAAE,EAAMqE,EAAQ,MAAM,EAAOA,EAAQ,OAAO,EAAO,MAAMrG,EAAM,EAAO,OAAOC,EAAOgC,EAAS,CAAE,CAAsD,EAAiC,OAA/BmE,EAAe,QAAQrG,CAAM,MAAY,CAACjD,EAAO,oBAAoB,YAAY2I,CAAe,EAAE3I,EAAO,oBAAoB,YAAYoJ,CAAe,EAAEpJ,EAAO,oBAAoB,UAAUqJ,CAAa,EAAEC,EAAe,WAAW,EAAKhH,EAAa,SAAQ,qBAAqBA,EAAa,OAAO,CAAE,CAAE,EAAE,CAACK,CAAO,CAAC,EAAMA,EAAwC,gBAAK,SAAS,CAAC,IAAIN,EAAU,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,OAAO,OAAO,cAAc,OAAO,GAAGH,EAAM,KAAK,CAAC,CAAC,EAA9J,IAAgK,C,8CAACjB,EAAoBgB,EAAY,CAAC,iBAAiB,CAAC,KAAKP,EAAY,QAAQ,MAAM,QAAQ,aAAa,EAAK,EAAE,WAAW,CAAC,KAAKA,EAAY,OAAO,MAAM,cAAc,OAAO,GAAG,CAACvB,EAAE,iBAAiB,SAAS,CAAC,WAAW,CAAC,KAAKuB,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,KAAKA,EAAY,QAAQ,MAAM,eAAe,aAAa,EAAK,EAAE,iBAAiB,CAAC,KAAKA,EAAY,OAAO,OAAO,GAAG,CAACvB,EAAE,YAAY,MAAM,cAAc,SAAS,CAAC,UAAU,CAAC,KAAKuB,EAAY,KAAK,MAAM,aAAa,QAAQ,CAAC,QAAQ,OAAO,EAAE,aAAa,OAAO,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,eAAe,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,KAAKA,EAAY,MAAM,MAAM,cAAc,aAAa,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,KAAKA,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,WAAW,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,CAAC,KAAKA,EAAY,OAAO,MAAM,cAAc,aAAa,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,kBAAkB,CAAC,KAAKA,EAAY,OAAO,MAAM,YAAY,aAAa,KAAK,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,SAAS,aAAa,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,WAAW,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,gBAAgB,CAAC,KAAKA,EAAY,MAAM,MAAM,aAAa,aAAa,aAAa,EAAE,UAAU,CAAC,KAAKA,EAAY,MAAM,MAAM,OAAO,aAAa,SAAS,EAAE,SAAS,CAAC,KAAKA,EAAY,MAAM,MAAM,OAAO,aAAa,UAAU,YAAY,oEAAoE,CAAC,CAAC,EAAE,EAAY,YAAY,c,OCP9gD,SAASgI,EAAqB,EAAU,GAAGC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAuF,OAArFD,GAAU,QAAQ,GAASE,GAAS,OAAO,OAAOD,EAAcE,EAAUD,EAAQ,CAAC,EAASD,CAAc,C,kGAAtf,EAAY7I,EAAShC,CAAM,EAAQ,EAAiBgC,EAASkB,CAAW,EAAQ,EAAW,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQ,EAAkB,eAAqB,EAAkB,CAAC,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,iBAAiB,EAA+L,EAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQ,GAAc,GAAG8I,IAAO,CAAC,IAAI,IAAMC,KAAOD,EAAM,GAAGC,GAAK,OAAOA,GAAM,SAAS,OAAOA,CAAsB,EAAQ,GAAY,CAAC,QAAM,cAAY,CAAC,IAAMC,EAAOjM,EAAiByB,CAAmB,EAAQyK,EAAWpF,GAAOmF,EAAO,WAAiBE,EAAalM,OAAmB,CAAC,GAAGgM,EAAO,YAAU,GAAG,CAAC,KAAK,UAAUC,CAAU,CAAC,CAAC,EAAE,MAAoB,gBAAKzK,EAAoB,SAAS,CAAC,MAAM0K,EAAsB,UAAQ,CAAC,CAAE,EAAQ,EAAwB,CAAC,QAAQ,YAAY,MAAM,YAAY,OAAO,YAAY,KAAK,WAAW,EAAQ,EAAS5K,EAAO,OAAOrB,CAAc,EAAQ,IAAU,CAAC,SAAO,KAAG,QAAM,GAAGgD,MAAgB,CAAC,GAAGA,EAAM,QAAQqI,EAAwBrI,EAAM,UAAUA,EAAM,SAAS,WAAW,GAAU,IAAwB,EAAM,IAAeA,EAAM,iBAAwByH,EAAS,KAAK,GAAG,EAAEzH,EAAM,iBAAwByH,EAAS,KAAK,GAAG,EAAU,GAAuB,gBAAiB,SAAS,EAAM,EAAI,CAAC,IAAMyB,EAAYjM,EAAO,IAAI,EAAQkM,EAAWC,GAAKF,EAAkBG,EAAgBnM,EAAY,EAAO,CAAC,eAAa,aAAWkC,EAAc,EAAQkK,EAAkB/J,EAAqB,EAAO,CAAC,QAAM,UAAAgK,EAAU,WAAS,UAAQ,GAAGC,GAAWjB,GAASvI,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,cAAW,YAAUV,EAAgB,CAAC,aAAW,eAAe,YAAY,IAAI6J,EAAW,UAAQ,mBAAiB,CAAC,EAAQM,EAAiBjB,GAAuBxI,EAAMyH,CAAQ,EAA4DiC,EAAkB1K,EAAGgJ,EAAlD7K,EAA4F,EAA2B,OAAZyB,EAAU,EAAsB,gBAAKN,EAAY,CAAC,GAAGqL,GAAUN,EAAgB,SAAsB,gBAAKf,EAAS,CAAC,QAAQb,EAAS,QAAQ,GAAM,SAAsB,gBAAKW,EAAW,CAAC,MAAMF,EAAY,SAAsB,gBAAM7J,EAAO,QAAQ,CAAC,GAAGmL,EAAU,GAAGI,EAAgB,UAAU5K,EAAG0K,EAAkB,gBAAgBtM,EAAUyM,CAAU,EAAE,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,IAAIV,EAAW,MAAM,CAAC,GAAGW,CAAK,EAAE,GAAGtC,EAAqB,CAAC,UAAU,CAAC,mBAAmB,OAAO,EAAE,UAAU,CAAC,mBAAmB,QAAQ,EAAE,UAAU,CAAC,mBAAmB,MAAM,CAAC,EAAEuC,EAAYC,CAAc,EAAE,SAAS,CAAc,gBAAK3L,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,SAAsB,gBAAMA,EAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,gBAAKK,EAAS,CAAC,sBAAsB,GAAK,SAAsB,gBAAK1B,EAAe,CAAC,SAAsB,gBAAKqB,EAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,SAAS,sBAAsB,4CAA4C,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,qBAAqB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,sBAAsB,kBAAkB,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAe,gBAAKM,EAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,IAAA,EAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,IAAA,EAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,IAAA,EAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,IAAA,EAAS,CAAC,EAAE,SAAS,GAA4B,gBAAKQ,EAA0B,CAAC,OAAO,GAAG,GAAGmK,GAAmB,GAAG,GAAG,OAAOA,GAAmB,QAAQ,KAAK,IAAI,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG9B,EAAqB,CAAC,UAAU,CAAC,GAAG8B,GAAmB,GAAG,GAAG,MAAMA,GAAmB,QAAQ,KAAK,IAAI,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAES,EAAYC,CAAc,EAAE,SAAsB,gBAAK3K,EAA8B,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,gBAAKxC,EAAO,CAAC,UAAUoN,EAAc,GAAG,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,eAAe,QAAQ9B,EAAa,WAAW,EAAE,UAAU,aAAa,MAAM,OAAO,GAAGX,EAAqB,CAAC,UAAU,CAAC,UAAUyC,EAAc,EAAE,EAAE,UAAU,CAAC,UAAUA,EAAc,EAAE,EAAE,UAAU,CAAC,UAAUA,EAAc,EAAE,CAAC,EAAEF,EAAYC,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAK7K,EAA0B,CAAC,SAAsB,gBAAKE,EAA8B,CAAC,UAAU,2BAA2B,iBAAiB,GAAK,iBAAiB,GAAsB,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,gBAAKU,EAAY,CAAC,gBAAgB,mBAAmB,YAAY,GAAG,iBAAiB,GAAM,WAAW,CAAC,WAAW,GAAG,YAAY,EAAE,EAAE,YAAY,GAAK,iBAAiB,CAAC,WAAW,qBAAqB,YAAY,GAAG,UAAU,OAAO,EAAE,SAAS,qBAAqB,QAAQ,EAAE,UAAU,wEAAwE,SAAS,GAAG,cAAc,EAAE,OAAO,OAAO,WAAW,wEAAwE,GAAG,YAAY,SAAS,YAAY,OAAO,IAAI,kBAAkB,KAAK,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAK1B,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,WAAW,6JAA6J,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQ,GAAI,CAAC,gFAAgF,qRAAqR,6SAA6S,mRAAmR,uLAAuL,wGAAwG,0MAA0M,mTAAmT,iGAAiG,+EAA+E,+FAA+F,6EAA6E,iEAAiE,iEAAiE,uEAAuE,GAAGhB,EAAe,EAUpmS,EAAgBoB,EAAQgK,GAAUC,GAAI,cAAc,EAAiC,EAAgB,YAAY,uBAAuB,EAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,EAAE3J,EAAoB4J,EAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,SAAS,QAAQ,MAAM,EAAE,MAAM,UAAU,KAAKnJ,EAAY,IAAI,CAAC,CAAC,EAAE0K,EAASvB,EAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAGd,EAAY,GAAGC,EAAiB,GAAG7I,EAAwB3B,CAAiB,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,EAAE,EAAgB,OAAO,CAAC,MAAM,EAAM,KAAwB6M,EAAQ,OAAc,QAAQ,WAAW,CAACrL,EAAcjC,EAAO,CAAC,EAAEsN,CAAO,CAAC,CAAC,EAAG,C,OCQ97E,SAASC,IAAc,CAAClM,MAAc,CAAC,IAAMmM,EAAG,kCAA0E,GAArC,OAAO,SAAW,KAAsB,SAAS,eAAeA,CAAE,EAAE,OAAO,IAAMC,EAAI,SAAS,cAAc,OAAO,EAAE,EAAI,GAAGD,EAAG,EAAI,YAAYE,GAAU,SAAS,KAAK,YAAYD,CAAG,CAAE,EAAE,CAAC,CAAC,CAAE,CAAC,SAASE,GAAc,EAAM,EAAQ,CAAC,MAAM,CAAC,gBAAgBC,EAAM,eAAe,YAAY,iBAAiB,WAAW,UAAU,uBAAuBC,EAAQ,kBAAkB,CAAE,CAE1c,SAAgBC,GAAiB,EAAU,CAAC,MAAO,KAAQP,GAAa,EAAsB,gBAAK3B,EAAU,CAAC,GAAGzI,EAAM,UAAU,CAACA,EAAM,UAAU,uBAAuB,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,EAAE,MAAM,CAAC,GAAGA,EAAM,MAAM,GAAGwK,GAAcI,GAAU,CAAC,CAAC,CAAC,CAAC,EAAI,C,kDAV3P,GAAU,2mCAA6uE,GAAU"}