{"version":3,"file":"PageTransition.DAWK3CDz.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/LfxSTk3bGRYGrbZQhZ2R/PdRC7B3yhgjA3nIx4oEk/MobileMenu.js","https:/framerusercontent.com/modules/ezRKLjbDAQF1x2woCdJp/HQMSaWUqOOVrpxrJqA8z/PageTransition.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";// @ts-ignore — react-dom resolves at runtime in Framer; its types are not exposed here.\nimport{createPortal}from\"react-dom\";import{addPropertyControls,ControlType}from\"framer\";// Mobile menu — trigger + full-screen overlay.\n// Built from the Figma design \"Menu / Open — 390\" (section 04).\n// NOTE: no template literals anywhere in this file. A stray backtick inside a\n// style string silently truncated an earlier stylesheet on this project.\nconst CYAN=\"#00D2FF\";const CORAL=\"#EE5F6D\";const RED=\"#E63946\";const MUTED=\"#8E8E8E\";const CREAM=\"#F4F1E8\";const SURFACE=\"#121212\";const EASE=\"cubic-bezier(0.22, 1, 0.36, 1)\";// Site nav and socials are fixed across every page, so they live here rather\n// than as component props: one place to change them, and no page can drift.\nconst NAV=[{label:\"SERVICES\",link:\"/#services\"},{label:\"WORK\",link:\"/work\"},{label:\"ABOUT\",link:\"/about\"},{label:\"SHOP\",link:\"/shop\"}];const SOCIALS=[{label:\"INSTAGRAM\",link:\"https://www.instagram.com/erincarlin__/\"},{label:\"THREADS\",link:\"https://www.threads.net/@erincarlin__\"},{label:\"LINKEDIN\",link:\"https://www.linkedin.com/in/erin-carlin-b83102164/\"},{label:\"EMAIL\",link:\"mailto:erintcarlin@gmail.com\"}];const LEGAL_DEFAULT=\"Designed by Erin Carlin — \\xa9 2026. All artwork owned by Erin Carlin.\";function Cross({size,stroke,weight}){const half=size/2;return /*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 \"+size+\" \"+size,fill:\"none\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M\"+half+\" 0 V\"+size,stroke:stroke,strokeWidth:weight}),/*#__PURE__*/_jsx(\"path\",{d:\"M0 \"+half+\" H\"+size,stroke:stroke,strokeWidth:weight})]});}export default function MobileMenu(props){const{current=\"\",ctaLabel=\"GET IN TOUCH\",ctaLink=\"/#contact\",legal=LEGAL_DEFAULT,style}=props;const[open,setOpen]=useState(false);const panelRef=useRef(null);// lock the page behind the overlay, and close on Escape\nuseEffect(()=>{if(!open)return;const previous=document.body.style.overflow;document.body.style.overflow=\"hidden\";const onKey=event=>{if(event.key===\"Escape\")setOpen(false);};window.addEventListener(\"keydown\",onKey);const panel=panelRef.current;if(panel)panel.focus();return()=>{document.body.style.overflow=previous;window.removeEventListener(\"keydown\",onKey);};},[open]);const trigger={width:44,height:44,display:\"flex\",alignItems:\"center\",justifyContent:\"flex-end\",background:\"transparent\",border:\"none\",padding:0,cursor:\"pointer\",color:\"#FFFFFF\"};const overlay={position:\"fixed\",inset:0,zIndex:9999,background:SURFACE,padding:32,display:\"flex\",flexDirection:\"column\",alignItems:\"stretch\",overflowY:\"auto\",animation:\"ecs-menu-in 320ms \"+EASE+\" both\"};const mono=(size,tracking,color)=>({fontFamily:\"Roboto Mono, monospace\",fontWeight:500,fontSize:size,letterSpacing:tracking,lineHeight:size===12?\"16px\":\"20px\",color,textTransform:\"uppercase\",margin:0});return /*#__PURE__*/_jsxs(\"div\",{style:{...style,display:\"flex\",justifyContent:\"flex-end\"},children:[/*#__PURE__*/_jsx(\"style\",{children:\"@keyframes ecs-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}\"+\"@keyframes ecs-menu-item{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}\"+\"@media (prefers-reduced-motion: reduce){\"+\"[data-ecs-menu],[data-ecs-menu-item]{animation:none !important}}\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Open menu\",\"aria-expanded\":open,style:trigger,onClick:()=>setOpen(true),children:/*#__PURE__*/_jsxs(\"svg\",{width:26,height:26,viewBox:\"0 0 26 26\",fill:\"none\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M3 8 H23\",stroke:\"currentColor\",strokeWidth:2}),/*#__PURE__*/_jsx(\"path\",{d:\"M3 18 H23\",stroke:\"currentColor\",strokeWidth:2})]})}),open&&typeof document!==\"undefined\"?/*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{\"data-ecs-menu\":true,ref:panelRef,tabIndex:-1,role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":\"Site menu\",style:overlay,children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,height:44},children:[/*#__PURE__*/_jsx(Cross,{size:20,stroke:CYAN,weight:1.67}),/*#__PURE__*/_jsx(\"span\",{style:mono(14,1.4,CYAN),children:\"EC-STUDIO\"}),/*#__PURE__*/_jsx(\"span\",{style:{flex:1}}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Close menu\",onClick:()=>setOpen(false),style:{width:44,height:44,display:\"flex\",alignItems:\"center\",justifyContent:\"flex-end\",background:\"transparent\",border:\"none\",padding:0,cursor:\"pointer\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:24,height:24,viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M5 5 L19 19\",stroke:\"#FFFFFF\",strokeWidth:2}),/*#__PURE__*/_jsx(\"path\",{d:\"M19 5 L5 19\",stroke:\"#FFFFFF\",strokeWidth:2})]})})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,paddingTop:32,paddingBottom:24},children:[/*#__PURE__*/_jsx(Cross,{size:14,stroke:CYAN,weight:1.67}),/*#__PURE__*/_jsx(\"span\",{style:mono(12,1.2,MUTED),children:\"EC-STUDIO / MENU\"}),/*#__PURE__*/_jsx(\"span\",{style:{flex:1,height:1,backgroundImage:\"repeating-linear-gradient(to right, \"+CORAL+\" 0 3px, transparent 3px 7px)\"}})]}),/*#__PURE__*/_jsx(\"nav\",{style:{display:\"flex\",flexDirection:\"column\"},children:NAV.map((item,index)=>{const isCurrent=current&&item.label.toLowerCase()===current.toLowerCase();return /*#__PURE__*/_jsx(\"a\",{href:item.link,\"data-ecs-menu-item\":true,\"aria-current\":isCurrent?\"page\":undefined,onClick:()=>setOpen(false),style:{display:\"block\",paddingTop:16,paddingBottom:16,borderBottom:\"1px solid \"+CORAL,textDecoration:\"none\",animation:\"ecs-menu-item 380ms \"+EASE+\" both \"+(120+index*60)+\"ms\"},children:/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"baseline\",gap:12},children:[/*#__PURE__*/_jsx(\"span\",{style:mono(12,1.2,CORAL),children:String(index+1).padStart(2,\"0\")}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"Roboto Condensed, Arial Narrow, sans-serif\",fontWeight:700,fontSize:46,lineHeight:\"47px\",letterSpacing:-.8,color:isCurrent?CORAL:\"#FFFFFF\",textTransform:\"uppercase\"},children:item.label})]})},item.label+index);})}),/*#__PURE__*/_jsx(\"span\",{style:{flex:1,minHeight:32}}),/*#__PURE__*/_jsx(\"a\",{href:ctaLink,onClick:()=>setOpen(false),style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",height:63,borderRadius:12,background:RED,textDecoration:\"none\",fontFamily:\"Roboto Mono, monospace\",fontWeight:700,fontSize:26,letterSpacing:3,lineHeight:\"31px\",color:\"#000000\"},children:ctaLabel}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:16,paddingTop:24,flexWrap:\"wrap\"},children:SOCIALS.map((social,index)=>/*#__PURE__*/_jsx(\"a\",{href:social.link,style:{...mono(12,1.2,\"#FFFFFF\"),textDecoration:\"none\"},children:social.label},social.label+index))}),/*#__PURE__*/_jsx(\"p\",{style:{...mono(12,1.2,CREAM),opacity:.5,paddingTop:8,textTransform:\"none\"},children:legal})]}),document.body):null]});}MobileMenu.displayName=\"Mobile Menu\";addPropertyControls(MobileMenu,{current:{type:ControlType.String,title:\"Current\",defaultValue:\"\"},ctaLabel:{type:ControlType.String,title:\"CTA\",defaultValue:\"GET IN TOUCH\"},ctaLink:{type:ControlType.Link,title:\"CTA link\"},legal:{type:ControlType.String,title:\"Legal\",displayTextArea:true,defaultValue:LEGAL_DEFAULT}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MobileMenu\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MobileMenu.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";// ─── Tune these ──────────────────────────────────────────────\nconst COLOR=\"#000000\";// The cover is instant, not a fade. Fading it in produced \"page, fade, page\":\n// because the click is never intercepted, Framer swaps the page in about\n// 150ms, so a 220ms fade-in arrived on top of a new page that had already\n// painted. Going straight to opaque puts the panel up in the same task as the\n// click, before the incoming page can paint, so it reads as a cut to black\n// and then a fade up with no glimpse of the page underneath.\nconst HOLD_MS=280// stay black while the new page mounts\n;const REVEAL_MS=380// fade back up\n;const REVEAL_EASE=\"cubic-bezier(0, 0, 0.2, 1)\"// ease-out\n;// Only this destination is covered. Going the other way, Work back to Home,\n// the fade read badly and was dropped, so the transition is one-directional.\n// Matched on the destination path rather than the current one so it behaves\n// the same in the Framer preview, where the page is served from a framer.com\n// project URL and location.pathname is never \"/\" — the link still resolves to\n// something ending in /work there.\nconst COVER_DESTINATION=/\\/work\\/?$/;// ─────────────────────────────────────────────────────────────\n/**\n * Page Transition — Home to Work only\n *\n * Deliberately passive: it never calls preventDefault, never re-dispatches a\n * click, and never navigates. It notices a click that is about to leave the\n * page, lays a black panel over the viewport, and takes it away again. Framer\n * does the routing exactly as it would without this override.\n *\n * That restraint is the whole design, and it is the second attempt. The first\n * intercepted the click, suppressed it, re-fired it once the cover was down,\n * watched location.pathname for the route change, and hard-navigated if that\n * did not happen within 1200ms. On the published site that worked. In the\n * Framer preview it produced a 404: the preview serves the site from a\n * framer.com project URL, so a relative \"./work\" resolves to /projects/work,\n * and preview routing never changes location.pathname — so the watchdog always\n * timed out and sent the browser to a URL that does not exist.\n *\n * Nothing here can do that. With no interception there is no fallback to get\n * wrong, no synthetic click to mis-target, and no dependency on how any\n * particular environment represents a route. The cost is that the cover\n * overlaps the route change rather than preceding it, which is a little less\n * crisp than a true out-then-in transition, and worth it.\n *\n * The panel is also created per transition and removed afterwards, so at rest\n * there is no overlay in the document. An earlier version kept one permanently\n * at opacity 0, which showed as a black fade across the whole site whenever it\n * was left part-way.\n */let curtain=null;let installed=false;let busy=false;let timers=[];function clearTimers(){for(const t of timers)clearTimeout(t);timers=[];}function destroyCurtain(){clearTimers();busy=false;if(curtain&&curtain.isConnected)curtain.remove();curtain=null;}function makeCurtain(){if(typeof document===\"undefined\"||!document.body)return null;destroyCurtain();const node=document.createElement(\"div\");node.setAttribute(\"data-ecs-page-transition\",\"\");node.setAttribute(\"aria-hidden\",\"true\");node.style.cssText=[\"position:fixed\",\"inset:0\",`background:${COLOR}`,// Opaque from the moment it is inserted — see the note on HOLD_MS.\n\"opacity:1\",// Never intercepts input, so it cannot swallow a click mid-transition.\n\"pointer-events:none\",\"z-index:2147483000\",\"will-change:opacity\",\"transition:none\"].join(\";\");document.body.appendChild(node);curtain=node;return node;}/**\n * Should this click be covered? Purely cosmetic — a wrong answer means a\n * missing or a needless fade, never a broken link.\n */function shouldCover(event,anchor){if(event.defaultPrevented)return false;if(event.button!==0)return false;if(event.metaKey||event.ctrlKey||event.shiftKey||event.altKey)return false;if(anchor.target&&anchor.target!==\"_self\")return false;if(anchor.hasAttribute(\"download\"))return false;const href=anchor.getAttribute(\"href\");if(!href||href.startsWith(\"#\"))return false;let url;try{url=new URL(anchor.href,window.location.href);}catch{return false;}if(url.origin!==window.location.origin)return false;if(url.pathname===window.location.pathname)return false;if(!COVER_DESTINATION.test(url.pathname))return false;return true;}function cover(){const node=makeCurtain();if(!node)return;busy=true;timers.push(setTimeout(()=>{if(!curtain)return;curtain.style.transition=`opacity ${REVEAL_MS}ms ${REVEAL_EASE}`;// Force a frame so the fade runs from 1 rather than jumping to 0.\nvoid curtain.offsetWidth;curtain.style.opacity=\"0\";timers.push(setTimeout(destroyCurtain,REVEAL_MS+120));},HOLD_MS));}function onClick(event){const target=event.target;const anchor=target?.closest?.(\"a[href]\");if(!anchor)return;if(busy)return;if(!shouldCover(event,anchor))return;// No preventDefault: the click continues to Framer untouched.\ncover();}function install(){if(installed||typeof document===\"undefined\")return;installed=true;document.addEventListener(\"click\",onClick,true);// Back/forward and restored tabs can arrive mid-transition.\nwindow.addEventListener(\"pageshow\",destroyCurtain);window.addEventListener(\"popstate\",destroyCurtain);}/**\n * Attach to any layer that renders on every page — the header is the obvious\n * one. It renders nothing of its own and installing twice is a no-op, so it is\n * safe on more than one page.\n */export function withPageTransition(Component){return props=>{useEffect(()=>{install();},[]);return /*#__PURE__*/_jsx(Component,{...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withPageTransition\":{\"type\":\"reactHoc\",\"name\":\"withPageTransition\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PageTransition.map"],"mappings":"2NAOuf,SAAS,EAAM,CAAC,OAAK,SAAO,UAAQ,CAAC,IAAM,EAAK,EAAK,EAAE,OAAoB,EAAM,MAAM,CAAC,MAAM,EAAK,OAAO,EAAK,QAAQ,OAAO,EAAK,IAAI,EAAK,KAAK,OAAO,cAAc,OAAO,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,IAAI,EAAK,OAAO,EAAY,SAAO,YAAY,CAAM,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,MAAM,EAAK,KAAK,EAAY,SAAO,YAAY,CAAM,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,SAAwB,EAAW,EAAM,CAAC,GAAK,CAAC,UAAQ,GAAG,WAAS,eAAe,UAAQ,YAAY,QAAM,EAAc,SAAO,EAAW,CAAC,EAAK,GAASA,EAAS,EAAK,EAAQ,EAASC,EAAO,IAAI,EAChiC,MAAc,CAAC,GAAG,CAAC,EAAK,OAAO,IAAM,EAAS,SAAS,KAAK,MAAM,SAAS,SAAS,KAAK,MAAM,SAAS,SAAS,IAAM,EAAM,GAAO,CAAI,EAAM,MAAM,UAAS,EAAQ,EAAK,CAAE,EAAE,EAAO,iBAAiB,UAAU,CAAK,EAAE,IAAM,EAAM,EAAS,QAA+B,OAApB,GAAM,EAAM,MAAM,MAAY,CAAC,SAAS,KAAK,MAAM,SAAS,EAAS,EAAO,oBAAoB,UAAU,CAAK,CAAE,CAAE,EAAE,CAAC,CAAI,CAAC,EAAE,IAAM,EAAQ,CAAC,MAAM,GAAG,OAAO,GAAG,QAAQ,OAAO,WAAW,SAAS,eAAe,WAAW,WAAW,cAAc,OAAO,OAAO,QAAQ,EAAE,OAAO,UAAU,MAAM,SAAS,EAAQ,EAAQ,CAAC,SAAS,QAAQ,MAAM,EAAE,OAAO,KAAK,WAAW,EAAQ,QAAQ,GAAG,QAAQ,OAAO,cAAc,SAAS,WAAW,UAAU,UAAU,OAAO,UAAU,uDAAiC,EAAQ,GAAM,EAAK,EAAS,KAAS,CAAC,WAAW,yBAAyB,WAAW,IAAI,SAAS,EAAK,cAAc,EAAS,WAAW,IAAO,GAAG,OAAO,OAAO,QAAM,cAAc,YAAY,OAAO,CAAC,GAAG,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAM,QAAQ,OAAO,eAAe,UAAU,EAAE,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS,wSAAiT,CAAC,EAAe,EAAK,SAAS,CAAC,KAAK,SAAS,aAAa,YAAY,gBAAgB,EAAK,MAAM,EAAQ,YAAY,EAAQ,EAAI,EAAE,SAAsB,EAAM,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,QAAQ,YAAY,KAAK,OAAO,cAAc,OAAO,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,WAAW,OAAO,eAAe,YAAY,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,YAAY,OAAO,eAAe,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAM,OAAO,SAAW,IAAyB,EAA0B,EAAM,MAAM,CAAC,gBAAgB,GAAK,IAAI,EAAS,SAAS,GAAG,KAAK,SAAS,aAAa,OAAO,aAAa,YAAY,MAAM,EAAQ,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,GAAG,OAAO,EAAE,EAAE,SAAS,CAAc,EAAK,EAAM,CAAC,KAAK,GAAG,OAAO,EAAK,OAAO,IAAI,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,EAAK,GAAG,IAAI,CAAI,EAAE,SAAS,WAAW,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAe,EAAK,SAAS,CAAC,KAAK,SAAS,aAAa,aAAa,YAAY,EAAQ,EAAK,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,QAAQ,OAAO,WAAW,SAAS,eAAe,WAAW,WAAW,cAAc,OAAO,OAAO,QAAQ,EAAE,OAAO,SAAS,EAAE,SAAsB,EAAM,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,QAAQ,YAAY,KAAK,OAAO,cAAc,OAAO,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,cAAc,OAAO,UAAU,YAAY,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,cAAc,OAAO,UAAU,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,GAAG,WAAW,GAAG,cAAc,EAAE,EAAE,SAAS,CAAc,EAAK,EAAM,CAAC,KAAK,GAAG,OAAO,EAAK,OAAO,IAAI,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,EAAK,GAAG,IAAI,CAAK,EAAE,SAAS,kBAAkB,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,yEAA2E,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,QAAQ,EAAE,SAAS,EAAI,KAAK,EAAK,IAAQ,CAAC,IAAM,EAAU,GAAS,EAAK,MAAM,YAAY,IAAI,EAAQ,YAAY,EAAE,OAAoB,EAAK,IAAI,CAAC,KAAK,EAAK,KAAK,qBAAqB,GAAK,eAAe,EAAU,OAAO,IAAA,GAAU,YAAY,EAAQ,EAAK,EAAE,MAAM,CAAC,QAAQ,QAAQ,WAAW,GAAG,cAAc,GAAG,aAAa,oBAAmB,eAAe,OAAO,UAAU,4DAAsC,IAAI,EAAM,IAAI,IAAI,EAAE,SAAsB,EAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,WAAW,IAAI,EAAE,EAAE,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,EAAK,GAAG,IAAI,CAAK,EAAE,SAAS,OAAO,EAAM,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,CAAC,WAAW,6CAA6C,WAAW,IAAI,SAAS,GAAG,WAAW,OAAO,cAAc,IAAI,MAAM,EAAU,EAAM,UAAU,cAAc,WAAW,EAAE,SAAS,EAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAK,MAAM,CAAK,CAAE,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,EAAe,EAAK,IAAI,CAAC,KAAK,EAAQ,YAAY,EAAQ,EAAK,EAAE,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,OAAO,GAAG,aAAa,GAAG,WAAW,EAAI,eAAe,OAAO,WAAW,yBAAyB,WAAW,IAAI,SAAS,GAAG,cAAc,EAAE,WAAW,OAAO,MAAM,SAAS,EAAE,SAAS,CAAQ,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,WAAW,GAAG,SAAS,MAAM,EAAE,SAAS,EAAQ,KAAK,EAAO,IAAqB,EAAK,IAAI,CAAC,KAAK,EAAO,KAAK,MAAM,CAAC,GAAG,EAAK,GAAG,IAAI,SAAS,EAAE,eAAe,MAAM,EAAE,SAAS,EAAO,KAAK,EAAE,EAAO,MAAM,CAAK,CAAC,CAAC,CAAC,EAAe,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAK,GAAG,IAAI,CAAK,EAAE,QAAQ,GAAG,WAAW,EAAE,cAAc,MAAM,EAAE,SAAS,CAAK,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,uCARjyJ,IAA6C,IAClE,IAAoD,EAIjF,EAAK,UAAgB,EAAM,UAAgB,EAAI,UAAgB,EAAM,UAAgB,EAAM,UAAgB,EAAQ,UAEnH,EAAI,CAAC,CAAC,MAAM,WAAW,KAAK,YAAY,EAAE,CAAC,MAAM,OAAO,KAAK,OAAO,EAAE,CAAC,MAAM,QAAQ,KAAK,QAAQ,EAAE,CAAC,MAAM,OAAO,KAAK,OAAO,CAAC,EAAQ,EAAQ,CAAC,CAAC,MAAM,YAAY,KAAK,yCAAyC,EAAE,CAAC,MAAM,UAAU,KAAK,uCAAuC,EAAE,CAAC,MAAM,WAAW,KAAK,oDAAoD,EAAE,CAAC,MAAM,QAAQ,KAAK,8BAA8B,CAAC,EAAQ,EAAc,sEAC46I,EAAW,YAAY,cAAc,EAAoB,EAAW,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,EAAE,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,cAAc,EAAE,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,UAAU,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,gBAAgB,GAAK,aAAa,CAAa,CAAC,CAAC,KCoCtnK,SAAS,GAAa,CAAC,IAAI,IAAM,KAAK,EAAO,aAAa,CAAC,EAAE,EAAO,CAAC,CAAE,CAAC,SAAS,GAAgB,CAAC,EAAY,EAAE,EAAK,GAAS,GAAS,EAAQ,aAAY,EAAQ,OAAO,EAAE,EAAQ,IAAK,CAAC,SAAS,GAAa,CAAC,GAAG,OAAO,SAAW,KAAa,CAAC,SAAS,KAAK,OAAO,KAAK,EAAe,EAAE,IAAM,EAAK,SAAS,cAAc,KAAK,EAEhQ,OAFkQ,EAAK,aAAa,2BAA2B,EAAE,EAAE,EAAK,aAAa,cAAc,MAAM,EAAE,EAAK,MAAM,QAAQ,CAAC,iBAAiB,UAAU,cAAc,IACniB,YACA,sBAAsB,qBAAqB,sBAAsB,iBAAiB,CAAC,CAAC,KAAK,GAAG,EAAE,SAAS,KAAK,YAAY,CAAI,EAAE,EAAQ,EAAY,CAAK,CAGpJ,SAAS,EAAY,EAAM,EAAO,CAA2M,GAAvM,EAAM,kBAAiC,EAAM,SAAS,GAAkB,EAAM,SAAS,EAAM,SAAS,EAAM,UAAU,EAAM,QAAuB,EAAO,QAAQ,EAAO,SAAS,SAAwB,EAAO,aAAa,UAAU,EAAE,MAAO,GAAM,IAAM,EAAK,EAAO,aAAa,MAAM,EAAE,GAAG,CAAC,GAAM,EAAK,WAAW,GAAG,EAAE,MAAO,GAAM,IAAI,EAAI,GAAG,CAAC,EAAI,IAAI,IAAI,EAAO,KAAK,EAAO,SAAS,IAAI,CAAE,MAAM,CAAC,MAAO,EAAM,CAAmK,MAAtD,EAAzG,EAAI,SAAS,EAAO,SAAS,QAAuB,EAAI,WAAW,EAAO,SAAS,UAAyB,CAAC,EAAkB,KAAK,EAAI,QAAQ,EAA2B,CAAC,SAAS,GAAO,CAAY,EAAqB,IAAS,EAAK,GAAK,EAAO,KAAK,eAAe,CAAK,IAAe,EAAQ,MAAM,WAAW,WAAW,EAAU,KAAK,IACvxB,EAAa,YAAY,EAAQ,MAAM,QAAQ,IAAI,EAAO,KAAK,WAAW,EAAe,GAAa,CAAC,EAAE,EAAE,CAAO,CAAC,EAAE,CAAC,SAAS,EAAQ,EAAM,CAA2B,IAAM,EAAnB,EAAM,QAA4B,UAAU,SAAS,EAAM,IAAiB,GAAgB,EAAY,EAAM,CAAM,GAC/Q,EAAM,EAAE,CAAC,SAAS,GAAS,CAAI,GAAW,OAAO,SAAW,MAAmB,EAAU,GAAK,SAAS,iBAAiB,QAAQ,EAAQ,EAAI,EAC5I,EAAO,iBAAiB,WAAW,CAAc,EAAE,EAAO,iBAAiB,WAAW,CAAc,EAAE,CAInG,SAAgB,EAAmB,EAAU,CAAC,MAAO,KAAQ,MAAc,CAAC,EAAQ,CAAE,EAAE,CAAC,CAAC,EAAsB,EAAK,EAAU,CAAC,GAAG,CAAK,CAAC,EAAI,uCAxDtG,IAA6B,EACjE,EAAM,UAMN,EAAQ,IACP,EAAU,IACV,EAAY,6BAOb,EAAkB,aA4BjB,EAAQ,KAAS,EAAU,GAAU,EAAK,GAAU,EAAO,CAAC"}