{"version":3,"file":"Mini_Map.BDv4Lynz.mjs","names":["React.useState","React.useRef","React.useMemo","__esmMin","init_ssg_sandbox_shims","_e","de","pe","p","init_npm_react_18_3_1","ce","window","addPropertyControls","init_framer_DcxuU94H","ControlType","toFiniteNumber","parsed","value","fallback","normalizeSectionId","trimmed","id","isElementVisibleForNav","element","rect","current","style","distanceToAnchorY","anchorY","collectSectionCandidates","exactId","results","seen","push","node","registered","sectionRegistry","resolveSectionTarget","candidates","viewportBottom","compareDomOrder","a","b","relation","aRect","bRect","aIntersects","bIntersects","aDistance","bDistance","FloatingSectionNav","sections","props","defaultSections","side","defaults","lineWidth","activeLineWidth","lineThickness","rowGap","hoverRowGap","showFromSection","activeOffset","scrollRevealDistance","idleHideDelay","edgeRevealDelay","edgeHotspotWidth","lineRevealDuration","revealActiveLabel","fontSize","fontWeight","desktopLabelGap","labelGap","mobileLabelDuration","mobileScrubThreshold","mobileLabelOffset","mobileScrubFontSize","textColor","activeColor","inactiveColor","shadowColor","shadowBlur","shadowOpacity","isOpen","setIsOpen","activeId","setActiveId","reduceMotion","setReduceMotion","hoveredId","setHoveredId","isTouchLike","setIsTouchLike","isScrollVisible","setIsScrollVisible","isInteracting","setIsInteracting","isScrubbing","setIsScrubbing","scrubbedId","setScrubbedId","isEdgeRevealed","setIsEdgeRevealed","navRef","pointerStartY","scrubDidDrag","suppressNextClick","closeTimer","mobileCloseTimer","idleHideTimer","edgeRevealTimer","scrollSessionStartY","activeIndex","section","coercedShowFromSection","isSectionEligible","isNavVisible","openNav","scheduleCloseNav","scheduleMobileClose","duration","activeElement","clearIdleHideTimer","scheduleIdleHide","delay","showForScrollActivity","currentY","revealDistance","travelled","clearEdgeRevealTimer","scheduleEdgeReveal","handleNavMouseEnter","handleNavMouseLeave","media","sync","handleScrollActivity","frame","updateActiveSection","anchor","nextActive","normalizedId","lastExisting","goToSection","target","findNearestSectionFromPointer","nav","rows","best","row","centerY","distance","clientY","beginMobileScrub","event","updateMobileScrub","threshold","finishMobileScrub","didDrag","selectedId","cancelMobileScrub","closeAfterBlur","next","isActive","isHovered","shouldRevealLabel","label","line","init_Mini_Map","init_jsx_runtime"],"sources":["https:/framerusercontent.com/modules/b40lt3chURcSrRQ1Vu4f/R3AW8E8wirysskDyiq4E/Mini_Map.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{forwardRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const defaultSections=[{label:\"Hero\",id:\"hero\"},{label:\"Selected Work\",id:\"work\"},{label:\"AI Workflows\",id:\"ai\"},{label:\"About\",id:\"about\"},{label:\"Experience\",id:\"experience\"},{label:\"Testimonials\",id:\"testimonials\"},{label:\"Contact\",id:\"contact\"}];const defaults={side:\"right\",textColor:\"rgba(17,17,17,0.92)\",activeColor:\"#111111\",inactiveColor:\"rgba(17,17,17,0.22)\",fontSize:12.5,fontWeight:400,lineWidth:16,activeLineWidth:26,lineThickness:1,rowGap:4,hoverRowGap:8,labelGap:8,activeOffset:.4,revealActiveLabel:true,showFromSection:1,mobileLabelDuration:1600,idleHideDelay:1500,lineRevealDuration:220,mobileScrubThreshold:8,shadowColor:\"rgba(255,255,255,0.9)\",shadowBlur:14,shadowOpacity:.72,mobileLabelOffset:28,mobileScrubFontSize:15,scrollRevealDistance:160,edgeRevealDelay:1e3,edgeHotspotWidth:44,desktopLabelGap:14};function toFiniteNumber(value,fallback){const parsed=typeof value===\"number\"?value:Number.parseFloat(String(value));return Number.isFinite(parsed)?parsed:fallback;}const sectionRegistry=new Map;function normalizeSectionId(id){const trimmed=id.trim();return trimmed.startsWith(\"#\")?trimmed.slice(1):trimmed;}function isElementVisibleForNav(element){if(!element.isConnected)return false;if(element.getClientRects().length===0)return false;const rect=element.getBoundingClientRect();if(rect.width<=0||rect.height<=0)return false;let current=element;while(current){if(current.hidden)return false;if(current.getAttribute(\"aria-hidden\")===\"true\")return false;const style=window.getComputedStyle(current);if(style.display===\"none\"||style.visibility===\"hidden\"||style.visibility===\"collapse\"){return false;}current=current.parentElement;}return true;}function distanceToAnchorY(rect,anchorY){if(anchorY<rect.top)return rect.top-anchorY;if(anchorY>rect.bottom)return anchorY-rect.bottom;return 0;}function collectSectionCandidates(id){if(typeof document===\"undefined\")return[];const exactId=normalizeSectionId(id);const results=[];const seen=new Set;const push=node=>{if(!node||seen.has(node))return;seen.add(node);results.push(node);};const registered=sectionRegistry.get(exactId);if(registered){for(const node of registered)push(node);}const idNodes=document.querySelectorAll(`[id=\"${exactId}\"]`);idNodes.forEach(push);const dataNodes=document.querySelectorAll(`[data-floating-nav-section=\"${exactId}\"]`);dataNodes.forEach(push);return results;}function resolveSectionTarget(id,anchorY){if(typeof document===\"undefined\")return null;const candidates=collectSectionCandidates(id).filter(isElementVisibleForNav);if(!candidates.length)return null;const viewportTop=0;const viewportBottom=window.innerHeight;const compareDomOrder=(a,b)=>{if(a===b)return 0;const relation=a.compareDocumentPosition(b);if(relation&Node.DOCUMENT_POSITION_FOLLOWING)return-1;if(relation&Node.DOCUMENT_POSITION_PRECEDING)return 1;return 0;};const ranked=[...candidates].sort((a,b)=>{const aRect=a.getBoundingClientRect();const bRect=b.getBoundingClientRect();const aIntersects=aRect.bottom>viewportTop&&aRect.top<viewportBottom?1:0;const bIntersects=bRect.bottom>viewportTop&&bRect.top<viewportBottom?1:0;if(aIntersects!==bIntersects)return bIntersects-aIntersects;const aDistance=distanceToAnchorY(aRect,anchorY);const bDistance=distanceToAnchorY(bRect,anchorY);if(aDistance!==bDistance)return aDistance-bDistance;return compareDomOrder(a,b);});return ranked[0]??null;}function assignForwardedRef(ref,value){if(typeof ref===\"function\"){ref(value);return;}if(ref&&typeof ref===\"object\"){ref.current=value;}}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function FloatingSectionNav(props){const sections=props.sections??defaultSections;// Grouped controls power the new panel. Flat props remain as fallbacks so\n// existing Framer instances keep their stored values after this migration.\nconst side=props.layout?.side??props.side??defaults.side;const lineWidth=toFiniteNumber(props.layout?.lineWidth??props.lineWidth,defaults.lineWidth);const activeLineWidth=toFiniteNumber(props.layout?.activeLineWidth??props.activeLineWidth,defaults.activeLineWidth);const lineThickness=toFiniteNumber(props.layout?.lineThickness??props.lineThickness,defaults.lineThickness);const rowGap=toFiniteNumber(props.layout?.rowGap??props.rowGap,defaults.rowGap);const hoverRowGap=toFiniteNumber(props.layout?.hoverRowGap??props.hoverRowGap,defaults.hoverRowGap);const showFromSection=toFiniteNumber(props.visibility?.showFromSection??props.showFromSection,defaults.showFromSection);const activeOffset=toFiniteNumber(props.visibility?.activeOffset??props.activeOffset,defaults.activeOffset);const scrollRevealDistance=toFiniteNumber(props.visibility?.scrollRevealDistance??props.scrollRevealDistance,defaults.scrollRevealDistance);const idleHideDelay=toFiniteNumber(props.visibility?.idleHideDelay??props.idleHideDelay,defaults.idleHideDelay);const edgeRevealDelay=toFiniteNumber(props.visibility?.edgeRevealDelay??props.edgeRevealDelay,defaults.edgeRevealDelay);const edgeHotspotWidth=toFiniteNumber(props.visibility?.edgeHotspotWidth??props.edgeHotspotWidth,defaults.edgeHotspotWidth);const lineRevealDuration=toFiniteNumber(props.visibility?.lineRevealDuration??props.lineRevealDuration,defaults.lineRevealDuration);const revealActiveLabel=props.labels?.revealActiveLabel??props.revealActiveLabel??defaults.revealActiveLabel;const fontSize=toFiniteNumber(props.labels?.fontSize??props.fontSize,defaults.fontSize);const fontWeight=toFiniteNumber(props.labels?.fontWeight??props.fontWeight,defaults.fontWeight);const desktopLabelGap=toFiniteNumber(props.labels?.desktopLabelGap??props.desktopLabelGap,defaults.desktopLabelGap);const labelGap=toFiniteNumber(props.labels?.labelGap??props.labelGap,defaults.labelGap);const mobileLabelDuration=toFiniteNumber(props.labels?.mobileLabelDuration??props.mobileLabelDuration,defaults.mobileLabelDuration);const mobileScrubThreshold=toFiniteNumber(props.labels?.mobileScrubThreshold??props.mobileScrubThreshold,defaults.mobileScrubThreshold);const mobileLabelOffset=toFiniteNumber(props.labels?.mobileLabelOffset??props.mobileLabelOffset,defaults.mobileLabelOffset);const mobileScrubFontSize=toFiniteNumber(props.labels?.mobileScrubFontSize??props.mobileScrubFontSize,defaults.mobileScrubFontSize);const textColor=props.appearance?.textColor??props.textColor??defaults.textColor;const activeColor=props.appearance?.activeColor??props.activeColor??defaults.activeColor;const inactiveColor=props.appearance?.inactiveColor??props.inactiveColor??defaults.inactiveColor;const shadowColor=props.appearance?.shadowColor??props.shadowColor??defaults.shadowColor;const shadowBlur=toFiniteNumber(props.appearance?.shadowBlur??props.shadowBlur,defaults.shadowBlur);const shadowOpacity=toFiniteNumber(props.appearance?.shadowOpacity??props.shadowOpacity,defaults.shadowOpacity);const[isOpen,setIsOpen]=React.useState(false);const[activeId,setActiveId]=React.useState(normalizeSectionId(sections?.[0]?.id??\"\"));const[reduceMotion,setReduceMotion]=React.useState(false);const[hoveredId,setHoveredId]=React.useState(null);const[isTouchLike,setIsTouchLike]=React.useState(false);const[isScrollVisible,setIsScrollVisible]=React.useState(false);const[isInteracting,setIsInteracting]=React.useState(false);const[isScrubbing,setIsScrubbing]=React.useState(false);const[scrubbedId,setScrubbedId]=React.useState(null);const[isEdgeRevealed,setIsEdgeRevealed]=React.useState(false);const navRef=React.useRef(null);const pointerStartY=React.useRef(null);const scrubDidDrag=React.useRef(false);const suppressNextClick=React.useRef(false);const closeTimer=React.useRef(null);const mobileCloseTimer=React.useRef(null);const idleHideTimer=React.useRef(null);const edgeRevealTimer=React.useRef(null);const scrollSessionStartY=React.useRef(null);const normalizedSectionIds=React.useMemo(()=>sections.map(section=>normalizeSectionId(section.id)),[sections]);const activeIndex=normalizedSectionIds.indexOf(activeId);const coercedShowFromSection=Number(showFromSection);const clampedShowFromSection=Number.isFinite(coercedShowFromSection)?Math.min(Math.max(Math.round(coercedShowFromSection),1),Math.max(sections.length,1)):1;const isSectionEligible=activeIndex>=clampedShowFromSection-1;const isNavVisible=isSectionEligible&&(isScrollVisible||isInteracting||isEdgeRevealed);const openNav=()=>{if(closeTimer.current!==null){window.clearTimeout(closeTimer.current);closeTimer.current=null;}setIsOpen(true);};const scheduleCloseNav=()=>{if(typeof window===\"undefined\"){setIsOpen(false);return;}if(closeTimer.current!==null){window.clearTimeout(closeTimer.current);}// Small grace period makes the rail feel less twitchy when moving\n// between the labels and the compact marker area.\ncloseTimer.current=window.setTimeout(()=>{setIsOpen(false);setHoveredId(null);closeTimer.current=null;},120);};const scheduleMobileClose=()=>{if(typeof window===\"undefined\")return;if(mobileCloseTimer.current!==null){window.clearTimeout(mobileCloseTimer.current);}const duration=Math.max(Number(mobileLabelDuration)||0,0);mobileCloseTimer.current=window.setTimeout(()=>{setIsOpen(false);setHoveredId(null);const activeElement=document.activeElement;if(activeElement instanceof HTMLElement){activeElement.blur();}mobileCloseTimer.current=null;},duration);};const clearIdleHideTimer=()=>{if(typeof window===\"undefined\")return;if(idleHideTimer.current!==null){window.clearTimeout(idleHideTimer.current);idleHideTimer.current=null;}};const scheduleIdleHide=()=>{if(typeof window===\"undefined\")return;clearIdleHideTimer();const delay=Math.max(Number(idleHideDelay)||0,0);idleHideTimer.current=window.setTimeout(()=>{setIsScrollVisible(false);scrollSessionStartY.current=null;idleHideTimer.current=null;},delay);};const showForScrollActivity=()=>{if(typeof window===\"undefined\")return;const currentY=window.scrollY;const revealDistance=Math.max(Number(scrollRevealDistance)||0,0);if(scrollSessionStartY.current===null){scrollSessionStartY.current=currentY;}const travelled=Math.abs(currentY-scrollSessionStartY.current);if(revealDistance===0||travelled>=revealDistance){setIsScrollVisible(true);}// This timer also defines when a new scroll session begins.\n// Short reading scrolls separated by a pause therefore do not\n// accumulate indefinitely until the minimap appears.\nscheduleIdleHide();};const clearEdgeRevealTimer=()=>{if(typeof window===\"undefined\")return;if(edgeRevealTimer.current!==null){window.clearTimeout(edgeRevealTimer.current);edgeRevealTimer.current=null;}};const scheduleEdgeReveal=()=>{if(typeof window===\"undefined\"||isTouchLike)return;clearEdgeRevealTimer();const delay=Math.max(Number(edgeRevealDelay)||0,0);edgeRevealTimer.current=window.setTimeout(()=>{setIsEdgeRevealed(true);setIsInteracting(true);openNav();edgeRevealTimer.current=null;},delay);};const handleNavMouseEnter=()=>{// If the minimap is already visible, keep the current immediate\n// desktop hover behavior.\nif(isNavVisible){setIsInteracting(true);clearIdleHideTimer();clearEdgeRevealTimer();openNav();return;}// When hidden on desktop, treat the narrow right-side area as a\n// discoverable \"call zone\". The minimap only appears after the\n// pointer rests there for the configured delay.\nif(!isTouchLike&&isSectionEligible){scheduleEdgeReveal();}};const handleNavMouseLeave=()=>{clearEdgeRevealTimer();if(!isNavVisible&&!isEdgeRevealed)return;setIsInteracting(false);setIsEdgeRevealed(false);scheduleCloseNav();scheduleIdleHide();};React.useEffect(()=>{return()=>{if(typeof window===\"undefined\")return;if(closeTimer.current!==null){window.clearTimeout(closeTimer.current);}if(mobileCloseTimer.current!==null){window.clearTimeout(mobileCloseTimer.current);}if(idleHideTimer.current!==null){window.clearTimeout(idleHideTimer.current);}if(edgeRevealTimer.current!==null){window.clearTimeout(edgeRevealTimer.current);}};},[]);React.useEffect(()=>{if(typeof window===\"undefined\")return;const media=window.matchMedia(\"(hover: none), (pointer: coarse)\");const sync=()=>setIsTouchLike(media.matches);sync();if(media.addEventListener){media.addEventListener(\"change\",sync);return()=>media.removeEventListener(\"change\",sync);}media.addListener(sync);return()=>media.removeListener(sync);},[]);React.useEffect(()=>{if(typeof window===\"undefined\")return;const media=window.matchMedia(\"(prefers-reduced-motion: reduce)\");const sync=()=>setReduceMotion(media.matches);sync();if(media.addEventListener){media.addEventListener(\"change\",sync);return()=>media.removeEventListener(\"change\",sync);}// Older Safari fallback\nmedia.addListener(sync);return()=>media.removeListener(sync);},[]);React.useEffect(()=>{if(typeof window===\"undefined\")return;const handleScrollActivity=()=>{showForScrollActivity();};window.addEventListener(\"scroll\",handleScrollActivity,{passive:true});return()=>{window.removeEventListener(\"scroll\",handleScrollActivity);clearIdleHideTimer();};},[idleHideDelay,scrollRevealDistance]);React.useEffect(()=>{if(typeof window===\"undefined\"||!sections?.length)return;let frame=0;const updateActiveSection=()=>{cancelAnimationFrame(frame);frame=requestAnimationFrame(()=>{const anchor=window.innerHeight*activeOffset;let nextActive=normalizeSectionId(sections[0]?.id??\"\");for(const section of sections){const normalizedId=normalizeSectionId(section.id);const element=resolveSectionTarget(normalizedId,anchor);if(!element)continue;const rect=element.getBoundingClientRect();if(rect.top<=anchor){nextActive=normalizedId;}}const pageBottom=window.scrollY+window.innerHeight>=document.documentElement.scrollHeight-4;if(pageBottom){const lastExisting=[...sections].reverse().find(section=>resolveSectionTarget(normalizeSectionId(section.id),anchor));if(lastExisting){nextActive=normalizeSectionId(lastExisting.id);}}setActiveId(nextActive);});};updateActiveSection();window.addEventListener(\"scroll\",updateActiveSection,{passive:true});window.addEventListener(\"resize\",updateActiveSection);return()=>{cancelAnimationFrame(frame);window.removeEventListener(\"scroll\",updateActiveSection);window.removeEventListener(\"resize\",updateActiveSection);};},[sections,activeOffset]);const goToSection=(id,target)=>{if(typeof document===\"undefined\")return;target.scrollIntoView({behavior:reduceMotion?\"auto\":\"smooth\",block:\"start\"});if(typeof window!==\"undefined\"&&window.history?.replaceState){window.history.replaceState(null,\"\",`#${id}`);}};const findNearestSectionFromPointer=clientY=>{const nav=navRef.current;if(!nav)return null;const rows=Array.from(nav.querySelectorAll(\"[data-nav-section-id]\"));let best=null;for(const row of rows){const id=row.getAttribute(\"data-nav-section-id\");if(!id)continue;const rect=row.getBoundingClientRect();const centerY=rect.top+rect.height/2;const distance=Math.abs(clientY-centerY);if(!best||distance<best.distance){best={id,distance};}}if(!best)return null;return sections.find(section=>normalizeSectionId(section.id)===best.id)??null;};const beginMobileScrub=event=>{if(!isTouchLike)return;pointerStartY.current=event.clientY;scrubDidDrag.current=false;suppressNextClick.current=false;setIsInteracting(true);clearIdleHideTimer();setIsScrollVisible(true);setIsOpen(true);try{event.currentTarget.setPointerCapture(event.pointerId);}catch{// Pointer capture is best-effort in Framer/browser previews.\n}};const updateMobileScrub=event=>{if(!isTouchLike||pointerStartY.current===null)return;const threshold=Math.max(Number(mobileScrubThreshold)||0,0);if(!scrubDidDrag.current&&Math.abs(event.clientY-pointerStartY.current)>=threshold){scrubDidDrag.current=true;setIsScrubbing(true);}if(!scrubDidDrag.current)return;event.preventDefault();const section=findNearestSectionFromPointer(event.clientY);if(!section)return;const normalizedId=normalizeSectionId(section.id);if(scrubbedId!==normalizedId){setScrubbedId(normalizedId);setHoveredId(section.id);}};const finishMobileScrub=event=>{if(!isTouchLike||pointerStartY.current===null)return;const didDrag=scrubDidDrag.current;const selectedId=scrubbedId;pointerStartY.current=null;scrubDidDrag.current=false;setIsScrubbing(false);try{event.currentTarget.releasePointerCapture(event.pointerId);}catch{// Pointer capture may already have been released.\n}if(didDrag&&selectedId){suppressNextClick.current=true;event.preventDefault();const anchorY=window.innerHeight*activeOffset;const target=resolveSectionTarget(selectedId,anchorY);if(target){goToSection(selectedId,target);}setIsOpen(true);setIsScrollVisible(true);scheduleMobileClose();window.setTimeout(()=>{setScrubbedId(null);setIsInteracting(false);scheduleIdleHide();},Math.max(Number(mobileLabelDuration)||0,0));}else{setScrubbedId(null);setIsInteracting(false);scheduleIdleHide();}};const cancelMobileScrub=()=>{pointerStartY.current=null;scrubDidDrag.current=false;setIsScrubbing(false);setScrubbedId(null);setIsInteracting(false);scheduleIdleHide();};const closeAfterBlur=event=>{const next=event.relatedTarget;if(!next||!event.currentTarget.contains(next)){setIsOpen(false);setHoveredId(null);}};return /*#__PURE__*/_jsxs(\"nav\",{ref:navRef,\"aria-label\":\"Page sections\",\"aria-hidden\":!isNavVisible,inert:!isNavVisible,onMouseEnter:handleNavMouseEnter,onMouseLeave:handleNavMouseLeave,onFocus:()=>{clearEdgeRevealTimer();setIsEdgeRevealed(true);setIsInteracting(true);clearIdleHideTimer();openNav();},onPointerDown:beginMobileScrub,onPointerMove:updateMobileScrub,onPointerUp:finishMobileScrub,onPointerCancel:cancelMobileScrub,onBlur:event=>{closeAfterBlur(event);const next=event.relatedTarget;if(!next||!event.currentTarget.contains(next)){setIsInteracting(false);setIsEdgeRevealed(false);scheduleIdleHide();}},style:{display:\"flex\",flexDirection:\"column\",alignItems:side===\"right\"?\"flex-end\":\"flex-start\",gap:isOpen?hoverRowGap:rowGap,width:\"max-content\",padding:\"4px 2px\",opacity:1,transform:\"translateY(0)\",pointerEvents:isNavVisible||!isTouchLike?\"auto\":\"none\",minWidth:!isTouchLike?Math.max(Number(edgeHotspotWidth)||0,activeLineWidth):undefined,touchAction:isTouchLike?\"none\":\"auto\",userSelect:isScrubbing?\"none\":\"auto\",WebkitUserSelect:isScrubbing?\"none\":\"auto\",position:\"relative\",isolation:\"isolate\",transition:reduceMotion?\"none\":\"gap 180ms cubic-bezier(0.2, 0, 0, 1)\",fontFamily:'Inter, \"Inter Display\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif'},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",inset:isTouchLike?\"-10px -14px\":\"-8px -12px\",borderRadius:999,background:shadowColor,opacity:isNavVisible&&shadowBlur>0?Math.min(Math.max(shadowOpacity,0),1):0,filter:shadowBlur>0?`blur(${shadowBlur}px)`:\"none\",pointerEvents:\"none\",zIndex:0,transition:reduceMotion?\"none\":\"opacity 180ms ease-out, filter 180ms ease-out\"}}),sections.map(section=>{const normalizedId=normalizeSectionId(section.id);const isActive=activeId===normalizedId;const isHovered=hoveredId===section.id||scrubbedId===normalizedId;// Idle: compact minimap.\n// Rail hover: spacing opens up.\n// Current section reveals its label.\n// Hovering another marker transfers the label to that row.\nconst shouldRevealLabel=isOpen&&(isHovered||hoveredId===null&&revealActiveLabel&&isActive);const label=/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",maxWidth:shouldRevealLabel?180:0,opacity:shouldRevealLabel?1:0,overflow:\"hidden\",whiteSpace:\"nowrap\",color:textColor,fontSize:isTouchLike&&isScrubbing?mobileScrubFontSize:fontSize,fontWeight:isActive||isHovered?Math.min(fontWeight+100,700):fontWeight,lineHeight:1.25,transform:shouldRevealLabel?\"translateX(0)\":`translateX(${side===\"right\"?5:-5}px)`,transition:reduceMotion?\"none\":\"max-width 180ms cubic-bezier(0.2, 0, 0, 1), opacity 110ms ease-out, transform 180ms cubic-bezier(0.2, 0, 0, 1)\",pointerEvents:\"none\",textShadow:shadowBlur>0?`0 0 ${Math.max(4,shadowBlur*.7)}px ${shadowColor}`:\"none\"},children:section.label});const baseLineWidth=isActive?activeLineWidth:lineWidth;const line=/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{display:\"block\",width:shouldRevealLabel?0:baseLineWidth,height:lineThickness,borderRadius:999,flexShrink:0,opacity:shouldRevealLabel?0:1,background:isActive?activeColor:inactiveColor,boxShadow:shadowBlur>0?`0 0 ${Math.max(3,shadowBlur*.55)}px ${shadowColor}`:\"none\",transition:reduceMotion?\"none\":`width 160ms cubic-bezier(0.2, 0, 0, 1), opacity 90ms ease-out, background-color 140ms ease-out, transform ${Math.max(Number(lineRevealDuration)||0,0)}ms cubic-bezier(0.2, 0, 0, 1)`,transformOrigin:side===\"right\"?\"100% 50%\":\"0% 50%\",transform:`scaleX(${isNavVisible?1:0}) scaleY(${isActive&&!shouldRevealLabel?1.45:1})`}});return /*#__PURE__*/_jsxs(\"a\",{\"data-nav-section-id\":normalizedId,href:`#${normalizedId}`,\"aria-label\":`Jump to ${section.label}`,\"aria-current\":isActive?\"location\":undefined,onMouseEnter:()=>setHoveredId(section.id),onFocus:()=>{openNav();setHoveredId(section.id);},tabIndex:isNavVisible?0:-1,onClick:event=>{if(suppressNextClick.current){event.preventDefault();suppressNextClick.current=false;return;}if(typeof document===\"undefined\")return;const anchorY=window.innerHeight*activeOffset;const target=resolveSectionTarget(normalizedId,anchorY);if(target){event.preventDefault();goToSection(normalizedId,target);}if(isTouchLike){setIsInteracting(true);clearIdleHideTimer();setIsOpen(true);setHoveredId(section.id);scheduleMobileClose();window.setTimeout(()=>{setIsInteracting(false);scheduleIdleHide();},Math.max(Number(mobileLabelDuration)||0,0));}},style:{margin:0,padding:\"2px 0\",background:\"transparent\",position:\"relative\",zIndex:1,cursor:\"pointer\",display:\"flex\",flexDirection:side===\"right\"?\"row\":\"row-reverse\",alignItems:\"center\",justifyContent:side===\"right\"?\"flex-end\":\"flex-start\",gap:shouldRevealLabel?isTouchLike?isScrubbing?mobileLabelOffset:labelGap:desktopLabelGap:0,width:\"max-content\",minWidth:isTouchLike?44:undefined,minHeight:16,font:\"inherit\",outlineOffset:4,textDecoration:\"none\",pointerEvents:isNavVisible?\"auto\":\"none\",transition:reduceMotion?\"none\":\"gap 180ms cubic-bezier(0.2, 0, 0, 1)\"},children:[label,line]},`${section.id}-${section.label}`);})]});}FloatingSectionNav.defaultProps={sections:defaultSections,side:defaults.side,textColor:defaults.textColor,activeColor:defaults.activeColor,inactiveColor:defaults.inactiveColor,fontSize:defaults.fontSize,fontWeight:defaults.fontWeight,lineWidth:defaults.lineWidth,activeLineWidth:defaults.activeLineWidth,lineThickness:defaults.lineThickness,rowGap:defaults.rowGap,hoverRowGap:defaults.hoverRowGap,labelGap:defaults.labelGap,activeOffset:defaults.activeOffset,revealActiveLabel:defaults.revealActiveLabel,showFromSection:defaults.showFromSection,mobileLabelDuration:defaults.mobileLabelDuration,idleHideDelay:defaults.idleHideDelay,lineRevealDuration:defaults.lineRevealDuration,mobileScrubThreshold:defaults.mobileScrubThreshold,shadowColor:defaults.shadowColor,shadowBlur:defaults.shadowBlur,shadowOpacity:defaults.shadowOpacity,mobileLabelOffset:defaults.mobileLabelOffset,mobileScrubFontSize:defaults.mobileScrubFontSize,scrollRevealDistance:defaults.scrollRevealDistance,edgeRevealDelay:defaults.edgeRevealDelay,edgeHotspotWidth:defaults.edgeHotspotWidth,desktopLabelGap:defaults.desktopLabelGap};addPropertyControls(FloatingSectionNav,{sections:{type:ControlType.Array,title:\"Sections\",description:\"Defines which page sections appear in the navigator and their order.\",maxCount:12,control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",description:\"Text shown when this section's label is revealed.\",defaultValue:\"Section\"},id:{type:ControlType.String,title:\"ID\",defaultValue:\"section\",description:\"Must match the corresponding section override ID. Use the ID without #.\"}}},defaultValue:defaultSections},visibility:{type:ControlType.Object,title:\"Visibility\",description:\"Controls when the navigator can appear and how it reveals.\",controls:{showFromSection:{type:ControlType.Number,title:\"Show From\",description:\"Keeps the navigator hidden until this numbered section becomes active. It still needs scroll or edge interaction to appear.\",defaultValue:defaults.showFromSection,min:1,max:12,step:1},activeOffset:{type:ControlType.Number,title:\"Active Point\",description:\"Sets the viewport point used to decide which section is active. 0.4 means 40% down from the top.\",defaultValue:defaults.activeOffset,min:.1,max:.8,step:.05},scrollRevealDistance:{type:ControlType.Number,title:\"Scroll Distance\",description:\"Minimum distance scrolled during one continuous session before the navigator appears. Set 0 to reveal on any scroll.\",defaultValue:defaults.scrollRevealDistance,min:0,max:1e3,step:10,unit:\"px\"},idleHideDelay:{type:ControlType.Number,title:\"Hide Delay\",description:\"Time after scrolling stops before the navigator hides and starts a new scroll session.\",defaultValue:defaults.idleHideDelay,min:300,max:5e3,step:100,unit:\"ms\"},edgeRevealDelay:{type:ControlType.Number,title:\"Edge Delay\",description:\"On desktop, how long the pointer must stay in the edge area before the navigator opens.\",defaultValue:defaults.edgeRevealDelay,min:100,max:3e3,step:100,unit:\"ms\"},edgeHotspotWidth:{type:ControlType.Number,title:\"Edge Width\",description:\"Width of the invisible desktop hover area that can reveal the hidden navigator.\",defaultValue:defaults.edgeHotspotWidth,min:24,max:120,step:2,unit:\"px\"},lineRevealDuration:{type:ControlType.Number,title:\"Reveal Speed\",description:\"Duration of the line expansion and collapse animation when the navigator appears or hides.\",defaultValue:defaults.lineRevealDuration,min:80,max:1e3,step:20,unit:\"ms\"}}},layout:{type:ControlType.Object,title:\"Layout\",description:\"Controls the side, line dimensions, and vertical spacing.\",controls:{side:{type:ControlType.Enum,title:\"Side\",description:\"Aligns the lines to the selected side and opens labels toward the page.\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],defaultValue:defaults.side,displaySegmentedControl:true},lineWidth:{type:ControlType.Number,title:\"Line Width\",description:\"Changes the length of lines for sections that are not currently active.\",defaultValue:defaults.lineWidth,min:8,max:80,step:1,unit:\"px\"},activeLineWidth:{type:ControlType.Number,title:\"Active Width\",description:\"Changes the length of the line representing the current active section.\",defaultValue:defaults.activeLineWidth,min:8,max:100,step:1,unit:\"px\"},lineThickness:{type:ControlType.Number,title:\"Thickness\",description:\"Changes how thick every navigation line appears.\",defaultValue:defaults.lineThickness,min:1,max:6,step:.5,unit:\"px\"},rowGap:{type:ControlType.Number,title:\"Row Gap\",description:\"Changes the vertical space between section rows while the navigator is closed.\",defaultValue:defaults.rowGap,min:0,max:24,step:1,unit:\"px\"},hoverRowGap:{type:ControlType.Number,title:\"Open Gap\",description:\"Changes the vertical space between rows while labels are open through hover, focus, tap, or scrub.\",defaultValue:defaults.hoverRowGap,min:0,max:32,step:1,unit:\"px\"}}},labels:{type:ControlType.Object,title:\"Labels\",description:\"Controls when labels appear and how their text is spaced.\",controls:{revealActiveLabel:{type:ControlType.Boolean,title:\"Active Label\",description:\"When the navigator opens without a hovered item, shows the label of the current section.\",defaultValue:defaults.revealActiveLabel,enabledTitle:\"Show\",disabledTitle:\"Hide\"},fontSize:{type:ControlType.Number,title:\"Size\",description:\"Base label text size. Scrub Size overrides it while dragging through sections on mobile.\",defaultValue:defaults.fontSize,min:9,max:24,step:1,unit:\"px\"},fontWeight:{type:ControlType.Number,title:\"Weight\",description:\"Base label weight. Active or hovered labels automatically appear one step heavier.\",defaultValue:defaults.fontWeight,min:300,max:800,step:100},desktopLabelGap:{type:ControlType.Number,title:\"Desktop Gap\",description:\"Horizontal space between a revealed label and its line on desktop.\",defaultValue:defaults.desktopLabelGap,min:0,max:80,step:1,unit:\"px\"},labelGap:{type:ControlType.Number,title:\"Mobile Gap\",description:\"Horizontal space between a revealed label and its line after a mobile tap.\",defaultValue:defaults.labelGap,min:0,max:30,step:1,unit:\"px\"},mobileLabelDuration:{type:ControlType.Number,title:\"Mobile Time\",description:\"How long labels stay open on mobile after a tap or completed scrub.\",defaultValue:defaults.mobileLabelDuration,min:300,max:5e3,step:100,unit:\"ms\"},mobileScrubThreshold:{type:ControlType.Number,title:\"Scrub Start\",description:\"Minimum vertical finger movement required before a mobile drag becomes section scrubbing.\",defaultValue:defaults.mobileScrubThreshold,min:2,max:30,step:1,unit:\"px\"},mobileLabelOffset:{type:ControlType.Number,title:\"Scrub Gap\",description:\"Horizontal space between the active label and line while mobile scrubbing is in progress.\",defaultValue:defaults.mobileLabelOffset,min:8,max:80,step:1,unit:\"px\"},mobileScrubFontSize:{type:ControlType.Number,title:\"Scrub Size\",description:\"Label text size used only while dragging through sections on mobile.\",defaultValue:defaults.mobileScrubFontSize,min:11,max:24,step:.5,unit:\"px\"}}},appearance:{type:ControlType.Object,title:\"Appearance\",description:\"Controls label colors, line colors, and the contrast glow.\",controls:{textColor:{type:ControlType.Color,title:\"Text\",description:\"Color of all section labels when they are revealed.\",defaultValue:defaults.textColor},activeColor:{type:ControlType.Color,title:\"Active Line\",description:\"Color of the line representing the current active section.\",defaultValue:defaults.activeColor},inactiveColor:{type:ControlType.Color,title:\"Inactive Line\",description:\"Color of lines for every section that is not currently active.\",defaultValue:defaults.inactiveColor},shadowColor:{type:ControlType.Color,title:\"Shadow\",description:\"Color of the soft glow behind labels and lines. Choose it for contrast against the page background.\",defaultValue:defaults.shadowColor},shadowBlur:{type:ControlType.Number,title:\"Shadow Blur\",description:\"Controls how soft and wide the glow appears. Set 0 to disable it.\",defaultValue:defaults.shadowBlur,min:0,max:60,step:1,unit:\"px\"},shadowOpacity:{type:ControlType.Number,title:\"Shadow Opacity\",description:\"Controls the opacity of the blurred background glow. It does not change line or label opacity.\",defaultValue:defaults.shadowOpacity,min:0,max:1,step:.05}}}});/* -------------------------------------------------------------------------- *//* Section ID Overrides                                                       *//* Apply each override to the top-level Frame of the matching homepage section *//* -------------------------------------------------------------------------- */function withSectionId(Component,id){return /*#__PURE__*/forwardRef((props,forwardedRef)=>{const previousNodeRef=React.useRef(null);const captureRef=React.useCallback(node=>{assignForwardedRef(forwardedRef,node);const previousNode=previousNodeRef.current;if(previousNode&&previousNode!==node){const existingSet=sectionRegistry.get(id);if(existingSet){existingSet.delete(previousNode);if(existingSet.size===0)sectionRegistry.delete(id);}}if(node instanceof HTMLElement){const existingSet=sectionRegistry.get(id)??new Set;existingSet.add(node);sectionRegistry.set(id,existingSet);previousNodeRef.current=node;}else if(node===null){if(previousNode){const existingSet=sectionRegistry.get(id);if(existingSet){existingSet.delete(previousNode);if(existingSet.size===0){sectionRegistry.delete(id);}}}previousNodeRef.current=null;}},[forwardedRef,id]);return /*#__PURE__*/_jsx(Component,{ref:captureRef,...props,id:id,\"data-floating-nav-section\":id});});}export function withHeroSection(Component){return withSectionId(Component,\"hero\");}export function withWorkSection(Component){return withSectionId(Component,\"work\");}export function withAISection(Component){return withSectionId(Component,\"ai\");}export function withAboutSection(Component){return withSectionId(Component,\"about\");}export function withExperienceSection(Component){return withSectionId(Component,\"experience\");}export function withTestimonialsSection(Component){return withSectionId(Component,\"testimonials\");}export function withContactSection(Component){return withSectionId(Component,\"contact\");}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FloatingSectionNav\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"withWorkSection\":{\"type\":\"reactHoc\",\"name\":\"withWorkSection\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withAISection\":{\"type\":\"reactHoc\",\"name\":\"withAISection\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHeroSection\":{\"type\":\"reactHoc\",\"name\":\"withHeroSection\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withAboutSection\":{\"type\":\"reactHoc\",\"name\":\"withAboutSection\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withExperienceSection\":{\"type\":\"reactHoc\",\"name\":\"withExperienceSection\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withTestimonialsSection\":{\"type\":\"reactHoc\",\"name\":\"withTestimonialsSection\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withContactSection\":{\"type\":\"reactHoc\",\"name\":\"withContactSection\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Mini_Map.map"],"mappings":"A,0MAA+9B,SAASe,EAAe,EAAM,EAAS,CAAC,IAAMC,EAAO,OAAOC,GAAQ,SAASA,EAAM,OAAO,WAAW,OAAOA,CAAK,CAAC,EAAE,OAAO,OAAO,SAASD,CAAM,EAAEA,EAAOE,CAAS,CAA+B,SAASC,EAAmB,EAAG,CAAC,IAAMC,EAAQC,EAAG,KAAK,EAAE,OAAOD,EAAQ,WAAW,GAAG,EAAEA,EAAQ,MAAM,CAAC,EAAEA,CAAQ,CAAC,SAASE,GAAuB,EAAQ,CAAsC,GAAlC,CAACC,EAAQ,aAA4BA,EAAQ,eAAe,CAAC,CAAC,SAAS,EAAE,MAAO,GAAM,IAAMC,EAAKD,EAAQ,sBAAsB,EAAE,GAAGC,EAAK,OAAO,GAAGA,EAAK,QAAQ,EAAE,MAAO,GAAM,IAAIC,EAAQF,EAAQ,KAAME,GAAQ,CAAgC,GAA5BA,EAAQ,QAAuBA,EAAQ,aAAa,aAAa,IAAI,OAAO,MAAO,GAAM,IAAMC,EAAMf,EAAO,iBAAiBc,CAAO,EAAE,GAAGC,EAAM,UAAU,QAAQA,EAAM,aAAa,UAAUA,EAAM,aAAa,WAAY,MAAO,GAAO,EAAQD,EAAQ,aAAc,CAAC,MAAO,EAAK,CAAC,SAASE,EAAkB,EAAK,EAAQ,CAA+F,OAA3FC,EAAQJ,EAAK,IAAWA,EAAK,IAAII,EAAWA,EAAQJ,EAAK,OAAcI,EAAQJ,EAAK,OAAc,CAAE,CAAC,SAASK,EAAyB,EAAG,CAAC,GAAG,OAAO,SAAW,IAAY,MAAM,CAAC,EAAE,IAAMC,EAAQX,EAAmBE,CAAE,EAAQU,EAAQ,CAAC,EAAQC,kBAAK,IAAI,IAAUC,EAAK,GAAM,CAAKC,GAAM,GAAK,IAAIA,CAAI,IAASF,EAAK,IAAIE,CAAI,EAAEH,EAAQ,KAAKG,CAAI,EAAE,EAAQC,EAAWC,EAAgB,IAAIN,CAAO,EAAE,GAAGK,EAAY,IAAI,IAAMD,KAAQC,EAAWF,EAAKC,CAAI,EAAoM,OAApI,SAAtC,iBAAiB,QAAQJ,EAAQ,GAAW,CAAC,CAAC,QAAQG,CAAI,EAAwF,SAA7D,iBAAiB,+BAA+BH,EAAQ,GAAa,CAAC,CAAC,QAAQG,CAAI,EAASF,CAAQ,CAAC,SAASM,EAAqB,EAAG,EAAQ,CAAC,GAAG,OAAO,SAAW,IAAY,OAAO,KAAK,IAAMC,EAAWT,EAAyBR,CAAE,CAAC,CAAC,OAAOC,EAAsB,EAAE,GAAG,CAACgB,EAAW,OAAO,OAAO,KAAK,IAA0BC,EAAe5B,EAAO,YAAkB6B,GAAiB,EAAE,IAAI,CAAC,GAAGC,IAAIC,EAAE,MAAO,GAAE,IAAMC,EAASF,EAAE,wBAAwBC,CAAC,EAA8G,OAAzGC,EAAS,KAAK,4BAAkC,GAAMA,EAAS,KAAK,4BAAmC,EAAS,CAAE,EAA2f,MAA5e,CAAC,GAAGL,CAAU,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAMM,EAAMH,EAAE,sBAAsB,EAAQI,EAAMH,EAAE,sBAAsB,EAAQI,EAAY,IAAM,OAAO,GAAaF,EAAM,IAAIL,GAAyBQ,EAAY,IAAM,OAAO,GAAaF,EAAM,IAAIN,GAAmB,GAAGO,IAAcC,EAAY,OAAOA,EAAYD,EAAY,IAAME,EAAUrB,EAAkBiB,EAAMhB,CAAO,EAAQqB,EAAUtB,EAAkBkB,EAAMjB,CAAO,EAAsD,OAAjDoB,IAAYC,EAA4CT,EAAgBC,EAAEC,CAAC,EAA9CM,EAAUC,CAAsC,CAAe,CAAC,CAAC,IAAI,IAAK,CAGn8G,SAAwBC,EAAmB,EAAM,CAAC,IAAMC,EAASC,EAAM,UAAUC,EAE9EC,EAAKF,EAAM,QAAQ,MAAMA,EAAM,MAAMG,EAAS,KAAWC,EAAUzC,EAAeqC,EAAM,QAAQ,WAAWA,EAAM,UAAUG,EAAS,SAAS,EAAQE,EAAgB1C,EAAeqC,EAAM,QAAQ,iBAAiBA,EAAM,gBAAgBG,EAAS,eAAe,EAAQG,EAAc3C,EAAeqC,EAAM,QAAQ,eAAeA,EAAM,cAAcG,EAAS,aAAa,EAAQI,EAAO5C,EAAeqC,EAAM,QAAQ,QAAQA,EAAM,OAAOG,EAAS,MAAM,EAAQK,GAAY7C,EAAeqC,EAAM,QAAQ,aAAaA,EAAM,YAAYG,EAAS,WAAW,EAAQM,EAAgB9C,EAAeqC,EAAM,YAAY,iBAAiBA,EAAM,gBAAgBG,EAAS,eAAe,EAAQO,EAAa/C,EAAeqC,EAAM,YAAY,cAAcA,EAAM,aAAaG,EAAS,YAAY,EAAQQ,EAAqBhD,EAAeqC,EAAM,YAAY,sBAAsBA,EAAM,qBAAqBG,EAAS,oBAAoB,EAAQS,EAAcjD,EAAeqC,EAAM,YAAY,eAAeA,EAAM,cAAcG,EAAS,aAAa,EAAQU,EAAgBlD,EAAeqC,EAAM,YAAY,iBAAiBA,EAAM,gBAAgBG,EAAS,eAAe,EAAQW,GAAiBnD,EAAeqC,EAAM,YAAY,kBAAkBA,EAAM,iBAAiBG,EAAS,gBAAgB,EAAQY,GAAmBpD,EAAeqC,EAAM,YAAY,oBAAoBA,EAAM,mBAAmBG,EAAS,kBAAkB,EAAQa,GAAkBhB,EAAM,QAAQ,mBAAmBA,EAAM,mBAAmBG,EAAS,kBAAwBc,GAAStD,EAAeqC,EAAM,QAAQ,UAAUA,EAAM,SAASG,EAAS,QAAQ,EAAQe,GAAWvD,EAAeqC,EAAM,QAAQ,YAAYA,EAAM,WAAWG,EAAS,UAAU,EAAQgB,GAAgBxD,EAAeqC,EAAM,QAAQ,iBAAiBA,EAAM,gBAAgBG,EAAS,eAAe,EAAQiB,GAASzD,EAAeqC,EAAM,QAAQ,UAAUA,EAAM,SAASG,EAAS,QAAQ,EAAQkB,EAAoB1D,EAAeqC,EAAM,QAAQ,qBAAqBA,EAAM,oBAAoBG,EAAS,mBAAmB,EAAQmB,GAAqB3D,EAAeqC,EAAM,QAAQ,sBAAsBA,EAAM,qBAAqBG,EAAS,oBAAoB,EAAQoB,GAAkB5D,EAAeqC,EAAM,QAAQ,mBAAmBA,EAAM,kBAAkBG,EAAS,iBAAiB,EAAQqB,GAAoB7D,EAAeqC,EAAM,QAAQ,qBAAqBA,EAAM,oBAAoBG,EAAS,mBAAmB,EAAQsB,GAAUzB,EAAM,YAAY,WAAWA,EAAM,WAAWG,EAAS,UAAgBuB,GAAY1B,EAAM,YAAY,aAAaA,EAAM,aAAaG,EAAS,YAAkBwB,GAAc3B,EAAM,YAAY,eAAeA,EAAM,eAAeG,EAAS,cAAoByB,EAAY5B,EAAM,YAAY,aAAaA,EAAM,aAAaG,EAAS,YAAkB0B,EAAWlE,EAAeqC,EAAM,YAAY,YAAYA,EAAM,WAAWG,EAAS,UAAU,EAAQ2B,GAAcnE,EAAeqC,EAAM,YAAY,eAAeA,EAAM,cAAcG,EAAS,aAAa,EAAO,CAAC4B,GAAOC,GAAWpF,EAAe,EAAK,EAAO,CAACqF,GAASC,IAAatF,EAAemB,EAAmBgC,IAAW,EAAE,EAAE,IAAI,EAAE,CAAC,EAAO,CAACoC,EAAaC,IAAiBxF,EAAe,EAAK,EAAO,CAACyF,GAAUC,GAAc1F,EAAe,IAAI,EAAO,CAAC2F,EAAYC,IAAgB5F,EAAe,EAAK,EAAO,CAAC6F,GAAgBC,GAAoB9F,EAAe,EAAK,EAAO,CAAC+F,GAAcC,GAAkBhG,EAAe,EAAK,EAAO,CAACiG,EAAYC,GAAgBlG,EAAe,EAAK,EAAO,CAACmG,EAAWC,GAAepG,EAAe,IAAI,EAAO,CAACqG,EAAeC,GAAmBtG,EAAe,EAAK,EAAQuG,GAAOtG,EAAa,IAAI,EAAQuG,EAAcvG,EAAa,IAAI,EAAQwG,EAAaxG,EAAa,EAAK,EAAQyG,EAAkBzG,EAAa,EAAK,EAAQ0G,EAAW1G,EAAa,IAAI,EAAQ2G,EAAiB3G,EAAa,IAAI,EAAQ4G,EAAc5G,EAAa,IAAI,EAAQ6G,EAAgB7G,EAAa,IAAI,EAAQ8G,EAAoB9G,EAAa,IAAI,EAAuH+G,GAA1F9G,MAAkBiD,EAAS,IAAI,GAAShC,EAAmB8F,EAAQ,EAAE,CAAC,EAAE,CAAC9D,CAAQ,CAAwC,CAAC,CAAC,QAAQkC,EAAQ,EAAQ6B,GAAuB,OAAOrD,CAAe,EAAoKsD,GAAkBH,KAAvJ,OAAO,SAASE,EAAsB,EAAE,KAAK,IAAI,KAAK,IAAI,KAAK,MAAMA,EAAsB,EAAE,CAAC,EAAE,KAAK,IAAI/D,EAAS,OAAO,CAAC,CAAC,EAAE,GAA8D,EAAQiE,EAAaD,KAAoBtB,IAAiBE,IAAeM,GAAsBgB,MAAY,CAAIV,EAAW,UAAU,OAAMhG,EAAO,aAAagG,EAAW,OAAO,EAAE,EAAW,QAAQ,MAAMvB,EAAU,EAAI,CAAE,EAAQkC,OAAqB,CAAW3G,IAAS,OAAayE,EAAU,EAAK,GAAauB,EAAW,UAAU,MAAMhG,EAAO,aAAagG,EAAW,OAAO,EAEtpJ,EAAW,QAAQhG,EAAO,eAAe,CAACyE,EAAU,EAAK,EAAEM,EAAa,IAAI,EAAE,EAAW,QAAQ,IAAK,EAAE,GAAG,EAAE,EAAQ6B,MAAwB,CAAC,GAAU5G,IAAS,OAAY,OAAUiG,EAAiB,UAAU,MAAMjG,EAAO,aAAaiG,EAAiB,OAAO,EAAG,IAAMY,EAAS,KAAK,IAAI,OAAO/C,CAAmB,GAAG,EAAE,CAAC,EAAE,EAAiB,QAAQ9D,EAAO,eAAe,CAACyE,EAAU,EAAK,EAAEM,EAAa,IAAI,EAAE,IAAM+B,EAAc,SAAS,cAAiBA,aAAyB,aAAaA,EAAc,KAAK,EAAG,EAAiB,QAAQ,IAAK,EAAED,CAAQ,CAAE,EAAQE,MAAuB,CAAW/G,IAAS,QAAsBkG,EAAc,UAAU,OAAMlG,EAAO,aAAakG,EAAc,OAAO,EAAE,EAAc,QAAQ,KAAM,EAAQc,MAAqB,CAAC,GAAUhH,IAAS,OAAY,OAAO+G,EAAmB,EAAE,IAAME,EAAM,KAAK,IAAI,OAAO5D,CAAa,GAAG,EAAE,CAAC,EAAE,EAAc,QAAQrD,EAAO,eAAe,CAACmF,EAAmB,EAAK,EAAE,EAAoB,QAAQ,KAAK,EAAc,QAAQ,IAAK,EAAE8B,CAAK,CAAE,EAAQC,OAA0B,CAAC,GAAUlH,IAAS,OAAY,OAAO,IAAMmH,EAASnH,EAAO,QAAcoH,EAAe,KAAK,IAAI,OAAOhE,CAAoB,GAAG,EAAE,CAAC,EAAKgD,EAAoB,UAAU,OAAM,EAAoB,QAAQe,GAAU,IAAME,EAAU,KAAK,IAAIF,EAASf,EAAoB,OAAO,GAAKgB,IAAiB,GAAGC,GAAWD,IAAgBjC,EAAmB,EAAI,EAG12C6B,EAAiB,CAAE,EAAQM,MAAyB,CAAWtH,IAAS,QAAsBmG,EAAgB,UAAU,OAAMnG,EAAO,aAAamG,EAAgB,OAAO,EAAE,EAAgB,QAAQ,KAAM,EAAQoB,OAAuB,CAAC,GAAUvH,IAAS,QAAagF,EAAY,OAAOsC,EAAqB,EAAE,IAAML,EAAM,KAAK,IAAI,OAAO3D,CAAe,GAAG,EAAE,CAAC,EAAE,EAAgB,QAAQtD,EAAO,eAAe,CAAC2F,EAAkB,EAAI,EAAEN,EAAiB,EAAI,EAAEqB,EAAQ,EAAE,EAAgB,QAAQ,IAAK,EAAEO,CAAK,CAAE,EAAQO,OAAwB,CAEjhBf,GAAcpB,EAAiB,EAAI,EAAE0B,EAAmB,EAAEO,EAAqB,EAAEZ,EAAQ,GAGzF,CAAC1B,GAAawB,IAAmBe,GAAmB,CAAG,EAAQE,OAAwB,CAACH,EAAqB,GAAMb,GAAef,KAAsBL,EAAiB,EAAK,EAAEM,EAAkB,EAAK,EAAEgB,GAAiB,EAAEK,EAAiB,EAAE,EAAEjH,UAA+B,CAAWC,IAAS,SAAsBgG,EAAW,UAAU,MAAMhG,EAAO,aAAagG,EAAW,OAAO,EAAMC,EAAiB,UAAU,MAAMjG,EAAO,aAAaiG,EAAiB,OAAO,EAAMC,EAAc,UAAU,MAAMlG,EAAO,aAAakG,EAAc,OAAO,EAAMC,EAAgB,UAAU,MAAMnG,EAAO,aAAamG,EAAgB,OAAO,EAAG,EAAI,CAAC,CAAC,EAAEpG,MAAoB,CAAC,GAAUC,IAAS,OAAY,OAAO,IAAM0H,EAAM1H,EAAO,WAAW,kCAAkC,EAAQ2H,MAAS1C,GAAeyC,EAAM,OAAO,EAAsJ,OAApJC,EAAK,EAAKD,EAAM,kBAAkBA,EAAM,iBAAiB,SAASC,CAAI,MAAYD,EAAM,oBAAoB,SAASC,CAAI,IAAGD,EAAM,YAAYC,CAAI,MAAYD,EAAM,eAAeC,CAAI,EAAE,EAAE,CAAC,CAAC,EAAE5H,MAAoB,CAAC,GAAUC,IAAS,OAAY,OAAO,IAAM0H,EAAM1H,EAAO,WAAW,kCAAkC,EAAQ2H,MAAS9C,GAAgB6C,EAAM,OAAO,EACpnC,OADsnCC,EAAK,EAAKD,EAAM,kBAAkBA,EAAM,iBAAiB,SAASC,CAAI,MAAYD,EAAM,oBAAoB,SAASC,CAAI,IACvwCD,EAAM,YAAYC,CAAI,MAAYD,EAAM,eAAeC,CAAI,EAAE,EAAE,CAAC,CAAC,EAAE5H,MAAoB,CAAC,GAAUC,IAAS,OAAY,OAAO,IAAM4H,MAAyB,CAACV,GAAsB,CAAE,EAAwE,OAAtElH,EAAO,iBAAiB,SAAS4H,EAAqB,CAAC,QAAQ,EAAI,CAAC,MAAY,CAAC5H,EAAO,oBAAoB,SAAS4H,CAAoB,EAAEb,EAAmB,CAAE,CAAE,EAAE,CAAC1D,EAAcD,CAAoB,CAAC,EAAErD,MAAoB,CAAC,GAAUC,IAAS,QAAa,CAACwC,GAAU,OAAO,OAAO,IAAIqF,EAAM,EAAQC,MAAwB,CAAC,qBAAqBD,CAAK,EAAE,EAAM,0BAA0B,CAAC,IAAME,EAAO/H,EAAO,YAAYmD,EAAiB6E,EAAWxH,EAAmBgC,EAAS,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAM8D,KAAW9D,EAAS,CAAC,IAAMyF,EAAazH,EAAmB8F,EAAQ,EAAE,EAAQ1F,EAAQc,EAAqBuG,EAAaF,CAAM,EAAMnH,GAA4BA,EAAQ,sBAA8B,CAAC,CAAC,KAAKmH,IAAQ,EAAWE,EAAc,CAA6F,GAA3EjI,EAAO,QAAQA,EAAO,aAAa,SAAS,gBAAgB,aAAa,EAAgB,CAAC,IAAMkI,EAAa,CAAC,GAAG1F,CAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,GAASd,EAAqBlB,EAAmB8F,EAAQ,EAAE,EAAEyB,CAAM,CAAC,EAAKG,IAAc,EAAW1H,EAAmB0H,EAAa,EAAE,EAAG,CAACvD,GAAYqD,CAAU,CAAE,CAAC,CAAE,EAAmJ,OAAjJF,EAAoB,EAAE9H,EAAO,iBAAiB,SAAS8H,EAAoB,CAAC,QAAQ,EAAI,CAAC,EAAE9H,EAAO,iBAAiB,SAAS8H,CAAmB,MAAY,CAAC,qBAAqBD,CAAK,EAAE7H,EAAO,oBAAoB,SAAS8H,CAAmB,EAAE9H,EAAO,oBAAoB,SAAS8H,CAAmB,CAAE,CAAE,EAAE,CAACtF,EAASW,CAAY,CAAC,EAAE,IAAMgF,GAAa,EAAG,IAAS,CAAI,OAAO,SAAW,MAAmBC,EAAO,eAAe,CAAC,SAASxD,EAAa,OAAO,SAAS,MAAM,OAAO,CAAC,EAAY5E,IAAS,QAAaA,EAAO,SAAS,cAAcA,EAAO,QAAQ,aAAa,KAAK,GAAG,IAAIU,GAAI,EAAG,EAAQ2H,GAA8B,GAAS,CAAC,IAAMC,EAAI1C,GAAO,QAAQ,GAAG,CAAC0C,EAAI,OAAO,KAAK,IAAMC,EAAK,MAAM,KAAKD,EAAI,iBAAiB,uBAAuB,CAAC,EAAME,EAAK,KAAK,IAAI,IAAMC,KAAOF,EAAK,CAAC,IAAM7H,EAAG+H,EAAI,aAAa,qBAAqB,EAAE,GAAG,CAAC/H,EAAG,SAAS,IAAMG,EAAK4H,EAAI,sBAAsB,EAAQC,EAAQ7H,EAAK,IAAIA,EAAK,OAAO,EAAQ8H,EAAS,KAAK,IAAIC,EAAQF,CAAO,GAAK,CAACF,GAAMG,EAASH,EAAK,YAAU,EAAK,CAAC,KAAG,UAAQ,EAAG,CAAsB,OAAjBA,EAAwBhG,EAAS,KAAK,GAAShC,EAAmB8F,EAAQ,EAAE,IAAIkC,EAAK,EAAE,GAAG,KAA9E,IAAmF,EAAQK,GAAiB,GAAO,CAAC,GAAI7D,EAAmB,GAAc,QAAQ8D,EAAM,QAAQ,EAAa,QAAQ,GAAM,EAAkB,QAAQ,GAAMzD,EAAiB,EAAI,EAAE0B,EAAmB,EAAE5B,EAAmB,EAAI,EAAEV,EAAU,EAAI,EAAE,GAAG,CAACqE,EAAM,cAAc,kBAAkBA,EAAM,SAAS,CAAE,MAAM,CACjmF,CADw4E,CACv4E,EAAQC,GAAkB,GAAO,CAAC,GAAG,CAAC/D,GAAaa,EAAc,UAAU,KAAK,OAAO,IAAMmD,EAAU,KAAK,IAAI,OAAOjF,EAAoB,GAAG,EAAE,CAAC,EAAsI,GAAjI,CAAC+B,EAAa,SAAS,KAAK,IAAIgD,EAAM,QAAQjD,EAAc,OAAO,GAAGmD,IAAW,EAAa,QAAQ,GAAKzD,EAAe,EAAI,GAAM,CAACO,EAAa,QAAQ,OAAOgD,EAAM,eAAe,EAAE,IAAMxC,EAAQ+B,GAA8BS,EAAM,OAAO,EAAE,GAAG,CAACxC,EAAQ,OAAO,IAAM2B,EAAazH,EAAmB8F,EAAQ,EAAE,EAAKd,IAAayC,IAAcxC,EAAcwC,CAAY,EAAElD,EAAauB,EAAQ,EAAE,EAAG,EAAQ2C,GAAkB,GAAO,CAAC,GAAG,CAACjE,GAAaa,EAAc,UAAU,KAAK,OAAO,IAAMqD,EAAQpD,EAAa,QAAcqD,EAAW3D,EAAW,EAAc,QAAQ,KAAK,EAAa,QAAQ,GAAMD,EAAe,EAAK,EAAE,GAAG,CAACuD,EAAM,cAAc,sBAAsBA,EAAM,SAAS,CAAE,MAAM,CAC10B,CAAC,GAAGI,GAASC,EAAW,CAAC,EAAkB,QAAQ,GAAKL,EAAM,eAAe,EAAgD,IAAMV,EAAO1G,EAAqByH,EAAlEnJ,EAAO,YAAYmD,CAAiE,EAAKiF,GAAQD,EAAYgB,EAAWf,CAAM,EAAG3D,EAAU,EAAI,EAAEU,EAAmB,EAAI,EAAEyB,EAAoB,EAAE5G,EAAO,eAAe,CAACyF,EAAc,IAAI,EAAEJ,EAAiB,EAAK,EAAE2B,EAAiB,CAAE,EAAE,KAAK,IAAI,OAAOlD,CAAmB,GAAG,EAAE,CAAC,CAAC,CAAE,MAAM2B,EAAc,IAAI,EAAEJ,EAAiB,EAAK,EAAE2B,EAAiB,CAAG,EAAQoC,OAAsB,CAAC,EAAc,QAAQ,KAAK,EAAa,QAAQ,GAAM7D,EAAe,EAAK,EAAEE,EAAc,IAAI,EAAEJ,EAAiB,EAAK,EAAE2B,EAAiB,CAAE,EAAQqC,GAAe,GAAO,CAAC,IAAMC,EAAKR,EAAM,eAAiB,CAACQ,GAAM,CAACR,EAAM,cAAc,SAASQ,CAAI,KAAG7E,EAAU,EAAK,EAAEM,EAAa,IAAI,EAAG,EAAE,MAAoB,gBAAM,MAAM,CAAC,IAAIa,GAAO,aAAa,gBAAgB,cAAc,CAACa,EAAa,MAAM,CAACA,EAAa,aAAae,GAAoB,aAAaC,GAAoB,YAAY,CAACH,EAAqB,EAAE3B,EAAkB,EAAI,EAAEN,EAAiB,EAAI,EAAE0B,EAAmB,EAAEL,EAAQ,CAAE,EAAE,cAAcmC,GAAiB,cAAcE,GAAkB,YAAYE,GAAkB,gBAAgBG,GAAkB,OAAO,GAAO,CAACC,GAAeP,CAAK,EAAE,IAAMQ,EAAKR,EAAM,eAAiB,CAACQ,GAAM,CAACR,EAAM,cAAc,SAASQ,CAAI,KAAGjE,EAAiB,EAAK,EAAEM,EAAkB,EAAK,EAAEqB,EAAiB,EAAG,EAAE,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,WAAWrE,IAAO,QAAQ,WAAW,aAAa,IAAI6B,GAAOvB,GAAYD,EAAO,MAAM,cAAc,QAAQ,UAAU,QAAQ,EAAE,UAAU,gBAAgB,cAAcyD,GAAc,CAACzB,EAAY,OAAO,OAAO,SAAUA,EAAkE,IAAA,GAAtD,KAAK,IAAI,OAAOzB,EAAgB,GAAG,EAAET,CAAe,EAAY,YAAYkC,EAAY,OAAO,OAAO,WAAWM,EAAY,OAAO,OAAO,iBAAiBA,EAAY,OAAO,OAAO,SAAS,WAAW,UAAU,UAAU,WAAWV,EAAa,OAAO,uCAAuC,WAAW,8FAA8F,EAAE,SAAS,CAAc,gBAAK,OAAO,CAAC,cAAc,OAAO,MAAM,CAAC,SAAS,WAAW,MAAMI,EAAY,cAAc,aAAa,aAAa,IAAI,WAAWX,EAAY,QAAQoC,GAAcnC,EAAW,EAAE,KAAK,IAAI,KAAK,IAAIC,GAAc,CAAC,EAAE,CAAC,EAAE,EAAE,OAAOD,EAAW,EAAE,QAAQA,EAAW,KAAK,OAAO,cAAc,OAAO,OAAO,EAAE,WAAWM,EAAa,OAAO,+CAA+C,CAAC,CAAC,EAAEpC,EAAS,IAAI,GAAS,CAAC,IAAMyF,EAAazH,EAAmB8F,EAAQ,EAAE,EAAQiD,EAAS7E,KAAWuD,EAAmBuB,EAAU1E,KAAYwB,EAAQ,IAAId,IAAayC,EAItmFwB,EAAkBjF,KAASgF,GAAW1E,KAAY,MAAMrB,IAAmB8F,GAAgBG,EAAmB,gBAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,QAAQ,SAASD,EAAkB,IAAI,EAAE,QAAQ,KAAsB,SAAS,SAAS,WAAW,SAAS,MAAMvF,GAAU,SAASc,GAAaM,EAAYrB,GAAoBP,GAAS,WAAW6F,GAAUC,EAAU,KAAK,IAAI7F,GAAW,IAAI,GAAG,EAAEA,GAAW,WAAW,KAAK,UAAU8F,EAAkB,gBAAgB,cAAc9G,IAAO,QAAQ,EAAE,GAAG,KAAK,WAAWiC,EAAa,OAAO,iHAAiH,cAAc,OAAO,WAAWN,EAAW,EAAE,OAAO,KAAK,IAAI,EAAEA,EAAW,EAAE,EAAE,KAAKD,IAAc,MAAM,EAAE,SAASiC,EAAQ,KAAK,CAAC,EAA+DqD,EAAkB,gBAAK,OAAO,CAAC,cAAc,OAAO,MAAM,CAAC,QAAQ,QAAQ,MAAMF,EAAkB,EAA5IF,EAASzG,EAAgBD,EAAmI,OAAOE,EAAc,aAAa,IAAI,WAAW,EAAE,QAAQ,IAAsB,WAAWwG,EAASpF,GAAYC,GAAc,UAAUE,EAAW,EAAE,OAAO,KAAK,IAAI,EAAEA,EAAW,GAAG,EAAE,KAAKD,IAAc,OAAO,WAAWO,EAAa,OAAO,6GAA6G,KAAK,IAAI,OAAOpB,EAAkB,GAAG,EAAE,CAAC,EAAE,+BAA+B,gBAAgBb,IAAO,QAAQ,WAAW,SAAS,UAAU,UAAU,KAAiB,WAAW4G,GAAU,CAACE,EAAkB,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAoB,gBAAM,IAAI,CAAC,sBAAsBxB,EAAa,KAAK,IAAIA,IAAe,aAAa,WAAW3B,EAAQ,QAAQ,eAAeiD,EAAS,WAAW,IAAA,GAAU,iBAAiBxE,EAAauB,EAAQ,EAAE,EAAE,YAAY,CAACI,EAAQ,EAAE3B,EAAauB,EAAQ,EAAE,CAAE,EAAE,SAASG,EAAa,EAAE,GAAG,QAAQ,GAAO,CAAC,GAAGV,EAAkB,QAAQ,CAAC+C,EAAM,eAAe,EAAE,EAAkB,QAAQ,GAAM,MAAO,CAAC,GAAG,OAAO,SAAW,IAAY,OAAO,IAAM7H,EAAQjB,EAAO,YAAYmD,EAAmBiF,EAAO1G,EAAqBuG,EAAahH,CAAO,EAAKmH,IAAQU,EAAM,eAAe,EAAEX,EAAYF,EAAaG,CAAM,GAAMpD,IAAaK,EAAiB,EAAI,EAAE0B,EAAmB,EAAEtC,EAAU,EAAI,EAAEM,EAAauB,EAAQ,EAAE,EAAEM,EAAoB,EAAE5G,EAAO,eAAe,CAACqF,EAAiB,EAAK,EAAE2B,EAAiB,CAAE,EAAE,KAAK,IAAI,OAAOlD,CAAmB,GAAG,EAAE,CAAC,CAAC,EAAG,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,QAAQ,WAAW,cAAc,SAAS,WAAW,OAAO,EAAE,OAAO,UAAU,QAAQ,OAAO,cAAcnB,IAAO,QAAQ,MAAM,cAAc,WAAW,SAAS,eAAeA,IAAO,QAAQ,WAAW,aAAa,IAAI8G,EAAkBzE,EAAYM,EAAYtB,GAAkBH,GAASD,GAAgB,EAAE,MAAM,cAAc,SAASoB,EAAY,GAAG,IAAA,GAAU,UAAU,GAAG,KAAK,UAAU,cAAc,EAAE,eAAe,OAAO,cAAcyB,EAAa,OAAO,OAAO,WAAW7B,EAAa,OAAO,sCAAsC,EAAE,SAAS,CAAC8E,EAAMC,CAAI,CAAC,EAAE,GAAGrD,EAAQ,GAAG,GAAGA,EAAQ,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC,CAAE,C,wDAtBrwF,EAAgB,CAAC,CAAC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,gBAAgB,GAAG,MAAM,EAAE,CAAC,MAAM,eAAe,GAAG,IAAI,EAAE,CAAC,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,MAAM,aAAa,GAAG,YAAY,EAAE,CAAC,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC,EAAQ,EAAS,CAAC,KAAK,QAAQ,UAAU,sBAAsB,YAAY,UAAU,cAAc,sBAAsB,SAAS,KAAK,WAAW,IAAI,UAAU,GAAG,gBAAgB,GAAG,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,GAAG,kBAAkB,GAAK,gBAAgB,EAAE,oBAAoB,KAAK,cAAc,KAAK,mBAAmB,IAAI,qBAAqB,EAAE,YAAY,wBAAwB,WAAW,GAAG,cAAc,IAAI,kBAAkB,GAAG,oBAAoB,GAAG,qBAAqB,IAAI,gBAAgB,IAAI,iBAAiB,GAAG,gBAAgB,EAAE,EAA4K,kBAAgB,IAAI,IAsBsxD,EAAmB,aAAa,CAAC,SAAS5D,EAAgB,KAAKE,EAAS,KAAK,UAAUA,EAAS,UAAU,YAAYA,EAAS,YAAY,cAAcA,EAAS,cAAc,SAASA,EAAS,SAAS,WAAWA,EAAS,WAAW,UAAUA,EAAS,UAAU,gBAAgBA,EAAS,gBAAgB,cAAcA,EAAS,cAAc,OAAOA,EAAS,OAAO,YAAYA,EAAS,YAAY,SAASA,EAAS,SAAS,aAAaA,EAAS,aAAa,kBAAkBA,EAAS,kBAAkB,gBAAgBA,EAAS,gBAAgB,oBAAoBA,EAAS,oBAAoB,cAAcA,EAAS,cAAc,mBAAmBA,EAAS,mBAAmB,qBAAqBA,EAAS,qBAAqB,YAAYA,EAAS,YAAY,WAAWA,EAAS,WAAW,cAAcA,EAAS,cAAc,kBAAkBA,EAAS,kBAAkB,oBAAoBA,EAAS,oBAAoB,qBAAqBA,EAAS,qBAAqB,gBAAgBA,EAAS,gBAAgB,iBAAiBA,EAAS,iBAAiB,gBAAgBA,EAAS,eAAe,EAAE3C,EAAoBsC,EAAmB,CAAC,SAAS,CAAC,KAAKpC,EAAY,MAAM,MAAM,WAAW,YAAY,uEAAuE,SAAS,GAAG,QAAQ,CAAC,KAAKA,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,QAAQ,YAAY,oDAAoD,aAAa,SAAS,EAAE,GAAG,CAAC,KAAKA,EAAY,OAAO,MAAM,KAAK,aAAa,UAAU,YAAY,yEAAyE,CAAC,CAAC,EAAE,aAAauC,CAAe,EAAE,WAAW,CAAC,KAAKvC,EAAY,OAAO,MAAM,aAAa,YAAY,6DAA6D,SAAS,CAAC,gBAAgB,CAAC,KAAKA,EAAY,OAAO,MAAM,YAAY,YAAY,8HAA8H,aAAayC,EAAS,gBAAgB,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE,aAAa,CAAC,KAAKzC,EAAY,OAAO,MAAM,eAAe,YAAY,mGAAmG,aAAayC,EAAS,aAAa,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,qBAAqB,CAAC,KAAKzC,EAAY,OAAO,MAAM,kBAAkB,YAAY,uHAAuH,aAAayC,EAAS,qBAAqB,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,KAAK,IAAI,EAAE,cAAc,CAAC,KAAKzC,EAAY,OAAO,MAAM,aAAa,YAAY,yFAAyF,aAAayC,EAAS,cAAc,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE,gBAAgB,CAAC,KAAKzC,EAAY,OAAO,MAAM,aAAa,YAAY,0FAA0F,aAAayC,EAAS,gBAAgB,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE,iBAAiB,CAAC,KAAKzC,EAAY,OAAO,MAAM,aAAa,YAAY,kFAAkF,aAAayC,EAAS,iBAAiB,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,mBAAmB,CAAC,KAAKzC,EAAY,OAAO,MAAM,eAAe,YAAY,6FAA6F,aAAayC,EAAS,mBAAmB,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,KAAKzC,EAAY,OAAO,MAAM,SAAS,YAAY,4DAA4D,SAAS,CAAC,KAAK,CAAC,KAAKA,EAAY,KAAK,MAAM,OAAO,YAAY,0EAA0E,QAAQ,CAAC,OAAO,OAAO,EAAE,aAAa,CAAC,OAAO,OAAO,EAAE,aAAayC,EAAS,KAAK,wBAAwB,EAAI,EAAE,UAAU,CAAC,KAAKzC,EAAY,OAAO,MAAM,aAAa,YAAY,0EAA0E,aAAayC,EAAS,UAAU,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,gBAAgB,CAAC,KAAKzC,EAAY,OAAO,MAAM,eAAe,YAAY,0EAA0E,aAAayC,EAAS,gBAAgB,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,cAAc,CAAC,KAAKzC,EAAY,OAAO,MAAM,YAAY,YAAY,mDAAmD,aAAayC,EAAS,cAAc,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,IAAI,EAAE,OAAO,CAAC,KAAKzC,EAAY,OAAO,MAAM,UAAU,YAAY,iFAAiF,aAAayC,EAAS,OAAO,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,YAAY,CAAC,KAAKzC,EAAY,OAAO,MAAM,WAAW,YAAY,qGAAqG,aAAayC,EAAS,YAAY,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,KAAKzC,EAAY,OAAO,MAAM,SAAS,YAAY,4DAA4D,SAAS,CAAC,kBAAkB,CAAC,KAAKA,EAAY,QAAQ,MAAM,eAAe,YAAY,2FAA2F,aAAayC,EAAS,kBAAkB,aAAa,OAAO,cAAc,MAAM,EAAE,SAAS,CAAC,KAAKzC,EAAY,OAAO,MAAM,OAAO,YAAY,2FAA2F,aAAayC,EAAS,SAAS,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,WAAW,CAAC,KAAKzC,EAAY,OAAO,MAAM,SAAS,YAAY,qFAAqF,aAAayC,EAAS,WAAW,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,gBAAgB,CAAC,KAAKzC,EAAY,OAAO,MAAM,cAAc,YAAY,qEAAqE,aAAayC,EAAS,gBAAgB,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,SAAS,CAAC,KAAKzC,EAAY,OAAO,MAAM,aAAa,YAAY,6EAA6E,aAAayC,EAAS,SAAS,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,oBAAoB,CAAC,KAAKzC,EAAY,OAAO,MAAM,cAAc,YAAY,sEAAsE,aAAayC,EAAS,oBAAoB,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE,qBAAqB,CAAC,KAAKzC,EAAY,OAAO,MAAM,cAAc,YAAY,4FAA4F,aAAayC,EAAS,qBAAqB,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,kBAAkB,CAAC,KAAKzC,EAAY,OAAO,MAAM,YAAY,YAAY,4FAA4F,aAAayC,EAAS,kBAAkB,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,oBAAoB,CAAC,KAAKzC,EAAY,OAAO,MAAM,aAAa,YAAY,uEAAuE,aAAayC,EAAS,oBAAoB,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,KAAKzC,EAAY,OAAO,MAAM,aAAa,YAAY,6DAA6D,SAAS,CAAC,UAAU,CAAC,KAAKA,EAAY,MAAM,MAAM,OAAO,YAAY,sDAAsD,aAAayC,EAAS,SAAS,EAAE,YAAY,CAAC,KAAKzC,EAAY,MAAM,MAAM,cAAc,YAAY,6DAA6D,aAAayC,EAAS,WAAW,EAAE,cAAc,CAAC,KAAKzC,EAAY,MAAM,MAAM,gBAAgB,YAAY,iEAAiE,aAAayC,EAAS,aAAa,EAAE,YAAY,CAAC,KAAKzC,EAAY,MAAM,MAAM,SAAS,YAAY,sGAAsG,aAAayC,EAAS,WAAW,EAAE,WAAW,CAAC,KAAKzC,EAAY,OAAO,MAAM,cAAc,YAAY,oEAAoE,aAAayC,EAAS,WAAW,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,cAAc,CAAC,KAAKzC,EAAY,OAAO,MAAM,iBAAiB,YAAY,iGAAiG,aAAayC,EAAS,cAAc,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,C"}