{"version":3,"file":"Shapes_Grid.C6vCcPE9.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/rcddb7RDcaIOJJXAdqzG/obs2HOqzot5aWZrut6jV/Shapes_Grid.js"],"sourcesContent":["// Interactive grid of animated shapes that respond to mouse movement and clicks with wave effects\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const PALETTE=[{type:\"solid\",value:\"#22c55e\"},{type:\"solid\",value:\"#06b6d4\"},{type:\"solid\",value:\"#f97316\"},{type:\"solid\",value:\"#ef4444\"},{type:\"solid\",value:\"#facc15\"},{type:\"solid\",value:\"#ec4899\"},{type:\"solid\",value:\"#9ca3af\"},{type:\"solid\",value:\"#a78bfa\"},{type:\"solid\",value:\"#60a5fa\"},{type:\"solid\",value:\"#34d399\"},{type:\"gradient\",stops:[\"#6366f1\",\"#3b82f6\"]},{type:\"gradient\",stops:[\"#06b6d4\",\"#6366f1\"]},{type:\"gradient\",stops:[\"#22c55e\",\"#06b6d4\"]},{type:\"gradient\",stops:[\"#f97316\",\"#ef4444\"]},{type:\"gradient\",stops:[\"#8b5cf6\",\"#06b6d4\"]},{type:\"gradient\",stops:[\"#3b82f6\",\"#8b5cf6\"]},{type:\"gradient\",stops:[\"#34d399\",\"#3b82f6\"]}];/**\n * Interactive Shapes Grid\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ShapesGrid(props){const{layout={gap:40,shapeSize:.38},interaction={radiusVmin:30,activityDecay:.93},animation={speedIn:.5,speedOut:.6,restScale:.09,minHoverScale:1,maxHoverScale:3},waves={waveSpeed:1200,waveWidth:180,enableAutoWaves:false,autoWaveInterval:3e3},shapes={enableCircles:true,enablePills:true,enableStars:true,starPointsMin:4,starPointsMax:10,starInnerRatioMin:.1,starInnerRatioMax:.5},colors={backgroundColor:\"#080808\",useCustomColors:false,enableSolidColors:true,enableGradients:true,customColor1:\"#22c55e\",customColor2:\"#06b6d4\",customColor3:\"#f97316\",customColor4:\"#ef4444\",customColor5:\"#facc15\",customColor6:\"#ec4899\",customColor7:\"#9ca3af\",customColor8:\"#a78bfa\",customColor9:\"#60a5fa\",customColor10:\"#34d399\"}}=props;const{gap,shapeSize}=layout;const{radiusVmin,activityDecay}=interaction;const{speedIn,speedOut,restScale,minHoverScale,maxHoverScale}=animation;const{waveSpeed,waveWidth,enableAutoWaves,autoWaveInterval}=waves;const{enableCircles,enablePills,enableStars,starPointsMin,starPointsMax,starInnerRatioMin,starInnerRatioMax}=shapes;const{backgroundColor,useCustomColors,enableSolidColors,enableGradients,customColor1,customColor2,customColor3,customColor4,customColor5,customColor6,customColor7,customColor8,customColor9,customColor10}=colors;const canvasRef=useRef(null);const gridRef=useRef(null);const pointerRef=useRef(null);const activityRef=useRef(0);const wavesRef=useRef([]);const rafIdRef=useRef(null);const autoWaveTimerRef=useRef(null);const isStatic=useIsStaticRenderer();const rnd=(min,max)=>Math.random()*(max-min)+min;const rndInt=(min,max)=>Math.floor(rnd(min,max+1));const pick=arr=>arr[Math.floor(Math.random()*arr.length)];const smoothstep=t=>{const c=Math.max(0,Math.min(1,t));return c*c*(3-2*c);};const durationToFactor=seconds=>{if(seconds<=0)return 1;return 1-Math.pow(.05,1/(60*seconds));};const drawCircle=(ctx,size)=>{ctx.beginPath();ctx.arc(0,0,size,0,Math.PI*2);ctx.fill();};const drawPill=(ctx,size)=>{const w=size*.48;const h=size;ctx.beginPath();ctx.roundRect(-w,-h,w*2,h*2,w);ctx.fill();};const drawStar=(ctx,size,points,innerRatio)=>{ctx.beginPath();for(let i=0;i<points*2;i++){const angle=i*Math.PI/points-Math.PI/2;const r=i%2===0?size:size*innerRatio;const x=Math.cos(angle)*r;const y=Math.sin(angle)*r;i===0?ctx.moveTo(x,y):ctx.lineTo(x,y);}ctx.closePath();ctx.fill();};const drawShape=(ctx,shape)=>{switch(shape.type){case\"circle\":return drawCircle(ctx,shape.size/1.5);case\"pill\":return drawPill(ctx,shape.size/1.4);case\"star\":return drawStar(ctx,shape.size,shape.points,shape.innerRatio);}};const resolveFill=(ctx,colorDef,size)=>{if(colorDef.type===\"solid\")return colorDef.value;const grad=ctx.createRadialGradient(0,-size*.3,0,0,size*.3,size*1.5);grad.addColorStop(0,colorDef.stops[0]);grad.addColorStop(1,colorDef.stops[1]);return grad;};const randomStarProps=()=>({points:rndInt(starPointsMin,starPointsMax),innerRatio:rnd(starInnerRatioMin,starInnerRatioMax)});const buildGrid=(width,height)=>{const cols=Math.floor(width/gap);const rows=Math.floor(height/gap);const offsetX=(width-(cols-1)*gap)/2;const offsetY=(height-(rows-1)*gap)/2;const shapes=[];// Build available shape types based on enabled options\nconst availableShapes=[];if(enableCircles)availableShapes.push(\"circle\");if(enablePills)availableShapes.push(\"pill\");if(enableStars)availableShapes.push(\"star\",\"star\")// Add twice for higher probability\n;// If no shapes enabled, default to circles\nif(availableShapes.length===0)availableShapes.push(\"circle\");// Build color palette based on settings\nlet colorPalette=[];if(useCustomColors){colorPalette=[{type:\"solid\",value:customColor1},{type:\"solid\",value:customColor2},{type:\"solid\",value:customColor3},{type:\"solid\",value:customColor4},{type:\"solid\",value:customColor5},{type:\"solid\",value:customColor6},{type:\"solid\",value:customColor7},{type:\"solid\",value:customColor8},{type:\"solid\",value:customColor9},{type:\"solid\",value:customColor10}];}else{if(enableSolidColors){colorPalette.push(...PALETTE.filter(c=>c.type===\"solid\"));}if(enableGradients){colorPalette.push(...PALETTE.filter(c=>c.type===\"gradient\"));}if(colorPalette.length===0){colorPalette=PALETTE// Fallback to all colors\n;}}for(let row=0;row<rows;row++){for(let col=0;col<cols;col++){const type=pick(availableShapes);const shape={x:offsetX+col*gap,y:offsetY+row*gap,type,color:pick(colorPalette),angle:rnd(0,Math.PI*2),size:gap*shapeSize,scale:restScale,maxScale:rnd(minHoverScale,maxHoverScale),hovered:false};if(type===\"star\")Object.assign(shape,randomStarProps());shapes.push(shape);}}return{shapes,width,height};};const init=()=>{const canvas=canvasRef.current;if(!canvas)return;const rect=canvas.getBoundingClientRect();const W=rect.width;const H=rect.height;const dpr=typeof window!==\"undefined\"?window.devicePixelRatio||1:1;canvas.width=W*dpr;canvas.height=H*dpr;canvas.style.width=W+\"px\";canvas.style.height=H+\"px\";const ctx=canvas.getContext(\"2d\");if(!ctx)return;ctx.setTransform(1,0,0,1,0,0);ctx.scale(dpr,dpr);gridRef.current=buildGrid(W,H);};const tick=()=>{const canvas=canvasRef.current;const grid=gridRef.current;if(!canvas||!grid){rafIdRef.current=requestAnimationFrame(tick);return;}const ctx=canvas.getContext(\"2d\");if(!ctx)return;const{shapes,width,height}=grid;const radius=Math.min(width,height)*(radiusVmin/100);const now=performance.now();ctx.clearRect(0,0,width,height);ctx.fillStyle=backgroundColor;ctx.fillRect(0,0,width,height);activityRef.current*=activityDecay;const maxDist=Math.sqrt(width*width+height*height);wavesRef.current=wavesRef.current.filter(w=>{return(now-w.startTime)/1e3*waveSpeed<maxDist+waveWidth;});for(let i=0;i<shapes.length;i++){const shape=shapes[i];let pointerInfluence=0;if(pointerRef.current&&activityRef.current>.001){const dx=shape.x-pointerRef.current.x;const dy=shape.y-pointerRef.current.y;const dist=Math.sqrt(dx*dx+dy*dy);pointerInfluence=smoothstep(1-dist/radius)*activityRef.current;if(pointerInfluence>.05&&!shape.hovered){shape.hovered=true;shape.maxScale=rnd(minHoverScale,maxHoverScale);shape.angle=rnd(0,Math.PI*2);if(shape.type===\"star\")Object.assign(shape,randomStarProps());}else if(pointerInfluence<=.05){shape.hovered=false;}}else{shape.hovered=false;}let waveInfluence=0;for(let j=0;j<wavesRef.current.length;j++){const wave=wavesRef.current[j];const waveRadius=(now-wave.startTime)/1e3*waveSpeed;const wdx=shape.x-wave.x;const wdy=shape.y-wave.y;const wdist=Math.sqrt(wdx*wdx+wdy*wdy);const t=1-Math.abs(wdist-waveRadius)/waveWidth;if(t>0)waveInfluence=Math.max(waveInfluence,Math.sin(Math.PI*t));}const pointerTarget=restScale+pointerInfluence*(shape.maxScale-restScale);const waveTarget=restScale+waveInfluence*(shape.maxScale-restScale);const target=Math.max(pointerTarget,waveTarget);const factor=target>shape.scale?durationToFactor(speedIn):durationToFactor(speedOut);shape.scale+=(target-shape.scale)*factor;if(shape.scale<restScale*.15)continue;ctx.save();ctx.translate(shape.x,shape.y);ctx.rotate(shape.angle);ctx.scale(shape.scale,shape.scale);ctx.fillStyle=resolveFill(ctx,shape.color,shape.size);drawShape(ctx,shape);ctx.restore();}rafIdRef.current=requestAnimationFrame(tick);};const triggerWave=(x,y)=>{const canvas=canvasRef.current;if(!canvas)return;const rect=canvas.getBoundingClientRect();const finalX=x!==undefined?x:rect.width/2;const finalY=y!==undefined?y:rect.height/2;wavesRef.current.push({x:finalX,y:finalY,startTime:performance.now()});};useEffect(()=>{if(isStatic)return;init();rafIdRef.current=requestAnimationFrame(tick);const handleResize=()=>{init();};const handleMove=e=>{const canvas=canvasRef.current;if(!canvas)return;const rect=canvas.getBoundingClientRect();pointerRef.current={x:e.clientX-rect.left,y:e.clientY-rect.top};activityRef.current=1;};const handleClick=e=>{const canvas=canvasRef.current;if(!canvas)return;const rect=canvas.getBoundingClientRect();triggerWave(e.clientX-rect.left,e.clientY-rect.top);};if(typeof window!==\"undefined\"){window.addEventListener(\"resize\",handleResize);const canvas=canvasRef.current;if(canvas){canvas.addEventListener(\"pointermove\",handleMove);canvas.addEventListener(\"click\",handleClick);}triggerWave();// Auto wave timer\nif(enableAutoWaves){autoWaveTimerRef.current=window.setInterval(()=>{triggerWave();},autoWaveInterval);}return()=>{window.removeEventListener(\"resize\",handleResize);if(canvas){canvas.removeEventListener(\"pointermove\",handleMove);canvas.removeEventListener(\"click\",handleClick);}if(rafIdRef.current!==null){cancelAnimationFrame(rafIdRef.current);}if(autoWaveTimerRef.current!==null){clearInterval(autoWaveTimerRef.current);}};}},[isStatic,gap,radiusVmin,speedIn,speedOut,restScale,minHoverScale,maxHoverScale,waveSpeed,waveWidth]);if(isStatic){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",backgroundColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#fff\",fontSize:14,fontFamily:\"sans-serif\"},children:\"Interactive Shapes Grid\"});}return /*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{display:\"block\",width:\"100%\",height:\"100%\"}});}addPropertyControls(ShapesGrid,{layout:{type:ControlType.Object,title:\"Layout\",description:\"Control the spacing and size of shapes in the grid\",controls:{gap:{type:ControlType.Number,title:\"Gap\",description:\"Distance between shapes in pixels\",defaultValue:40,min:20,max:100,step:5},shapeSize:{type:ControlType.Number,title:\"Shape Size\",description:\"Size of shapes relative to grid gap (0.1 = 10% of gap)\",defaultValue:.38,min:.1,max:.8,step:.01}}},interaction:{type:ControlType.Object,title:\"Interaction\",description:\"Configure how shapes respond to mouse movement\",controls:{radiusVmin:{type:ControlType.Number,title:\"Hover Radius\",description:\"Size of the hover effect area as percentage of viewport minimum dimension\",defaultValue:30,min:10,max:50,step:1,unit:\"vmin\"},activityDecay:{type:ControlType.Number,title:\"Activity Decay\",description:\"How quickly the hover effect fades (higher = slower fade)\",defaultValue:.93,min:.8,max:.99,step:.01}}},animation:{type:ControlType.Object,title:\"Animation\",description:\"Adjust animation timing and scale behavior\",controls:{speedIn:{type:ControlType.Number,title:\"Speed In\",description:\"Animation speed when shapes scale up (seconds)\",defaultValue:.5,min:.1,max:2,step:.1},speedOut:{type:ControlType.Number,title:\"Speed Out\",description:\"Animation speed when shapes scale down (seconds)\",defaultValue:.6,min:.1,max:2,step:.1},restScale:{type:ControlType.Number,title:\"Rest Scale\",description:\"Default size of shapes when not hovered (0.09 = 9% of full size)\",defaultValue:.09,min:.01,max:.5,step:.01},minHoverScale:{type:ControlType.Number,title:\"Min Hover Scale\",description:\"Minimum scale when shapes are hovered or in wave\",defaultValue:1,min:.5,max:3,step:.1},maxHoverScale:{type:ControlType.Number,title:\"Max Hover Scale\",description:\"Maximum scale when shapes are hovered or in wave\",defaultValue:3,min:1,max:5,step:.1}}},waves:{type:ControlType.Object,title:\"Waves\",description:\"Control wave effects triggered by clicks\",controls:{waveSpeed:{type:ControlType.Number,title:\"Wave Speed\",description:\"Speed at which waves expand outward (pixels per second)\",defaultValue:1200,min:500,max:3e3,step:100},waveWidth:{type:ControlType.Number,title:\"Wave Width\",description:\"Thickness of the wave effect in pixels\",defaultValue:180,min:50,max:400,step:10},enableAutoWaves:{type:ControlType.Boolean,title:\"Auto Waves\",description:\"Automatically trigger waves at regular intervals\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},autoWaveInterval:{type:ControlType.Number,title:\"Wave Interval\",description:\"Time between automatic waves in milliseconds\",defaultValue:3e3,min:1e3,max:1e4,step:500,unit:\"ms\"}}},shapes:{type:ControlType.Object,title:\"Shapes\",description:\"Choose which shape types to display and their properties\",controls:{enableCircles:{type:ControlType.Boolean,title:\"Circles\",description:\"Include circular shapes in the grid\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},enablePills:{type:ControlType.Boolean,title:\"Pills\",description:\"Include pill/capsule shapes in the grid\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},enableStars:{type:ControlType.Boolean,title:\"Stars\",description:\"Include star shapes in the grid\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},starPointsMin:{type:ControlType.Number,title:\"Star Points Min\",description:\"Minimum number of points on star shapes\",defaultValue:4,min:3,max:10,step:1},starPointsMax:{type:ControlType.Number,title:\"Star Points Max\",description:\"Maximum number of points on star shapes\",defaultValue:10,min:3,max:15,step:1},starInnerRatioMin:{type:ControlType.Number,title:\"Star Inner Min\",description:\"Minimum inner radius ratio for stars (lower = sharper points)\",defaultValue:.1,min:.1,max:.5,step:.05},starInnerRatioMax:{type:ControlType.Number,title:\"Star Inner Max\",description:\"Maximum inner radius ratio for stars (higher = rounder points)\",defaultValue:.5,min:.1,max:.9,step:.05}}},colors:{type:ControlType.Object,title:\"Colors\",description:\"Customize the color palette for shapes and background\",controls:{backgroundColor:{type:ControlType.Color,title:\"Background\",description:\"Canvas background color\",defaultValue:\"#080808\"},useCustomColors:{type:ControlType.Boolean,title:\"Custom Colors\",description:\"Use custom color palette instead of preset colors\",defaultValue:false,enabledTitle:\"Custom\",disabledTitle:\"Preset\"},enableSolidColors:{type:ControlType.Boolean,title:\"Solid Colors\",description:\"Include solid colors in the preset palette\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},enableGradients:{type:ControlType.Boolean,title:\"Gradients\",description:\"Include gradient colors in the preset palette\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},customColor1:{type:ControlType.Color,title:\"Color 1\",description:\"First custom color for shapes\",defaultValue:\"#22c55e\"},customColor2:{type:ControlType.Color,title:\"Color 2\",description:\"Second custom color for shapes\",defaultValue:\"#06b6d4\"},customColor3:{type:ControlType.Color,title:\"Color 3\",description:\"Third custom color for shapes\",defaultValue:\"#f97316\"},customColor4:{type:ControlType.Color,title:\"Color 4\",description:\"Fourth custom color for shapes\",defaultValue:\"#ef4444\"},customColor5:{type:ControlType.Color,title:\"Color 5\",description:\"Fifth custom color for shapes\",defaultValue:\"#facc15\"},customColor6:{type:ControlType.Color,title:\"Color 6\",description:\"Sixth custom color for shapes\",defaultValue:\"#ec4899\"},customColor7:{type:ControlType.Color,title:\"Color 7\",description:\"Seventh custom color for shapes\",defaultValue:\"#9ca3af\"},customColor8:{type:ControlType.Color,title:\"Color 8\",description:\"Eighth custom color for shapes\",defaultValue:\"#a78bfa\"},customColor9:{type:ControlType.Color,title:\"Color 9\",description:\"Ninth custom color for shapes\",defaultValue:\"#60a5fa\"},customColor10:{type:ControlType.Color,title:\"Color 10\",description:\"Tenth custom color for shapes\",defaultValue:\"#34d399\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ShapesGrid\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Shapes_Grid.map"],"mappings":"uMAQG,SAAwB,EAAW,EAAM,CAAC,GAAK,CAAC,SAAO,CAAC,IAAI,GAAG,UAAU,GAAG,EAAE,cAAY,CAAC,WAAW,GAAG,cAAc,GAAG,EAAE,YAAU,CAAC,QAAQ,GAAG,SAAS,GAAG,UAAU,IAAI,cAAc,EAAE,cAAc,CAAC,EAAE,QAAM,CAAC,UAAU,KAAK,UAAU,IAAI,gBAAgB,GAAM,iBAAiB,GAAG,EAAE,SAAO,CAAC,cAAc,GAAK,YAAY,GAAK,YAAY,GAAK,cAAc,EAAE,cAAc,GAAG,kBAAkB,GAAG,kBAAkB,EAAE,EAAE,SAAO,CAAC,gBAAgB,UAAU,gBAAgB,GAAM,kBAAkB,GAAK,gBAAgB,GAAK,aAAa,UAAU,aAAa,UAAU,aAAa,UAAU,aAAa,UAAU,aAAa,UAAU,aAAa,UAAU,aAAa,UAAU,aAAa,UAAU,aAAa,UAAU,cAAc,SAAS,GAAG,EAAW,CAAC,MAAI,aAAW,EAAY,CAAC,aAAW,kBAAe,EAAiB,CAAC,UAAQ,WAAS,YAAU,gBAAc,iBAAe,EAAe,CAAC,YAAU,YAAU,kBAAgB,oBAAkB,EAAW,CAAC,gBAAc,cAAY,cAAY,gBAAc,gBAAc,qBAAkB,sBAAmB,EAAY,CAAC,kBAAgB,mBAAgB,qBAAkB,mBAAgB,gBAAa,gBAAa,gBAAa,eAAa,eAAa,eAAa,eAAa,eAAa,eAAa,iBAAe,EAAa,EAAUA,EAAO,IAAI,EAAQ,EAAQA,EAAO,IAAI,EAAQ,EAAWA,EAAO,IAAI,EAAQ,EAAYA,EAAO,CAAC,EAAQ,EAASA,EAAO,CAAC,CAAC,EAAQ,EAASA,EAAO,IAAI,EAAQ,EAAiBA,EAAO,IAAI,EAAQ,EAAS,EAAoB,EAAQ,GAAK,EAAI,IAAM,KAAK,OAAO,GAAG,EAAI,GAAK,EAAU,IAAQ,EAAI,IAAM,KAAK,MAAM,EAAI,EAAI,EAAI,CAAC,CAAC,EAAQ,EAAK,GAAK,EAAI,KAAK,MAAM,KAAK,OAAO,EAAE,EAAI,MAAM,GAAS,GAAW,GAAG,CAAC,IAAM,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAG,EAAQ,EAAiB,GAAa,GAAS,EAAS,EAAS,EAAW,MAAI,GAAG,GAAG,IAAkB,GAAY,EAAI,IAAO,CAAC,EAAI,UAAU,EAAE,EAAI,IAAI,EAAE,EAAE,EAAK,EAAE,KAAK,GAAG,CAAC,EAAE,EAAI,KAAK,CAAE,EAAQ,IAAU,EAAI,IAAO,CAAC,IAAM,EAAE,EAAK,IAAU,EAAE,EAAK,EAAI,UAAU,EAAE,EAAI,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAI,KAAK,CAAE,EAAQ,IAAU,EAAI,EAAK,EAAO,IAAa,CAAC,EAAI,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAO,EAAE,IAAI,CAAC,IAAM,EAAM,EAAE,KAAK,GAAG,EAAO,KAAK,GAAG,EAAQ,EAAE,EAAE,GAAI,EAAE,EAAK,EAAK,EAAiB,EAAE,KAAK,IAAI,CAAK,EAAE,EAAQ,EAAE,KAAK,IAAI,CAAK,EAAE,EAAE,IAAI,EAAE,EAAI,OAAO,EAAE,CAAC,EAAE,EAAI,OAAO,EAAE,CAAC,CAAE,CAAC,EAAI,UAAU,EAAE,EAAI,KAAK,CAAE,EAAQ,IAAW,EAAI,IAAQ,CAAC,OAAO,EAAM,KAAb,CAAmB,IAAI,SAAS,OAAO,EAAW,EAAI,EAAM,KAAK,GAAG,EAAE,IAAI,OAAO,OAAO,GAAS,EAAI,EAAM,KAAK,GAAG,EAAE,IAAI,OAAO,OAAO,GAAS,EAAI,EAAM,KAAK,EAAM,OAAO,EAAM,UAAU,CAAE,CAAC,EAAQ,IAAa,EAAI,EAAS,IAAO,CAAC,GAAG,EAAS,OAAO,QAAQ,OAAO,EAAS,MAAM,IAAM,EAAK,EAAI,qBAAqB,EAAE,CAAC,EAAK,GAAG,EAAE,EAAE,EAAK,GAAG,EAAK,GAAG,EAAgF,OAA9E,EAAK,aAAa,EAAE,EAAS,MAAM,EAAE,EAAE,EAAK,aAAa,EAAE,EAAS,MAAM,EAAE,EAAS,CAAK,EAAQ,OAAqB,CAAC,OAAO,GAAO,EAAc,CAAa,EAAE,WAAW,EAAI,GAAkB,EAAiB,CAAC,GAAS,IAAW,EAAM,IAAS,CAAC,IAAM,EAAK,KAAK,MAAM,EAAM,CAAG,EAAQ,EAAK,KAAK,MAAM,EAAO,CAAG,EAAQ,GAAS,GAAO,EAAK,GAAG,GAAK,EAAQ,GAAS,GAAQ,EAAK,GAAG,GAAK,EAAQ,EAAO,CAAC,EAC1kG,EAAgB,CAAC,EAAK,GAAc,EAAgB,KAAK,QAAQ,EAAK,GAAY,EAAgB,KAAK,MAAM,EAAK,GAAY,EAAgB,KAAK,OAAO,MAAM,EAEnK,EAAgB,SAAS,GAAE,EAAgB,KAAK,QAAQ,EAC3D,IAAI,EAAa,CAAC,EAAK,GAAiB,EAAa,CAAC,CAAC,KAAK,QAAQ,MAAM,EAAY,EAAE,CAAC,KAAK,QAAQ,MAAM,EAAY,EAAE,CAAC,KAAK,QAAQ,MAAM,EAAY,EAAE,CAAC,KAAK,QAAQ,MAAM,CAAY,EAAE,CAAC,KAAK,QAAQ,MAAM,CAAY,EAAE,CAAC,KAAK,QAAQ,MAAM,CAAY,EAAE,CAAC,KAAK,QAAQ,MAAM,CAAY,EAAE,CAAC,KAAK,QAAQ,MAAM,CAAY,EAAE,CAAC,KAAK,QAAQ,MAAM,CAAY,EAAE,CAAC,KAAK,QAAQ,MAAM,CAAa,CAAC,GAAW,IAAmB,EAAa,KAAK,GAAG,EAAQ,OAAO,GAAG,EAAE,OAAO,OAAO,CAAC,EAAM,IAAiB,EAAa,KAAK,GAAG,EAAQ,OAAO,GAAG,EAAE,OAAO,UAAU,CAAC,EAAM,EAAa,SAAS,IAAG,EAAa,IAC3lB,IAAI,IAAI,EAAI,EAAE,EAAI,EAAK,IAAO,IAAI,IAAI,EAAI,EAAE,EAAI,EAAK,IAAM,CAAC,IAAM,EAAK,EAAK,CAAe,EAAQ,EAAM,CAAC,EAAE,EAAQ,EAAI,EAAI,EAAE,EAAQ,EAAI,EAAI,OAAK,MAAM,EAAK,CAAY,EAAE,MAAM,EAAI,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAI,EAAU,MAAM,EAAU,SAAS,EAAI,EAAc,CAAa,EAAE,QAAQ,EAAK,EAAK,IAAO,QAAO,OAAO,OAAO,EAAM,EAAgB,CAAC,EAAE,EAAO,KAAK,CAAK,CAAE,CAAE,MAAM,CAAC,SAAO,QAAM,QAAM,CAAE,EAAQ,MAAS,CAAC,IAAM,EAAO,EAAU,QAAQ,GAAG,CAAC,EAAO,OAAO,IAAM,EAAK,EAAO,sBAAsB,EAAQ,EAAE,EAAK,MAAY,EAAE,EAAK,OAAa,EAAW,IAAS,OAAuC,EAA3B,EAAO,kBAAkB,EAAI,EAAO,MAAM,EAAE,EAAI,EAAO,OAAO,EAAE,EAAI,EAAO,MAAM,MAAM,EAAE,KAAK,EAAO,MAAM,OAAO,EAAE,KAAK,IAAM,EAAI,EAAO,WAAW,IAAI,EAAM,IAAW,EAAI,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAI,MAAM,EAAI,CAAG,EAAE,EAAQ,QAAQ,GAAU,EAAE,CAAC,EAAE,EAAQ,MAAS,CAAC,IAAM,EAAO,EAAU,QAAc,EAAK,EAAQ,QAAQ,GAAG,CAAC,GAAQ,CAAC,EAAK,CAAC,EAAS,QAAQ,sBAAsB,CAAI,EAAE,MAAO,CAAC,IAAM,EAAI,EAAO,WAAW,IAAI,EAAE,GAAG,CAAC,EAAI,OAAO,GAAK,CAAC,SAAO,QAAM,UAAQ,EAAW,EAA+B,EAAW,IAAnC,KAAK,IAAI,EAAM,CAAM,EAAyB,EAAI,YAAY,IAAI,EAAE,EAAI,UAAU,EAAE,EAAE,EAAM,CAAM,EAAE,EAAI,UAAU,EAAgB,EAAI,SAAS,EAAE,EAAE,EAAM,CAAM,EAAE,EAAY,SAAS,GAAc,IAAM,EAAQ,KAAK,KAAK,EAAM,EAAM,EAAO,CAAM,EAAE,EAAS,QAAQ,EAAS,QAAQ,OAAO,IAAW,EAAI,EAAE,WAAW,IAAI,EAAU,EAAQ,CAAW,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAO,OAAO,IAAI,CAAC,IAAM,EAAM,EAAO,GAAO,EAAiB,EAAE,GAAG,EAAW,SAAS,EAAY,QAAQ,KAAK,CAAC,IAAM,EAAG,EAAM,EAAE,EAAW,QAAQ,EAAQ,EAAG,EAAM,EAAE,EAAW,QAAQ,EAAQ,EAAK,KAAK,KAAK,EAAG,EAAG,EAAG,CAAE,EAAE,EAAiB,GAAW,EAAE,EAAK,CAAM,EAAE,EAAY,QAAW,EAAiB,KAAK,CAAC,EAAM,SAAS,EAAM,QAAQ,GAAK,EAAM,SAAS,EAAI,EAAc,CAAa,EAAE,EAAM,MAAM,EAAI,EAAE,KAAK,GAAG,CAAC,EAAK,EAAM,OAAO,QAAO,OAAO,OAAO,EAAM,EAAgB,CAAC,GAAW,GAAkB,MAAK,EAAM,QAAQ,GAAO,KAAM,GAAM,QAAQ,GAAO,IAAI,EAAc,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAS,QAAQ,OAAO,IAAI,CAAC,IAAM,EAAK,EAAS,QAAQ,GAAS,GAAY,EAAI,EAAK,WAAW,IAAI,EAAgB,EAAI,EAAM,EAAE,EAAK,EAAQ,EAAI,EAAM,EAAE,EAAK,EAAQ,EAAM,KAAK,KAAK,EAAI,EAAI,EAAI,CAAG,EAAQ,EAAE,EAAE,KAAK,IAAI,EAAM,CAAU,EAAE,EAAa,EAAE,IAAE,EAAc,KAAK,IAAI,EAAc,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,IAAM,EAAc,EAAU,GAAkB,EAAM,SAAS,GAAiB,EAAW,EAAU,GAAe,EAAM,SAAS,GAAiB,EAAO,KAAK,IAAI,EAAc,CAAU,EAAQ,EAAO,EAAO,EAAM,MAAM,EAAiB,CAAO,EAAE,EAAiB,CAAQ,EAAE,EAAM,QAAQ,EAAO,EAAM,OAAO,EAAU,IAAM,MAAM,EAAU,OAAa,EAAI,KAAK,EAAE,EAAI,UAAU,EAAM,EAAE,EAAM,CAAC,EAAE,EAAI,OAAO,EAAM,KAAK,EAAE,EAAI,MAAM,EAAM,MAAM,EAAM,KAAK,EAAE,EAAI,UAAU,GAAY,EAAI,EAAM,MAAM,EAAM,IAAI,EAAE,GAAU,EAAI,CAAK,EAAE,EAAI,QAAQ,EAAE,CAAC,EAAS,QAAQ,sBAAsB,CAAI,CAAE,EAAQ,GAAa,EAAE,IAAI,CAAC,IAAM,EAAO,EAAU,QAAQ,GAAG,CAAC,EAAO,OAAO,IAAM,EAAK,EAAO,sBAAsB,EAAQ,EAAO,IAAI,IAAA,GAAY,EAAK,MAAM,EAAb,EAAqB,EAAO,IAAI,IAAA,GAAY,EAAK,OAAO,EAAd,EAAgB,EAAS,QAAQ,KAAK,CAAC,EAAE,EAAO,EAAE,EAAO,UAAU,YAAY,IAAI,CAAC,CAAC,CAAE,EAC54E,OAD84E,MAAc,CAAC,GAAG,EAAS,OAAO,EAAK,EAAE,EAAS,QAAQ,sBAAsB,CAAI,EAAE,IAAM,MAAiB,CAAC,EAAK,CAAE,EAAQ,EAAW,GAAG,CAAC,IAAM,EAAO,EAAU,QAAQ,GAAG,CAAC,EAAO,OAAO,IAAM,EAAK,EAAO,sBAAsB,EAAE,EAAW,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAK,KAAK,EAAE,EAAE,QAAQ,EAAK,GAAG,EAAE,EAAY,QAAQ,CAAE,EAAQ,EAAY,GAAG,CAAC,IAAM,EAAO,EAAU,QAAQ,GAAG,CAAC,EAAO,OAAO,IAAM,EAAK,EAAO,sBAAsB,EAAE,EAAY,EAAE,QAAQ,EAAK,KAAK,EAAE,QAAQ,EAAK,GAAG,CAAE,EAAE,GAAU,IAAS,OAAY,CAAC,EAAO,iBAAiB,SAAS,CAAY,EAAE,IAAM,EAAO,EAAU,QACtnH,OADioH,IAAQ,EAAO,iBAAiB,cAAc,CAAU,EAAE,EAAO,iBAAiB,QAAQ,CAAW,GAAG,EAAY,EAC11H,IAAiB,EAAiB,QAAQ,EAAO,gBAAgB,CAAC,EAAY,CAAE,EAAE,CAAgB,OAAa,CAAC,EAAO,oBAAoB,SAAS,CAAY,EAAK,IAAQ,EAAO,oBAAoB,cAAc,CAAU,EAAE,EAAO,oBAAoB,QAAQ,CAAW,GAAM,EAAS,UAAU,MAAM,qBAAqB,EAAS,OAAO,EAAM,EAAiB,UAAU,MAAM,cAAc,EAAiB,OAAO,CAAG,CAAE,CAAC,EAAE,CAAC,EAAS,EAAI,EAAW,EAAQ,EAAS,EAAU,EAAc,EAAc,EAAU,CAAS,CAAC,EAAK,EAA8B,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,kBAAgB,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,MAAM,OAAO,SAAS,GAAG,WAAW,YAAY,EAAE,SAAS,yBAAyB,CAAC,EAAuB,EAAK,SAAS,CAAC,IAAI,EAAU,MAAM,CAAC,QAAQ,QAAQ,MAAM,OAAO,OAAO,MAAM,CAAC,CAAC,CAAE,uBAbh0B,IAAoC,IAAwE,EAAO,EAAQ,CAAC,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,QAAQ,MAAM,SAAS,EAAE,CAAC,KAAK,WAAW,MAAM,CAAC,UAAU,SAAS,CAAC,EAAE,CAAC,KAAK,WAAW,MAAM,CAAC,UAAU,SAAS,CAAC,EAAE,CAAC,KAAK,WAAW,MAAM,CAAC,UAAU,SAAS,CAAC,EAAE,CAAC,KAAK,WAAW,MAAM,CAAC,UAAU,SAAS,CAAC,EAAE,CAAC,KAAK,WAAW,MAAM,CAAC,UAAU,SAAS,CAAC,EAAE,CAAC,KAAK,WAAW,MAAM,CAAC,UAAU,SAAS,CAAC,EAAE,CAAC,KAAK,WAAW,MAAM,CAAC,UAAU,SAAS,CAAC,CAAC,EAa8E,EAAoB,EAAW,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,qDAAqD,SAAS,CAAC,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,YAAY,oCAAoC,aAAa,GAAG,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,yDAAyD,aAAa,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,YAAY,iDAAiD,SAAS,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,YAAY,4EAA4E,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,MAAM,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,YAAY,4DAA4D,aAAa,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,YAAY,6CAA6C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,YAAY,iDAAiD,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,YAAY,mDAAmD,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,mEAAmE,aAAa,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,YAAY,mDAAmD,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,YAAY,mDAAmD,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,YAAY,2CAA2C,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,0DAA0D,aAAa,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,yCAAyC,aAAa,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,gBAAgB,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,YAAY,mDAAmD,aAAa,GAAM,aAAa,KAAK,cAAc,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,YAAY,+CAA+C,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,2DAA2D,SAAS,CAAC,cAAc,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,YAAY,sCAAsC,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,QAAQ,YAAY,0CAA0C,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,QAAQ,YAAY,kCAAkC,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,YAAY,0CAA0C,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,YAAY,0CAA0C,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,YAAY,gEAAgE,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,YAAY,iEAAiE,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,wDAAwD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,YAAY,0BAA0B,aAAa,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAY,QAAQ,MAAM,gBAAgB,YAAY,oDAAoD,aAAa,GAAM,aAAa,SAAS,cAAc,QAAQ,EAAE,kBAAkB,CAAC,KAAK,EAAY,QAAQ,MAAM,eAAe,YAAY,6CAA6C,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,YAAY,gDAAgD,aAAa,GAAK,aAAa,KAAK,cAAc,KAAK,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,YAAY,gCAAgC,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,YAAY,iCAAiC,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,YAAY,gCAAgC,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,YAAY,iCAAiC,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,YAAY,gCAAgC,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,YAAY,gCAAgC,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,YAAY,kCAAkC,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,YAAY,iCAAiC,aAAa,SAAS,EAAE,aAAa,CAAC,KAAK,EAAY,MAAM,MAAM,UAAU,YAAY,gCAAgC,aAAa,SAAS,EAAE,cAAc,CAAC,KAAK,EAAY,MAAM,MAAM,WAAW,YAAY,gCAAgC,aAAa,SAAS,CAAC,CAAC,CAAC,CAAC"}