{"version":3,"file":"MultiStepFormController.DFj49HM6.mjs","names":["React.useRef"],"sources":["https:/framerusercontent.com/modules/hF0h7CqRwn64Hmyyp3C4/6AQ2Vj3jnGH5hSunghUD/MultiStepFormController.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function MultiStepFormController({Form,initialStep,lastStep,step1Name,step2Name,nextName,prevName,submitName,nextLabel,prevLabel,submitLabel,debug,phoneFieldName=\"Telefone\",cnpjFieldName=\"CNPJ\",currencyFieldName=\"Investimento\",currencySubmitMode=\"cents\"}){const rootRef=React.useRef(null);const stepRef=React.useRef(initialStep||1);const requiredMapRef=React.useRef(new WeakMap);// refs e guards de máscara\nconst phoneMaskedSet=React.useRef(new WeakSet);const cnpjMaskedSet=React.useRef(new WeakSet);const moneyMaskedSet=React.useRef(new WeakSet);const phoneInputRef=React.useRef(null);const cnpjInputRef=React.useRef(null);const moneyInputRef=React.useRef(null);React.useEffect(()=>{const root=rootRef.current;if(!root)return;const log=(...a)=>debug&&console.log(\"[MultiStep]\",...a);let formEl=root.querySelector(\"form\");const norm=s=>(s||\"\").normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g,\"\").toLowerCase().replace(/\\s+/g,\" \").trim();const eq=(a,b)=>norm(a)===norm(b);const getName=el=>(el?.getAttribute(\"data-framer-name\")||\"\").toString();const textOf=el=>el?el.innerText||el.textContent||\"\":\"\";const findGroupByName=(scope,name)=>{const want=norm(name);const all=scope.querySelectorAll(\"[data-framer-name]\");for(const el of Array.from(all)){if(eq(el.getAttribute(\"data-framer-name\"),want))return el;}return null;};const allInputs=scope=>scope.querySelectorAll(\"input, select, textarea\");const snapshotRequired=scope=>{allInputs(scope).forEach(el=>{if(!requiredMapRef.current.has(el)){requiredMapRef.current.set(el,!!el.required);}});};const disableAllRequired=scope=>{allInputs(scope).forEach(el=>el.required=false);};const setRequiredForGroup=(group,active)=>{const inputs=group.querySelectorAll(\"input, select, textarea\");inputs.forEach(el=>{const wasRequired=requiredMapRef.current.get(el)??!!el.required;el.required=active?wasRequired:false;});};const groupValid=group=>{const inputs=group.querySelectorAll(\"input, select, textarea\");for(const el of Array.from(inputs)){if(!el.required)continue;if(!el.checkValidity()){el.reportValidity?.();return false;}}return true;};const findNativeSubmit=scope=>scope.querySelector('button[type=\"submit\"], input[type=\"submit\"]');const clamp=n=>Math.max(1,Math.min(lastStep||2,n));let step1El=null;let step2El=null;const updateDetection=()=>{if(!formEl)return;step1El=findGroupByName(formEl,step1Name);step2El=findGroupByName(formEl,step2Name);log(\"detect:\",{form:!!formEl,step1:!!step1El,step2:!!step2El});attachPhoneMask();attachCNPJMask();attachMoneyMask();};const updateUI=()=>{if(!formEl||!step1El||!step2El)return;snapshotRequired(formEl);disableAllRequired(formEl);const cur=clamp(stepRef.current);step1El.style.display=cur===1?\"\":\"none\";step2El.style.display=cur===2?\"\":\"none\";setRequiredForGroup(step1El,cur===1);setRequiredForGroup(step2El,cur===2);log(\"UI step:\",cur);};const goTo=n=>{stepRef.current=clamp(n);updateUI();};const matchActions=node=>{if(!node)return{next:false,prev:false,submit:false};const name=getName(node);const label=textOf(node);const isNext=!!nextName&&eq(name,nextName)||!!nextLabel&&eq(label,nextLabel);const isPrev=!!prevName&&eq(name,prevName)||!!prevLabel&&eq(label,prevLabel);const isSubmit=!!submitName&&eq(name,submitName)||!!submitLabel&&eq(label,submitLabel);return{next:isNext,prev:isPrev,submit:isSubmit};};// ===== utilidades comuns =====\nconst digitsOnly=s=>(s||\"\").replace(/\\D+/g,\"\");// ===== TELEFONE =====\nconst formatBRPhone=d=>{const x=d.slice(0,11);const len=x.length;if(len===0)return\"\";if(len<=2)return`(${x}`;if(len<=6)return`(${x.slice(0,2)}) ${x.slice(2)}`;if(len<=10)return`(${x.slice(0,2)}) ${x.slice(2,6)}-${x.slice(6)}`;return`(${x.slice(0,2)}) ${x.slice(2,7)}-${x.slice(7)}`;};const setValidityForPhone=input=>{const d=digitsOnly(input.value);if(d.length===0&&!input.required)return input.setCustomValidity(\"\");if(d.length===10||d.length===11)input.setCustomValidity(\"\");else input.setCustomValidity(\"Informe um telefone com DDD (10 ou 11 d\\xedgitos).\");};const handlePhoneInput=e=>{const input=e.target;const d=digitsOnly(input.value);input.value=formatBRPhone(d);input.setAttribute(\"inputmode\",\"numeric\");input.setAttribute(\"autocomplete\",\"tel\");setValidityForPhone(input);};const handlePhoneKeyDown=e=>{const allowed=e.key.length===1?/[0-9]/.test(e.key):[\"Backspace\",\"Delete\",\"ArrowLeft\",\"ArrowRight\",\"Tab\",\"Home\",\"End\"].includes(e.key);if(!allowed)e.preventDefault();};const handlePhonePaste=e=>{const input=e.target;e.preventDefault();const d=digitsOnly(e.clipboardData?.getData(\"text\")||\"\").slice(0,11);input.value=formatBRPhone(d);setValidityForPhone(input);};const attachPhoneMask=()=>{if(!formEl)return;const candidates=Array.from(formEl.querySelectorAll(\"input[name], input[placeholder], input[aria-label]\"));const target=candidates.find(el=>{const n1=el.getAttribute(\"name\");const n2=el.getAttribute(\"placeholder\");const n3=el.getAttribute(\"aria-label\");return eq(n1,phoneFieldName)||eq(n2,phoneFieldName)||eq(n3,phoneFieldName);});if(!target||phoneMaskedSet.current.has(target))return;target.setAttribute(\"inputmode\",\"numeric\");target.setAttribute(\"autocomplete\",\"tel\");target.maxLength=16;target.addEventListener(\"input\",handlePhoneInput);target.addEventListener(\"keydown\",handlePhoneKeyDown);target.addEventListener(\"paste\",handlePhonePaste);target.addEventListener(\"blur\",()=>setValidityForPhone(target));target.value=formatBRPhone(digitsOnly(target.value));setValidityForPhone(target);phoneMaskedSet.current.add(target);phoneInputRef.current=target;log(\"mask: phone attached\");};// ===== CNPJ =====\nconst formatCNPJ=d=>{const x=d.slice(0,14);const len=x.length;if(len<=2)return x;if(len<=5)return`${x.slice(0,2)}.${x.slice(2)}`;if(len<=8)return`${x.slice(0,2)}.${x.slice(2,5)}.${x.slice(5)}`;if(len<=12)return`${x.slice(0,2)}.${x.slice(2,5)}.${x.slice(5,8)}/${x.slice(8)}`;return`${x.slice(0,2)}.${x.slice(2,5)}.${x.slice(5,8)}/${x.slice(8,12)}-${x.slice(12)}`;};const isValidCNPJ=raw=>{const c=digitsOnly(raw);if(c.length!==14)return false;if(/^(\\d)\\1{13}$/.test(c))return false// todos iguais\n;const calc=(base,factors)=>base.split(\"\").reduce((sum,n,i)=>sum+parseInt(n,10)*factors[i],0);const b12=c.slice(0,12);const d1=calc(b12,[5,4,3,2,9,8,7,6,5,4,3,2]);const v1=d1%11<2?0:11-d1%11;const b13=c.slice(0,13);const d2=calc(b13,[6,5,4,3,2,9,8,7,6,5,4,3,2]);const v2=d2%11<2?0:11-d2%11;return c[12]===String(v1)&&c[13]===String(v2);};const setValidityForCNPJ=input=>{const d=digitsOnly(input.value);if(d.length===0&&!input.required)return input.setCustomValidity(\"\");if(isValidCNPJ(d))input.setCustomValidity(\"\");else input.setCustomValidity(\"CNPJ inv\\xe1lido. Ex.: 12.345.678/0001-90\");};const handleCNPJInput=e=>{const input=e.target;const d=digitsOnly(input.value);input.value=formatCNPJ(d);input.setAttribute(\"inputmode\",\"numeric\");input.setAttribute(\"autocomplete\",\"off\");setValidityForCNPJ(input);};const handleCNPJKeyDown=e=>{const allowed=e.key.length===1?/[0-9]/.test(e.key):[\"Backspace\",\"Delete\",\"ArrowLeft\",\"ArrowRight\",\"Tab\",\"Home\",\"End\"].includes(e.key);if(!allowed)e.preventDefault();};const handleCNPJPaste=e=>{const input=e.target;e.preventDefault();const d=digitsOnly(e.clipboardData?.getData(\"text\")||\"\").slice(0,14);input.value=formatCNPJ(d);setValidityForCNPJ(input);};const attachCNPJMask=()=>{if(!formEl)return;const candidates=Array.from(formEl.querySelectorAll(\"input[name], input[placeholder], input[aria-label]\"));const target=candidates.find(el=>{const n1=el.getAttribute(\"name\");const n2=el.getAttribute(\"placeholder\");const n3=el.getAttribute(\"aria-label\");return eq(n1,cnpjFieldName)||eq(n2,cnpjFieldName)||eq(n3,cnpjFieldName);});if(!target||cnpjMaskedSet.current.has(target))return;target.setAttribute(\"inputmode\",\"numeric\");target.maxLength=18// 00.000.000/0000-00\n;target.addEventListener(\"input\",handleCNPJInput);target.addEventListener(\"keydown\",handleCNPJKeyDown);target.addEventListener(\"paste\",handleCNPJPaste);target.addEventListener(\"blur\",()=>setValidityForCNPJ(target));target.value=formatCNPJ(digitsOnly(target.value));setValidityForCNPJ(target);cnpjMaskedSet.current.add(target);cnpjInputRef.current=target;log(\"mask: cnpj attached\");};// ===== MOEDA (BRL) =====\nconst formatBRL=digits=>{// digits = centavos (sem sinal)\nconst clean=digits.replace(/\\D/g,\"\").slice(0,15)// cap pra não estourar\n;const value=Number(clean||\"0\")/100;try{return new Intl.NumberFormat(\"pt-BR\",{style:\"currency\",currency:\"BRL\"}).format(value);}catch{// Fallback simples\nconst int=Math.floor(value).toString();const dec=Math.round(value%1*100).toString().padStart(2,\"0\");return`R$ ${int.replace(/\\B(?=(\\d{3})+(?!\\d))/g,\".\")},${dec}`;}};const extractDigitsFromBRL=s=>digitsOnly(s)// deixa só os números (centavos)\n;const setValidityForMoney=input=>{const d=extractDigitsFromBRL(input.value);if(d.length===0&&!input.required)return input.setCustomValidity(\"\");if(d.length>0)input.setCustomValidity(\"\");else input.setCustomValidity(\"Informe um valor (R$).\");};const handleMoneyInput=e=>{const input=e.target;const d=extractDigitsFromBRL(input.value);input.value=formatBRL(d);input.setAttribute(\"inputmode\",\"numeric\");input.setAttribute(\"autocomplete\",\"off\");setValidityForMoney(input);};const handleMoneyKeyDown=e=>{const allowed=e.key.length===1?/[0-9]/.test(e.key):[\"Backspace\",\"Delete\",\"ArrowLeft\",\"ArrowRight\",\"Tab\",\"Home\",\"End\"].includes(e.key);if(!allowed)e.preventDefault();};const handleMoneyPaste=e=>{const input=e.target;e.preventDefault();const d=extractDigitsFromBRL(e.clipboardData?.getData(\"text\")||\"\");input.value=formatBRL(d);setValidityForMoney(input);};const attachMoneyMask=()=>{if(!formEl)return;const candidates=Array.from(formEl.querySelectorAll(\"input[name], input[placeholder], input[aria-label]\"));const target=candidates.find(el=>{const n1=el.getAttribute(\"name\");const n2=el.getAttribute(\"placeholder\");const n3=el.getAttribute(\"aria-label\");return eq(n1,currencyFieldName)||eq(n2,currencyFieldName)||eq(n3,currencyFieldName);});if(!target||moneyMaskedSet.current.has(target))return;// Para exibir \"R$ ...\" precisamos de type=\"text\"\ntry{if(target.type===\"number\")target.type=\"text\";}catch{}target.setAttribute(\"inputmode\",\"numeric\");target.maxLength=24// suficiente para R$ com milhares\n;target.addEventListener(\"input\",handleMoneyInput);target.addEventListener(\"keydown\",handleMoneyKeyDown);target.addEventListener(\"paste\",handleMoneyPaste);target.addEventListener(\"blur\",()=>setValidityForMoney(target));// inicia formatando se já tiver valor\nconst d=extractDigitsFromBRL(target.value);target.value=formatBRL(d);setValidityForMoney(target);moneyMaskedSet.current.add(target);moneyInputRef.current=target;log(\"mask: money attached\");};// ===== submit helpers =====\nconst triggerNativeSubmit=()=>{if(!formEl)return;const native=findNativeSubmit(formEl);if(native&&typeof native.click===\"function\"){native.click();log(\"submit via native click()\");return;}if(typeof formEl.requestSubmit===\"function\"){formEl.requestSubmit();log(\"submit via requestSubmit()\");return;}const tmp=document.createElement(\"button\");tmp.type=\"submit\";tmp.style.display=\"none\";formEl.appendChild(tmp);tmp.click();formEl.removeChild(tmp);log(\"submit via hidden <button type=submit>\");};const sanitizeBeforeSubmit=(e,fromLink=false)=>{// TELEFONE → só dígitos e valida\nif(phoneInputRef.current){const d=digitsOnly(phoneInputRef.current.value);if(d.length===10||d.length===11){phoneInputRef.current.value=d;}else if(phoneInputRef.current.required||d.length>0){e.preventDefault();e.stopPropagation();phoneInputRef.current.reportValidity();log(\"submit bloqueado: telefone inv\\xe1lido\");return false;}}// CNPJ → 14 dígitos válidos\nif(cnpjInputRef.current){const d=digitsOnly(cnpjInputRef.current.value);if(isValidCNPJ(d)){cnpjInputRef.current.value=d;}else if(cnpjInputRef.current.required||d.length>0){e.preventDefault();e.stopPropagation();cnpjInputRef.current.reportValidity();log(\"submit bloqueado: cnpj inv\\xe1lido\");return false;}}// MONEY → envia como cents (123456) ou decimal (1234.56)\nif(moneyInputRef.current){const d=extractDigitsFromBRL(moneyInputRef.current.value);if(d.length>0){if(currencySubmitMode===\"cents\"){moneyInputRef.current.value=d;}else{const dec=(Number(d)/100).toFixed(2);moneyInputRef.current.value=dec// 1234.56\n;}}else if(moneyInputRef.current.required){e.preventDefault();e.stopPropagation();moneyInputRef.current.reportValidity();log(\"submit bloqueado: valor vazio\");return false;}}return true;};// ===== eventos de clique/links/submit =====\nconst onClickCapture=e=>{const t=e.target;if(!t)return;let node=t;while(node&&node!==root&&node!==formEl){const m=matchActions(node);if(m.next){e.preventDefault();e.stopPropagation();if(!formEl||!step1El||!step2El)return;const cur=clamp(stepRef.current);const currentGroup=cur===1?step1El:step2El;if(!groupValid(currentGroup)){log(\"invalid on step\",cur);return;}goTo(cur+1);return;}if(m.prev){e.preventDefault();e.stopPropagation();goTo(stepRef.current-1);return;}if(m.submit){if(stepRef.current!==(lastStep||2)){e.preventDefault();e.stopPropagation();return;}// Sanitiza campos\nconst ok=sanitizeBeforeSubmit(e);if(!ok)return;e.preventDefault();e.stopPropagation();triggerNativeSubmit();return;}node=node.parentElement;}};const onBlockLinks=e=>{if(!formEl)return;const t=e.target;if(!t)return;const link=t.closest?.(\"a[href], [data-framer-link]\");if(!link)return;const m=matchActions(t);if(m.submit&&stepRef.current===(lastStep||2)){const ok=sanitizeBeforeSubmit(e,true);if(!ok)return;e.preventDefault();e.stopPropagation();triggerNativeSubmit();log(\"submit via link (convertido)\");return;}e.preventDefault();e.stopPropagation();log(\"link bloqueado dentro do form\");};const onFormSubmit=e=>{if(stepRef.current!==(lastStep||2)){e.preventDefault();e.stopPropagation();log(\"submit bloqueado (n\\xe3o est\\xe1 no \\xfaltimo step)\");}else{const ok=sanitizeBeforeSubmit(e);if(!ok)return;log(\"submit permitido (\\xfaltimo step)\");}};const onKeyDown=e=>{if(e.key!==\"Enter\")return;if(stepRef.current===(lastStep||2))return;const tag=e.target?.tagName?.toLowerCase();if(tag!==\"textarea\"){e.preventDefault();e.stopPropagation();log(\"enter bloqueado\");}};const mo=new MutationObserver(()=>{if(!formEl){formEl=root.querySelector(\"form\");if(formEl){formEl.addEventListener(\"click\",onBlockLinks,true);formEl.addEventListener(\"submit\",onFormSubmit);formEl.addEventListener(\"keydown\",onKeyDown);}}updateDetection();updateUI();});mo.observe(root,{childList:true,subtree:true});root.addEventListener(\"click\",onClickCapture,true);if(formEl){formEl.addEventListener(\"click\",onBlockLinks,true);formEl.addEventListener(\"submit\",onFormSubmit);formEl.addEventListener(\"keydown\",onKeyDown);}updateDetection();stepRef.current=initialStep||1;updateUI();return()=>{mo.disconnect();root.removeEventListener(\"click\",onClickCapture,true);if(formEl){formEl.removeEventListener(\"click\",onBlockLinks,true);formEl.removeEventListener(\"submit\",onFormSubmit);formEl.removeEventListener(\"keydown\",onKeyDown);}};},[initialStep,lastStep,step1Name,step2Name,nextName,prevName,submitName,nextLabel,prevLabel,submitLabel,debug,phoneFieldName,cnpjFieldName,currencyFieldName,currencySubmitMode]);return /*#__PURE__*/_jsx(\"div\",{ref:rootRef,style:{width:\"100%\",height:\"auto\"},children:Form});}addPropertyControls(MultiStepFormController,{Form:{type:ControlType.ComponentInstance,title:\"Form\"},initialStep:{type:ControlType.Number,title:\"Initial Step\",defaultValue:1,min:1,step:1},lastStep:{type:ControlType.Number,title:\"Last Step\",defaultValue:2,min:2,step:1},step1Name:{type:ControlType.String,title:\"Step 1 Layer\",defaultValue:\"Step 1\"},step2Name:{type:ControlType.String,title:\"Step 2 Layer\",defaultValue:\"Step 2\"},nextName:{type:ControlType.String,title:\"Next (Layer Name)\",defaultValue:\"\"},prevName:{type:ControlType.String,title:\"Prev (Layer Name)\",defaultValue:\"\"},submitName:{type:ControlType.String,title:\"Submit (Layer Name)\",defaultValue:\"\"},nextLabel:{type:ControlType.String,title:\"Next (Text)\",defaultValue:\"Pr\\xf3ximo\"},prevLabel:{type:ControlType.String,title:\"Prev (Text)\",defaultValue:\"Voltar\"},submitLabel:{type:ControlType.String,title:\"Submit (Text)\",defaultValue:\"Enviar\"},debug:{type:ControlType.Boolean,title:\"Debug logs\",defaultValue:false},phoneFieldName:{type:ControlType.String,title:\"Phone field name\",defaultValue:\"Telefone\"},cnpjFieldName:{type:ControlType.String,title:\"CNPJ field name\",defaultValue:\"CNPJ\"},currencyFieldName:{type:ControlType.String,title:\"Currency field name\",defaultValue:\"Investimento\"},currencySubmitMode:{type:ControlType.Enum,title:\"Currency submit\",options:[\"cents\",\"decimal\"],optionTitles:[\"Somente d\\xedgitos (centavos)\",\"Decimal (ex.: 1234.56)\"],defaultValue:\"cents\"}});MultiStepFormController.defaultProps={width:8,height:8};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MultiStepFormController\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MultiStepFormController.map"],"mappings":"iLAA2H,SAAwB,EAAwB,CAAC,OAAK,cAAY,WAAS,YAAU,YAAU,WAAS,WAAS,aAAW,YAAU,YAAU,cAAY,QAAM,iBAAe,WAAW,gBAAc,OAAO,oBAAkB,eAAe,qBAAmB,SAAS,CAAC,IAAM,GAAQA,EAAa,KAAK,CAAO,EAAQA,EAAa,GAAa,EAAE,CAAO,EAAeA,EAAa,IAAI,QAAQ,CAC9f,EAAeA,EAAa,IAAI,QAAQ,CAAO,EAAcA,EAAa,IAAI,QAAQ,CAAO,EAAeA,EAAa,IAAI,QAAQ,CAAO,EAAcA,EAAa,KAAK,CAAO,EAAaA,EAAa,KAAK,CAAO,EAAcA,EAAa,KAAK,CAoBqxD,OApBpxD,MAAoB,CAAC,IAAM,EAAK,GAAQ,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAM,GAAK,GAAG,IAAI,GAAO,QAAQ,IAAI,cAAc,GAAG,EAAE,CAAK,EAAO,EAAK,cAAc,OAAO,CAAO,EAAK,IAAI,GAAG,IAAI,UAAU,MAAM,CAAC,QAAQ,mBAAmB,GAAG,CAAC,aAAa,CAAC,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAO,GAAI,EAAE,IAAI,EAAK,EAAE,GAAG,EAAK,EAAE,CAAO,GAAQ,IAAK,GAAI,aAAa,mBAAmB,EAAE,IAAI,UAAU,CAAO,GAAO,GAAI,IAAG,EAAG,WAAW,EAAG,cAAgB,GAAS,GAAiB,EAAM,IAAO,CAAC,IAAM,EAAK,EAAK,EAAK,CAAO,EAAI,EAAM,iBAAiB,qBAAqB,CAAC,IAAI,IAAM,KAAM,MAAM,KAAK,EAAI,CAAE,GAAG,EAAG,EAAG,aAAa,mBAAmB,CAAC,EAAK,CAAC,OAAO,EAAI,OAAO,MAAa,EAAU,GAAO,EAAM,iBAAiB,0BAA0B,CAAO,GAAiB,GAAO,CAAC,EAAU,EAAM,CAAC,QAAQ,GAAI,CAAK,EAAe,QAAQ,IAAI,EAAG,EAAE,EAAe,QAAQ,IAAI,EAAG,CAAC,CAAC,EAAG,SAAS,EAAI,EAAS,GAAmB,GAAO,CAAC,EAAU,EAAM,CAAC,QAAQ,GAAI,EAAG,SAAS,GAAM,EAAS,GAAqB,EAAM,IAAS,CAAc,EAAM,iBAAiB,0BAA0B,CAAQ,QAAQ,GAAI,CAAC,IAAM,EAAY,EAAe,QAAQ,IAAI,EAAG,EAAE,CAAC,CAAC,EAAG,SAAS,EAAG,SAAS,EAAO,EAAY,IAAQ,EAAS,GAAW,GAAO,CAAC,IAAM,EAAO,EAAM,iBAAiB,0BAA0B,CAAC,IAAI,IAAM,KAAM,MAAM,KAAK,EAAO,CAAM,KAAG,UAAqB,CAAC,EAAG,eAAe,CAAwB,OAAtB,EAAG,kBAAkB,CAAQ,GAAQ,MAAO,IAAa,GAAiB,GAAO,EAAM,cAAc,8CAA8C,CAAO,EAAM,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,GAAU,EAAE,EAAE,CAAC,CAAK,EAAQ,KAAS,EAAQ,KAAW,MAAoB,CAAK,IAAc,EAAQ,EAAgB,EAAO,EAAU,CAAC,EAAQ,EAAgB,EAAO,EAAU,CAAC,EAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAO,MAAM,CAAC,CAAC,EAAQ,MAAM,CAAC,CAAC,EAAQ,CAAC,CAAC,IAAiB,CAAC,IAAgB,CAAC,IAAiB,GAAS,MAAa,CAAC,GAAG,CAAC,GAAQ,CAAC,GAAS,CAAC,EAAQ,OAAO,GAAiB,EAAO,CAAC,GAAmB,EAAO,CAAC,IAAM,EAAI,EAAM,EAAQ,QAAQ,CAAC,EAAQ,MAAM,QAAQ,IAAM,EAAE,GAAG,OAAO,EAAQ,MAAM,QAAQ,IAAM,EAAE,GAAG,OAAO,EAAoB,EAAQ,IAAM,EAAE,CAAC,EAAoB,EAAQ,IAAM,EAAE,CAAC,EAAI,WAAW,EAAI,EAAS,EAAK,GAAG,CAAC,EAAQ,QAAQ,EAAM,EAAE,CAAC,GAAU,EAAS,EAAa,GAAM,CAAC,GAAG,CAAC,EAAK,MAAM,CAAC,KAAK,GAAM,KAAK,GAAM,OAAO,GAAM,CAAC,IAAM,EAAK,GAAQ,EAAK,CAAO,EAAM,GAAO,EAAK,CAAkP,MAAM,CAAC,KAA3O,CAAC,CAAC,GAAU,EAAG,EAAK,EAAS,EAAE,CAAC,CAAC,GAAW,EAAG,EAAM,EAAU,CAAwL,KAA1K,CAAC,CAAC,GAAU,EAAG,EAAK,EAAS,EAAE,CAAC,CAAC,GAAW,EAAG,EAAM,EAAU,CAAuH,OAAvG,CAAC,CAAC,GAAY,EAAG,EAAK,EAAW,EAAE,CAAC,CAAC,GAAa,EAAG,EAAM,EAAY,CAAgD,EAC/zF,EAAW,IAAI,GAAG,IAAI,QAAQ,OAAO,GAAG,CACxC,EAAc,GAAG,CAAC,IAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAO,EAAI,EAAE,OAAwK,OAA9J,IAAM,EAAQ,GAAM,GAAK,EAAQ,IAAI,IAAO,GAAK,EAAQ,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAM,GAAK,GAAS,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAS,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAW,EAAoB,GAAO,CAAC,IAAM,EAAE,EAAW,EAAM,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,EAAM,SAAS,OAAO,EAAM,kBAAkB,GAAG,CAAI,EAAE,SAAS,IAAI,EAAE,SAAS,GAAG,EAAM,kBAAkB,GAAG,CAAM,EAAM,kBAAkB,kDAAqD,EAAS,GAAiB,GAAG,CAAC,IAAM,EAAM,EAAE,OAAuC,EAAM,MAAM,EAApC,EAAW,EAAM,MAAM,CAA6B,CAAC,EAAM,aAAa,YAAY,UAAU,CAAC,EAAM,aAAa,eAAe,MAAM,CAAC,EAAoB,EAAM,EAAS,GAAmB,GAAG,EAAe,EAAE,IAAI,SAAS,EAAE,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,YAAY,SAAS,YAAY,aAAa,MAAM,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,GAAa,EAAE,gBAAgB,EAAS,GAAiB,GAAG,CAAC,IAAM,EAAM,EAAE,OAAO,EAAE,gBAAgB,CAAsE,EAAM,MAAM,EAAzE,EAAW,EAAE,eAAe,QAAQ,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAA6B,CAAC,EAAoB,EAAM,EAAS,OAAoB,CAAC,GAAG,CAAC,EAAO,OAAkH,IAAM,EAAhG,MAAM,KAAK,EAAO,iBAAiB,qDAAqD,CAAC,CAAyB,KAAK,GAAI,CAAC,IAAM,EAAG,EAAG,aAAa,OAAO,CAAO,EAAG,EAAG,aAAa,cAAc,CAAO,EAAG,EAAG,aAAa,aAAa,CAAC,OAAO,EAAG,EAAG,EAAe,EAAE,EAAG,EAAG,EAAe,EAAE,EAAG,EAAG,EAAe,EAAG,CAAI,CAAC,GAAQ,EAAe,QAAQ,IAAI,EAAO,GAAQ,EAAO,aAAa,YAAY,UAAU,CAAC,EAAO,aAAa,eAAe,MAAM,CAAC,EAAO,UAAU,GAAG,EAAO,iBAAiB,QAAQ,GAAiB,CAAC,EAAO,iBAAiB,UAAU,GAAmB,CAAC,EAAO,iBAAiB,QAAQ,GAAiB,CAAC,EAAO,iBAAiB,WAAW,EAAoB,EAAO,CAAC,CAAC,EAAO,MAAM,EAAc,EAAW,EAAO,MAAM,CAAC,CAAC,EAAoB,EAAO,CAAC,EAAe,QAAQ,IAAI,EAAO,CAAC,EAAc,QAAQ,EAAO,EAAI,uBAAuB,GAC7iE,EAAW,GAAG,CAAC,IAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAO,EAAI,EAAE,OAA2N,OAAjN,GAAK,EAAS,EAAK,GAAK,EAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAM,GAAK,EAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAM,GAAK,GAAS,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAS,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAW,EAAY,GAAK,CAAC,IAAM,EAAE,EAAW,EAAI,CAA+B,GAA3B,EAAE,SAAS,IAAmB,eAAe,KAAK,EAAE,CAAC,MAAO,GAC1d,IAAM,GAAM,EAAK,IAAU,EAAK,MAAM,GAAG,CAAC,QAAQ,EAAI,EAAE,IAAI,EAAI,SAAS,EAAE,GAAG,CAAC,EAAQ,GAAG,EAAE,CAA+B,EAAG,EAAvB,EAAE,MAAM,EAAE,GAAG,CAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAO,EAAG,EAAG,GAAG,EAAE,EAAE,GAAG,EAAG,GAAiC,EAAG,EAAvB,EAAE,MAAM,EAAE,GAAG,CAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAO,EAAG,EAAG,GAAG,EAAE,EAAE,GAAG,EAAG,GAAG,OAAO,EAAE,MAAM,OAAO,EAAG,EAAE,EAAE,MAAM,OAAO,EAAG,EAAS,EAAmB,GAAO,CAAC,IAAM,EAAE,EAAW,EAAM,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,EAAM,SAAS,OAAO,EAAM,kBAAkB,GAAG,CAAI,EAAY,EAAE,CAAC,EAAM,kBAAkB,GAAG,CAAM,EAAM,kBAAkB,yCAA4C,EAAS,GAAgB,GAAG,CAAC,IAAM,EAAM,EAAE,OAAuC,EAAM,MAAM,EAApC,EAAW,EAAM,MAAM,CAA0B,CAAC,EAAM,aAAa,YAAY,UAAU,CAAC,EAAM,aAAa,eAAe,MAAM,CAAC,EAAmB,EAAM,EAAS,GAAkB,GAAG,EAAe,EAAE,IAAI,SAAS,EAAE,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,YAAY,SAAS,YAAY,aAAa,MAAM,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,GAAa,EAAE,gBAAgB,EAAS,GAAgB,GAAG,CAAC,IAAM,EAAM,EAAE,OAAO,EAAE,gBAAgB,CAAsE,EAAM,MAAM,EAAzE,EAAW,EAAE,eAAe,QAAQ,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAA0B,CAAC,EAAmB,EAAM,EAAS,OAAmB,CAAC,GAAG,CAAC,EAAO,OAAkH,IAAM,EAAhG,MAAM,KAAK,EAAO,iBAAiB,qDAAqD,CAAC,CAAyB,KAAK,GAAI,CAAC,IAAM,EAAG,EAAG,aAAa,OAAO,CAAO,EAAG,EAAG,aAAa,cAAc,CAAO,EAAG,EAAG,aAAa,aAAa,CAAC,OAAO,EAAG,EAAG,EAAc,EAAE,EAAG,EAAG,EAAc,EAAE,EAAG,EAAG,EAAc,EAAG,CAAI,CAAC,GAAQ,EAAc,QAAQ,IAAI,EAAO,GAAQ,EAAO,aAAa,YAAY,UAAU,CAAC,EAAO,UAAU,GAC7oD,EAAO,iBAAiB,QAAQ,GAAgB,CAAC,EAAO,iBAAiB,UAAU,GAAkB,CAAC,EAAO,iBAAiB,QAAQ,GAAgB,CAAC,EAAO,iBAAiB,WAAW,EAAmB,EAAO,CAAC,CAAC,EAAO,MAAM,EAAW,EAAW,EAAO,MAAM,CAAC,CAAC,EAAmB,EAAO,CAAC,EAAc,QAAQ,IAAI,EAAO,CAAC,EAAa,QAAQ,EAAO,EAAI,sBAAsB,GACtX,EAAU,GAAQ,CACxB,IAAM,EAAM,EAAO,QAAQ,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,CACzC,EAAM,OAAO,GAAO,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,aAAa,QAAQ,CAAC,MAAM,WAAW,SAAS,MAAM,CAAC,CAAC,OAAO,EAAM,MAAO,CACpI,IAAM,EAAI,KAAK,MAAM,EAAM,CAAC,UAAU,CAAO,EAAI,KAAK,MAAM,EAAM,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,MAAM,EAAI,QAAQ,wBAAwB,IAAI,CAAC,GAAG,MAAe,EAAqB,GAAG,EAAW,EAAE,CACzM,EAAoB,GAAO,CAAC,IAAM,EAAE,EAAqB,EAAM,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,EAAM,SAAS,OAAO,EAAM,kBAAkB,GAAG,CAAI,EAAE,OAAO,EAAE,EAAM,kBAAkB,GAAG,CAAM,EAAM,kBAAkB,yBAAyB,EAAS,GAAiB,GAAG,CAAC,IAAM,EAAM,EAAE,OAAiD,EAAM,MAAM,EAA9C,EAAqB,EAAM,MAAM,CAAyB,CAAC,EAAM,aAAa,YAAY,UAAU,CAAC,EAAM,aAAa,eAAe,MAAM,CAAC,EAAoB,EAAM,EAAS,GAAmB,GAAG,EAAe,EAAE,IAAI,SAAS,EAAE,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,YAAY,SAAS,YAAY,aAAa,MAAM,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,GAAa,EAAE,gBAAgB,EAAS,GAAiB,GAAG,CAAC,IAAM,EAAM,EAAE,OAAO,EAAE,gBAAgB,CAAoE,EAAM,MAAM,EAAvE,EAAqB,EAAE,eAAe,QAAQ,OAAO,EAAE,GAAG,CAAyB,CAAC,EAAoB,EAAM,EAAS,OAAoB,CAAC,GAAG,CAAC,EAAO,OAAkH,IAAM,EAAhG,MAAM,KAAK,EAAO,iBAAiB,qDAAqD,CAAC,CAAyB,KAAK,GAAI,CAAC,IAAM,EAAG,EAAG,aAAa,OAAO,CAAO,EAAG,EAAG,aAAa,cAAc,CAAO,EAAG,EAAG,aAAa,aAAa,CAAC,OAAO,EAAG,EAAG,EAAkB,EAAE,EAAG,EAAG,EAAkB,EAAE,EAAG,EAAG,EAAkB,EAAG,CAAI,MAAC,GAAQ,EAAe,QAAQ,IAAI,EAAO,EACtwC,IAAG,CAAI,EAAO,OAAO,WAAS,EAAO,KAAK,aAAa,EAAE,EAAO,aAAa,YAAY,UAAU,CAAC,EAAO,UAAU,GACpH,EAAO,iBAAiB,QAAQ,GAAiB,CAAC,EAAO,iBAAiB,UAAU,GAAmB,CAAC,EAAO,iBAAiB,QAAQ,GAAiB,CAAC,EAAO,iBAAiB,WAAW,EAAoB,EAAO,CAAC,CAC/K,EAAO,MAAM,EAAhD,EAAqB,EAAO,MAAM,CAA0B,CAAC,EAAoB,EAAO,CAAC,EAAe,QAAQ,IAAI,EAAO,CAAC,EAAc,QAAQ,EAAO,EAAI,uBAAuB,GACtL,MAAwB,CAAC,GAAG,CAAC,EAAO,OAAO,IAAM,EAAO,GAAiB,EAAO,CAAC,GAAG,GAAQ,OAAO,EAAO,OAAQ,WAAW,CAAC,EAAO,OAAO,CAAC,EAAI,4BAA4B,CAAC,OAAQ,GAAG,OAAO,EAAO,eAAgB,WAAW,CAAC,EAAO,eAAe,CAAC,EAAI,6BAA6B,CAAC,OAAQ,IAAM,EAAI,SAAS,cAAc,SAAS,CAAC,EAAI,KAAK,SAAS,EAAI,MAAM,QAAQ,OAAO,EAAO,YAAY,EAAI,CAAC,EAAI,OAAO,CAAC,EAAO,YAAY,EAAI,CAAC,EAAI,yCAAyC,EAAS,GAAsB,EAAE,EAAS,KAAQ,CAC3hB,GAAG,EAAc,QAAQ,CAAC,IAAM,EAAE,EAAW,EAAc,QAAQ,MAAM,CAAC,GAAG,EAAE,SAAS,IAAI,EAAE,SAAS,GAAI,EAAc,QAAQ,MAAM,UAAW,EAAc,QAAQ,UAAU,EAAE,OAAO,EAA+H,OAA5H,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,EAAc,QAAQ,gBAAgB,CAAC,EAAI,sCAAyC,CAAQ,GACjU,GAAG,EAAa,QAAQ,CAAC,IAAM,EAAE,EAAW,EAAa,QAAQ,MAAM,CAAC,GAAG,EAAY,EAAE,CAAE,EAAa,QAAQ,MAAM,UAAW,EAAa,QAAQ,UAAU,EAAE,OAAO,EAA0H,OAAvH,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,EAAa,QAAQ,gBAAgB,CAAC,EAAI,kCAAqC,CAAQ,GAC1S,GAAG,EAAc,QAAQ,CAAC,IAAM,EAAE,EAAqB,EAAc,QAAQ,MAAM,CAAC,GAAG,EAAE,OAAO,EAAG,GAAG,IAAqB,QAAS,EAAc,QAAQ,MAAM,MAAO,CAAC,IAAM,GAAK,OAAO,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,EAAc,QAAQ,MAAM,UAC9N,EAAc,QAAQ,SAA6H,OAAnH,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,EAAc,QAAQ,gBAAgB,CAAC,EAAI,gCAAgC,CAAQ,GAAQ,MAAO,IAC9K,EAAe,GAAG,CAAC,IAAM,EAAE,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,EAAK,EAAE,KAAM,GAAM,IAAO,GAAM,IAAO,GAAO,CAAC,IAAM,EAAE,EAAa,EAAK,CAAC,GAAG,EAAE,KAAK,CAAwC,GAAvC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAI,CAAC,GAAQ,CAAC,GAAS,CAAC,EAAQ,OAAO,IAAM,EAAI,EAAM,EAAQ,QAAQ,CAA4C,GAAG,CAAC,GAA5B,IAAM,EAAE,EAAQ,EAAoC,CAAC,CAAC,EAAI,kBAAkB,EAAI,CAAC,OAAQ,EAAK,EAAI,EAAE,CAAC,OAAQ,GAAG,EAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,EAAK,EAAQ,QAAQ,EAAE,CAAC,OAAQ,GAAG,EAAE,OAAO,CAAC,GAAG,EAAQ,WAAW,GAAU,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,OACvgB,GAAG,CAA3B,EAAqB,EAAE,CAAQ,OAAO,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,GAAqB,CAAC,OAAQ,EAAK,EAAK,gBAAuB,EAAa,GAAG,CAAC,GAAG,CAAC,EAAO,OAAO,IAAM,EAAE,EAAE,OAAW,MAAoB,EAAE,UAAU,8BAA8B,CAAyC,IAAhB,EAAa,EAAE,CAAM,QAAQ,EAAQ,WAAW,GAAU,GAAG,CAAuC,GAAG,CAAhC,EAAqB,EAAE,GAAK,CAAQ,OAAO,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,GAAqB,CAAC,EAAI,+BAA+B,CAAC,OAAQ,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,EAAI,gCAAgC,GAAS,EAAa,GAAG,CAAC,GAAG,EAAQ,WAAW,GAAU,GAAI,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,EAAI,6CAAsD,KAAM,CAAkC,GAAG,CAA3B,EAAqB,EAAE,CAAQ,OAAO,EAAI,iCAAoC,GAAU,EAAU,GAAG,CAAI,EAAE,MAAM,SAAkB,EAAQ,WAAW,GAAU,IAAoB,EAAE,QAAQ,SAAS,aAAa,GAAU,aAAY,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,EAAI,kBAAkB,GAAU,EAAG,IAAI,qBAAqB,CAAK,IAAQ,EAAO,EAAK,cAAc,OAAO,CAAI,IAAQ,EAAO,iBAAiB,QAAQ,EAAa,GAAK,CAAC,EAAO,iBAAiB,SAAS,EAAa,CAAC,EAAO,iBAAiB,UAAU,EAAU,GAAG,GAAiB,CAAC,GAAU,EAAG,CAA0T,OAAzT,EAAG,QAAQ,EAAK,CAAC,UAAU,GAAK,QAAQ,GAAK,CAAC,CAAC,EAAK,iBAAiB,QAAQ,EAAe,GAAK,CAAI,IAAQ,EAAO,iBAAiB,QAAQ,EAAa,GAAK,CAAC,EAAO,iBAAiB,SAAS,EAAa,CAAC,EAAO,iBAAiB,UAAU,EAAU,EAAE,GAAiB,CAAC,EAAQ,QAAQ,GAAa,EAAE,GAAU,KAAW,CAAC,EAAG,YAAY,CAAC,EAAK,oBAAoB,QAAQ,EAAe,GAAK,CAAI,IAAQ,EAAO,oBAAoB,QAAQ,EAAa,GAAK,CAAC,EAAO,oBAAoB,SAAS,EAAa,CAAC,EAAO,oBAAoB,UAAU,EAAU,IAAM,CAAC,EAAY,EAAS,EAAU,EAAU,EAAS,EAAS,EAAW,EAAU,EAAU,EAAY,EAAM,EAAe,EAAc,EAAkB,EAAmB,CAAC,CAAqB,EAAK,MAAM,CAAC,IAAI,GAAQ,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,CAAC,SAAS,EAAK,CAAC,kBArBvkE,IAA4B,IAAoD,CAqBy/D,EAAoB,EAAwB,CAAC,KAAK,CAAC,KAAK,EAAY,kBAAkB,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,SAAS,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,oBAAoB,aAAa,GAAG,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,oBAAoB,aAAa,GAAG,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,sBAAsB,aAAa,GAAG,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,UAAa,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,SAAS,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,GAAM,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,mBAAmB,aAAa,WAAW,CAAC,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,aAAa,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAY,OAAO,MAAM,sBAAsB,aAAa,eAAe,CAAC,mBAAmB,CAAC,KAAK,EAAY,KAAK,MAAM,kBAAkB,QAAQ,CAAC,QAAQ,UAAU,CAAC,aAAa,CAAC,6BAAgC,yBAAyB,CAAC,aAAa,QAAQ,CAAC,CAAC,CAAC,EAAwB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE"}