{"version":3,"sources":["app/carritoState.js","utils/helpers.js","Site/Header.jsx","Site/Footer.jsx","utils/gaHooks.js","Site/Site.jsx","pages/blocks/MainHero.jsx","components/useWindowDimensions.js","pages/blocks/TextImage.jsx","pages/blocks/ProductosDestacados.jsx","pages/blocks/ContenidosDestacados.jsx","pages/Inicio.jsx","pages/Tienda.jsx","pages/QuienesSomos.jsx","services/http.service.js","services/contenido.service.js","pages/Contenidos.jsx","pages/ContenidoDetalle.jsx","pages/MiCarrito.jsx","services/cliente.service.js","pages/ConfirmarCorreo.jsx","pages/blocks/Pasos.jsx","pages/ComoComprar.jsx","pages/CambioDeTurno.jsx","services/pedido.service.js","pages/FinalizarCompra.jsx","pages/NotFound.jsx","pages/ProductoDetalle.jsx","components/scrollToTop.js","app/App.jsx","serviceWorker.js","index.js"],"names":["carritoReducer","state","action","type","productos","payload","cliente","removeAccents","str","i","x","strLen","split","length","indexOf","join","toLowerCase","sortBy","a","b","nameA","nameB","applyFilters","history","pathname","search","param","filter","urlParams","URLSearchParams","set","delete","data","currentPath","searchText","get","push","toString","buildUrl","applyStyles","texto","replace","Header","carrito","organizacion","setTiendaNoDisponible","tiposContenido","proveedorTipos","useState","isSticky","setSticky","ref","useRef","expanded","setExpanded","useHistory","useLocation","handleScroll","current","getBoundingClientRect","top","useEffect","window","addEventListener","removeEventListener","quienesSomos","pqS_Menu","className","Navbar","expand","collapseOnSelect","exact","onClick","to","alt","nombre","src","codOrg","Toggle","Collapse","Nav","activeClassName","menuDesplegable","scrollTo","NavDropdown","title","id","incluirDestacadosEnTienda","Item","active","e","preventDefault","href","pI_PD_Titulo","map","item","idProveedorTipo","key","descripcion","segmentoUrl","idTipoContenido","ventaHabilitada","icon","ReactGA","event","category","p","cantidad","reduce","Number","pesable","precioVenta","fraccion","toFixed","Footer","useCookies","cookies","sipeCliente","validaCookie","undefined","toUpperCase","contactoDireccion","dangerouslySetInnerHTML","__html","contactoEmail","contactoTelefono","socialFacebook","socialInstagram","rel","target","style","backroundColor","apellido","_trackingId","usePageViews","trackingId","initialize","debug","send","hitType","page","Site","props","useContext","CarritoContext","SiteInfoContext","showScroll","setShowScroll","tiendaDisponible","setTiendaDisponible","pageYOffset","idOrg","React","cloneElement","children","height","display","behavior","startsWith","Toast","onClose","show","tiendaNoDisponible","mensajeVentaNoHabilitada","Body","conEntregaF1","mensajeEntregaNoHabilitada","mensajeEntregaHabilitada","MainHero","hasWindow","getWindowDimensions","useCallback","width","innerWidth","innerHeight","windowDimensions","setWindowDimensions","handleResize","useWindowDimensions","imagen","pI_PP_Imagenes","Math","floor","random","substr","backgroundImage","pI_PP_Ubicacion","pI_PP_Titulo","pI_PP_Subtitulo","animateScroll","pI_PR_Imagenes","pI_PR_Activo","Row","Col","xs","md","pI_PR_Titulo","pI_PR_Texto","ProductosDestacados","destacados","destacado","imagenes","sort","value","settings","dots","infinite","speed","autoplay","autoplaySpeed","slidesToShow","slidesToScroll","focusOnSelect","responsive","breakpoint","pI_PD_Activo","index","idProducto","ContenidosDestacados","contenidosDestacados","pI_CD_Activo","pI_CD_Titulo","contenido","format","Date","fecha","link","titulo","f","idContenido","Inicio","Tienda","visible","setVisible","productoTipos","dispatchCarrito","results","pagina","includes","categorias","searchTipoProv","searchTipoProvDesc","proveedor","Set","idProductoTipo","proveedorTipo","searchCate","searchCateDesc","productoTipo","handleAddAction","prod","find","handleRemoveAction","newProductos","currentCate","totalItems","Form","Control","placeholder","name","onChange","Group","aria-controls","aria-expanded","in","disponible","validaStock","stock","stockPendientes","soloEntrega","Fragment","lg","slice","categoria","isVisible","loadMore","QuienesSomos","pqS_Imagenes","pqS_Texto1","img","pqS_Texto2","pqS_VideoCode","frameBorder","allow","axios","interceptors","response","use","error","Promise","reject","post","put","apiUrl","process","REACT_APP_BACKEND_URL","contenido_getAll","tipo","http","contenido_get","Contenidos","contenidos","setContenidos","message","setMessage","tipoContenido","location","status","fetchData","orden","cuerpo","videoCodigo","ContenidoDetalle","setContenido","useParams","MiCarrito","totalCarrito","handleRemoveProductAction","disabled","cliente_validarEmail","email","cliente_confirmacion","token","cliente_enviarCodigo","cliente_cambiarTurno","idPedido","cliente_nuevoTurno","turno","ConfirmarCorreo","mensaje4ClienteNuevo","Pasos","sm","ComoComprar","CambioDeTurno","setData","hora","setTurno","actualizado","setActualizado","ped","isSending","setSending","isRemoving","setRemoving","hadleChange","nuevoTurno","fecha1","fecha2","hadleRemove","horas1","turnos","horas2","pedido","fh_Alta","fecha2Hasta","fecha1Desde","fecha1Hasta","fecha2Desde","as","element","hr","Spinner","animation","variant","pedido_create","FinalizarCompra","setCookie","removeCookie","errorSubmit","setErrorSubmit","cookieVerified","setCookieVerified","errorValidacion","setErrorVal","mensajeEnviado","setMensajeEnviado","isLoading","setLoading","executeRecaptcha","useGoogleReCaptcha","setHoras1","setHoras2","redirctTo","setRedirctTo","clienteCodigo","telefono","conEntregaDomicilio","calle","numero","localidad","direccionOpcional","comentarios","verified","setCliente","confirmed","setConfirmed","useForm","register","handleSubmit","errors","setValue","clearError","registerV","handleSubmitV","errorsV","verifyEmail","idCliente","trim","expiration","setFullYear","getFullYear","path","expires","mensajeDatosInvalidos","statusText","verifyCookie","isSubscribed","getVerification","inpurRef","regExp","RegExp","enviarEmail","mensajeCodigoEnviadoValido","onSubmit","fechaHoraTurno","input","estado","captcha","precio","costo","precioCompra","mensaje3ClienteNuevo","mensaje3ClienteExistente","noValidate","mensajeDeRegistracion","Label","defaultValue","autoComplete","isInvalid","required","pattern","Feedback","maxLength","onKeyPress","keyCode","which","confirmAlert","customUI","test","olvidoSuCodigo","mensajeDeValidacionDeCookie","mensaje1ClienteExistente","mensaje1ClienteNuevo","conTurno","Check","checked","label","validate","v","mensajeReservaDeTurno","mensajeEntregaDomicilio","rows","mensaje2ClienteNuevo","mensaje2ClienteExistente","role","NotFound","ProductoDetalle","producto","lastLocation","useLastLocation","goBack","ScrollToTop","library","add","faHome","faEdit","faWindowClose","faCut","faArrowLeft","faArrowRight","faArrowDown","faFilter","faArrowUp","faArrowCircleUp","faPlus","faMinus","faTrash","faShoppingCart","faEnvelope","faPhone","faSearch","faEye","faBars","faChevronDown","faTimes","faStore","faCheck","faUser","createContext","App","useReducer","siteInfo","Provider","CookiesProvider","Boolean","hostname","match","preState","script","document","getElementById","JSON","parse","innerHTML","getFaviconEl","getAppleEl","getPreState","ReactDOM","render","reCaptchaKey","language","navigator","serviceWorker","ready","then","registration","unregister","catch","console"],"mappings":"6lBACO,SAASA,EAAeC,EAAOC,GACpC,OAAQA,EAAOC,MACb,IAAK,kBACH,OAAO,eACFF,EADL,CAEEG,UAAWF,EAAOG,UAGtB,IAAK,iBACH,OAAO,eACFJ,EADL,CAEEK,QAASJ,EAAOG,UAGpB,IAAK,gBACH,OAAO,eACFJ,EADL,CAEEK,QAAS,KACTF,UAAW,KAGf,QAEE,OAAOH,G,2DCxBN,SAASM,EAAcC,GAC5B,IAAKA,EAAK,MAAO,GACjB,IAMIC,EAAGC,EADHC,GADJH,EAAMA,EAAII,MAAM,KACCC,OAEjB,IAAKJ,EAAI,EAAGA,EAAIE,EAAQF,KACiB,KAAlCC,EAPL,qQAOiBI,QAAQN,EAAIC,OAC3BD,EAAIC,GANN,iEAMsBC,IAGxB,OAAOF,EAAIO,KAAK,IAAIC,cAIf,SAASC,EAAOC,EAAGC,GACxB,IAAIC,EAAQb,EAAcW,GACtBG,EAAQd,EAAcY,GAC1B,OAAIC,EAAQC,GACF,EAEND,EAAQC,EACH,EAGF,EAGF,SAASC,EAAaC,EAASC,EAAUC,EAAQC,EAAOC,GAC7D,IAAMC,EAAY,IAAIC,gBAAgBJ,GAClCE,EACoB,kBAAXA,EACTC,EAAUE,IAAIJ,EAAOC,GAErBC,EAAUE,IAAIJ,EAAOC,EAAOX,eAG9BY,EAAUG,OAAOL,GAEnB,IAAMM,EAAO,CACXC,YAAaT,EACbI,UAAWA,EACXM,WAAYN,EAAUO,IAAIT,IAAU,IAEtCH,EAAQa,KAGV,SAAkBJ,GAChB,OAAOA,EAAKC,YAAc,IAAMD,EAAKJ,UAAUS,WAJlCC,CAASN,IAOjB,SAASO,EAAYC,GAC1B,OAAKA,EACEA,EACJC,QAAQ,qBAAmB,UAC3BA,QAAQ,qBAAsB,WAHdD,EC7CN,SAASE,EAAT,GAMX,IALFC,EAKC,EALDA,QACAC,EAIC,EAJDA,aACAC,EAGC,EAHDA,sBACAC,EAEC,EAFDA,eACAC,EACC,EADDA,eACC,EAC6BC,oBAAS,GADtC,mBACMC,EADN,KACgBC,EADhB,KAEKC,EAAMC,iBAAO,MAFlB,EAG+BJ,oBAAS,GAHxC,mBAGMK,EAHN,KAGgBC,EAHhB,KAIK/B,EAAUgC,cACR9B,EAAW+B,cAAX/B,OAEFgC,EAAe,WACfN,EAAIO,SACNR,EAAUC,EAAIO,QAAQC,wBAAwBC,KAAO,IAIzDC,qBAAU,WAGR,OAFAC,OAAOC,iBAAiB,SAAUN,GAE3B,WACLK,OAAOE,oBAAoB,UAAU,kBAAMP,QAE5C,IAEH,IAAMQ,EAAgBrB,EAAasB,SAAgB,IAAM3D,EAAcqC,EAAasB,SAASzB,QAAQ,IAAK,KAAKzB,eAAjE,GAC9C,OACE,yBAAKmD,UAAU,aACb,yBAAKA,UAAU,eACb,yBAAKA,UAAU,gBACf,yBAAKA,UAAS,qBAAgBlB,EAAW,UAAY,IAAME,IAAKA,GAC9D,yBAAKgB,UAAU,wBACf,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,aACb,kBAACC,EAAA,EAAD,CAAQf,SAAUA,EAAUgB,OAAO,KAAKC,kBAAkB,GACxD,yBAAKH,UAAU,QACb,kBAAC,UAAD,CAASI,OAAK,EAACC,QAAS,kBAAMlB,GAAY,IAAQmB,GAAG,KACnD,yBACEN,UAAU,oBACVO,IAAK9B,EAAa+B,OAClBC,IAAG,gCAA2BhC,EAAaiC,OAAxC,UAEL,yBACEV,UAAU,YACVO,IAAK9B,EAAa+B,OAClBC,IAAG,gCAA2BhC,EAAaiC,OAAxC,cAMT,kBAACT,EAAA,EAAOU,OAAR,CACEN,QAAS,kBAAMlB,GAAYD,GAAmB,eAEhD,kBAACe,EAAA,EAAOW,SAAR,KACE,kBAACC,EAAA,EAAD,KACE,kBAAC,UAAD,CACET,OAAK,EACLU,gBAAgB,OAChBd,UAAU,gBACVK,QAAS,kBAAMlB,GAAY,IAC3BmB,GAAG,KALL,WAUE7B,EAAasC,iBACb,kBAAC,UAAD,CACED,gBAAgB,OAChBd,UAAU,gBACVK,QAAS,WAAQV,OAAOqB,SAAS,EAAG,GAAI7B,GAAY,IACpDmB,GAAG,WAJL,UASD7B,EAAasC,iBACZ,kBAACE,EAAA,EAAD,CAAaC,MAAM,SAASC,GAAG,6BAC5B1C,EAAa2C,2BAA6B,kBAACH,EAAA,EAAYI,KAAb,CAAkBC,OAAQhE,EAAOX,QAAQ,WAAa,EAAG0D,QAAS,SAACkB,GAAQnE,EAAQa,KAAK,kBAAmBkB,GAAY,GAAQoC,EAAEC,kBAAqBC,KAAM,kBAAmBhD,EAAaiD,cAEtO9C,EAAe+C,KAAI,SAACC,GAAD,OAAU,kBAACX,EAAA,EAAYI,KAAb,CAAkBC,OAAQhE,EAAOX,QAAQ,QAAUiF,EAAKC,kBAAoB,EAAGC,IAAKF,EAAKC,gBAAiBxB,QAAS,SAACkB,GAAQnE,EAAQa,KAAK,gBAAkB2D,EAAKC,iBAAkB1C,GAAY,GAAQoC,EAAEC,kBAAqBC,KAAM,gBAAkBG,EAAKC,iBAAkBD,EAAKG,iBAIlTtD,EAAasB,UACZ,kBAAC,UAAD,CACEe,gBAAgB,OAChBd,UAAU,gBACVK,QAAS,kBAAMlB,GAAY,IAC3BmB,GAAIR,GAEHrB,EAAasB,UAGS,IAA1BpB,EAAejC,QACd,kBAAC,UAAD,CACEoE,gBAAgB,OAChBd,UAAU,iBACVK,QAAS,kBAAMlB,GAAY,IAC3BmB,GAAI3B,EAAe,GAAGqD,aAErBrD,EAAe,GAAGoD,aAGtBpD,EAAejC,OAAS,GACvB,kBAACuE,EAAA,EAAD,CAAaC,MAAM,aAAaC,GAAG,sBAChCxC,EAAegD,KAAI,SAACC,GAAD,OAAU,kBAACX,EAAA,EAAYI,KAAb,CAAkBS,IAAKF,EAAKK,gBAAiB5B,QAAS,SAACkB,GAAQnE,EAAQa,KAAK2D,EAAKI,aAAc7C,GAAY,GAAQoC,EAAEC,kBAAqBC,KAAMG,EAAKI,aAAcJ,EAAKG,iBAI1M,kBAAC,UAAD,CACEjB,gBAAgB,OAChBd,UAAU,0BACVK,QAAS,kBAAMlB,GAAY,IAC3BmB,GAAG,iBAJL,sBAUF7B,EAAayD,iBACb,kBAAC,UAAD,CACElC,UAAU,cACVM,GAAG,UACHY,MAAM,sBACNb,QAAS,kBAAM3B,GAAsB,KAGrC,kBAAC,IAAD,CAAiByD,KAAK,mBAGzB1D,EAAayD,iBACZ,oCACE,kBAAC,UAAD,CACEpB,gBAAgB,OAChBd,UAAU,8CACVK,QAAS,WACP+B,IAAQC,MAAM,CACZC,SAAU,OACVvG,OAAQ,iBAEVoD,GAAY,IAEdmB,GAAG,iBAVL,mBAcA,kBAAC,UAAD,CAASN,UAAU,cAAckB,MAAM,aAAaZ,GAAG,cAAcD,QAAS,WAC5E+B,IAAQC,MAAM,CACZC,SAAU,OACVvG,OAAQ,mBAGV,kBAAC,IAAD,CAAiBoG,KAAK,kBACrB3D,EAAQvC,UAAUS,OAAS,GAC1B,oCACE,0BAAMsD,UAAU,gBACbxB,EAAQvC,UACN0F,KAAI,SAACY,GAAD,OAAOA,EAAEC,YACbC,QAAO,SAAC1F,EAAGC,GAAJ,OAAUD,EAAIC,IAAG,IAE7B,0BAAMgD,UAAU,UAAhB,IAEGxB,EAAQvC,UACN0F,KAAI,SAACY,GAAD,OAAOG,QAAQH,EAAEC,UAAYD,EAAEI,QAAUD,QAAQH,EAAEK,YAAcL,EAAEM,UAAUC,QAAQ,IAAMP,EAAEK,cAAcE,QAAQ,OACvHL,QAAO,SAAC1F,EAAGC,GAAJ,OAAUD,EAAIC,IAAG,GAAG8F,QAAQ,KAId,IAA7BtE,EAAQvC,UAAUS,QACjB,oCACE,0BAAMsD,UAAU,gBAAhB,KACA,0BAAMA,UAAU,UAAhB,kB,oBChLX,SAAS+C,EAAT,GAAmD,IAAjCtE,EAAgC,EAAhCA,aAAcE,EAAkB,EAAlBA,eAAkB,EAC7CqE,YAAW,CAAC,iBAAvBC,EADwD,oBAEzDC,EAAczE,EAAa0E,aAAeF,EAAQ,qBAAkBG,EACpEtD,EAAgBrB,EAAasB,SAAgB,IAAM3D,EAAcqC,EAAasB,SAASzB,QAAQ,IAAK,KAAKzB,eAAjE,GAC9C,OACE,4BAAQmD,UAAU,QAChB,yBAAKA,UAAU,sCACb,yBAAKA,UAAU,OAEb,yBAAKA,UAAU,oDACb,wBAAIA,UAAU,wCAAd,WAEA,wBAAIA,UAAU,iBACZ,4BACE,2BACE,kBAAC,UAAD,CAASM,GAAG,UAAUD,QAAS,WAAQV,OAAOqB,SAAS,EAAG,KAA1D,YAGJ,4BACE,2BACE,kBAAC,UAAD,CAASV,GAAIR,GAAerB,EAAasB,SAASsD,iBAGrD1E,EAAejC,OAAS,GACvB,4BACE,2BACE,kBAAC,UAAD,CAAS4D,GAAI3B,EAAe,GAAGqD,aAAcrD,EAAe,GAAGoD,YAAYsB,iBAIjF,4BACE,2BACE,kBAAC,UAAD,CAAS/C,GAAG,iBAAZ,uBAMR,wBAAIN,UAAU,6BAEd,yBAAKA,UAAU,+CACb,wBAAIA,UAAU,wCAAd,yBAIA,wBAAIA,UAAU,iBACXvB,EAAa6E,mBACZ,4BACE,kBAAC,IAAD,CAAiBnB,KAAK,OAAOnC,UAAU,SACvC,uBACEuD,wBAAyB,CACvBC,OAAQpF,EAAYK,EAAa6E,uBAKxC7E,EAAagF,eACZ,4BACE,kBAAC,IAAD,CAAiBtB,KAAK,WAAWnC,UAAU,SAC3C,uBAAGyB,KAAM,UAAYhD,EAAagF,cAAevC,MAAOzC,EAAagF,eAArE,0BAGHhF,EAAaiF,kBACZ,4BACE,kBAAC,IAAD,CAAiBvB,KAAK,QAAQnC,UAAU,SACxC,2BAAIvB,EAAaiF,qBAMzB,wBAAI1D,UAAU,8BACZvB,EAAakF,gBAAkBlF,EAAamF,kBAC5C,yBAAK5D,UAAU,iDACb,wBAAIA,UAAU,wCAAd,YACCvB,EAAakF,gBACZ,uBAAGzC,MAAM,WAAWO,KAAMhD,EAAakF,eAAgBE,IAAI,sBAAsBC,OAAO,SAAS9D,UAAU,uBACzG,yBAAKO,IAAI,WAAWE,IAAI,wCAG3BhC,EAAamF,iBACZ,uBAAG1C,MAAM,YAAYO,KAAMhD,EAAamF,gBAAiBC,IAAI,sBAAsBC,OAAO,SAAS9D,UAAU,0BAC3G,yBAAKO,IAAI,YAAYE,IAAI,4CAOrC,yBAAKT,UAAU,aACb,wBAAI+D,MAAO,CAAEC,eAAgB,yBAG/B,yBAAKhE,UAAU,sCACb,yBAAKA,UAAU,OAEb,yBAAKA,UAAU,WAEb,wBAAIA,UAAU,iBAEXkD,GAAe,4BACd,2BACE,kBAAC,IAAD,CAAiBf,KAAK,OAAOnC,UAAU,SADzC,cAC2DkD,EAAY1C,OAAO6C,cAD9E,IAC8FH,EAAYe,SAASZ,iBAGnHH,GAAe,4BACf,2BACE,kBAAC,IAAD,CAAiBf,KAAK,OAAOnC,UAAU,SADzC,gCAQV,yBAAKA,UAAU,qCAAf,wBACoB,uBAAGyB,KAAK,4BAAR,qBADpB,+B,mBCtHFyC,EAAc,KAELC,EAAe,SAACC,GAAgB,IACnC/G,EAAagC,cAAbhC,SAERqC,qBAAU,WAEJwE,IAAgBE,IAClBhC,IAAQiC,WAAWD,EAAY,CAAEE,OAAO,IACxCJ,EAAcE,KAEf,CAACA,IAEJ1E,qBAAU,WAER0C,IAAQmC,KAAK,CAAEC,QAAS,WAAYC,KAAMpH,MACzC,CAACA,KCPS,SAASqH,EAAKC,GAAQ,IAC3BtH,EAAagC,cAAbhC,SAD0B,EAEhBuH,qBAAWC,IAAtBrG,EAF2B,sBAGyBoG,qBAAWE,IAHpC,sBAGzBrG,EAHyB,EAGzBA,aAAcE,EAHW,EAGXA,eAAgBC,EAHL,EAGKA,eAHL,EAIEC,oBAAS,GAJX,mBAI3BkG,EAJ2B,KAIfC,EAJe,OAKcnG,mBAC9CJ,EAAayD,iBANmB,mBAK3B+C,EAL2B,KAKTC,EALS,KAyBlC,OAJAvF,OAAOC,iBAAiB,UAZD,YAChBmF,GAAcpF,OAAOwF,YAAc,IACtCH,GAAc,GACLD,GAAcpF,OAAOwF,aAAe,KAC7CH,GAAc,MAUlBb,EAAaQ,EAAMP,YAGjB,yBAAKpE,UAAW,aAAevB,EAAa2G,OAC1C,kBAAC7G,EAAD,CACEC,QAASA,EACTI,eAAgBA,EAChBH,aAAcA,EACdE,eAAgBA,EAChBD,sBAAuBiG,EAAMjG,wBAE9B2G,IAAMC,aAAaX,EAAMY,SAAzB,eAAwCZ,IAEzC,kBAAC,IAAD,CACExC,KAAK,kBACLnC,UAAU,iBACV+D,MAAO,CAAEyB,OAAQ,GAAIC,QAASV,EAAa,OAAS,QACpD1E,QAvBY,WAChBV,OAAOqB,SAAS,CAAEvB,IAAK,EAAGiG,SAAU,cAyBlC,kBAAC3C,EAAD,CAAQtE,aAAcA,EAAcE,eAAgBA,IACnDtB,EAASsI,WAAW,YAAc,oCAEjC,yBAAK3F,UAAU,kBACb,kBAAC4F,EAAA,EAAD,CACE5F,UAAU,OACV6F,QAAS,kBAAMlB,EAAMjG,uBAAsB,IAC3CoH,KAAMnB,EAAMoB,oBAAgE,KAA1CtH,EAAauH,0BAE/C,kBAAC,IAAD,CACE7D,KAAK,QACLnC,UAAU,aACVK,QAAS,SAACkB,GAAD,OAAOoD,EAAMjG,uBAAsB,MAE9C,kBAACkH,EAAA,EAAMK,KAAP,CACE1C,wBAAyB,CACvBC,OAAQpF,EAAYK,EAAauH,+BAKzC,yBAAKhG,UAAU,kBACb,kBAAC4F,EAAA,EAAD,CACE5F,UAAU,QACV6F,QAAS,kBAAMX,GAAoB,IACnCY,KAAMb,IAAqBxG,EAAayH,cAA4D,KAA5CzH,EAAa0H,4BAErE,kBAAC,IAAD,CACEhE,KAAK,QACLnC,UAAU,aACVK,QAAS,SAACkB,GAAD,OAAO2D,GAAoB,MAEtC,kBAACU,EAAA,EAAMK,KAAP,CACE1C,wBAAyB,CACvBC,OAAQpF,EAAYK,EAAa0H,gCAIvC,kBAACP,EAAA,EAAD,CACE5F,UAAU,QACV6F,QAAS,kBAAMX,GAAoB,IACnCY,KAAMb,GAAoBxG,EAAayH,cAA0D,KAA1CzH,EAAa2H,0BAEpE,kBAAC,IAAD,CACEjE,KAAK,QACLnC,UAAU,aACVK,QAAS,SAACkB,GAAD,OAAO2D,GAAoB,MAEtC,kBAACU,EAAA,EAAMK,KAAP,CACE1C,wBAAyB,CACvBC,OAAQpF,EAAYK,EAAa2H,iC,0BCnGlC,SAASC,EAAT,GAAqC,IAAjB5H,EAAgB,EAAhBA,aACzB+G,ECNK,WACb,IAAMc,EAA8B,qBAAX3G,OAEnB4G,EAAsBC,uBAAY,WAGtC,MAAO,CACLC,MAHYH,EAAY3G,OAAO+G,WAAa,KAI5ClB,OAHac,EAAY3G,OAAOgH,YAAc,QAK/C,CAACL,IAVwC,EAYIzH,mBAC9C0H,KAb0C,mBAYrCK,EAZqC,KAYnBC,EAZmB,KA2B5C,OAXAnH,qBAAU,WACR,GAAI4G,EAAW,CACb,SAASQ,IACPD,EAAoBN,KAItB,OADA5G,OAAOC,iBAAiB,SAAUkH,GAC3B,kBAAMnH,OAAOE,oBAAoB,SAAUiH,OAEnD,CAACR,EAAWC,IAERK,EDrBYG,GAAXvB,OACJwB,EAAS,GAKb,OAJIvI,EAAawI,iBACfD,EAASvI,EAAawI,eAAexK,MAAM,KAAKyK,KAAKC,MAAMD,KAAKE,SAAW3I,EAAawI,eAAexK,MAAM,KAAKC,SAC/G2K,OAAO,IAGV,yBAAKrH,UAAU,aACb,yBACEA,UAAU,iBACV+D,MAAO,CAAEuD,gBAAgB,QAAD,OAAUN,EAAV,QAExB,yBAAKhH,UAAW,SAAWvB,EAAa8I,iBACrC9I,EAAa+I,cAAgB,wBAAIxH,UAAU,aAAavB,EAAa+I,cACrE/I,EAAagJ,iBAAmB,uBAC/BlE,wBAAyB,CACvBC,OAAQpF,EAAYK,EAAagJ,sBAKzC,kBAAC,IAAD,CACEzH,UAAU,OACVK,QAAS,WACPqH,gBAAc1G,SAASwE,EAAS,MAElCrD,KAAK,kB,2BE5BE,SAASkE,EAAT,GAAqC,IAAjB5H,EAAgB,EAAhBA,aAE7BuI,EAAS,GAKb,OAJIvI,EAAakJ,iBACfX,EAASvI,EAAakJ,eAAelL,MAAM,KAAKyK,KAAKC,MAAMD,KAAKE,SAAW3I,EAAakJ,eAAelL,MAAM,KAAKC,SAC/G2K,OAAO,KAEsB,IAA9B5I,EAAamJ,aACR,qCAGP,yBAAK5H,UAAU,cACb,yBAAKA,UAAU,aACb,kBAAC6H,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAKC,GAAG,KAAKC,GAAIhB,EAAS,IAAM,MAC9B,yBAAKhH,UAAU,SACZvB,EAAawJ,cAAgB,wBAAIjI,UAAU,aAAavB,EAAawJ,cACtE,uBACE1E,wBAAyB,CACvBC,OAAQpF,EAAYK,EAAayJ,kBAKxClB,GACC,kBAACc,EAAA,EAAD,CAAKC,GAAG,KAAKC,GAAG,KACd,yBACEhI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAUN,EAAV,a,4BC3BlB,SAASmB,EAAT,GAAgD,IAAjB1J,EAAgB,EAAhBA,aAAgB,EACpCmG,qBAAWE,IAC7BsD,EAFsD,oBACnDnM,UAENuB,QAAO,SAAC+E,GAAD,OAAOA,EAAE8F,WAAa9F,EAAE+F,YAC/B3G,KAAI,SAAC5E,GAAD,MAAQ,CAAEwL,KAAMrB,KAAKE,SAAUoB,MAAOzL,MAC1CwL,MAAK,SAACxL,EAAGC,GAAJ,OAAUD,EAAEwL,KAAOvL,EAAEuL,QAC1B5G,KAAI,SAAC5E,GAAD,OAAOA,EAAEyL,SACVC,EAAW,CACfC,MAAM,EACNC,UAAU,EACVC,MAAO,IACPC,UAAU,EACVC,cAAe,IACfC,aAAc,EACdC,eAAgB,EAChBC,eAAe,EACfC,WAAY,CACV,CACEC,WAAY,KACZV,SAAU,CACRM,aAAc,EACdC,eAAgB,EAChBL,UAAU,EACVD,MAAM,IAGV,CACES,WAAY,IACZV,SAAU,CACRM,aAAc,EACdC,eAAgB,IAGpB,CACEG,WAAY,IACZV,SAAU,CACRM,aAAc,EACdC,eAAgB,MAKxB,OAAkC,IAA9BvK,EAAa2K,cAA0BhB,EAAW1L,OAAS,EACtD,GAGP,yBAAKsD,UAAU,wBACb,yBAAKA,UAAU,aACb,wBAAIA,UAAU,SAASvB,EAAaiD,cACpC,kBAAC,IAAW+G,EACTL,EAAWzG,KAAI,SAACC,EAAMyH,GACrB,OACE,yBAAKvH,IAAKuH,EAAOrJ,UAAU,YACxB4B,EAAK0G,UACJ,kBAAC,UAAD,CACEhI,GAAI,WAAasB,EAAK0H,WACtBjJ,QAAS,WACP+B,IAAQC,MAAM,CACZC,SAAU,aACVvG,OAAQ,kBAGZiE,UAAU,WAEV,yBACEA,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU1F,EAAK0G,SAC3B7L,MAAM,KAAK,GACX4K,OAAO,GAFK,QAKjB,yBAAKrH,UAAU,UAAf,IAA0B4B,EAAKe,QAAUf,EAAKgB,YAAchB,EAAKiB,SAAWjB,EAAKgB,eAKvF,yBAAK5C,UAAU,YACb,yBAAKA,UAAU,SACb,kBAAC,UAAD,CACEM,GAAI,WAAasB,EAAK0H,WACtBjJ,QAAS,WACP+B,IAAQC,MAAM,CACZC,SAAU,aACVvG,OAAQ,kBAGZiE,UAAU,WAET4B,EAAKpB,eAQpB,yBAAKR,UAAU,YACb,kBAAC,UAAD,CACEA,UAAU,qCACVM,GAAG,UACHD,QAAS,WACPV,OAAOqB,SAAS,EAAG,GACnBoB,IAAQC,MAAM,CACZC,SAAU,aACVvG,OAAQ,qBAIZ,kBAAC,IAAD,CAAiBoG,KAAK,UAXxB,sB,4BCnGK,SAASoH,EAAT,GAAiD,IAAjB9K,EAAgB,EAAhBA,aAAgB,EACVmG,qBAAWE,IADD,sBACpD0E,EADoD,EACpDA,qBAAsB7K,EAD8B,EAC9BA,eAE/B,OAAkC,IAA9BF,EAAagL,eAA2BD,GAAwBA,EAAqB9M,OAAS,EACzF,GAIP,yBAAKsD,UAAU,yBACb,yBAAKA,UAAU,aACb,wBAAIA,UAAU,SAASvB,EAAaiL,cACpC,yBAAK1J,UAAU,OACZwJ,EAAqB7H,KAAI,SAACgI,EAAWN,GACpC,OACE,yBAAKvH,IAAKuH,EAAOrJ,UAAU,sBACxB2J,EAAUrB,UACT,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAUqC,EAAUrB,SAChC7L,MAAM,KAAK,GACX4K,OAAO,GAFK,SAMrB,yBAAKrH,UAAW2J,EAAUrB,SAAW,cAAgB,sBACnD,kBAAC,IAAD,CAAQsB,OAAO,cACZ,IAAIC,KAAKF,EAAUG,QAErBH,EAAUI,MACT,wBAAI/J,UAAU,eACZ,uBAAGA,UAAU,UAAUyB,KAAMkI,EAAUI,KAAMlG,IAAI,sBAAsBC,OAAO,UAAW6F,EAAUK,OAAnG,IAA2G,kBAAC,IAAD,CAAiBhK,UAAU,OAAOmC,KAAK,mBAGpJwH,EAAUI,MACV,wBAAI/J,UAAU,eACZ,kBAAC,UAAD,CAASA,UAAU,UAAUM,GAAI3B,EAAenB,QAAO,SAAAyM,GAAC,OAAIA,EAAEhI,kBAAoB0H,EAAU1H,mBAAiB,GAAGD,YAAc,IAAM2H,EAAUO,aAAeP,EAAUK,OAAvK,IAA+K,kBAAC,IAAD,CAAiBhK,UAAU,OAAOmC,KAAK,0BCnC7N,SAASgI,EAAOxF,GAAQ,IAAD,EACTC,qBAAWE,IAA7BrG,EAD2B,oBAC3BA,aAET,OACE,yBAAKuB,UAAU,UACb,kBAACqG,EAAD,CAAU5H,aAAcA,IACxB,kBAAC,EAAD,CAAWA,aAAcA,IACzB,kBAAC,EAAD,CAAqBA,aAAcA,IACnC,kBAAC,EAAD,CAAsBA,aAAcA,K,qDCA3B,SAAS2L,EAAT,GAA4C,IAA1B1L,EAAyB,EAAzBA,sBAAyB,EAC3BW,cAArBhC,EADgD,EAChDA,SAAUC,EADsC,EACtCA,OADsC,EAE1BuB,oBAAS,GAFiB,mBAEjDwL,EAFiD,KAExCC,EAFwC,KAGlDlN,EAAUgC,cAHwC,EAIawF,qBACnEE,IALsD,sBAI/CrG,EAJ+C,EAI/CA,aAAcxC,EAJiC,EAIjCA,UAAW2C,EAJsB,EAItBA,eAAgB2L,EAJM,EAINA,cAJM,EAOrB3F,qBAAWC,IAPU,mBAOjDrG,EAPiD,KAOxCgM,EAPwC,KASpDC,EAAUxO,EAER8B,EAAa,IAAIL,gBAAgBJ,GAAQU,IAAI,QAAU,GACvD0M,EAAShI,OAAO,IAAIhF,gBAAgBJ,GAAQU,IAAI,YAAc,EAChED,IACF0M,EAAUA,EAAQjN,QAAO,SAAC+E,GAAD,OACvBnG,EAAcmG,EAAE/B,QAAQmK,SAASvO,EAAc2B,QAGnD,IAAI6M,EAAaL,EACXM,EAAiB,IAAInN,gBAAgBJ,GAAQU,IAAI,SAAW,GAC9D8M,EAAqB,GACzB,GAAID,EAAgB,CACK,MAAnBA,GACFJ,EAAUA,EAAQjN,QAAO,SAAA+E,GAAC,OAAIA,EAAE8F,aAChCuC,EAAa,KAGbH,EAAUA,EAAQjN,QAAO,SAAC+E,GAAD,aAAO,UAAAA,EAAEwI,iBAAF,eAAalJ,mBAAoBa,OAAOmI,MACxED,EAAa,YAAI,IAAII,IAAIP,EAAQ9I,KAAI,SAAAC,GAAI,OAAIA,EAAKqJ,oBAC/CtJ,KAAI,SAAAsJ,GAAc,OAAIV,EAAc/M,QAAO,SAAA+E,GAAC,OAAIA,EAAE0I,iBAAmBA,KAAgB,MAAIzN,QAAO,SAAA+E,GAAC,OAAIA,MAG1G,IAAM2I,EAAgBtM,EAAepB,QACnC,SAAC+E,GAAD,OAAOA,EAAEV,gBAAgB3D,aAAe2M,KAEtCK,GAAiBA,EAAcxO,OAAS,IAC1CoO,EAAqBI,EAAc,GAAGnJ,aAG1C,IAAMoJ,EAAa,IAAIzN,gBAAgBJ,GAAQU,IAAI,SAAW,GAC1DoN,EAAiB,GACrB,GAAID,EAAY,CACdV,EAAUA,EAAQjN,QAAO,SAAC+E,GAAD,OAAOA,EAAE0I,iBAAmBvI,OAAOyI,MAE5D,IAAME,EAAeT,EAAWpN,QAC9B,SAAC+E,GAAD,aAAO,UAAAA,EAAE0I,sBAAF,eAAkB/M,cAAeiN,KAEtCE,GAAgBA,EAAa3O,OAAS,IACxC0O,EAAiBC,EAAa,GAAGtJ,aAKrC,IAAMuJ,EAAkB,SAAC/J,EAAGK,GAC1BQ,IAAQC,MAAM,CACZC,SAAU,SACVvG,OAAQ,YAEVwF,EAAEC,iBACF,IAAM+J,EAAO/M,EAAQvC,UAAUuP,MAC7B,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAE3BiC,GACFA,EAAK/I,WACLgI,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,YAAKsC,EAAQvC,cAGvBuO,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,GAAD,mBAAMsC,EAAQvC,WAAd,gBAA8B2F,EAA9B,CAAoCY,SAAU,SAIrDiJ,EAAqB,SAAClK,EAAGK,GAC7BQ,IAAQC,MAAM,CACZC,SAAU,SACVvG,OAAQ,WAEVwF,EAAEC,iBACF,IAAM+J,EAAO/M,EAAQvC,UAAUuP,MAC7B,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAE/B,GAAIiC,EACF,GAAsB,IAAlBA,EAAK/I,SAAgB,CACvB,IAAMkJ,EAAY,YACblN,EAAQvC,UAAUuB,QAAO,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,eAE3DkB,EAAgB,CACdxO,KAAM,kBACNE,QAASwP,SAGXH,EAAK/I,WACLgI,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,YAAKsC,EAAQvC,cAKzB0P,EAAc,GAQZC,EAAanB,EAAQ/N,OAE3B,OACE,yBAAKsD,UAAU,aACb,yBAAKA,UAAU,SAASmB,GAAG,UACzB,yBAAKnB,UAAU,gCACb,kBAAC6L,EAAA,EAAKC,QAAN,CACE9P,KAAK,OACL+P,YAAY,YACZC,KAAK,aACLxD,MAAOzK,EACPkO,SAAU,SAAC1K,GAAD,OACRpE,EACEC,EACAC,EACAC,EACA,MACAiE,EAAEuC,OAAO0E,UAIf,kBAAC,IAAD,CACErG,KAAK,QACLnC,UAAU,qBACVK,QAAS,SAACkB,GAAD,OACPpE,EAAaC,EAASC,EAAUC,EAAQ,MAAO,QAKrD,kBAACuK,EAAA,EAAD,CAAK7H,UAAU,OACb,yBAAKA,UAAU,uCACb,yBAAKA,UAAU,WACb,wBAAIA,UAAU,gBAAd,eACA,kBAAC,OAAD,CACEM,GAAG,UACHN,UACqB,KAAnB6K,EACI,kCACA,sBAENxK,QAAS,SAACkB,GACRmG,gBAAc1G,SAAS,MAR3B,SAaCvC,EAAa2C,2BACZ,kBAAC,OAAD,CACEd,GAAG,iBACHN,UACqB,MAAnB6K,EACI,kCACA,sBAENxK,QAAS,SAACkB,GACRmG,gBAAc1G,SAAS,MAGxBvC,EAAaiD,cAIjB9C,EAAe+C,KAAI,SAACC,EAAMyH,GACzB,OACE,kBAAC,OAAD,CACEvH,IAAKuH,EAEL/I,GAAG,IACHN,UACE6K,IAAmBjJ,EAAKC,gBAAgB3D,WACpC,kCACA,sBAENmC,QAAS,SAACkB,GACRA,EAAEC,iBACFrE,EACEC,EACAC,EACA,GACA,OACAuE,EAAKC,iBAEP6F,gBAAc1G,SAAS,MAGxBY,EAAKG,gBAIX6I,GAAcA,EAAWlO,OAAS,GAAK,oCACtC,wBAAIsD,UAAU,wBAAd,8BACA,kBAAC,OAAD,CACEM,GAAG,IACHN,UACiB,KAAfmL,EACI,kCACA,sBAEN9K,QAAS,SAACkB,GACRA,EAAEC,iBACFrE,EAAaC,EAASC,EAAUC,EAAQ,OAAQ,MATpD,UAgBDsN,EAAWjJ,KAAI,SAACC,EAAMyH,GAAW,IAAD,EAC/B,OAAKzH,EAGH,kBAAC,OAAD,CACEE,IAAKuH,EACL/I,GAAG,IACHN,UACEmL,KAAU,OAAKvJ,QAAL,IAAKA,GAAL,UAAKA,EAAMqJ,sBAAX,aAAK,EAAsB/M,YACjC,kCACA,sBAENmC,QAAS,SAACkB,GACRA,EAAEC,iBACFrE,EACEC,EACAC,EACAC,EACA,OACAsE,EAAKqJ,gBAEPvD,gBAAc1G,SAAS,MAGxBY,EAAKG,aAtBD,UA6Bf,yBAAK/B,UAAU,qBACb,yBAAKA,UAAU,4BACb,kBAAC6L,EAAA,EAAKK,MAAN,KACE,kBAACL,EAAA,EAAKC,QAAN,CACE9P,KAAK,OACL+P,YAAY,YACZC,KAAK,aACLxD,MAAOzK,EACPkO,SAAU,SAAC1K,GAAD,OACRpE,EACEC,EACAC,EACAC,EACA,MACAiE,EAAEuC,OAAO0E,UAIf,kBAAC,IAAD,CACErG,KAAK,QACLnC,UAAU,qBACVK,QAAS,SAACkB,GAAD,OACPpE,EAAaC,EAASC,EAAUC,EAAQ,MAAO,QAIrD,yBAAK0C,UAAU,uBACb,yBACEK,QAAS,kBAAMiK,GAAYD,IAC3B8B,gBAAc,oBACdC,gBAAe/B,GAEf,kBAAC,IAAD,CAAiBlI,KAAK,SALxB,mBAOgB,KAAfgJ,GAAwC,KAAnBC,GACpB,yBAAKpL,UAAU,iBACb,2BAAIoL,GACJ,kBAAC,IAAD,CACEjJ,KAAK,QACLnC,UAAU,0BACVK,QAAS,SAACkB,GAAD,OACPpE,EAAaC,EAASC,EAAUC,EAAQ,OAAQ,SAM1D,kBAACsD,EAAA,EAAD,CAAUyL,GAAIhC,GACZ,yBAAKrK,UAAU,WACb,wBAAIA,UAAU,gBAAd,eAEA,kBAAC,OAAD,CACEM,GAAG,UACHN,UACG6K,EAEG,sBADA,kCAGNxK,QAAS,SAACkB,GACR+I,GAAW,GACX5C,gBAAc1G,SAAS,MAT3B,SAeCvC,EAAa2C,2BACZ,kBAAC,OAAD,CACEd,GAAG,iBACHN,UACqB,MAAnB6K,EACI,kCACA,sBAENxK,QAAS,SAACkB,GACR+I,GAAW,GACX5C,gBAAc1G,SAAS,MAGxBvC,EAAaiD,cAGjB9C,EAAe+C,KAAI,SAACC,EAAMyH,GACzB,OACE,kBAAC,OAAD,CACEvH,IAAKuH,EACL/I,GAAI,SAAWsB,EAAKC,gBACpB7B,UACE6K,IAAmBjJ,EAAKC,gBAAgB3D,WACpC,kCACA,sBAENmC,QAAS,SAACkB,GACR+I,GAAW,GACX5C,gBAAc1G,SAAS,MAGxBY,EAAKG,gBAIX6I,GAAcA,EAAWlO,OAAS,GAAK,6BACtC,wBAAIsD,UAAU,wBAAd,8BACA,kBAAC,OAAD,CACEM,GAAG,IACHN,UACiB,KAAfmL,EACI,kCACA,sBAEN9K,QAAS,SAACkB,GACRA,EAAEC,iBACFrE,EAAaC,EAASC,EAAUC,EAAQ,OAAQ,IAChDgN,GAAW,KAVf,SAeCM,EAAWjJ,KAAI,SAACC,EAAMyH,GAAW,IAAD,EAC/B,OAAKzH,EAGH,kBAAC,OAAD,CACEE,IAAKuH,EACL/I,GAAG,IACHN,UACEmL,KAAU,OAAKvJ,QAAL,IAAKA,GAAL,UAAKA,EAAMqJ,sBAAX,aAAK,EAAsB/M,YACjC,kCACA,sBAENmC,QAAS,SAACkB,GACRA,EAAEC,iBACFrE,EACEC,EACAC,EACAC,EACA,OACAsE,EAAKqJ,gBAEPX,GAAW,GACX5C,gBAAc1G,SAAS,MAGxBY,EAAKG,aAvBD,YAgClBtD,EAAa2C,6BAAgC+J,IAAeN,GAAsC,MAAnBA,IAC9E,kBAAChD,EAAA,EAAD,KACG4C,EACEjN,QAAO,SAAA+E,GAAC,OAAIA,EAAE8F,aACdE,MAAK,SAACxL,EAAGC,GAAJ,OAAUF,EAAOC,EAAEyD,OAAQxD,EAAEwD,WAClCmB,KAAI,SAACC,EAAMyH,GAAW,IAAD,UACd7G,EAAQ,oBAAGhE,EAAQvC,iBAAX,iBAAG,EAAmBuP,MAAK,SAAAjJ,GAAC,OAAIA,EAAE+G,aAAe1H,EAAK0H,qBAAtD,aAAG,EAAgE9G,gBAAnE,QAA+E,EACvF8J,IAAe1K,EAAK2K,aAAgB3K,EAAK4K,MAAQ5K,EAAK6K,gBAAkBjK,EAAY,MAAQZ,EAAK8K,aAAejO,EAAayH,cACnI,OACE,kBAAC,IAAMyG,SAAP,CAAgB7K,IAAKuH,GACR,IAAVA,GAAe,kBAACvB,EAAA,EAAD,CAAK9H,UAAU,yBAAyB+H,GAAI,IAAKtJ,EAAaiD,cAC9E,kBAACoG,EAAA,EAAD,CACE9H,UAAU,WACV+H,GAAI,EACJC,GAAI,EACJ4E,GAAI,GAEJ,yBAAK5M,UAAU,kBACZ4B,EAAK0G,UACJ,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU1F,EAAK0G,SAC3B7L,MAAM,KAAK,GACX4K,OAAO,GAFK,QAKhB7I,EAAQvC,UAAUuB,QACjB,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B5M,OAAS,GACP,0BAAMsD,UAAU,gBAEZxB,EAAQvC,UAAUuP,MAChB,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B9G,UAIT/D,EAAayD,kBAAoBoK,GAA2B,IAAb9J,GAC9C,yBAAKxC,UAAU,eAAf,oBAGJ4B,EAAK0G,UACL,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,0CAGjB9I,EAAQvC,UAAUuB,QACjB,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B5M,OAAS,GACP,0BAAMsD,UAAU,gBAEZxB,EAAQvC,UAAUuP,MAChB,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B9G,UAIT/D,EAAayD,kBAAoBoK,GAA2B,IAAb9J,GAC9C,yBAAKxC,UAAU,eAAf,oBAGL,UAAA4B,EAAKmJ,iBAAL,mBAAgBG,qBAAhB,eAA+B5C,WAC9B,yBACEtI,UAAU,kBACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU1F,EAAKmJ,UAAUG,cAAc5C,SACnD7L,MAAM,KAAK,GACX4K,OAAO,GAFK,SAMrB,yBAAKrH,UAAU,mBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,SACb,kBAAC,OAAD,CACEM,GAAI,WAAasB,EAAK0H,WACtBpI,MAAM,cACNlB,UAAU,WAET4B,EAAKpB,SAGV,yBAAKR,UAAU,eAAf,IAA+B4B,EAAKe,SAAWf,EAAKgB,YAAchB,EAAKiB,UAAUC,QAAQ,GAAKlB,EAAKgB,YAAYE,QAAQ,KAEzH,yBAAK9C,UAAU,YACb,yBAAKA,UAAU,oBACb,kBAAC,IAAD,CACEK,QAAS,SAACkB,GACJ9C,EAAayD,iBAAmBoK,GAClChB,EAAgB/J,EAAGK,IAGvB5B,UACEvB,EAAayD,iBAAmBoK,EAC5B,sBACA,uBAENnK,KAAK,SAGN1D,EAAayD,kBAAoBoK,GAChC,yBAAKtM,UAAU,wBACb,kBAAC,IAAD,CACEmC,KAAK,mBAIV1D,EAAayD,iBAAmBoK,GAC/B,kBAAC,OAAD,CACEhM,GAAG,IACHD,QAAS,SAACkB,GACRA,EAAEC,iBACFY,IAAQC,MAAM,CACZC,SAAU,SACVvG,OAAQ,iBAEVqB,EAAQa,KAAK,gBAEf+B,UAAU,sBACVkB,MAAM,4BAEN,kBAAC,IAAD,CACElB,UAAU,eACVmC,KAAK,oBAIT1D,EAAayD,iBACb,kBAAC,OAAD,CACE5B,GAAG,IACHD,QAAS,kBAAM3B,GAAsB,IACrCsB,UAAU,WAEV,kBAAC,IAAD,CACEA,UAAU,eACVmC,KAAK,mBAIX,kBAAC,IAAD,CACEnC,UACExB,EAAQvC,UAAUuB,QAChB,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B5M,OAAS,GAAK+B,EAAayD,gBACzB,sBACA,uBAEN7B,QAAS,SAACkB,GAAD,OAAOkK,EAAmBlK,EAAGK,IACtCO,KAAK,mBAUL,IAAnBsI,EAAQ/N,QACP,yBAAKsD,UAAU,cACb,qFAOY,MAAnB6K,GACC,kBAAChD,EAAA,EAAD,KACGiD,GAAsB,kBAAChD,EAAA,EAAD,CAAK9H,UAAU,yBAAyB+H,GAAI,IAAK+C,GACvEL,EACEjN,QAAO,SAAA+E,GAAC,OAAM9D,EAAa2C,4BAA8BmB,EAAE8F,WAAcwC,GAAkBM,KAC3F5C,MAAK,SAACxL,EAAGC,GAAJ,mBAAUF,EAAM,oBAACC,EAAEsO,oBAAH,aAAC,EAAgBtJ,mBAAjB,QAAgC,MAAQhF,EAAEyD,OAA1C,oBAAkDxD,EAAEqO,oBAApD,aAAkD,EAAgBtJ,mBAAlE,QAAiF,MAAQ/E,EAAEwD,WAChHqM,MAAM,EAAY,GAATnC,GACT/I,KAAI,SAACC,EAAMyH,GAAW,IAAD,cACdyD,EAA6B,KAAhBnB,GAAsBA,KAAW,UAAK/J,EAAKyJ,oBAAV,aAAK,EAAmBtJ,aAA1D,UAAyEH,EAAKyJ,oBAA9E,aAAyE,EAAmBtJ,YAAc,GAC1G,KAAd+K,IACFnB,EAAcmB,GAEhB,IAAMtK,EAAQ,oBAAGhE,EAAQvC,iBAAX,iBAAG,EAAmBuP,MAAK,SAAAjJ,GAAC,OAAIA,EAAE+G,aAAe1H,EAAK0H,qBAAtD,aAAG,EAAgE9G,gBAAnE,QAA+E,EACvF8J,IAAe1K,EAAK2K,aAAgB3K,EAAK4K,MAAQ5K,EAAK6K,gBAAkBjK,EAAY,MAAQZ,EAAK8K,aAAejO,EAAayH,cACnI,OACE,kBAAC,IAAMyG,SAAP,CAAgB7K,IAAKuH,GACJ,KAAdyD,GAAoB,kBAAChF,EAAA,EAAD,CAAK9H,UAAU,oBAAoB+H,GAAI,IAAvC,OAA4C+E,QAA5C,IAA4CA,IAAa,UAC9E,kBAAChF,EAAA,EAAD,CACE9H,UAAU,WACV+H,GAAI,EACJC,GAAI,EACJ4E,GAAI,GAEJ,yBAAK5M,UAAU,kBACZ4B,EAAK0G,UACJ,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU1F,EAAK0G,SAC3B7L,MAAM,KAAK,GACX4K,OAAO,GAFK,QAKhB7I,EAAQvC,UAAUuB,QACjB,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B5M,OAAS,GACP,0BAAMsD,UAAU,gBAEZxB,EAAQvC,UAAUuP,MAChB,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B9G,UAIT/D,EAAayD,kBAAoBoK,GAA2B,IAAb9J,GAC9C,yBAAKxC,UAAU,eAAf,oBAGJ4B,EAAK0G,UACL,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,0CAGjB9I,EAAQvC,UAAUuB,QACjB,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B5M,OAAS,GACP,0BAAMsD,UAAU,gBAEZxB,EAAQvC,UAAUuP,MAChB,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B9G,UAIT/D,EAAayD,kBAAoBoK,GAA2B,IAAb9J,GAC9C,yBAAKxC,UAAU,eAAf,oBAGL,UAAA4B,EAAKmJ,iBAAL,mBAAgBG,qBAAhB,eAA+B5C,WAC9B,yBACEtI,UAAU,kBACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU1F,EAAKmJ,UAAUG,cAAc5C,SACnD7L,MAAM,KAAK,GACX4K,OAAO,GAFK,SAMrB,yBAAKrH,UAAU,mBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,SACb,kBAAC,OAAD,CACEM,GAAI,WAAasB,EAAK0H,WACtBpI,MAAM,cACNlB,UAAU,WAET4B,EAAKpB,SAGV,yBAAKR,UAAU,eAAf,IAA+B4B,EAAKe,SAAWf,EAAKgB,YAAchB,EAAKiB,UAAUC,QAAQ,GAAKlB,EAAKgB,YAAYE,QAAQ,KAEzH,yBAAK9C,UAAU,YACb,yBAAKA,UAAU,oBACb,kBAAC,IAAD,CACEK,QAAS,SAACkB,GACJ9C,EAAayD,iBAAmBoK,GAClChB,EAAgB/J,EAAGK,IAGvB5B,UACEvB,EAAayD,iBAAmBoK,EAAa,sBACzC,uBAENnK,KAAK,SAGN1D,EAAayD,kBAAoBoK,GAChC,yBAAKtM,UAAU,wBACb,kBAAC,IAAD,CACEmC,KAAK,mBAIV1D,EAAayD,iBAAmBoK,GAC/B,kBAAC,OAAD,CACEhM,GAAG,IACHD,QAAS,SAACkB,GACRA,EAAEC,iBACFY,IAAQC,MAAM,CACZC,SAAU,SACVvG,OAAQ,iBAEVqB,EAAQa,KAAK,gBAEf+B,UAAU,sBACVkB,MAAM,4BAEN,kBAAC,IAAD,CACElB,UAAU,eACVmC,KAAK,oBAIT1D,EAAayD,iBACb,kBAAC,OAAD,CACE5B,GAAG,IACHD,QAAS,kBAAM3B,GAAsB,IACrCsB,UAAU,WAEV,kBAAC,IAAD,CACEA,UAAU,eACVmC,KAAK,mBAIX,kBAAC,IAAD,CACEnC,UACExB,EAAQvC,UAAUuB,QAChB,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAC7B5M,OAAS,GAAK+B,EAAayD,gBACzB,sBACA,uBAEN7B,QAAS,SAACkB,GAAD,OAAOkK,EAAmBlK,EAAGK,IACtCO,KAAK,mBAUL,IAAnBsI,EAAQ/N,QACP,yBAAKsD,UAAU,cACb,qFAKP/D,GAAa2P,EAAsB,GAATlB,GACzB,kBAAC,IAAD,CACEuB,SAAU,SAACc,GACLA,GAloBH,SAACrC,GAChB,IAAMjN,EAAY,IAAIC,gBAAgBJ,GACtCG,EAAUE,IAAI,SAAU+M,GACxBtN,EAAQa,KAAKZ,EAAW,IAAMI,EAAUS,YAgoBxB8O,CAAStC,EAAS,KAItB,oD,OC3vBD,SAASuC,EAAatI,GAAQ,IAAD,EACfC,qBAAWE,IAA7BrG,EADiC,oBACjCA,aACH6J,EAAW7J,EAAayO,aAAezO,EAAayO,aAAazQ,MAAM,KAAKe,QAAO,SAAAyM,GAAC,MAAU,KAANA,KAAY,GAEpGxB,EAAW,CACfC,MAAM,EACNC,UAAU,EACVC,MAAO,IACPC,UAAU,EACVC,cAAe,IACfC,aAAcT,EAAS5L,OAAS,EAAI,EAAI4L,EAAS5L,OACjDsM,eAAgB,EAChBC,eAAe,EACfC,WAAY,CACV,CACEC,WAAY,KACZV,SAAU,CACRM,aAAc,EACdC,eAAgB,EAChBL,UAAU,EACVD,MAAM,IAGV,CACES,WAAY,IACZV,SAAU,CACRM,aAAc,EACdC,eAAgB,IAGpB,CACEG,WAAY,IACZV,SAAU,CACRM,aAAc,EACdC,eAAgB,MAKxB,OACE,yBAAKhJ,UAAU,aACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,OAAOuD,wBAAyB,CAC7CC,OAAQpF,EAAYK,EAAa0O,eAGlC7E,EAAS5L,OAAS,GACjB,kBAAC,IAAW+L,EACThK,EAAayO,aAAazQ,MAAM,KAAKkF,KAAI,SAAAyL,GAAG,OAC3C,yBAAKtL,IAAKsL,GACR,yBACEpN,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU8F,EAAI/F,OAAO,GAArB,cAQN,IAApBiB,EAAS5L,QAER,yBACEsD,UAAU,eACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAUgB,EAAS,GAAGjB,OAAO,GAA7B,SAKrB,yBAAKrH,UAAU,OAAOuD,wBAAyB,CAC7CC,OAAQpF,EAAYK,EAAa4O,eAGlC5O,EAAa6O,eACZ,yBAAKtN,UAAU,gBACb,4BAAQkB,MAAM,QAAQT,IAAK,0CAA4ChC,EAAa6O,cAAeC,YAAY,IAAIC,MAAM,0EAA0E/G,MAAM,Y,sDC/ErNgH,IAAMC,aAAaC,SAASC,KAC1B,SAAUD,GAGR,OAAOA,KAET,SAAUE,GAGR,OAAOC,QAAQC,OAAOF,MAIX,OACb7P,IAAKyP,IAAMzP,IACXgQ,KAAMP,IAAMO,KACZC,IAAKR,IAAMQ,IACXrQ,OAAQ6P,IAAM7P,QClBVsQ,IADUC,2HAAYC,uBAAyB,IAC5B,mBAElB,SAASC,GAAiBC,GAC/B,OAAOC,EAAKvQ,IAAIkQ,GAAS,SAAWI,EAAO,oBAGtC,SAASE,GAAcrN,GAC5B,OAAOoN,EAAKvQ,IAAIkQ,GAAS/M,GCCZ,SAASsN,GAAW9J,GAAQ,IAAD,EACXC,qBAAWE,IAA/BnG,EAD+B,oBAC/BA,eAD+B,EAEJE,mBAAS,IAFL,mBAEjC6P,EAFiC,KAErBC,EAFqB,OAGV9P,mBAAS,IAHC,mBAGjC+P,EAHiC,KAGxBC,EAHwB,KAIlCzR,EAAUgC,cACV0P,EAAgBnQ,EAAenB,QAAO,SAAAyM,GAAC,OAAItK,OAAOoP,SAAS1R,SAASsI,WAAWsE,EAAEjI,gBAAc,GA2BrG,OA1BK8M,GACH1R,EAAQa,KAAK,QAEfyB,qBAAU,WAAM,4CACd,4BAAA3C,EAAA,+EAE2BsR,GAAiBS,EAAc7M,iBAF1D,OAG4B,OADlB0L,EAFV,QAGiBqB,OACXL,EAAchB,EAAS9P,MAEvBgR,EAAW,sCANjB,gDASQ,KAAIlB,SAAS9P,KAAKqD,MACpB2N,EAAW,KAAIlB,SAAS9P,KAAKqD,OAE7B2N,EACE,2GAbR,0DADc,uBAAC,WAAD,wBAmBdI,KACC,CAACH,IAIF,yBAAK9O,UAAU,aACb,yBAAKA,UAAU,cACb,4BAAK8O,EAAc/M,aAClB6M,GAAW,6BAAMA,GACjBF,EAAWhS,OAAS,GACnB,yBAAKsD,UAAU,QACZ0O,EACEnG,MAAK,SAACxL,EAAGC,GAAJ,OAAUF,EAA+B,UAAxBgS,EAAcI,MAAoBlS,EAAE8R,EAAcI,OAASnS,EAAE+R,EAAcI,OAASnS,EAAEiN,OAAgC,UAAxB8E,EAAcI,MAAoBnS,EAAE+R,EAAcI,OAASlS,EAAE8R,EAAcI,OAASlS,EAAEgN,WAC1MrI,KAAI,SAACC,GAAD,OAAU,yBAAK5B,UAAU,gBAAgB8B,IAAKF,EAAKsI,aACtD,yBAAKlK,UAAU,OACZ4B,EAAK0G,UAAY1G,EAAK0G,SAAS5L,OAAS,GACvC,yBAAKsD,UAAU,+BACb,yBACEA,UAAU,QACV+D,MAAO,CACLuD,gBAAgB,OAAD,OAAS1F,EAAK0G,SAAS7L,MAAM,KAAK,GAAG4K,OAAO,GAA5C,SAMvB,yBAAKrH,UAAW4B,EAAK0G,UAAY1G,EAAK0G,SAAS5L,OAAS,EAAI,8BAAgC,OAC1F,4BACGkF,EAAKmI,MACJ,uBAAG/J,UAAU,UAAUyB,KAAMG,EAAKmI,KAAMlG,IAAI,sBAAsBC,OAAO,UAAUlC,EAAKoI,OAAxF,IAAgG,kBAAC,IAAD,CAAiBhK,UAAU,OAAOmC,KAAK,kBAEtH,OAAhBP,EAAKuN,QAAmBvN,EAAKwN,eAAiBxN,EAAKmI,MACpD,kBAAC,OAAD,CAAM/J,UAAU,UAAUM,GAAIwO,EAAc9M,YAAc,IAAMJ,EAAKsI,aAActI,EAAKoI,OAAxF,IAAgG,kBAAC,IAAD,CAAiBhK,UAAU,OAAOmC,KAAK,iBAEvH,OAAhBP,EAAKuN,SAAoBvN,EAAKwN,cAAgBxN,EAAKmI,MACnD,8BAAOnI,EAAKoI,SAEfpI,EAAKkI,OACJ,2BACE,kBAAC,IAAD,CAAQF,OAAO,cACZ,IAAIC,KAAKjI,EAAKkI,SAIrB,uBACEvG,wBAAyB,CACvBC,OAAQpF,EAAYwD,EAAKG,kBAKjC,kCAIe,IAAtB2M,EAAWhS,QAAiB,8CCnFtB,SAAS2S,GAAiB1K,GAAQ,IAAD,EACjBC,qBAAWE,IAA/BnG,EADqC,oBACrCA,eADqC,EAEZE,mBAAS,IAFG,mBAEvC8K,EAFuC,KAE5B2F,EAF4B,OAGhBzQ,mBAAS,IAHO,mBAGvC+P,EAHuC,KAG9BC,EAH8B,KAIxCzR,EAAUgC,cACR+B,EAAOoO,cAAPpO,GAEF2N,EAAgBnQ,EAAenB,QAAO,SAAAyM,GAAC,OAAItK,OAAOoP,SAAS1R,SAASsI,WAAWsE,EAAEjI,gBAAc,GAChG8M,GACH1R,EAAQa,KAAK,QAEfyB,qBAAU,WAAM,4CACd,4BAAA3C,EAAA,+EAE2ByR,GAAcrN,GAFzC,OAG4B,OADlBwM,EAFV,QAGiBqB,OACXM,EAAa3B,EAAS9P,MAEtBgR,EAAW,sCANjB,gDASQ,KAAIlB,SAAS9P,KAAKqD,MACpB2N,EAAW,KAAIlB,SAAS9P,KAAKqD,OAE7B2N,EACE,2GAbR,0DADc,uBAAC,WAAD,wBAmBdI,KACC,CAAC9N,IAEJ,IAAMmH,EAAWqB,EAAUrB,SAAWqB,EAAUrB,SAAS7L,MAAM,KAAKe,QAAO,SAAAyM,GAAC,MAAU,KAANA,KAAY,GAEtFxB,EAAW,CACfC,MAAM,EACNC,UAAU,EACVC,MAAO,IACPC,UAAU,EACVC,cAAe,IACfC,aAAcT,EAAS5L,OAAS,EAAI,EAAI4L,EAAS5L,OACjDsM,eAAgB,EAChBC,eAAe,EACfC,WAAY,CACV,CACEC,WAAY,KACZV,SAAU,CACRM,aAAcT,EAAS5L,OAAS,EAAI,EAAI4L,EAAS5L,OACjDsM,eAAgB,EAChBL,UAAU,EACVD,MAAM,IAGV,CACES,WAAY,IACZV,SAAU,CACRM,aAAc,EACdC,eAAgB,IAGpB,CACEG,WAAY,IACZV,SAAU,CACRM,aAAc,EACdC,eAAgB,MAOxB,OACE,yBAAKhJ,UAAU,aACb,yBAAKA,UAAU,cACb,kBAAC,OAAD,CAAMA,UAAU,sBAAsBM,GAAIwO,EAAc9M,aACtD,kBAAC,IAAD,CAAiBG,KAAK,eACrB,IAFH,UAGA,4BAAKwH,EAAUK,QACd4E,GAAW,6BAAMA,GACjBjF,EAAUG,OACT,2BACE,kBAAC,IAAD,CAAQF,OAAO,cACZ,IAAIC,KAAKF,EAAUG,SAI1B,uBACEvG,wBAAyB,CACvBC,OAAQpF,EAAYuL,EAAU5H,gBAGlC,yBAAK/B,UAAU,SAASuD,wBAAyB,CAC/CC,OAAQpF,EAAYuL,EAAUwF,WAGhC,yBAAKnP,UAAU,QACZsI,GAAYA,EAAS5L,OAAS,GAC7B,kBAAC,IAAW+L,EACTH,EAAS3G,KAAI,SAAAyL,GAAG,OACf,yBAAKtL,IAAKsL,GACR,yBACEpN,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU8F,EAAI/F,OAAO,GAArB,cAQ1BiB,GAAgC,IAApBA,EAAS5L,SAAiBiN,EAAUyF,aAAe9G,EAAS3G,KAAI,SAAAyL,GAAG,OAC9E,yBAAKtL,IAAKsL,GACR,yBACEpN,UAAU,oBACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU8F,EAAI/F,OAAO,GAArB,aAMtBsC,EAAUyF,aACT,yBAAKpP,UAAU,gBACb,4BAAQkB,MAAM,QAAQT,IAAK,0CAA4CkJ,EAAUyF,YAAa7B,YAAY,IAAIC,MAAM,0EAA0E/G,MAAM,a,OC3HnM,SAAS+I,GAAU7K,GAAQ,IAAD,EACJC,qBAAWC,IADP,mBAChCrG,EADgC,KACvBgM,EADuB,OAEZ5F,qBAAWE,IAA7BrG,EAF8B,oBAE9BA,aACHgR,EAAejR,EAAQvC,UAC1B0F,KAAI,SAACY,GAAD,OAAOA,EAAEC,UAAYD,EAAEI,QAAUJ,EAAEK,YAAcL,EAAEM,SAAWN,EAAEK,gBACpEH,QAAO,SAAC1F,EAAGC,GAAJ,OAAUD,EAAIC,IAAG,GACrBf,EAAYuC,EAAQvC,UAAUsM,MAAK,SAACxL,EAAGC,GAAJ,OACvCF,EAAOC,EAAEyD,OAAQxD,EAAEwD,WAEfpD,EAAUgC,cAEVsQ,EAA4B,SAACnO,EAAGK,GACpCL,EAAEC,iBACFgJ,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,YACHsC,EAAQvC,UAAUuB,QAAO,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,kBAKzDgC,EAAkB,SAAC/J,EAAGK,GAC1BL,EAAEC,iBACF,IAAM+J,EAAO/M,EAAQvC,UAAUuP,MAC7B,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAE3BiC,GACFA,EAAK/I,WACLgI,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,YAAKsC,EAAQvC,cAGvBuO,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,GAAD,mBAAMsC,EAAQvC,WAAd,gBAA8B2F,EAA9B,CAAoCY,SAAU,SAKrDiJ,EAAqB,SAAClK,EAAGK,GAC7BL,EAAEC,iBACF,IAAM+J,EAAO/M,EAAQvC,UAAUuP,MAC7B,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAE/B,GAAIiC,EACF,GAAsB,IAAlBA,EAAK/I,SAAgB,CACvB,IAAMkJ,EAAY,YACblN,EAAQvC,UAAUuB,QAAO,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,eAE3DkB,EAAgB,CACdxO,KAAM,kBACNE,QAASwP,SAGXH,EAAK/I,WACLgI,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,YAAKsC,EAAQvC,cAM7B,OACE,yBAAK+D,UAAU,aACb,yBAAKA,UAAU,WACb,wBAAIA,UAAU,SAAd,eACEvB,EAAayD,iBACb,6BACE,uBACEqB,wBAAyB,CACvBC,OAAQpF,EAAYK,EAAauH,6BAIrC,kBAAC,UAAD,CACEhG,UAAU,qCACVM,GAAG,IACHD,QAAS,SAACkB,GACRA,EAAEC,iBACFY,IAAQC,MAAM,CACZC,SAAU,UACVvG,OAAQ,mBAEV2L,gBAAc1G,SAAS,GACvB5D,EAAQa,KAAK,aAGf,kBAAC,IAAD,CAAiBkE,KAAK,UAbxB,oBAiBH1D,EAAayD,iBAAwC,IAArBjG,EAAUS,QACzC,6BACE,kBAACmL,EAAA,EAAD,KACE,yBAAK7H,UAAU,mBACb,yBAAKA,UAAU,eACb,yBAAKA,UAAU,aACb,2DAGA,qGAOR,4BACEA,UAAU,qCACVK,QAAS,SAACkB,GACRA,EAAEC,iBACFY,IAAQC,MAAM,CACZC,SAAU,UACVvG,OAAQ,mBAEVqB,EAAQa,KAAK,aAGf,kBAAC,IAAD,CAAiBkE,KAAK,UAXxB,oBAeHlG,EAAUS,OAAS,GAClB,kBAACmL,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAKE,GAAG,IAAI4E,GAAG,KACb,yBAAK5M,UAAU,qBACb,2BAAOA,UAAU,2BACf,+BACE,4BACE,6BACA,6BACA,wCACA,wBAAIA,UAAU,cAAd,UACA,wBAAIA,UAAU,eAAd,YACA,wBAAIA,UAAU,cAAd,cAGJ,+BACG/D,EAAUS,OAAS,GAClBT,EAAU0F,KAAI,SAACC,EAAMyH,GACnB,OACE,wBAAIvH,IAAKuH,GACP,4BACE,kBAAC,IAAD,CACEnI,MAAM,kBACNiB,KAAK,QACLnC,UAAU,qBACVK,QAAS,SAACkB,GAAD,OACPmO,EAA0BnO,EAAGK,OAInC,4BACGA,EAAK0G,UACJ,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU1F,EAAK0G,SAC3B7L,MAAM,KAAK,GACX4K,OAAO,GAFK,UAMnBzF,EAAK0G,UACL,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,4CAKxB,4BACE,2BAAI1F,EAAKpB,QACRoB,EAAKmJ,WACJ,6BAAMnJ,EAAKmJ,UAAUhJ,cAGzB,wBAAI/B,UAAU,cAAd,KACK4B,EAAKe,QAAUf,EAAKgB,YAAchB,EAAKiB,SAAWjB,EAAKgB,aAAaE,QAAQ,IAEjF,wBAAI9C,UAAU,eACZ,yBAAKA,UAAU,YACb,2BACEhE,KAAK,SACLwM,MAAM,IACNxI,UAAU,gBACVK,QAAS,SAACkB,GAAD,OAAO+J,EAAgB/J,EAAGK,MAErC,2BAAO+N,UAAQ,EAACnH,MAAO5G,EAAKY,WAC5B,2BACExG,KAAK,SACLwM,MAAM,IACNmH,SAAU/N,EAAKY,UAAY,EAC3BxC,UACE4B,EAAKY,UAAY,EACb,SACA,iBAENnC,QAAS,SAACkB,GAAD,OAAOkK,EAAmBlK,EAAGK,QAI5C,wBAAI5B,UAAU,cAAd,MACM4B,EAAKe,QAAUf,EAAKgB,YAAchB,EAAKiB,SAAWjB,EAAKgB,aAAehB,EAAKY,UAAUM,QAAQ,UAO/G,yBAAK9C,UAAU,aACZ/D,EAAUS,OAAS,GAClBT,EAAU0F,KAAI,SAACC,EAAMyH,GACnB,OACE,kBAACxB,EAAA,EAAD,CAAK/F,IAAKuH,GACR,kBAACvB,EAAA,EAAD,CAAKC,GAAG,IAAI/H,UAAU,iBACnB4B,EAAK0G,UACJ,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU1F,EAAK0G,SAC3B7L,MAAM,KAAK,GACX4K,OAAO,GAFK,UAMnBzF,EAAK0G,UACL,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,4CAKxB,kBAACQ,EAAA,EAAD,CAAKC,GAAG,KACN,yBAAK/H,UAAU,mBACb,8BAAO4B,EAAKpB,QACZ,kBAAC,IAAD,CACEU,MAAM,kBACNiB,KAAK,QACLnC,UAAU,qBACVK,QAAS,SAACkB,GAAD,OACPmO,EAA0BnO,EAAGK,OAInC,2BAAO5B,UAAU,+BACf,+BACE,4BACE,sCACA,wBAAIA,UAAU,cAAd,KACK4B,EAAKe,QAAUf,EAAKgB,YAAchB,EAAKiB,SAAWjB,EAAKgB,aAAaE,QAAQ,KAGnF,4BACE,wCACA,wBAAI9C,UAAU,cACZ,yBAAKA,UAAU,YACb,2BACEhE,KAAK,SACLwM,MAAM,IACNxI,UAAU,gBACVK,QAAS,SAACkB,GAAD,OACP+J,EAAgB/J,EAAGK,MAGvB,2BACE+N,UAAQ,EACRnH,MAAO5G,EAAKY,WAEd,2BACExG,KAAK,SACLwM,MAAM,IACNmH,SAAU/N,EAAKY,UAAY,EAC3BxC,UACE4B,EAAKY,UAAY,EACb,SACA,iBAENnC,QAAS,SAACkB,GAAD,OACPkK,EAAmBlK,EAAGK,SAMhC,4BACE,wCACA,wBAAI5B,UAAU,cAAd,MAEK4B,EAAKe,QAAUf,EAAKgB,YAAchB,EAAKiB,SAAWjB,EAAKgB,aAAehB,EAAKY,UAAUM,QACxF,eAaxB,kBAACgF,EAAA,EAAD,CAAKE,GAAG,IAAI4E,GAAG,KACb,yBAAK5M,UAAU,mBACb,wBAAIA,UAAU,SAAd,qBACA,6BACA,yBAAKA,UAAU,WACb,uCACA,0BAAMA,UAAU,QACd,gCAAMyP,EAAa3M,QAAQ,OAIjC,yBAAK9C,UAAU,YACb,kBAAC,UAAD,CACEA,UAAU,gCACVM,GAAG,qBAFL,oBAMA,kBAAC,UAAD,CACEN,UAAU,qCACVM,GAAG,IACHD,QAAS,SAACkB,GACRA,EAAEC,iBACFY,IAAQC,MAAM,CACZC,SAAU,UACVvG,OAAQ,mBAEV2L,gBAAc1G,SAAS,GACvB5D,EAAQa,KAAK,aAGf,kBAAC,IAAD,CAAiBkE,KAAK,UAbxB,0B,WChVV+L,IADUC,2HAAYC,uBAAyB,IAC5B,iBAElB,SAASwB,GAAqBC,GACnC,OAAOtB,EAAKvQ,IAAIkQ,GAAS,WAAa2B,GAGjC,SAASC,GAAqBC,GACnC,OAAOxB,EAAKvQ,IAAIkQ,GAAS,uBAAyB6B,GAG7C,SAASC,GAAqBH,GACnC,OAAOtB,EAAKvQ,IAAIkQ,GAAS,iBAAmB2B,GAGvC,SAASI,GAAqBJ,EAAOK,GAC1C,OAAO3B,EAAKvQ,IAAIkQ,GAAS,uBAAyB2B,EAAQ,aAAeK,GAGpE,SAASC,GAAmBD,EAAUE,GAC3C,OAAO7B,EAAKN,IAAIC,GAAS,iBAAmBgC,EAAUE,GCdzC,SAASC,GAAgB1L,GAAQ,IAAD,EACf9F,mBAAS,MADM,mBACtC+P,EADsC,KAC7BC,EAD6B,OAElBjK,qBAAWE,IAA7BrG,EAFoC,oBAEpCA,aACDsR,EAAUR,cAAVQ,MA6BR,OA5BArQ,qBAAU,WAAM,4CACd,4BAAA3C,EAAA,+EAE2B+S,GAAqBC,GAFhD,OAG4B,OADlBpC,EAFV,QAGiBqB,SACW,IAAlBrB,EAAS9P,KAEXgR,EAAWpQ,EAAa6R,sBAM1BzB,EAAW,qCAZjB,gDAeQ,KAAIlB,SAAS9P,KAAKqD,MACpB2N,EAAW,KAAIlB,SAAS9P,KAAKqD,OAE7B2N,EACE,6GAnBR,0DADc,uBAAC,WAAD,wBAyBdI,KACC,CAACc,EAAOtR,EAAa6R,uBAGtB,yBAAKtQ,UAAU,aACb,yBAAKA,UAAU,oBACb,wEACA,yBAAKA,UAAU,SACX4O,GAAW,2DACZA,GACC,yBAAK5O,UAAU,OACb,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,eACb,mCACA,yBAAKA,UAAU,aACb,uBACEuD,wBAAyB,CACvBC,OAAQpF,EAAYwQ,a,cC7C7B,SAAS2B,GAAM5L,GAAQ,IAAD,EACRC,qBAAWE,IAA7BrG,EAD0B,oBAC1BA,aAET,OACE,yBAAKuB,UAAU,SACb,yBAAKA,UAAU,aACb,kBAAC6H,EAAA,EAAD,CAAK7H,UAAU,qBACb,kBAAC8H,EAAA,EAAD,KACE,uBAAGvE,wBAAyB,CAC1BC,OAAQpF,EAAYK,EAAa2H,+BAKvC,kBAACyB,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAKC,GAAG,KAAKyI,GAAG,IAAI5D,GAAG,IAAI5M,UAAU,QACnC,yBAAKA,UAAU,sBACb,mCACA,sCACA,qJAIA,kBAAC,IAAD,CAAiBA,UAAU,OAAOmC,KAAK,YAG3C,kBAAC2F,EAAA,EAAD,CAAKC,GAAG,KAAKyI,GAAG,IAAI5D,GAAG,IAAI5M,UAAU,QACnC,yBAAKA,UAAU,sBACb,mCACA,0CACA,oJAIA,kBAAC,IAAD,CACEA,UAAU,OACVmC,KAAK,oBAIX,kBAAC2F,EAAA,EAAD,CAAKC,GAAG,KAAKyI,GAAG,IAAI5D,GAAG,IAAI5M,UAAU,QACnC,yBAAKA,UAAU,sBACb,mCACA,qDACA,0LAKA,kBAAC,IAAD,CAAiBA,UAAU,OAAOmC,KAAK,WAG3C,kBAAC2F,EAAA,EAAD,CAAKC,GAAG,KAAKyI,GAAG,IAAI5D,GAAG,IAAI5M,UAAU,QACnC,yBAAKA,UAAU,sBACb,mCACA,qDACA,yKAKA,kBAAC,IAAD,CACEA,UAAU,OACVmC,KAAK,kBCpEN,SAASsO,GAAY9L,GAClC,OACE,yBAAK3E,UAAU,aACb,yBAAKA,UAAU,gBACb,iDACA,kBAACuQ,GAAD,Q,oBCIO,SAASG,GAAc/L,GAAQ,IAAD,EAChBC,qBAAWE,IAA7BrG,EADkC,oBAClCA,aADkC,EAEbI,mBAAS,IAFI,mBAEpC+P,EAFoC,KAE3BC,EAF2B,OAGnBhQ,mBAAS,MAHU,mBAGpChB,EAHoC,KAG9B8S,EAH8B,OAIjB9R,mBAAS,CAAEiL,MAAO,GAAI8G,KAAM,KAJX,mBAIpCR,EAJoC,KAI7BS,EAJ6B,OAKLhS,oBAAS,GALJ,mBAKpCiS,EALoC,KAKvBC,EALuB,KAMnCzT,EAAW+B,cAAX/B,OACFuS,EAAQ,IAAInS,gBAAgBJ,GAAQU,IAAI,UAAY,GACpDgT,EAAM,IAAItT,gBAAgBJ,GAAQU,IAAI,QAAU,GARX,EASXa,oBAAS,GATE,mBASpCoS,EAToC,KASzBC,EATyB,OAUTrS,oBAAS,GAVA,mBAUpCsS,EAVoC,KAUxBC,EAVwB,KAa3C1R,qBAAU,WAAM,4CACd,4BAAA3C,EAAA,yDACgB,KAAV8S,GAAwB,KAARmB,EADtB,gBAEInC,EAAW,2BAFf,gDAM6BoB,GAAqBJ,EAAOmB,GANzD,QAMYrD,EANZ,QAOmB9P,KAAK1B,SAChBwU,EAAQhD,EAAS9P,MARzB,kDAWU,KAAI8P,SAAS9P,KAAKqD,MACpB2N,EAAW,KAAIlB,SAAS9P,KAAKqD,OAE7B2N,EACE,6GAfV,2DADc,uBAAC,WAAD,wBAsBdI,KACC,CAACY,EAAOmB,IAEX,IAAMK,EAAW,uCAAG,WAAO9P,GAAP,iBAAAxE,EAAA,yDAClBwE,EAAEC,iBADgB,UAGZ4O,EAAMtG,QAASsG,EAAMQ,KAHT,wBAIdM,GAAW,GACLI,EAAa,IAAIzH,KAAqB,MAAhBuG,EAAMtG,MAAgBrL,EAAa8S,OAAOjT,QAAQ,WAAY8R,EAAMQ,KAAO,KAAOnS,EAAa+S,OAAOlT,QAAQ,WAAY8R,EAAMQ,KAAO,MALrJ,SAMST,GAAmBa,EAAK,CAAEZ,MAAOkB,EAAYzB,MAAOA,EAAOE,MAAOlS,EAAK1B,QAAQ4T,QANxF,OAMRpC,EANQ,OAOduD,GAAW,IACW,IAAlBvD,EAAS9P,MACXkT,GAAe,GACfrJ,gBAAc1G,SAAS,IAEvB6N,EAAW,gCAZC,0DAiBhBqC,GAAW,GACP,KAAIvD,SAAS9P,KAAKqD,MACpB2N,EAAW,KAAIlB,SAAS9P,KAAKqD,OAE7B2N,EACE,6GAtBY,0DAAH,sDA4BX4C,EAAW,uCAAG,WAAOlQ,GAAP,eAAAxE,EAAA,6DAClBwE,EAAEC,iBACF4P,GAAY,GAFM,kBAIOjB,GAAmBa,EAAK,CAAEZ,MAAO,KAAMP,MAAOA,EAAOE,MAAOlS,EAAK1B,QAAQ4T,QAJhF,OAIVpC,EAJU,OAKhByD,GAAY,IACU,IAAlBzD,EAAS9P,MACXkT,GAAe,GACfrJ,gBAAc1G,SAAS,IAEvB6N,EAAW,iCAVG,kDAahBuC,GAAY,GACR,KAAIzD,SAAS9P,KAAKqD,MACpB2N,EAAW,KAAIlB,SAAS9P,KAAKqD,OAE7B2N,EACE,6GAlBY,0DAAH,sDAyBjB,IAAKhR,EACH,OAAI+Q,EACK,yBAAK5O,UAAU,aAAY,yBAAKA,UAAU,mBAAmB4O,IAE7D,yBAAK5O,UAAU,aAAY,yBAAKA,UAAU,mBAAf,uBAGtC,IAAM0R,EAAS7T,EAAK8T,OAAOD,OAAS7T,EAAK8T,OAAOD,OAAS,GACnDE,EAAS/T,EAAK8T,OAAOC,OAAS/T,EAAK8T,OAAOC,OAAS,GACzD,OACE,yBAAK5R,UAAU,aACb,yBAAKA,UAAU,mBACZ8Q,IAAgBV,EAAMtG,OAAU,+CAChCgH,GAAeV,EAAMtG,OAAU,uDAC9BgH,GAAgB,gDAClB,sCAAYjT,EAAK1B,QAAQqE,OAAzB,IAAkC3C,EAAK1B,QAAQ8H,UAC/C,yBAAKjE,UAAU,QAAf,uDAAuE,kBAAC,IAAD,CAAQ4J,OAAO,SACnF,IAAIC,KAAKhM,EAAKgU,OAAOC,UADxB,KAGA,yBAAK9R,UAAU,QAAf,QAA4BvB,EAAasT,YAAc,KAAO,GAA9D,eACE,4BACE,4BAAI,kBAAC,IAAD,CAAQnI,OAAO,SAChB,IAAIC,KAAKpL,EAAa8S,SAEvB,0BAAMvR,UAAU,QAAhB,OAA6BvB,EAAauT,YAA1C,MAA0DvT,EAAawT,YAAvE,SAEDxT,EAAasT,aACZ,4BAAI,kBAAC,IAAD,CAAQnI,OAAO,SAChB,IAAIC,KAAKpL,EAAa+S,SAEvB,0BAAMxR,UAAU,QAAhB,OAA6BvB,EAAayT,YAA1C,MAA0DzT,EAAasT,YAAvE,WAKPjB,GAA+B,MAAhBV,EAAMtG,OAAkB,6BACtC,8DAAgC,2BAAG,kBAAC,IAAD,CAAQF,OAAO,SAC/C,IAAIC,KAAKpL,EAAa8S,UADzB,UAEoB,2BAAInB,EAAMQ,MAF9B,wCAGA,yBAAK5Q,UAAU,QAAf,oBAED8Q,GAA+B,MAAhBV,EAAMtG,OAAkB,6BACtC,8DAAgC,2BAAG,kBAAC,IAAD,CAAQF,OAAO,SAC/C,IAAIC,KAAKpL,EAAa+S,UADzB,UAEoB,2BAAIpB,EAAMQ,MAF9B,wCAGA,yBAAK5Q,UAAU,QAAf,oBAED8Q,IAAgBV,EAAMtG,OAAU,6BAC/B,yBAAK9J,UAAU,aAAf,2FACA,kBAAC,UAAD,CAASM,GAAG,IAAID,QAAS,WAAQV,OAAOoP,SAAWpP,OAAOoP,SAAS1R,SAAWsC,OAAOoP,SAASzR,QAAW0C,UAAU,sCAAnH,wBACA,yBAAKA,UAAU,QAAf,qBAGA8Q,GACA,qCACIjT,EAAKgU,OAAOzB,OACZ,oCACE,kEACA,qFAGHvS,EAAKgU,OAAOzB,OACX,oCACE,sEAAyC,IAAzC,IAA8C,2BAC5C,kBAAC,IAAD,CAAQxG,OAAO,SACZ,IAAIC,KAAKhM,EAAKgU,OAAOzB,SAF1B,UAIY,IACV,2BACE,kBAAC,IAAD,CAAQxG,OAAO,SACZ,IAAIC,KAAKhM,EAAKgU,OAAOzB,SAP5B,QAWA,+GAIgB,KAAb,OAANsB,QAAM,IAANA,OAAA,EAAAA,EAAQhV,SAAmC,KAAb,OAANkV,QAAM,IAANA,OAAA,EAAAA,EAAQlV,SAC/B,yBAAKsD,UAAU,QAAO,oFAItB0R,EAAOhV,OAAS,GAAKkV,EAAOlV,OAAS,GACrC,kBAACmP,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAK9H,UAAU,oBAC7B,4BAAQwI,MAAO4H,EAAMtG,MAAO9J,UAAU,uCAAuCiM,SAAU,SAAC1K,GAAQsP,EAAS,CAAE/G,MAAOvI,EAAEuC,OAAO0E,MAAOoI,KAAM,OACtI,iCACA,kBAAC,IAAD,CAAQwB,QAAQ,SAASxI,OAAO,QAAQpB,MAAM,KAC3C,IAAIqB,KAAKpL,EAAa8S,SAEzB,kBAAC,IAAD,CAAQa,QAAQ,SAASxI,OAAO,QAAQpB,MAAM,KAC3C,IAAIqB,KAAKpL,EAAa+S,UAGV,MAAhBpB,EAAMtG,OACL,4BAAQkC,KAAK,QAAQ2D,UAAWS,EAAMtG,MAAOtB,MAAO4H,EAAMQ,KAAM5Q,UAA2B,KAAhBoQ,EAAMtG,OAA+B,KAAfsG,EAAMQ,KAAc,mDAAqD,wCAAyC3E,SAAU,SAAC1K,GAAQsP,EAAS,eAAKT,EAAN,CAAaQ,KAAMrP,EAAEuC,OAAO0E,WACxQ,iCADF,OAEGkJ,QAFH,IAEGA,OAFH,EAEGA,EAAQ/P,KAAI,SAAC0Q,GAAD,OAAQ,4BAAQvQ,IAAKuQ,GAAKA,OAG1B,MAAhBjC,EAAMtG,OACL,4BAAQkC,KAAK,QAAQ2D,UAAWS,EAAMtG,MAAOtB,MAAO4H,EAAMQ,KAAM5Q,UAA2B,KAAhBoQ,EAAMtG,OAA+B,KAAfsG,EAAMQ,KAAc,mDAAqD,wCAAyC3E,SAAU,SAAC1K,GAAQsP,EAAS,eAAKT,EAAN,CAAaQ,KAAMrP,EAAEuC,OAAO0E,WACxQ,iCADF,OAEGoJ,QAFH,IAEGA,OAFH,EAEGA,EAAQjQ,KAAI,SAAC0Q,GAAD,OAAQ,4BAAQvQ,IAAKuQ,GAAKA,QAGzCjC,EAAMtG,OACN,4BAAQkC,KAAK,SAAS2D,UAAQ,EAAC3P,UAAU,yCACvC,oCAQR0R,EAAOhV,OAAS,GAAuB,IAAlBkV,EAAOlV,QAC5B,kBAACmP,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAK9H,UAAU,oBAC7B,kBAAC,IAAD,CAAQoS,QAAQ,MAAMpS,UAAU,0BAA0B4J,OAAO,SAC9D,IAAIC,KAAKpL,EAAa8S,SAEzB,4BAAQ/I,MAAO4H,EAAMQ,KAAM5Q,UAAU,wCAAwCiM,SAAU,SAAC1K,GAAQsP,EAAS,eAAKT,EAAN,CAAatG,MAAO,IAAK8G,KAAMrP,EAAEuC,OAAO0E,WAC9I,iCADF,OAEGkJ,QAFH,IAEGA,OAFH,EAEGA,EAAQ/P,KAAI,SAAC0Q,GAAD,OAAQ,4BAAQvQ,IAAKuQ,GAAKA,SAM3B,IAAlBX,EAAOhV,QAAgBkV,EAAOlV,OAAS,GACvC,kBAACmP,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAK9H,UAAU,oBAC7B,kBAAC,IAAD,CAAQoS,QAAQ,MAAMpS,UAAU,0BAA0B4J,OAAO,SAC9D,IAAIC,KAAKpL,EAAa+S,SAEzB,4BAAQhJ,MAAO4H,EAAMQ,KAAM5Q,UAAU,wCAAwCiM,SAAU,SAAC1K,GAAQsP,EAAS,eAAKT,EAAN,CAAatG,MAAO,IAAK8G,KAAMrP,EAAEuC,OAAO0E,WAC9I,iCADF,OAEGoJ,QAFH,IAEGA,OAFH,EAEGA,EAAQjQ,KAAI,SAAC0Q,GAAD,OAAQ,4BAAQvQ,IAAKuQ,GAAKA,SAM/C,6BAAMzD,GACN,yBAAK5O,UAAU,YACb,kBAAC,UAAD,CAASM,GAAG,IAAIN,WAAYoQ,EAAMQ,MAASK,GAAcE,EAAgD,yCAAlC,gCAA4E9Q,QAASgR,GACzJJ,GACC,kBAACqB,GAAA,EAAD,CAASC,UAAU,SAASC,QAAQ,UAFxC,yBAKC3U,EAAKgU,OAAOzB,OAAU,kBAAC,UAAD,CAAS9P,GAAG,IAAIN,UAAYmR,GAAcF,EAAa,8CAAgD,qCAAsC5Q,QAASoR,IACzKN,GACA,kBAAC,IAAD,CAAiBhP,KAAK,UAEvBgP,GACC,kBAACmB,GAAA,EAAD,CAASC,UAAU,SAASC,QAAQ,UACnC,IANkB,sBC9PrC,IACMtE,IADUC,2HAAYC,uBAAyB,IAC5B,gBAElB,SAASqE,GAAc5U,GAC5B,OAAO0Q,EAAKP,KAAKE,GAAQrQ,G,sCCoBZ,SAAS6U,GAAgB/N,GAAQ,IAAD,YACF3B,YAAW,CAAC,iBADV,mBACtCC,EADsC,KAC7B0P,EAD6B,KAClBC,EADkB,OAEVhO,qBAAWC,IAFD,mBAEtCrG,EAFsC,KAE7BgM,EAF6B,OAGlB5F,qBAAWE,IAA7BrG,EAHoC,oBAGpCA,aAHoC,EAIPI,mBAAS,IAJF,mBAItCgU,EAJsC,KAIzBC,EAJyB,OAKDjU,oBAAS,GALR,mBAKtCkU,EALsC,KAKtBC,EALsB,OAMNnU,mBAAS,IANH,mBAMtCoU,EANsC,KAMrBC,EANqB,OAODrU,mBAAS,IAPR,mBAOtCsU,EAPsC,KAOtBC,EAPsB,OAQbvU,oBAAS,GARI,mBAQtCwU,EARsC,KAQ3BC,GAR2B,KASrCC,GAAqBC,eAArBD,iBATqC,GAUnB1U,mBAAS,CAAEiL,MAAO,GAAI8G,KAAM,KAVT,qBAUtCR,GAVsC,MAU/BS,GAV+B,SAWjBhS,mBAAS,IAXQ,qBAWtC6S,GAXsC,MAW9B+B,GAX8B,SAYjB5U,mBAAS,IAZQ,qBAYtC+S,GAZsC,MAY9B8B,GAZ8B,SAaX7U,oBAAS,GAbE,qBAatC8U,GAbsC,MAa3BC,GAb2B,SAef/U,mBAAS,CACrCgR,MAAO,GACPgE,cAAe,GACfrT,OAAQ,GACRyD,SAAU,GACV6P,SAAU,GACVC,qBAAqB,EACrBC,MAAO,GACPC,OAAQ,GACRC,UAAW,GACXC,kBAAmB,GACnBC,YAAa,GACbC,UAAU,IA3BiC,qBAetClY,GAfsC,MAe7BmY,GAf6B,SA6BXzV,oBAAS,GA7BE,qBA6BtC0V,GA7BsC,MA6B3BC,GA7B2B,SA8BoBC,eAAzDC,GA9BqC,GA8BrCA,SAAUC,GA9B2B,GA8B3BA,aAAcC,GA9Ba,GA8BbA,OAAQC,GA9BK,GA8BLA,SAAUC,GA9BL,GA8BKA,WA9BL,GAmCzCL,eAHQM,GAhCiC,GAgC3CL,SACcM,GAjC6B,GAiC3CL,aACQM,GAlCmC,GAkC3CL,OAGI1R,GAAczE,EAAa0E,aAAeF,EAAQ,qBAAkBG,EACpE8R,GAAc1O,sBAAW,sBAAC,gDAAAzJ,EAAA,yDAC9BmW,EAAY,IACZE,EAAkB,IAClBN,EAAe,IACfgC,KACsB,KAAlB3Y,GAAQ0T,OAA0C,KAA1B1T,GAAQ0X,cALN,uBAM5BX,EAAY,6DANgB,oDAULtD,GAAqBzT,GAAQ0T,OAVxB,QAWJ,OADlBlC,EAVsB,QAWfqB,QAAsC,MAApBrB,EAASqB,QACR,OAA1BrB,EAAS9P,KAAK1B,SAA8C,KAA1BwR,EAAS9P,KAAK1B,SAElDmY,GAAW,eAAKnY,GAAN,CAAekY,UAAU,EAAMc,UAAW,KACpDN,GAAS,SAAU,IACnBA,GAAS,WAAY,IACrBA,GAAS,WAAY,IACrBA,GAAS,QAAS,IAClBA,GAAS,SAAU,IACnBA,GAAS,YAAa,IACtBA,GAAS,oBAAqB,KAG1BlH,EAAS9P,KAAK1B,QAAQ0X,cAAcuB,SAAWjZ,GAAQ0X,eACzDS,GAAW,eACNnY,GADK,CAERqE,OAAQmN,EAAS9P,KAAK1B,QAAQqE,OAC9ByD,SAAU0J,EAAS9P,KAAK1B,QAAQ8H,SAChC6P,SAAQ,UAAEnG,EAAS9P,KAAK1B,QAAQ2X,gBAAxB,QAAoC,GAC5CE,MAAK,UAAErG,EAAS9P,KAAK1B,QAAQ6X,aAAxB,QAAiC,GACtCC,OAAM,UAAEtG,EAAS9P,KAAK1B,QAAQ8X,cAAxB,QAAkC,GACxCC,UAAS,UAAEvG,EAAS9P,KAAK1B,QAAQ+X,iBAAxB,QAAqC,GAC9CC,kBAAiB,UAAExG,EAAS9P,KAAK1B,QAAQgY,yBAAxB,QAA6C,GAC9DE,UAAU,EACVc,UAAWxH,EAAS9P,KAAK1B,QAAQgZ,aAEnCN,GAAS,SAAUlH,EAAS9P,KAAK1B,QAAQqE,QACzCqU,GAAS,WAAYlH,EAAS9P,KAAK1B,QAAQ8H,UAC3C4Q,GAAS,WAAYlH,EAAS9P,KAAK1B,QAAQ2X,UAC3Ce,GAAS,QAAD,UAAUlH,EAAS9P,KAAK1B,QAAQ6X,aAAhC,QAAyC,IACjDa,GAAS,SAAD,UAAWlH,EAAS9P,KAAK1B,QAAQ8X,cAAjC,QAA2C,IACnDY,GAAS,YAAD,UAAclH,EAAS9P,KAAK1B,QAAQ+X,iBAApC,QAAiD,IACzDW,GAAS,oBAAD,UAAsBlH,EAAS9P,KAAK1B,QAAQgY,yBAA5C,QAAiE,IAEnEkB,EAAa,IAAIxL,MAAK,IAAIA,MAAOyL,aAAY,IAAIzL,MAAO0L,cAAgB,IAC9E5C,EAAU,eAAgB,CACxB,OAAUhF,EAAS9P,KAAK1B,QAAQqE,OAChC,SAAYmN,EAAS9P,KAAK1B,QAAQ8H,SAClC,MAAS9H,GAAQ0T,MACjB,cAAiB1T,GAAQ0X,eACxB,CAAE2B,KAAM,IAAKC,QAAUJ,MAI1Bf,GAAW,eAAKnY,GAAN,CAAekY,UAAU,KACnCnB,EAAYzU,EAAaiX,uBAGzB9C,EAAa,iBAGbjF,EAAS9P,KAAK8T,SACZhE,EAAS9P,KAAK8T,OAAOD,QACvB+B,GAAU9F,EAAS9P,KAAK8T,OAAOD,QAE7B/D,EAAS9P,KAAK8T,OAAOC,QACvB8B,GAAU/F,EAAS9P,KAAK8T,OAAOC,UAInCsB,EAAYvF,EAASgI,YAvEK,kDA0ExB,KAAIhI,SAAS9P,MAAQ,KAAI8P,SAAS9P,KAAKqD,MACzCgS,EAAY,KAAIvF,SAAS9P,KAAKqD,OAG9BgS,EACE,qJA/EwB,0DAmF7B,CAAC/W,GAAS2Y,GAAYrW,EAAckU,EAAWC,EAAciC,KAE1De,GAAepP,sBAAW,sBAAC,8CAAAzJ,EAAA,+EAEN6S,GAAqB1M,GAAY2M,OAF3B,OAGL,OADlBlC,EAFuB,QAGhBqB,QAAsC,MAApBrB,EAASqB,QACR,OAA1BrB,EAAS9P,KAAK1B,SAA8C,KAA1BwR,EAAS9P,KAAK1B,SAElDmY,GAAW,eAAKnY,GAAN,CAAekY,UAAU,EAAMc,UAAW,KACpDN,GAAS,SAAU,IACnBA,GAAS,WAAY,IACrBA,GAAS,WAAY,IACrBA,GAAS,QAAS,IAClBA,GAAS,SAAU,IACnBA,GAAS,YAAa,IACtBA,GAAS,oBAAqB,KAG1BlH,EAAS9P,KAAK1B,QAAQ0X,cAAcuB,SAAWlS,GAAY2Q,eAC7DS,GAAW,eACNnY,GADK,CAER0X,cAAgB3Q,GAAY2Q,cAC5BhE,MAAO3M,GAAY2M,MACnBrP,OAAQmN,EAAS9P,KAAK1B,QAAQqE,OAC9ByD,SAAU0J,EAAS9P,KAAK1B,QAAQ8H,SAChC6P,SAAQ,UAAEnG,EAAS9P,KAAK1B,QAAQ2X,gBAAxB,QAAoC,GAC5CE,MAAK,UAAErG,EAAS9P,KAAK1B,QAAQ6X,aAAxB,QAAiC,GACtCC,OAAM,UAAEtG,EAAS9P,KAAK1B,QAAQ8X,cAAxB,QAAkC,GACxCC,UAAS,UAAEvG,EAAS9P,KAAK1B,QAAQ+X,iBAAxB,QAAqC,GAC9CC,kBAAiB,UAAExG,EAAS9P,KAAK1B,QAAQgY,yBAAxB,QAA6C,GAC9DE,UAAU,EACVc,UAAWxH,EAAS9P,KAAK1B,QAAQgZ,aAEnCN,GAAS,SAAUlH,EAAS9P,KAAK1B,QAAQqE,QACzCqU,GAAS,WAAYlH,EAAS9P,KAAK1B,QAAQ8H,UAC3C4Q,GAAS,WAAYlH,EAAS9P,KAAK1B,QAAQ2X,UAC3Ce,GAAS,QAAD,UAAUlH,EAAS9P,KAAK1B,QAAQ6X,aAAhC,QAAyC,IACjDa,GAAS,SAAD,UAAWlH,EAAS9P,KAAK1B,QAAQ8X,cAAjC,QAA2C,IACnDY,GAAS,YAAD,UAAclH,EAAS9P,KAAK1B,QAAQ+X,iBAApC,QAAiD,IACzDW,GAAS,oBAAD,UAAsBlH,EAAS9P,KAAK1B,QAAQgY,yBAA5C,QAAiE,IACzEnB,GAAkB,GAClB5Q,IAAQC,MAAM,CACZC,SAAU,kBACVvG,OAAQ,oBAKV6W,EAAa,gBAGbjF,EAAS9P,KAAK8T,SACZhE,EAAS9P,KAAK8T,OAAOD,QACvB+B,GAAU9F,EAAS9P,KAAK8T,OAAOD,QAE7B/D,EAAS9P,KAAK8T,OAAOC,QACvB8B,GAAU/F,EAAS9P,KAAK8T,OAAOC,UAInCsB,EAAYvF,EAASgI,YA1DM,gDA6DzB,KAAIhI,SAAS9P,MAAQ,KAAI8P,SAAS9P,KAAKqD,MACzCgS,EAAY,KAAIvF,SAAS9P,KAAKqD,OAG9BgS,EACE,qJAlEyB,yDAsE9B,CAAC/W,GAAS+G,GAAa0P,EAAciC,KAGxCnV,qBAAU,WACR,IAAImW,GAAe,EADL,4CAEd,sBAAA9Y,EAAA,sDACQyB,EAAQvC,WAA0C,IAA7BuC,EAAQvC,UAAUS,QAAkB6X,GAGzDsB,GAAgB3S,KAAgB/G,GAAQkY,UAC1CuB,KAHFhC,IAAa,GAFjB,4CAFc,sBAcd,OAdc,mCAadkC,GACO,WAELD,GAAe,KAEhB,CAACrX,EAAS+V,GAAWrR,GAAa0S,GAAczZ,KAEnD,IAAM4Z,GAAW9W,iBAAO,MAClB+W,GAAS,IAAIC,OACjB,2DAIF,GAAItC,GACF,OAAO,kBAAC,IAAD,CAAUrT,GAAG,YAEtB,IAAMrE,GAAYuC,EAAQvC,UAAUsM,MAAK,SAACxL,EAAGC,GAAJ,OACvCF,EAAOC,EAAEyD,OAAQxD,EAAEwD,WAEfiP,GAAexT,GAClB0F,KAAI,SAACY,GAAD,OAAOA,EAAEC,UAAYD,EAAEI,QAAUJ,EAAEK,YAAcL,EAAEM,SAAWN,EAAEK,gBACpEH,QAAO,SAAC1F,EAAGC,GAAJ,OAAUD,EAAIC,IAAG,GAErBkZ,GAAW,uCAAG,WAAOrG,GAAP,SAAA9S,EAAA,sEAEhBqW,EAAkB,qCAFF,SAGVpD,GAAqBH,GAHX,OAIhBuD,EAAkB3U,EAAa0X,4BAJf,gDAMhB/C,EAAkB,IACd,KAAIzF,SAAS9P,KAAKqD,MACpBgS,EAAY,KAAIvF,SAAS9P,KAAKqD,OAE9BgS,EACE,wGAXY,yDAAH,sDA0DXkD,GAAQ,uCAAG,WAAOvY,GAAP,uBAAAd,EAAA,6DACfuW,IAAW,GADI,SAEKC,GAAiB,mBAFtB,cAETxD,EAFS,OAGXsG,EAAiB,MAChBxY,EAAKkW,qBAAuB3D,GAAMtG,OAASsG,GAAMQ,OACpDyF,EAAiB,IAAIxM,KAAqB,MAAhBuG,GAAMtG,MAAgBrL,EAAa8S,OAAOjT,QAAQ,YAAa,IAAM8R,GAAMQ,MAAQnS,EAAa+S,OAAOlT,QAAQ,YAAa,IAAM8R,GAAMQ,QAE9J0F,EAAQ,CACZC,OAAQ,IACRC,QAASzG,EACTqE,YAAavW,EAAKuW,YAClBL,oBAAqBlW,EAAKkW,oBAC1B3D,MAAOiG,EACPla,QAASA,GACTF,UAAWuC,EAAQvC,UAAU0F,KAAI,SAACY,GAAD,MAAQ,CACvC+G,WAAY/G,EAAE+G,WACdmN,OAAQlU,EAAEK,YACVC,SAAUN,EAAEM,SACZ6T,MAAOnU,EAAEoU,aACTnU,SAAUD,EAAEC,cAnBD,mBAuBUiQ,GAAc6D,GAvBxB,QAuBP3I,EAvBO,OAwBb2F,IAAW,GACXlR,IAAQC,MAAM,CACZC,SAAU,kBACVvG,OAAQ,mBAEc,MAApB4R,EAASqB,QACXwF,IAAa,GACPa,EAAa,IAAIxL,MAAK,IAAIA,MAAOyL,aAAY,IAAIzL,MAAO0L,cAAgB,IAE9E5C,EAAU,eAAgB,CACxB,OAAUxW,GAAQqE,OAClB,SAAYrE,GAAQ8H,SACpB,MAAS9H,GAAQ0T,MACjB,cAAiB1T,GAAQ0X,eACxB,CAAE2B,KAAM,IAAKC,QAAUJ,IAC1B7K,EAAgB,CACdxO,KAAM,kBAER0L,gBAAc1G,SAAS,IAEvB8R,EAAenF,EAASgI,YA5Cb,kDA+CbrC,IAAW,GACP,KAAI3F,SAAS9P,KAAKqD,OAChB,KAAIyM,SAAS9P,KAAKqD,MAAMyE,WAAW,SACrC,KAAIgI,SAAS9P,KAAKqD,MAAQ,KAAIyM,SAAS9P,KAAKqD,MAAMmG,OAAO,GACrC,MAAhB+I,GAAMtG,MACR2J,GAAU/B,GAAOlU,QAAO,SAAAyM,GAAC,OAAIA,IAAMmG,GAAMQ,SAEzC8C,GAAU9B,GAAOpU,QAAO,SAAAyM,GAAC,OAAIA,IAAMmG,GAAMQ,UAG7CkC,EAAe,KAAInF,SAAS9P,KAAKqD,QAEjC4R,EACE,6GA5DS,0DAAH,sDAkEd,OACE,yBAAK9S,UAAU,aACb,yBAAKA,UAAU,oBACZuU,IACC,oCACE,4DACA,yBAAKvU,UAAU,gBACb,kBAAC6L,EAAA,EAAKhE,IAAN,KACE,yBAAK7H,UAAU,mBACb,yBAAKA,UAAU,eACb,mCACA,yBAAKA,UAAU,aACb,uBACEuD,wBAAyB,CACvBC,OAAQpF,EACgB,IAAtBjC,GAAQgZ,UACJ1W,EAAamY,qBACbnY,EAAaoY,oCAWnCtC,IACA,oCACE,gDACA,iDACA,kBAAC1I,EAAA,EAAD,CAAMiL,YAAU,GACd,kBAACjP,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAKC,GAAG,KAAKC,GAAG,KACd,yBAAKhI,UAAU,gBACb,2BAAOhE,KAAK,SAASwM,MAAM,YACzBuK,GAAkB,oCACjBtU,EAAasY,uBACZ,yBAAK/W,UAAU,sBACb,mCACA,yBAAKA,UAAU,aACb,uBACEuD,wBAAyB,CACvBC,OAAQpF,EACNK,EAAasY,4BAOzB,kBAAClL,EAAA,EAAKhE,IAAN,CAAU7H,UAAU,gBAClB,kBAAC6L,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAKC,GAAG,KAAK6E,GAAG,KAC9B,kBAACf,EAAA,EAAKmL,MAAN,8BACA,kBAACnL,EAAA,EAAKC,QAAN,CACE9P,KAAK,QACL+P,YAAY,wBACZkL,aAAc9a,GAAQ0T,MACtBqH,aAAa,QACblL,KAAK,QACLmL,UAAWlC,GAAQpF,MACnB5D,SAAU,SAAC1K,GACT+S,GAAW,CACTzE,MAAOtO,EAAEuC,OAAO0E,MAChBqL,cAAe1X,GAAQ0X,cACvBrT,OAAQ,GACRyD,SAAU,GACV6P,SAAU,GACVC,qBAAqB,EACrBC,MAAO,GACPC,OAAQ,GACRC,UAAW,GACXC,kBAAmB,GACnBC,YAAa,GACbC,UAAU,IAEZQ,GAAS,SAAU,IACnBA,GAAS,WAAY,IACrBA,GAAS,WAAY,IACrBA,GAAS,QAAS,IAClBA,GAAS,SAAU,IACnBA,GAAS,YAAa,IACtBA,GAAS,oBAAqB,KAEhC7V,IAAK+V,GAAU,CACbqC,SAAU,oBACVC,QAAS,CACP7O,MAAO,0DACPoG,QAAS,gCAIf,kBAAC/C,EAAA,EAAKC,QAAQwL,SAAd,CAAuBtb,KAAK,WAA5B,UACGiZ,GAAQpF,aADX,aACG,EAAejB,UAGpB,kBAAC/C,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAKC,GAAG,IAAI6E,GAAG,KAC7B,kBAACf,EAAA,EAAKmL,MAAN,kBACA,kBAACnL,EAAA,EAAKC,QAAN,CACE9P,KAAK,OACLub,UAAU,IACVL,aAAa,SACbnL,YAAY,GACZkL,aAAc9a,GAAQ0X,cACtB7H,KAAK,gBACLmL,UAAWlC,GAAQpB,cACnB2D,WAAY,SAACnV,GAEE,MADFA,EAAMoV,SAAWpV,EAAMqV,QAIhC1C,GAAcE,GAAdF,IAGJ/I,SAAU,SAAC1K,GACT+S,GAAW,CACT9T,OAAQ,GACRyD,SAAU,GACV6P,SAAU,GACVM,YAAa,GACbJ,MAAO,GACPC,OAAQ,GACRC,UAAW,GACXC,kBAAmB,GACnBJ,qBAAqB,EACrBlE,MAAO1T,GAAQ0T,MACfgE,cAAetS,EAAEuC,OAAO0E,MACxB6L,UAAU,IAEZQ,GAAS,SAAU,IACnBA,GAAS,WAAY,IACrBA,GAAS,WAAY,IACrBA,GAAS,QAAS,IAClBA,GAAS,SAAU,IACnBA,GAAS,YAAa,IACtBA,GAAS,oBAAqB,KAEhC7V,IAAK+V,GAAU,CAAEqC,SAAU,mBAE7B,kBAACvL,EAAA,EAAKC,QAAQwL,SAAd,CAAuBtb,KAAK,WAA5B,UACGiZ,GAAQpB,qBADX,aACG,EAAuBjF,UAG5B,kBAAC/C,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAKC,GAAG,IAAI6E,GAAG,KAC7B,kBAAC,UAAD,CACE5M,UACE7D,GAAQkY,SACJ,qCACA,2CAEN/T,GAAG,IACHY,MAAM,oBACNb,QAAS,SAACkB,GACRA,EAAEC,iBACFwT,GAAcE,GAAdF,KAGF,kBAAC,IAAD,CAAiB7S,KAAK,UAA2B,IAChDhG,GAAQkY,SAAW,WAAa,aAIvC,kBAAC,UAAD,CACE/T,GAAG,IACHN,UAAU,sBACVK,QAAS,SAACkB,GAAD,OAjRR,SAACA,GACtBA,EAAEC,iBACF0R,EAAY,IACZE,EAAkB,IAClBN,EAAe,IACf6E,wBAAa,CACXC,SAAU,YAAkB,IAAf/R,EAAc,EAAdA,QACX,OACE,yBAAK7F,UAAU,aACb,wDACA,2BACEhE,KAAK,OACLgD,IAAK+W,GACL/V,UAAU,0BACV+L,YAAY,qCAEd,yBAAK/L,UAAU,oBAAf,qBACA,2EACA,4BACEA,UAAU,iBACVK,QAAS,SAACkB,GACR,IAAMsO,EAAQkG,GAASxW,QAAQiJ,MACjB,KAAVqH,GAAiBmG,GAAO6B,KAAKhI,IAIjCqG,GAAYrG,GACZhK,KAJEtE,EAAEC,mBALR,UAcA,4BAAQxB,UAAU,gBAAgBK,QAASwF,GAA3C,cAiP4BiS,CAAevW,KAHjC,gCASDwR,GAAkB,oCAEjB,yBAAK/S,UAAU,sBACb,mCACA,yBAAKA,UAAU,aACZvB,EAAasZ,6BACZ,uBACExU,wBAAyB,CACvBC,OAAQpF,EACNK,EAAasZ,4BAA4BzZ,QAAQ,MAAO,MAAQ4E,GAAY1C,OAAS,IAAM0C,GAAYe,SAAW,YAK1H,kBAAC,UAAD,CACEjE,UAAU,qCACVM,GAAG,IACHY,MAAM,mBACNb,QAAS,SAACkB,GACRA,EAAEC,iBAEFoR,EAAa,gBACbI,GAAkB,GAClBsB,GAAW,CACT9T,OAAQ,GACRyD,SAAU,GACV6P,SAAU,GACVM,YAAa,GACbJ,MAAO,GACPC,OAAQ,GACRC,UAAW,GACXC,kBAAmB,GACnBJ,qBAAqB,EACrBlE,MAAO1T,GAAQ0T,MACfgE,cAAetS,EAAEuC,OAAO0E,MACxB6L,UAAU,IAEZQ,GAAS,SAAU,IACnBA,GAAS,WAAY,IACrBA,GAAS,WAAY,IACrBA,GAAS,QAAS,IAClBA,GAAS,SAAU,IACnBA,GAAS,YAAa,IACtBA,GAAS,oBAAqB,IAC9BzS,IAAQC,MAAM,CACZC,SAAU,kBACVvG,OAAQ,oBAIZ,kBAAC,IAAD,CAAiBoG,KAAK,UApCxB,wBA0CLgR,GACC,yBAAKnT,UAAU,eACb,yBAAKA,UAAU,aACZmT,EAAexN,WAAW,SACzB,kBAAC2M,GAAA,EAAD,CAASC,UAAU,SAASC,QAAQ,UAErCW,IAINF,GACC,yBAAKjT,UAAU,eACb,yBAAKA,UAAU,mBACb,uBACEuD,wBAAyB,CACvBC,OAAQpF,EAAY6U,QAM7B9W,GAAQkY,UAAYlY,GAAQgZ,UAAY,GACvC,yBAAKnV,UAAU,sBACb,mCACA,yBACEA,UAAU,YACVuD,wBAAyB,CACvBC,OAAQpF,EACNK,EAAauZ,8BAMtB7b,GAAQkY,UAAkC,IAAtBlY,GAAQgZ,WAC3B,yBAAKnV,UAAU,sBACb,mCACA,yBACEA,UAAU,YACVuD,wBAAyB,CACvBC,OAAQpF,EACNK,EAAawZ,0BAMvB,kBAACpM,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAKE,GAAG,KACtB,kBAAC6D,EAAA,EAAKmL,MAAN,eACA,kBAACnL,EAAA,EAAKC,QAAN,CACE9P,KAAK,OACL2T,UAAWxT,GAAQkY,SACnBtI,YAAY,oBACZkL,aAAc9a,GAAQqE,OACtBwL,KAAK,SACLC,SAAU,SAAC1K,GACT+S,GAAW,eAAKnY,GAAN,CAAeqE,OAAQe,EAAEuC,OAAO0E,UAE5C2O,UAAWvC,GAAOpU,QAAUrE,GAAQkY,SACpCrV,IAAK0V,GAAS,CAAE0C,SAAU,wBAE5B,kBAACvL,EAAA,EAAKC,QAAQwL,SAAd,CAAuBtb,KAAK,WAA5B,UACG4Y,GAAOpU,cADV,aACG,EAAeoO,UAGpB,kBAAC/C,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAKE,GAAG,KACtB,kBAAC6D,EAAA,EAAKmL,MAAN,iBACA,kBAACnL,EAAA,EAAKC,QAAN,CACE9P,KAAK,OACL2T,UAAWxT,GAAQkY,SACnBtI,YAAY,sBACZkL,aAAc9a,GAAQ8H,SACtB+H,KAAK,WACLC,SAAU,SAAC1K,GACT+S,GAAW,eACNnY,GADK,CAER8H,SAAU1C,EAAEuC,OAAO0E,UAGvB2O,UAAWvC,GAAO3Q,UAAY9H,GAAQkY,SACtCrV,IAAK0V,GAAS,CAAE0C,SAAU,wBAE5B,kBAACvL,EAAA,EAAKC,QAAQwL,SAAd,CAAuBtb,KAAK,WAA5B,UACG4Y,GAAO3Q,gBADV,aACG,EAAiB2K,WAKxB,kBAAC/C,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAKE,GAAG,KACtB,kBAAC6D,EAAA,EAAKmL,MAAN,oBACA,yBAAKhX,UAAU,kBACb,2BACEhE,KAAK,OACL2T,UAAU,EACV3P,UAAU,wBACVwI,MAAM,UAER,kBAACqD,EAAA,EAAKC,QAAN,CACE9P,KAAK,MACL2T,UAAWxT,GAAQkY,SACnBtI,YAAY,yBACZkL,aAAc9a,GAAQ2X,SACtB9H,KAAK,WACLC,SAAU,SAAC1K,GACT+S,GAAW,eACNnY,GADK,CAER2X,SAAUvS,EAAEuC,OAAO0E,UAGvB2O,UAAWvC,GAAOd,UAAY3X,GAAQkY,SACtCrV,IAAK0V,GAAS,CAAE0C,SAAU,yBAG9B,yBAAKpX,UAAU,eAAf,iDAGA,yBAAKA,UAAU,eAAf,uBACA,kBAAC6L,EAAA,EAAKC,QAAQwL,SAAd,CAAuBtb,KAAK,WAA5B,UACG4Y,GAAOd,gBADV,aACG,EAAiBlF,WAKtBnQ,EAAayZ,UACb,oCACE,kBAACrM,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAK9H,UAAU,QAC7B,kBAAC6L,EAAA,EAAKsM,MAAN,CAAY9X,QAAS,SAACkB,GACpB+S,GAAW,eACNnY,GADK,CAER4X,qBAAqB,EACrBmE,SAAU3W,EAAEuC,OAAOsU,WAErBvD,GAAS,uBAAuB,GAChChE,GAAS,CAAE/G,MAAO,GAAI8G,KAAM,MAE5B5E,KAAK,WACL2D,UAAWxT,GAAQkY,SACnBrY,KAAK,SACLmF,GAAG,+BACHkX,MAAM,mCACNrZ,IAAK0V,OAIVvY,GAAQ+b,UACP,yBAAKlY,UAAU,kBACb,kBAAC6L,EAAA,EAAKmL,MAAN,gCAEEtF,GAAOhV,OAAS,GAAKkV,GAAOlV,OAAS,GACrC,kBAACmP,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAK9H,UAAU,oBAC7B,4BAAQ2P,UAAWxT,GAAQkY,UAAYlY,GAAQ4X,oBAAqBvL,MAAO4H,GAAMtG,MAAO9J,UAAU,uCAAuCiM,SAAU,SAAC1K,GAAQsP,GAAS,CAAE/G,MAAOvI,EAAEuC,OAAO0E,MAAOoI,KAAM,OAClM,iCACA,kBAAC,IAAD,CAAQwB,QAAQ,SAASxI,OAAO,QAAQpB,MAAM,KAC3C,IAAIqB,KAAKpL,EAAa8S,SAEzB,kBAAC,IAAD,CAAQa,QAAQ,SAASxI,OAAO,QAAQpB,MAAM,KAC3C,IAAIqB,KAAKpL,EAAa+S,UAGV,MAAhBpB,GAAMtG,OACL,4BAAQkC,KAAK,QAAQhN,IAAK0V,GAAS,CAAE4D,SAAU,SAACC,GAAD,QAASpc,GAAQkY,UAA4B,KAAhBjE,GAAMtG,OAA+B,KAAfsG,GAAMQ,OAAchC,QAAS,4BAA8Be,UAAWxT,GAAQkY,UAAYlY,GAAQ4X,sBAAwB3D,GAAMtG,MAAOtB,MAAO4H,GAAMQ,KAAM5Q,UAAW7D,GAAQkY,UAA4B,KAAhBjE,GAAMtG,OAA+B,KAAfsG,GAAMQ,KAAc,mDAAqD,wCAAyC3E,SAAU,SAAC1K,GAAQsP,GAAS,eAAKT,GAAN,CAAaQ,KAAMrP,EAAEuC,OAAO0E,WACxd,iCACCkJ,GAAO/P,KAAI,SAAC0Q,GAAD,OAAQ,4BAAQvQ,IAAKuQ,GAAKA,OAGzB,MAAhBjC,GAAMtG,OACL,4BAAQkC,KAAK,QAAQhN,IAAK0V,GAAS,CAAE4D,SAAU,SAACC,GAAD,QAASpc,GAAQkY,UAA4B,KAAhBjE,GAAMtG,OAA+B,KAAfsG,GAAMQ,OAAchC,QAAS,4BAA8Be,UAAWxT,GAAQkY,UAAYlY,GAAQ4X,sBAAwB3D,GAAMtG,MAAOtB,MAAO4H,GAAMQ,KAAM5Q,UAAW7D,GAAQkY,UAA4B,KAAhBjE,GAAMtG,OAA+B,KAAfsG,GAAMQ,KAAc,mDAAqD,wCAAyC3E,SAAU,SAAC1K,GAAQsP,GAAS,eAAKT,GAAN,CAAaQ,KAAMrP,EAAEuC,OAAO0E,WACxd,iCACCoJ,GAAOjQ,KAAI,SAAC0Q,GAAD,OAAQ,4BAAQvQ,IAAKuQ,GAAKA,QAGxCjC,GAAMtG,OACN,4BAAQkC,KAAK,SAAS2D,UAAQ,EAAC3P,UAAU,yCACvC,oCAQR0R,GAAOhV,OAAS,GAAuB,IAAlBkV,GAAOlV,QAC5B,kBAACmP,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAK9H,UAAU,oBAC7B,kBAAC,IAAD,CAAQoS,QAAQ,MAAMpS,UAAU,0BAA0B4J,OAAO,SAC9D,IAAIC,KAAKpL,EAAa8S,SAEzB,4BAAQ5B,UAAWxT,GAAQkY,UAAYlY,GAAQ4X,oBAAqBvL,MAAO4H,GAAMQ,KAAM5Q,UAAU,wCAAwCiM,SAAU,SAAC1K,GAAQsP,GAAS,eAAKT,GAAN,CAAatG,MAAO,IAAK8G,KAAMrP,EAAEuC,OAAO0E,WAC1M,iCACCkJ,GAAO/P,KAAI,SAAC0Q,GAAD,OAAQ,4BAAQvQ,IAAKuQ,GAAKA,SAM1B,IAAlBX,GAAOhV,QAAgBkV,GAAOlV,OAAS,GACvC,kBAACmP,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAK9H,UAAU,oBAC7B,kBAAC,IAAD,CAAQoS,QAAQ,MAAMpS,UAAU,0BAA0B4J,OAAO,SAC9D,IAAIC,KAAKpL,EAAa+S,SAEzB,4BAAQ7B,UAAWxT,GAAQkY,UAAYlY,GAAQ4X,oBAAqBvL,MAAO4H,GAAMQ,KAAM5Q,UAAU,wCAAwCiM,SAAU,SAAC1K,GAAQsP,GAAS,eAAKT,GAAN,CAAatG,MAAO,IAAK8G,KAAMrP,EAAEuC,OAAO0E,WAC1M,iCACCoJ,GAAOjQ,KAAI,SAAC0Q,GAAD,OAAQ,4BAAQvQ,IAAKuQ,GAAKA,SAM5ClW,GAAQkY,UAA8B,IAAlB3C,GAAOhV,QAAkC,IAAlBkV,GAAOlV,QAClD,kBAACmP,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAK9H,UAAU,+BAA/B,kCAKJ,yBAAKA,UAAU,aACbuD,wBAAyB,CACvBC,OAAQpF,EACNK,EAAa+Z,4BAS1B/Z,EAAasV,qBACZ,oCACE,kBAAClI,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAK9H,UAAU,QAC7B,kBAAC6L,EAAA,EAAKsM,MAAN,CAAYlM,SAAU,SAAC1K,GACrB+S,GAAW,eACNnY,GADK,CAER+b,UAAU,EACVnE,oBAAqBxS,EAAEuC,OAAOsU,WAEhCvD,GAAS,YAAY,GACrBhE,GAAS,CAAE/G,MAAO,GAAI8G,KAAM,MAI5BjB,UAAWxT,GAAQkY,SACnBrI,KAAK,sBACLhQ,KAAK,SACLmF,GAAG,oCACHkX,MAAM,+BACNrZ,IAAK0V,OAIVvY,GAAQ4X,qBACP,yBAAK/T,UAAU,oBACb,yBAAKA,UAAY7D,GAAQ4X,oBAAiC,aAAX,SAC7CxQ,wBAAyB,CACvBC,OAAQpF,EACNK,EAAaga,4BAInB,kBAAC5M,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAKC,GAAG,KACtB,kBAAC8D,EAAA,EAAKmL,MAAN,cACA,kBAACnL,EAAA,EAAKC,QAAN,CACE9P,KAAK,OAEL2T,UAAWxT,GAAQ4X,oBACnBhI,YAAY,QACZvD,MAAOrM,GAAQ6X,MACfhI,KAAK,QACLC,SAAU,SAAC1K,GACT+S,GAAW,eAAKnY,GAAN,CAAe6X,MAAOzS,EAAEuC,OAAO0E,UAE3C2O,UAAWvC,GAAOZ,OAAS7X,GAAQkY,SACnCrV,IAAK0V,GAAS,CAAE4D,SAAU,SAACC,GAAD,QAASpc,GAAQ4X,qBAAyC,KAAlB5X,GAAQ6X,QAAepF,QAAS,wBAEpG,kBAAC/C,EAAA,EAAKC,QAAQwL,SAAd,CAAuBtb,KAAK,WAA5B,sBAIF,kBAAC6P,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAKC,GAAG,KACtB,kBAAC8D,EAAA,EAAKmL,MAAN,kBACA,kBAACnL,EAAA,EAAKC,QAAN,CACE9P,KAAK,OACL2T,UAAWxT,GAAQ4X,oBACnBhI,YAAY,OACZvD,MAAOrM,GAAQ8X,OACfjI,KAAK,SACLC,SAAU,SAAC1K,GACT+S,GAAW,eAAKnY,GAAN,CAAe8X,OAAQ1S,EAAEuC,OAAO0E,UAE5C2O,UAAWvC,GAAOX,QAAU9X,GAAQkY,SACpCrV,IAAK0V,GAAS,CAAE4D,SAAU,SAACC,GAAD,QAASpc,GAAQ4X,qBAA0C,KAAnB5X,GAAQ8X,SAAgBrF,QAAS,wBAErG,kBAAC/C,EAAA,EAAKC,QAAQwL,SAAd,CAAuBtb,KAAK,WAA5B,uBAKJ,kBAAC6P,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,IAAKC,GAAG,KACtB,kBAAC8D,EAAA,EAAKmL,MAAN,kBACA,kBAACnL,EAAA,EAAKC,QAAN,CACE9P,KAAK,OACL2T,UAAWxT,GAAQ4X,oBACnBhI,YAAY,YACZvD,MAAOrM,GAAQ+X,UACflI,KAAK,YACLC,SAAU,SAAC1K,GACT+S,GAAW,eAAKnY,GAAN,CAAe+X,UAAW3S,EAAEuC,OAAO0E,UAE/C2O,UAAWvC,GAAOV,WAAa/X,GAAQkY,SACvCrV,IAAK0V,GAAS,CAAE4D,SAAU,SAACC,GAAD,QAASpc,GAAQ4X,qBAA6C,KAAtB5X,GAAQ+X,YAAmBtF,QAAS,wBAExG,kBAAC/C,EAAA,EAAKC,QAAQwL,SAAd,CAAuBtb,KAAK,WAA5B,uBAKJ,kBAAC6P,EAAA,EAAKhE,IAAN,KACE,kBAACgE,EAAA,EAAKK,MAAN,CAAYiG,GAAIrK,KACd,kBAAC+D,EAAA,EAAKmL,MAAN,qCACA,kBAACnL,EAAA,EAAKC,QAAN,CACE9P,KAAK,OACL2T,UAAWxT,GAAQ4X,oBACnBhI,YAAY,wBACZvD,MAAOrM,GAAQgY,kBACfnI,KAAK,oBACLC,SAAU,SAAC1K,GACT+S,GAAW,eAAKnY,GAAN,CAAegY,kBAAmB5S,EAAEuC,OAAO0E,UAEvD2O,UAAWvC,GAAOT,kBAClBnV,IAAK0V,GAAS,CAAE4D,SAAU,SAACC,GAAD,QAASpc,GAAQ4X,qBAAuB5X,GAAQgY,kBAAkBzX,OAAS,KAAKkS,QAAS,yCAErH,kBAAC/C,EAAA,EAAKC,QAAQwL,SAAd,CAAuBtb,KAAK,WAA5B,0CAWZ,kBAAC6P,EAAA,EAAKK,MAAN,CAAYlM,UAAU,QACpB,kBAAC6L,EAAA,EAAKmL,MAAN,oBACA,kBAACnL,EAAA,EAAKC,QAAN,CACEqG,GAAG,WACHxC,UAAWxT,GAAQkY,SACnBrY,KAAK,OACLub,UAAU,MACVtL,SAAU,SAAC1K,GACT+S,GAAW,eACNnY,GADK,CAERiY,YAAa7S,EAAEuC,OAAO0E,UAG1BuD,YAAY,0BACZvD,MAAOrM,GAAQiY,YACfpI,KAAK,cACL0M,KAAK,IACL1Z,IAAK0V,QAKb,kBAAC5M,EAAA,EAAD,CAAKC,GAAG,KAAKC,GAAG,KACd,yBAAKhI,UAAU,kBACb,yBAAKA,UAAU,UAAf,aACA,2BAAOA,UAAU,kBACf,+BACE,4BACE,wCACA,wBAAIA,UAAU,cAAd,cAGJ,+BACG/D,GAAU0F,KAAI,SAACC,EAAMyH,GACpB,OACE,wBAAIvH,IAAKuH,GACP,4BACGzH,EAAKY,SADR,MACqBZ,EAAKpB,QAE1B,wBAAIR,UAAU,cAAd,KACK4B,EAAKY,UAAYZ,EAAKe,QAAUf,EAAKgB,YAAchB,EAAKiB,SAAWjB,EAAKgB,cAAcE,QAAQ,QAKzG,4BACE,4BACE,qCAEF,wBAAI9C,UAAU,cACZ,+BAAKyP,GAAa3M,QAAQ,WAQxC,kBAAC+E,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAKC,GAAG,KAAKC,GAAG,KACb7L,GAAQkY,UAAkC,IAAtBlY,GAAQgZ,WAC3B,yBAAKnV,UAAU,sBACb,mCACA,yBAAKA,UAAU,aACb,uBACEuD,wBAAyB,CACvBC,OAAQpF,EACNK,EAAaka,2BAOxBxc,GAAQkY,UAAYlY,GAAQgZ,UAAY,GACvC,yBAAKnV,UAAU,sBACb,mCACA,yBAAKA,UAAU,aACb,uBACEuD,wBAAyB,CACvBC,OAAQpF,EACNK,EAAama,+BAQxB/F,GACC,yBAAK7S,UAAU,iBACb,yBAAKA,UAAU,qBAAqB6Y,KAAK,SACvC,uBACEtV,wBAAyB,CACvBC,OAAQpF,EACNyU,QAQZ,yBAAK7S,UAAU,YACb,kBAAC,UAAD,CACEA,UACE7D,GAAQkY,WAAahB,EACjB,gCACA,yCAEN/S,GAAG,UACHD,QAAS,SAACkB,GACRA,EAAEC,iBACErF,GAAQkY,UAAUM,GAAayB,GAAbzB,KAGvBtB,GACC,kBAACf,GAAA,EAAD,CAASC,UAAU,SAASC,QAAQ,UAbxC,oBAiBA,kBAAC,UAAD,CACExS,UAAU,qCACVM,GAAG,UACHD,QAAS,SAACkB,GACRmG,gBAAc1G,SAAS,KAGzB,kBAAC,IAAD,CAAiBmB,KAAK,UAPxB,4B,OCtjCL,SAAS2W,GAASnU,GAC/B,OACE,yBAAK3E,UAAU,aACb,yBAAKA,UAAU,aACb,wD,oBCMO,SAAS+Y,GAAgBpU,GAAQ,IAAD,QACrCxD,EAAOoO,cAAPpO,GADqC,EAEPyD,qBAAWE,IAFJ,sBAEpC7I,EAFoC,EAEpCA,UAAWwC,EAFyB,EAEzBA,aAFyB,EAGVmG,qBAAWC,IAHD,mBAGtCrG,EAHsC,KAG7BgM,EAH6B,KAIzCwO,EAAWxa,EAAQvC,UAAUuP,MAAK,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe5G,OAAOvB,MAE/D8X,EAAeC,6BACf9b,EAAUgC,cAMhB,GAJK4Z,IACHA,EAAW/c,EAAUuP,MAAK,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe5G,OAAOvB,QAGtD6X,EACH,OAAO,kBAAC,IAAD,CAAU1Y,GAAG,SAGtB,IA2CMgI,EAAQ,UAAG0Q,EAAS1Q,gBAAZ,aAAG,EAAmB7L,MAAM,KACpCsO,EAAYiO,EAASjO,UACrBtC,EAAW,CACfC,MAAM,EACNC,UAAU,EACVC,MAAO,IACPE,cAAe,IACfD,UAAkB,OAARP,QAAQ,IAARA,OAAA,EAAAA,EAAU5L,QAAS,EAC7BqM,aAAc,EACdC,eAAgB,GAGZxG,EAAQ,oBAAGhE,EAAQvC,iBAAX,iBAAG,EAAmBuP,MAAK,SAAAjJ,GAAC,OAAIA,EAAE+G,aAAe0P,EAAS1P,qBAA1D,aAAG,EAAoE9G,gBAAvE,QAAmF,EAC3F8J,IAAe0M,EAASzM,aAAgByM,EAASxM,MAAQwM,EAASvM,gBAAkBjK,EAAY,MAAQwW,EAAStM,aAAejO,EAAayH,cAEnJ,OACE,yBAAKlG,UAAU,aACb,yBAAKA,UAAU,oBACb,kBAAC6H,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAKE,GAAG,KACN,yBAAKhI,UAAU,WACb,yBAAKA,UAAU,iCACb,kBAAC,OAAD,CAAMA,UAAU,UAAUM,GAAG,KAC3B,kBAAC,IAAD,CAAiB6B,KAAK,UAExB,mCACA,kBAAC,OAAD,CAAMnC,UAAU,UAAUM,GAAG,iBAA7B,UAGC0Y,EAAS3N,cACR,oCACE,mCACA,kBAAC,OAAD,CACErL,UAAU,UACVM,GACE,gBAAkB0Y,EAAS3N,aAAaJ,gBAGzC+N,EAAS3N,aAAatJ,cAI7B,mCACA,uBAAG/B,UAAU,wBAAwBgZ,EAASxY,SAE/C8H,GACC,kBAAC,IAAWG,EACTH,EAAS3G,KAAI,SAACyL,EAAK/D,GAClB,OACE,yBAAKvH,IAAKuH,EAAOrJ,UAAU,mBACzB,yBACEA,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAU8F,EAAI/F,OAAO,GAArB,eAQ3BiB,GACA,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,2CAIrB7I,EAAayD,kBAAoBoK,GAA2B,IAAb9J,GAC9C,yBAAKxC,UAAU,eAAf,oBAGN,kBAAC8H,EAAA,EAAD,CAAKE,GAAG,KACN,yBAAKhI,UAAU,WACb,yBAAKA,UAAU,+BACb,kBAAC,OAAD,CAAMA,UAAU,UAAUM,GAAG,KAC3B,kBAAC,IAAD,CAAiB6B,KAAK,UAExB,mCACA,kBAAC,OAAD,CAAMnC,UAAU,UAAUM,GAAG,iBAA7B,UAGC0Y,EAAS3N,cACR,oCACE,mCACA,kBAAC,OAAD,CACErL,UAAU,UACVM,GACE,gBAAkB0Y,EAAS3N,aAAaJ,gBAGzC+N,EAAS3N,aAAatJ,cAI7B,mCACA,uBAAG/B,UAAU,wBAAwBgZ,EAASxY,SAEhD,4BAAKwY,EAASxY,QACd,uBACER,UAAU,gBACVuD,wBAAyB,CACvBC,OAAQpF,EAAY4a,EAASjX,gBAGjC,6BACA,yBAAK/B,UAAU,kBACZ+K,IAAcA,EAAUG,eACvB,oCACGH,GACC,2BACE,2BAAIA,EAAUhJ,cAGjBgJ,EAAUzC,UACT,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAUyD,EAAUzC,SAASjB,OAC1C,GADa,UAQxB0D,GAAaA,EAAUG,eACtB,oCACE,6BAAMH,EAAUG,cAAcnJ,aAC7BgJ,GACC,2BACE,2BAAIA,EAAUhJ,cAGjBgJ,EAAUzC,UACT,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAUyD,EAAUzC,SAASjB,OAC1C,GADa,SAMpB0D,EAAUG,cAAc5C,UACvB,yBACEtI,UAAU,aACV+D,MAAO,CACLuD,gBAAgB,QAAD,OAAUyD,EAAUG,cAAc5C,SAASjB,OACxD,GADa,UASzB,wBAAIrH,UAAU,eAAd,IAA8BgZ,EAASrW,QAAUqW,EAASpW,YAAcoW,EAASnW,SAAWmW,EAASpW,YAArG,MAEF,+BACGnE,EAAayD,kBAAqBoK,GAA2B,IAAb9J,IACjD,kBAAC,OAAD,CACExC,UAAU,qCACVM,GAAG,IACHD,QAAS,YACP,OAAI4Y,QAAJ,IAAIA,OAAJ,EAAIA,EAAc5b,SAASsI,WAAW,YACpCvI,EAAQ+b,SAER/b,EAAQa,KAAK,aAIjB,kBAAC,IAAD,CAAiBkE,KAAK,UAXxB,uBAeD1D,EAAayD,kBAAoBoK,GAAc9J,EAAW,IACzD,oCACE,yBAAKxC,UAAU,sBACb,kBAAC,OAAD,CACEA,UACEsM,EAAa,mBACT,yCAENhM,GAAG,IACHD,QAAS,SAACkB,GACJ+K,IACFlK,IAAQC,MAAM,CACZC,SAAU,uBACVvG,OAAQ,qBAzOV,SAACwF,EAAGK,GAC1BL,EAAEC,iBACF,IAAM+J,EAAO/M,EAAQvC,UAAUuP,MAC7B,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAE3BiC,GACFA,EAAK/I,WACLgI,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,YAAKsC,EAAQvC,cAGvBuO,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,GAAD,mBAAMsC,EAAQvC,WAAd,gBAA8B2F,EAA9B,CAAoCY,SAAU,QA6NnC8I,CAAgB/J,EAAGyX,MAIvB,kBAAC,IAAD,CAAiB7W,KAAK,UAExB,2BACEnC,UAAU,eACV2P,UAAU,EACVnH,MAAOwQ,EAASxW,SAAWwW,EAASxW,SAAW,IAEjD,kBAAC,OAAD,CACExC,UACIgZ,EAASxW,UAAYwW,EAASxW,SAAW,EAEvC,mBADA,kCAGNlC,GAAG,IACHD,QAAS,SAACkB,GACRa,IAAQC,MAAM,CACZC,SAAU,uBACVvG,OAAQ,oBA7OL,SAACwF,EAAGK,GAC7BL,EAAEC,iBACF,IAAM+J,EAAO/M,EAAQvC,UAAUuP,MAC7B,SAACjJ,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,cAE/B,GAAIiC,EACF,GAAsB,IAAlBA,EAAK/I,SAAgB,CACvB,IAAMkJ,EAAY,YACblN,EAAQvC,UAAUuB,QAAO,SAAC+E,GAAD,OAAOA,EAAE+G,aAAe1H,EAAK0H,eAE3DkB,EAAgB,CACdxO,KAAM,kBACNE,QAASwP,SAGXH,EAAK/I,WACLgI,EAAgB,CACdxO,KAAM,kBACNE,QAAQ,YAAKsC,EAAQvC,aA6NPwP,CAAmBlK,EAAGyX,KAGxB,kBAAC,IAAD,CAAiB7W,KAAK,YAI1B,yBAAKnC,UAAU,YACb,kBAAC,OAAD,CACEA,UAAU,qCACVM,GAAG,IACHD,QAAS,WACP+B,IAAQC,MAAM,CACZC,SAAU,uBACVvG,OAAQ,sBAEV,OAAIkd,QAAJ,IAAIA,OAAJ,EAAIA,EAAc5b,SAASsI,WAAW,YACpCvI,EAAQ+b,SAER/b,EAAQa,KAAK,aAIjB,kBAAC,IAAD,CAAiBkE,KAAK,UAfxB,qBAkBA,kBAAC,OAAD,CACEnC,UAAU,gCACVM,GAAG,cACHD,QAAS,WACP+B,IAAQC,MAAM,CACZC,SAAU,uBACVvG,OAAQ,oBAIZ,kBAAC,IAAD,CAAiBoG,KAAK,kBAAmC,IAV3D,wBCtTL,SAASiX,KAAe,IAC7B/b,EAAagC,cAAbhC,SAQR,OANAqC,qBAAU,WACS,YAAbrC,GACFsC,OAAOqB,SAAS,EAAG,KAEpB,CAAC3D,IAEG,K,gCCsCTgc,KAAQC,IACNC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,MAGK,IAAMhW,GAAkBO,IAAM0V,cAAc,IACtClW,GAAiBQ,IAAM0V,cAAc,IAqEnCC,OAnEf,SAAarW,GAAO,MAEiBsW,qBAAWpf,EAAgB,CAC5DI,UAAW,KAHK,mBAEXuC,EAFW,KAEFgM,EAFE,OAKC3L,mBAAS8F,EAAMuW,UAA3BA,EALW,oBAMZpb,EAAgBob,EAASzc,aAAasB,SAAgB,IAAM3D,EAAc8e,EAASzc,aAAasB,SAASzB,QAAQ,IAAK,KAAKzB,eAA1E,GANrC,EAOkCgC,oBACjDqc,EAASzc,aAAayD,iBARP,mBAOX6D,EAPW,KAOSrH,EAPT,KAUlB,OACE,kBAACoG,GAAgBqW,SAAjB,CAA0B3S,MAAO,CAAC0S,IAChC,kBAACrW,GAAesW,SAAhB,CAAyB3S,MAAO,CAAChK,EAASgM,IACxC,kBAAC,gBAAD,KACE,kBAAC,wBAAD,KACE,kBAAC4O,GAAD,MACA,kBAACgC,GAAA,EAAD,KACE,kBAAC1W,EAAD,CAAMN,WAAYO,EAAMuW,SAAS9W,WAAY2B,mBAAoBA,EAAoBrH,sBAAuBA,GAC1G,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAO0B,OAAK,EAACoV,KAAK,KAChB,kBAACrL,EAAD,OAEF,kBAAC,IAAD,CAAOqL,KAAK,eACV,kBAACuD,GAAD,OAEF,kBAAC,IAAD,CAAOvD,KAAK,WACV,kBAACpL,EAAD,CAAQ1L,sBAAuBA,KAEhCoB,GACC,kBAAC,IAAD,CAAO0V,KAAM1V,GACX,kBAACmN,EAAD,OAGJ,kBAAC,IAAD,CAAOuI,KAAK,yBACV,kBAACnG,GAAD,OAEF,kBAAC,IAAD,CAAOmG,KAAK,qBACV,kBAAC/G,GAAD,OAEF,kBAAC,IAAD,CAAO+G,KAAK,eACV,kBAAChG,GAAD,OAEF,kBAAC,IAAD,CAAOgG,KAAK,qBACV,kBAAC9C,GAAD,OAEF,kBAAC,IAAD,CAAO8C,KAAK,iBACV,kBAAC/E,GAAD,OAEF,kBAAC,IAAD,CAAO+E,KAAK,oBACV,kBAAC9E,GAAD,OAEF,kBAAC,IAAD,CAAO8E,KAAK,+BACV,kBAACnF,GAAD,OAEF,kBAAC,IAAD,KACE,kBAACyI,GAAD,eC3HAuC,QACW,cAA7B1b,OAAOoP,SAASuM,UAEe,UAA7B3b,OAAOoP,SAASuM,UAEhB3b,OAAOoP,SAASuM,SAASC,MACvB,2DCXN,IAAMC,GA0BN,WACE,IAAMC,EAASC,SAASC,eAAe,YACjCH,EAAWC,EAASG,KAAKC,MAAMJ,EAAOK,WAAa,GAKzD,OAhBF,WACE,OAAOJ,SAASC,eAAe,WAWfI,IACRta,KAAO,yBAA2B+Z,EAAS/c,aAAaiC,OAAS,SAC3Dsb,KACRva,KAAO,yBAA2B+Z,EAAS/c,aAAaiC,OAAS,SAChE8a,EAjCQS,GAoBjB,SAASD,KACP,OAAON,SAASC,eAAe,SAnBjCO,IAASC,OACP,kBAAC,KAAD,CACEC,aAAa,2CACbC,SAAS,MAET,kBAAC,GAAD,CAAKnB,SAAUM,MAEjBE,SAASC,eAAe,SDmHpB,kBAAmBW,WACrBA,UAAUC,cAAcC,MACrBC,MAAK,SAAAC,GACJA,EAAaC,gBAEdC,OAAM,SAAA/O,GACLgP,QAAQhP,MAAMA,EAAMe,a","file":"static/js/main.1435c3e3.chunk.js","sourcesContent":["// Reducer principal de la aplicacion\r\nexport function carritoReducer(state, action) {\r\n switch (action.type) {\r\n case \"UPDATE_PRODUCTO\": {\r\n return {\r\n ...state,\r\n productos: action.payload,\r\n };\r\n }\r\n case \"UPDATE_CLIENTE\": {\r\n return {\r\n ...state,\r\n cliente: action.payload,\r\n };\r\n }\r\n case \"CLEAN_CARRITO\": {\r\n return {\r\n ...state,\r\n cliente: null,\r\n productos: [],\r\n };\r\n }\r\n default: {\r\n // if no action found, return same state\r\n return state;\r\n }\r\n }\r\n}\r\n","export function removeAccents(str) {\r\n if (!str) return \"\";\r\n var accents =\r\n \"ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñŠšŸÿýŽž\";\r\n var accentsOut =\r\n \"AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz\";\r\n str = str.split(\"\");\r\n var strLen = str.length;\r\n var i, x;\r\n for (i = 0; i < strLen; i++) {\r\n if ((x = accents.indexOf(str[i])) !== -1) {\r\n str[i] = accentsOut[x];\r\n }\r\n }\r\n return str.join(\"\").toLowerCase();\r\n}\r\n\r\n// To order lists\r\nexport function sortBy(a, b) {\r\n var nameA = removeAccents(a); // ignore upper and lowercase\r\n var nameB = removeAccents(b); // ignore upper and lowercase\r\n if (nameA < nameB) {\r\n return -1;\r\n }\r\n if (nameA > nameB) {\r\n return 1;\r\n }\r\n // names must be equal\r\n return 0;\r\n}\r\n\r\nexport function applyFilters(history, pathname, search, param, filter) {\r\n const urlParams = new URLSearchParams(search);\r\n if (filter) {\r\n if (typeof filter === \"number\") {\r\n urlParams.set(param, filter);\r\n } else {\r\n urlParams.set(param, filter.toLowerCase());\r\n }\r\n } else {\r\n urlParams.delete(param);\r\n }\r\n const data = {\r\n currentPath: pathname,\r\n urlParams: urlParams,\r\n searchText: urlParams.get(param) || \"\",\r\n };\r\n history.push(buildUrl(data));\r\n}\r\n\r\nfunction buildUrl(data) {\r\n return data.currentPath + \"?\" + data.urlParams.toString();\r\n}\r\n\r\nexport function applyStyles(texto) {\r\n if (!texto) return texto;\r\n return texto\r\n .replace(/\\s?\\*([\\w¿(])/gi, \" $1\")\r\n .replace(/([\\w:?,!)])\\*\\s?/gi, \"$1 \");\r\n}\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport \"./header.scss\";\r\nimport Navbar from \"react-bootstrap/Navbar\";\r\nimport Nav from \"react-bootstrap/Nav\";\r\nimport NavDropdown from \"react-bootstrap/NavDropdown\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ReactGA from \"react-ga4\";\r\nimport { removeAccents } from \"../utils/helpers\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nexport default function Header({\r\n carrito,\r\n organizacion,\r\n setTiendaNoDisponible,\r\n tiposContenido,\r\n proveedorTipos,\r\n}) {\r\n const [isSticky, setSticky] = useState(false);\r\n const ref = useRef(null);\r\n const [expanded, setExpanded] = useState(false);\r\n const history = useHistory();\r\n const { search } = useLocation();\r\n\r\n const handleScroll = () => {\r\n if (ref.current) {\r\n setSticky(ref.current.getBoundingClientRect().top <= 5);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n\r\n return () => {\r\n window.removeEventListener(\"scroll\", () => handleScroll);\r\n };\r\n }, []);\r\n\r\n const quienesSomos = !organizacion.pqS_Menu ? \"\" : \"/\" + removeAccents(organizacion.pqS_Menu.replace(\" \", \"-\").toLowerCase());\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n setExpanded(false)} to=\"/\">\r\n \r\n \r\n\r\n \r\n
\r\n\r\n setExpanded(expanded ? false : \"expanded\")}\r\n />\r\n \r\n \r\n \r\n {!organizacion.ventaHabilitada && (\r\n setTiendaNoDisponible(true)}\r\n\r\n >\r\n \r\n \r\n )}\r\n {organizacion.ventaHabilitada && (\r\n <>\r\n {\r\n ReactGA.event({\r\n category: 'Menu',\r\n action: 'Como comprar'\r\n });\r\n setExpanded(false);\r\n }}\r\n to=\"/como-comprar\"\r\n >\r\n Cómo comprar\r\n \r\n {\r\n ReactGA.event({\r\n category: 'Menu',\r\n action: 'Ir a carrito'\r\n });\r\n }} >\r\n \r\n {carrito.productos.length > 0 && (\r\n <>\r\n \r\n {carrito.productos\r\n .map((p) => p.cantidad)\r\n .reduce((a, b) => a + b, 0)}\r\n \r\n \r\n $\r\n {carrito.productos\r\n .map((p) => Number((p.cantidad * (p.pesable ? Number((p.precioVenta * p.fraccion).toFixed(2)) : p.precioVenta)).toFixed(2)))\r\n .reduce((a, b) => a + b, 0).toFixed(2)}\r\n \r\n \r\n )}\r\n {carrito.productos.length === 0 && (\r\n <>\r\n 0\r\n $0.00\r\n \r\n )}\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport \"./footer.scss\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { applyStyles } from \"../utils/helpers\";\r\nimport { removeAccents } from \"../utils/helpers\";\r\nimport { useCookies } from 'react-cookie';\r\n\r\nexport default function Footer({ organizacion, tiposContenido }) {\r\n const [cookies] = useCookies(['sipe-cliente']);\r\n const sipeCliente = organizacion.validaCookie ? cookies[\"sipe-cliente\"] : undefined;\r\n const quienesSomos = !organizacion.pqS_Menu ? \"\" : \"/\" + removeAccents(organizacion.pqS_Menu.replace(\" \", \"-\").toLowerCase());\r\n return (\r\n \r\n );\r\n}\r\n","import { useEffect } from 'react';\r\nimport { useLocation } from 'react-router';\r\nimport ReactGA from 'react-ga4';\r\n\r\nlet _trackingId = null;\r\n\r\nexport const usePageViews = (trackingId) => {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n // Initializing Google Analytics.\r\n if (_trackingId !== trackingId) {\r\n ReactGA.initialize(trackingId, { debug: false });\r\n _trackingId = trackingId\r\n }\r\n }, [trackingId]);\r\n\r\n useEffect(() => {\r\n // Send pageview\r\n ReactGA.send({ hitType: \"pageview\", page: pathname });\r\n }, [pathname]);\r\n}\r\n\r\nexport const sendAnalyticsEvents = (trackingId, category, action) => {\r\n\r\n // Initializing Google Analytics.\r\n if (_trackingId !== trackingId) {\r\n ReactGA.initialize(trackingId, { debug: false });\r\n _trackingId = trackingId\r\n }\r\n\r\n // Send EVENT\r\n ReactGA.event({\r\n category: category,\r\n action: action\r\n });\r\n}\r\n\r\nexport default usePageViews;\r\n\r\n\r\n\r\n","import React, { useContext, useState } from \"react\";\nimport { CarritoContext } from \"../app/App\";\nimport Header from \"./Header\";\nimport Footer from \"./Footer\";\nimport \"./site.scss\";\nimport { SiteInfoContext } from \"../app/App\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport Toast from \"react-bootstrap/Toast\";\nimport { applyStyles } from \"../utils/helpers\";\nimport { useLocation } from \"react-router-dom\";\n\nimport { usePageViews } from '../utils/gaHooks';\n\nexport default function Site(props) {\n const { pathname } = useLocation();\n const [carrito] = useContext(CarritoContext);\n const [{ organizacion, tiposContenido, proveedorTipos }] = useContext(SiteInfoContext);\n const [showScroll, setShowScroll] = useState(false);\n const [tiendaDisponible, setTiendaDisponible] = useState(\n organizacion.ventaHabilitada\n );\n\n const checkScrollTop = () => {\n if (!showScroll && window.pageYOffset > 400) {\n setShowScroll(true)\n } else if (showScroll && window.pageYOffset <= 400) {\n setShowScroll(false)\n }\n };\n\n const scrollTop = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n };\n\n window.addEventListener('scroll', checkScrollTop)\n\n usePageViews(props.trackingId);\n\n return (\n
\n \n {React.cloneElement(props.children, { ...props})}\n\n \n\n
\n {pathname.startsWith(\"/tienda\") && <>\n\n
\n props.setTiendaNoDisponible(false)}\n show={props.tiendaNoDisponible && organizacion.mensajeVentaNoHabilitada !== \"\"}\n >\n props.setTiendaNoDisponible(false)}\n />\n \n \n
\n
\n setTiendaDisponible(false)}\n show={tiendaDisponible && !organizacion.conEntregaF1 && organizacion.mensajeEntregaNoHabilitada !== \"\"}\n >\n setTiendaDisponible(false)}\n />\n \n \n setTiendaDisponible(false)}\n show={tiendaDisponible && organizacion.conEntregaF1 && organizacion.mensajeEntregaHabilitada !== \"\"}\n >\n setTiendaDisponible(false)}\n />\n \n \n
\n\n }\n
\n );\n}\n","import React from \"react\";\r\nimport \"./mainHero.scss\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { animateScroll } from \"react-scroll\";\r\nimport useWindowDimensions from \"../../components/useWindowDimensions\";\r\nimport { applyStyles } from \"../../utils/helpers\";\r\n\r\nexport default function MainHero({ organizacion }) {\r\n const { height } = useWindowDimensions();\r\n let imagen = \"\";\r\n if (organizacion.pI_PP_Imagenes) {\r\n imagen = organizacion.pI_PP_Imagenes.split(\"#\")[Math.floor(Math.random() * organizacion.pI_PP_Imagenes.split(\"#\").length)]\r\n .substr(1);\r\n }\r\n return (\r\n
\r\n \r\n
\r\n {organizacion.pI_PP_Titulo &&

{organizacion.pI_PP_Titulo}

}\r\n {organizacion.pI_PP_Subtitulo &&

}\r\n
\r\n
\r\n {\r\n animateScroll.scrollTo(height - 100);\r\n }}\r\n icon=\"chevron-down\"\r\n />\r\n \r\n );\r\n}\r\n","import { useState, useEffect, useCallback } from \"react\";\r\n\r\nexport default function useWindowDimensions() {\r\n const hasWindow = typeof window !== \"undefined\";\r\n\r\n const getWindowDimensions = useCallback(() => {\r\n const width = hasWindow ? window.innerWidth : null;\r\n const height = hasWindow ? window.innerHeight : null;\r\n return {\r\n width,\r\n height,\r\n };\r\n }, [hasWindow]);\r\n\r\n const [windowDimensions, setWindowDimensions] = useState(\r\n getWindowDimensions()\r\n );\r\n\r\n useEffect(() => {\r\n if (hasWindow) {\r\n function handleResize() {\r\n setWindowDimensions(getWindowDimensions());\r\n }\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }\r\n }, [hasWindow, getWindowDimensions]);\r\n\r\n return windowDimensions;\r\n}\r\n","import React from \"react\";\r\nimport \"./textImage.scss\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport { applyStyles } from \"../../utils/helpers\";\r\n\r\nexport default function MainHero({ organizacion }) {\r\n\r\n let imagen = \"\";\r\n if (organizacion.pI_PR_Imagenes) {\r\n imagen = organizacion.pI_PR_Imagenes.split(\"#\")[Math.floor(Math.random() * organizacion.pI_PR_Imagenes.split(\"#\").length)]\r\n .substr(1);\r\n }\r\n if (organizacion.pI_PR_Activo === false) {\r\n return <>;\r\n }\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n {organizacion.pI_PR_Titulo &&

{organizacion.pI_PR_Titulo}

}\r\n

\r\n
\r\n \r\n {imagen && (\r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n}\r\n","import React, { useContext } from \"react\";\r\nimport { SiteInfoContext } from \"../../app/App\";\r\nimport \"./ProductosDestacados.scss\";\r\nimport Slider from \"react-slick\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ReactGA from \"react-ga4\";\r\n\r\nexport default function ProductosDestacados({ organizacion }) {\r\n const [{ productos }] = useContext(SiteInfoContext);\r\n const destacados = productos\r\n .filter((p) => p.destacado && p.imagenes)\r\n .map((a) => ({ sort: Math.random(), value: a }))\r\n .sort((a, b) => a.sort - b.sort)\r\n .map((a) => a.value);\r\n const settings = {\r\n dots: true,\r\n infinite: true,\r\n speed: 300,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n slidesToShow: 4,\r\n slidesToScroll: 1,\r\n focusOnSelect: false,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n if (organizacion.pI_PD_Activo === false || destacados.length < 4) {\r\n return \"\";\r\n }\r\n return (\r\n
\r\n
\r\n

{organizacion.pI_PD_Titulo}

\r\n \r\n {destacados.map((item, index) => {\r\n return (\r\n
\r\n {item.imagenes && (\r\n {\r\n ReactGA.event({\r\n category: 'Destacados',\r\n action: 'Ir a detalle'\r\n });\r\n }}\r\n className=\"cl-hv-1\"\r\n >\r\n \r\n
${item.pesable ? item.precioVenta * item.fraccion : item.precioVenta}
\r\n
\r\n \r\n\r\n )}\r\n
\r\n
\r\n {\r\n ReactGA.event({\r\n category: 'Destacados',\r\n action: 'Ir a detalle'\r\n });\r\n }}\r\n className=\"cl-hv-1\"\r\n >\r\n {item.nombre}\r\n \r\n
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n
\r\n {\r\n window.scrollTo(0, 0);\r\n ReactGA.event({\r\n category: 'Destacados',\r\n action: 'Ir a la tienda'\r\n });\r\n }}\r\n >\r\n Ir a la tienda\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useContext } from \"react\";\r\nimport { SiteInfoContext } from \"../../app/App\";\r\nimport \"./ContenidosDestacados.scss\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport Moment from \"react-moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function ContenidosDestacados({ organizacion }) {\r\n const [{ contenidosDestacados, tiposContenido }] = useContext(SiteInfoContext);\r\n\r\n if (organizacion.pI_CD_Activo === false || !contenidosDestacados || contenidosDestacados.length < 3) {\r\n return \"\";\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

{organizacion.pI_CD_Titulo}

\r\n
\r\n {contenidosDestacados.map((contenido, index) => {\r\n return (\r\n
\r\n {contenido.imagenes &&\r\n \r\n
}\r\n
\r\n \r\n {new Date(contenido.fecha)}\r\n \r\n {contenido.link && (\r\n
\r\n {contenido.titulo} \r\n
\r\n )}\r\n {!contenido.link && (\r\n
\r\n f.idTipoContenido === contenido.idTipoContenido)[0].segmentoUrl + \"/\" + contenido.idContenido} >{contenido.titulo} \r\n
\r\n )}\r\n
\r\n
\r\n )\r\n })}\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useContext } from \"react\";\r\nimport \"./inicio.scss\";\r\nimport MainHero from \"./blocks/MainHero\";\r\nimport TextImage from \"./blocks/TextImage\";\r\nimport ProductosDestacados from \"./blocks/ProductosDestacados\";\r\nimport ContenidosDestacados from \"./blocks/ContenidosDestacados\";\r\nimport { SiteInfoContext } from \"../app/App\";\r\n\r\nexport default function Inicio(props) {\r\n const [{ organizacion }] = useContext(SiteInfoContext);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React, { useContext, useState } from \"react\";\r\nimport { useLocation, useHistory, Link } from \"react-router-dom\";\r\nimport { SiteInfoContext, CarritoContext } from \"../app/App\";\r\nimport VisibilitySensor from \"react-visibility-sensor\";\r\nimport { applyFilters, removeAccents } from \"../utils/helpers\";\r\nimport { animateScroll } from \"react-scroll\";\r\nimport \"./tienda.scss\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport Collapse from \"react-bootstrap/Collapse\";\r\nimport ReactGA from \"react-ga4\";\r\nimport { sortBy } from \"../utils/helpers\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function Tienda({ setTiendaNoDisponible }) {\r\n const { pathname, search } = useLocation();\r\n const [visible, setVisible] = useState(false);\r\n const history = useHistory();\r\n const [{ organizacion, productos, proveedorTipos, productoTipos }] = useContext(\r\n SiteInfoContext\r\n );\r\n const [carrito, dispatchCarrito] = useContext(CarritoContext);\r\n\r\n let results = productos;\r\n\r\n const searchText = new URLSearchParams(search).get(\"txt\") || \"\";\r\n const pagina = Number(new URLSearchParams(search).get(\"pagina\")) || 1;\r\n if (searchText) {\r\n results = results.filter((p) =>\r\n removeAccents(p.nombre).includes(removeAccents(searchText))\r\n );\r\n }\r\n let categorias = productoTipos;\r\n const searchTipoProv = new URLSearchParams(search).get(\"tipo\") || \"\";\r\n let searchTipoProvDesc = \"\";\r\n if (searchTipoProv) {\r\n if (searchTipoProv === \"0\") {\r\n results = results.filter(p => p.destacado);\r\n categorias = [];\r\n }\r\n else {\r\n results = results.filter((p) => p.proveedor?.idProveedorTipo === Number(searchTipoProv));\r\n categorias = [...new Set(results.map(item => item.idProductoTipo))]\r\n .map(idProductoTipo => productoTipos.filter(p => p.idProductoTipo === idProductoTipo)[0]).filter(p => p);\r\n\r\n }\r\n const proveedorTipo = proveedorTipos.filter(\r\n (p) => p.idProveedorTipo.toString() === searchTipoProv\r\n );\r\n if (proveedorTipo && proveedorTipo.length > 0)\r\n searchTipoProvDesc = proveedorTipo[0].descripcion;\r\n }\r\n\r\n const searchCate = new URLSearchParams(search).get(\"cate\") || \"\";\r\n let searchCateDesc = \"\";\r\n if (searchCate) {\r\n results = results.filter((p) => p.idProductoTipo === Number(searchCate));\r\n\r\n const productoTipo = categorias.filter(\r\n (p) => p.idProductoTipo?.toString() === searchCate\r\n );\r\n if (productoTipo && productoTipo.length > 0)\r\n searchCateDesc = productoTipo[0].descripcion;\r\n }\r\n\r\n\r\n\r\n const handleAddAction = (e, item) => {\r\n ReactGA.event({\r\n category: 'Tienda',\r\n action: 'Agregar'\r\n });\r\n e.preventDefault();\r\n const prod = carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n );\r\n if (prod) {\r\n prod.cantidad++;\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [...carrito.productos],\r\n });\r\n } else {\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [...carrito.productos, { ...item, cantidad: 1 }],\r\n });\r\n }\r\n };\r\n const handleRemoveAction = (e, item) => {\r\n ReactGA.event({\r\n category: 'Tienda',\r\n action: 'Quitar'\r\n });\r\n e.preventDefault();\r\n const prod = carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n );\r\n if (prod) {\r\n if (prod.cantidad === 1) {\r\n const newProductos = [\r\n ...carrito.productos.filter((p) => p.idProducto !== item.idProducto),\r\n ];\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: newProductos,\r\n });\r\n } else {\r\n prod.cantidad--;\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [...carrito.productos],\r\n });\r\n }\r\n }\r\n };\r\n let currentCate = \"\";\r\n\r\n //Traigo por página\r\n const loadMore = (pagina) => {\r\n const urlParams = new URLSearchParams(search);\r\n urlParams.set(\"pagina\", pagina);\r\n history.push(pathname + \"?\" + urlParams.toString());\r\n }\r\n const totalItems = results.length;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n applyFilters(\r\n history,\r\n pathname,\r\n search,\r\n \"txt\",\r\n e.target.value\r\n )\r\n }\r\n />\r\n \r\n applyFilters(history, pathname, search, \"txt\", \"\")\r\n }\r\n />\r\n
\r\n\r\n \r\n
\r\n
\r\n

FILTRAR POR

\r\n {\r\n animateScroll.scrollTo(50);\r\n }}\r\n >\r\n Todos\r\n \r\n {organizacion.incluirDestacadosEnTienda &&\r\n {\r\n animateScroll.scrollTo(50);\r\n }}\r\n >\r\n {organizacion.pI_PD_Titulo}\r\n \r\n }\r\n\r\n {proveedorTipos.map((item, index) => {\r\n return (\r\n {\r\n e.preventDefault();\r\n applyFilters(\r\n history,\r\n pathname,\r\n \"\",\r\n \"tipo\",\r\n item.idProveedorTipo\r\n ); \r\n animateScroll.scrollTo(50);\r\n }}\r\n >\r\n {item.descripcion}\r\n \r\n );\r\n })}\r\n {categorias && categorias.length > 0 && <>\r\n

PRODUCTOS POR CATEGORÍA

\r\n {\r\n e.preventDefault();\r\n applyFilters(history, pathname, search, \"cate\", \"\");\r\n }}\r\n >\r\n Todos\r\n \r\n }\r\n\r\n {categorias.map((item, index) => {\r\n if (!item)\r\n return null;\r\n return (\r\n {\r\n e.preventDefault();\r\n applyFilters(\r\n history,\r\n pathname,\r\n search,\r\n \"cate\",\r\n item.idProductoTipo\r\n );\r\n animateScroll.scrollTo(50);\r\n }}\r\n >\r\n {item.descripcion}\r\n \r\n );\r\n })}\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n applyFilters(\r\n history,\r\n pathname,\r\n search,\r\n \"txt\",\r\n e.target.value\r\n )\r\n }\r\n />\r\n \r\n applyFilters(history, pathname, search, \"txt\", \"\")\r\n }\r\n />\r\n \r\n
\r\n setVisible(!visible)}\r\n aria-controls=\"example-fade-text\"\r\n aria-expanded={visible}\r\n >\r\n Más filtros\r\n
\r\n {searchCate !== \"\" && searchCateDesc !== \"\" && (\r\n
\r\n {searchCateDesc}\r\n \r\n applyFilters(history, pathname, search, \"cate\", \"\")\r\n }\r\n />\r\n
\r\n )}\r\n
\r\n \r\n
\r\n

FILTRAR POR

\r\n\r\n {\r\n setVisible(false);\r\n animateScroll.scrollTo(50);\r\n }}\r\n >\r\n Todos\r\n \r\n\r\n {organizacion.incluirDestacadosEnTienda &&\r\n {\r\n setVisible(false);\r\n animateScroll.scrollTo(50);\r\n }}\r\n >\r\n {organizacion.pI_PD_Titulo}\r\n \r\n }\r\n {proveedorTipos.map((item, index) => {\r\n return (\r\n {\r\n setVisible(false);\r\n animateScroll.scrollTo(50);\r\n }}\r\n >\r\n {item.descripcion}\r\n \r\n );\r\n })}\r\n {categorias && categorias.length > 0 &&
\r\n

PRODUCTOS POR CATEGORÍA

\r\n {\r\n e.preventDefault();\r\n applyFilters(history, pathname, search, \"cate\", \"\");\r\n setVisible(false);\r\n }}\r\n >\r\n Todos\r\n \r\n {categorias.map((item, index) => {\r\n if (!item)\r\n return null;\r\n return (\r\n {\r\n e.preventDefault();\r\n applyFilters(\r\n history,\r\n pathname,\r\n search,\r\n \"cate\",\r\n item.idProductoTipo\r\n );\r\n setVisible(false);\r\n animateScroll.scrollTo(50);\r\n }}\r\n >\r\n {item.descripcion}\r\n \r\n );\r\n })}\r\n
}\r\n
\r\n
\r\n
\r\n {/* Productos destacados */}\r\n {organizacion.incluirDestacadosEnTienda && ((!searchCate && !searchTipoProv) || searchTipoProv === \"0\") && (\r\n \r\n {results\r\n .filter(p => p.destacado)\r\n .sort((a, b) => sortBy(a.nombre, b.nombre))\r\n .map((item, index) => {\r\n const cantidad = carrito.productos?.find(p => p.idProducto === item.idProducto)?.cantidad ?? 0;\r\n const disponible = (!item.validaStock || (item.stock - item.stockPendientes - cantidad) > 0) && (!item.soloEntrega || organizacion.conEntregaF1);\r\n return (\r\n \r\n {index === 0 && {organizacion.pI_PD_Titulo}}\r\n \r\n
\r\n {item.imagenes && (\r\n \r\n {carrito.productos.filter(\r\n (p) => p.idProducto === item.idProducto\r\n ).length > 0 && (\r\n \r\n {\r\n carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n ).cantidad\r\n }\r\n \r\n )}\r\n {organizacion.ventaHabilitada && !disponible && cantidad === 0 && (\r\n
No disponible!
)}\r\n
\r\n )}\r\n {!item.imagenes && (\r\n \r\n {carrito.productos.filter(\r\n (p) => p.idProducto === item.idProducto\r\n ).length > 0 && (\r\n \r\n {\r\n carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n ).cantidad\r\n }\r\n \r\n )}\r\n {organizacion.ventaHabilitada && !disponible && cantidad === 0 && (\r\n
No disponible!
)}\r\n
\r\n )}\r\n {item.proveedor?.proveedorTipo?.imagenes && (\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n {item.nombre}\r\n \r\n
\r\n
${item.pesable ? (item.precioVenta * item.fraccion).toFixed(2) : item.precioVenta.toFixed(2)}
\r\n
\r\n
\r\n
\r\n {\r\n if (organizacion.ventaHabilitada && disponible) {\r\n handleAddAction(e, item);\r\n }\r\n }}\r\n className={\r\n organizacion.ventaHabilitada && disponible\r\n ? \"icon action cl-hv-1\"\r\n : \"icon-disabled action\"\r\n }\r\n icon=\"plus\"\r\n >\r\n\r\n {organizacion.ventaHabilitada && !disponible && (\r\n
\r\n \r\n
\r\n )}\r\n {organizacion.ventaHabilitada && disponible && (\r\n {\r\n e.preventDefault();\r\n ReactGA.event({\r\n category: 'Tienda',\r\n action: 'Ir a carrito'\r\n });\r\n history.push(\"/mi-carrito\");\r\n }}\r\n className=\"icon action cl-hv-1\"\r\n title=\"Ir al carrito de compras\"\r\n >\r\n \r\n \r\n )}\r\n {!organizacion.ventaHabilitada && (\r\n setTiendaNoDisponible(true)}\r\n className=\"cl-hv-1\"\r\n >\r\n \r\n \r\n )}\r\n p.idProducto === item.idProducto\r\n ).length > 0 && organizacion.ventaHabilitada\r\n ? \"icon action cl-hv-1\"\r\n : \"icon-disabled action\"\r\n }\r\n onClick={(e) => handleRemoveAction(e, item)}\r\n icon=\"minus\"\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n })}\r\n {results.length === 0 && (\r\n
\r\n

No hay resultados para la búsqueda seleccionada

\r\n
\r\n )}\r\n \r\n )}\r\n\r\n {/* Otros Productos */}\r\n {searchTipoProv !== \"0\" &&\r\n \r\n {searchTipoProvDesc && {searchTipoProvDesc}}\r\n {results\r\n .filter(p => (!organizacion.incluirDestacadosEnTienda || !p.destacado) || searchTipoProv || searchCate)\r\n .sort((a, b) => sortBy(a.productoTipo?.descripcion ?? \"zzz\" + a.nombre, b.productoTipo?.descripcion ?? \"zzz\" + b.nombre))\r\n .slice(0, pagina * 20)\r\n .map((item, index) => {\r\n const categoria = (currentCate === \"\" || currentCate !== item.productoTipo?.descripcion) ? item.productoTipo?.descripcion : \"\";\r\n if (categoria !== \"\") {\r\n currentCate = categoria;\r\n }\r\n const cantidad = carrito.productos?.find(p => p.idProducto === item.idProducto)?.cantidad ?? 0;\r\n const disponible = (!item.validaStock || (item.stock - item.stockPendientes - cantidad) > 0) && (!item.soloEntrega || organizacion.conEntregaF1);\r\n return (\r\n \r\n {categoria !== \"\" && {categoria ?? \"Varios\"}}\r\n \r\n
\r\n {item.imagenes && (\r\n \r\n {carrito.productos.filter(\r\n (p) => p.idProducto === item.idProducto\r\n ).length > 0 && (\r\n \r\n {\r\n carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n ).cantidad\r\n }\r\n \r\n )}\r\n {organizacion.ventaHabilitada && !disponible && cantidad === 0 && (\r\n
No disponible!
)}\r\n
\r\n )}\r\n {!item.imagenes && (\r\n \r\n {carrito.productos.filter(\r\n (p) => p.idProducto === item.idProducto\r\n ).length > 0 && (\r\n \r\n {\r\n carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n ).cantidad\r\n }\r\n \r\n )}\r\n {organizacion.ventaHabilitada && !disponible && cantidad === 0 && (\r\n
No disponible!
)}\r\n \r\n )}\r\n {item.proveedor?.proveedorTipo?.imagenes && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n {item.nombre}\r\n \r\n
\r\n
${item.pesable ? (item.precioVenta * item.fraccion).toFixed(2) : item.precioVenta.toFixed(2)}
\r\n
\r\n
\r\n
\r\n {\r\n if (organizacion.ventaHabilitada && disponible) {\r\n handleAddAction(e, item);\r\n }\r\n }}\r\n className={\r\n organizacion.ventaHabilitada && disponible ? \"icon action cl-hv-1\"\r\n : \"icon-disabled action\"\r\n }\r\n icon=\"plus\"\r\n >\r\n\r\n {organizacion.ventaHabilitada && !disponible && (\r\n
\r\n \r\n
\r\n )}\r\n {organizacion.ventaHabilitada && disponible && (\r\n {\r\n e.preventDefault();\r\n ReactGA.event({\r\n category: 'Tienda',\r\n action: 'Ir a carrito'\r\n });\r\n history.push(\"/mi-carrito\");\r\n }}\r\n className=\"icon action cl-hv-1\"\r\n title=\"Ir al carrito de compras\"\r\n >\r\n \r\n \r\n )}\r\n {!organizacion.ventaHabilitada && (\r\n setTiendaNoDisponible(true)}\r\n className=\"cl-hv-1\"\r\n >\r\n \r\n \r\n )}\r\n p.idProducto === item.idProducto\r\n ).length > 0 && organizacion.ventaHabilitada\r\n ? \"icon action cl-hv-1\"\r\n : \"icon-disabled action\"\r\n }\r\n onClick={(e) => handleRemoveAction(e, item)}\r\n icon=\"minus\"\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n );\r\n })}\r\n {results.length === 0 && (\r\n
\r\n

No hay resultados para la búsqueda seleccionada

\r\n
\r\n )}\r\n
\r\n }\r\n {productos && totalItems > pagina * 20 &&\r\n {\r\n if (isVisible) {\r\n loadMore(pagina + 1);\r\n }\r\n }}\r\n >\r\n
...cargando...
\r\n }\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useContext } from \"react\";\r\nimport { SiteInfoContext } from \"../app/App\";\r\nimport Slider from \"react-slick\";\r\nimport { applyStyles } from \"../utils/helpers\";\r\nimport \"./quienes-somos.scss\";\r\nexport default function QuienesSomos(props) {\r\n const [{ organizacion }] = useContext(SiteInfoContext);\r\n const imagenes = organizacion.pqS_Imagenes ? organizacion.pqS_Imagenes.split(\"#\").filter(f => f !== \"\") : [];\r\n\r\n const settings = {\r\n dots: true,\r\n infinite: true,\r\n speed: 300,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n slidesToShow: imagenes.length > 3 ? 3 : imagenes.length,\r\n slidesToScroll: 1,\r\n focusOnSelect: false,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {imagenes.length > 1 && (\r\n \r\n {organizacion.pqS_Imagenes.split(\"#\").map(img =>\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n {imagenes.length === 1 &&\r\n\r\n \r\n
\r\n }\r\n
\r\n
\r\n {organizacion.pqS_VideoCode && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import axios from \"axios\";\n\n// Add a response interceptor\naxios.interceptors.response.use(\n function (response) {\n // Any status code that lie within the range of 2xx cause this function to trigger\n // Do something with response data\n return response;\n },\n function (error) {\n // Any status codes that falls outside the range of 2xx cause this function to trigger\n // Do something with response error\n return Promise.reject(error);\n }\n);\n\nexport default {\n get: axios.get,\n post: axios.post,\n put: axios.put,\n delete: axios.delete,\n};\n","import http from \"./http.service\";\r\nconst baseUrl = process.env.REACT_APP_BACKEND_URL || \"\";\r\nconst apiUrl = baseUrl + \"/api/contenidos/\";\r\n\r\nexport function contenido_getAll(tipo) {\r\n return http.get(apiUrl + \"?tipo=\" + tipo + \"&soloActivo=true\");\r\n}\r\n\r\nexport function contenido_get(id) {\r\n return http.get(apiUrl + id);\r\n}\r\n\r\n","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { SiteInfoContext } from \"../app/App\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\nimport \"./contenidos.scss\";\r\nimport Moment from \"react-moment\";\r\nimport { contenido_getAll } from \"../services/contenido.service\";\r\nimport { sortBy } from \"../utils/helpers\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { applyStyles } from \"../utils/helpers\";\r\n\r\nexport default function Contenidos(props) {\r\n const [{ tiposContenido }] = useContext(SiteInfoContext);\r\n const [contenidos, setContenidos] = useState([]);\r\n const [message, setMessage] = useState([]);\r\n const history = useHistory();\r\n const tipoContenido = tiposContenido.filter(f => window.location.pathname.startsWith(f.segmentoUrl))[0];\r\n if (!tipoContenido) {\r\n history.push(\"/404\");\r\n }\r\n useEffect(() => {\r\n async function fetchData() {\r\n try {\r\n const response = await contenido_getAll(tipoContenido.idTipoContenido);\r\n if (response.status === 200) {\r\n setContenidos(response.data);\r\n } else {\r\n setMessage(\"No se pudo leer la información.\");\r\n }\r\n } catch (err) {\r\n if (err.response.data.title) {\r\n setMessage(err.response.data.title);\r\n } else {\r\n setMessage(\r\n \"No se pudieron obtener los datos, intentalo más tarde. Si el error persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n }\r\n fetchData();\r\n }, [tipoContenido]);\r\n\r\n\r\n return (\r\n
\r\n
\r\n

{tipoContenido.descripcion}

\r\n {message &&
{message}
}\r\n {contenidos.length > 0 && (\r\n
\r\n {contenidos\r\n .sort((a, b) => sortBy(tipoContenido.orden === \"fecha\" ? b[tipoContenido.orden] : a[tipoContenido.orden] + a.titulo, tipoContenido.orden === \"fecha\" ? a[tipoContenido.orden] : b[tipoContenido.orden] + b.titulo))\r\n .map((item) =>
\r\n
\r\n {item.imagenes && item.imagenes.length > 0 && (\r\n
\r\n
\r\n
\r\n )}\r\n
0 ? \"col-xs-12 col-md-7 col-lg-8\" : \"col\"}>\r\n

\r\n {item.link && (\r\n {item.titulo} \r\n )}\r\n {((item.cuerpo !== null || item.videoCodigo) && !item.link) && (\r\n {item.titulo} \r\n )}\r\n {(item.cuerpo === null && !item.videoCodigo && !item.link) && (\r\n {item.titulo})}\r\n

\r\n {item.fecha &&\r\n

\r\n \r\n {new Date(item.fecha)}\r\n \r\n

\r\n }\r\n

\r\n
\r\n
\r\n
\r\n
)}\r\n
\r\n )}\r\n {contenidos.length === 0 && (
Cargando...
)}\r\n
\r\n \r\n );\r\n}\r\n","import React, { useContext, useEffect, useState } from \"react\";\r\nimport { SiteInfoContext } from \"../app/App\";\r\nimport { Link, useHistory, useParams } from \"react-router-dom\";\r\nimport \"./contenidos.scss\";\r\nimport Moment from \"react-moment\";\r\nimport { contenido_get } from \"../services/contenido.service\";\r\nimport { applyStyles } from \"../utils/helpers\";\r\nimport Slider from \"react-slick\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nexport default function ContenidoDetalle(props) {\r\n const [{ tiposContenido }] = useContext(SiteInfoContext);\r\n const [contenido, setContenido] = useState([]);\r\n const [message, setMessage] = useState([]);\r\n const history = useHistory();\r\n const { id } = useParams();\r\n\r\n const tipoContenido = tiposContenido.filter(f => window.location.pathname.startsWith(f.segmentoUrl))[0];\r\n if (!tipoContenido) {\r\n history.push(\"/404\");\r\n }\r\n useEffect(() => {\r\n async function fetchData() {\r\n try {\r\n const response = await contenido_get(id);\r\n if (response.status === 200) {\r\n setContenido(response.data);\r\n } else {\r\n setMessage(\"No se pudo leer la información.\");\r\n }\r\n } catch (err) {\r\n if (err.response.data.title) {\r\n setMessage(err.response.data.title);\r\n } else {\r\n setMessage(\r\n \"No se pudieron obtener los datos, intentalo más tarde. Si el error persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n }\r\n fetchData();\r\n }, [id]);\r\n\r\n const imagenes = contenido.imagenes ? contenido.imagenes.split(\"#\").filter(f => f !== \"\") : [];\r\n\r\n const settings = {\r\n dots: true,\r\n infinite: true,\r\n speed: 300,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n slidesToShow: imagenes.length > 3 ? 3 : imagenes.length,\r\n slidesToScroll: 1,\r\n focusOnSelect: false,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: imagenes.length > 3 ? 3 : imagenes.length,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n {\" \"}Volver\r\n

{contenido.titulo}

\r\n {message &&
{message}
}\r\n {contenido.fecha &&\r\n

\r\n \r\n {new Date(contenido.fecha)}\r\n \r\n

\r\n }\r\n

\r\n
\r\n
\r\n
\r\n {imagenes && imagenes.length > 1 && (\r\n \r\n {imagenes.map(img =>\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n {imagenes && imagenes.length === 1 && !contenido.videoCodigo && imagenes.map(img =>\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {contenido.videoCodigo && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useContext } from \"react\";\r\nimport { CarritoContext, SiteInfoContext } from \"../app/App\";\r\nimport { NavLink, useHistory } from \"react-router-dom\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { sortBy } from \"../utils/helpers\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport { applyStyles } from \"../utils/helpers\";\r\nimport ReactGA from \"react-ga4\";\r\nimport { animateScroll } from \"react-scroll\";\r\n\r\nimport \"./mi-carrito.scss\";\r\nexport default function MiCarrito(props) {\r\n const [carrito, dispatchCarrito] = useContext(CarritoContext);\r\n const [{ organizacion }] = useContext(SiteInfoContext);\r\n const totalCarrito = carrito.productos\r\n .map((p) => p.cantidad * (p.pesable ? p.precioVenta * p.fraccion : p.precioVenta))\r\n .reduce((a, b) => a + b, 0);\r\n const productos = carrito.productos.sort((a, b) =>\r\n sortBy(a.nombre, b.nombre)\r\n );\r\n const history = useHistory();\r\n\r\n const handleRemoveProductAction = (e, item) => {\r\n e.preventDefault();\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [\r\n ...carrito.productos.filter((p) => p.idProducto !== item.idProducto),\r\n ],\r\n });\r\n };\r\n\r\n const handleAddAction = (e, item) => {\r\n e.preventDefault();\r\n const prod = carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n );\r\n if (prod) {\r\n prod.cantidad++;\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [...carrito.productos],\r\n });\r\n } else {\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [...carrito.productos, { ...item, cantidad: 1 }],\r\n });\r\n }\r\n };\r\n\r\n const handleRemoveAction = (e, item) => {\r\n e.preventDefault();\r\n const prod = carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n );\r\n if (prod) {\r\n if (prod.cantidad === 1) {\r\n const newProductos = [\r\n ...carrito.productos.filter((p) => p.idProducto !== item.idProducto),\r\n ];\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: newProductos,\r\n });\r\n } else {\r\n prod.cantidad--;\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [...carrito.productos],\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n

Mi carrito

\r\n {!organizacion.ventaHabilitada && (\r\n
\r\n

\r\n\r\n {\r\n e.preventDefault();\r\n ReactGA.event({\r\n category: 'Carrito',\r\n action: 'Ir al a tienda'\r\n });\r\n animateScroll.scrollTo(0);\r\n history.push(\"/tienda\");\r\n }}\r\n >\r\n Ir a la tienda\r\n \r\n
\r\n )}\r\n {organizacion.ventaHabilitada && productos.length === 0 && (\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n Tu carrito está vacío!\r\n

\r\n

\r\n Visita nuestra tienda y elegí los productos que desees comprar.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {\r\n e.preventDefault();\r\n ReactGA.event({\r\n category: 'Carrito',\r\n action: 'Ir al a tienda'\r\n });\r\n history.push(\"/tienda\");\r\n }}\r\n >\r\n Ir a la tienda\r\n \r\n
\r\n )}\r\n {productos.length > 0 && (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {productos.length > 0 &&\r\n productos.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
ProductoPrecioCantidadSubtotal
\r\n \r\n handleRemoveProductAction(e, item)\r\n }\r\n />\r\n \r\n {item.imagenes && (\r\n \r\n )}\r\n {!item.imagenes && (\r\n \r\n )}\r\n \r\n {item.nombre}\r\n {item.proveedor && (\r\n
{item.proveedor.descripcion}
\r\n )}\r\n
\r\n ${(item.pesable ? item.precioVenta * item.fraccion : item.precioVenta).toFixed(2)}\r\n \r\n
\r\n handleAddAction(e, item)}\r\n >\r\n \r\n handleRemoveAction(e, item)}\r\n >\r\n
\r\n
\r\n ${((item.pesable ? item.precioVenta * item.fraccion : item.precioVenta) * item.cantidad).toFixed(2)}\r\n
\r\n
\r\n {productos.length > 0 &&\r\n productos.map((item, index) => {\r\n return (\r\n \r\n \r\n {item.imagenes && (\r\n
\r\n )}\r\n {!item.imagenes && (\r\n
\r\n )}\r\n \r\n \r\n
\r\n {item.nombre}\r\n \r\n handleRemoveProductAction(e, item)\r\n }\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Precio\r\n ${(item.pesable ? item.precioVenta * item.fraccion : item.precioVenta).toFixed(2)}\r\n
Cantidad\r\n
\r\n \r\n handleAddAction(e, item)\r\n }\r\n >\r\n \r\n \r\n handleRemoveAction(e, item)\r\n }\r\n >\r\n
\r\n
Subtotal\r\n $\r\n {((item.pesable ? item.precioVenta * item.fraccion : item.precioVenta) * item.cantidad).toFixed(\r\n 2\r\n )}\r\n
\r\n \r\n
\r\n );\r\n })}\r\n
\r\n
\r\n \r\n \r\n
\r\n

Total del carrito

\r\n
\r\n
\r\n Total\r\n \r\n $ {totalCarrito.toFixed(2)}\r\n \r\n
\r\n
\r\n
\r\n \r\n Finalizar compra\r\n \r\n {\r\n e.preventDefault();\r\n ReactGA.event({\r\n category: 'Carrito',\r\n action: 'Ir al a tienda'\r\n });\r\n animateScroll.scrollTo(0);\r\n history.push(\"/tienda\");\r\n }}\r\n >\r\n Seguir\r\n comprando\r\n \r\n
\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import http from \"./http.service\";\r\nconst baseUrl = process.env.REACT_APP_BACKEND_URL || \"\";\r\nconst apiUrl = baseUrl + \"/api/clientes/\";\r\n\r\nexport function cliente_validarEmail(email) {\r\n return http.get(apiUrl + \"validar/\" + email);\r\n}\r\n\r\nexport function cliente_confirmacion(token) {\r\n return http.get(apiUrl + \"confirmacion-correo/\" + token);\r\n}\r\n\r\nexport function cliente_enviarCodigo(email) {\r\n return http.get(apiUrl + \"enviar-codigo/\" + email);\r\n}\r\n\r\nexport function cliente_cambiarTurno(email, idPedido) {\r\n return http.get(apiUrl + \"cambiar-turno?email=\" + email + \"&idPedido=\" + idPedido);\r\n}\r\n\r\nexport function cliente_nuevoTurno(idPedido, turno) {\r\n return http.put(apiUrl + \"cambiar-turno/\" + idPedido, turno);\r\n}\r\n\r\n\r\n","import React, { useEffect, useState, useContext } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport \"./confirmar-correo.scss\";\r\nimport { SiteInfoContext } from \"../app/App\";\r\nimport { cliente_confirmacion } from \"../services/cliente.service\";\r\nimport { applyStyles } from \"../utils/helpers\";\r\n\r\nexport default function ConfirmarCorreo(props) {\r\n const [message, setMessage] = useState(null);\r\n const [{ organizacion }] = useContext(SiteInfoContext);\r\n const { token } = useParams();\r\n useEffect(() => {\r\n async function fetchData() {\r\n try {\r\n const response = await cliente_confirmacion(token);\r\n if (response.status === 200) {\r\n if (response.data === true) {\r\n //Nuevo\r\n setMessage(organizacion.mensaje4ClienteNuevo);\r\n } else {\r\n //Existente\r\n setMessage(\"Su correo no pudo ser verificado.\");\r\n }\r\n } else {\r\n setMessage(\"Su correo no pudo ser verificado.\");\r\n }\r\n } catch (err) {\r\n if (err.response.data.title) {\r\n setMessage(err.response.data.title);\r\n } else {\r\n setMessage(\r\n \"No se pudieron verificar los datos, intentalo más tarde. Si el error persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n }\r\n fetchData();\r\n }, [token, organizacion.mensaje4ClienteNuevo]);\r\n\r\n return (\r\n
\r\n
\r\n

Confirmación de correo electrónico

\r\n
\r\n {!message &&
Verificando información
}\r\n {message && (\r\n
\r\n
\r\n
\r\n 5\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useContext } from \"react\";\r\nimport { SiteInfoContext } from \"../../app/App\";\r\nimport \"./pasos.scss\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { applyStyles } from \"../../utils/helpers\";\r\n\r\nexport default function Pasos(props) {\r\n const [{ organizacion }] = useContext(SiteInfoContext);\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n

\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n 1\r\n

TIENDA

\r\n

\r\n Busca tus productos en las distintas categorías, o elegilos por\r\n su nombre y suma al carrito la cantidad que desees.\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n 2\r\n

MI CARRITO

\r\n

\r\n Podes revisar tu pedido todas las veces que quieras, haciendo\r\n click en el icono que se encuentra arriba a la derecha.\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n 3\r\n

FINALIZÁ TU COMPRA

\r\n

\r\n Ingresa tu correo electrónico y crea un código, ambos los\r\n utilizarás en tus próximas compras. Luego completa tus datos y\r\n confirmá tu pedido.\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n 4\r\n

¿CÓMO SEGUIMOS?

\r\n

\r\n Ahora nos toca a nosotros, primero recibirás un correo\r\n electrónico para validar tu cuenta, y luego otro con el detalle\r\n de tu pedido.\r\n

\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport \"./como-comprar.scss\";\r\nimport Pasos from \"./blocks/Pasos\";\r\nexport default function ComoComprar(props) {\r\n return (\r\n
\r\n
\r\n

Guiamos tu compra

\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\nimport { cliente_cambiarTurno, cliente_nuevoTurno } from \"../services/cliente.service\";\r\nimport { NavLink, useLocation } from \"react-router-dom\";\r\nimport \"./cambio-de-turno.scss\";\r\nimport { SiteInfoContext } from \"../app/App\";\r\nimport Moment from \"react-moment\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport { animateScroll } from \"react-scroll\";\r\nimport Spinner from \"react-bootstrap/Spinner\";\r\n\r\nexport default function CambioDeTurno(props) {\r\n const [{ organizacion }] = useContext(SiteInfoContext);\r\n const [message, setMessage] = useState(\"\");\r\n const [data, setData] = useState(null);\r\n const [turno, setTurno] = useState({ fecha: \"\", hora: \"\" });\r\n const [actualizado, setActualizado] = useState(false);\r\n const { search } = useLocation();\r\n const email = new URLSearchParams(search).get(\"email\") || \"\";\r\n const ped = new URLSearchParams(search).get(\"ped\") || \"\";\r\n const [isSending, setSending] = useState(false);\r\n const [isRemoving, setRemoving] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n async function fetchData() {\r\n if (email === \"\" || ped === \"\") {\r\n setMessage(\"Los datos son invalidos\");\r\n }\r\n else {\r\n try {\r\n const response = await cliente_cambiarTurno(email, ped);\r\n if (response.data.cliente) {\r\n setData(response.data);\r\n }\r\n } catch (err) {\r\n if (err.response.data.title) {\r\n setMessage(err.response.data.title);\r\n } else {\r\n setMessage(\r\n \"No se pudieron verificar los datos, intentalo más tarde. Si el error persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n }\r\n }\r\n fetchData();\r\n }, [email, ped]);\r\n\r\n const hadleChange = async (e) => {\r\n e.preventDefault();\r\n try {\r\n if (turno.fecha && turno.hora) {\r\n setSending(true);\r\n const nuevoTurno = new Date(turno.fecha === \"1\" ? organizacion.fecha1.replace(\"00:00:00\", turno.hora + \"Z\") : organizacion.fecha2.replace(\"00:00:00\", turno.hora + \"Z\"));\r\n const response = await cliente_nuevoTurno(ped, { turno: nuevoTurno, email: email, token: data.cliente.token });\r\n setSending(false);\r\n if (response.data === true) {\r\n setActualizado(true);\r\n animateScroll.scrollTo(0);\r\n } else {\r\n setMessage(\"No se pudo cambiar el turno!\");\r\n }\r\n }\r\n\r\n } catch (err) {\r\n setSending(false);\r\n if (err.response.data.title) {\r\n setMessage(err.response.data.title);\r\n } else {\r\n setMessage(\r\n \"No se pudieron verificar los datos, intentalo más tarde. Si el error persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n const hadleRemove = async (e) => {\r\n e.preventDefault();\r\n setRemoving(true);\r\n try {\r\n const response = await cliente_nuevoTurno(ped, { turno: null, email: email, token: data.cliente.token });\r\n setRemoving(false);\r\n if (response.data === true) {\r\n setActualizado(true);\r\n animateScroll.scrollTo(0);\r\n } else {\r\n setMessage(\"No se pudo eliminar el turno!\");\r\n }\r\n } catch (err) {\r\n setRemoving(false);\r\n if (err.response.data.title) {\r\n setMessage(err.response.data.title);\r\n } else {\r\n setMessage(\r\n \"No se pudieron verificar los datos, intentalo más tarde. Si el error persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n\r\n }\r\n\r\n if (!data) {\r\n if (message)\r\n return
{message}
\r\n else\r\n return
Validando datos...
\r\n }\r\n\r\n const horas1 = data.turnos.horas1 ? data.turnos.horas1 : [];\r\n const horas2 = data.turnos.horas2 ? data.turnos.horas2 : [];\r\n return (\r\n
\r\n
\r\n {actualizado && !turno.fecha && (

Turno eliminado

)}\r\n {actualizado && turno.fecha && (

Nuevo turno registrado

)}\r\n {!actualizado && (

Reserva de turno

)}\r\n
Hola, {data.cliente.nombre} {data.cliente.apellido}
\r\n
Reserva de turno para tu compra realizada el día \r\n {new Date(data.pedido.fh_Alta)}\r\n .
\r\n
Fecha{organizacion.fecha2Hasta ? \"/s\" : \"\"} de entrega:\r\n
    \r\n
  • \r\n {new Date(organizacion.fecha1)}\r\n \r\n de {organizacion.fecha1Desde} a {organizacion.fecha1Hasta} hs.\r\n
  • \r\n {organizacion.fecha2Hasta && (\r\n
  • \r\n {new Date(organizacion.fecha2)}\r\n \r\n de {organizacion.fecha2Desde} a {organizacion.fecha2Hasta} hs.\r\n
  • \r\n )}\r\n
\r\n
\r\n {actualizado && turno.fecha === \"1\" && (
\r\n
Tu nuevo turno para el día \r\n {new Date(organizacion.fecha1)}\r\n a las {turno.hora}Hs, ha sido registrado con éxito!
\r\n
Muchas Gracias.
\r\n
)}\r\n {actualizado && turno.fecha === \"2\" && (
\r\n
Tu nuevo turno para el día \r\n {new Date(organizacion.fecha2)}\r\n a las {turno.hora}Hs, ha sido registrado con éxito!
\r\n
Muchas Gracias.
\r\n
)}\r\n {actualizado && !turno.fecha && (
\r\n
Tu turno fue anulado, recorda que debes reservar un turno para poder retirar el pedido!
\r\n { window.location = window.location.pathname + window.location.search; }} className=\"btn bg-0 cl-1 br-1 cl-hv-0 bg-hv-1\" >Reservar nuevo turno\r\n
Muchas Gracias.
\r\n
)}\r\n\r\n {!actualizado && (\r\n <>\r\n {!data.pedido.turno && (\r\n <>\r\n
Aún no has reservado un turno.
\r\n
Estos son los horarios disponibles en este momento:
\r\n \r\n )}\r\n {data.pedido.turno && (\r\n <>\r\n
Ya reservaste un turno para el día {\" \"} \r\n \r\n {new Date(data.pedido.turno)}\r\n \r\n a las {\" \"}\r\n \r\n \r\n {new Date(data.pedido.turno)}\r\n \r\n \r\n Hs.
\r\n
¿Necesitas cambiarlo?, estos son los horarios disponibles en este momento:
\r\n \r\n )}\r\n\r\n {horas1?.length === 0 && horas2?.length === 0 && (\r\n
No quedan más turnos disponibles en este momento.
\r\n )}\r\n\r\n {/* Si tiene Fecha 2 hay que poner un combo */}\r\n {(horas1.length > 0 && horas2.length > 0) && (\r\n \r\n \r\n \r\n {turno.fecha === \"1\" && (\r\n \r\n )}\r\n {turno.fecha === \"2\" && (\r\n \r\n )}\r\n {!turno.fecha && (\r\n \r\n )}\r\n\r\n \r\n \r\n )}\r\n {/* Solo Horas 1 */}\r\n {(horas1.length > 0 && horas2.length === 0) && (\r\n \r\n \r\n \r\n {new Date(organizacion.fecha1)}\r\n \r\n \r\n \r\n \r\n )}\r\n {/* Solo Horas 2 */}\r\n {(horas1.length === 0 && horas2.length > 0) && (\r\n \r\n \r\n \r\n {new Date(organizacion.fecha2)}\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n
{message}
\r\n
\r\n \r\n {isSending && (\r\n \r\n )}\r\n Confirmar nuevo turno\r\n {data.pedido.turno && (\r\n {!isRemoving && (\r\n \r\n )}\r\n {isRemoving && (\r\n \r\n )}{\" \"}\r\n Eliminar turno)}\r\n
\r\n\r\n \r\n )}\r\n
\r\n
\r\n );\r\n}\r\n","import http from \"./http.service\";\r\nconst baseUrl = process.env.REACT_APP_BACKEND_URL || \"\";\r\nconst apiUrl = baseUrl + \"/api/pedidos/\";\r\n\r\nexport function pedido_create(data) {\r\n return http.post(apiUrl, data);\r\n}\r\n","import React, { useContext, useState, useRef, useEffect, useCallback } from \"react\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport { CarritoContext, SiteInfoContext } from \"../app/App\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { pedido_create } from \"../services/pedido.service\";\r\nimport {\r\n cliente_validarEmail,\r\n cliente_enviarCodigo,\r\n} from \"../services/cliente.service\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { sortBy } from \"../utils/helpers\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { animateScroll } from \"react-scroll\";\r\nimport Spinner from \"react-bootstrap/Spinner\";\r\nimport { applyStyles } from \"../utils/helpers\";\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\r\nimport ReactGA from \"react-ga4\";\r\nimport Moment from \"react-moment\";\r\nimport { useCookies } from 'react-cookie';\r\n\r\nimport \"./finalizar-compra.scss\";\r\nexport default function FinalizarCompra(props) {\r\n const [cookies, setCookie, removeCookie] = useCookies(['sipe-cliente']);\r\n const [carrito, dispatchCarrito] = useContext(CarritoContext);\r\n const [{ organizacion }] = useContext(SiteInfoContext);\r\n const [errorSubmit, setErrorSubmit] = useState(\"\");\r\n const [cookieVerified, setCookieVerified] = useState(false);\r\n const [errorValidacion, setErrorVal] = useState(\"\");\r\n const [mensajeEnviado, setMensajeEnviado] = useState(\"\");\r\n const [isLoading, setLoading] = useState(false);\r\n const { executeRecaptcha } = useGoogleReCaptcha();\r\n const [turno, setTurno] = useState({ fecha: \"\", hora: \"\" });\r\n const [horas1, setHoras1] = useState([]);\r\n const [horas2, setHoras2] = useState([]);\r\n const [redirctTo, setRedirctTo] = useState(false);\r\n //const [validCaptcha, setValidCaptcha] = useState(\"\");\r\n const [cliente, setCliente] = useState({\r\n email: \"\",\r\n clienteCodigo: \"\",\r\n nombre: \"\",\r\n apellido: \"\",\r\n telefono: \"\",\r\n conEntregaDomicilio: false,\r\n calle: \"\",\r\n numero: \"\",\r\n localidad: \"\",\r\n direccionOpcional: \"\",\r\n comentarios: \"\",\r\n verified: false,\r\n });\r\n const [confirmed, setConfirmed] = useState(false);\r\n const { register, handleSubmit, errors, setValue, clearError } = useForm();\r\n const {\r\n register: registerV,\r\n handleSubmit: handleSubmitV,\r\n errors: errorsV,\r\n } = useForm();\r\n\r\n const sipeCliente = organizacion.validaCookie ? cookies[\"sipe-cliente\"] : undefined;\r\n const verifyEmail = useCallback(async () => {\r\n setErrorVal(\"\");\r\n setMensajeEnviado(\"\");\r\n setErrorSubmit(\"\");\r\n clearError();\r\n if (cliente.email === \"\" || cliente.clienteCodigo === \"\") {\r\n setErrorVal(\"Debe ingresar su Email y su código de verificación.\");\r\n return;\r\n }\r\n try {\r\n const response = await cliente_validarEmail(cliente.email);\r\n if (response.status === 200 || response.status === 204) {\r\n if (response.data.cliente === null || response.data.cliente === \"\") {\r\n //Nuevo\r\n setCliente({ ...cliente, verified: true, idCliente: 0 });\r\n setValue(\"nombre\", \"\");\r\n setValue(\"apellido\", \"\");\r\n setValue(\"telefono\", \"\");\r\n setValue(\"calle\", \"\");\r\n setValue(\"numero\", \"\");\r\n setValue(\"localidad\", \"\");\r\n setValue(\"direccionOpcional\", \"\");\r\n } else {\r\n //Existente\r\n if (response.data.cliente.clienteCodigo.trim() === cliente.clienteCodigo) {\r\n setCliente({\r\n ...cliente,\r\n nombre: response.data.cliente.nombre,\r\n apellido: response.data.cliente.apellido,\r\n telefono: response.data.cliente.telefono ?? \"\",\r\n calle: response.data.cliente.calle ?? \"\",\r\n numero: response.data.cliente.numero ?? \"\",\r\n localidad: response.data.cliente.localidad ?? \"\",\r\n direccionOpcional: response.data.cliente.direccionOpcional ?? \"\",\r\n verified: true,\r\n idCliente: response.data.cliente.idCliente,\r\n });\r\n setValue(\"nombre\", response.data.cliente.nombre);\r\n setValue(\"apellido\", response.data.cliente.apellido);\r\n setValue(\"telefono\", response.data.cliente.telefono);\r\n setValue(\"calle\", response.data.cliente.calle ?? \"\");\r\n setValue(\"numero\", response.data.cliente.numero ?? \"\");\r\n setValue(\"localidad\", response.data.cliente.localidad ?? \"\");\r\n setValue(\"direccionOpcional\", response.data.cliente.direccionOpcional ?? \"\");\r\n // Add Cookie\r\n const expiration = new Date(new Date().setFullYear(new Date().getFullYear() + 2));\r\n setCookie('sipe-cliente', {\r\n \"nombre\": response.data.cliente.nombre,\r\n \"apellido\": response.data.cliente.apellido,\r\n \"email\": cliente.email,\r\n \"clienteCodigo\": cliente.clienteCodigo,\r\n }, { path: '/', expires : expiration });\r\n\r\n } else {\r\n // No lo dejo continuar!!!!\r\n setCliente({ ...cliente, verified: false });\r\n setErrorVal(organizacion.mensajeDatosInvalidos);\r\n\r\n // Add Cookie\r\n removeCookie('sipe-cliente');\r\n }\r\n }\r\n if (response.data.turnos) {\r\n if (response.data.turnos.horas1) {\r\n setHoras1(response.data.turnos.horas1);\r\n }\r\n if (response.data.turnos.horas2) {\r\n setHoras2(response.data.turnos.horas2);\r\n }\r\n }\r\n } else {\r\n setErrorVal(response.statusText);\r\n }\r\n } catch (err) {\r\n if (err.response.data && err.response.data.title) {\r\n setErrorVal(err.response.data.title);\r\n }\r\n else {\r\n setErrorVal(\r\n \"No se pudieron verificar los datos, antes de reintentar compruebe si hay conexión a Internet. Si el problema persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n }, [cliente, clearError, organizacion, setCookie, removeCookie, setValue]);\r\n\r\n const verifyCookie = useCallback(async () => {\r\n try {\r\n const response = await cliente_validarEmail(sipeCliente.email);\r\n if (response.status === 200 || response.status === 204) {\r\n if (response.data.cliente === null || response.data.cliente === \"\") {\r\n //Nuevo\r\n setCliente({ ...cliente, verified: true, idCliente: 0 });\r\n setValue(\"nombre\", \"\");\r\n setValue(\"apellido\", \"\");\r\n setValue(\"telefono\", \"\");\r\n setValue(\"calle\", \"\");\r\n setValue(\"numero\", \"\");\r\n setValue(\"localidad\", \"\");\r\n setValue(\"direccionOpcional\", \"\");\r\n } else {\r\n //Existente\r\n if (response.data.cliente.clienteCodigo.trim() === sipeCliente.clienteCodigo) {\r\n setCliente({\r\n ...cliente,\r\n clienteCodigo : sipeCliente.clienteCodigo,\r\n email: sipeCliente.email,\r\n nombre: response.data.cliente.nombre,\r\n apellido: response.data.cliente.apellido,\r\n telefono: response.data.cliente.telefono ?? \"\",\r\n calle: response.data.cliente.calle ?? \"\",\r\n numero: response.data.cliente.numero ?? \"\",\r\n localidad: response.data.cliente.localidad ?? \"\",\r\n direccionOpcional: response.data.cliente.direccionOpcional ?? \"\",\r\n verified: true,\r\n idCliente: response.data.cliente.idCliente,\r\n });\r\n setValue(\"nombre\", response.data.cliente.nombre);\r\n setValue(\"apellido\", response.data.cliente.apellido);\r\n setValue(\"telefono\", response.data.cliente.telefono);\r\n setValue(\"calle\", response.data.cliente.calle ?? \"\");\r\n setValue(\"numero\", response.data.cliente.numero ?? \"\");\r\n setValue(\"localidad\", response.data.cliente.localidad ?? \"\");\r\n setValue(\"direccionOpcional\", response.data.cliente.direccionOpcional ?? \"\");\r\n setCookieVerified(true);\r\n ReactGA.event({\r\n category: 'FinalizarCompra',\r\n action: 'Retomar sesion'\r\n });\r\n \r\n } else {\r\n // Remove Cookie\r\n removeCookie('sipe-cliente');\r\n }\r\n }\r\n if (response.data.turnos) {\r\n if (response.data.turnos.horas1) {\r\n setHoras1(response.data.turnos.horas1);\r\n }\r\n if (response.data.turnos.horas2) {\r\n setHoras2(response.data.turnos.horas2);\r\n }\r\n }\r\n } else {\r\n setErrorVal(response.statusText);\r\n }\r\n } catch (err) {\r\n if (err.response.data && err.response.data.title) {\r\n setErrorVal(err.response.data.title);\r\n }\r\n else {\r\n setErrorVal(\r\n \"No se pudieron verificar los datos, antes de reintentar compruebe si hay conexión a Internet. Si el problema persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n }, [cliente, sipeCliente, removeCookie, setValue]);\r\n\r\n\r\n useEffect(() => {\r\n let isSubscribed = true;\r\n async function getVerification() {\r\n if ((!carrito.productos || carrito.productos.length === 0) && !confirmed) {\r\n setRedirctTo(true)\r\n } else {\r\n if (isSubscribed && sipeCliente && !cliente.verified) {\r\n verifyCookie();\r\n }\r\n }\r\n }\r\n\r\n\r\n getVerification();\r\n return () => {\r\n // cancel the subscription\r\n isSubscribed = false;\r\n };\r\n }, [carrito, confirmed, sipeCliente, verifyCookie, cliente]);\r\n\r\n const inpurRef = useRef(null);\r\n const regExp = new RegExp(\r\n /^([a-zA-Z0-9_\\-.]+)@([a-zA-Z0-9_\\-.]+).([a-zA-Z]{2,5})$/\r\n );\r\n\r\n // Si no hay productos en el carrito no puede estar en esta pantalla\r\n if (redirctTo) {\r\n return ;\r\n }\r\n const productos = carrito.productos.sort((a, b) =>\r\n sortBy(a.nombre, b.nombre)\r\n );\r\n const totalCarrito = productos\r\n .map((p) => p.cantidad * (p.pesable ? p.precioVenta * p.fraccion : p.precioVenta))\r\n .reduce((a, b) => a + b, 0);\r\n\r\n const enviarEmail = async (email) => {\r\n try {\r\n setMensajeEnviado(\"Enviando correo electrónico...\");\r\n await cliente_enviarCodigo(email);\r\n setMensajeEnviado(organizacion.mensajeCodigoEnviadoValido);\r\n } catch (err) {\r\n setMensajeEnviado(\"\");\r\n if (err.response.data.title) {\r\n setErrorVal(err.response.data.title);\r\n } else {\r\n setErrorVal(\r\n \"No se pudo enviar el código intentalo más tarde. Si el error persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n const olvidoSuCodigo = (e) => {\r\n e.preventDefault();\r\n setErrorVal(\"\");\r\n setMensajeEnviado(\"\");\r\n setErrorSubmit(\"\");\r\n confirmAlert({\r\n customUI: ({ onClose }) => {\r\n return (\r\n
\r\n

¿Olvido su código?

\r\n \r\n
Dato obligatorio!
\r\n

Te lo enviaremos a su correo electrónico.

\r\n {\r\n const email = inpurRef.current.value;\r\n if (email === \"\" || !regExp.test(email)) {\r\n e.preventDefault();\r\n return;\r\n }\r\n enviarEmail(email);\r\n onClose();\r\n }}\r\n >\r\n Enviar\r\n \r\n \r\n
\r\n );\r\n },\r\n });\r\n };\r\n\r\n const onSubmit = async (data) => {\r\n setLoading(true);\r\n const token = await executeRecaptcha(\"ConfirmarPedido\");\r\n let fechaHoraTurno = null;\r\n if (!data.conEntregaDomicilio && turno.fecha && turno.hora) {\r\n fechaHoraTurno = new Date(turno.fecha === \"1\" ? organizacion.fecha1.replace(\"T00:00:00\", \"Z\" + turno.hora) : organizacion.fecha2.replace(\"T00:00:00\", \"Z\" + turno.hora));\r\n }\r\n const input = {\r\n estado: \"P\",\r\n captcha: token,\r\n comentarios: data.comentarios,\r\n conEntregaDomicilio: data.conEntregaDomicilio,\r\n turno: fechaHoraTurno,\r\n cliente: cliente,\r\n productos: carrito.productos.map((p) => ({\r\n idProducto: p.idProducto,\r\n precio: p.precioVenta,\r\n fraccion: p.fraccion,\r\n costo: p.precioCompra,\r\n cantidad: p.cantidad,\r\n })),\r\n };\r\n try {\r\n const response = await pedido_create(input);\r\n setLoading(false);\r\n ReactGA.event({\r\n category: 'FinalizarCompra',\r\n action: 'Pedido Enviado'\r\n });\r\n if (response.status === 201) {\r\n setConfirmed(true);\r\n const expiration = new Date(new Date().setFullYear(new Date().getFullYear() + 2));\r\n // Add Cookie\r\n setCookie('sipe-cliente', {\r\n \"nombre\": cliente.nombre,\r\n \"apellido\": cliente.apellido,\r\n \"email\": cliente.email,\r\n \"clienteCodigo\": cliente.clienteCodigo,\r\n }, { path: '/', expires : expiration });\r\n dispatchCarrito({\r\n type: \"CLEAN_CARRITO\",\r\n });\r\n animateScroll.scrollTo(0);\r\n } else {\r\n setErrorSubmit(response.statusText);\r\n }\r\n } catch (err) {\r\n setLoading(false);\r\n if (err.response.data.title) {\r\n if (err.response.data.title.startsWith(\"DT#\")) {\r\n err.response.data.title = err.response.data.title.substr(3);\r\n if (turno.fecha === \"1\") {\r\n setHoras1(horas1.filter(f => f !== turno.hora));\r\n } else {\r\n setHoras2(horas2.filter(f => f !== turno.hora));\r\n }\r\n }\r\n setErrorSubmit(err.response.data.title);\r\n } else {\r\n setErrorSubmit(\r\n \"No se pudieron verificar los datos, intentalo más tarde. Si el error persiste comunicate con nosotros.\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {confirmed && (\r\n <>\r\n

Datos recibidos exitosamente

\r\n
\r\n \r\n
\r\n
\r\n 4\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n {!confirmed && (\r\n <>\r\n

Finalizar Compra

\r\n

Ingrese sus datos

\r\n
\r\n \r\n \r\n
\r\n \r\n {!cookieVerified && <>\r\n {organizacion.mensajeDeRegistracion && (\r\n
\r\n 1\r\n
\r\n

\r\n
\r\n
\r\n )}\r\n \r\n \r\n Correo electrónico\r\n {\r\n setCliente({\r\n email: e.target.value,\r\n clienteCodigo: cliente.clienteCodigo,\r\n nombre: \"\",\r\n apellido: \"\",\r\n telefono: \"\",\r\n conEntregaDomicilio: false,\r\n calle: \"\",\r\n numero: \"\",\r\n localidad: \"\",\r\n direccionOpcional: \"\",\r\n comentarios: \"\",\r\n verified: false,\r\n });\r\n setValue(\"nombre\", \"\");\r\n setValue(\"apellido\", \"\");\r\n setValue(\"telefono\", \"\");\r\n setValue(\"calle\", \"\");\r\n setValue(\"numero\", \"\");\r\n setValue(\"localidad\", \"\");\r\n setValue(\"direccionOpcional\", \"\");\r\n }}\r\n ref={registerV({\r\n required: \"Dato obligatorio!\",\r\n pattern: {\r\n value: /^([a-zA-Z0-9_\\-.]+)@([a-zA-Z0-9_\\-.]+).([a-zA-Z]{2,5})$/,\r\n message: \"El correo es inválido\",\r\n },\r\n })}\r\n />\r\n \r\n {errorsV.email?.message}\r\n \r\n \r\n \r\n Código\r\n {\r\n var code = event.keyCode || event.which;\r\n if (code === 13) {\r\n //13 is the enter keycode\r\n //Do stuff in here\r\n handleSubmitV(verifyEmail)();\r\n }\r\n }}\r\n onChange={(e) => {\r\n setCliente({\r\n nombre: \"\",\r\n apellido: \"\",\r\n telefono: \"\",\r\n comentarios: \"\",\r\n calle: \"\",\r\n numero: \"\",\r\n localidad: \"\",\r\n direccionOpcional: \"\",\r\n conEntregaDomicilio: false,\r\n email: cliente.email,\r\n clienteCodigo: e.target.value,\r\n verified: false,\r\n });\r\n setValue(\"nombre\", \"\");\r\n setValue(\"apellido\", \"\");\r\n setValue(\"telefono\", \"\");\r\n setValue(\"calle\", \"\");\r\n setValue(\"numero\", \"\");\r\n setValue(\"localidad\", \"\");\r\n setValue(\"direccionOpcional\", \"\");\r\n }}\r\n ref={registerV({ required: \"Obligatorio!\" })}\r\n />\r\n \r\n {errorsV.clienteCodigo?.message}\r\n \r\n \r\n \r\n {\r\n e.preventDefault();\r\n handleSubmitV(verifyEmail)();\r\n }}\r\n >\r\n {\" \"}\r\n {cliente.verified ? \"Validado\" : \"Validar\"}\r\n \r\n \r\n \r\n olvidoSuCodigo(e)}\r\n >\r\n ¿Olvidó su código?\r\n \r\n }\r\n\r\n {cookieVerified && <>\r\n\r\n
\r\n 1\r\n
\r\n {organizacion.mensajeDeValidacionDeCookie && (\r\n \" + sipeCliente.nombre + \" \" + sipeCliente.apellido + \"\")\r\n ),\r\n }}\r\n >

\r\n )}\r\n {\r\n e.preventDefault();\r\n // Remove Cookie\r\n removeCookie('sipe-cliente');\r\n setCookieVerified(false);\r\n setCliente({\r\n nombre: \"\",\r\n apellido: \"\",\r\n telefono: \"\",\r\n comentarios: \"\",\r\n calle: \"\",\r\n numero: \"\",\r\n localidad: \"\",\r\n direccionOpcional: \"\",\r\n conEntregaDomicilio: false,\r\n email: cliente.email,\r\n clienteCodigo: e.target.value,\r\n verified: false,\r\n });\r\n setValue(\"nombre\", \"\");\r\n setValue(\"apellido\", \"\");\r\n setValue(\"telefono\", \"\");\r\n setValue(\"calle\", \"\");\r\n setValue(\"numero\", \"\");\r\n setValue(\"localidad\", \"\");\r\n setValue(\"direccionOpcional\", \"\");\r\n ReactGA.event({\r\n category: 'FinalizarCompra',\r\n action: 'Cerrar Sesion'\r\n });\r\n }}\r\n >\r\n Cerrar sesión\r\n \r\n
\r\n
\r\n }\r\n\r\n {mensajeEnviado && (\r\n
\r\n
\r\n {mensajeEnviado.startsWith(\"Envi\") && (\r\n \r\n )}\r\n {mensajeEnviado}\r\n
\r\n
\r\n )}\r\n {errorValidacion && (\r\n
\r\n
\r\n

\r\n
\r\n
\r\n )}\r\n {cliente.verified && cliente.idCliente > 0 && (\r\n
\r\n 2\r\n
\r\n
\r\n )}\r\n {cliente.verified && cliente.idCliente === 0 && (\r\n
\r\n 2\r\n
\r\n
\r\n )}\r\n \r\n \r\n Nombre\r\n {\r\n setCliente({ ...cliente, nombre: e.target.value });\r\n }}\r\n isInvalid={errors.nombre && cliente.verified}\r\n ref={register({ required: \"Dato obligatorio!\" })}\r\n />\r\n \r\n {errors.nombre?.message}\r\n \r\n \r\n \r\n Apellido\r\n {\r\n setCliente({\r\n ...cliente,\r\n apellido: e.target.value,\r\n });\r\n }}\r\n isInvalid={errors.apellido && cliente.verified}\r\n ref={register({ required: \"Dato obligatorio!\" })}\r\n />\r\n \r\n {errors.apellido?.message}\r\n \r\n \r\n \r\n\r\n \r\n \r\n Teléfono\r\n
\r\n \r\n {\r\n setCliente({\r\n ...cliente,\r\n telefono: e.target.value,\r\n });\r\n }}\r\n isInvalid={errors.telefono && cliente.verified}\r\n ref={register({ required: \"Dato obligatorio!\" })}\r\n />\r\n
\r\n
\r\n Con código de area sin 0, y celular sin 15\r\n
\r\n
(Ej.: 11-5555-5555)
\r\n \r\n {errors.telefono?.message}\r\n \r\n
\r\n
\r\n {/* Verifica si la organizacion tiene habilidata la enterga a domicilio */}\r\n {(organizacion.conTurno) && (\r\n <>\r\n \r\n \r\n {\r\n setCliente({\r\n ...cliente,\r\n conEntregaDomicilio: false,\r\n conTurno: e.target.checked\r\n });\r\n setValue(\"conEntregaDomicilio\", false);\r\n setTurno({ fecha: \"\", hora: \"\" });\r\n }}\r\n name=\"conTurno\"\r\n disabled={!cliente.verified}\r\n type=\"switch\"\r\n id=\"custom-switch-reservaTuturno\"\r\n label=\"¿Retiras? reservá tu turno\"\r\n ref={register}\r\n >\r\n \r\n \r\n {cliente.conTurno && (\r\n
\r\n Selecciona fecha y hora\r\n {/* Si tiene Fecha 2 hay que poner un combo */}\r\n {(horas1.length > 0 && horas2.length > 0) && (\r\n \r\n \r\n \r\n {turno.fecha === \"1\" && (\r\n \r\n )}\r\n {turno.fecha === \"2\" && (\r\n \r\n )}\r\n {!turno.fecha && (\r\n \r\n )}\r\n\r\n \r\n \r\n )}\r\n {/* Solo Horas 1 */}\r\n {(horas1.length > 0 && horas2.length === 0) && (\r\n \r\n \r\n \r\n {new Date(organizacion.fecha1)}\r\n \r\n \r\n \r\n \r\n )}\r\n {/* Solo Horas 2 */}\r\n {(horas1.length === 0 && horas2.length > 0) && (\r\n \r\n \r\n \r\n {new Date(organizacion.fecha2)}\r\n \r\n \r\n \r\n \r\n )}\r\n {/* No hay turnos */}\r\n {(cliente.verified && horas1.length === 0 && horas2.length === 0) && (\r\n \r\n \r\n No quedan turnos disponibles.\r\n \r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n )}\r\n\r\n {organizacion.conEntregaDomicilio && (\r\n <>\r\n \r\n \r\n {\r\n setCliente({\r\n ...cliente,\r\n conTurno: false,\r\n conEntregaDomicilio: e.target.checked,\r\n });\r\n setValue(\"conTurno\", false);\r\n setTurno({ fecha: \"\", hora: \"\" });\r\n }}\r\n // checked={cliente.conEntregaDomicilio}\r\n // value={cliente.conEntregaDomicilio}\r\n disabled={!cliente.verified}\r\n name=\"conEntregaDomicilio\"\r\n type=\"switch\"\r\n id=\"custom-switch-conEntregaDomicilio\"\r\n label=\"¿Con entrega a domicilio?\"\r\n ref={register}\r\n >\r\n \r\n \r\n {cliente.conEntregaDomicilio && (\r\n
\r\n
\r\n \r\n \r\n Calle\r\n {\r\n setCliente({ ...cliente, calle: e.target.value });\r\n }}\r\n isInvalid={errors.calle && cliente.verified}\r\n ref={register({ validate: (v) => !(cliente.conEntregaDomicilio && cliente.calle === \"\"), message: \"Dato obligatorio!\" })}\r\n />\r\n \r\n Dato obligatorio!\r\n \r\n \r\n \r\n Número\r\n {\r\n setCliente({ ...cliente, numero: e.target.value });\r\n }}\r\n isInvalid={errors.numero && cliente.verified}\r\n ref={register({ validate: (v) => !(cliente.conEntregaDomicilio && cliente.numero === \"\"), message: \"Dato obligatorio!\" })}\r\n />\r\n \r\n Dato obligatorio!\r\n \r\n \r\n \r\n \r\n \r\n Localidad\r\n {\r\n setCliente({ ...cliente, localidad: e.target.value });\r\n }}\r\n isInvalid={errors.localidad && cliente.verified}\r\n ref={register({ validate: (v) => !(cliente.conEntregaDomicilio && cliente.localidad === \"\"), message: \"Dato obligatorio!\" })}\r\n />\r\n \r\n Dato obligatorio!\r\n \r\n \r\n \r\n \r\n \r\n Detalle domicilio (opcional)\r\n {\r\n setCliente({ ...cliente, direccionOpcional: e.target.value });\r\n }}\r\n isInvalid={errors.direccionOpcional}\r\n ref={register({ validate: (v) => !(cliente.conEntregaDomicilio && cliente.direccionOpcional.length > 99), message: \"Detalle domicilio demasiado largo!\" })}\r\n />\r\n \r\n Detalle domicilio demasiado largo!\r\n \r\n \r\n \r\n\r\n
\r\n )}\r\n \r\n )}\r\n\r\n \r\n Comentarios\r\n {\r\n setCliente({\r\n ...cliente,\r\n comentarios: e.target.value,\r\n });\r\n }}\r\n placeholder=\"Ingrese sus comentarios\"\r\n value={cliente.comentarios}\r\n name=\"comentarios\"\r\n rows=\"4\"\r\n ref={register}\r\n />\r\n \r\n
\r\n \r\n \r\n
\r\n
Tu pedido
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {productos.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n
PRODUCTOSUBTOTAL
\r\n {item.cantidad} - {item.nombre}\r\n \r\n ${(item.cantidad * (item.pesable ? item.precioVenta * item.fraccion : item.precioVenta)).toFixed(2)}\r\n
\r\n TOTAL\r\n \r\n ${totalCarrito.toFixed(2)}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {cliente.verified && cliente.idCliente === 0 && (\r\n
\r\n 3\r\n
\r\n

\r\n
\r\n
\r\n )}\r\n {cliente.verified && cliente.idCliente > 0 && (\r\n
\r\n 3\r\n
\r\n

\r\n
\r\n
\r\n )}\r\n\r\n {errorSubmit && (\r\n
\r\n
\r\n

\r\n
\r\n
\r\n )}\r\n {/* setValidCaptcha(token)} /> */}\r\n
\r\n {\r\n e.preventDefault();\r\n if (cliente.verified) handleSubmit(onSubmit)();\r\n }}\r\n >\r\n {isLoading && (\r\n \r\n )}\r\n Confirmar Pedido\r\n \r\n {\r\n animateScroll.scrollTo(0);\r\n }}\r\n >\r\n Seguir\r\n comprando\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport \"./not-found.scss\";\r\nexport default function NotFound(props) {\r\n return (\r\n
\r\n
\r\n

La página no existe

\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useContext } from \"react\";\r\nimport { useParams, Redirect, useHistory, Link } from \"react-router-dom\";\r\nimport { SiteInfoContext, CarritoContext } from \"../app/App\";\r\nimport { useLastLocation } from \"react-router-last-location\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport \"./producto-detalle.scss\";\r\nimport Slider from \"react-slick\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { applyStyles } from \"../utils/helpers\";\r\nimport ReactGA from \"react-ga4\";\r\n\r\nexport default function ProductoDetalle(props) {\r\n const { id } = useParams();\r\n const [{ productos, organizacion }] = useContext(SiteInfoContext);\r\n const [carrito, dispatchCarrito] = useContext(CarritoContext);\r\n let producto = carrito.productos.find((p) => p.idProducto === Number(id));\r\n\r\n const lastLocation = useLastLocation();\r\n const history = useHistory();\r\n\r\n if (!producto) {\r\n producto = productos.find((p) => p.idProducto === Number(id));\r\n }\r\n\r\n if (!producto) {\r\n return ;\r\n }\r\n\r\n const handleAddAction = (e, item) => {\r\n e.preventDefault();\r\n const prod = carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n );\r\n if (prod) {\r\n prod.cantidad++;\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [...carrito.productos],\r\n });\r\n } else {\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [...carrito.productos, { ...item, cantidad: 1 }],\r\n });\r\n }\r\n };\r\n\r\n const handleRemoveAction = (e, item) => {\r\n e.preventDefault();\r\n const prod = carrito.productos.find(\r\n (p) => p.idProducto === item.idProducto\r\n );\r\n if (prod) {\r\n if (prod.cantidad === 1) {\r\n const newProductos = [\r\n ...carrito.productos.filter((p) => p.idProducto !== item.idProducto),\r\n ];\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: newProductos,\r\n });\r\n } else {\r\n prod.cantidad--;\r\n dispatchCarrito({\r\n type: \"UPDATE_PRODUCTO\",\r\n payload: [...carrito.productos],\r\n });\r\n }\r\n }\r\n };\r\n\r\n const imagenes = producto.imagenes?.split(\"#\");\r\n const proveedor = producto.proveedor;\r\n const settings = {\r\n dots: true,\r\n infinite: true,\r\n speed: 300,\r\n autoplaySpeed: 3000,\r\n autoplay: imagenes?.length > 1,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n };\r\n\r\n const cantidad = carrito.productos?.find(p => p.idProducto === producto.idProducto)?.cantidad ?? 0;\r\n const disponible = (!producto.validaStock || (producto.stock - producto.stockPendientes - cantidad) > 0) && (!producto.soloEntrega || organizacion.conEntregaF1);\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n /\r\n \r\n Tienda\r\n \r\n {producto.productoTipo && (\r\n <>\r\n /\r\n \r\n {producto.productoTipo.descripcion}\r\n \r\n \r\n )}\r\n /\r\n {producto.nombre}\r\n
\r\n {imagenes && (\r\n \r\n {imagenes.map((img, index) => {\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n )}\r\n {!imagenes && (\r\n
\r\n )}\r\n {organizacion.ventaHabilitada && !disponible && cantidad === 0 && (\r\n
No disponible!
)}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n /\r\n \r\n Tienda\r\n \r\n {producto.productoTipo && (\r\n <>\r\n /\r\n \r\n {producto.productoTipo.descripcion}\r\n \r\n \r\n )}\r\n /\r\n {producto.nombre}\r\n
\r\n

{producto.nombre}

\r\n

\r\n
\r\n
\r\n {proveedor && !proveedor.proveedorTipo && (\r\n <>\r\n {proveedor && (\r\n

\r\n {proveedor.descripcion}\r\n

\r\n )}\r\n {proveedor.imagenes && (\r\n
\r\n )}\r\n \r\n )}\r\n {proveedor && proveedor.proveedorTipo && (\r\n <>\r\n
{proveedor.proveedorTipo.descripcion}
\r\n {proveedor && (\r\n

\r\n {proveedor.descripcion}\r\n

\r\n )}\r\n {proveedor.imagenes && (\r\n
\r\n )}\r\n {proveedor.proveedorTipo.imagenes && (\r\n \r\n )}\r\n \r\n )}\r\n\r\n

${producto.pesable ? producto.precioVenta * producto.fraccion : producto.precioVenta}

\r\n \r\n
\r\n {(!organizacion.ventaHabilitada || (!disponible && cantidad === 0)) && (\r\n {\r\n if (lastLocation?.pathname.startsWith(\"/tienda\")) {\r\n history.goBack();\r\n } else {\r\n history.push(\"/tienda\");\r\n }\r\n }}\r\n >\r\n Volver a la\r\n tienda\r\n \r\n )}\r\n {organizacion.ventaHabilitada && (disponible || cantidad > 0) && (\r\n <>\r\n
\r\n {\r\n if (disponible) {\r\n ReactGA.event({\r\n category: 'Detalle del producto',\r\n action: 'Agergar producto'\r\n });\r\n handleAddAction(e, producto);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n 0)\r\n ? \"nav-link disabled icon-disabled\"\r\n : \"nav-link cl-hv-1\"\r\n }\r\n to=\"#\"\r\n onClick={(e) => {\r\n ReactGA.event({\r\n category: 'Detalle del producto',\r\n action: 'Quitar producto'\r\n });\r\n handleRemoveAction(e, producto);\r\n }}\r\n >\r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n ReactGA.event({\r\n category: 'Detalle del producto',\r\n action: 'Seguir comprando'\r\n });\r\n if (lastLocation?.pathname.startsWith(\"/tienda\")) {\r\n history.goBack();\r\n } else {\r\n history.push(\"/tienda\");\r\n }\r\n }}\r\n >\r\n Seguir\r\n comprando\r\n \r\n {\r\n ReactGA.event({\r\n category: 'Detalle del producto',\r\n action: 'Ir al carrito'\r\n });\r\n }}\r\n >\r\n {\" \"}\r\n Ir al carrito\r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nexport default function ScrollToTop() {\r\n const { pathname } = useLocation();\r\n \r\n useEffect(() => {\r\n if (pathname !== \"/tienda\") {\r\n window.scrollTo(0, 0);\r\n }\r\n }, [pathname]);\r\n\r\n return null;\r\n}\r\n","import React, { useState, useReducer } from \"react\";\r\nimport { BrowserRouter, Switch, Route } from \"react-router-dom\";\r\nimport { carritoReducer } from \"./carritoState\";\r\nimport Site from \"../Site/Site\";\r\nimport Inicio from \"../pages/Inicio\";\r\nimport Tienda from \"../pages/Tienda\";\r\nimport QuienesSomos from \"../pages/QuienesSomos\";\r\nimport Contenidos from \"../pages/Contenidos\";\r\nimport ContenidoDetalle from \"../pages/ContenidoDetalle\";\r\nimport MiCarrito from \"../pages/MiCarrito\";\r\nimport ConfirmarCorreo from \"../pages/ConfirmarCorreo\";\r\nimport ComoComprar from \"../pages/ComoComprar\";\r\nimport CambioDeTurno from \"../pages/CambioDeTurno\";\r\nimport FinalizarCompra from \"../pages/FinalizarCompra\";\r\nimport NotFound from \"../pages/NotFound\";\r\nimport ProductoDetalle from \"../pages/ProductoDetalle\";\r\nimport { removeAccents } from \"../utils/helpers\";\r\n\r\nimport ScrollToTop from \"../components/scrollToTop\";\r\nimport { LastLocationProvider } from \"react-router-last-location\";\r\nimport { CookiesProvider } from 'react-cookie';\r\n\r\n// Initialize de Fonts\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport {\r\n faHome,\r\n faEdit,\r\n faWindowClose,\r\n faCut,\r\n faArrowLeft,\r\n faArrowRight,\r\n faArrowDown,\r\n faArrowUp,\r\n faArrowCircleUp,\r\n faFilter,\r\n faPlus,\r\n faMinus,\r\n faTrash,\r\n faShoppingCart,\r\n faEnvelope,\r\n faPhone,\r\n faSearch,\r\n faEye,\r\n faBars,\r\n faChevronDown,\r\n faTimes,\r\n faStore,\r\n faCheck,\r\n faUser,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nlibrary.add(\r\n faHome,\r\n faEdit,\r\n faWindowClose,\r\n faCut,\r\n faArrowLeft,\r\n faArrowRight,\r\n faArrowDown,\r\n faFilter,\r\n faArrowUp,\r\n faArrowCircleUp,\r\n faPlus,\r\n faMinus,\r\n faTrash,\r\n faShoppingCart,\r\n faEnvelope,\r\n faPhone,\r\n faSearch,\r\n faEye,\r\n faBars,\r\n faChevronDown,\r\n faTimes,\r\n faStore,\r\n faCheck,\r\n faUser\r\n);\r\n\r\nexport const SiteInfoContext = React.createContext({});\r\nexport const CarritoContext = React.createContext({});\r\n\r\nfunction App(props) {\r\n //const [carrito, setCarrito] = useState({ productos: [] });\r\n const [carrito, dispatchCarrito] = useReducer(carritoReducer, {\r\n productos: [],\r\n });\r\n const [siteInfo] = useState(props.siteInfo);\r\n const quienesSomos = !siteInfo.organizacion.pqS_Menu ? \"\" : \"/\" + removeAccents(siteInfo.organizacion.pqS_Menu.replace(\" \", \"-\").toLowerCase());\r\n const [tiendaNoDisponible, setTiendaNoDisponible] = useState(\r\n !siteInfo.organizacion.ventaHabilitada\r\n );\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {quienesSomos && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./index.scss\";\nimport App from \"./app/App\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport { GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';\n\nconst preState = getPreState();\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n\nfunction getFaviconEl() {\n return document.getElementById(\"favicon\");\n}\nfunction getAppleEl() {\n return document.getElementById(\"apple\");\n}\n\n\n// server-side state preloading\nfunction getPreState() {\n const script = document.getElementById(\"preState\");\n const preState = script ? JSON.parse(script.innerHTML) : {};\n const favicon = getFaviconEl(); // Accessing favicon element\n favicon.href = \"/website/images/logos/\" + preState.organizacion.codOrg + \"_F.jpg\";\n const apple = getAppleEl(); // Accessing apple element \n apple.href = \"/website/images/logos/\" + preState.organizacion.codOrg + \"_M.jpg\";\n return preState;\n}\n"],"sourceRoot":""}