{"version":3,"sources":["webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/@material-ui/core/esm/Card/Card.js","webpack:///./src/shared/hooks/useMetaSearch.ts","webpack:///./src/components/organisms/headboard-trees/headboardTrees.tsx","webpack:///./src/shared/hooks/useScrollDetect.ts","webpack:///./node_modules/@material-ui/core/esm/utils/setRef.js","webpack:///./node_modules/@material-ui/core/esm/CardMedia/CardMedia.js","webpack:///./node_modules/@material-ui/core/esm/utils/useEventCallback.js","webpack:///./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js","webpack:///./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js","webpack:///./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js","webpack:///./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js","webpack:///./src/components/molecules/share-modal/shareModal.tsx","webpack:///./node_modules/@material-ui/core/esm/Button/Button.js","webpack:///./node_modules/@material-ui/core/esm/utils/useForkRef.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/@material-ui/core/esm/transitions/utils.js","webpack:///./node_modules/@material-ui/core/esm/Grow/Grow.js","webpack:///./node_modules/@material-ui/core/esm/styles/useTheme.js","webpack:///./src/components/organisms/headboard-main/headboardMain.module.scss","webpack:///./node_modules/@material-ui/core/esm/Paper/Paper.js","webpack:///./src/shared/utils/dateUtilities.ts","webpack:///./node_modules/@material-ui/core/esm/CardActions/CardActions.js","webpack:///./node_modules/@material-ui/core/esm/CardContent/CardContent.js","webpack:///./node_modules/@material-ui/core/esm/Typography/Typography.js","webpack:///./src/components/molecules/searcher/searcher.tsx","webpack:///./node_modules/@material-ui/core/esm/Grid/Grid.js","webpack:///./src/components/organisms/headboard/headboard.tsx","webpack:///./src/components/organisms/headboard-buttons/headboardButtons.tsx","webpack:///./src/components/organisms/headboard-claustro/headboardClaustro.tsx","webpack:///./src/components/organisms/headboard-dientelandia/headboardDientelandia.tsx","webpack:///./src/components/organisms/headboard-especial/headboardEspecial.tsx","webpack:///./src/components/organisms/headboard-informe2022/headboardInforme2022.tsx","webpack:///./src/components/organisms/headboard-null/headboardNull.tsx","webpack:///./src/utils/getGtmId.tsx","webpack:///./src/components/organisms/headboard-sala-prensa/headboardSalaPrensa.tsx","webpack:///./src/components/organisms/headboard-sala-prensa2/headboardSalaPrensa2.tsx","webpack:///./src/components/organisms/headboard-simple/headboardSimple.tsx","webpack:///./src/components/organisms/headboard-tabs/headboardTabs.tsx","webpack:///./src/components/atoms/nav-accordion/navAccordion.tsx","webpack:///./src/components/atoms/font-size/fontSize.tsx","webpack:///./src/components/molecules/nav-component/navComponent.tsx","webpack:///./src/components/molecules/nav-menu/navMenu.tsx","webpack:///./src/components/molecules/nav-menu-informe2020/navMenuInforme2020.tsx","webpack:///./src/components/molecules/nav-menu-informe2021/navMenuInforme2021.tsx","webpack:///./src/components/molecules/nav-menu-informe2022/navMenuInforme2022.tsx","webpack:///./src/components/molecules/nav-menu-biosuroeste/navMenuBiosuroeste.tsx","webpack:///./src/components/organisms/nav/nav.tsx","webpack:///./src/components/molecules/follows/follows.tsx","webpack:///./src/components/molecules/footer/footer.tsx","webpack:///./src/components/atoms/button-burger/buttonBurger.tsx","webpack:///./src/components/atoms/login/login.tsx","webpack:///./src/components/molecules/header/header.tsx","webpack:///./src/components/molecules/pizza-button/pizzaButton.tsx","webpack:///./src/hooks/useVerifyChat.ts","webpack:///./src/hooks/chatConstants.ts","webpack:///./node_modules/firebase/app/dist/index.esm.js","webpack:///./node_modules/gatsby-plugin-firebase/src/firebase.js","webpack:///./node_modules/gatsby-plugin-firebase/index.js","webpack:///./src/services/firebase.js","webpack:///./src/components/organisms/headboard-main/adapter/headboardMain.adapter.ts","webpack:///./src/components/organisms/headboard-main/headboardMain.tsx","webpack:///./src/components/organisms/layout/layout.tsx"],"names":["createContext","Card","props","ref","classes","className","_props$raised","raised","other","root","elevation","overflow","name","useMetaSearch","meta","_useState","useState","metaSearch","setMetaSearch","_useState2","filterSearch","setFilterSearch","_useState3","filterPage","setFilterPage","_useState4","paginator","setPaginator","_useState5","totalPages","setTotalPages","_useState6","limit","setLimit","_useState7","lastSearch","setLastSearch","_useState8","order","setOrder","useEffect","fetch","jsonSearch","then","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","resp","metadata","wrap","_context","prev","next","json","sent","stop","_x","apply","arguments","doFilter","search","length","filter","indexSearch","indexOf","toLowerCase","sort","fSort","nPages","Math","floor","ceil","slice","ASC","a","b","fecha","DESC","useMemo","goToPage","value","goNext","goBack","doSearch","HeadboardTrees","_useBrowserMode","useBrowserMode","isBrowser","document","window","scrollTitle","setScrollTitle","scrollImg1","setScrollImg1","scrollImg2","setScrollImg2","scrollImg3","setScrollImg3","scrollImg4","setScrollImg4","setTimeout","getElementById","addEventListener","scrollValue","scrollY","style","marginTop","marginLeft","marginBottom","marginRight","observer","IntersectionObserver","entries","forEach","entry","isIntersecting","target","classList","add","remove","querySelectorAll","img","observe","e","body","image","speed","getAttribute","y","innerHeight","pageY","x","innerWidth","pageX","transform","React","createElement","loading","alt","src","imagenesArboles","file","url","fileName","tituloPrincipal","id","data-speed","useScrollDetect","timerScroll","refElement","useRef","isScrollActive","setIsScrollActive","onScrollAction","clearTimeout","boundElement","current","getBoundingClientRect","pageYOffset","top","height","removeEventListener","setRef","MEDIA_COMPONENTS","CardMedia","children","_props$component","component","Component","isMediaComponent","composedStyle","backgroundImage","concat","media","undefined","display","backgroundSize","backgroundRepeat","backgroundPosition","width","objectFit","useEnhancedEffect","useEventCallback","fn","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","text","tel","email","password","number","date","month","week","time","datetime","event","metaKey","altKey","ctrlKey","handlePointerDown","handleVisibilityChange","this","visibilityState","node","type","tagName","matches","error","readOnly","isContentEditable","handleBlurVisible","useIsFocusVisible","isFocusVisible","onBlurVisible","instance","doc","ownerDocument","getChildMapping","mapFn","result","Object","create","map","c","child","key","mapper","getProp","prop","getNextChildMapping","nextProps","prevChildMapping","onExited","nextChildMapping","getValueForKey","i","nextKeysPending","pendingKeys","prevKey","push","childMapping","nextKey","pendingNextKey","mergeChildMappings","keys","hasPrev","hasNext","prevChild","isLeaving","in","bind","exit","enter","values","obj","k","_React$Component","TransitionGroup","context","_this","handleExited","call","state","contextValue","isMounting","firstRender","_proto","prototype","componentDidMount","mounted","setState","componentWillUnmount","getDerivedStateFromProps","appear","currentChildMapping","render","_this$props","childFactory","TransitionGroupContext","Provider","defaultProps","_props$pulsate","pulsate","rippleX","rippleY","rippleSize","inProp","_props$onExited","timeout","_React$useState","leaving","setLeaving","rippleClassName","ripple","rippleVisible","ripplePulsate","rippleStyles","left","childClassName","childLeaving","childPulsate","timeoutId","_props$center","center","centerProp","ripples","setRipples","rippleCallback","ignoringMouseDown","startTimer","startTimerCommit","container","startCommit","params","cb","oldRipples","start","options","_options$pulsate","_options$center","_options$fakeElement","fakeElement","element","rect","clientX","clientY","touches","round","sqrt","pow","sizeX","max","abs","clientWidth","sizeY","clientHeight","persist","withStyles","theme","pointerEvents","position","zIndex","right","bottom","borderRadius","opacity","animation","transitions","easing","easeInOut","animationDuration","duration","shorter","backgroundColor","flip","action","buttonRefProp","buttonRef","_props$centerRipple","centerRipple","_props$disabled","disabled","_props$disableRipple","disableRipple","_props$disableTouchRi","disableTouchRipple","_props$focusRipple","focusRipple","focusVisibleClassName","onBlur","onClick","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","onDragLeave","_props$tabIndex","tabIndex","TouchRippleProps","_props$type","rippleRef","focusVisible","setFocusVisible","_useIsFocusVisible","focusVisibleRef","useRippleHandler","rippleAction","eventCallback","skipRippleAction","focus","handleMouseDown","handleDragLeave","handleMouseUp","handleMouseLeave","preventDefault","handleTouchStart","handleTouchEnd","handleTouchMove","handleBlur","handleFocus","currentTarget","isNonNativeButton","button","href","keydownRef","handleKeyDown","handleKeyUp","defaultPrevented","ComponentProp","buttonProps","role","handleUserRef","useForkRef","handleOwnRef","handleRef","_React$useState2","mountedState","setMountedState","enableTouchRipple","alignItems","justifyContent","WebkitTapHighlightColor","outline","border","margin","padding","cursor","userSelect","verticalAlign","textDecoration","color","borderStyle","colorAdjust","social","icon","link","ShareModal","open","onClose","gtmClass","currentUrl","setCurrentUrl","location","Modal","val","rel","screen","Button","_props$color","_props$disableElevati","disableElevation","_props$disableFocusRi","disableFocusRipple","endIconProp","endIcon","_props$fullWidth","fullWidth","_props$size","size","startIconProp","startIcon","_props$variant","variant","colorInherit","label","typography","boxSizing","minWidth","shape","palette","primary","transition","short","hoverOpacity","textPrimary","main","textSecondary","secondary","outlined","disabledBackground","outlinedPrimary","outlinedSecondary","contained","getContrastText","grey","boxShadow","shadows","A100","containedPrimary","contrastText","dark","containedSecondary","borderColor","textSizeSmall","fontSize","pxToRem","textSizeLarge","outlinedSizeSmall","outlinedSizeLarge","containedSizeSmall","containedSizeLarge","sizeSmall","sizeLarge","iconSizeSmall","iconSizeMedium","iconSizeLarge","refA","refB","refValue","Transition","initialStatus","appearStatus","unmountOnExit","mountOnEnter","status","nextCallback","prevState","updateStatus","componentDidUpdate","prevProps","nextStatus","cancelNextCallback","getTimeouts","mounting","nodeRef","findDOMNode","scrollTop","forceReflow","performEnter","performExit","_this2","appearing","_ref2","maybeNode","maybeAppearing","timeouts","enterTimeout","config","safeSetState","onEntered","onEnter","onEntering","onTransitionEnd","_this3","onExit","onExiting","cancel","nextState","callback","setNextCallback","_this4","active","handler","doesNotHaveTimeoutOrListener","addEndListener","_ref3","maybeNextCallback","childProps","cloneElement","Children","only","noop","contextType","UNMOUNTED","EXITED","ENTERING","ENTERED","EXITING","getTransitionProps","_props$style","transitionDuration","mode","delay","transitionDelay","getScale","styles","entering","entered","_props$disableStrictM","disableStrictModeCompat","_props$timeout","_props$TransitionComp","TransitionComponent","timer","autoTimeout","useTheme","defaultTheme","enableStrictModeCompat","unstable_strictMode","foreignRef","normalizedTransitionCallback","nodeOrAppearing","isAppearing","handleEntering","handleEnter","reflow","_getTransitionProps","getAutoHeightDuration","join","handleEntered","handleExiting","handleExit","_getTransitionProps2","nodeOrNext","maybeNext","visibility","muiSupportAuto","module","exports","Paper","_props$square","square","_props$elevation","rounded","elevations","shadow","index","background","paper","divider","MONTHS","configDecimals","valor","getFormatDate","Date","getDate","getMonth","getFullYear","toString","substring","substr","CardActions","_props$disableSpacing","disableSpacing","spacing","CardContent","paddingBottom","defaultVariantMapping","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","Typography","_props$align","align","_props$display","_props$gutterBottom","gutterBottom","_props$noWrap","noWrap","_props$paragraph","paragraph","_props$variantMapping","variantMapping","caption","overline","srOnly","alignLeft","textAlign","alignCenter","alignRight","alignJustify","textOverflow","whiteSpace","colorPrimary","colorSecondary","colorTextPrimary","colorTextSecondary","colorError","displayInline","displayBlock","Searcher","placeholders","useStaticQuery","allContentfulHome","nodes","placeholdersBuscador","compact","onSelect","scrollIntoQuestion","defaultPlaceholder","isActive","setActiveSelect","dynamicPlaceholder","setDynamicPlaceholder","searchWord","setSearchWord","_useMetaSearch","handleClickOutside","contains","cont","setInterval","clearInterval","renderFormattedText","comparingText","Fragment","trim","assign","autoFocus","placeholder","onClickCapture","onChange","titulo","slug","normalizeTwoWords","tituloBanner","tipoContenido","categoria","SPACINGS","GRID_SIZES","getOffset","div","parse","parseFloat","String","replace","Grid","_props$alignContent","alignContent","_props$alignItems","classNameProp","_props$container","_props$direction","direction","_props$item","item","justify","_props$justifyContent","_props$lg","lg","_props$md","md","_props$sm","sm","_props$spacing","_props$wrap","_props$xl","xl","_props$xs","xs","_props$zeroMinWidth","zeroMinWidth","StyledGrid","flexWrap","flexDirection","breakpoint","themeSpacing","generateGutter","breakpoints","reduce","accumulator","globalStyles","flexBasis","flexGrow","maxWidth","up","generateGrid","Headboard","Breadcrumb","content","migaDePan","descripcion","documentToReactComponents","referenciaTags","nombreTag","title","slugSubcategorias","findTarget","findRel","imagenHeader","fluid","Img","OptimizeImage","contentType","HeadboardButtons","isModalVisible","setIsModalVisible","_useScrollDetect","scrollPercent","setScrollPercent","windowScroll","contentHeight","offsetHeight","arrayBreadCrumb","split","gtmCategory","chatBot","querySelector","_props$superFooter","superFooter","set","toggleModal","tituloSpan","updatedAt","details","aria-label","botonCompartir","HeadboardClaustro","HeadboardDientelandia","HeadboardEspecial","mobileView","setMobileView","HeadboardInforme2022","YoutubePlayer","youtubeId","redireccionBoton","HeadboardNull","getGtmId","pathname","aux","HeadboardSalaPrensa","tabSelect","setTabSelect","upScroll","setUpScroll","lastDirection","useDirectionScroll","refTags","rt","localizador","verifyTabs","indexString","find","scroll","tabs","items","tipoCabecera","_tabs$item","scrollIntoView","isTabsNoShare","tituloBoton","classname","isDisabled","gtmMark","goToContent","HeadboardSalaPrensa2","HeadboardSimple","HeadboardTabs","eventoEspecial","specialEvent","verFechaPublicacion","ButtonAuth","validateAuth","validarBotonAutenticacion","strictCss","NavAccordion","category","setActiveItem","activeItem","isAnyActive","setIsAnyActive","toggleActive","listaMenu","subcat","nombreSubcategoria","existCategory","referenciaSubcategorias","nombreCategoria","verEnMenu","FontSize","changeFontSize","get","GlobalContext","Consumer","data","_data$fontSize","setShowFontSize","NavComponent","_data$allContentfulMe","allContentfulMenuCategorias","categorias","listaDerecha","footerCategories","allContentfulFooter","isMenuActive","isSearcherActive","sideLinks","showFontSize","menu","cat","hyperLink","imagenDestacada","description","isDark","actionTheme","includes","NavMenu","NavMenuInforme2020","NavMenuInforme2021","NavMenuInforme2022","NavMenuBiosuroeste","Nav","menuType","hideSidebar","mainTag","paddingLeft","iconosLaterales","switchMenu","Follows","query","_props$inverse","inverse","_props$noTitle","noTitle","socialMedia","xmlns","d","data-name","cx","cy","r","xmlnsXlink","viewBox","version","renderSMIcon","Footer","titleCallCenter","textCentralLlamadas","linkTitleCallCenter","redireccionTitulo","queryFooter","queryFooter2","allContentfulFooterSeccion2","logoGray","allContentfulMenuLoggin","selectIndex","setSelectIndex","getCallCenterItems","classP","classTitle","noVisibleFooter","subVal","footerWhite","footerBlack","footerDientelandia","footerImg","gtm","appStore","playStore","getCulturaComfamaItems","logoAsojacas","logoRedPactoGlobal","isSuperFooter","behavior","lgoVigiladosVertical","ButtonBurger","closeMenu","openMenu","isNotRoot","hideHeaderDesktop","Login","_gigyaAccount$profile","_gigyaAccount$profile2","_gigyaAccount$profile3","_gigyaAccount$profile4","_gigyaAccount$profile5","isShow","setIsShow","gigyaAccount","onAction","doShow","updateProfile","logout","localStorage","removeItem","firstUpperOnly","profile","firstName","lastName","gender","thumbnailURL","charAt","login","Header","inicioSesion","logoMagenta","logoWithe","opciones","ocultarBotonera","buttonMenu","setButtonMenu","optionMenu","setOptionMenu","people","setPeople","companies","setCompanies","checked","setChecked","referenciaContenido","card","tipoTitulo","_toConsumableArray","menuOptions","isModeOpen","modeShadow","handleOutsideClick","toogleFreeze","setMenuActive","setSearcherActive","isToggle","scrollActive","portalIcon","condition","hideHeaderMobile","glassHeader","hideBurger","burguerButton","opcion","tab","imagenPrincipal","outsideClick","hideLoggin","console","log","gigyaContext","loginButton","PizzaButton","pizzaMenuData","setPizzaMenuData","setOpen","chatbotInfo","iconoCerrar","botonesInternos","btn","nombre","handleClick","icono","iconoImagen","useVerifyChat","showChatMentoria","head","getElementsByTagName","scriptIntegrationChat","setAttribute","appendChild","script","onload","_document$getElementB","_document$getElementB2","keybe","webchatConversationsUiLoad","apiKey","process","res","openChat","verifyChat","typeChat","registerVersion","firebase","apps","initializeApp","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","isIOS","navigator","platform","userAgent","headboardMainAdapter","subtitle","bgImage","btnLabel","redirection","HeadboardMain","Grow","o_headboard_main","o_headboard_main__bg","o_headboard_main__container","o_headboard_main__info","o_headboard_main__subtitle","o_headboard_main__title","o_headboard_main__desc","o_headboard_main__actions","o_headboard_main__btn","o_headboard_main__img","Layout","_props$headboard","_scrollActive","setScrollActive","setSize","_superFooter","setSuperFooter","_useChangeTheme","useChangeTheme","changeDarkMode","_useDirectionScroll","resetDirection","useLoginGigya","realSize","parseInt","getItem","toLocalStoragepageActive","sessionStorage","messaging","getToken","vapidKey","token","setItem","method","headers","JSON","stringify","t0","t1","abrupt","catch","err","onMessage","payload","notificationOptions","message","serviceWorker","getRegistration","reg","showNotification","storage","titleButton","path","_size","dots","Array","from","dotset","buttons","esconderLoggin","menuEspecifico","headboard","switchHeadBoard"],"mappings":";6FAAA,yBACe,QAAMA,cAAc,O,oCCDnC,4EAYIC,EAAoB,cAAiB,SAAcC,EAAOC,GAC5D,IAAIC,EAAUF,EAAME,QAClBC,EAAYH,EAAMG,UAClBC,EAAgBJ,EAAMK,OACtBA,OAA2B,IAAlBD,GAAmCA,EAC5CE,EAAQ,YAAyBN,EAAO,CAAC,UAAW,YAAa,WACnE,OAAoB,gBAAoB,IAAO,YAAS,CACtDG,UAAW,YAAKD,EAAQK,KAAMJ,GAC9BK,UAAWH,EAAS,EAAI,EACxBJ,IAAKA,GACJK,OAGU,gBAnBK,CAElBC,KAAM,CACJE,SAAU,WAgBoB,CAChCC,KAAM,WADO,CAEZX,I,iGCiGYY,IAzHO,SACpBC,QAA2J,IAA3JA,MAA+J,WAE/J,IAAAC,EAAoCC,mBAClC,MADKC,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAGhCI,EAAwCH,mBAEtC,MAFKI,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAIpCG,EAAoCN,mBAAgC,IAA7DO,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChCG,EAAkCT,oBAAkB,GAA7CU,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAC9BG,EAAoCZ,mBAAiB,GAA9Ca,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChCG,EAA0Bf,mBAAiB,IAApCgB,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAoClB,mBAAwB,MAArDmB,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChCG,EAA0BrB,mBAAyB,OAA5CsB,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GA2BtBG,qBAAU,WACHvB,GACUwB,MA3BE,WACjB,OAAQ3B,GACN,IAAK,UACH,MAAO,8BACT,IAAK,YACH,MAAO,gCACT,IAAK,aACH,MAAO,6CACT,IAAK,UACH,MAAO,0CACT,IAAK,UACH,MAAO,0CACT,IAAK,SACH,MAAO,gDACT,IAAK,8BACH,MAAO,gEACT,IAAK,2BACH,MAAO,6DACT,IAAK,aACH,MAAO,8CACT,QACE,MAAO,+BAMU4B,IACdC,KAAI,eAAAC,EAAAC,YAAAC,IAAAC,MAAC,SAAAC,EAAOC,GAAI,IAAAC,EAAA,OAAAJ,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACIL,EAAKM,OAAM,OAA5BL,EAAQE,EAAAI,KACdtC,EAAcgC,GAAU,wBAAAE,EAAAK,UAAAT,OACzB,gBAAAU,GAAA,OAAAd,EAAAe,MAAA,KAAAC,YAHQ,IAKXC,EAAS1B,KACR,CAACA,EAAYH,EAAOM,EAAOrB,IAE9B,IAAM4C,EAAW,SAACC,GAChB,IAAK7C,IAAe6C,GAAUA,EAAOC,OAAS,EAC5C1C,EAAgB,MAChBG,EAAc,IACdG,GAAc,GACdG,EAAc,OACT,CACL,IAAMkC,EAAS/C,EACZ+C,QAAO,SAAClD,GAAI,OAAKA,EAAKmD,YAAYC,QAAQJ,EAAOK,gBAAkB,KACnEC,KAAKC,EAAM/B,IACRgC,EAASN,EAAOD,OAAS/B,EAC/BX,EAAgB2C,GAChBlC,EACEwC,EAASC,KAAKC,MAAMF,IAAY,EAAIC,KAAKE,KAAKH,GAAUA,GAE1D9C,EAAcwC,EAAOU,MAAM,EAAG1C,IAC9BL,EAAa,KAIX0C,EAAQ,CACZM,IAAK,SAACC,EAAwBC,GAAsB,OAClDD,EAAEE,MAAQD,EAAEC,MAAQ,GAAK,GAC3BC,KAAM,SAACH,EAAwBC,GAAsB,OACnDD,EAAEE,MAAQD,EAAEC,MAAQ,GAAK,IAG7BE,mBAAQ,WACN,GAAItD,GAAa,EAAG,CAClB,IAAMgD,EAAQhD,EAAYM,EACtBZ,GAAcI,EAAcJ,EAAasD,MAAMA,EAAOA,EAAQ1C,OAEnE,CAACN,IAEJ,IAQMuD,EAAW,SAACC,GAChBvD,EAAauD,IASf,MAAO,CACLjE,aACAG,eACAG,aACAG,YACAG,aACAsD,OAxBa,WACbF,EAASvD,EAAY,IAwBrB0D,OArBa,WACbH,EAASvD,EAAY,IAqBrBuD,WACAhD,WACAoD,SAhBe,SAACH,GACZA,IAAU/C,GACZC,EAAc8C,IAehB3C,WACAD,W,6DCxHJ,+CAsFegD,IAjFQ,SAACpF,GAEtB,IAAAqF,EAAwCC,cAAhCC,EAASF,EAATE,UAAWC,EAAQH,EAARG,SAAUC,EAAMJ,EAANI,OAC7B5E,EAAsCC,qBAA/B4E,EAAW7E,EAAA,GAAE8E,EAAc9E,EAAA,GAClCI,EAAoCH,qBAA7B8E,EAAU3E,EAAA,GAAE4E,EAAa5E,EAAA,GAChCG,EAAoCN,qBAA7BgF,EAAU1E,EAAA,GAAE2E,EAAa3E,EAAA,GAChCG,EAAoCT,qBAA7BkF,EAAUzE,EAAA,GAAE0E,EAAa1E,EAAA,GAChCG,EAAoCZ,qBAA7BoF,EAAUxE,EAAA,GAAEyE,EAAazE,EAAA,GAWhC,GATAY,qBAAU,WACR8D,YAAW,WACTT,EAAeH,EAASa,eAAe,2BACvCR,EAAcL,EAASa,eAAe,0BACtCN,EAAcP,EAASa,eAAe,0BACtCJ,EAAcT,EAASa,eAAe,0BACtCF,EAAcX,EAASa,eAAe,4BACrC,OACF,IACCd,EAAW,CACbE,EAAOa,iBAAiB,UAAU,WAChC,IAAIC,EAAcd,EAAOe,QACrBd,IAAaA,EAAYe,MAAMC,UAA0B,GAAdH,EAAoB,MAC/DX,IAAYA,EAAWa,MAAME,YAA4B,GAAfJ,EAAqB,MAC/DT,IAAYA,EAAWW,MAAME,YAA4B,IAAfJ,EAAqB,MAC/DT,IAAYA,EAAWW,MAAMG,cAA8B,IAAfL,EAAqB,MACjEP,IAAYA,EAAWS,MAAMI,aAA6B,GAAfN,EAAqB,MAChEL,IAAYA,EAAWO,MAAMI,aAA6B,IAAfN,EAAqB,MAChEL,IAAYA,EAAWO,MAAMG,cAA8B,IAAfL,EAAqB,SAGvE,IAAMO,EAAW,IAAIC,sBAAqB,SAACC,GACzCA,EAAQC,SAAQ,SAACC,GACXA,EAAMC,eACRD,EAAME,OAAOC,UAAUC,IAAI,cAE3BJ,EAAME,OAAOC,UAAUE,OAAO,oBAIjB/B,EAASgC,iBAAiB,iBAClCP,SAAQ,SAACQ,GAAG,OAAKX,EAASY,QAAQD,MAE7CjC,EAASc,iBAAiB,aAG5B,SAAkBqB,GAChBnC,EAASoC,KAAKJ,iBAAiB,uBAAuBP,SAAQ,SAAAY,GAC5D,IAAMC,EAAQD,EAAME,aAAa,cAC3BC,GAAKvC,EAAOwC,YAAcN,EAAEO,MAAMJ,GAAO,GACzCK,GAAK1C,EAAO2C,WAAaT,EAAEU,MAAMP,GAAO,IAC9C,QAASA,GACP,KAAK,EAEH,YADAD,EAAMpB,MAAM6B,UAAY,cAAcH,EAAC,OAEzC,KAAK,EAEH,YADAN,EAAMpB,MAAM6B,UAAY,cAAc,IAAIH,EAAC,mBAAmBH,EAAC,kBAEjE,KAAK,EAEH,YADAH,EAAMpB,MAAM6B,UAAY,eAAeH,EAAC,kBAE1C,QAEE,YADAN,EAAMpB,MAAM6B,UAAY,cAAc,KAAKH,EAAC,mBAAmBH,EAAC,cAMxE,OACEO,IAAAC,cAAA,OAAKrI,UAAU,qBACXoI,IAAAC,cAAA,OAAKC,QAAQ,OAAOtI,UAAU,2BAA2BuI,IAAI,GAAGC,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,MACnGP,IAAAC,cAAA,OAAKG,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAK1I,EAAM4I,gBAAgB,GAAGC,KAAKE,SAAU5I,UAAU,0BACpGoI,IAAAC,cAAA,MAAIrI,UAAU,4BAA4BH,EAAMgJ,iBAChDT,IAAAC,cAAA,OAAKS,GAAG,yBAAyBN,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAK1I,EAAM4I,gBAAgB,GAAGC,KAAKE,SAAU5I,UAAU,8CAChIoI,IAAAC,cAAA,OAAKS,GAAG,wBAAwBN,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAK1I,EAAM4I,gBAAgB,GAAGC,KAAKE,SAAU5I,UAAU,8DAA8D+I,aAAW,MACxMX,IAAAC,cAAA,OAAKS,GAAG,wBAAwBN,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAK1I,EAAM4I,gBAAgB,GAAGC,KAAKE,SAAU5I,UAAU,8DAA8D+I,aAAW,MACxMX,IAAAC,cAAA,OAAKS,GAAG,wBAAwBN,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAK1I,EAAM4I,gBAAgB,GAAGC,KAAKE,SAAU5I,UAAU,+DAA+D+I,aAAW,MACzMX,IAAAC,cAAA,OAAKS,GAAG,wBAAwBN,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAK1I,EAAM4I,gBAAgB,GAAGC,KAAKE,SAAU5I,UAAU,+DAA+D+I,aAAW,S,2DCjFjN,4BAgCeC,IA7BS,WAErB,IAGIC,EAHJ/D,EAAwCC,cAAhCC,EAASF,EAATE,UAAWC,EAAQH,EAARG,SAAUC,EAAMJ,EAANI,OACvB4D,EAAaC,mBACnBzI,EAA4CC,oBAAkB,GAAvDyI,EAAc1I,EAAA,GAAE2I,EAAiB3I,EAAA,GAElC4I,EAAiB,WACpBhE,EAAOiE,aAAcN,GACrBA,EAAchD,YAAW,WAEtB,IACMuD,EADkBN,EAAWO,QACXC,wBAGxBL,EAAkB/D,EAAOqE,YAAc,GAAKrE,EAAOqE,aAAgBH,EAAaI,IAAMJ,EAAaK,UACnG,KAUN,OARA1H,qBAAW,WAIR,OAHIiD,GACDC,EAASc,iBAAiB,SAAUmD,GAEhC,WACJlE,GAAaC,EAASyE,oBAAoB,SAAUR,MAExD,IACK,CAAEJ,aAAYE,oB,yDC3BT,SAASW,EAAOjK,EAAK+E,GACf,mBAAR/E,EACTA,EAAI+E,GACK/E,IACTA,EAAI2J,QAAU5E,GALlB,mC,gFCAA,gEAwBImF,EAAmB,CAAC,QAAS,QAAS,UAAW,SAAU,OAC3DC,EAAyB,cAAiB,SAAmBpK,EAAOC,GACtE,IAAIoK,EAAWrK,EAAMqK,SACnBnK,EAAUF,EAAME,QAChBC,EAAYH,EAAMG,UAClBmK,EAAmBtK,EAAMuK,UACzBC,OAAiC,IAArBF,EAA8B,MAAQA,EAClDzC,EAAQ7H,EAAM6H,MACdc,EAAM3I,EAAM2I,IACZlC,EAAQzG,EAAMyG,MACdnG,EAAQ,YAAyBN,EAAO,CAAC,WAAY,UAAW,YAAa,YAAa,QAAS,MAAO,UACxGyK,GAA4D,IAAzCN,EAAiBnG,QAAQwG,GAC5CE,GAAiBD,GAAoB5C,EAAQ,YAAS,CACxD8C,gBAAiB,QAASC,OAAO/C,EAAO,OACvCpB,GAASA,EACZ,OAAoB,gBAAoB+D,EAAW,YAAS,CAC1DrK,UAAW,YAAKD,EAAQK,KAAMJ,EAAWsK,GAAoBvK,EAAQ2K,OAA6C,IAAtC,cAAc7G,QAAQwG,IAAqBtK,EAAQuH,KAC/HxH,IAAKA,EACLwG,MAAOiE,EACP/B,IAAK8B,EAAmB5C,GAASc,OAAMmC,GACtCxK,GAAQ+J,MAGE,gBAzCK,CAElB9J,KAAM,CACJwK,QAAS,QACTC,eAAgB,QAChBC,iBAAkB,YAClBC,mBAAoB,UAGtBL,MAAO,CACLM,MAAO,QAGT1D,IAAK,CAEH2D,UAAW,UA0BmB,CAChC1K,KAAM,gBADO,CAEZ0J,I,uGCjDH,kDACIiB,EAAsC,oBAAX5F,OAAyB,kBAAwB,YAOjE,SAAS6F,EAAiBC,GACvC,IAAItL,EAAM,SAAasL,GAIvB,OAHAF,GAAkB,WAChBpL,EAAI2J,QAAU2B,KAET,eAAkB,WACvB,OAAWtL,EAAI2J,QAASnG,WAAM,EAAQC,aACrC,M,+OCZD8H,GAAmB,EACnBC,GAA0B,EAC1BC,EAAiC,KACjCC,EAAsB,CACxBC,MAAM,EACNhI,QAAQ,EACRkF,KAAK,EACL+C,KAAK,EACLC,OAAO,EACPC,UAAU,EACVC,QAAQ,EACRC,MAAM,EACNC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,UAAU,EACV,kBAAkB,GAgCpB,SAAS,EAAcC,GACjBA,EAAMC,SAAWD,EAAME,QAAUF,EAAMG,UAG3CjB,GAAmB,GAUrB,SAASkB,IACPlB,GAAmB,EAErB,SAASmB,IACsB,WAAzBC,KAAKC,iBAKHpB,IACFD,GAAmB,GAkBzB,SAAS,EAAec,GACtB,IAjEqCQ,EACjCC,EACFC,EA+DE5F,EAASkF,EAAMlF,OACnB,IACE,OAAOA,EAAO6F,QAAQ,kBACtB,MAAOC,IAOT,OAAO1B,IA1EHuB,GADiCD,EA2EoB1F,GA1EzC2F,OAEA,WADdC,EAAUF,EAAKE,WACUrB,EAAoBoB,IAAUD,EAAKK,WAG9C,aAAZH,IAA2BF,EAAKK,YAGhCL,EAAKM,mBAwEX,SAASC,IAKP5B,GAA0B,EAC1BhG,OAAOiE,aAAagC,GACpBA,EAAiCjG,OAAOW,YAAW,WACjDqF,GAA0B,IACzB,KAEU,SAAS6B,IAWtB,MAAO,CACLC,eAAgB,EAChBC,cAAeH,EACfpN,IAbQ,eAAkB,SAAUwN,GACpC,IA5CaC,EA4CTZ,EAAO,cAAqBW,GACpB,MAARX,KA7CSY,EA8CHZ,EAAKa,eA7CbrH,iBAAiB,UAAW,GAAe,GAC/CoH,EAAIpH,iBAAiB,YAAaoG,GAAmB,GACrDgB,EAAIpH,iBAAiB,cAAeoG,GAAmB,GACvDgB,EAAIpH,iBAAiB,aAAcoG,GAAmB,GACtDgB,EAAIpH,iBAAiB,mBAAoBqG,GAAwB,MA2C9D,K,gECvHE,SAASiB,EAAgBvD,EAAUwD,GACxC,IAGIC,EAASC,OAAOC,OAAO,MAO3B,OANI3D,GAAU,WAAS4D,IAAI5D,GAAU,SAAU6D,GAC7C,OAAOA,KACNjH,SAAQ,SAAUkH,GAEnBL,EAAOK,EAAMC,KARF,SAAgBD,GAC3B,OAAON,GAAS,yBAAeM,GAASN,EAAMM,GAASA,EAOnCE,CAAOF,MAEtBL,EAyDT,SAASQ,EAAQH,EAAOI,EAAMvO,GAC5B,OAAsB,MAAfA,EAAMuO,GAAgBvO,EAAMuO,GAAQJ,EAAMnO,MAAMuO,GAalD,SAASC,EAAoBC,EAAWC,EAAkBC,GAC/D,IAAIC,EAAmBhB,EAAgBa,EAAUpE,UAC7CA,EArDC,SAA4BlH,EAAMC,GAGvC,SAASyL,EAAeT,GACtB,OAAOA,KAAOhL,EAAOA,EAAKgL,GAAOjL,EAAKiL,GAHxCjL,EAAOA,GAAQ,GACfC,EAAOA,GAAQ,GAMf,IAYI0L,EAZAC,EAAkBhB,OAAOC,OAAO,MAChCgB,EAAc,GAClB,IAAK,IAAIC,KAAW9L,EACd8L,KAAW7L,EACT4L,EAAYnL,SACdkL,EAAgBE,GAAWD,EAC3BA,EAAc,IAGhBA,EAAYE,KAAKD,GAIrB,IAAIE,EAAe,GACnB,IAAK,IAAIC,KAAWhM,EAAM,CACxB,GAAI2L,EAAgBK,GAClB,IAAKN,EAAI,EAAGA,EAAIC,EAAgBK,GAASvL,OAAQiL,IAAK,CACpD,IAAIO,EAAiBN,EAAgBK,GAASN,GAC9CK,EAAaJ,EAAgBK,GAASN,IAAMD,EAAeQ,GAG/DF,EAAaC,GAAWP,EAAeO,GAGzC,IAAKN,EAAI,EAAGA,EAAIE,EAAYnL,OAAQiL,IAClCK,EAAaH,EAAYF,IAAMD,EAAeG,EAAYF,IAE5D,OAAOK,EAkBQG,CAAmBZ,EAAkBE,GAmCpD,OAlCAb,OAAOwB,KAAKlF,GAAUpD,SAAQ,SAAUmH,GACtC,IAAID,EAAQ9D,EAAS+D,GACrB,GAAK,yBAAeD,GAApB,CACA,IAAIqB,EAAWpB,KAAOM,EAClBe,EAAWrB,KAAOQ,EAClBc,EAAYhB,EAAiBN,GAC7BuB,EAAY,yBAAeD,KAAeA,EAAU1P,MAAM4P,IAE1DH,GAAaD,IAAWG,EAQhBF,IAAWD,GAAYG,EAMxBF,GAAWD,GAAW,yBAAeE,KAI9CrF,EAAS+D,GAAO,uBAAaD,EAAO,CAClCQ,SAAUA,EAASkB,KAAK,KAAM1B,GAC9ByB,GAAIF,EAAU1P,MAAM4P,GACpBE,KAAMxB,EAAQH,EAAO,OAAQM,GAC7BsB,MAAOzB,EAAQH,EAAO,QAASM,MAXjCpE,EAAS+D,GAAO,uBAAaD,EAAO,CAClCyB,IAAI,IAVNvF,EAAS+D,GAAO,uBAAaD,EAAO,CAClCQ,SAAUA,EAASkB,KAAK,KAAM1B,GAC9ByB,IAAI,EACJE,KAAMxB,EAAQH,EAAO,OAAQM,GAC7BsB,MAAOzB,EAAQH,EAAO,QAASM,SAoB9BpE,ECxHT,IAAI2F,EAASjC,OAAOiC,QAAU,SAAUC,GACtC,OAAOlC,OAAOwB,KAAKU,GAAKhC,KAAI,SAAUiC,GACpC,OAAOD,EAAIC,OAwBX,EAA+B,SAAUC,GAE3C,SAASC,EAAgBpQ,EAAOqQ,GAC9B,IAAIC,EAEAC,GADJD,EAAQH,EAAiBK,KAAK5D,KAAM5M,EAAOqQ,IAAYzD,MAC9B2D,aAAaV,KAAK,YAAuBS,IASlE,OAPAA,EAAMG,MAAQ,CACZC,aAAc,CACZC,YAAY,GAEdJ,aAAcA,EACdK,aAAa,GAERN,EAbT,YAAeF,EAAiBD,GAehC,IAAIU,EAAST,EAAgBU,UA0D7B,OAzDAD,EAAOE,kBAAoB,WACzBnE,KAAKoE,SAAU,EACfpE,KAAKqE,SAAS,CACZP,aAAc,CACZC,YAAY,MAIlBE,EAAOK,qBAAuB,WAC5BtE,KAAKoE,SAAU,GAEjBZ,EAAgBe,yBAA2B,SAAkC1C,EAAW/L,GACtF,IDiBmC1C,EAAO2O,ECjBtCD,EAAmBhM,EAAK2H,SAC1BkG,EAAe7N,EAAK6N,aAEtB,MAAO,CACLlG,SAFc3H,EAAKkO,aDec5Q,ECbcyO,EDaPE,ECbkB4B,EDcvD3C,EAAgB5N,EAAMqK,UAAU,SAAU8D,GAC/C,OAAO,uBAAaA,EAAO,CACzBQ,SAAUA,EAASkB,KAAK,KAAM1B,GAC9ByB,IAAI,EACJwB,OAAQ9C,EAAQH,EAAO,SAAUnO,GACjC+P,MAAOzB,EAAQH,EAAO,QAASnO,GAC/B8P,KAAMxB,EAAQH,EAAO,OAAQnO,SCpB6CwO,EAAoBC,EAAWC,EAAkB6B,GAC3HK,aAAa,IAKjBC,EAAON,aAAe,SAAsBpC,EAAOrB,GACjD,IAAIuE,EAAsBzD,EAAgBhB,KAAK5M,MAAMqK,UACjD8D,EAAMC,OAAOiD,IACblD,EAAMnO,MAAM2O,UACdR,EAAMnO,MAAM2O,SAAS7B,GAEnBF,KAAKoE,SACPpE,KAAKqE,UAAS,SAAUR,GACtB,IAAIpG,EAAW,YAAS,GAAIoG,EAAMpG,UAElC,cADOA,EAAS8D,EAAMC,KACf,CACL/D,SAAUA,QAKlBwG,EAAOS,OAAS,WACd,IAAIC,EAAc3E,KAAK5M,MACrBwK,EAAY+G,EAAYhH,UACxBiH,EAAeD,EAAYC,aAC3BxR,EAAQ,YAA8BuR,EAAa,CAAC,YAAa,iBAC/Db,EAAe9D,KAAK6D,MAAMC,aAC1BrG,EAAW2F,EAAOpD,KAAK6D,MAAMpG,UAAU4D,IAAIuD,GAI/C,cAHOxR,EAAMoR,cACNpR,EAAM+P,aACN/P,EAAM8P,KACK,OAAdtF,EACkB,IAAMhC,cAAciJ,EAAA,EAAuBC,SAAU,CACvE1M,MAAO0L,GACNrG,GAEe,IAAM7B,cAAciJ,EAAA,EAAuBC,SAAU,CACvE1M,MAAO0L,GACO,IAAMlI,cAAcgC,EAAWxK,EAAOqK,KAEjD+F,EA1E0B,CA2EjC,IAAM5F,WACR,EAAgBmH,aAjGG,CACjBpH,UAAW,MACXiH,aAAc,SAAsBrD,GAClC,OAAOA,IA+FI,QC3GX9C,EAAsC,oBAAX5F,OAAyB,YAAkB,kBAiD3D,MA5Cf,SAAgBzF,GACd,IAAIE,EAAUF,EAAME,QAClB0R,EAAiB5R,EAAM6R,QACvBA,OAA6B,IAAnBD,GAAoCA,EAC9CE,EAAU9R,EAAM8R,QAChBC,EAAU/R,EAAM+R,QAChBC,EAAahS,EAAMgS,WACnBC,EAASjS,EAAM4P,GACfsC,EAAkBlS,EAAM2O,SACxBA,OAA+B,IAApBuD,EAA6B,aAAiBA,EACzDC,EAAUnS,EAAMmS,QACdC,EAAkB,YAAe,GACnCC,EAAUD,EAAgB,GAC1BE,EAAaF,EAAgB,GAC3BG,EAAkB,YAAKrS,EAAQsS,OAAQtS,EAAQuS,cAAeZ,GAAW3R,EAAQwS,eACjFC,EAAe,CACjBxH,MAAO6G,EACPhI,OAAQgI,EACRjI,KAAOiI,EAAa,EAAKD,EACzBa,MAAQZ,EAAa,EAAKF,GAExBe,EAAiB,YAAK3S,EAAQiO,MAAOkE,GAAWnS,EAAQ4S,aAAcjB,GAAW3R,EAAQ6S,cACzFxC,EAAe,OAAAjF,EAAA,GAAiBqD,GAcpC,OAZAtD,GAAkB,WAChB,IAAK4G,EAAQ,CAEXK,GAAW,GAEX,IAAIU,EAAY5M,WAAWmK,EAAc4B,GACzC,OAAO,WACLzI,aAAasJ,OAIhB,CAACzC,EAAc0B,EAAQE,IACN,gBAAoB,OAAQ,CAC9ChS,UAAWoS,EACX9L,MAAOkM,GACO,gBAAoB,OAAQ,CAC1CxS,UAAW0S,MCiDX,EAA2B,cAAiB,SAAqB7S,EAAOC,GAC1E,IAAIgT,EAAgBjT,EAAMkT,OACxBC,OAA+B,IAAlBF,GAAmCA,EAChD/S,EAAUF,EAAME,QAChBC,EAAYH,EAAMG,UAClBG,EAAQ,YAAyBN,EAAO,CAAC,SAAU,UAAW,cAC5DoS,EAAkB,WAAe,IACnCgB,EAAUhB,EAAgB,GAC1BiB,EAAajB,EAAgB,GAC3BhD,EAAU,SAAa,GACvBkE,EAAiB,SAAa,MAClC,aAAgB,WACVA,EAAe1J,UACjB0J,EAAe1J,UACf0J,EAAe1J,QAAU,QAE1B,CAACwJ,IAEJ,IAAIG,EAAoB,UAAa,GAGjCC,EAAa,SAAa,MAE1BC,EAAmB,SAAa,MAChCC,EAAY,SAAa,MAC7B,aAAgB,WACd,OAAO,WACLhK,aAAa8J,EAAW5J,YAEzB,IACH,IAAI+J,EAAc,eAAkB,SAAUC,GAC5C,IAAI/B,EAAU+B,EAAO/B,QACnBC,EAAU8B,EAAO9B,QACjBC,EAAU6B,EAAO7B,QACjBC,EAAa4B,EAAO5B,WACpB6B,EAAKD,EAAOC,GACdR,GAAW,SAAUS,GACnB,MAAO,GAAGlJ,OAAO,YAAmBkJ,GAAa,CAAc,gBAAoB,EAAQ,CACzF1F,IAAKgB,EAAQxF,QACb1J,QAASA,EACTiS,QAjIO,IAkIPN,QAASA,EACTC,QAASA,EACTC,QAASA,EACTC,WAAYA,SAGhB5C,EAAQxF,SAAW,EACnB0J,EAAe1J,QAAUiK,IACxB,CAAC3T,IACA6T,EAAQ,eAAkB,WAC5B,IAAIzH,EAAQ5I,UAAUG,OAAS,QAAsBiH,IAAjBpH,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAUtQ,UAAUG,OAAS,QAAsBiH,IAAjBpH,UAAU,GAAmBA,UAAU,GAAK,GAC9EmQ,EAAKnQ,UAAUG,OAAS,EAAIH,UAAU,QAAKoH,EAC3CmJ,EAAmBD,EAAQnC,QAC7BA,OAA+B,IAArBoC,GAAsCA,EAChDC,EAAkBF,EAAQd,OAC1BA,OAA6B,IAApBgB,EAA6Bf,GAAca,EAAQnC,QAAUqC,EACtEC,EAAuBH,EAAQI,YAC/BA,OAAuC,IAAzBD,GAA0CA,EAC1D,GAAmB,cAAf7H,EAAMS,MAAwBwG,EAAkB3J,QAClD2J,EAAkB3J,SAAU,MAD9B,CAImB,eAAf0C,EAAMS,OACRwG,EAAkB3J,SAAU,GAE9B,IAQIkI,EACAC,EACAC,EAVAqC,EAAUD,EAAc,KAAOV,EAAU9J,QACzC0K,EAAOD,EAAUA,EAAQxK,wBAA0B,CACrDsB,MAAO,EACPnB,OAAQ,EACR4I,KAAM,EACN7I,IAAK,GAMP,GAAImJ,GAA4B,IAAlB5G,EAAMiI,SAAmC,IAAlBjI,EAAMkI,UAAkBlI,EAAMiI,UAAYjI,EAAMmI,QACnF3C,EAAUzN,KAAKqQ,MAAMJ,EAAKnJ,MAAQ,GAClC4G,EAAU1N,KAAKqQ,MAAMJ,EAAKtK,OAAS,OAC9B,CACL,IAAItH,EAAO4J,EAAMmI,QAAUnI,EAAMmI,QAAQ,GAAKnI,EAC5CiI,EAAU7R,EAAK6R,QACfC,EAAU9R,EAAK8R,QACjB1C,EAAUzN,KAAKqQ,MAAMH,EAAUD,EAAK1B,MACpCb,EAAU1N,KAAKqQ,MAAMF,EAAUF,EAAKvK,KAEtC,GAAImJ,GACFlB,EAAa3N,KAAKsQ,MAAM,EAAItQ,KAAKuQ,IAAIN,EAAKnJ,MAAO,GAAK9G,KAAKuQ,IAAIN,EAAKtK,OAAQ,IAAM,IAEjE,GAAM,IACrBgI,GAAc,OAEX,CACL,IAAI6C,EAAqF,EAA7ExQ,KAAKyQ,IAAIzQ,KAAK0Q,KAAKV,EAAUA,EAAQW,YAAc,GAAKlD,GAAUA,GAAe,EACzFmD,EAAsF,EAA9E5Q,KAAKyQ,IAAIzQ,KAAK0Q,KAAKV,EAAUA,EAAQa,aAAe,GAAKnD,GAAUA,GAAe,EAC9FC,EAAa3N,KAAKsQ,KAAKtQ,KAAKuQ,IAAIC,EAAO,GAAKxQ,KAAKuQ,IAAIK,EAAO,IAG1D3I,EAAMmI,QAIyB,OAA7BhB,EAAiB7J,UAEnB6J,EAAiB7J,QAAU,WACzB+J,EAAY,CACV9B,QAASA,EACTC,QAASA,EACTC,QAASA,EACTC,WAAYA,EACZ6B,GAAIA,KAIRL,EAAW5J,QAAUxD,YAAW,WAC1BqN,EAAiB7J,UACnB6J,EAAiB7J,UACjB6J,EAAiB7J,QAAU,QA/Mb,KAoNpB+J,EAAY,CACV9B,QAASA,EACTC,QAASA,EACTC,QAASA,EACTC,WAAYA,EACZ6B,GAAIA,OAGP,CAACV,EAAYQ,IACZ9B,EAAU,eAAkB,WAC9BkC,EAAM,GAAI,CACRlC,SAAS,MAEV,CAACkC,IACAxQ,EAAO,eAAkB,SAAU+I,EAAOuH,GAI5C,GAHAnK,aAAa8J,EAAW5J,SAGL,aAAf0C,EAAMS,MAAuB0G,EAAiB7J,QAOhD,OANA0C,EAAM6I,UACN1B,EAAiB7J,UACjB6J,EAAiB7J,QAAU,UAC3B4J,EAAW5J,QAAUxD,YAAW,WAC9B7C,EAAK+I,EAAOuH,OAIhBJ,EAAiB7J,QAAU,KAC3ByJ,GAAW,SAAUS,GACnB,OAAIA,EAAWjQ,OAAS,EACfiQ,EAAWtP,MAAM,GAEnBsP,KAETR,EAAe1J,QAAUiK,IACxB,IAQH,OAPA,sBAA0B5T,GAAK,WAC7B,MAAO,CACL4R,QAASA,EACTkC,MAAOA,EACPxQ,KAAMA,KAEP,CAACsO,EAASkC,EAAOxQ,IACA,gBAAoB,OAAQ,YAAS,CACvDpD,UAAW,YAAKD,EAAQK,KAAMJ,GAC9BF,IAAKyT,GACJpT,GAAqB,gBAAoB,EAAiB,CAC3DiK,UAAW,KACXuF,MAAM,GACLsD,OAGU,SAAAgC,EAAA,IAvQK,SAAgBC,GAClC,MAAO,CAEL9U,KAAM,CACJE,SAAU,SACV6U,cAAe,OACfC,SAAU,WACVC,OAAQ,EACRzL,IAAK,EACL0L,MAAO,EACPC,OAAQ,EACR9C,KAAM,EACN+C,aAAc,WAGhBnD,OAAQ,CACNoD,QAAS,EACTL,SAAU,YAGZ9C,cAAe,CACbmD,QAAS,GACTtN,UAAW,WACXuN,UAAW,UAAUjL,OAzBZ,IAyB6B,OAAOA,OAAOyK,EAAMS,YAAYC,OAAOC,YAG/EtD,cAAe,CACbuD,kBAAmB,GAAGrL,OAAOyK,EAAMS,YAAYI,SAASC,QAAS,OAGnEhI,MAAO,CACLyH,QAAS,EACT7K,QAAS,QACTI,MAAO,OACPnB,OAAQ,OACR2L,aAAc,MACdS,gBAAiB,gBAGnBtD,aAAc,CACZ8C,QAAS,EACTC,UAAW,SAASjL,OA3CX,IA2C4B,OAAOA,OAAOyK,EAAMS,YAAYC,OAAOC,YAG9EjD,aAAc,CACZwC,SAAU,WACV3C,KAAM,EACN7I,IAAK,EACL8L,UAAW,mBAAmBjL,OAAOyK,EAAMS,YAAYC,OAAOC,UAAW,oBAE3E,mBAAoB,CAClB,KAAM,CACJ1N,UAAW,WACXsN,QAAS,IAEX,OAAQ,CACNtN,UAAW,WACXsN,QAAS,KAGb,kBAAmB,CACjB,KAAM,CACJA,QAAS,GAEX,OAAQ,CACNA,QAAS,IAGb,qBAAsB,CACpB,KAAM,CACJtN,UAAW,YAEb,MAAO,CACLA,UAAW,eAEb,OAAQ,CACNA,UAAW,gBA2Le,CAChC+N,MAAM,EACN3V,KAAM,kBAFO,CAGE,OAAW,ICpNxB,EAA0B,cAAiB,SAAoBV,EAAOC,GACxE,IAAIqW,EAAStW,EAAMsW,OACjBC,EAAgBvW,EAAMwW,UACtBC,EAAsBzW,EAAM0W,aAC5BA,OAAuC,IAAxBD,GAAyCA,EACxDpM,EAAWrK,EAAMqK,SACjBnK,EAAUF,EAAME,QAChBC,EAAYH,EAAMG,UAClBmK,EAAmBtK,EAAMuK,UACzBA,OAAiC,IAArBD,EAA8B,SAAWA,EACrDqM,EAAkB3W,EAAM4W,SACxBA,OAA+B,IAApBD,GAAqCA,EAChDE,EAAuB7W,EAAM8W,cAC7BA,OAAyC,IAAzBD,GAA0CA,EAC1DE,EAAwB/W,EAAMgX,mBAC9BA,OAA+C,IAA1BD,GAA2CA,EAChEE,EAAqBjX,EAAMkX,YAC3BA,OAAqC,IAAvBD,GAAwCA,EACtDE,EAAwBnX,EAAMmX,sBAC9BC,EAASpX,EAAMoX,OACfC,EAAUrX,EAAMqX,QAChBC,EAAUtX,EAAMsX,QAChBC,EAAiBvX,EAAMuX,eACvBC,EAAYxX,EAAMwX,UAClBC,EAAUzX,EAAMyX,QAChBC,EAAc1X,EAAM0X,YACpBC,EAAe3X,EAAM2X,aACrBC,EAAY5X,EAAM4X,UAClBC,EAAa7X,EAAM6X,WACnBC,EAAc9X,EAAM8X,YACpBC,EAAe/X,EAAM+X,aACrBC,EAAchY,EAAMgY,YACpBC,EAAkBjY,EAAMkY,SACxBA,OAA+B,IAApBD,EAA6B,EAAIA,EAC5CE,EAAmBnY,EAAMmY,iBACzBC,EAAcpY,EAAM+M,KACpBA,OAAuB,IAAhBqL,EAAyB,SAAWA,EAC3C9X,EAAQ,YAAyBN,EAAO,CAAC,SAAU,YAAa,eAAgB,WAAY,UAAW,YAAa,YAAa,WAAY,gBAAiB,qBAAsB,cAAe,wBAAyB,SAAU,UAAW,UAAW,iBAAkB,YAAa,UAAW,cAAe,eAAgB,YAAa,aAAc,cAAe,eAAgB,cAAe,WAAY,mBAAoB,SAC5awW,EAAY,SAAa,MAK7B,IAAI6B,EAAY,SAAa,MACzBjG,EAAkB,YAAe,GACnCkG,EAAelG,EAAgB,GAC/BmG,EAAkBnG,EAAgB,GAChCwE,GAAY0B,GACdC,GAAgB,GAElB,IAAIC,EAAqBlL,IACvBC,GAAiBiL,EAAmBjL,eACpCC,GAAgBgL,EAAmBhL,cACnCiL,GAAkBD,EAAmBvY,IAcvC,SAASyY,GAAiBC,EAAcC,GACtC,IAAIC,EAAmBnV,UAAUG,OAAS,QAAsBiH,IAAjBpH,UAAU,GAAmBA,UAAU,GAAKsT,EAC3F,OAAO,OAAA1L,EAAA,IAAiB,SAAUgB,GAQhC,OAPIsM,GACFA,EAActM,IAEHuM,GACER,EAAUzO,SACvByO,EAAUzO,QAAQ+O,GAAcrM,IAE3B,KAvBX,sBAA0BgK,GAAQ,WAChC,MAAO,CACLgC,aAAc,WACZC,GAAgB,GAChB/B,EAAU5M,QAAQkP,YAGrB,IACH,aAAgB,WACVR,GAAgBpB,IAAgBJ,GAClCuB,EAAUzO,QAAQiI,YAEnB,CAACiF,EAAeI,EAAaoB,IAchC,IAAIS,GAAkBL,GAAiB,QAAShB,GAC5CsB,GAAkBN,GAAiB,OAAQV,GAC3CiB,GAAgBP,GAAiB,OAAQd,GACzCsB,GAAmBR,GAAiB,QAAQ,SAAUpM,GACpDgM,GACFhM,EAAM6M,iBAEJxB,GACFA,EAAarL,MAGb8M,GAAmBV,GAAiB,QAASX,GAC7CsB,GAAiBX,GAAiB,OAAQb,GAC1CyB,GAAkBZ,GAAiB,OAAQZ,GAC3CyB,GAAab,GAAiB,QAAQ,SAAUpM,GAC9CgM,IACF9K,GAAclB,GACdiM,GAAgB,IAEdnB,GACFA,EAAO9K,MAER,GACCkN,GAAc,OAAAlO,EAAA,IAAiB,SAAUgB,GAEtCkK,EAAU5M,UACb4M,EAAU5M,QAAU0C,EAAMmN,eAExBlM,GAAejB,KACjBiM,GAAgB,GACZhB,GACFA,EAAejL,IAGfgL,GACFA,EAAQhL,MAGRoN,GAAoB,WACtB,IAAIC,EA9EG,cAAqBnD,EAAU5M,SA+EtC,OAAOW,GAA2B,WAAdA,KAA+C,MAAnBoP,EAAO3M,SAAmB2M,EAAOC,OAM/EC,GAAa,UAAa,GAC1BC,GAAgB,OAAAxO,EAAA,IAAiB,SAAUgB,GAEzC4K,IAAgB2C,GAAWjQ,SAAW0O,GAAgBD,EAAUzO,SAAyB,MAAd0C,EAAM8B,MACnFyL,GAAWjQ,SAAU,EACrB0C,EAAM6I,UACNkD,EAAUzO,QAAQrG,KAAK+I,GAAO,WAC5B+L,EAAUzO,QAAQmK,MAAMzH,OAGxBA,EAAMlF,SAAWkF,EAAMmN,eAAiBC,MAAqC,MAAdpN,EAAM8B,KACvE9B,EAAM6M,iBAEJ3B,GACFA,EAAUlL,GAGRA,EAAMlF,SAAWkF,EAAMmN,eAAiBC,MAAqC,UAAdpN,EAAM8B,MAAoBwI,IAC3FtK,EAAM6M,iBACF9B,GACFA,EAAQ/K,OAIVyN,GAAc,OAAAzO,EAAA,IAAiB,SAAUgB,GAGvC4K,GAA6B,MAAd5K,EAAM8B,KAAeiK,EAAUzO,SAAW0O,IAAiBhM,EAAM0N,mBAClFH,GAAWjQ,SAAU,EACrB0C,EAAM6I,UACNkD,EAAUzO,QAAQrG,KAAK+I,GAAO,WAC5B+L,EAAUzO,QAAQiI,QAAQvF,OAG1BmL,GACFA,EAAQnL,GAGN+K,GAAW/K,EAAMlF,SAAWkF,EAAMmN,eAAiBC,MAAqC,MAAdpN,EAAM8B,MAAgB9B,EAAM0N,kBACxG3C,EAAQ/K,MAGR2N,GAAgB1P,EACE,WAAlB0P,IAA8B3Z,EAAMsZ,OACtCK,GAAgB,KAElB,IAAIC,GAAc,GACI,WAAlBD,IACFC,GAAYnN,KAAOA,EACnBmN,GAAYtD,SAAWA,IAED,MAAlBqD,IAA0B3Z,EAAMsZ,OAClCM,GAAYC,KAAO,UAErBD,GAAY,iBAAmBtD,GAEjC,IAAIwD,GAAgB,OAAAC,EAAA,GAAW9D,EAAetW,GAC1Cqa,GAAe,OAAAD,EAAA,GAAW5B,GAAiBjC,GAC3C+D,GAAY,OAAAF,EAAA,GAAWD,GAAeE,IACtCE,GAAmB,YAAe,GACpCC,GAAeD,GAAiB,GAChCE,GAAkBF,GAAiB,GACrC,aAAgB,WACdE,IAAgB,KACf,IACH,IAAIC,GAAoBF,KAAiB3D,IAAkBF,EAS3D,OAAoB,gBAAoBqD,GAAe,YAAS,CAC9D9Z,UAAW,YAAKD,EAAQK,KAAMJ,EAAWmY,GAAgB,CAACpY,EAAQoY,aAAcnB,GAAwBP,GAAY1W,EAAQ0W,UAC5HQ,OAAQmC,GACRlC,QAASA,EACTC,QAASkC,GACThC,UAAWsC,GACXrC,QAASsC,GACTrC,YAAaqB,GACbpB,aAAcuB,GACdtB,UAAWqB,GACXjB,YAAagB,GACbnB,WAAYwB,GACZvB,YAAawB,GACbvB,aAAcqB,GACdnZ,IAAKsa,GACLrC,SAAUtB,GAAY,EAAIsB,GACzBgC,GAAa5Z,GAAQ+J,EAAUsQ,GAGlC,gBAAoB,EAAa,YAAS,CACxC1a,IAAKoY,EACLnF,OAAQwD,GACPyB,IAAqB,SAGX,WAAA/C,EAAA,GArRK,CAElB7U,KAAM,CACJwK,QAAS,cACT6P,WAAY,SACZC,eAAgB,SAChBtF,SAAU,WACVuF,wBAAyB,cACzB1E,gBAAiB,cAGjB2E,QAAS,EACTC,OAAQ,EACRC,OAAQ,EAERtF,aAAc,EACduF,QAAS,EAETC,OAAQ,UACRC,WAAY,OACZC,cAAe,SACf,kBAAmB,OAEnB,qBAAsB,OAEtBC,eAAgB,OAEhBC,MAAO,UACP,sBAAuB,CACrBC,YAAa,QAGf,aAAc,CACZlG,cAAe,OAEf6F,OAAQ,WAEV,eAAgB,CACdM,YAAa,UAIjB7E,SAAU,GAEV0B,aAAc,IAyOkB,CAChC5X,KAAM,iBADO,CAEZ,I,kCCnSH,iDAOMgb,GAPN,UAOe,CACb,CACEhb,KAAM,WACNib,KAAM,iBACNC,KAAM,iDAER,CACElb,KAAM,WACNib,KAAM,gBACNC,KAAM,uCAER,CACElb,KAAM,UACNib,KAAM,gBACNC,KAAM,0CAER,CACElb,KAAM,WACNib,KAAM,iBACNC,KAAM,wDAER,CACElb,KAAM,SACNib,KAAM,YACNC,KAAM,wEAoDKC,IA1CI,SAAC7b,GAClB,IAAQ8b,EAA4B9b,EAA5B8b,KAAMC,EAAsB/b,EAAtB+b,QAASC,EAAahc,EAAbgc,SACvB3W,EAA8BC,cAAtBC,EAASF,EAATE,UAAWE,EAAMJ,EAANI,OACnB5E,EAAoCC,mBAAS,IAAtCmb,EAAUpb,EAAA,GAAEqb,EAAarb,EAAA,GAMhC,OAJAyB,qBAAU,WACRiD,GAAa2W,EAAczW,EAAO0W,SAASvC,QAC1C,IAGDrR,IAAAC,cAAC4T,IAAK,CAACN,KAAMA,EAAMC,QAAS,kBAAMA,KAAW5b,UAAU,iBACrDoI,IAAAC,cAAA,OAAKrI,UAAU,4BACboI,IAAAC,cAAA,OAAKrI,UAAU,uBACboI,IAAAC,cAAA,OAAKrI,UAAU,yBACboI,IAAAC,cAAA,YAAM,aACND,IAAAC,cAAA,UAAQrI,UAAU,aAAakX,QAAS,kBAAM0E,QAEhDxT,IAAAC,cAAA,UACGkT,EAAOzN,KAAI,SAACoO,EAAKjO,GAAG,OACnB7F,IAAAC,cAAA,MACE4F,IACEA,GAGF7F,IAAAC,cAAA,KACEoR,KAAMyC,EAAIT,KAAOK,EACjB9b,UAAckc,EAAIV,KAAI,KAAIK,EAAWA,EAAWK,EAAI3b,KAAO,IAC3D0G,OAAO,SACPkV,IAAI,eAEL/W,GAAaE,EAAO8W,OAAOpR,OAAS,KACnC5C,IAAAC,cAAA,YAAO6T,EAAI3b,gB,yDCxE7B,oGAoQI8b,EAAsB,cAAiB,SAAgBxc,EAAOC,GAChE,IAAIoK,EAAWrK,EAAMqK,SACnBnK,EAAUF,EAAME,QAChBC,EAAYH,EAAMG,UAClBsc,EAAezc,EAAMub,MACrBA,OAAyB,IAAjBkB,EAA0B,UAAYA,EAC9CnS,EAAmBtK,EAAMuK,UACzBA,OAAiC,IAArBD,EAA8B,SAAWA,EACrDqM,EAAkB3W,EAAM4W,SACxBA,OAA+B,IAApBD,GAAqCA,EAChD+F,EAAwB1c,EAAM2c,iBAC9BA,OAA6C,IAA1BD,GAA2CA,EAC9DE,EAAwB5c,EAAM6c,mBAC9BA,OAA+C,IAA1BD,GAA2CA,EAChEE,EAAc9c,EAAM+c,QACpB5F,EAAwBnX,EAAMmX,sBAC9B6F,EAAmBhd,EAAMid,UACzBA,OAAiC,IAArBD,GAAsCA,EAClDE,EAAcld,EAAMmd,KACpBA,OAAuB,IAAhBD,EAAyB,SAAWA,EAC3CE,EAAgBpd,EAAMqd,UACtBjF,EAAcpY,EAAM+M,KACpBA,OAAuB,IAAhBqL,EAAyB,SAAWA,EAC3CkF,EAAiBtd,EAAMud,QACvBA,OAA6B,IAAnBD,EAA4B,OAASA,EAC/Chd,EAAQ,YAAyBN,EAAO,CAAC,WAAY,UAAW,YAAa,QAAS,YAAa,WAAY,mBAAoB,qBAAsB,UAAW,wBAAyB,YAAa,OAAQ,YAAa,OAAQ,YACrOqd,EAAYD,GAA8B,gBAAoB,OAAQ,CACxEjd,UAAW,YAAKD,EAAQmd,UAAWnd,EAAQ,WAAW0K,OAAO,YAAWuS,OACvEC,GACCL,EAAUD,GAA4B,gBAAoB,OAAQ,CACpE3c,UAAW,YAAKD,EAAQ6c,QAAS7c,EAAQ,WAAW0K,OAAO,YAAWuS,OACrEL,GACH,OAAoB,gBAAoB,IAAY,YAAS,CAC3D3c,UAAW,YAAKD,EAAQK,KAAML,EAAQqd,GAAUpd,EAAqB,YAAVob,EAAsBrb,EAAQsd,aAAyB,YAAVjC,GAAuBrb,EAAQ,GAAG0K,OAAO2S,GAAS3S,OAAO,YAAW2Q,KAAmB,WAAT4B,GAAqB,CAACjd,EAAQ,GAAG0K,OAAO2S,EAAS,QAAQ3S,OAAO,YAAWuS,KAASjd,EAAQ,OAAO0K,OAAO,YAAWuS,MAAUR,GAAoBzc,EAAQyc,iBAAkB/F,GAAY1W,EAAQ0W,SAAUqG,GAAa/c,EAAQ+c,WACtZ1S,UAAWA,EACXqM,SAAUA,EACVM,aAAc2F,EACd1F,sBAAuB,YAAKjX,EAAQoY,aAAcnB,GAClDlX,IAAKA,EACL8M,KAAMA,GACLzM,GAAqB,gBAAoB,OAAQ,CAClDH,UAAWD,EAAQud,OAClBJ,EAAWhT,EAAU0S,OAGX,iBAzSK,SAAgB1H,GAClC,MAAO,CAEL9U,KAAM,YAAS,GAAI8U,EAAMqI,WAAW/D,OAAQ,CAC1CgE,UAAW,aACXC,SAAU,GACV1C,QAAS,WACTvF,aAAcN,EAAMwI,MAAMlI,aAC1B4F,MAAOlG,EAAMyI,QAAQlS,KAAKmS,QAC1BC,WAAY3I,EAAMS,YAAY9H,OAAO,CAAC,mBAAoB,aAAc,UAAW,CACjFkI,SAAUb,EAAMS,YAAYI,SAAS+H,QAEvC,UAAW,CACT3C,eAAgB,OAChBlF,gBAAiB,YAAMf,EAAMyI,QAAQlS,KAAKmS,QAAS1I,EAAMyI,QAAQxH,OAAO4H,cAExE,uBAAwB,CACtB9H,gBAAiB,eAEnB,aAAc,CACZA,gBAAiB,gBAGrB,aAAc,CACZmF,MAAOlG,EAAMyI,QAAQxH,OAAOM,YAIhC6G,MAAO,CACLtS,MAAO,OAEPJ,QAAS,UACT6P,WAAY,UACZC,eAAgB,WAGlBjP,KAAM,CACJsP,QAAS,WAGXiD,YAAa,CACX5C,MAAOlG,EAAMyI,QAAQC,QAAQK,KAC7B,UAAW,CACThI,gBAAiB,YAAMf,EAAMyI,QAAQC,QAAQK,KAAM/I,EAAMyI,QAAQxH,OAAO4H,cAExE,uBAAwB,CACtB9H,gBAAiB,iBAKvBiI,cAAe,CACb9C,MAAOlG,EAAMyI,QAAQQ,UAAUF,KAC/B,UAAW,CACThI,gBAAiB,YAAMf,EAAMyI,QAAQQ,UAAUF,KAAM/I,EAAMyI,QAAQxH,OAAO4H,cAE1E,uBAAwB,CACtB9H,gBAAiB,iBAKvBmI,SAAU,CACRrD,QAAS,WACTF,OAAQ,aAAapQ,OAA8B,UAAvByK,EAAMyI,QAAQ/Q,KAAmB,sBAAwB,6BACrF,aAAc,CACZiO,OAAQ,aAAapQ,OAAOyK,EAAMyI,QAAQxH,OAAOkI,sBAIrDC,gBAAiB,CACflD,MAAOlG,EAAMyI,QAAQC,QAAQK,KAC7BpD,OAAQ,aAAapQ,OAAO,YAAMyK,EAAMyI,QAAQC,QAAQK,KAAM,KAC9D,UAAW,CACTpD,OAAQ,aAAapQ,OAAOyK,EAAMyI,QAAQC,QAAQK,MAClDhI,gBAAiB,YAAMf,EAAMyI,QAAQC,QAAQK,KAAM/I,EAAMyI,QAAQxH,OAAO4H,cAExE,uBAAwB,CACtB9H,gBAAiB,iBAKvBsI,kBAAmB,CACjBnD,MAAOlG,EAAMyI,QAAQQ,UAAUF,KAC/BpD,OAAQ,aAAapQ,OAAO,YAAMyK,EAAMyI,QAAQQ,UAAUF,KAAM,KAChE,UAAW,CACTpD,OAAQ,aAAapQ,OAAOyK,EAAMyI,QAAQQ,UAAUF,MACpDhI,gBAAiB,YAAMf,EAAMyI,QAAQQ,UAAUF,KAAM/I,EAAMyI,QAAQxH,OAAO4H,cAE1E,uBAAwB,CACtB9H,gBAAiB,gBAGrB,aAAc,CACZ4E,OAAQ,aAAapQ,OAAOyK,EAAMyI,QAAQxH,OAAOM,YAIrD+H,UAAW,CACTpD,MAAOlG,EAAMyI,QAAQc,gBAAgBvJ,EAAMyI,QAAQe,KAAK,MACxDzI,gBAAiBf,EAAMyI,QAAQe,KAAK,KACpCC,UAAWzJ,EAAM0J,QAAQ,GACzB,UAAW,CACT3I,gBAAiBf,EAAMyI,QAAQe,KAAKG,KACpCF,UAAWzJ,EAAM0J,QAAQ,GAEzB,uBAAwB,CACtBD,UAAWzJ,EAAM0J,QAAQ,GACzB3I,gBAAiBf,EAAMyI,QAAQe,KAAK,MAEtC,aAAc,CACZzI,gBAAiBf,EAAMyI,QAAQxH,OAAOkI,qBAG1C,iBAAkB,CAChBM,UAAWzJ,EAAM0J,QAAQ,IAE3B,WAAY,CACVD,UAAWzJ,EAAM0J,QAAQ,IAE3B,aAAc,CACZxD,MAAOlG,EAAMyI,QAAQxH,OAAOM,SAC5BkI,UAAWzJ,EAAM0J,QAAQ,GACzB3I,gBAAiBf,EAAMyI,QAAQxH,OAAOkI,qBAI1CS,iBAAkB,CAChB1D,MAAOlG,EAAMyI,QAAQC,QAAQmB,aAC7B9I,gBAAiBf,EAAMyI,QAAQC,QAAQK,KACvC,UAAW,CACThI,gBAAiBf,EAAMyI,QAAQC,QAAQoB,KAEvC,uBAAwB,CACtB/I,gBAAiBf,EAAMyI,QAAQC,QAAQK,QAK7CgB,mBAAoB,CAClB7D,MAAOlG,EAAMyI,QAAQQ,UAAUY,aAC/B9I,gBAAiBf,EAAMyI,QAAQQ,UAAUF,KACzC,UAAW,CACThI,gBAAiBf,EAAMyI,QAAQQ,UAAUa,KAEzC,uBAAwB,CACtB/I,gBAAiBf,EAAMyI,QAAQQ,UAAUF,QAK/CzB,iBAAkB,CAChBmC,UAAW,OACX,UAAW,CACTA,UAAW,QAEb,iBAAkB,CAChBA,UAAW,QAEb,WAAY,CACVA,UAAW,QAEb,aAAc,CACZA,UAAW,SAIfxG,aAAc,GAEd1B,SAAU,GAEV4G,aAAc,CACZjC,MAAO,UACP8D,YAAa,gBAGfC,cAAe,CACbpE,QAAS,UACTqE,SAAUlK,EAAMqI,WAAW8B,QAAQ,KAGrCC,cAAe,CACbvE,QAAS,WACTqE,SAAUlK,EAAMqI,WAAW8B,QAAQ,KAGrCE,kBAAmB,CACjBxE,QAAS,UACTqE,SAAUlK,EAAMqI,WAAW8B,QAAQ,KAGrCG,kBAAmB,CACjBzE,QAAS,WACTqE,SAAUlK,EAAMqI,WAAW8B,QAAQ,KAGrCI,mBAAoB,CAClB1E,QAAS,WACTqE,SAAUlK,EAAMqI,WAAW8B,QAAQ,KAGrCK,mBAAoB,CAClB3E,QAAS,WACTqE,SAAUlK,EAAMqI,WAAW8B,QAAQ,KAGrCM,UAAW,GAEXC,UAAW,GAEX9C,UAAW,CACT9R,MAAO,QAGTkS,UAAW,CACTtS,QAAS,UACTlE,YAAa,EACbF,YAAa,EACb,kBAAmB,CACjBA,YAAa,IAIjBoW,QAAS,CACPhS,QAAS,UACTlE,aAAc,EACdF,WAAY,EACZ,kBAAmB,CACjBE,aAAc,IAIlBmZ,cAAe,CACb,oBAAqB,CACnBT,SAAU,KAIdU,eAAgB,CACd,oBAAqB,CACnBV,SAAU,KAIdW,cAAe,CACb,oBAAqB,CACnBX,SAAU,QAkDgB,CAChC7e,KAAM,aADO,CAEZ8b,I,kCCnTH,8DAEe,SAASnC,EAAW8F,EAAMC,GAMvC,OAAO,WAAc,WACnB,OAAY,MAARD,GAAwB,MAARC,EACX,KAEF,SAAUC,GACf,YAAOF,EAAME,GACb,YAAOD,EAAMC,MAEd,CAACF,EAAMC,M,4IChBG,GACH,E,YCwGR,EAA0B,SAAUjQ,GAEtC,SAASmQ,EAAWtgB,EAAOqQ,GACzB,IAAIC,EACJA,EAAQH,EAAiBK,KAAK5D,KAAM5M,EAAOqQ,IAAYzD,KACvD,IAGI2T,EADAnP,EAFcf,MAEuBM,WAAa3Q,EAAM+P,MAAQ/P,EAAMoR,OAqB1E,OAnBAd,EAAMkQ,aAAe,KACjBxgB,EAAM4P,GACJwB,GACFmP,EA5GY,SA6GZjQ,EAAMkQ,aA5GQ,YA8GdD,EA7Ga,UAiHbA,EADEvgB,EAAMygB,eAAiBzgB,EAAM0gB,aAnHhB,YACH,SAwHhBpQ,EAAMG,MAAQ,CACZkQ,OAAQJ,GAEVjQ,EAAMsQ,aAAe,KACdtQ,EA3BT,YAAegQ,EAAYnQ,GA6B3BmQ,EAAWnP,yBAA2B,SAAkCzO,EAAMme,GAE5E,OADane,EAAKkN,IAhIC,cAiILiR,EAAUF,OACf,CACLA,OAlIY,UAqIT,MAmBT,IAAI9P,EAASyP,EAAWxP,UAyMxB,OAxMAD,EAAOE,kBAAoB,WACzBnE,KAAKkU,cAAa,EAAMlU,KAAK4T,eAE/B3P,EAAOkQ,mBAAqB,SAA4BC,GACtD,IAAIC,EAAa,KACjB,GAAID,IAAcpU,KAAK5M,MAAO,CAC5B,IAAI2gB,EAAS/T,KAAK6D,MAAMkQ,OACpB/T,KAAK5M,MAAM4P,GA/JC,aAgKV+Q,GA/JS,YA+JcA,IACzBM,EAjKY,yBAoKVN,GAnKS,YAmKcA,IACzBM,EAnKW,WAuKjBrU,KAAKkU,cAAa,EAAOG,IAE3BpQ,EAAOK,qBAAuB,WAC5BtE,KAAKsU,sBAEPrQ,EAAOsQ,YAAc,WACnB,IACIrR,EAAMC,EAAOqB,EADbe,EAAUvF,KAAK5M,MAAMmS,QASzB,OAPArC,EAAOC,EAAQqB,EAASe,EACT,MAAXA,GAAsC,iBAAZA,IAC5BrC,EAAOqC,EAAQrC,KACfC,EAAQoC,EAAQpC,MAEhBqB,OAA4BtG,IAAnBqH,EAAQf,OAAuBe,EAAQf,OAASrB,GAEpD,CACLD,KAAMA,EACNC,MAAOA,EACPqB,OAAQA,IAGZP,EAAOiQ,aAAe,SAAsBM,EAAUH,GAIpD,QAHiB,IAAbG,IACFA,GAAW,GAEM,OAAfH,EAGF,GADArU,KAAKsU,qBApMW,aAqMZD,EAAyB,CAC3B,GAAIrU,KAAK5M,MAAMygB,eAAiB7T,KAAK5M,MAAM0gB,aAAc,CACvD,IAAI5T,EAAOF,KAAK5M,MAAMqhB,QAAUzU,KAAK5M,MAAMqhB,QAAQzX,QAAU,IAAS0X,YAAY1U,MAI9EE,GCrNW,SAAqBA,GACrCA,EAAKyU,UDoNMC,CAAY1U,GAExBF,KAAK6U,aAAaL,QAElBxU,KAAK8U,mBAEE9U,KAAK5M,MAAMygB,eAlNN,WAkNuB7T,KAAK6D,MAAMkQ,QAChD/T,KAAKqE,SAAS,CACZ0P,OArNe,eAyNrB9P,EAAO4Q,aAAe,SAAsBL,GAC1C,IAAIO,EAAS/U,KACTmD,EAAQnD,KAAK5M,MAAM+P,MACnB6R,EAAYhV,KAAKyD,QAAUzD,KAAKyD,QAAQM,WAAayQ,EACrDS,EAAQjV,KAAK5M,MAAMqhB,QAAU,CAACO,GAAa,CAAC,IAASN,YAAY1U,MAAOgV,GAC1EE,EAAYD,EAAM,GAClBE,EAAiBF,EAAM,GACrBG,EAAWpV,KAAKuU,cAChBc,EAAeL,EAAYI,EAAS5Q,OAAS4Q,EAASjS,OAGrDqR,IAAarR,GAASmS,EACzBtV,KAAKuV,aAAa,CAChBxB,OAnOa,YAoOZ,WACDgB,EAAO3hB,MAAMoiB,UAAUN,OAI3BlV,KAAK5M,MAAMqiB,QAAQP,EAAWC,GAC9BnV,KAAKuV,aAAa,CAChBxB,OA5OgB,aA6Of,WACDgB,EAAO3hB,MAAMsiB,WAAWR,EAAWC,GACnCJ,EAAOY,gBAAgBN,GAAc,WACnCN,EAAOQ,aAAa,CAClBxB,OAhPW,YAiPV,WACDgB,EAAO3hB,MAAMoiB,UAAUN,EAAWC,cAK1ClR,EAAO6Q,YAAc,WACnB,IAAIc,EAAS5V,KACTkD,EAAOlD,KAAK5M,MAAM8P,KAClBkS,EAAWpV,KAAKuU,cAChBW,EAAYlV,KAAK5M,MAAMqhB,aAAUvW,EAAY,IAASwW,YAAY1U,MAEjEkD,IAAQoS,GAQbtV,KAAK5M,MAAMyiB,OAAOX,GAClBlV,KAAKuV,aAAa,CAChBxB,OAtQe,YAuQd,WACD6B,EAAOxiB,MAAM0iB,UAAUZ,GACvBU,EAAOD,gBAAgBP,EAASlS,MAAM,WACpC0S,EAAOL,aAAa,CAClBxB,OA9QU,WA+QT,WACD6B,EAAOxiB,MAAM2O,SAASmT,aAhB1BlV,KAAKuV,aAAa,CAChBxB,OAjQY,WAkQX,WACD6B,EAAOxiB,MAAM2O,SAASmT,OAkB5BjR,EAAOqQ,mBAAqB,WACA,OAAtBtU,KAAKgU,eACPhU,KAAKgU,aAAa+B,SAClB/V,KAAKgU,aAAe,OAGxB/P,EAAOsR,aAAe,SAAsBS,EAAWC,GAIrDA,EAAWjW,KAAKkW,gBAAgBD,GAChCjW,KAAKqE,SAAS2R,EAAWC,IAE3BhS,EAAOiS,gBAAkB,SAAyBD,GAChD,IAAIE,EAASnW,KACToW,GAAS,EAWb,OAVApW,KAAKgU,aAAe,SAAUtU,GACxB0W,IACFA,GAAS,EACTD,EAAOnC,aAAe,KACtBiC,EAASvW,KAGbM,KAAKgU,aAAa+B,OAAS,WACzBK,GAAS,GAEJpW,KAAKgU,cAEd/P,EAAO0R,gBAAkB,SAAyBpQ,EAAS8Q,GACzDrW,KAAKkW,gBAAgBG,GACrB,IAAInW,EAAOF,KAAK5M,MAAMqhB,QAAUzU,KAAK5M,MAAMqhB,QAAQzX,QAAU,IAAS0X,YAAY1U,MAC9EsW,EAA0C,MAAX/Q,IAAoBvF,KAAK5M,MAAMmjB,eAClE,GAAKrW,IAAQoW,EAAb,CAIA,GAAItW,KAAK5M,MAAMmjB,eAAgB,CAC7B,IAAIC,EAAQxW,KAAK5M,MAAMqhB,QAAU,CAACzU,KAAKgU,cAAgB,CAAC9T,EAAMF,KAAKgU,cACjEkB,EAAYsB,EAAM,GAClBC,EAAoBD,EAAM,GAC5BxW,KAAK5M,MAAMmjB,eAAerB,EAAWuB,GAExB,MAAXlR,GACF/L,WAAWwG,KAAKgU,aAAczO,QAV9B/L,WAAWwG,KAAKgU,aAAc,IAalC/P,EAAOS,OAAS,WACd,IAAIqP,EAAS/T,KAAK6D,MAAMkQ,OACxB,GAtUmB,cAsUfA,EACF,OAAO,KAET,IAAIpP,EAAc3E,KAAK5M,MACrBqK,EAAWkH,EAAYlH,SAgBvBiZ,GAfM/R,EAAY3B,GACF2B,EAAYmP,aACXnP,EAAYkP,cACnBlP,EAAYH,OACbG,EAAYxB,MACbwB,EAAYzB,KACTyB,EAAYY,QACLZ,EAAY4R,eACnB5R,EAAY8Q,QACT9Q,EAAY+Q,WACb/Q,EAAY6Q,UACf7Q,EAAYkR,OACTlR,EAAYmR,UACbnR,EAAY5C,SACb4C,EAAY8P,QACV,YAA8B9P,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAC/O,OAEE,IAAM/I,cAAciJ,EAAA,EAAuBC,SAAU,CACnD1M,MAAO,MACc,mBAAbqF,EAA0BA,EAASsW,EAAQ2C,GAAc,IAAMC,aAAa,IAAMC,SAASC,KAAKpZ,GAAWiZ,KAGlHhD,EAjQqB,CAkQ5B,IAAM9V,WAIR,SAASkZ,KAHT,EAAWC,YAAclS,EAAA,EAIzB,EAAWE,aAAe,CACxB/B,IAAI,EACJ8Q,cAAc,EACdD,eAAe,EACfrP,QAAQ,EACRrB,OAAO,EACPD,MAAM,EACNuS,QAASqB,EACTpB,WAAYoB,EACZtB,UAAWsB,EACXjB,OAAQiB,EACRhB,UAAWgB,EACX/U,SAAU+U,GAEZ,EAAWE,UAtXY,YAuXvB,EAAWC,OAtXS,SAuXpB,EAAWC,SAtXW,WAuXtB,EAAWC,QAtXU,UAuXrB,EAAWC,QAtXU,UAuXN,Q,wBEhYR,SAASC,EAAmBjkB,EAAOgU,GACxC,IAAI7B,EAAUnS,EAAMmS,QAClB+R,EAAelkB,EAAMyG,MACrBA,OAAyB,IAAjByd,EAA0B,GAAKA,EACzC,MAAO,CACLhO,SAAUzP,EAAM0d,oBAAyC,iBAAZhS,EAAuBA,EAAUA,EAAQ6B,EAAQoQ,OAAS,EACvGC,MAAO5d,EAAM6d,iB,gBCDjB,SAASC,EAASvf,GAChB,MAAO,SAAS4F,OAAO5F,EAAO,MAAM4F,OAAOvG,KAAKuQ,IAAI5P,EAAO,GAAI,KAEjE,IAAIwf,EAAS,CACXC,SAAU,CACR7O,QAAS,EACTtN,UAAWic,EAAS,IAEtBG,QAAS,CACP9O,QAAS,EACTtN,UAAW,SASX,EAAoB,cAAiB,SAActI,EAAOC,GAC5D,IAAIoK,EAAWrK,EAAMqK,SACnBsa,EAAwB3kB,EAAM4kB,wBAC9BA,OAAoD,IAA1BD,GAA2CA,EACrE1S,EAASjS,EAAM4P,GACfyS,EAAUriB,EAAMqiB,QAChBD,EAAYpiB,EAAMoiB,UAClBE,EAAatiB,EAAMsiB,WACnBG,EAASziB,EAAMyiB,OACf9T,EAAW3O,EAAM2O,SACjB+T,EAAY1iB,EAAM0iB,UAClBjc,EAAQzG,EAAMyG,MACdoe,EAAiB7kB,EAAMmS,QACvBA,OAA6B,IAAnB0S,EAA4B,OAASA,EAC/CC,EAAwB9kB,EAAM+kB,oBAC9BA,OAAgD,IAA1BD,EAAmC,EAAaA,EACtExkB,EAAQ,YAAyBN,EAAO,CAAC,WAAY,0BAA2B,KAAM,UAAW,YAAa,aAAc,SAAU,WAAY,YAAa,QAAS,UAAW,wBACjLglB,EAAQ,WACRC,EAAc,WACd5P,EC1CQ,OAAA6P,EAAA,MAA4BC,EAAA,ED2CpCC,EAAyB/P,EAAMgQ,sBAAwBT,EACvDvD,EAAU,SAAa,MACvBiE,EAAa,OAAAjL,EAAA,GAAWhQ,EAASpK,IAAKA,GACtCsa,EAAY,OAAAF,EAAA,GAAW+K,EAAyB/D,OAAUvW,EAAWwa,GACrEC,EAA+B,SAAsC1C,GACvE,OAAO,SAAU2C,EAAiBzD,GAChC,GAAIc,EAAU,CACZ,IAAIngB,EAAO0iB,EAAyB,CAAC/D,EAAQzX,QAAS4b,GAAmB,CAACA,EAAiBzD,GACzFF,EAAQ,YAAenf,EAAM,GAC7BoK,EAAO+U,EAAM,GACb4D,EAAc5D,EAAM,QAEF/W,IAAhB2a,EACF5C,EAAS/V,GAET+V,EAAS/V,EAAM2Y,MAKnBC,EAAiBH,EAA6BjD,GAC9CqD,EAAcJ,GAA6B,SAAUzY,EAAM2Y,IDpE7C,SAAgB3Y,GAC3BA,EAAKyU,UCoEVqE,CAAO9Y,GAEP,IAQIoJ,EARA2P,EAAsB5B,EAAmB,CACzCxd,MAAOA,EACP0L,QAASA,GACR,CACDiS,KAAM,UAERD,EAAqB0B,EAAoB3P,SACzCmO,EAAQwB,EAAoBxB,MAEd,SAAZlS,GACF+D,EAAWb,EAAMS,YAAYgQ,sBAAsBhZ,EAAKoI,cACxD+P,EAAYrb,QAAUsM,GAEtBA,EAAWiO,EAEbrX,EAAKrG,MAAMuX,WAAa,CAAC3I,EAAMS,YAAY9H,OAAO,UAAW,CAC3DkI,SAAUA,EACVmO,MAAOA,IACLhP,EAAMS,YAAY9H,OAAO,YAAa,CACxCkI,SAAqB,KAAXA,EACVmO,MAAOA,KACL0B,KAAK,KACL1D,GACFA,EAAQvV,EAAM2Y,MAGdO,EAAgBT,EAA6BnD,GAC7C6D,EAAgBV,EAA6B7C,GAC7CwD,EAAaX,GAA6B,SAAUzY,GACtD,IAQIoJ,EARAiQ,EAAuBlC,EAAmB,CAC1Cxd,MAAOA,EACP0L,QAASA,GACR,CACDiS,KAAM,SAERD,EAAqBgC,EAAqBjQ,SAC1CmO,EAAQ8B,EAAqB9B,MAEf,SAAZlS,GACF+D,EAAWb,EAAMS,YAAYgQ,sBAAsBhZ,EAAKoI,cACxD+P,EAAYrb,QAAUsM,GAEtBA,EAAWiO,EAEbrX,EAAKrG,MAAMuX,WAAa,CAAC3I,EAAMS,YAAY9H,OAAO,UAAW,CAC3DkI,SAAUA,EACVmO,MAAOA,IACLhP,EAAMS,YAAY9H,OAAO,YAAa,CACxCkI,SAAqB,KAAXA,EACVmO,MAAOA,GAAoB,KAAXnO,KACd6P,KAAK,KACTjZ,EAAKrG,MAAMmP,QAAU,IACrB9I,EAAKrG,MAAM6B,UAAYic,EAAS,KAC5B9B,GACFA,EAAO3V,MAGPyD,EAAegV,EAA6B5W,GAYhD,OALA,aAAgB,WACd,OAAO,WACLjF,aAAasb,EAAMpb,YAEpB,IACiB,gBAAoBmb,EAAqB,YAAS,CACpE3T,QAAQ,EACRxB,GAAIqC,EACJoP,QAAS+D,EAAyB/D,OAAUvW,EAC5CuX,QAASsD,EACTvD,UAAW4D,EACX1D,WAAYoD,EACZjD,OAAQyD,EACRvX,SAAU4B,EACVmS,UAAWuD,EACX9C,eArBmB,SAAwBiD,EAAYC,GACvD,IAAIjjB,EAAOgiB,EAAyBgB,EAAaC,EACjC,SAAZlU,IACF6S,EAAMpb,QAAUxD,WAAWhD,EAAM6hB,EAAYrb,SAAW,KAmB1DuI,QAAqB,SAAZA,EAAqB,KAAOA,GACpC7R,IAAQ,SAAUmQ,EAAO6S,GAC1B,OAAoB,eAAmBjZ,EAAU,YAAS,CACxD5D,MAAO,YAAS,CACdmP,QAAS,EACTtN,UAAWic,EAAS,KACpB+B,WAAsB,WAAV7V,GAAuBwB,OAAoBnH,EAAX,UAC3C0Z,EAAO/T,GAAQhK,EAAO4D,EAASrK,MAAMyG,OACxCxG,IAAKsa,GACJ+I,UAIP,EAAKiD,gBAAiB,EACP,O,0FEpKfC,EAAOC,QAAU,CAAC,iBAAmB,gDAAgD,qBAAuB,oDAAoD,4BAA8B,2DAA2D,uBAAyB,sDAAsD,2BAA6B,0DAA0D,wBAA0B,uDAAuD,uBAAyB,sDAAsD,0BAA4B,yDAAyD,sBAAwB,uD,kCCD5qB,gEA8BIC,EAAqB,cAAiB,SAAe1mB,EAAOC,GAC9D,IAAIC,EAAUF,EAAME,QAClBC,EAAYH,EAAMG,UAClBmK,EAAmBtK,EAAMuK,UACzBC,OAAiC,IAArBF,EAA8B,MAAQA,EAClDqc,EAAgB3mB,EAAM4mB,OACtBA,OAA2B,IAAlBD,GAAmCA,EAC5CE,EAAmB7mB,EAAMQ,UACzBA,OAAiC,IAArBqmB,EAA8B,EAAIA,EAC9CvJ,EAAiBtd,EAAMud,QACvBA,OAA6B,IAAnBD,EAA4B,YAAcA,EACpDhd,EAAQ,YAAyBN,EAAO,CAAC,UAAW,YAAa,YAAa,SAAU,YAAa,YACvG,OAAoB,gBAAoBwK,EAAW,YAAS,CAC1DrK,UAAW,YAAKD,EAAQK,KAAMJ,EAAuB,aAAZod,EAAyBrd,EAAQqe,SAAWre,EAAQ,YAAY0K,OAAOpK,KAAcomB,GAAU1mB,EAAQ4mB,SAChJ7mB,IAAKA,GACJK,OAGU,iBA1CK,SAAgB+U,GAClC,IAAI0R,EAAa,GAMjB,OALA1R,EAAM0J,QAAQ9X,SAAQ,SAAU+f,EAAQC,GACtCF,EAAW,YAAYnc,OAAOqc,IAAU,CACtCnI,UAAWkI,MAGR,YAAS,CAEdzmB,KAAM,CACJ6V,gBAAiBf,EAAMyI,QAAQoJ,WAAWC,MAC1C5L,MAAOlG,EAAMyI,QAAQlS,KAAKmS,QAC1BC,WAAY3I,EAAMS,YAAY9H,OAAO,eAGvC8Y,QAAS,CACPnR,aAAcN,EAAMwI,MAAMlI,cAG5B4I,SAAU,CACRvD,OAAQ,aAAapQ,OAAOyK,EAAMyI,QAAQsJ,WAE3CL,KAoB6B,CAChCrmB,KAAM,YADO,CAEZgmB,I,yDClDH,sCAAMW,EAAS,CAAC,QAAS,UAAW,QAAS,QAAS,OAAQ,QAAS,QAAS,SAAU,aAAc,UAAW,YAAa,aAE1HC,EAAiB,SAACC,GACrB,OAAOA,GAAS,GAAKA,EAAQ,IAAMA,GAGzBC,EAAgB,SAAC5b,EAAuBwY,GAClD,QAD8D,IAAZA,MAAe,IAC5DxY,EACF,MAAO,gBAEP,IAAMK,EAAO,IAAIwb,KAAK7b,GACtB,OAAQwY,GACL,KAAK,EACF,OAAUkD,EAAerb,EAAKyb,WAAU,OAAOL,EAAOpb,EAAK0b,YAAW,IAAI1b,EAAK2b,cAClF,KAAK,EACF,OAAUN,EAAerb,EAAKyb,WAAU,IAAIJ,EAAerb,EAAK0b,WAAa,GAAE,IAAI1b,EAAK2b,cAAcC,WAAWC,UAAU,GAC9H,KAAK,EACF,OAAU7b,EAAKyb,UAAS,IAAIL,EAAOpb,EAAK0b,YAAYI,OAAO,EAAG,GAAE,KAAK9b,EAAK2b,cAC7E,KAAK,EACF,OAAU3b,EAAKyb,UAAS,OAAOL,EAAOpb,EAAK0b,YAAY1jB,iB,yDCnBnE,gEAmBI+jB,EAA2B,cAAiB,SAAqBhoB,EAAOC,GAC1E,IAAIgoB,EAAwBjoB,EAAMkoB,eAChCA,OAA2C,IAA1BD,GAA2CA,EAC5D/nB,EAAUF,EAAME,QAChBC,EAAYH,EAAMG,UAClBG,EAAQ,YAAyBN,EAAO,CAAC,iBAAkB,UAAW,cACxE,OAAoB,gBAAoB,MAAO,YAAS,CACtDG,UAAW,YAAKD,EAAQK,KAAMJ,GAAY+nB,GAAkBhoB,EAAQioB,SACpEloB,IAAKA,GACJK,OAGU,gBA1BK,CAElBC,KAAM,CACJwK,QAAS,OACT6P,WAAY,SACZM,QAAS,GAGXiN,QAAS,CACP,yBAA0B,CACxBxhB,WAAY,KAgBgB,CAChCjG,KAAM,kBADO,CAEZsnB,I,oCCjCH,gEAcII,EAA2B,cAAiB,SAAqBpoB,EAAOC,GAC1E,IAAIC,EAAUF,EAAME,QAClBC,EAAYH,EAAMG,UAClBmK,EAAmBtK,EAAMuK,UACzBC,OAAiC,IAArBF,EAA8B,MAAQA,EAClDhK,EAAQ,YAAyBN,EAAO,CAAC,UAAW,YAAa,cACnE,OAAoB,gBAAoBwK,EAAW,YAAS,CAC1DrK,UAAW,YAAKD,EAAQK,KAAMJ,GAC9BF,IAAKA,GACJK,OAGU,gBArBK,CAElBC,KAAM,CACJ2a,QAAS,GACT,eAAgB,CACdmN,cAAe,MAgBa,CAChC3nB,KAAM,kBADO,CAEZ0nB,I,kCC5BH,4EA6GIE,EAAwB,CAC1BC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,UAAW,KACXC,UAAW,KACXC,MAAO,IACPC,MAAO,KAELC,EAA0B,cAAiB,SAAoBjpB,EAAOC,GACxE,IAAIipB,EAAelpB,EAAMmpB,MACvBA,OAAyB,IAAjBD,EAA0B,UAAYA,EAC9ChpB,EAAUF,EAAME,QAChBC,EAAYH,EAAMG,UAClBsc,EAAezc,EAAMub,MACrBA,OAAyB,IAAjBkB,EAA0B,UAAYA,EAC9ClS,EAAYvK,EAAMuK,UAClB6e,EAAiBppB,EAAM+K,QACvBA,OAA6B,IAAnBqe,EAA4B,UAAYA,EAClDC,EAAsBrpB,EAAMspB,aAC5BA,OAAuC,IAAxBD,GAAyCA,EACxDE,EAAgBvpB,EAAMwpB,OACtBA,OAA2B,IAAlBD,GAAmCA,EAC5CE,EAAmBzpB,EAAM0pB,UACzBA,OAAiC,IAArBD,GAAsCA,EAClDnM,EAAiBtd,EAAMud,QACvBA,OAA6B,IAAnBD,EAA4B,QAAUA,EAChDqM,EAAwB3pB,EAAM4pB,eAC9BA,OAA2C,IAA1BD,EAAmCrB,EAAwBqB,EAC5ErpB,EAAQ,YAAyBN,EAAO,CAAC,QAAS,UAAW,YAAa,QAAS,YAAa,UAAW,eAAgB,SAAU,YAAa,UAAW,mBAC3JwK,EAAYD,IAAcmf,EAAY,IAAME,EAAerM,IAAY+K,EAAsB/K,KAAa,OAC9G,OAAoB,gBAAoB/S,EAAW,YAAS,CAC1DrK,UAAW,YAAKD,EAAQK,KAAMJ,EAAuB,YAAZod,GAAyBrd,EAAQqd,GAAoB,YAAVhC,GAAuBrb,EAAQ,QAAQ0K,OAAO,YAAW2Q,KAAUiO,GAAUtpB,EAAQspB,OAAQF,GAAgBppB,EAAQopB,aAAcI,GAAaxpB,EAAQwpB,UAAqB,YAAVP,GAAuBjpB,EAAQ,QAAQ0K,OAAO,YAAWue,KAAsB,YAAZpe,GAAyB7K,EAAQ,UAAU0K,OAAO,YAAWG,MACvX9K,IAAKA,GACJK,OAGU,iBA/IK,SAAgB+U,GAClC,MAAO,CAEL9U,KAAM,CACJ0a,OAAQ,GAGV+N,MAAO3T,EAAMqI,WAAWsL,MAExBD,MAAO1T,EAAMqI,WAAWqL,MAExBc,QAASxU,EAAMqI,WAAWmM,QAE1BlQ,OAAQtE,EAAMqI,WAAW/D,OAEzB4O,GAAIlT,EAAMqI,WAAW6K,GAErBC,GAAInT,EAAMqI,WAAW8K,GAErBC,GAAIpT,EAAMqI,WAAW+K,GAErBC,GAAIrT,EAAMqI,WAAWgL,GAErBC,GAAItT,EAAMqI,WAAWiL,GAErBC,GAAIvT,EAAMqI,WAAWkL,GAErBC,UAAWxT,EAAMqI,WAAWmL,UAE5BC,UAAWzT,EAAMqI,WAAWoL,UAE5BgB,SAAUzU,EAAMqI,WAAWoM,SAE3BC,OAAQ,CACNxU,SAAU,WACVvL,OAAQ,EACRmB,MAAO,EACP1K,SAAU,UAGZupB,UAAW,CACTC,UAAW,QAGbC,YAAa,CACXD,UAAW,UAGbE,WAAY,CACVF,UAAW,SAGbG,aAAc,CACZH,UAAW,WAGbT,OAAQ,CACN/oB,SAAU,SACV4pB,aAAc,WACdC,WAAY,UAGdhB,aAAc,CACZ1iB,aAAc,UAGhB8iB,UAAW,CACT9iB,aAAc,IAGhB4W,aAAc,CACZjC,MAAO,WAGTgP,aAAc,CACZhP,MAAOlG,EAAMyI,QAAQC,QAAQK,MAG/BoM,eAAgB,CACdjP,MAAOlG,EAAMyI,QAAQQ,UAAUF,MAGjCqM,iBAAkB,CAChBlP,MAAOlG,EAAMyI,QAAQlS,KAAKmS,SAG5B2M,mBAAoB,CAClBnP,MAAOlG,EAAMyI,QAAQlS,KAAK0S,WAG5BqM,WAAY,CACVpP,MAAOlG,EAAMyI,QAAQ5Q,MAAMkR,MAG7BwM,cAAe,CACb7f,QAAS,UAGX8f,aAAc,CACZ9f,QAAS,YA4CmB,CAChCrK,KAAM,iBADO,CAEZuoB,I,kCCvJH,qFAkOe6B,IAzNE,SAAC9qB,GACf,IAUM+qB,EAVOC,yBAAe,cAUFC,kBAAkBC,MAAM,GAAGC,qBAC7CC,EAAoEprB,EAApEorB,QAASre,EAA2D/M,EAA3D+M,KAAMse,EAAqDrrB,EAArDqrB,SAAUC,EAA2CtrB,EAA3CsrB,mBAAoBC,EAAuBvrB,EAAvBurB,mBAE/Cze,EAA8BxD,mBAEpCzI,EAAoCC,oBAAS,GAAtC0qB,EAAQ3qB,EAAA,GAAE4qB,EAAe5qB,EAAA,GAChCI,EAAoDH,mBAAS,IAAtD4qB,EAAkBzqB,EAAA,GAAE0qB,EAAqB1qB,EAAA,GAChDG,EAAoCN,mBAAS,IAAtC8qB,EAAUxqB,EAAA,GAAEyqB,EAAazqB,EAAA,GAEhC0qB,EAAmCnrB,YAAcoM,GAAzC7L,EAAY4qB,EAAZ5qB,aAAciE,EAAQ2mB,EAAR3mB,SACtBE,EAAwCC,cAAhCC,EAASF,EAATE,UAAWE,EAAMJ,EAANI,OAAQD,EAAQH,EAARG,SAErBumB,EAAqB,SAACpkB,GACrBmF,EAAKlD,QAAQoiB,SAASrkB,EAAEP,SAGzBqkB,GAAgB,IAetBnpB,qBAAU,WACP,GAAa,YAATyK,GAA+B,cAATA,EAAsB,CAC7C,IAAIkf,EAAO,EAELjH,EAAQkH,aAAY,WACnBD,EAAO,IAAGA,EAAO,GACrBN,EAAsB,GAAGZ,EAAakB,IACtCA,MACA,MAEH,OAAO,kBAAME,cAAcnH,OAE9B,IAEH1iB,qBAAU,WAGP,OAFAkD,EAASc,iBAAiB,YAAaylB,GAEhC,WACJvmB,EAASyE,oBAAoB,YAAa8hB,MAE7C,CAACP,IAEJ,IAAMY,EAAsB,SAACxgB,EAAMggB,GAChC,IAAMS,EACM,OAATzgB,GAAiBA,EAAK3H,cAAcD,QAAQ4nB,EAAW3nB,eAe1D,OAZY,OAAT2H,IAAoC,IAAnBygB,EACd9jB,IAAAC,cAACD,IAAM+jB,SAAQ,KACX1gB,EAAKpH,MAAM,EAAG6nB,GACf9jB,IAAAC,cAAA,YACIoD,EAAKpH,MAAM6nB,EAAeA,EAAgBT,EAAW/nB,SAExD+H,EAAKpH,MAAM6nB,EAAgBT,EAAW/nB,SAG1C+H,GAMT,OACGrD,IAAAC,cAAA,OACGrI,UAAS,yBACNirB,EAAU,gCAAkC,IAAE,KAErC,cAATre,EAAuB,yCAA2C,IAAE,KAE3D,cAATA,EAAuB,cAAgB,KAG1CxE,IAAAC,cAAA,OACGrI,UAAS,uDACNqrB,GAAYI,EAAWW,OAAO1oB,OAAS,EAClC,wCACA,KAGR0E,IAAAC,cAAA,OAAKrI,UAAU,+BACZoI,IAAAC,cAAA,KACGrI,UAAU,mBACVkX,QAAS,kBACN9R,GACAqmB,EAAWW,OAAO1oB,OAAS,GAC3B4B,EAAO0W,SAASqQ,OAAO,gCACYZ,EAAU,gBAInDrjB,IAAAC,cAAA,SACGikB,WAAS,EACTxsB,IAAK6M,EACL9H,MAAO4mB,EACPc,YACY,cAAT3f,EACK,uBACAwe,GAAsBG,EAE9BiB,eAAgB,kBAAMlB,GAAgB,IACtCmB,SAAU,SAAChhB,GACRzG,EAASyG,EAAK6N,cAAczU,OAC5B6mB,EAAcjgB,EAAK6N,cAAczU,QAEpCwS,UA/FO,SAAC7P,GACN,UAAVA,EAAEyG,KAA4B,YAATrB,GACtBxH,GACGqmB,EAAWW,OAAO1oB,OAAS,GAC3B4B,EAAO0W,SAASqQ,OAAO,gCACYZ,EAAU,gBA4FzCA,EAAWW,OAAO1oB,OAAS,GACzB0E,IAAAC,cAAA,KACGrI,UAAU,0BACVwsB,eAAgB,WACbd,EAAc,IACd1mB,EAAS,SAKnBymB,EAAWW,OAAO1oB,OAAS,IAAMunB,IAChC7iB,IAAAC,cAAA,OAAKrI,UAAU,qCAEhByrB,EAAWW,OAAO1oB,OAAS,IAAMunB,IAChC7iB,IAAAC,cAAA,OAAKrI,UAAS,kCAAmCyrB,EAAWW,OAAO1oB,OAAS,EAAI,GAAK,kBAAgB,KAAa,cAATkJ,EAAuB,sBAAwB,KACrJxE,IAAAC,cAAA,UACI4iB,GAAoB,cAATre,GAAwB7L,GAAwC,IAAxBA,EAAa2C,QAC9D0E,IAAAC,cAAA,UACGD,IAAAC,cAAA,QAAMrI,UAAU,6BAA2B,mCACJyrB,EAAWW,OAAM,MAI7DrrB,GAAgBA,EAAa+M,KAAI,SAACH,EAAQmZ,GAAK,OAC7C1e,IAAAC,cAAA,MACG4F,IAAG,SAAW6Y,EACd5P,QAAS,gBAEUvM,IAAbugB,QACuBvgB,IAAvBwgB,IAEAD,EAASvd,GACT+d,EAAc,IACd1mB,EAAS,IACTmmB,EAAmBxd,EAAO+e,WAIhCtkB,IAAAC,cAAA,KACGoR,KAAiB,YAAT7M,GAA+B,cAATA,EAAoB,GAAOe,EAAOgf,KAAS,IACzE1lB,OAAiB,cAAT2F,EAAuB,SAAW,QAC1CuP,IAAI,aACJnc,UAAS,0BAA6B4sB,YAAyB,YAAPhgB,EAAiBe,EAAO+e,OAAO/e,EAAOkf,cAAgBD,YAAkBjf,EAAOmf,eAAiBF,YAAkBjf,EAAOof,YAEjL3kB,IAAAC,cAAA,KAAGrI,UAAS,0BAA6B4sB,YAAyB,YAAPhgB,EAAiBe,EAAO+e,OAAO/e,EAAOkf,cAAgBD,YAAkBjf,EAAOmf,eAAiBF,YAAkBjf,EAAOof,YACjL3kB,IAAAC,cAAA,QAAMrI,UAAS,6FACgB4sB,YAAyB,YAAPhgB,EAAiBe,EAAO+e,OAAO/e,EAAOkf,cAAgBD,YAAkBjf,EAAOmf,eAAiBF,YAAkBjf,EAAOof,YACtKd,EACa,YAATrf,GAA+B,cAATA,EACnBe,EAAO+e,OACP/e,EAAOkf,aACZpB,IAGNrjB,IAAAC,cAAA,WACAD,IAAAC,cAAA,QAAMrI,UAAS,+FACgB4sB,YAAyB,YAAPhgB,EAAiBe,EAAO+e,OAAO/e,EAAOkf,cAAgBD,YAAkBjf,EAAOmf,eAAiBF,YAAkBjf,EAAOof,WAAU,wCAErK,YAATngB,GAA+B,cAATA,IACtBqf,EACGte,EAAOmf,cACPrB,IAEM,YAAT7e,GAA+B,cAATA,IAA0B,KAClDqf,EACEte,EAAOof,UACPtB,gB,yDC3MvC,0EAkBIuB,EAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAC1CC,EAAa,CAAC,QAAQ,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,IAuCnE,SAASC,EAAUhR,GACjB,IAAIiR,EAAM5pB,UAAUG,OAAS,QAAsBiH,IAAjBpH,UAAU,GAAmBA,UAAU,GAAK,EAC1E6pB,EAAQC,WAAWnR,GACvB,MAAO,GAAGzR,OAAO2iB,EAAQD,GAAK1iB,OAAO6iB,OAAOpR,GAAKqR,QAAQD,OAAOF,GAAQ,KAAO,MAyB1E,IAuGHI,EAAoB,cAAiB,SAAc3tB,EAAOC,GAC5D,IAAI2tB,EAAsB5tB,EAAM6tB,aAC9BA,OAAuC,IAAxBD,EAAiC,UAAYA,EAC5DE,EAAoB9tB,EAAM4a,WAC1BA,OAAmC,IAAtBkT,EAA+B,UAAYA,EACxD5tB,EAAUF,EAAME,QAChB6tB,EAAgB/tB,EAAMG,UACtBmK,EAAmBtK,EAAMuK,UACzBC,OAAiC,IAArBF,EAA8B,MAAQA,EAClD0jB,EAAmBhuB,EAAM0T,UACzBA,OAAiC,IAArBsa,GAAsCA,EAClDC,EAAmBjuB,EAAMkuB,UACzBA,OAAiC,IAArBD,EAA8B,MAAQA,EAClDE,EAAcnuB,EAAMouB,KACpBA,OAAuB,IAAhBD,GAAiCA,EACxCE,EAAUruB,EAAMquB,QAChBC,EAAwBtuB,EAAM6a,eAC9BA,OAA2C,IAA1ByT,EAAmC,aAAeA,EACnEC,EAAYvuB,EAAMwuB,GAClBA,OAAmB,IAAdD,GAA+BA,EACpCE,EAAYzuB,EAAM0uB,GAClBA,OAAmB,IAAdD,GAA+BA,EACpCE,EAAY3uB,EAAM4uB,GAClBA,OAAmB,IAAdD,GAA+BA,EACpCE,EAAiB7uB,EAAMmoB,QACvBA,OAA6B,IAAnB0G,EAA4B,EAAIA,EAC1CC,EAAc9uB,EAAMiD,KACpBA,OAAuB,IAAhB6rB,EAAyB,OAASA,EACzCC,EAAY/uB,EAAMgvB,GAClBA,OAAmB,IAAdD,GAA+BA,EACpCE,EAAYjvB,EAAMkvB,GAClBA,OAAmB,IAAdD,GAA+BA,EACpCE,EAAsBnvB,EAAMovB,aAC5BA,OAAuC,IAAxBD,GAAyCA,EACxD7uB,EAAQ,YAAyBN,EAAO,CAAC,eAAgB,aAAc,UAAW,YAAa,YAAa,YAAa,YAAa,OAAQ,UAAW,iBAAkB,KAAM,KAAM,KAAM,UAAW,OAAQ,KAAM,KAAM,iBAC1NG,EAAY,YAAKD,EAAQK,KAAMwtB,EAAera,GAAa,CAACxT,EAAQwT,UAAuB,IAAZyU,GAAiBjoB,EAAQ,cAAc0K,OAAO6iB,OAAOtF,MAAaiG,GAAQluB,EAAQkuB,KAAMgB,GAAgBlvB,EAAQkvB,aAA4B,QAAdlB,GAAuBhuB,EAAQ,gBAAgB0K,OAAO6iB,OAAOS,KAAuB,SAATjrB,GAAmB/C,EAAQ,WAAW0K,OAAO6iB,OAAOxqB,KAAwB,YAAf2X,GAA4B1a,EAAQ,kBAAkB0K,OAAO6iB,OAAO7S,KAAgC,YAAjBiT,GAA8B3tB,EAAQ,oBAAoB0K,OAAO6iB,OAAOI,KAAiD,gBAA/BQ,GAAWxT,IAAoC3a,EAAQ,sBAAsB0K,OAAO6iB,OAAOY,GAAWxT,MAA0B,IAAPqU,GAAgBhvB,EAAQ,WAAW0K,OAAO6iB,OAAOyB,MAAc,IAAPN,GAAgB1uB,EAAQ,WAAW0K,OAAO6iB,OAAOmB,MAAc,IAAPF,GAAgBxuB,EAAQ,WAAW0K,OAAO6iB,OAAOiB,MAAc,IAAPF,GAAgBtuB,EAAQ,WAAW0K,OAAO6iB,OAAOe,MAAc,IAAPQ,GAAgB9uB,EAAQ,WAAW0K,OAAO6iB,OAAOuB,MACh5B,OAAoB,gBAAoBxkB,EAAW,YAAS,CAC1DrK,UAAWA,EACXF,IAAKA,GACJK,OAGD+uB,EAAa,aAjJG,SAAgBha,GAClC,OAAO,YAAS,CAEd9U,KAAM,GAENmT,UAAW,CACTiK,UAAW,aACX5S,QAAS,OACTukB,SAAU,OACVnkB,MAAO,QAGTijB,KAAM,CACJzQ,UAAW,aACX1C,OAAQ,KAIVmU,aAAc,CACZxR,SAAU,GAGZ,sBAAuB,CACrB2R,cAAe,UAGjB,8BAA+B,CAC7BA,cAAe,kBAGjB,2BAA4B,CAC1BA,cAAe,eAGjB,iBAAkB,CAChBD,SAAU,UAGZ,uBAAwB,CACtBA,SAAU,gBAGZ,wBAAyB,CACvB1U,WAAY,UAGd,4BAA6B,CAC3BA,WAAY,cAGd,0BAA2B,CACzBA,WAAY,YAGd,0BAA2B,CACzBA,WAAY,YAGd,0BAA2B,CACzBiT,aAAc,UAGhB,8BAA+B,CAC7BA,aAAc,cAGhB,4BAA6B,CAC3BA,aAAc,YAGhB,iCAAkC,CAChCA,aAAc,iBAGhB,gCAAiC,CAC/BA,aAAc,gBAGhB,4BAA6B,CAC3BhT,eAAgB,UAGlB,8BAA+B,CAC7BA,eAAgB,YAGlB,mCAAoC,CAClCA,eAAgB,iBAGlB,kCAAmC,CACjCA,eAAgB,gBAGlB,kCAAmC,CACjCA,eAAgB,iBAtHtB,SAAwBxF,EAAOma,GAC7B,IAAIhL,EAAS,GAcb,OAbA2I,EAASlmB,SAAQ,SAAUkhB,GACzB,IAAIsH,EAAepa,EAAM8S,QAAQA,GACZ,IAAjBsH,IAGJjL,EAAO,WAAW5Z,OAAO4kB,EAAY,KAAK5kB,OAAOud,IAAY,CAC3DlN,OAAQ,IAAIrQ,OAAOyiB,EAAUoC,EAAc,IAC3CtkB,MAAO,eAAeP,OAAOyiB,EAAUoC,GAAe,KACtD,YAAa,CACXvU,QAASmS,EAAUoC,EAAc,SAIhCjL,EAyGJkL,CAAera,EAAO,MAAOA,EAAMsa,YAAYpgB,KAAKqgB,QAAO,SAAUC,EAAazhB,GAGnF,OAtKJ,SAAsB0hB,EAAcza,EAAOma,GACzC,IAAIhL,EAAS,GACb4I,EAAWnmB,SAAQ,SAAUkW,GAC3B,IAAI/O,EAAM,QAAQxD,OAAO4kB,EAAY,KAAK5kB,OAAOuS,GACjD,IAAa,IAATA,EASJ,GAAa,SAATA,EAAJ,CASA,IAAIhS,EAAQ,GAAGP,OAAOvG,KAAKqQ,MAAMyI,EAAO,GAAK,KAAQ,IAAM,KAG3DqH,EAAOpW,GAAO,CACZ2hB,UAAW5kB,EACX6kB,SAAU,EACVC,SAAU9kB,QAdVqZ,EAAOpW,GAAO,CACZ2hB,UAAW,OACXC,SAAU,EACVC,SAAU,aAXZzL,EAAOpW,GAAO,CACZ2hB,UAAW,EACXC,SAAU,EACVC,SAAU,WAuBG,OAAfT,EACF,YAASM,EAActL,GAEvBsL,EAAaza,EAAMsa,YAAYO,GAAGV,IAAehL,EAkIjD2L,CAAaN,EAAaxa,EAAOjH,GAC1ByhB,IACN,OA4C+B,CAClCnvB,KAAM,WADS,CAEditB,GAiBY,O,mPC5LAyC,EArDG,SAACpwB,GAChB,OACGuI,IAAAC,cAAA,OAAKrI,UAAU,eAEZoI,IAAAC,cAAC6nB,IAAU,CAACC,QAAYtwB,EAAMuwB,YAE9BhoB,IAAAC,cAAA,OAAKrI,UAAU,0BACZoI,IAAAC,cAAA,OAAKrI,UAAU,mCACVH,EAAMgJ,iBACLT,IAAAC,cAAA,MAAIrI,UAAU,0CAA2CH,EAAMgJ,iBAEhEhJ,EAAMwwB,aACLjoB,IAAAC,cAAA,WAASrI,UAAU,yCAA0CH,EAAMwwB,YAAYntB,KAAKitB,SAAWG,oCAA0BzwB,EAAMwwB,YAAYntB,OAE5IrD,EAAM0wB,gBACLnoB,IAAAC,cAAA,OAAKrI,UAAU,yCACXH,EAAM0wB,eAAeziB,KAAK,SAACjJ,EAAOiiB,GAAK,OACrC1e,IAAAC,cAAA,KACG4F,IAAK6Y,EACL9mB,UAAS,iDAAmD4sB,YAAkB/sB,EAAMgJ,iBAAgB,MAAM+jB,YAAkB/nB,EAAM2rB,WAClIC,MAAO5rB,EAAM2rB,UACb/W,KAAM5U,EAAM6rB,kBACZzpB,OAAS0pB,YAAW9rB,EAAM6rB,mBAC1BvU,IAAMyU,YAAQ/rB,EAAM6rB,oBACrB7rB,EAAM2rB,gBAKnB3wB,EAAMgxB,aACJzoB,IAAAC,cAAA,OAAKrI,UAAU,iCACXH,EAAMgxB,aAAaC,MACjB1oB,IAAAC,cAAC0oB,IAAG,CACD/wB,UAAU,qCACV8wB,MAAOjxB,EAAMgxB,aAAaC,MAC1BvoB,IAAK1I,EAAMgxB,aAAaJ,OAAS,4BAGpCroB,IAAAC,cAAA,OAAMrI,UAAU,qCACVwI,IAAKwoB,YAAcnxB,EAAMgxB,aAAanoB,KAAKC,IAAK9I,EAAMgxB,aAAanoB,KAAKuoB,YAAa,KACrF1oB,IAAM1I,EAAMgxB,cAAgBhxB,EAAMgxB,aAAaJ,OAAS,kBACxDnoB,QAAQ,UAIlB,Q,gDCoGF4oB,G,UA9IU,SAACrxB,GACvB,IAKIoJ,EALJ/D,EAAwCC,cAAhCC,EAASF,EAATE,UAAWE,EAAMJ,EAANI,OAAQD,EAAQH,EAARG,SAC3B3E,EAA4CC,oBAAS,GAA9CwwB,EAAczwB,EAAA,GAAE0wB,EAAiB1wB,EAAA,GACxC2wB,EAAuCroB,cAA/BI,EAAcioB,EAAdjoB,eAAgBF,EAAUmoB,EAAVnoB,WACxBpI,EAA0CH,mBAAS,GAA5C2wB,EAAaxwB,EAAA,GAAEywB,EAAgBzwB,EAAA,GAIhCwI,EAAiB,WACpBhE,EAAOiE,aAAaN,GACpBA,EAAchD,YAAW,WACtB,IAAIurB,EAAelsB,EAAOqE,YACtB8nB,EAAgBpsB,EAASoC,KAAKiqB,aAAe,IACjDH,EAAiC,IAAfC,EAAsBC,KACxC,KAGAE,EAAkB9xB,EAAMuwB,UAAUwB,MAAM,KACxCC,EACHF,GAAmBA,EAAgBjuB,OAAS,EAAIiuB,EAAgB,GAAK,GASxExvB,qBAAU,WAPW,IACZ2vB,EAUN,OAHA1sB,GAAaC,EAASc,iBAAiB,SAAUmD,GAJjDwoB,OAHMA,EAAUzsB,EAASoC,KAAKsqB,cAC3B,4CAEHD,EAAS5qB,UAAUC,IAAI,gBAOhB,WACJ/B,GAAaC,EAASyE,oBAAoB,SAAUR,MAEvD,IAEH3E,mBAAQ,WAAM,IAAAqtB,EACM,QAAjBA,EAAAnyB,EAAMoyB,mBAAW,IAAAD,GAAjBA,EAAmBE,IAAI9oB,KACvB,CAACA,IAEJ,IAAM+oB,EAAc,WACjBf,GAAmBD,IAGtB,OACG/oB,IAAAC,cAAA,OAAKrI,UAAU,mBAAmBF,IAAKoJ,GACpCd,IAAAC,cAAC6nB,IAAU,CAACC,QAAStwB,EAAMuwB,YAE3BhoB,IAAAC,cAAA,OAAKrI,UAAU,0BACZoI,IAAAC,cAAA,OAAKrI,UAAU,mCACZoI,IAAAC,cAAA,QAAMrI,UAAU,+CACZH,EAAMuyB,YAEVhqB,IAAAC,cAAA,MAAIrI,UAAU,0CACVH,EAAMgJ,iBAEVT,IAAAC,cAAA,QAAMrI,UAAU,yCACZqnB,YAAcxnB,EAAMwyB,UAAW,IAElCxyB,EAAMwwB,aACJjoB,IAAAC,cAAA,WAASrI,UAAU,yCACfH,EAAMwwB,YAAYntB,KAAKitB,SAAWG,oCAA0BzwB,EAAMwwB,YAAYntB,QAIxFkF,IAAAC,cAAA,OAAKrI,UAAU,iCACXH,EAAMgxB,aAAaC,MACjB1oB,IAAAC,cAAC0oB,IAAG,CACD/wB,UAAU,qCACV8wB,MAAOjxB,EAAMgxB,aAAaC,MAC1BvoB,IAAK1I,EAAMgxB,aAAaJ,OAAS,4BAGpCroB,IAAAC,cAAA,OACGrI,UAAU,qCACVwI,IAAKwoB,YAAcnxB,EAAMgxB,aAAanoB,KAAKC,IAAK9I,EAAMgxB,aAAanoB,KAAKuoB,YAAapxB,EAAMgxB,aAAanoB,KAAK4pB,QAAQ5qB,MAAMsD,MAAQ,IAAM,IAAMnL,EAAMgxB,aAAanoB,KAAK4pB,QAAQ5qB,MAAMsD,OACrLzC,IAAK1I,EAAMgxB,aAAaJ,OAAS,0BACjCnoB,QAAQ,WAMpBF,IAAAC,cAAA,OACGrI,UAAS,2BACNoJ,EAAiB,gCAAkC,KAGtDhB,IAAAC,cAAA,OACGrI,UAAS,iCACNoJ,EAAiB,sCAAwC,KAG5DhB,IAAAC,cAAA,YAAM,IAAExI,EAAMgJ,gBAAgB,MAEjCT,IAAAC,cAAA,MAAIrI,UAAU,+BACXoI,IAAAC,cAAA,UACGD,IAAAC,cAAA,UACGrI,UAAS,+DACD4sB,YACFiF,GACF,WAAWjF,YACZ/sB,EAAMgJ,iBACR,mCAEDqO,QAASib,EACTI,aAAW,aAEXnqB,IAAAC,cAAA,KACGrI,UAAS,0CACJ4sB,YACFiF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,sCAGFO,GAAc,IACVvJ,EAAM2yB,gBAAkB,gBAIvCpqB,IAAAC,cAAA,OAAKrI,UAAS,oCACXoI,IAAAC,cAAA,QAAM/B,MAAO,CAAE0E,MAAUsmB,EAAa,SAI5ClpB,IAAAC,cAACqT,IAAU,CACRC,KAAMwV,EACNvV,QAASuW,EACTtW,SAAQ,MAAQ+Q,YACViF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,iBC3GD4pB,G,UAjCW,SAAC5yB,GACxB,OACGuI,IAAAC,cAAA,OAAKrI,UAAU,wBACZoI,IAAAC,cAAA,OAAKrI,UAAU,gCACVH,EAAMgJ,iBACLT,IAAAC,cAAA,MAAIrI,UAAU,uCAAuCoI,IAAAC,cAAA,YAAOxI,EAAMgJ,gBAAgB+oB,MAAM,KAAK,IAAUxpB,IAAAC,cAAA,WAAOxI,EAAMgJ,gBAAgB+oB,MAAM,KAAK,IAEhJ/xB,EAAMuyB,YACLhqB,IAAAC,cAAA,QAAMrI,UAAU,sCAAuCH,EAAMuyB,aAGlEvyB,EAAMgxB,cACJzoB,IAAAC,cAAA,OAAKrI,UAAU,+BACXH,EAAMgxB,aAAaC,MACjB1oB,IAAAC,cAAC0oB,IAAG,CACD/wB,UAAU,mCACV8wB,MAAOjxB,EAAMgxB,aAAaC,MAC1BvoB,IAAK1I,EAAMgxB,aAAaJ,OAAS,4BAGpCroB,IAAAC,cAAA,OAAMrI,UAAU,mCACVwI,IAAKwoB,YAAcnxB,EAAMgxB,aAAanoB,KAAKC,IAAK9I,EAAMgxB,aAAanoB,KAAKuoB,YAAa,KACrF1oB,IAAM1I,EAAMgxB,cAAgBhxB,EAAMgxB,aAAaJ,OAAS,kBACxDnoB,QAAQ,UAKvBF,IAAAC,cAAA,OAAKrI,UAAU,kCCpBT0yB,G,UAXe,SAAC7yB,GAC3B,OACIuI,IAAAC,cAAA,OAAKrI,UAAU,4BACXoI,IAAAC,cAAA,MAAIrI,UAAU,mCAAmCH,EAAMgJ,iBACvDT,IAAAC,cAAA,OAAKrI,UAAU,8CAA8CwI,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAI,KACzGH,IAAAC,cAAA,OAAKrI,UAAU,sDAAsDwI,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAI,KACjHH,IAAAC,cAAA,OAAKrI,UAAU,iCAAiCwI,IAAK3I,EAAMgxB,aAAanoB,KAAKC,IAAKJ,IAAI,QCoEnFoqB,G,UAxEW,SAAC9yB,GAExB,IAAAa,EAAoCC,oBAAkB,GAA/CiyB,EAAUlyB,EAAA,GAAEmyB,EAAanyB,EAAA,GAChCwE,EAA8BC,cAAtBC,EAASF,EAATE,UAAWE,EAAMJ,EAANI,OAYnB,OAVAnD,qBAAU,WACPiD,GAAaE,EAAO8W,OAAOpR,MAAQ,KAAO6nB,GAAc,KACxD,IAECztB,GACDE,EAAOa,iBAAiB,UAAU,WAC/Bf,GAAaE,EAAO8W,OAAOpR,MAAQ,IAAM6nB,GAAc,GAAQA,GAAc,MAKhFzqB,IAAAC,cAAA,OAAKrI,UAAU,wBACZoI,IAAAC,cAAA,OAAKrI,UAAU,8BACXH,EAAMuyB,YACJhqB,IAAAC,cAAA,QAAMrI,UAAU,0CACZH,EAAMuyB,YAGZvyB,EAAMgJ,iBACJT,IAAAC,cAAA,MAAIrI,UAAU,qCACVH,EAAMgJ,iBAGZhJ,EAAMwwB,aACJjoB,IAAAC,cAAA,KAAGrI,UAAU,oCACTswB,oCAA0BzwB,EAAMwwB,YAAYntB,QAInD0vB,EAWAxqB,IAAAC,cAAAD,IAAA+jB,SAAA,KACG/jB,IAAAC,cAAA,OACGrI,UAAU,2BACVwI,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IACnCJ,IACI1I,EAAM4I,gBAAgB,IACpB5I,EAAM4I,gBAAgB,GAAGgoB,OAC5B,kBAEHnoB,QAAQ,SAEXF,IAAAC,cAAA,OACGrI,UAAU,8BACVwI,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IACnCJ,IACI1I,EAAM4I,gBAAgB,IACpB5I,EAAM4I,gBAAgB,GAAGgoB,OAC5B,kBAEHnoB,QAAQ,UA7BdF,IAAAC,cAAA,OACGrI,UAAU,2BACVwI,IAAK3I,EAAMgxB,aAAanoB,KAAKC,IAC7BJ,IACI1I,EAAMgxB,cAAgBhxB,EAAMgxB,aAAaJ,OAC1C,kBAEHnoB,QAAQ,Y,YC5BRwqB,G,UAfc,SAACjzB,GAE1B,OACIuI,IAAAC,cAAA,OAAKrI,UAAU,2BACXoI,IAAAC,cAAA,OAAKrI,UAAU,sCAAsCwI,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAI,KACjGH,IAAAC,cAAA,OAAKrI,UAAU,qCAAqCwI,IAAK3I,EAAM4I,gBAAgB,GAAGC,KAAKC,IAAKJ,IAAI,KAChGH,IAAAC,cAAA,MAAIrI,UAAU,kCAAkCH,EAAMgJ,iBACtDT,IAAAC,cAAA,QAAMrI,UAAU,iCAAiCH,EAAMuyB,YACvDhqB,IAAAC,cAAA,OAAKrI,UAAU,kCACXoI,IAAAC,cAAC0qB,IAAa,CAACC,UAAWnzB,EAAMozB,uBCLjCC,EAPO,WACnB,OACG9qB,IAAAC,cAAA,OAAKrI,UAAU,sB,wBCJN,SAASmzB,EAASC,GAC7B,IAAMC,EAAMD,EAASxB,MAAM,KAC3B,OAAIyB,EAAI3vB,OAAS,EACN,OAAS2vB,EAAIA,EAAI3vB,OAAS,GAAK,IAAM2vB,EAAIA,EAAI3vB,OAAS,GAEtD,OAAS2vB,EAAIA,EAAI3vB,OAAS,G,cC6L1B4vB,EApLa,SAACzzB,GAE1B,IAqBIoJ,EArBJ/D,EAAwCC,cAAhCC,EAASF,EAATE,UAAWE,EAAMJ,EAANI,OAAQD,EAAQH,EAARG,SAC3B3E,EAAkCC,oBAAU,GAArC4yB,EAAS7yB,EAAA,GAAE8yB,EAAY9yB,EAAA,GAC9BI,EAAgCH,oBAAS,GAAlC8yB,EAAQ3yB,EAAA,GAAE4yB,EAAW5yB,EAAA,GAC5BG,EAA4CN,oBAAS,GAA9CwwB,EAAclwB,EAAA,GAAEmwB,EAAiBnwB,EAAA,GACxCowB,EAAuCroB,cAA/BI,EAAcioB,EAAdjoB,eAAgBF,EAAUmoB,EAAVnoB,WAChByqB,EAAkBC,cAAlBD,cAEFhC,EAAkB9xB,EAAMuwB,UAAUwB,MAAM,KACxCC,EACHF,GAAmBA,EAAgBjuB,OAAS,EAAIiuB,EAAgB,GAAK,GAElEkC,GAAWh0B,EAAM0wB,gBAAkB,IAAIziB,KAAK,SAAAgmB,GAAE,OAAIA,EAAGC,eAYrDC,EAAa,SAAClN,GAEjB,IADA,IAAMmN,EAAc,GAAGnN,EACfnY,EAAI,EAAGA,EAAIklB,EAAQnwB,OAAQiL,IAAM,CAEtC,QAAoBhE,IADAkpB,EAAQllB,GAAGulB,MAAM,SAAAJ,GAAE,OAAIA,IAAOG,KAG/C,YADAT,EAAa7kB,GAInB6kB,GAAc,IAGXlqB,EAAiB,WACpBhE,EAAOiE,aAAcN,GACrBA,EAAchD,YAAW,WAClBwtB,IACDnuB,EAAO6uB,OAAO,EAAG7uB,EAAOqE,aAAgBP,EAAiB,IAAM,MAC/DsqB,GAAY,IAIf,IAFA,IAAMU,EAAO/uB,EAASgC,iBAAiB,uCACjCgtB,EAAQhvB,EAASgC,iBAAiB,IAAIxH,EAAMy0B,cACzC3lB,EAAI,EAAGA,EAAI0lB,EAAM3wB,OAAQiL,IAAM,CACrC,IAEiC4lB,EAF3Bhf,EAAS8e,EAAM1lB,GAAGjF,wBAAwB6L,OAC1C3L,EAAMyqB,EAAM1lB,GAAGjF,wBAAwBE,IAC7C,GAAI2L,EAAS,KAAO3L,GAAO,IAGxB,OAFAoqB,EAAWrlB,QACC,QAAZ4lB,EAAAH,EAAKnG,KAAKtf,UAAE,IAAA4lB,GAAZA,EAAcC,gBAAe,IAInChB,GAAc,KACd,KAGNrxB,qBAAU,WAEP,OADAiD,GAAaC,EAASc,iBAAiB,SAAUmD,GAC1C,WACJlE,GAAaC,EAASyE,oBAAoB,SAAUR,MAEvD,CAACmqB,IAEJ9uB,mBAAQ,WAAM,IAAAqtB,EACM,QAAjBA,EAAAnyB,EAAMoyB,mBAAW,IAAAD,GAAjBA,EAAmBE,IAAI9oB,KACvB,CAACA,IAEJ,IAAM+oB,EAAc,WACjBf,GAAmBD,IAGhBsD,GAAiB50B,EAAM60B,cAAgB70B,EAAM2yB,eACnD,OACGpqB,IAAAC,cAAA,OAAKrI,UAAU,0BAA0BF,IAAKoJ,GAC3Cd,IAAAC,cAAA,OAAKrI,UAAU,uCACZoI,IAAAC,cAAC6nB,IAAU,CAACC,QAAStwB,EAAMuwB,aAE9BhoB,IAAAC,cAAA,OAAKrI,UAAU,sCACZoI,IAAAC,cAAA,OAAKrI,UAAU,6CACdH,EAAMgxB,aAAaC,MACjB1oB,IAAAC,cAAC0oB,IAAG,CACD/wB,UAAU,iDACV8wB,MAAOjxB,EAAMgxB,aAAaC,MAC1BvoB,IAAK1I,EAAMgxB,aAAaJ,OAAS,4BAGpCroB,IAAAC,cAAA,OAAKrI,UAAU,iDACZwI,IAAKwoB,YAAcnxB,EAAMgxB,aAAanoB,KAAKC,IAAK9I,EAAMgxB,aAAanoB,KAAKuoB,YAAapxB,EAAMgxB,aAAanoB,KAAK4pB,QAAQ5qB,MAAMsD,OAC3HzC,IAAM1I,EAAMgxB,aAAaJ,OAAS,iCAClCnoB,QAAQ,UAIdF,IAAAC,cAAA,OAAKrI,UAAU,4CAETH,EAAM60B,aAAe70B,EAAM2yB,eAC3BpqB,IAAAC,cAAA,OAAKrI,UAAU,qDACTH,EAAM60B,aACNtsB,IAAAC,cAACgU,IAAM,CACJvT,GAAIqqB,EAAS7tB,EAAO0W,SAASoX,UAC7BxmB,KAAK,OACL6M,KAAM5Z,EAAMozB,iBACZ0B,UAAW,0EACXlpB,KAAM5L,EAAM60B,YACZE,YAAY,EACZC,QAAO,MAASjI,YAAkB/sB,EAAMgJ,iBAAmB+jB,YAAkB/sB,EAAM60B,aAAY,QAGnG70B,EAAM2yB,gBACLpqB,IAAAC,cAAA,UACGrI,UAAS,+EAAiF4sB,YACpFiF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,YAEJqO,QAASib,KAKlB,KAEH/pB,IAAAC,cAAA,QAAMrI,UAAU,0DACZH,EAAMuyB,YAEVhqB,IAAAC,cAAA,KAAGrI,UAAU,qDACTH,EAAMwwB,YAAYntB,KAAKitB,SAAWG,oCAA0BzwB,EAAMwwB,YAAYntB,OAElFkF,IAAAC,cAAA,MAAIrI,UAAU,kDACVH,EAAMgJ,mBAIdO,GACChB,IAAAC,cAAA,OAAKrI,UAAS,gCAAiCy0B,EAAgB,wCAA0C,KACtGrsB,IAAAC,cAAA,QAAMrI,UAAU,uCAAwCH,EAAMgJ,iBAC9DT,IAAAC,cAAA,OAAKrI,UAAU,yCACVH,EAAM2yB,gBACLpqB,IAAAC,cAAA,UACGrI,UAAS,mEAAqE4sB,YACxEiF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,YAEJqO,QAASib,MAMtBtyB,EAAM0wB,gBACLnoB,IAAAC,cAAA,MAAIrI,UAAS,iCAAkCoJ,EAAiB,cAAgB,MAAuB,GAAlBuqB,EAAsB,mBAAmB,KAC1H9zB,EAAM0wB,eAAeziB,KAAK,SAACjJ,EAAOiiB,GAAK,OACrC1e,IAAAC,cAAA,MACG4F,IAAG,aAAe6Y,EAClB9mB,UAAS,2BAA6B4sB,YAAkB/nB,EAAM2rB,WAAU,uCAAsC1J,IAAUyM,EAAY,cAAgB,IACpJrc,QAAU,kBAlJR,SAAC4P,GAClB,GAAK1hB,GAAayuB,EAAQnwB,OAAS,CAChC,IAAMwQ,EAAU7O,EAASa,eAAerG,EAAMy0B,aAAaT,EAAQ/M,GAAO,IAC1E4M,GAAY,GACZxf,WAASsgB,gBAAe,IA8IIM,CAAYhO,KAC7BjiB,EAAM2rB,eAIjBpoB,IAAAC,cAACqT,IAAU,CACRC,KAAMwV,EACNvV,QAASuW,EACTtW,SAAQ,MAAQ+Q,YACViF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,gB,YC9BDksB,G,UAjJc,SAACl1B,GAE3B,IAqBIoJ,EArBJ/D,EAAwCC,cAAhCC,EAASF,EAATE,UAAWE,EAAMJ,EAANI,OAAQD,EAAQH,EAARG,SAC3B3E,EAAkCC,oBAAU,GAArC4yB,EAAS7yB,EAAA,GAAE8yB,EAAY9yB,EAAA,GAC9BI,EAAgCH,oBAAS,GAAlC8yB,EAAQ3yB,EAAA,GAAE4yB,EAAW5yB,EAAA,GAC5BG,EAA4CN,oBAAS,GAA9CwwB,EAAclwB,EAAA,GAAEmwB,EAAiBnwB,EAAA,GACxCowB,EAAuCroB,cAA/BI,EAAcioB,EAAdjoB,eAAgBF,EAAUmoB,EAAVnoB,WAChByqB,EAAkBC,cAAlBD,cAEFhC,EAAkB9xB,EAAMuwB,UAAUwB,MAAM,KACxCC,EACHF,GAAmBA,EAAgBjuB,OAAS,EAAIiuB,EAAgB,GAAK,GAElEkC,GAAWh0B,EAAM0wB,gBAAkB,IAAIziB,KAAK,SAAAgmB,GAAE,OAAIA,EAAGC,eAYrDC,EAAa,SAAClN,GAEjB,IADA,IAAMmN,EAAc,GAAGnN,EACfnY,EAAI,EAAGA,EAAIklB,EAAQnwB,OAAQiL,IAAM,CAEtC,QAAoBhE,IADAkpB,EAAQllB,GAAGulB,MAAM,SAAAJ,GAAE,OAAIA,IAAOG,KAG/C,YADAT,EAAa7kB,GAInB6kB,GAAc,IAGXlqB,EAAiB,WACpBhE,EAAOiE,aAAcN,GACrBA,EAAchD,YAAW,WAClBwtB,IACDnuB,EAAO6uB,OAAO,EAAG7uB,EAAOqE,aAAgBP,EAAiB,IAAM,MAC/DsqB,GAAY,IAIf,IAFA,IAAMU,EAAO/uB,EAASgC,iBAAiB,uCACjCgtB,EAAQhvB,EAASgC,iBAAiB,IAAIxH,EAAMy0B,cACzC3lB,EAAI,EAAGA,EAAI0lB,EAAM3wB,OAAQiL,IAAM,CACrC,IAEiC4lB,EAF3Bhf,EAAS8e,EAAM1lB,GAAGjF,wBAAwB6L,OAC1C3L,EAAMyqB,EAAM1lB,GAAGjF,wBAAwBE,IAC7C,GAAI2L,EAAS,KAAO3L,GAAO,IAGxB,OAFAoqB,EAAWrlB,QACC,QAAZ4lB,EAAAH,EAAKnG,KAAKtf,UAAE,IAAA4lB,GAAZA,EAAcC,gBAAe,IAInChB,GAAc,KACd,KAGNrxB,qBAAU,WAEP,OADAiD,GAAaC,EAASc,iBAAiB,SAAUmD,GAC1C,WACJlE,GAAaC,EAASyE,oBAAoB,SAAUR,MAEvD,CAACmqB,IAEJ9uB,mBAAQ,WAAM,IAAAqtB,EACM,QAAjBA,EAAAnyB,EAAMoyB,mBAAW,IAAAD,GAAjBA,EAAmBE,IAAI9oB,KACvB,CAACA,IAEJ,IAIMqrB,GAAiB50B,EAAM60B,cAAgB70B,EAAM2yB,eACnD,OACGpqB,IAAAC,cAAA,OAAKrI,UAAU,2BAA2BF,IAAKoJ,GAC5Cd,IAAAC,cAAA,OAAKrI,UAAU,wCACZoI,IAAAC,cAAC6nB,IAAU,CAACC,QAAStwB,EAAMuwB,aAE9BhoB,IAAAC,cAAA,OAAKrI,UAAU,uCACZoI,IAAAC,cAAA,OAAKrI,UAAU,8CACdH,EAAMgxB,aAAaC,MACjB1oB,IAAAC,cAAC0oB,IAAG,CACDD,MAAOjxB,EAAMgxB,aAAaC,MAC1BvoB,IAAK1I,EAAMgxB,aAAaJ,OAAS,4BAGpCroB,IAAAC,cAAA,OACGG,IAAKwoB,YAAcnxB,EAAMgxB,aAAanoB,KAAKC,IAAK9I,EAAMgxB,aAAanoB,KAAKuoB,YAAapxB,EAAMgxB,aAAanoB,KAAK4pB,QAAQ5qB,MAAMsD,OAC3HzC,IAAM1I,EAAMgxB,aAAaJ,OAAS,iCAClCnoB,QAAQ,UAIdF,IAAAC,cAAA,OAAKrI,UAAU,6CACZoI,IAAAC,cAAA,MAAIrI,UAAU,oDACVH,EAAMgJ,iBAEVT,IAAAC,cAAA,KAAGrI,UAAU,uDACTH,EAAMwwB,YAAYntB,KAAKitB,SAAWG,oCAA0BzwB,EAAMwwB,YAAYntB,QAGrFkF,IAAAC,cAAA,OAAKrI,UAAU,iDACZoI,IAAAC,cAACsiB,IAAQ,CAAC/d,KAAK,eAElBxE,IAAAC,cAAA,OACGG,IAAI,sIACJD,IAAI,cACJ2O,QAAU,kBAAM5R,EAAO6uB,OAAO,EAAG,SAGrC/qB,GACChB,IAAAC,cAAA,OAAKrI,UAAS,iCAAkCy0B,EAAgB,yCAA2C,KACxGrsB,IAAAC,cAAA,QAAMrI,UAAU,wCAAyCH,EAAMgJ,iBAC/DT,IAAAC,cAAA,OAAKrI,UAAU,0CACVH,EAAM2yB,gBACLpqB,IAAAC,cAAA,UACGrI,UAAS,oEAAsE4sB,YACzEiF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,YAEJqO,QAtDD,WACjBka,GAAmBD,QA2DdtxB,EAAM0wB,gBACLnoB,IAAAC,cAAA,MAAIrI,UAAS,kCAAmCoJ,EAAiB,cAAgB,MAAuB,GAAlBuqB,EAAsB,mBAAmB,KAC3H9zB,EAAM0wB,eAAeziB,KAAK,SAACjJ,EAAOiiB,GAAK,OACrC1e,IAAAC,cAAA,MACG4F,IAAG,aAAe6Y,EAClB9mB,UAAS,2BAA6B4sB,YAAkB/nB,EAAM2rB,WAAU,wCAAuC1J,IAAUyM,EAAY,cAAgB,IACrJrc,QAAU,kBAzHR,SAAC4P,GAClB,GAAK1hB,GAAayuB,EAAQnwB,OAAS,CAChC,IAAMwQ,EAAU7O,EAASa,eAAerG,EAAMy0B,aAAaT,EAAQ/M,GAAO,IAC1E4M,GAAY,GACZxf,WAASsgB,gBAAe,IAqHIM,CAAYhO,KAC7BjiB,EAAM2rB,kBC7HXwE,G,UAjBS,SAACn1B,GACtB,OACGuI,IAAAC,cAAA,OAAKrI,UAAU,sBACZoI,IAAAC,cAAC6nB,IAAU,CAACC,QAAStwB,EAAMuwB,YAE3BhoB,IAAAC,cAAA,OAAKrI,UAAS,4BACXoI,IAAAC,cAAA,MAAIrI,UAAU,kDACVH,EAAMgJ,iBAEVT,IAAAC,cAAA,QAAMrI,UAAU,qCACZH,EAAMwwB,YAAYntB,KAAKitB,SAAWG,oCAA0BzwB,EAAMwwB,YAAYntB,W,YC2M/E+xB,G,UA7MO,SAACp1B,GAEpB,IAqBIoJ,EArBJ/D,EAAwCC,cAAhCC,EAASF,EAATE,UAAWE,EAAMJ,EAANI,OAAQD,EAAQH,EAARG,SAC3B3E,EAAkCC,oBAAU,GAArC4yB,EAAS7yB,EAAA,GAAE8yB,EAAY9yB,EAAA,GAC9BI,EAAgCH,oBAAS,GAAlC8yB,EAAQ3yB,EAAA,GAAE4yB,EAAW5yB,EAAA,GAC5BG,EAA4CN,oBAAS,GAA9CwwB,EAAclwB,EAAA,GAAEmwB,EAAiBnwB,EAAA,GACxCowB,EAAuCroB,cAA/BI,EAAcioB,EAAdjoB,eAAgBF,EAAUmoB,EAAVnoB,WAChByqB,EAAkBC,cAAlBD,cAEFhC,EAAkB9xB,EAAMuwB,UAAUwB,MAAM,KACxCC,EACHF,GAAmBA,EAAgBjuB,OAAS,EAAIiuB,EAAgB,GAAK,GAElEkC,GAAWh0B,EAAM0wB,gBAAkB,IAAIziB,KAAK,SAAAgmB,GAAE,OAAIA,EAAGC,eAYrDC,EAAa,SAAClN,GAEjB,IADA,IAAMmN,EAAc,GAAGnN,EACfnY,EAAI,EAAGA,EAAIklB,EAAQnwB,OAAQiL,IAAM,CAEtC,QAAoBhE,IADAkpB,EAAQllB,GAAGulB,MAAM,SAAAJ,GAAE,OAAIA,IAAOG,KAG/C,YADAT,EAAa7kB,GAInB6kB,GAAc,IAGXlqB,EAAiB,WACpBhE,EAAOiE,aAAcN,GACrBA,EAAchD,YAAW,WAClBwtB,IACDnuB,EAAO6uB,OAAO,EAAG7uB,EAAOqE,aAAgBP,EAAiB,IAAM,MAC/DsqB,GAAY,IAIf,IAFA,IAAMU,EAAO/uB,EAASgC,iBAAiB,gCACjCgtB,EAAQhvB,EAASgC,iBAAiB,IAAIxH,EAAMy0B,cACzC3lB,EAAI,EAAGA,EAAI0lB,EAAM3wB,OAAQiL,IAAM,CACrC,IAEiC4lB,EAF3Bhf,EAAS8e,EAAM1lB,GAAGjF,wBAAwB6L,OAC1C3L,EAAMyqB,EAAM1lB,GAAGjF,wBAAwBE,IAC7C,GAAI2L,EAAS,KAAO3L,GAAO,IAIxB,OAFAoqB,EAAWrlB,QACC,QAAZ4lB,EAAAH,EAAKnG,KAAKtf,UAAE,IAAA4lB,GAAZA,EAAcC,gBAAe,IAInChB,GAAc,KACd,KAQNrxB,qBALqB,WAClB,IAAM2vB,EAAUzsB,EAASoC,KAAKsqB,cAAc,0CAC5CD,WAAS5qB,UAAUC,IAAK,kBAGF,IAEzBhF,qBAAU,WAEP,OADAiD,GAAaC,EAASc,iBAAiB,SAAUmD,GAC1C,WACJlE,GAAaC,EAASyE,oBAAoB,SAAUR,MAEvD,CAACmqB,IAEJ9uB,mBAAQ,WAAM,IAAAqtB,EACM,QAAjBA,EAAAnyB,EAAMoyB,mBAAW,IAAAD,GAAjBA,EAAmBE,IAAI9oB,KACvB,CAACA,IAEJ,IAAM+oB,EAAc,WACjBf,GAAmBD,IAGhBsD,GAAiB50B,EAAM60B,cAAgB70B,EAAM2yB,eACnD,OACGpqB,IAAAC,cAAA,OAAKrI,UAAS,oBAAqBH,EAAMq1B,eAAiB,mCAAqC,IAAMp1B,IAAKoJ,GAEvGd,IAAAC,cAAC6nB,IAAU,CAACC,QAAYtwB,EAAMuwB,UAAY+E,aAAiBt1B,EAAMq1B,iBACjE9sB,IAAAC,cAAA,OAAKrI,UAAS,+BAAgCy0B,EAAgB,yCAA2C,KAAK50B,EAAMq1B,eAAiB,8CAAgD,KAClL9sB,IAAAC,cAAA,WAASrI,UAAS,wCAAyCH,EAAMq1B,eAAiB,uDAAyD,KACxI9sB,IAAAC,cAAA,QAAMrI,UAAS,oDAAqDH,EAAMq1B,eAAiB,mEAAqE,KAAQr1B,EAAMuyB,YAC9KhqB,IAAAC,cAAA,MAAIrI,UAAS,+CAAgDy0B,EAAgB,yDAA2D,KAAK50B,EAAMq1B,eAAiB,8DAAgE,KAAQr1B,EAAMgJ,iBAChPhJ,EAAMu1B,qBACLhtB,IAAAC,cAAA,QAAMrI,UAAU,8CAA+CqnB,YAAcxnB,EAAMwyB,UAAW,IAE/FxyB,EAAMwwB,aACLjoB,IAAAC,cAAA,WAASrI,UAAS,8CAA+CH,EAAMq1B,eAAiB,6DAA+D,KAAQr1B,EAAMwwB,YAAYntB,KAAKitB,SAAWG,oCAA0BzwB,EAAMwwB,YAAYntB,OAE7OrD,EAAMq1B,gBACN9sB,IAAAC,cAAA,OAAKrI,UAAW,wCACboI,IAAAC,cAACgtB,IAAU,CACRr1B,UAAW,mDACXs1B,aAAgBz1B,EAAM01B,0BACtB9pB,KAAQ5L,EAAM60B,YACdjb,KAAQ5Z,EAAMozB,iBACd4B,QAAO,MAAUjI,YAAkB/sB,EAAM60B,aACzCc,WAAa,KAIpB31B,EAAM2yB,gBACLpqB,IAAAC,cAAA,UACGrI,UAAS,kDAAoD4sB,YACvDiF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,YAEJqO,QAASib,GAET/pB,IAAAC,cAAA,KAAGrI,UAAU,eAAmBH,EAAM2yB,iBAI/CpqB,IAAAC,cAAA,OAAKrI,UAAS,sCAAuCy0B,EAAgB,8CAAgD,KAAK50B,EAAMq1B,eAAiB,kBAAoB,KAAKr1B,EAAMq1B,eAAiB,qDAAuD,KACpPr1B,EAAMgxB,aAAaC,MACjB1oB,IAAAC,cAAC0oB,IAAG,CAAE/wB,UAAU,0CACV8wB,MAASjxB,EAAMgxB,aAAaC,MAC5BvoB,IAAM1I,EAAMgxB,aAAaJ,OAAS,yBAGxCroB,IAAAC,cAAA,OAAMrI,UAAU,0CACbwI,IAAK3I,EAAMgxB,aAAanoB,KAAKC,IAC7BJ,IAAM1I,EAAMgxB,aAAaJ,OAAS,uBAClCnoB,QAAQ,UAIfzI,EAAM2yB,gBACLpqB,IAAAC,cAAA,UACGrI,UAAS,yCAA2C4sB,YAC9CiF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,YAEJqO,QAASib,GAET/pB,IAAAC,cAAA,KAAGrI,UAAU,eAAmBH,EAAM2yB,iBAI7CppB,GACChB,IAAAC,cAAA,OAAKrI,UAAS,yBAA0By0B,EAAgB,iCAAmC,KACxFrsB,IAAAC,cAAA,QAAMrI,UAAU,gCAAiCH,EAAMq1B,gBAAqBr1B,EAAMuyB,WAAU,KAAMvyB,EAAMgJ,iBACxGT,IAAAC,cAAA,OAAKrI,UAAU,kCACTH,EAAM60B,aACNtsB,IAAAC,cAACgtB,IAAU,CACRvsB,GAAIqqB,EAAS7tB,EAAO0W,SAASoX,UAC7BpzB,UAAW,6CACXs1B,aAAgBz1B,EAAM01B,0BACtB9pB,KAAQ5L,EAAM60B,YACdjb,KAAQ5Z,EAAMozB,iBACd4B,QAAO,MAAUjI,YAAkB/sB,EAAM60B,aACzCc,WAAa,IAGjB31B,EAAM2yB,gBACLpqB,IAAAC,cAAA,UACGrI,UAAS,4DAA8D4sB,YACjEiF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,YAEJqO,QAASib,MAMtBtyB,EAAM0wB,gBACLnoB,IAAAC,cAAA,MAAIrI,UAAS,0BAA2BH,EAAMq1B,eAAiB,yCAA2C,KAAK9rB,EAAiB,eAAcvJ,EAAMq1B,eAAiB,6BAA+B,IAAO,MAAuB,GAAlBvB,EAAsB,mBAAmB,KACrP9zB,EAAM0wB,eAAeziB,KAAK,SAACjJ,EAAOiiB,GAAK,OACrC1e,IAAAC,cAAA,MACG4F,IAAG,aAAe6Y,EAClB9mB,UAAS,2BAA6B4sB,YAAkB/nB,EAAM2rB,WAAU,gCAA+B1J,IAAUyM,EAAY,eAAc1zB,EAAMq1B,eAAiB,6BAA+B,IAAO,IACxMhe,QAAU,kBA3KR,SAAC4P,GAClB,GAAK1hB,GAAayuB,EAAQnwB,OAAS,CAChC,IAAMwQ,EAAU7O,EAASa,eAAerG,EAAMy0B,aAAaT,EAAQ/M,GAAO,IAC1E4M,GAAY,GACZxf,WAASsgB,gBAAe,IAuKIM,CAAYhO,KAC7BjiB,EAAM2rB,eAIjBpoB,IAAAC,cAACqT,IAAU,CACRC,KAAMwV,EACNvV,QAASuW,EACTtW,SAAQ,MAAQ+Q,YACViF,GACF,WAAWjF,YACT/sB,EAAMgJ,iBACR,iB,wBClID4sB,G,UA/EM,SAAC51B,GAErB,IACC61B,EAMG71B,EANH61B,SACA5O,EAKGjnB,EALHinB,MACA6O,EAIG91B,EAJH81B,cACAC,EAGG/1B,EAHH+1B,WACAC,EAEGh2B,EAFHg2B,YACAC,EACGj2B,EADHi2B,eAGDp1B,EAAiCC,oBAAS,GAAnC0qB,EAAQ3qB,EAAA,GAAEq1B,EAAYr1B,EAAA,GAE7ByB,qBAAU,WACT2kB,IAAU8O,GAAcG,GAAa,KACjC,CAACH,IAEJ,IAAMI,EAAY,SAAEC,EAAYlmB,EAAU4c,GAAW,OAClDvkB,IAAAC,cAAA,MAAKrI,UAAS,2BAA+B4sB,YAAkBqJ,EAAOC,oBAAuBjoB,IAAG,MAAS8B,GACtG3H,IAAAC,cAAA,KAAGrI,UAAS,2BAA+B4sB,YAAkBqJ,EAAOC,oBACjEjvB,OAAS0pB,YAAWhE,GACpBxQ,IAAKyU,YAAQjE,GACblT,KAAMkT,GAAM,IAAGsJ,EAAOC,mBAAoB,OAI7CC,EAAgBT,EAASU,yBAA2BV,EAASU,wBAAwB1yB,OAAS,EAEtG,OAEC0E,IAAAC,cAAA,OAAKrI,UAAU,gBAEb01B,EAASU,wBACRhuB,IAAAC,cAAA,UAAQrI,UAAS,sBAAwBqrB,EAAS,4BAA4B,IAAE,KAAKwK,GAAe/O,IAAQ8O,EAAuC,GAA5B,6BAA8B,uCAC7HhJ,YAAkB8I,EAASW,iBAClDnf,QAAU,WACTye,EAAc7O,GACdiP,GAAc1K,GACdyK,EAAezK,IAEhBkH,aAAYmD,EAASW,iBAEpBX,EAASW,gBACVjuB,IAAAC,cAAA,QAAMrI,UAAS,+CAAkD4sB,YAAkB8I,EAASW,iBAAgB,OAG7GjuB,IAAAC,cAAA,KAAGoR,KAAI,IAAMic,EAAS/I,KACrB3sB,UAAS,uBAA0B61B,GAAe/O,IAAQ8O,EAAwC,GAA7B,8BAA+B,yCAC5EhJ,YAAkB8I,EAASW,kBAClDX,EAASW,iBAIbjuB,IAAAC,cAAA,MAAIrI,UAAS,sBACSqrB,GAAYvE,IAAU8O,EAAY,4BAA4B,KAEnFxtB,IAAAC,cAAA,UAAI,iBACK8tB,GACEH,EAAUN,EAASU,wBAAwB,IAAK,EAAGV,EAASU,wBAAwB,GAAG3a,MAAQ,IAAIia,EAASU,wBAAwB,GAAGzJ,MAExIwJ,GAAiBT,EAASU,wBAAwB,GAAGA,yBACpDV,EAASU,wBAAwB,GAAGA,wBAAwBtoB,KAAI,SAACmoB,EAAQlmB,GACtE,OAAOkmB,EAAOK,UAAUN,EAAUC,EAAOlmB,EAAEkmB,EAAOxa,MAAI,IAAMia,EAASU,wBAAwB,GAAGzJ,KAAOsJ,EAAOtJ,MAAQ,Y,wBCGzH4J,EA5DE,SAAC12B,GAEf,IAAM22B,EAAiB,SAAErgB,EAAgBiJ,GACtC,GAAqB,oBAAX9Z,OAAwB,CAC/B,IAAM2oB,EAAO5oB,SAAS0sB,cAAc,SAAW,CAAEzrB,MAAO,CAAC8Y,aACzD,OAAQjJ,GACL,IAAK,KACEiJ,aAAQ,EAARA,EAAUqX,KAAM,MACjBxI,EAAK3nB,MAAM8Y,SAAcA,EAASqX,IAAI,GAAE,IACxCrX,EAAS8S,IAAI9S,EAASqX,IAAI,KAEhC,MACA,IAAK,KACErX,aAAQ,EAARA,EAAUqX,KAAM,KACjBxI,EAAK3nB,MAAM8Y,SAAcA,EAASqX,IAAI,GAAE,IACxCrX,EAAS8S,IAAI9S,EAASqX,IAAM,QAO3C,OACGruB,IAAAC,cAACquB,IAAcC,SAAQ,MACrB,SAAAC,GAAI,IAAAC,EAAA,OACHzuB,IAAAC,cAAA,OAAKrI,UAAU,eACZoI,IAAAC,cAAA,OAAKrI,UAAU,0BAA0BkX,QAAS,kBAAKrX,EAAMi3B,iBAAgB,MAC7E1uB,IAAAC,cAAA,OAAKrI,UAAU,0BACZoI,IAAAC,cAAA,OAAKrI,UAAU,oBACZoI,IAAAC,cAAA,KAAGrI,UAAU,sCACboI,IAAAC,cAAA,QACGrI,UAAU,sCACVkX,QAAS,kBAAMsf,EAAe,IAAKI,EAAKxX,YAC1C,aACDhX,IAAAC,cAAA,OAAKrI,UAAU,wCAAsD,QAAhB62B,EAAGD,EAAKxX,gBAAQ,IAAAyX,OAAA,EAAbA,EAAeJ,IAAI,KAC3EruB,IAAAC,cAAA,QACGrI,UAAU,sCACVkX,QAAS,kBAAMsf,EAAe,IAAKI,EAAKxX,YAC1C,YACDhX,IAAAC,cAAA,KAAGrI,UAAU,uCAEhBoI,IAAAC,cAAA,OAAKrI,UAAU,uBACZoI,IAAAC,cAAA,UACGrI,UAAU,6BACVkX,QAAS,kBAAMsf,EAAe,IAAKI,EAAKxX,WACxCmT,aAAW,6BACb,aACDnqB,IAAAC,cAAA,UACGrI,UAAU,6BACVkX,QAAS,kBAAMsf,EAAe,IAAKI,EAAKxX,WACxCmT,aAAW,4BACb,mBCgGJwE,G,UApJM,SAACl3B,GACnB,IAAM+2B,EAAO/2B,EAAM+2B,KAEnBI,EAGIJ,EAAKK,4BAA4BlM,MAAM,GAFxCmM,EAAUF,EAAVE,WACAC,EAAYH,EAAZG,aAEGC,EAAmBR,EAAKS,oBAAoBtM,MAAM,GAAGmM,WAEnDI,EAA8Cz3B,EAA9Cy3B,aAAcC,EAAgC13B,EAAhC03B,iBAAkBC,EAAc33B,EAAd23B,UAChCnyB,EAAaF,cAAbE,SAER3E,EAAoCC,mBAAS,GAAtCi1B,EAAUl1B,EAAA,GAAEi1B,EAAaj1B,EAAA,GAChCI,EAAsCH,oBAAS,GAAxCk1B,EAAW/0B,EAAA,GAAEg1B,EAAch1B,EAAA,GAClCG,EAAwCN,oBAAS,GAA1C82B,EAAYx2B,EAAA,GAAE61B,EAAe71B,EAAA,GAOpC,OALAkB,qBAAU,WACP,IAAMu1B,EAAOryB,EAAS0sB,cAAc,oBACjC2F,IAAMA,EAAKtW,UAAY,KAC1B,EAAkB,IAAjBkW,IAGDlvB,IAAAC,cAAA,OACGrI,UAAS,oBACTs3B,GAAgBC,EAAmB,GAAK,0BAGvCA,EACDnvB,IAAAC,cAACsiB,IAAQ,CAAC/d,KAAK,YAEfxE,IAAAC,cAACD,IAAM+jB,SAAQ,KACZ/jB,IAAAC,cAAA,OAAKrI,UAAU,8BACXk3B,GACDA,EAAWppB,KAAI,SAAC6pB,EAAKhpB,GAAC,OACnBvG,IAAAC,cAACotB,EAAY,CACVxnB,IAAG,MAAQU,EACXmY,MAAOnY,EACP+mB,SAAUiC,EACV/B,WAAYA,EACZD,cAAeA,EACfE,YAAaA,EACbC,eAAgBA,QAKzB1tB,IAAAC,cAAA,OAAKrI,UAAU,8BACZoI,IAAAC,cAAA,UACCmvB,GACEA,EAAU1pB,KAAI,SAACmgB,EAAMtf,GAAC,OACnBvG,IAAAC,cAAA,MAAI4F,IAAG,OAASU,GAChBvG,IAAAC,cAAA,KACGoR,KAAMwU,EAAK2J,UAAY3J,EAAK2J,UAAY,IAAI3J,EAAKtB,KACjD1lB,OAASgnB,EAAK2J,UAAY,SAAW,QACrCzb,IAAM8R,EAAK2J,UAAY,sBAAwB,UAE/CxvB,IAAAC,cAAA,OACGC,QAAQ,OACRE,IAAKylB,EAAK4J,iBAAmB5J,EAAK4J,gBAAgB,GAAGnvB,KAAKC,IAC1DJ,IAAK0lB,EAAK4J,gBAAgB,GAAGC,mBAKzC1vB,IAAAC,cAAA,UACGD,IAAAC,cAAA,KACGrI,UAAU,kCACVkX,QAAS,kBAAM4f,GAAiBW,OAGtCrvB,IAAAC,cAAA,UACGD,IAAAC,cAAA,KACGrI,UAAS,iBAAmBH,EAAMk4B,OAAS,4CAA8C,6CACzF7gB,QAASrX,EAAMm4B,iBAMxB5vB,IAAAC,cAAA,OAAKrI,UAAS,cAAey3B,EAAe,OAAS,KAClDrvB,IAAAC,cAACkuB,EAAQ,CAACO,gBAAiBA,KAG9B1uB,IAAAC,cAAA,OACGrI,UAAS,2BACR61B,EAAiD,GAAnC,mCAGfztB,IAAAC,cAAA,MAAIrI,UAAU,+BACbm3B,GACEA,EAAarpB,KAAI,SAAC2N,EAAM9M,GAAC,OACtBvG,IAAAC,cAAA,MACA4F,IAAG,MAAQU,EACX3O,UAAS,sBAAwB4sB,YAC9BnR,EAAK4a,kBAGRjuB,IAAAC,cAAA,KACGrI,UAAS,sBAAwB4sB,YAC9BnR,EAAK4a,iBAER5c,KAAMgC,EAAKmc,WAAa,IAAInc,EAAKkR,KACjC1lB,OAASwU,EAAKmc,UAAY,SAAW,QACrCzb,IAAKV,EAAKmc,UAAY,sBAAwB,UAE7C,IACAnc,EAAK4a,gBAAiB,UAMhCjuB,IAAAC,cAAA,OAAKrI,UAAU,iCACfoI,IAAAC,cAAA,SAAG,8BACHD,IAAAC,cAAA,UACI+uB,EAAiBA,EAAiB1zB,OAAS,GAAG2yB,gBAAgB4B,SAAS,aACrEb,EAAiBA,EAAiB1zB,OAAS,GAAG0yB,yBAC9CgB,EAAiBA,EAAiB1zB,OAAS,GAAG0yB,wBAAwBtoB,KAAI,SAACmgB,EAAMtf,GAAC,OAClFvG,IAAAC,cAAA,MAAI4F,IAAG,OAASU,GACbvG,IAAAC,cAAA,KACGrI,UACAiuB,EAAKiI,mBAAkB,OAChBtJ,YAAkBqB,EAAKvB,QAC9BjT,KAAMwU,EAAKxS,KACXxU,OAAO,SACPkV,IAAI,sBACJoW,aAAYtE,EAAKvB,oBClE7BwL,EAhEC,SAACr4B,GACd,IAAM+2B,EAAO/L,yBAAe,cA2C5B,OACGziB,IAAAC,cAAC0uB,EAAY,CACVO,aAAcz3B,EAAMy3B,aACpBC,iBAAkB13B,EAAM03B,iBACxBC,UAAW33B,EAAM23B,UACjBO,OAAQl4B,EAAMk4B,OACdC,YAAan4B,EAAMm4B,YACnBpB,KAAMA,KCaAuB,EAhEY,SAACt4B,GACzB,IAAM+2B,EAAO/L,yBAAe,cA2C5B,OACGziB,IAAAC,cAAC0uB,EAAY,CACVO,aAAcz3B,EAAMy3B,aACpBC,iBAAkB13B,EAAM03B,iBACxBC,UAAW33B,EAAM23B,UACjBO,OAAQl4B,EAAMk4B,OACdC,YAAan4B,EAAMm4B,YACnBpB,KAAMA,KCaAwB,EAhEY,SAACv4B,GACzB,IAAM+2B,EAAO/L,yBAAe,cA2C5B,OACGziB,IAAAC,cAAC0uB,EAAY,CACVO,aAAcz3B,EAAMy3B,aACpBC,iBAAkB13B,EAAM03B,iBACxBC,UAAW33B,EAAM23B,UACjBO,OAAQl4B,EAAMk4B,OACdC,YAAan4B,EAAMm4B,YACnBpB,KAAMA,KCaAyB,EAhEY,SAACx4B,GACzB,IAAM+2B,EAAO/L,yBAAe,aA2C5B,OACGziB,IAAAC,cAAC0uB,EAAY,CACVO,aAAcz3B,EAAMy3B,aACpBC,iBAAkB13B,EAAM03B,iBACxBC,UAAW33B,EAAM23B,UACjBO,OAAQl4B,EAAMk4B,OACdC,YAAan4B,EAAMm4B,YACnBpB,KAAMA,KCaA0B,EAhEY,SAACz4B,GACzB,IAAM+2B,EAAO/L,yBAAe,cA2C5B,OACGziB,IAAAC,cAAC0uB,EAAY,CACVO,aAAcz3B,EAAMy3B,aACpBC,iBAAkB13B,EAAM03B,iBACxBC,UAAW33B,EAAM23B,UACjBO,OAAQl4B,EAAMk4B,OACdC,YAAan4B,EAAMm4B,YACnBpB,KAAMA,KCuEA2B,G,UA3GH,SAAHh2B,GAAsG,IAA/F+0B,EAAY/0B,EAAZ+0B,aAAcC,EAAgBh1B,EAAhBg1B,iBAAkBQ,EAAMx1B,EAANw1B,OAAQC,EAAWz1B,EAAXy1B,YAAaQ,EAAQj2B,EAARi2B,SAAUC,EAAWl2B,EAAXk2B,YACxE7B,EAAO/L,yBAAe,cAoB5B1oB,qBAAU,WACT,IAAMu2B,EAAUrzB,SAAS0sB,cAAc,QACnC0G,GACCC,IAASA,EAAQpyB,MAAMqyB,YAAc,SAExC,IAEH,IA6CQC,EAAoBhC,EAAKK,4BAA4BlM,MAAM,GAA3D6N,gBAER,OACCxwB,IAAAC,cAAA,OAAKrI,UAAU,SAEZy4B,EAsBErwB,IAAAC,cAAAD,IAAA+jB,SAAA,MArBF/jB,IAAAC,cAAA,WAASrI,UAAU,cAClBoI,IAAAC,cAAA,MAAIrI,UAAU,mCACX44B,GAAmBA,EAAgB9qB,KAAI,SAACmgB,EAAMtf,GAAC,OAChDvG,IAAAC,cAAA,MAAI4F,IAAG,OAASU,GACfvG,IAAAC,cAAA,KAAIrI,UAAS,eAAmB4sB,YAAkBqB,EAAKoI,iBACtD5c,KAAOwU,EAAK2J,UAAY3J,EAAK2J,UAAU3J,EAAKtB,KAC5C1lB,OAASgnB,EAAK2J,UAAY,SAAW,QACrCzb,IAAM8R,EAAK2J,UAAY,sBAAwB,UAE/CxvB,IAAAC,cAAA,OACCrI,UAAS,eAAmB4sB,YAAkBqB,EAAKoI,iBACnD7tB,IAAKylB,EAAK4J,iBAAmB5J,EAAK4J,gBAAgB,GAAGnvB,KAAKC,IAC1DJ,IAAK0lB,EAAK4J,gBAAgB,GAAGC,YAC7BxvB,QAAQ,UAGVF,IAAAC,cAAA,QAAMrI,UAAU,sBAAqB,IAAEiuB,EAAKoI,gBAAgB,WAnEjD,SAACqB,GACnB,OAAQA,GACP,IAAK,eACJ,OAAOtvB,IAAAC,cAAC8vB,EAAkB,CACzBb,aAAeA,EACfC,iBAAmBA,EACnBC,UAAaoB,EACbb,OAAQA,EACRC,YAAaA,IAEf,IAAK,eACJ,OAAO5vB,IAAAC,cAAC+vB,EAAkB,CACzBd,aAAeA,EACfC,iBAAmBA,EACnBC,UAAaoB,EACbb,OAAQA,EACRC,YAAaA,IAEf,IAAK,eACJ,OAAO5vB,IAAAC,cAACgwB,EAAkB,CACzBf,aAAeA,EACfC,iBAAmBA,EACnBC,UAAaoB,EACbb,OAAQA,EACRC,YAAaA,IAEf,IAAK,cACJ,OAAO5vB,IAAAC,cAACiwB,EAAkB,CACzBhB,aAAeA,EACfC,iBAAmBA,EACnBC,UAAaoB,EACbb,OAAQA,EACRC,YAAaA,IAEf,QACC,OAAO5vB,IAAAC,cAAC6vB,EAAO,CACdZ,aAAeA,EACfC,iBAAmBA,EACnBC,UAAaoB,EACbb,OAAQA,EACRC,YAAaA,KAkCba,CAAWL,MCDDM,G,oBAzGC,SAACj5B,GACd,IAAQk5B,EAA4Cl5B,EAA5Ck5B,MAAKC,EAAuCn5B,EAArCo5B,eAAO,IAAAD,GAAQA,EAAAE,EAAsBr5B,EAApBs5B,eAAO,IAAAD,GAAQA,EAkF/C,OACG9wB,IAAAC,cAAA,OAAKrI,UAAU,cACVm5B,GAAW/wB,IAAAC,cAAA,YAAO0wB,EAAM1C,iBAC1BjuB,IAAAC,cAAA,UACI0wB,EAAM3C,wBAAwBtoB,KAAI,SAACoO,EAAKjO,GAAG,OACtC7F,IAAAC,cAAA,MAAI4F,IAAKA,EAAKjO,UAAS,MAAQ4sB,YAAkB1Q,EAAIwQ,SAClDtkB,IAAAC,cAAA,KACGoR,KAAMyC,EAAIT,KACVzb,UAAS,MAAQ4sB,YAAkB1Q,EAAIwQ,QACvCzlB,OAAO,SACPkV,IAAI,aACJoW,aAAYrW,EAAIwQ,QAhFhB,SAAC0M,GACnB,OAAQA,EAAYlD,oBACjB,IAAK,SACF,OACG9tB,IAAAC,cAAA,OAAKrI,UAAS,MAAQ4sB,YAAkBwM,EAAY1M,QAAW2M,MAAM,6BAA6BruB,MAAM,KAAKnB,OAAO,MACjHzB,IAAAC,cAAA,YACGD,IAAAC,cAAA,YAAUS,GAAG,eACVV,IAAAC,cAAA,QAAMrI,UAAU,QAAQs5B,EAAE,sIAGhClxB,IAAAC,cAAA,KAAGS,GAAG,SAASywB,YAAU,UACtBnxB,IAAAC,cAAA,QAAMS,GAAG,mBAAmBywB,YAAU,mBAAmBv5B,UAAU,QAAQs5B,EAAE,oIAC7ElxB,IAAAC,cAAA,QAAMrI,UAAU,QAAQs5B,EAAE,oIAC1BlxB,IAAAC,cAAA,KAAGrI,UAAU,WACVoI,IAAAC,cAAA,KAAGS,GAAG,sBAAsBywB,YAAU,uBACnCnxB,IAAAC,cAAA,KAAGS,GAAG,2BAA2BywB,YAAU,4BACxCnxB,IAAAC,cAAA,QAAMS,GAAG,UAAU9I,UAAU,QAAQgI,EAAE,QAAQgD,MAAM,KAAKnB,OAAO,WAK7EzB,IAAAC,cAAA,KAAGS,GAAG,WACHV,IAAAC,cAAA,QAAMrI,UAAU,QAAQs5B,EAAE,kTAItC,IAAK,UACF,OACGlxB,IAAAC,cAAA,OAAKrI,UAAS,MAAQ4sB,YAAkBwM,EAAY1M,QAAW2M,MAAM,6BAA6BruB,MAAM,KAAKnB,OAAO,MACjHzB,IAAAC,cAAA,YACGD,IAAAC,cAAA,YAAUS,GAAG,eACVV,IAAAC,cAAA,QAAMrI,UAAU,QAAQs5B,EAAE,sIAGhClxB,IAAAC,cAAA,KAAGS,GAAG,SAASywB,YAAU,UACtBnxB,IAAAC,cAAA,QAAMS,GAAG,mBAAmBywB,YAAU,mBAAmBv5B,UAAU,QAAQs5B,EAAE,oIAC7ElxB,IAAAC,cAAA,QAAMrI,UAAU,QAAQs5B,EAAE,oIAC1BlxB,IAAAC,cAAA,KAAGrI,UAAU,WACVoI,IAAAC,cAAA,KAAGS,GAAG,sBAAsBywB,YAAU,uBACnCnxB,IAAAC,cAAA,KAAGS,GAAG,2BAA2BywB,YAAU,4BACxCnxB,IAAAC,cAAA,QAAMS,GAAG,UAAU9I,UAAU,QAAQgI,EAAE,QAAQgD,MAAM,KAAKnB,OAAO,WAK7EzB,IAAAC,cAAA,KAAGS,GAAG,sBAAsBywB,YAAU,uBACnCnxB,IAAAC,cAAA,UAAQrI,UAAU,QAAQw5B,GAAG,QAAQC,GAAG,QAAQC,EAAE,UAClDtxB,IAAAC,cAAA,QAAMrI,UAAU,QAAQs5B,EAAE,iLAC1BlxB,IAAAC,cAAA,QAAMrI,UAAU,QAAQs5B,EAAE,8JAC1BlxB,IAAAC,cAAA,QAAMrI,UAAU,QAAQs5B,EAAE,oJAItC,IAAK,UACF,OACGlxB,IAAAC,cAAA,OAAKrI,UAAS,MAAQ4sB,YAAkBwM,EAAY1M,QAAW2M,MAAM,6BAA6BM,WAAW,+BAA+B3uB,MAAM,OAAOnB,OAAO,OAAO+vB,QAAQ,YAAYC,QAAQ,OAChMzxB,IAAAC,cAAA,KAAGS,GAAG,YACHV,IAAAC,cAAA,QAAMrI,UAAU,kBAAkBs5B,EAAE,uXACpClxB,IAAAC,cAAA,QAAMrI,UAAU,kBAAkBs5B,EAAE,iQAAiQnxB,UAAU,gDAI3T,QACG,OACGC,IAAAC,cAAA,KAAGrI,UAAS,MAAQ4sB,YAAkBwM,EAAY1M,QAAO,KA3E5C9f,EA2EgEqsB,EA3EjDp0B,EA2E0Du0B,EA1E5FxsB,EACG/H,EAAMqxB,mBAAmB+B,SAAS,KAC3BpzB,EAAMqxB,mBAAmB3I,QAAQ,IAAK,IAEtC1oB,EAAMqxB,mBAAmBzrB,OAAO,GAAI,KAG1C5F,EAAMqxB,sBARQ,IAACtpB,EAAe/H,EA6FjBi1B,CAAa5d,YCsLxB6d,EA7RA,SAACl6B,GAEb,IAAM+2B,EAAO/L,yBAAe,cA6GtBmP,EAA0BpD,EAAK9L,kBAAkBC,MAAM,GAAGkP,oBAC1DC,EAA8BtD,EAAK9L,kBAAkBC,MAAM,GAAGoP,kBAC9DC,EAAgCxD,EAAKS,oBAAoBtM,MAAM,GAAGmM,WAClEmD,EAAgCzD,EAAK0D,4BAA4BvP,MAAM,GACvEwP,EAAW3D,EAAK4D,wBAAwBzP,MAAM,GAAGwP,SAEvD75B,EAAsCC,oBAAU,GAAzC85B,EAAW/5B,EAAA,GAAEg6B,EAAch6B,EAAA,GAoC5Bi6B,EAAqB,SAAEtG,EAAyB5D,EAAmBmK,EAAeC,GAAiB,OACtGzyB,IAAAC,cAAA,OAAKrI,UAAS,oBAAsB46B,GAChCnK,GAASyJ,EACP9xB,IAAAC,cAACgU,IAAM,CACJuY,YAAY,EACZhoB,KAAM,OACNnB,KAAMglB,EACN+E,WAAW,EACXX,QAAO,MAAQjI,YAAkB6D,GACjChX,KAAMygB,EACNvF,UAAU,4BAEXvsB,IAAAC,cAAA,QAAMrI,UAAU,2BAA6BywB,GAEjD4D,EAAMvmB,KAAK,SAACoO,EAAKjO,GAAG,OACjBiO,EAAI4e,gBA2BH1yB,IAAAC,cAAAD,IAAA+jB,SAAA,MA1BC/jB,IAAAC,cAAC8jB,WAAQ,CAACle,IAAKA,GACViO,EAAI0b,UACHxvB,IAAAC,cAAA,KAAGrI,UAAS,2BAA6B66B,EACtCphB,KAAOyC,EAAI0b,UACX3wB,OAAS0pB,YAAWzU,EAAI0b,WACxBzb,IAAKD,EAAI0b,WAER1b,EAAIma,iBAERjuB,IAAAC,cAAA,QAAMrI,UAAS,2BAA6B66B,GAAiB3e,EAAIma,iBAEpEjuB,IAAAC,cAAA,MAAIrI,UAAU,0BACVkc,EAAIka,wBAAwBtoB,KAAK,SAACitB,EAAQ9sB,GAAG,OAC3C7F,IAAAC,cAAA,MAAIrI,UAAU,6BAA6BiO,IAAKA,GAC7C7F,IAAAC,cAAA,KAAGrI,UAAsC,cAAxBkc,EAAIma,gBAAkC,iBAAmB,GACvEla,IAAI,sBACJsU,MAAOsK,EAAO7E,mBACdzc,KAAI,OAASshB,EAAO7E,oBAEK,cAAxBha,EAAIma,gBAAkCjuB,IAAAC,cAAA,KAAGrI,UAAU,cAAiBoI,IAAAC,cAAA,KAAGrI,UAAU,eACjF+6B,EAAO7E,+BAoCnC,OACG9tB,IAAAC,cAAA,UAAQrI,UAAS,aAAcH,EAAMm7B,YAAc,gBAAkB,IAAE,KAAIn7B,EAAMo7B,YAAc,gBAAkB,IAAE,KAAIp7B,EAAMq7B,mBAAqB,uBAAyB,KACtKr7B,EAAMs7B,UACH/yB,IAAAC,cAAA,OAAKC,QAAQ,OAAOtI,UAAU,eAAewI,IAAK3I,EAAMs7B,UAAW5yB,IAAI,KACvEH,IAAAC,cAAAD,IAAA+jB,SAAA,MAEL/jB,IAAAC,cAAA,OAAKrI,UAAU,eACIo6B,EAAY/1B,MAAM,EAAG,GA5GrCyJ,KAAK,SAACoO,EAAsBjO,GAAW,OACzCiO,EAAI4e,gBAwBH1yB,IAAAC,cAAAD,IAAA+jB,SAAA,MAvBF/jB,IAAAC,cAAA,OAAKrI,UAAU,mBAAmBiO,IAAKA,GACpC7F,IAAAC,cAAA,QACGrI,UAAS,wCAAyCiO,IAAQwsB,EAAc,oBAAsB,IAC9FvjB,QAAU,WAVD,IAAC4P,EACnB4T,EAAgBD,KADG3T,EAUmB7Y,IATG,EAAI6Y,KAUrC5K,EAAIma,iBACNjuB,IAAAC,cAAA,MAAIrI,UAAU,0BACVkc,EAAIka,wBAAwBtoB,KAAK,SAACitB,EAAQ9sB,GACxC,IAAMmtB,EAAM,MAAMxO,YAAkB1Q,EAAIma,iBAAmBzJ,YAAkBmO,EAAO7E,oBAC9Ep2B,EAAOi7B,EAAOpO,MAAQ,IAAIoO,EAAOpO,MAAWoO,EAAOtf,KACzD,OACGrT,IAAAC,cAAA,MAAIrI,UAAS,8BAAgCo7B,EAAOntB,IAAKA,GACtD7F,IAAAC,cAAA,KACGrI,UAAWo7B,EACX3K,MAAOsK,EAAO7E,mBACdzc,KAAM3Z,EACNmH,OAAQ0pB,YAAW7wB,GACnBqc,IAAMyU,YAAQ9wB,IACfi7B,EAAO7E,6BA0FpByE,EAAmBP,EAAY/1B,MAAM,EAAG,GAAI21B,EAAiB,OAAQ,aACrEW,EAAmBP,EAAY/1B,MAAM,EAAG,GAAI21B,EAAiB,iBAAkB,aAlC1D,SAAE3F,GAAuB,OACrDA,EAAMvmB,KAAK,SAACoO,EAAsBjO,GAAW,OACzCiO,EAAI4e,gBAmBH1yB,IAAAC,cAAAD,IAAA+jB,SAAA,MAlBC/jB,IAAAC,cAAA,OAAKrI,UAAU,mBAAmBiO,IAAKA,GACpC7F,IAAAC,cAAA,QAAMrI,UAAU,gCAAkCkc,EAAIma,iBACtDjuB,IAAAC,cAAA,MAAIrI,UAAU,0BACVkc,EAAIka,wBAAwBtoB,KAAK,SAACitB,EAAQ9sB,GAAG,OAC3C7F,IAAAC,cAAC8jB,WAAQ,CAACle,IAAKA,GACZ7F,IAAAC,cAAA,MAAIrI,UAAU,8BAA+B+6B,EAAO7E,oBACpD9tB,IAAAC,cAAA,MAAKrI,UAAU,gCACZoI,IAAAC,cAAA,KAAGrI,UAAS,UAAY4sB,YAAkB1Q,EAAIma,iBAAgB,WAAa5F,MAAOsK,EAAOM,SAAS5K,MAAOhX,KAAMshB,EAAOM,SAAS5f,MAAQ,IAAKxU,OAAO,SAASkV,IAAI,cAC7J/T,IAAAC,cAAA,OAAKC,QAAQ,OAAOE,IAAMuyB,EAAOM,UAAaN,EAAOM,SAAS3yB,KAAKC,IAAKJ,IAAKwyB,EAAOM,SAAS5K,SAEhGroB,IAAAC,cAAA,KAAGrI,UAAS,UAAY4sB,YAAkB1Q,EAAIma,iBAAgB,aAAe5F,MAAOsK,EAAOO,UAAU7K,MAAOhX,KAAMshB,EAAOM,SAAS5f,MAAQ,IAAKxU,OAAO,SAASkV,IAAI,cAChK/T,IAAAC,cAAA,OAAKC,QAAQ,OAAOE,IAAMuyB,EAAOO,WAAcP,EAAOO,UAAU5yB,KAAKC,IAAKJ,IAAKwyB,EAAOO,UAAU7K,mBAqBjH8K,CAAuBnB,EAAY/1B,MAAM,EAAG,KAC7C+D,IAAAC,cAAA,OAAKrI,UAAU,yBACZoI,IAAAC,cAACywB,EAAO,CAACC,MAAOqB,EAAYA,EAAY12B,OAAS,OAGvD0E,IAAAC,cAAA,OAAKrI,UAAU,mBACZoI,IAAAC,cAAA,OAAKrI,UAAU,wBACZoI,IAAAC,cAAA,QAAMrI,UAAU,+BAAiCq6B,EAAaxxB,iBAC9DT,IAAAC,cAAA,OAAKrI,UAAU,8BACZoI,IAAAC,cAAA,OACGC,QAAQ,OACRtI,UAAU,kCACVwI,IAAM6xB,EAAamB,cAAiBnB,EAAamB,aAAa9yB,KAAKC,IACnEJ,IAAK8xB,EAAamB,aAAa/K,QAElCroB,IAAAC,cAAA,OACGC,QAAQ,OACRtI,UAAU,kCACVwI,IAAM6xB,EAAaoB,oBAAuBpB,EAAaoB,mBAAmB/yB,KAAKC,IAC/EJ,IAAK8xB,EAAaoB,mBAAmBhL,SAG3CroB,IAAAC,cAAA,WAASrI,UAAU,8BACfq6B,EAAahK,YAAYntB,KAAKitB,SAAWG,oCAA0B+J,EAAahK,YAAYntB,QAGnGkF,IAAAC,cAAA,OAAKrI,UAAS,yBAA2BH,EAAM67B,cAAgB,gCAAkC,KAC9FtzB,IAAAC,cAAA,OAAKC,QAAQ,OAAOtI,UAAU,8BAA8BwI,IAAK+xB,GAAYA,EAAS7xB,KAAKC,IAAMJ,IAAKgyB,EAAS9J,QAC/GroB,IAAAC,cAAA,OAAKrI,UAAU,gCACZoI,IAAAC,cAAA,UACGrI,UAAU,qDACVkX,QAAS,kBAAMid,OAAO,CACnBvqB,IAAK,EACL6I,KAAM,EACNkpB,SAAU,YAEbpJ,aAAW,cAEdnqB,IAAAC,cAAA,OACGC,QAAQ,OACRE,IAAK6xB,EAAauB,sBAAwBvB,EAAauB,qBAAqBlzB,KAAKC,IACjFJ,IAAK8xB,EAAauB,qBAAqBnL,a,YC5M7CoL,G,UA7EM,SAACh8B,GACnB,IACGy3B,EAOCz3B,EAPDy3B,aACAC,EAMC13B,EAND03B,iBACAuE,EAKCj8B,EALDi8B,UACAC,EAICl8B,EAJDk8B,SACAC,EAGCn8B,EAHDm8B,UACArI,EAEC9zB,EAFD8zB,cACAsI,EACCp8B,EADDo8B,kBAGH,OACG7zB,IAAAC,cAAA,UACGrI,UACG,YAAWs3B,EAAe,mBAAqB,KAC5C0E,EAAY,oBAAsB,KAElCC,IACC3E,IACAC,GACD5D,EAAgB,EACX,2BACA,IAER,gCAEH/mB,KAAK,SACLsK,QAAS,WACNogB,EAAewE,IAAcC,KAEhCxJ,aAAW,kBAEXnqB,IAAAC,cAAA,QACGrI,UAAS,mBACNs3B,EAAe,yBAA2B,IAAE,kCAGlDlvB,IAAAC,cAAA,QACGrI,UAAS,mBACNs3B,EAAe,yBAA2B,IAAE,kCAGlDlvB,IAAAC,cAAA,QACGrI,UAAS,mBACNs3B,EAAe,yBAA2B,IAAE,kCAGlDlvB,IAAAC,cAAA,KACGrI,UAAS,kBACNs3B,EAAe,sBAAwB,IAAE,gDAG3C,IAAI,OACA,KAERlvB,IAAAC,cAAA,KACGrI,UAAS,kBACNs3B,EAAe,GAAK,uBAAqB,gDAG3C,IAAI,SACE,QCsEJ4E,G,UAtHD,SAACr8B,GAAyB,IAAAs8B,EAAAC,EAAAC,EAAAC,EAAAC,EAErCr3B,EAAuCC,cAA/BC,EAASF,EAATE,UAAWC,EAAQH,EAARG,SAAUC,EAAMJ,EAANI,OAC7B5E,EAA4BC,oBAAS,GAA9B67B,EAAM97B,EAAA,GAAE+7B,EAAS/7B,EAAA,GAClBg8B,EAAe78B,EAAM68B,aACrB7oB,EAAU,CACb,CACG4c,MAAO,iBACPjV,KAAM,oBACN4f,IAAK,uCACLuB,SAAU,WACPC,GAAO,GACP/8B,EAAMg9B,kBAEV,CACCpM,MAAO,qBACPjV,KAAM,UACN4f,IAAK,0CACLuB,SAAU,WACHv3B,IACDw3B,GAAO,GACPt3B,EAAOqW,KAAK,wCAAyC,aAG3D,CACA8U,MAAO,gBACPjV,KAAM,gBACN4f,IAAK,wCACLuB,SAAU,WACP98B,EAAMi9B,SACNF,GAAO,GACPG,aAAaC,WAAW,cAK3BJ,EAAS,SAAEJ,GACd,GAAGp3B,GAAao3B,EAAS,CACtB,IAAMzK,EAAgB1sB,EAAS0sB,cAAc,QAC7CA,WAAe7qB,UAAUC,IAAI,oBACzB,GAAG/B,EAAW,CAClB,IAAM2sB,EAAgB1sB,EAAS0sB,cAAc,QAC7CA,WAAe7qB,UAAUE,OAAO,eAEnCq1B,EAAUD,IAGb,OACGp0B,IAAAC,cAAA,OAAKrI,UAAU,WACV08B,EACFt0B,IAAAC,cAAA,OAAKrI,UAAS,uBAAyBH,EAAMy3B,aAAe,0BAA4B,KACrFlvB,IAAAC,cAAA,QAAMrI,UAAU,yCAAuC,SAC1Ci9B,YAAeP,EAAaQ,QAAQC,WAAU,IAAIF,YAAeP,EAAaQ,QAAQE,UAAS,KAE5Gh1B,IAAAC,cAAA,KACGrI,UAAS,6BAA+Bw8B,EAAS,gBAAkB,mBAAiB,yCACpFtlB,QAAU,kBAAM0lB,GAAQJ,MAE3Bp0B,IAAAC,cAAA,OACGrI,UAAS,mDAEHw8B,EAAS,kCAAoC,IAAE,yBAEd,OAAb,QAApBL,EAAAO,EAAaQ,eAAO,IAAAf,OAAA,EAApBA,EAAsBkB,QAAiB,gBACN,OAAb,QAApBjB,EAAAM,EAAaQ,eAAO,IAAAd,OAAA,EAApBA,EAAsBiB,QAAiB,cAAgB,IAAE,8BAG/DnmB,QAAU,kBAAM0lB,GAAQJ,KAErBE,EAAaQ,SAA+B,QAAxBb,EAAIK,EAAaQ,eAAO,IAAAb,GAApBA,EAAsBiB,aAC9Cl1B,IAAAC,cAAA,OAAKrI,UAAU,+DACZoI,IAAAC,cAAA,OACGC,QAAQ,OACRtI,UAAU,mEACVuI,IAAKm0B,EAAaQ,QAAQC,UAC1B30B,IAAKk0B,EAAaQ,QAAQI,gBAE1B,IAEiB,QAFjBhB,EAEHI,EAAaQ,eAAO,IAAAZ,OAAA,EAApBA,EAAsBa,UAAUI,OAAO,KAAyB,QAAvBhB,EAAGG,EAAaQ,eAAO,IAAAX,OAAA,EAApBA,EAAsBa,SAASG,OAAO,KAGzFf,GACFp0B,IAAAC,cAAA,OAAKrI,UAAU,iCACZoI,IAAAC,cAAA,MAAIrI,UAAU,0CACV6T,EAAQ/F,KAAK,SAACjJ,EAAOiiB,GAAK,OACxB1e,IAAAC,cAAA,MACG6O,QAASrS,EAAM83B,SACf38B,UAAS,kDAAoD6E,EAAMu2B,IACnEntB,IAAK6Y,GAEL1e,IAAAC,cAAA,KAAGrI,UAAS,wDAA0D6E,EAAM2W,KAAI,IAAI3W,EAAMu2B,MACzFv2B,EAAM4rB,WAIhBroB,IAAAC,cAAA,OAAKrI,UAAU,4CAA4CkX,QAAU,kBAAM0lB,GAAO,QAKxFx0B,IAAAC,cAAAD,IAAA+jB,SAAA,KACG/jB,IAAAC,cAAA,KACGrI,UAAS,iEACTkX,QAASrX,EAAM29B,QAElBp1B,IAAAC,cAAA,UACGrI,UAAS,+BAAiCH,EAAMy3B,aAAe,sBAAwB,IAAE,6BACzFpgB,QAASrX,EAAM29B,MACfjL,aAAW,iBACX3lB,KAAK,UACN/M,EAAM4wB,W,YCgMLgN,G,UAjSA,SAAE59B,GAEd,IA2DAm3B,EA3DanM,yBAAe,aA2DqD2P,wBAAwBzP,MAAM,GAAvG2S,EAAY1G,EAAZ0G,aAAcC,EAAW3G,EAAX2G,YAAaC,EAAS5G,EAAT4G,UAAWC,EAAQ7G,EAAR6G,SAAUC,EAAe9G,EAAf8G,gBACxDp9B,EAAwCC,oBAAS,GAA1C82B,EAAY/2B,EAAA,GAAEo2B,EAAep2B,EAAA,GACpCI,EAAoCH,oBAAS,GAAtCo9B,EAAUj9B,EAAA,GAAEk9B,EAAal9B,EAAA,GAChCuwB,EAAqCroB,cAA9BE,EAAUmoB,EAAVnoB,WAAYE,EAAcioB,EAAdjoB,eACnBlE,EAA8BC,cAAtBC,EAASF,EAATE,UAAWE,EAAMJ,EAANI,OACnBrE,EAAoCN,oBAAS,GAAtCs9B,EAAUh9B,EAAA,GAAEi9B,EAAaj9B,EAAA,GAChCG,EAAiCT,mBAAS,IAAnCw9B,EAAM/8B,EAAA,GAAEg9B,EAASh9B,EAAA,GACxBG,EAAuCZ,mBAAS,IAAzC09B,EAAS98B,EAAA,GAAE+8B,EAAY/8B,EAAA,GAC9BG,EAA8Bf,oBAAS,GAAhC49B,EAAO78B,EAAA,GAAE88B,EAAU98B,EAAA,GAE1BS,qBAAU,WACP07B,EAAS,GAAGY,oBAAoB3wB,KAAI,SAAA4wB,GACP,aAApBA,EAAKC,WACLP,GAAU,SAAAD,GAAM,SAAA1zB,OAAAm0B,YAAQT,GAAM,CAAEO,OAEhCJ,GAAa,SAAAD,GAAS,SAAA5zB,OAAAm0B,YAAQP,GAAS,CAAEK,YAGlD,IAEH,IAAMG,EAAc11B,iBAAO,MAErB21B,EAAaj/B,EAAMy3B,cAAgBz3B,EAAM03B,kBAAoB13B,EAAMm8B,WAAa5yB,EAChF21B,GAAel/B,EAAMy3B,cAAgBz3B,EAAMm8B,YAAcn8B,EAAM03B,kBAAsBnuB,IAAmBvJ,EAAMy3B,eAAiBz3B,EAAM03B,iBAErIyH,EAAqB,WACxBd,GAAc,GACdF,GAAc,IAGXjC,EAAW,WACdkD,GAAa,GACbp/B,EAAMq/B,eAAc,GACpBr/B,EAAMs/B,mBAAkB,IAEvBrD,EAAY,WACjBmD,GAAa,GACTp/B,EAAMq/B,eAAc,IASjBD,EAAe,SAAEG,GACxBA,EAAW/5B,SAASoC,KAAKP,UAAUC,IAAI,eAAiB9B,SAASoC,KAAKP,UAAUE,OAAO,gBAGtFjF,qBAAW,WACRtC,EAAMw/B,aAAanN,IAAI9oB,KACvB,CAACA,IAEJ,IAoCMk2B,EAAa,SAAC3jB,EAAM4jB,GACvB,OAAMA,EAUAn3B,IAAAC,cAAA,KAAGrI,UAAU,eARboI,IAAAC,cAAA,OAAKrI,UAAS,mDAAqD2b,EAAsB,GAAf,eACvEvT,IAAAC,cAAA,KAAGrI,UAAU,oBACboI,IAAAC,cAAA,KAAGrI,UAAU,oBACboI,IAAAC,cAAA,KAAGrI,UAAU,sBAUzB,OACGoI,IAAAC,cAACquB,IAAcC,SAAQ,MACnB,SAAAC,GAAI,OACFxuB,IAAAC,cAAA,UACGvI,IAAKoJ,EACLlJ,UACG,YAAY8+B,EAAa,iBAAmB,KACxCj/B,EAAM03B,kBAAoB13B,EAAMy3B,aAAe,2BAA6B,KAC5EyH,EAAa,mBAAqB,KAClCl/B,EAAM2/B,kBAAoBp2B,GAAkBvJ,EAAM8zB,cAAgB,EAAI,yBAA2B,KACjG9zB,EAAMo8B,oBAAsBp8B,EAAMy3B,eAAiBz3B,EAAM03B,kBAA4C13B,EAAM8zB,cAAgB,EAAI,0BAA4B,KAC3J9zB,EAAM4/B,YAAc,kBAAoB,KACxC5/B,EAAM6/B,WAAa,qBAAuB,KAG9C7/B,EAAM6/B,WAEJt3B,IAAAC,cAAAD,IAAA+jB,SAAA,OApERwT,EAAgBv3B,IAAAC,cAACwzB,EAAY,CAChCvE,aAAez3B,EAAMy3B,aACrBC,iBAAmB13B,EAAM03B,iBACzBuE,UAAYA,EACZC,SAAWA,EACXC,UAAY8C,EACZnL,cAAgB9zB,EAAM8zB,cACtBsI,kBAAoBp8B,EAAMo8B,oBAGzB72B,GAAaE,EAAO8W,OAAOpR,MAAQ,KAAOnL,EAAM03B,iBAAyBnvB,IAAAC,cAACD,IAAM+jB,SAAQ,MAErFwT,GA0DEv3B,IAAAC,cAAA,OAAKrI,UAAS,wBAAyBH,EAAM03B,kBAAoB,+BAAiCz3B,IAAKoJ,GACpGd,IAAAC,cAAA,OAAKrI,UAAU,mBACZoI,IAAAC,cAAA,KAAGoR,KAAK,IAAI0C,IAAI,sBAAsBnc,UAAU,2BAC7CoI,IAAAC,cAAA,OACGC,QAAQ,OACRtI,UAAU,+CACVwI,KAAOs2B,IAAej/B,EAAM4/B,YAAc9B,EAAcC,GAAYl1B,KAAKC,IACzEJ,KAAOu2B,IAAej/B,EAAM4/B,YAAc9B,EAAcC,GAAYnN,UAI7EroB,IAAAC,cAAA,OAAKrI,UAAU,gCAEN89B,GAAF,MAAqBA,IAA8DD,GACpFA,EAAS/vB,KAAI,SAAC8xB,EAAQ3xB,GAAG,OACtB7F,IAAAC,cAAA,OAAK4F,IAAKA,EAAKnO,IAAK++B,EAAa7+B,UAAS,uCAAwCH,EAAM03B,iBAAmB,OAAS,KACjHnvB,IAAAC,cAAA,UAAQuE,KAAK,SAAS2lB,aAAW,sBAAsBvyB,UAAU,2CAA2CkX,QAAS,kBAvD7IgnB,GAAeD,QACfD,GAAeD,KAuDY31B,IAAAC,cAAA,YAAM,oBACJjD,GAAaE,EAAO8W,OAAOpR,MAAQ,IAClCs0B,EAAWR,GAAY,GAEvBQ,GAAW,EAAOvB,IAGvBE,GACE71B,IAAAC,cAAA,OAAKrI,UAAU,4CACZoI,IAAAC,cAAA,OAAKrI,UAAU,sDACZoI,IAAAC,cAAA,UAAQuE,KAAK,SAAS2lB,aAAW,0BAA0BvyB,UAAS,oBAAqBu+B,GAAW,iBAAmBrnB,QAAS,kBAAMsnB,GAAW,KAASoB,EAAOjB,WAAW/M,MAAM,KAAK,IACvLxpB,IAAAC,cAAA,UAAQuE,KAAK,SAAS2lB,aAAW,0BAA0BvyB,UAAS,mBAAoBu+B,GAAW,iBAAmBrnB,QAAS,kBAAMsnB,GAAW,KAAQoB,EAAOjB,WAAW/M,MAAM,KAAK,KAExLxpB,IAAAC,cAAA,OAAKrI,UAAU,oDACVu+B,EAAUF,EAAYF,GAAQrwB,KAAI,SAAC+xB,EAAK/Y,GAAK,OAC5C1e,IAAAC,cAAA,KAAGoR,KAAMomB,EAAI5M,iBAAkBhsB,OAAO,SAASkV,IAAI,aAAanc,UAAU,wDAAwDiO,IAAK6Y,GACpI1e,IAAAC,cAAA,OAAKrI,UAAU,oEACZoI,IAAAC,cAAA,OAAKrI,UAAU,qBAAqBwI,IAAKq3B,EAAIC,gBAAgB,GAAGp3B,KAAKC,IAAKJ,IAAI,KAC9EH,IAAAC,cAAA,OAAKrI,UAAU,kBAAkBwI,IAAKq3B,EAAIC,gBAAgB,GAAGp3B,KAAKC,IAAKJ,IAAI,KAC3EH,IAAAC,cAAA,QAAMrI,UAAU,cAAc6/B,EAAIhT,oBAK7C+S,EAAO3M,kBACL7qB,IAAAC,cAAA,OAAKrI,UAAU,eACZoI,IAAAC,cAACgU,IAAM,CACJvT,GAAK,oBAAsBmF,EAC3BrB,KAAK,OACL6M,KAAQ8kB,EAAkDqB,EAAO3M,iBAAiBrB,MAAM,KAAK,GAA3EgO,EAAO3M,iBAAiBrB,MAAM,KAAK,GACrD+C,UAAU,UACVlpB,KAAOm0B,EAAOlL,YACdE,YAAa,MAOzBmL,YAAalB,EAAaG,OAKtC52B,IAAAC,cAAA,UACGuE,KAAK,SACL2lB,aAAW,mBACXrb,QAAS,kBAAM4f,GAAiBW,IAChCz3B,UAAU,uBAEVoI,IAAAC,cAAA,KAAGrI,UAAU,iEAEhBoI,IAAAC,cAAA,OACGrI,UAAS,cAAey3B,EAAe,OAAQ,KAE9CA,GAAgBrvB,IAAAC,cAACkuB,EAAQ,CAACO,gBAAiBA,KAE/C1uB,IAAAC,cAAA,UACGuE,KAAK,SACL2lB,aAAW,cACXrb,QAASrX,EAAMm4B,YACfh4B,UAAU,uBAEVoI,IAAAC,cAAA,KACGrI,UAAS,qBAAuBH,EAAMk4B,OAAS,4CAA8C,gDAGnG3vB,IAAAC,cAAA,UACGuE,KAAK,SACL2lB,aAAW,wBACXrb,QAAS,kBA3K3B+nB,GAAcp/B,EAAM03B,kBACpB13B,EAAMs/B,mBAAmBt/B,EAAM03B,uBAC/B13B,EAAMy3B,cAAgBz3B,EAAMq/B,eAAc,KA0KxBl/B,UAAU,uBAEVoI,IAAAC,cAAA,KAAGrI,UAAS,SAAUH,EAAM03B,iBAAmB,aAAe,eAAa,8BAExD5sB,IAArB9K,EAAMmgC,YAA6BngC,EAAMmgC,YAAmC,OAArBngC,EAAMmgC,WAClBC,QAAQC,KApJ/C39B,EAoJiBq0B,EAAKuJ,aApJf3C,EAAKj7B,EAALi7B,MAAOV,EAAMv6B,EAANu6B,OAAQD,EAAat6B,EAAbs6B,cAAeH,EAAYn6B,EAAZm6B,aACnD0D,EAAch4B,IAAAC,cAAC6zB,EAAK,CACvB5E,aAAcwH,IAAej/B,EAAM4/B,YACnChP,MAAOiN,EACPF,MAAOA,EACPV,OAAQA,EACRD,cAAeA,EACfH,aAAcA,IAGZt3B,GAAaE,EAAO8W,OAAOpR,MAAQ,KAAOnL,EAAM03B,iBAAyBnvB,IAAAC,cAACD,IAAM+jB,SAAQ,MAEtFiU,MAZgB,IAAH79B,EAAOi7B,EAAOV,EAAQD,EAAeH,EACnD0D,EAhBAT,O,iCC9DGU,G,UAjFK,WAEjB,IAAA3/B,EAA0CC,mBAAgB,IAAnD2/B,EAAa5/B,EAAA,GAAE6/B,EAAgB7/B,EAAA,GACtCI,EAAwBH,oBAAS,GAA1Bgb,EAAI7a,EAAA,GAAE0/B,EAAO1/B,EAAA,GAEpBqB,qBAAU,WACMC,MAAM,iCACdE,KAAI,eAAAC,EAAAC,YAAAC,IAAAC,MAAC,SAAAC,EAAOC,GAAI,IAAA69B,EAAA,OAAAh+B,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACQL,EAAKM,OAAM,OAA/Bu9B,EAAW19B,EAAAI,KACjBo9B,EAAiBE,GAAa,wBAAA19B,EAAAK,UAAAT,OAChC,gBAAAU,GAAA,OAAAd,EAAAe,MAAA,KAAAC,YAHQ,MAIT,IAgBH,OACG6E,IAAAC,cAAA,OAAKrI,UAAU,kBACXsgC,EAAc58B,OAAS,GACrB0E,IAAAC,cAAAD,IAAA+jB,SAAA,KACG/jB,IAAAC,cAAA,OACG6O,QAAS,kBAAMspB,GAAQ,IACvBxgC,UAAS,+BACN2b,EAAO,WAAa,MAG1BvT,IAAAC,cAAA,UACG6O,QAAS,kBAAMspB,GAAS7kB,IACxB5D,SAAU,EACVwa,aAAW,8BACXvyB,UAAS,wBAAyB2b,EAAO,WAAa,KAErDA,GAAQvT,IAAAC,cAAA,OAAKG,IA7BtB83B,EAAc,GAAGI,YACXJ,EAAc,GAAGI,YAAYh4B,KAAKC,IAErC,IA0BsCJ,IAAI,iBAExCH,IAAAC,cAAA,OACGrI,UAAS,4BACN2b,EAAO,WAAa,KAGtB2kB,EAAc,GAAGK,gBAAgB7yB,KAAI,SAAC8yB,EAAU9Z,GAAa,OAC3D1e,IAAAC,cAAA,UACGrI,UAAU,+BACViO,IAAK2yB,EAAIC,OACT3pB,QAAS,SAAC1P,GAAC,OAlCZ,SAACA,EAAGiU,GACrBjU,EAAEwR,iBACEyC,GACDnW,OAAOqW,KAAKF,EAAM,YA+BaqlB,CAAYt5B,EAAGo5B,EAAInlB,OACnC1D,SAAU+O,EAAQ,GAElB1e,IAAAC,cAAA,OAAKrI,UAAU,sCACZoI,IAAAC,cAAA,YAAOu4B,EAAIC,SAEdz4B,IAAAC,cAAA,OAAKrI,UAAU,sCACX4gC,EAAIG,MACF34B,IAAAC,cAAA,KAAGrI,UAAS,QAAU4gC,EAAIG,QACzBH,EAAII,YACL54B,IAAAC,cAAA,OACGG,IACGo4B,EAAII,aAAeJ,EAAII,YAAYt4B,KAAKC,IAE3CJ,IAAKq4B,EAAIC,SAEX,eCRhBI,GA3DO,WACnB,IAAA/7B,EAA6BC,cAArBE,EAAQH,EAARG,SAAUC,EAAMJ,EAANI,OAOZ47B,EAAmB,WACtB,IAAIC,EAAO97B,EAAS87B,MAAQ97B,EAAS+7B,qBAAqB,QAAQ,GAC9DC,EAAwBh8B,EAASgD,cAAc,UACnDg5B,EAAsBC,aAAa,MChBK,6EDiBxCH,EAAKI,YAAYF,GACjB,IAAIG,EAASn8B,EAASgD,cAAc,UACpCm5B,EAAOC,OAAS,WAXK,IAAMC,EAAAC,EACW,QAAtCD,EAAAr8B,EAASa,eAAe,sBAAc,IAAAw7B,GAAtCA,EAAwCt6B,SACE,QAA1Cu6B,EAAAt8B,EAASa,eAAe,0BAAkB,IAAAy7B,GAA1CA,EAA4Cv6B,SAczC9B,EAAOs8B,MAAMC,2BAHI,CACdC,OAAaC,yCAEoCz/B,MAAK,SAAC0/B,GACvD18B,EAAOs8B,MAAMK,WACbhC,QAAQC,IAAI,uBAGlBsB,EAAOh5B,IAAMu5B,kFACbZ,EAAKI,YAAYC,IA+BpB,MAAO,CAAEU,WAbU,SAACC,GACjB,OAAQA,GACL,IAAK,eACFjB,IACA,MACH,IAAK,mBAnBJC,EAAO97B,EAAS87B,MAAQ97B,EAAS+7B,qBAAqB,QAAQ,IAC9DI,EAASn8B,EAASgD,cAAc,WAC7Bo5B,OAAS,WAIbn8B,EAAOs8B,MAAMC,2BAHI,CACdC,OAAQ,qCAEyCx/B,MAAK,SAAC0/B,QAI7DR,EAAOh5B,IAAMu5B,kFACbZ,EAAKI,YAAYC,GAZS,IACtBL,EACAK,K,aEfV,KAASY,gBAnBE,WACG,QAkB0B,OCnBnCC,KAASC,KAAK5+B,QACjB2+B,KAASE,cAAc,CACrBT,OAAQC,0CACRS,WAAYT,iCACZU,iBAAaV,EACbW,UAAWX,iBACXY,cAAeZ,6BACfa,kBAAmBb,eACnBc,MAAOd,4CACPe,cAAef,iBAIJM,ICbAA,GDaAA,GAAQ,EEbVU,GAAQ,WACnB,MAAQ,CACJ,iBACA,mBACA,iBACA,OACA,SACA,QACF9K,SAAS+K,UAAUC,WAEbD,UAAUE,UAAUjL,SAAS,QAAU,eAAgB5yB,U,0BCGlD89B,OAZf,SAA8BvM,GAC1B,MAAO,CACHnG,MAAOmG,EAAK/tB,gBACZu6B,SAAUxM,EAAKxE,WACf1qB,MAAOkvB,EAAK/F,aAAanoB,KAAKC,IAC9B06B,QAASzM,EAAKnuB,gBAAgB,GAAGC,KAAKC,IACtCmvB,YAAaxH,oCAA0BsG,EAAKvG,YAAYntB,MACxDogC,SAAU1M,EAAKlC,YACf6O,YAAa3M,EAAK3D,mB,gICsFXuQ,GA7EO,SAAHjhC,GAQQ,IAPvB6gC,EAAQ7gC,EAAR6gC,SACA3S,EAAKluB,EAALkuB,MACAqH,EAAWv1B,EAAXu1B,YACAwL,EAAQ/gC,EAAR+gC,SACAC,EAAWhhC,EAAXghC,YACA77B,EAAKnF,EAALmF,MACA27B,EAAO9gC,EAAP8gC,QAEA,OACIj7B,IAAAC,cAACo7B,KAAI,CAACh0B,IAAE,EAACuC,QAAS,IAAKf,QAAM,GACzB7I,IAAAC,cAACzI,KAAI,CAACI,UAAWqkB,KAAOqf,kBACnBL,GACGj7B,IAAAC,cAAC4B,KAAS,CACNG,UAAU,MACV1C,MAAO27B,EACP96B,IAAKkoB,EACLzwB,UAAWqkB,KAAOsf,uBAG1Bv7B,IAAAC,cAACmlB,KAAI,CACDja,WAAS,EACTyU,QAAS,EACThoB,UAAWqkB,KAAOuf,6BAElBx7B,IAAAC,cAACmlB,KAAI,CACDS,MAAI,EACJc,GAAI,GACJN,GAAI,EACJzuB,UAAWqkB,KAAOwf,wBAElBz7B,IAAAC,cAAC4f,KAAW,KACR7f,IAAAC,cAACygB,KAAU,CACP1L,QAAQ,YACRpd,UAAWqkB,KAAOyf,4BAEjBV,GAELh7B,IAAAC,cAACygB,KAAU,CACP1L,QAAQ,KACRpd,UAAWqkB,KAAO0f,yBAEjBtT,GAELroB,IAAAC,cAACygB,KAAU,CACP1L,QAAQ,QACRpd,UAAWqkB,KAAO2f,wBAEjBlM,GAEL1vB,IAAAC,cAACwf,KAAW,CACR7nB,UAAWqkB,KAAO4f,2BAElB77B,IAAAC,cAACgU,KAAM,CACHe,QAAQ,YACR3D,KAAM8pB,EACNvjC,UAAWqkB,KAAO6f,uBAEjBZ,MAKjBl7B,IAAAC,cAACmlB,KAAI,CAACS,MAAI,EAACc,GAAI,GAAIN,GAAI,GACnBrmB,IAAAC,cAAC4B,KAAS,CACNG,UAAU,MACV1C,MAAOA,EACPa,IAAKkoB,EACLzwB,UAAWqkB,KAAO8f,6B,UCoJ/BC,IA1LA,SAACvkC,GAA2B,IAAAwkC,EACvC3jC,EAAsCC,oBAAS,GAAxC22B,EAAY52B,EAAA,GAAEw+B,EAAax+B,EAAA,GAClCI,EAA8CH,oBAAS,GAAhD42B,EAAgBz2B,EAAA,GAAEq+B,EAAiBr+B,EAAA,GAC1CG,EAAyCN,oBAAS,GAA3C2jC,EAAarjC,EAAA,GAAEsjC,EAAetjC,EAAA,GACrCG,EAAwBT,mBAAS,GAA1Bqc,EAAI5b,EAAA,GAAEojC,EAAOpjC,EAAA,GACpBG,EAAuCZ,oBAAkB,GAAlD8jC,EAAYljC,EAAA,GAAEmjC,EAAcnjC,EAAA,GACnCojC,EAAiCC,eAA1B7M,EAAM4M,EAAA,GAAEE,EAAcF,EAAA,GAC7BG,EAA0ClR,cAAlCD,EAAamR,EAAbnR,cAAeoR,EAAcD,EAAdC,eACvB7/B,EAAsDC,cAA9CC,EAASF,EAATE,UAAW23B,EAAY73B,EAAZ63B,aAAc13B,EAAQH,EAARG,SAAUC,EAAMJ,EAANI,OACnC48B,EAAejB,KAAfiB,WACF/B,EAAe6E,eAErB7iC,qBAAU,WACNtC,EAAMsiC,UAAYD,EAAWriC,EAAMsiC,YACpC,IAEHhgC,qBAAU,WACN,GAAIiD,EAAW,CACX,IAAM6/B,EAAWC,SACbnI,EAAaoI,QAAQ,cAAgB,QAE5B9/B,EAAS0sB,cAAc,SAAW,CAC3CzrB,MAAO,CAAE8Y,SAAU6lB,KAElB3+B,MAAM8Y,SAAc6lB,EAAQ,IACjCT,EAAQS,GACRG,KAGJ,OADAhgC,GAAaC,EAASc,iBAAiB,SAAUmD,IAC1C,WACHlE,GAAaC,EAASyE,oBAAoB,SAAUR,QAI5DnH,qBAAU,WACDkjC,eAAeF,QAAQ,aAAgBpC,IHrElDV,GAASiD,YAAYC,SAAS,CAAEC,SAAU,4FACvCljC,MAAK,SAAAmjC,GACJJ,eAAeK,QAAQ,WAAY,KAEnC,IACI/8B,EAAM,qCAAuC88B,EAAQ,gCACrD7O,EAAO,CACT+O,OAAQ,OACRC,QAAS,CAAE,cAJA,gKAKXn+B,KAAMo+B,KAAKC,UAAU,KAGvB1jC,MAAMuG,EAAKiuB,GAAMt0B,KAAI,eAAAC,EAAAC,YAAAC,IAAAC,MAAC,SAAAC,EAAMq/B,GAAG,OAAAv/B,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAAW,OAAXF,EAAAgjC,GAAI9F,QAAOl9B,EAAAE,KAAA,EAAW++B,EAAI9+B,OAAM,cAAAH,EAAAijC,GAAAjjC,EAAAI,KAAAJ,EAAAkjC,OAAA,SAAAljC,EAAAgjC,GAApB7F,IAAG7vB,KAAAtN,EAAAgjC,GAAAhjC,EAAAijC,KAAA,wBAAAjjC,EAAAK,UAAAT,OAAkB,gBAAAU,GAAA,OAAAd,EAAAe,MAAA,KAAAC,YAA3C,IAA6C2iC,OAAM,SAAAn5B,GAAK,OAAIkzB,QAAQlzB,MAAM,SAAUA,SAE1Gm5B,OAAM,SAAAC,GAAG,OAAIlG,QAAQC,IAAI,sBAAuBiG,MG0DxCpD,IHtDXV,GAASiD,YAAYc,WAAU,SAASC,GAGtC,IAAMC,EAAsB,CAC1B7+B,KAAM4+B,EAAQzP,KAAK2P,SAKrBvD,UAAUwD,cAAcC,kBAAkBnkC,MAAK,SAAAokC,GAAG,OAAIA,EAAIC,iBAAiBN,EAAQzP,KAAKnG,MAAO6V,WG8C5F,IAEH,IAiCIr9B,EA5BEm8B,GAA2B,WAC7B,GAAIrI,EAAaoI,QAAQ,eAAgB,CACrC,IAAMyB,EAAe7J,EAAaoI,QAAQ,eAE1C,MAAyB,gBADZU,KAAKzY,MAAMwZ,GACfC,aAGE9J,EAAa2I,QAChB,cACAG,KAAKC,UAAU,CAAEe,YAAa,cAAeC,KAAM,MAI3D,OAAO/J,EAAa2I,QAChB,cACAG,KAAKC,UAAU,CAAEe,YAAa,cAAeC,KAAM,OAKzDzH,GAAe,CAAE5I,IAAK6N,EAAepS,IAAKqS,GAE1Cr0B,GAAU,CACZkP,SAAU,CAAEqX,IAAKzZ,EAAMkV,IA5BT,SAAC6U,GACfhK,EAAa2I,QAAQ,YAAa,GAAGqB,GACrCvC,EAAQuC,KA2BR9U,YAAa,CAAEwE,IAAKgO,EAAcvS,IAAKwS,GACvCvE,aAAYvyB,OAAAye,OAAA,GAAO8T,IAKjB72B,GAAiB,WACnBhE,EAAOiE,aAAaN,GACpBA,EAAchD,YAAW,WACjBX,EAAOqE,YAAc,IACrBo7B,MAEL,KAyDP,OAdA5iC,qBAAU,WACN8D,YAAW,WACP,IAAI+gC,EAAO3hC,EAASgC,iBAAiB,eACjC2/B,GACAC,MAAMC,KAAKF,GAAMlgC,SAAQ,SAACqgC,GACtB,IAAIC,EAAUD,EAAO/F,qBAAqB,UAC1C6F,MAAMC,KAAKE,GAAStgC,SAAQ,SAAC0S,GACzBA,EAAO8nB,aAAa,WAAY,cAI7C,OACJ,IAGCl5B,IAAAC,cAACquB,IAAcnlB,SAAQ,CAAC1M,MAAOqL,IAC3B9H,IAAAC,cAACo1B,EAAM,CACHzB,UAAWn8B,EAAMm8B,UACjBqD,aAAcA,GACd/H,aAAcA,EACdC,iBAAkBA,EAClB2H,cAAeA,EACfC,kBAAmBA,EACnBpH,OAAQA,EACRC,YAAa6M,EACblR,cAAeA,EACfsI,kBAAmBp8B,EAAMo8B,kBACzBuD,iBAAkB3/B,EAAM2/B,iBACxBQ,WAAYngC,EAAMwnC,eAClB3H,WAAY7/B,EAAM6/B,WAClBD,YAAa5/B,EAAM4/B,cAEvBr3B,IAAAC,cAACkwB,EAAG,CACAjB,aAAcA,EACdC,iBAAkBA,EAClBQ,OAAQA,EACRC,YAAa6M,EACbrM,SAAU34B,EAAMynC,eAChB7O,YAAa54B,EAAM44B,cAEvBrwB,IAAAC,cAAA,WACKxI,EAAM0nC,WAjFK,SAACA,EAA+BtV,GACpD,OAAQsV,EAAUjT,cACd,IAAK,oBACD,OAAOlsB,IAAAC,cAAC4nB,EAAcsX,GAC1B,IAAK,eACD,OACIn/B,IAAAC,cAAC4sB,EAAarnB,OAAAye,OAAA,CAAC4F,YAAaA,GAAiBsV,IAErD,IAAK,kBACD,OACIn/B,IAAAC,cAAC6oB,EAAgBtjB,OAAAye,OAAA,CACb4F,YAAaA,GACTsV,IAGhB,IAAK,iBACD,OAAOn/B,IAAAC,cAAC2sB,EAAoBuS,GAChC,IAAK,qBACD,OAAOn/B,IAAAC,cAACirB,EAAwBiU,GACpC,IAAK,sBACD,OAAOn/B,IAAAC,cAAC0sB,EAAyBwS,GACrC,IAAK,mBACD,OAAOn/B,IAAAC,cAACoqB,EAAsB8U,GAClC,IAAK,kBACD,OAAOn/B,IAAAC,cAACpD,IAAmBsiC,GAC/B,IAAK,uBACD,OAAOn/B,IAAAC,cAACqqB,EAA0B6U,GACtC,IAAK,uBACD,OAAOn/B,IAAAC,cAACyqB,EAAyByU,GACrC,IAAK,mBACD,OAAOn/B,IAAAC,cAACsqB,EAAsB4U,GAClC,IAAK,cACD,OAAOn/B,IAAAC,cAAC6qB,EAAa,MACzB,IAAK,YACD,OAAO9qB,IAAAC,cAACm7B,GAAkBL,GAAqBoE,IACnD,QACI,OAAOn/B,IAAAC,cAAC4nB,EAAcsX,IA8ClBC,CAAgB3nC,EAAM0nC,UAAWr3B,GAAQ+hB,aAC7C7pB,IAAAC,cAAA,YAAOxI,EAAMqK,WAEjB9B,IAAAC,cAAC0xB,EAAM,CACH2B,cAAe+I,EACftJ,UAAWt7B,EAAMs7B,UACjBH,YAAan7B,EAAMm7B,YACnBC,YAAap7B,EAAMo7B,YACnBC,mBACsC,0BAAnB,QAAfmJ,EAAAxkC,EAAM0nC,iBAAS,IAAAlD,OAAA,EAAfA,EAAiB/P,iBAKvBz0B,EAAMsiC,UAAY/5B,IAAAC,cAACg4B,EAAW","file":"809e53f1ef729bf8bc82cb55c90f211847cd4d91-5b414dd9dfd07a1d9450.js","sourcesContent":["import React from 'react';\nexport default React.createContext(null);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport Paper from '../Paper';\nimport withStyles from '../styles/withStyles';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden'\n }\n};\nvar Card = /*#__PURE__*/React.forwardRef(function Card(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$raised = props.raised,\n raised = _props$raised === void 0 ? false : _props$raised,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"raised\"]);\n return /*#__PURE__*/React.createElement(Paper, _extends({\n className: clsx(classes.root, className),\n elevation: raised ? 8 : 1,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default withStyles(styles, {\n name: 'MuiCard'\n})(Card);","import { MetaSearchInterface } from \"../interfaces/MetaSearchInterface\";\r\nimport { useState, useEffect, useMemo } from \"react\";\r\n\r\nconst useMetaSearch = (\r\n meta: \"comfama\" | \"preguntas\" | \"biblioteca\" | \"bibliotecaComunidadesEmpleo\" | \"bibliotecaPersonasEmpleo\" | \"foroEmpleo\" | \"autores\" | \"empleo\" | \"redamor\" = \"comfama\" \r\n) => {\r\n const [metaSearch, setMetaSearch] = useState(\r\n null\r\n );\r\n const [filterSearch, setFilterSearch] = useState<\r\n MetaSearchInterface[] | null\r\n >(null);\r\n\r\n const [filterPage, setFilterPage] = useState([]);\r\n const [paginator, setPaginator] = useState(-1);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(10);\r\n const [lastSearch, setLastSearch] = useState(null);\r\n const [order, setOrder] = useState<\"ASC\" | \"DESC\">(\"ASC\");\r\n\r\n const jsonSearch = () => {\r\n switch (meta) {\r\n case \"comfama\":\r\n return \"/metas-mf/meta-comfama.json\";\r\n case \"preguntas\":\r\n return \"/metas-mf/meta-preguntas.json\";\r\n case \"biblioteca\":\r\n return \"/bibliotecas/metas-mf/meta-biblioteca.json\";\r\n case \"autores\":\r\n return \"/bibliotecas/metas-mf/meta-autores.json\";\r\n case \"redamor\":\r\n return \"/red-de-amor/metas-mf/meta-redamor.json\";\r\n case \"empleo\":\r\n return \"/servicio-de-empleo/metas-mf/meta-empleo.json\";\r\n case \"bibliotecaComunidadesEmpleo\":\r\n return \"/servicio-de-empleo/metas-mf/meta-biblioteca-comunidades.json\";\r\n case \"bibliotecaPersonasEmpleo\":\r\n return \"/servicio-de-empleo/metas-mf/meta-biblioteca-personas.json\";\r\n case \"foroEmpleo\":\r\n return \"/servicio-de-empleo/metas-mf/meta-foro.json\";\r\n default:\r\n return \"/metas-mf/meta-comfama.json\";\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!metaSearch) {\r\n const _get = fetch(jsonSearch());\r\n _get.then(async (resp) => {\r\n const metadata = await resp.json();\r\n setMetaSearch(metadata);\r\n });\r\n }\r\n doFilter(lastSearch!);\r\n }, [lastSearch, limit, order, metaSearch]);\r\n\r\n const doFilter = (search: string) => {\r\n if (!metaSearch || !search || search.length < 3) {\r\n setFilterSearch(null);\r\n setFilterPage([]);\r\n setPaginator(-1);\r\n setTotalPages(0);\r\n } else {\r\n const filter = metaSearch\r\n .filter((meta) => meta.indexSearch.indexOf(search.toLowerCase()) > -1)\r\n .sort(fSort[order]);\r\n const nPages = filter.length / limit;\r\n setFilterSearch(filter);\r\n setTotalPages(\r\n nPages - Math.floor(nPages) !== 0 ? Math.ceil(nPages) : nPages\r\n );\r\n setFilterPage(filter.slice(0, limit));\r\n setPaginator(0);\r\n }\r\n };\r\n\r\n const fSort = {\r\n ASC: (a: MetaSearchInterface, b: MetaSearchInterface) =>\r\n a.fecha < b.fecha ? 1 : -1,\r\n DESC: (a: MetaSearchInterface, b: MetaSearchInterface) =>\r\n a.fecha > b.fecha ? 1 : -1,\r\n };\r\n\r\n useMemo(() => {\r\n if (paginator >= 0) {\r\n const slice = paginator * limit;\r\n if (filterSearch) setFilterPage(filterSearch.slice(slice, slice + limit));\r\n }\r\n }, [paginator]);\r\n\r\n const goNext = () => {\r\n goToPage(paginator + 1);\r\n };\r\n\r\n const goBack = () => {\r\n goToPage(paginator - 1);\r\n };\r\n\r\n const goToPage = (value: number) => {\r\n setPaginator(value);\r\n };\r\n\r\n const doSearch = (value: string) => {\r\n if (value !== lastSearch) {\r\n setLastSearch(value);\r\n }\r\n };\r\n\r\n return {\r\n metaSearch,\r\n filterSearch,\r\n filterPage,\r\n paginator,\r\n totalPages,\r\n goNext,\r\n goBack,\r\n goToPage,\r\n setLimit,\r\n doSearch,\r\n setOrder,\r\n order,\r\n };\r\n};\r\n\r\nexport default useMetaSearch;\r\n","import React, { useEffect, useState } from 'react'\r\nimport { ReferenciaCabecera } from '../../../interfaces/ReferenciaCabecera'\r\nimport useBrowserMode from '../../../shared/hooks/useBrowserMode';\r\nimport './headboardTrees.scss'\r\n\r\nconst HeadboardTrees = (props:ReferenciaCabecera) => {\r\n\r\n const { isBrowser, document, window } = useBrowserMode();\r\n const [scrollTitle, setScrollTitle] = useState()\r\n const [scrollImg1, setScrollImg1] = useState()\r\n const [scrollImg2, setScrollImg2] = useState()\r\n const [scrollImg3, setScrollImg3] = useState()\r\n const [scrollImg4, setScrollImg4] = useState()\r\n \r\n useEffect(() => {\r\n setTimeout(() => {\r\n setScrollTitle(document.getElementById('parallax-title-arboles'))\r\n setScrollImg1(document.getElementById('parallax-img1-arboles'))\r\n setScrollImg2(document.getElementById('parallax-img2-arboles'))\r\n setScrollImg3(document.getElementById('parallax-img3-arboles'))\r\n setScrollImg4(document.getElementById('parallax-img4-arboles'))\r\n }, 1000);\r\n }, [])\r\n if (isBrowser) {\r\n window.addEventListener('scroll', () => {\r\n let scrollValue = window.scrollY;\r\n if (scrollTitle) scrollTitle.style.marginTop = scrollValue * 0.6 + 'px';\r\n if (scrollImg1) scrollImg1.style.marginLeft = scrollValue * -0.9 + 'px';\r\n if (scrollImg2) scrollImg2.style.marginLeft = scrollValue * -1.3 + 'px';\r\n if (scrollImg2) scrollImg2.style.marginBottom = scrollValue * -1.3 + 'px';\r\n if (scrollImg3) scrollImg3.style.marginRight = scrollValue * -0.9 + 'px';\r\n if (scrollImg4) scrollImg4.style.marginRight = scrollValue * -1.3 + 'px';\r\n if (scrollImg4) scrollImg4.style.marginBottom = scrollValue * -1.3 + 'px';\r\n })\r\n \r\n const observer = new IntersectionObserver((entries) => {\r\n entries.forEach((entry) => {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add('tree--show')\r\n } else {\r\n entry.target.classList.remove('tree--show')\r\n }\r\n })\r\n })\r\n const hiddenImgs = document.querySelectorAll('.tree--hidden')\r\n hiddenImgs.forEach((img) => observer.observe(img))\r\n \r\n document.addEventListener('mousemove', parallax)\r\n }\r\n \r\n function parallax(e) {\r\n document.body.querySelectorAll('.tree-img--parallax').forEach(image => {\r\n const speed = image.getAttribute('data-speed')\r\n const y = (window.innerHeight - e.pageY*speed)/80\r\n const x = (window.innerWidth - e.pageX*speed)/100\r\n switch (+speed) {\r\n case 1:\r\n image.style.transform = `translateX(${x}px)`\r\n return\r\n case 3:\r\n image.style.transform = `translateX(${1.5*x}px) translateY(${-y}px) scaleX(-1)`\r\n return\r\n case 2:\r\n image.style.transform = `translateX(${-x}px) scaleX(-1)`\r\n return\r\n default: //case 4\r\n image.style.transform = `translateX(${1.5*-x}px) translateY(${-y}px)`\r\n return\r\n }\r\n });\r\n }\r\n \r\n return (\r\n
\r\n \r\n {props.imagenesArboles[0].file.fileName}\r\n

{props.tituloPrincipal}

\r\n {props.imagenesArboles[1].file.fileName}\r\n {props.imagenesArboles[2].file.fileName}\r\n {props.imagenesArboles[3].file.fileName}\r\n {props.imagenesArboles[2].file.fileName}\r\n {props.imagenesArboles[3].file.fileName}\r\n
\r\n )\r\n}\r\n\r\nexport default HeadboardTrees\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport useBrowserMode from \"./useBrowserMode\";\r\n\r\nconst useScrollDetect = () => {\r\n/* Zone detect scroll */\r\n const { isBrowser, document, window } = useBrowserMode();\r\n const refElement = useRef();\r\n const [isScrollActive, setIsScrollActive] = useState(false);\r\n let timerScroll:any;\r\n const onScrollAction = () => {\r\n window.clearTimeout( timerScroll );\r\n timerScroll = setTimeout(()=> {\r\n \r\n const el: HTMLElement = refElement.current;\r\n const boundElement = el.getBoundingClientRect();\r\n // console.log( 'elemento', boundElement.top );\r\n // console.log('window', window.pageYOffset, window.pageYOffset >= (boundElement.top + boundElement.height) );\r\n setIsScrollActive(window.pageYOffset > 0 && window.pageYOffset >= (boundElement.top + boundElement.height) );\r\n }, 66);\r\n }\r\n useEffect( () => {\r\n if( isBrowser ) {\r\n document.addEventListener('scroll', onScrollAction);\r\n }\r\n return () => {\r\n isBrowser && document.removeEventListener('scroll', onScrollAction);\r\n }\r\n },[])\r\n return { refElement, isScrollActive };\r\n/* ZoneClose detect scroll */\r\n}\r\n\r\nexport default useScrollDetect;\r\n\r\n","// TODO v5: consider to make it private\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport { chainPropTypes } from '@material-ui/utils';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'block',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center'\n },\n /* Styles applied to the root element if `component=\"video, audio, picture, iframe, or img\"`. */\n media: {\n width: '100%'\n },\n /* Styles applied to the root element if `component=\"picture or img\"`. */\n img: {\n // ⚠️ object-fit is not supported by IE 11.\n objectFit: 'cover'\n }\n};\nvar MEDIA_COMPONENTS = ['video', 'audio', 'picture', 'iframe', 'img'];\nvar CardMedia = /*#__PURE__*/React.forwardRef(function CardMedia(props, ref) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n image = props.image,\n src = props.src,\n style = props.style,\n other = _objectWithoutProperties(props, [\"children\", \"classes\", \"className\", \"component\", \"image\", \"src\", \"style\"]);\n var isMediaComponent = MEDIA_COMPONENTS.indexOf(Component) !== -1;\n var composedStyle = !isMediaComponent && image ? _extends({\n backgroundImage: \"url(\\\"\".concat(image, \"\\\")\")\n }, style) : style;\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, isMediaComponent && classes.media, \"picture img\".indexOf(Component) !== -1 && classes.img),\n ref: ref,\n style: composedStyle,\n src: isMediaComponent ? image || src : undefined\n }, other), children);\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default withStyles(styles, {\n name: 'MuiCardMedia'\n})(CardMedia);","import * as React from 'react';\nvar useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n *\n * @param {function} fn\n */\n\nexport default function useEventCallback(fn) {\n var ref = React.useRef(fn);\n useEnhancedEffect(function () {\n ref.current = fn;\n });\n return React.useCallback(function () {\n return (0, ref.current).apply(void 0, arguments);\n }, []);\n}","// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nvar hadKeyboardEvent = true;\nvar hadFocusVisibleRecently = false;\nvar hadFocusVisibleRecentlyTimeout = null;\nvar inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @return {boolean}\n */\n\nfunction focusTriggersKeyboardModality(node) {\n var type = node.type,\n tagName = node.tagName;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\n\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\n\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n var target = event.target;\n try {\n return target.matches(':focus-visible');\n } catch (error) {} // browsers not implementing :focus-visible will throw a SyntaxError\n // we use our own heuristic for those browsers\n // rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n // no need for validFocusTarget check. the user does that by attaching it to\n // focusable events only\n\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\n/**\n * Should be called if a blur event is fired on a focus-visible element\n */\n\nfunction handleBlurVisible() {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function () {\n hadFocusVisibleRecently = false;\n }, 100);\n}\nexport default function useIsFocusVisible() {\n var ref = React.useCallback(function (instance) {\n var node = ReactDOM.findDOMNode(instance);\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(isFocusVisible);\n }\n return {\n isFocusVisible: isFocusVisible,\n onBlurVisible: handleBlurVisible,\n ref: ref\n };\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n var i;\n var childMapping = {};\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n return childMapping;\n}\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n function TransitionGroup(props, context) {\n var _this;\n _this = _React$Component.call(this, props, context) || this;\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n var _proto = TransitionGroup.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n return TransitionGroup;\n}(React.Component);\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import * as React from 'react';\nimport clsx from 'clsx';\nimport useEventCallback from '../utils/useEventCallback';\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n/**\n * @ignore - internal component.\n */\n\nfunction Ripple(props) {\n var classes = props.classes,\n _props$pulsate = props.pulsate,\n pulsate = _props$pulsate === void 0 ? false : _props$pulsate,\n rippleX = props.rippleX,\n rippleY = props.rippleY,\n rippleSize = props.rippleSize,\n inProp = props.in,\n _props$onExited = props.onExited,\n onExited = _props$onExited === void 0 ? function () {} : _props$onExited,\n timeout = props.timeout;\n var _React$useState = React.useState(false),\n leaving = _React$useState[0],\n setLeaving = _React$useState[1];\n var rippleClassName = clsx(classes.ripple, classes.rippleVisible, pulsate && classes.ripplePulsate);\n var rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n var childClassName = clsx(classes.child, leaving && classes.childLeaving, pulsate && classes.childPulsate);\n var handleExited = useEventCallback(onExited); // Ripple is used for user feedback (e.g. click or press) so we want to apply styles with the highest priority\n\n useEnhancedEffect(function () {\n if (!inProp) {\n // react-transition-group#onExit\n setLeaving(true); // react-transition-group#onExited\n\n var timeoutId = setTimeout(handleExited, timeout);\n return function () {\n clearTimeout(timeoutId);\n };\n }\n return undefined;\n }, [handleExited, inProp, timeout]);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: rippleClassName,\n style: rippleStyles\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: childClassName\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default Ripple;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { TransitionGroup } from 'react-transition-group';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport Ripple from './Ripple';\nvar DURATION = 550;\nexport var DELAY_RIPPLE = 80;\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit'\n },\n /* Styles applied to the internal `Ripple` components `ripple` class. */\n ripple: {\n opacity: 0,\n position: 'absolute'\n },\n /* Styles applied to the internal `Ripple` components `rippleVisible` class. */\n rippleVisible: {\n opacity: 0.3,\n transform: 'scale(1)',\n animation: \"$enter \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n /* Styles applied to the internal `Ripple` components `ripplePulsate` class. */\n ripplePulsate: {\n animationDuration: \"\".concat(theme.transitions.duration.shorter, \"ms\")\n },\n /* Styles applied to the internal `Ripple` components `child` class. */\n child: {\n opacity: 1,\n display: 'block',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n backgroundColor: 'currentColor'\n },\n /* Styles applied to the internal `Ripple` components `childLeaving` class. */\n childLeaving: {\n opacity: 0,\n animation: \"$exit \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n /* Styles applied to the internal `Ripple` components `childPulsate` class. */\n childPulsate: {\n position: 'absolute',\n left: 0,\n top: 0,\n animation: \"$pulsate 2500ms \".concat(theme.transitions.easing.easeInOut, \" 200ms infinite\")\n },\n '@keyframes enter': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.1\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.3\n }\n },\n '@keyframes exit': {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n },\n '@keyframes pulsate': {\n '0%': {\n transform: 'scale(1)'\n },\n '50%': {\n transform: 'scale(0.92)'\n },\n '100%': {\n transform: 'scale(1)'\n }\n }\n };\n};\n/**\n * @ignore - internal component.\n *\n * TODO v5: Make private\n */\n\nvar TouchRipple = /*#__PURE__*/React.forwardRef(function TouchRipple(props, ref) {\n var _props$center = props.center,\n centerProp = _props$center === void 0 ? false : _props$center,\n classes = props.classes,\n className = props.className,\n other = _objectWithoutProperties(props, [\"center\", \"classes\", \"className\"]);\n var _React$useState = React.useState([]),\n ripples = _React$useState[0],\n setRipples = _React$useState[1];\n var nextKey = React.useRef(0);\n var rippleCallback = React.useRef(null);\n React.useEffect(function () {\n if (rippleCallback.current) {\n rippleCallback.current();\n rippleCallback.current = null;\n }\n }, [ripples]); // Used to filter out mouse emulated events on mobile.\n\n var ignoringMouseDown = React.useRef(false); // We use a timer in order to only show the ripples for touch \"click\" like events.\n // We don't want to display the ripple for touch scroll events.\n\n var startTimer = React.useRef(null); // This is the hook called once the previous timeout is ready.\n\n var startTimerCommit = React.useRef(null);\n var container = React.useRef(null);\n React.useEffect(function () {\n return function () {\n clearTimeout(startTimer.current);\n };\n }, []);\n var startCommit = React.useCallback(function (params) {\n var pulsate = params.pulsate,\n rippleX = params.rippleX,\n rippleY = params.rippleY,\n rippleSize = params.rippleSize,\n cb = params.cb;\n setRipples(function (oldRipples) {\n return [].concat(_toConsumableArray(oldRipples), [/*#__PURE__*/React.createElement(Ripple, {\n key: nextKey.current,\n classes: classes,\n timeout: DURATION,\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n })]);\n });\n nextKey.current += 1;\n rippleCallback.current = cb;\n }, [classes]);\n var start = React.useCallback(function () {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var _options$pulsate = options.pulsate,\n pulsate = _options$pulsate === void 0 ? false : _options$pulsate,\n _options$center = options.center,\n center = _options$center === void 0 ? centerProp || options.pulsate : _options$center,\n _options$fakeElement = options.fakeElement,\n fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement;\n if (event.type === 'mousedown' && ignoringMouseDown.current) {\n ignoringMouseDown.current = false;\n return;\n }\n if (event.type === 'touchstart') {\n ignoringMouseDown.current = true;\n }\n var element = fakeElement ? null : container.current;\n var rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n }; // Get the size of the ripple\n\n var rippleX;\n var rippleY;\n var rippleSize;\n if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n var _ref = event.touches ? event.touches[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n if (center) {\n rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even.\n\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2));\n } // Touche devices\n\n if (event.touches) {\n // check that this isn't another touchstart due to multitouch\n // otherwise we will only clear a single timer when unmounting while two\n // are running\n if (startTimerCommit.current === null) {\n // Prepare the ripple effect.\n startTimerCommit.current = function () {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }; // Delay the execution of the ripple effect.\n\n startTimer.current = setTimeout(function () {\n if (startTimerCommit.current) {\n startTimerCommit.current();\n startTimerCommit.current = null;\n }\n }, DELAY_RIPPLE); // We have to make a tradeoff with this value.\n }\n } else {\n startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }\n }, [centerProp, startCommit]);\n var pulsate = React.useCallback(function () {\n start({}, {\n pulsate: true\n });\n }, [start]);\n var stop = React.useCallback(function (event, cb) {\n clearTimeout(startTimer.current); // The touch interaction occurs too quickly.\n // We still want to show ripple effect.\n\n if (event.type === 'touchend' && startTimerCommit.current) {\n event.persist();\n startTimerCommit.current();\n startTimerCommit.current = null;\n startTimer.current = setTimeout(function () {\n stop(event, cb);\n });\n return;\n }\n startTimerCommit.current = null;\n setRipples(function (oldRipples) {\n if (oldRipples.length > 0) {\n return oldRipples.slice(1);\n }\n return oldRipples;\n });\n rippleCallback.current = cb;\n }, []);\n React.useImperativeHandle(ref, function () {\n return {\n pulsate: pulsate,\n start: start,\n stop: stop\n };\n }, [pulsate, start, stop]);\n return /*#__PURE__*/React.createElement(\"span\", _extends({\n className: clsx(classes.root, className),\n ref: container\n }, other), /*#__PURE__*/React.createElement(TransitionGroup, {\n component: null,\n exit: true\n }, ripples));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default withStyles(styles, {\n flip: false,\n name: 'MuiTouchRipple'\n})( /*#__PURE__*/React.memo(TouchRipple));","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport clsx from 'clsx';\nimport { elementTypeAcceptingRef, refType } from '@material-ui/utils';\nimport useForkRef from '../utils/useForkRef';\nimport useEventCallback from '../utils/useEventCallback';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nimport withStyles from '../styles/withStyles';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport TouchRipple from './TouchRipple';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n\n '&$disabled': {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n },\n '@media print': {\n colorAdjust: 'exact'\n }\n },\n /* Pseudo-class applied to the root element if `disabled={true}`. */\n disabled: {},\n /* Pseudo-class applied to the root element if keyboard focused. */\n focusVisible: {}\n};\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\n\nvar ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {\n var action = props.action,\n buttonRefProp = props.buttonRef,\n _props$centerRipple = props.centerRipple,\n centerRipple = _props$centerRipple === void 0 ? false : _props$centerRipple,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n component = _props$component === void 0 ? 'button' : _props$component,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableRipple = props.disableRipple,\n disableRipple = _props$disableRipple === void 0 ? false : _props$disableRipple,\n _props$disableTouchRi = props.disableTouchRipple,\n disableTouchRipple = _props$disableTouchRi === void 0 ? false : _props$disableTouchRi,\n _props$focusRipple = props.focusRipple,\n focusRipple = _props$focusRipple === void 0 ? false : _props$focusRipple,\n focusVisibleClassName = props.focusVisibleClassName,\n onBlur = props.onBlur,\n onClick = props.onClick,\n onFocus = props.onFocus,\n onFocusVisible = props.onFocusVisible,\n onKeyDown = props.onKeyDown,\n onKeyUp = props.onKeyUp,\n onMouseDown = props.onMouseDown,\n onMouseLeave = props.onMouseLeave,\n onMouseUp = props.onMouseUp,\n onTouchEnd = props.onTouchEnd,\n onTouchMove = props.onTouchMove,\n onTouchStart = props.onTouchStart,\n onDragLeave = props.onDragLeave,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n TouchRippleProps = props.TouchRippleProps,\n _props$type = props.type,\n type = _props$type === void 0 ? 'button' : _props$type,\n other = _objectWithoutProperties(props, [\"action\", \"buttonRef\", \"centerRipple\", \"children\", \"classes\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"disableTouchRipple\", \"focusRipple\", \"focusVisibleClassName\", \"onBlur\", \"onClick\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"onDragLeave\", \"tabIndex\", \"TouchRippleProps\", \"type\"]);\n var buttonRef = React.useRef(null);\n function getButtonNode() {\n // #StrictMode ready\n return ReactDOM.findDOMNode(buttonRef.current);\n }\n var rippleRef = React.useRef(null);\n var _React$useState = React.useState(false),\n focusVisible = _React$useState[0],\n setFocusVisible = _React$useState[1];\n if (disabled && focusVisible) {\n setFocusVisible(false);\n }\n var _useIsFocusVisible = useIsFocusVisible(),\n isFocusVisible = _useIsFocusVisible.isFocusVisible,\n onBlurVisible = _useIsFocusVisible.onBlurVisible,\n focusVisibleRef = _useIsFocusVisible.ref;\n React.useImperativeHandle(action, function () {\n return {\n focusVisible: function focusVisible() {\n setFocusVisible(true);\n buttonRef.current.focus();\n }\n };\n }, []);\n React.useEffect(function () {\n if (focusVisible && focusRipple && !disableRipple) {\n rippleRef.current.pulsate();\n }\n }, [disableRipple, focusRipple, focusVisible]);\n function useRippleHandler(rippleAction, eventCallback) {\n var skipRippleAction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : disableTouchRipple;\n return useEventCallback(function (event) {\n if (eventCallback) {\n eventCallback(event);\n }\n var ignore = skipRippleAction;\n if (!ignore && rippleRef.current) {\n rippleRef.current[rippleAction](event);\n }\n return true;\n });\n }\n var handleMouseDown = useRippleHandler('start', onMouseDown);\n var handleDragLeave = useRippleHandler('stop', onDragLeave);\n var handleMouseUp = useRippleHandler('stop', onMouseUp);\n var handleMouseLeave = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n event.preventDefault();\n }\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n });\n var handleTouchStart = useRippleHandler('start', onTouchStart);\n var handleTouchEnd = useRippleHandler('stop', onTouchEnd);\n var handleTouchMove = useRippleHandler('stop', onTouchMove);\n var handleBlur = useRippleHandler('stop', function (event) {\n if (focusVisible) {\n onBlurVisible(event);\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n }, false);\n var handleFocus = useEventCallback(function (event) {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!buttonRef.current) {\n buttonRef.current = event.currentTarget;\n }\n if (isFocusVisible(event)) {\n setFocusVisible(true);\n if (onFocusVisible) {\n onFocusVisible(event);\n }\n }\n if (onFocus) {\n onFocus(event);\n }\n });\n var isNonNativeButton = function isNonNativeButton() {\n var button = getButtonNode();\n return component && component !== 'button' && !(button.tagName === 'A' && button.href);\n };\n /**\n * IE 11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat\n */\n\n var keydownRef = React.useRef(false);\n var handleKeyDown = useEventCallback(function (event) {\n // Check if key is already down to avoid repeats being counted as multiple activations\n if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {\n keydownRef.current = true;\n event.persist();\n rippleRef.current.stop(event, function () {\n rippleRef.current.start(event);\n });\n }\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {\n event.preventDefault();\n }\n if (onKeyDown) {\n onKeyDown(event);\n } // Keyboard accessibility for non interactive elements\n\n if (event.target === event.currentTarget && isNonNativeButton() && event.key === 'Enter' && !disabled) {\n event.preventDefault();\n if (onClick) {\n onClick(event);\n }\n }\n });\n var handleKeyUp = useEventCallback(function (event) {\n // calling preventDefault in keyUp on a \n * \n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n function Transition(props, context) {\n var _this;\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n if (prevProps !== this.props) {\n var status = this.state.status;\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n this.updateStatus(false, nextStatus);\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n _proto.performExit = function performExit() {\n var _this3 = this;\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n var active = true;\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n this.nextCallback.cancel = function () {\n active = false;\n };\n return this.nextCallback;\n };\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n _proto.render = function render() {\n var status = this.state.status;\n if (status === UNMOUNTED) {\n return null;\n }\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n return /*#__PURE__*/(\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n return Transition;\n}(React.Component);\nTransition.contextType = TransitionGroupContext;\n// Name the function so it is clearer in the documentation\n\nfunction noop() {}\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","export var reflow = function reflow(node) {\n return node.scrollTop;\n};\nexport function getTransitionProps(props, options) {\n var timeout = props.timeout,\n _props$style = props.style,\n style = _props$style === void 0 ? {} : _props$style;\n return {\n duration: style.transitionDuration || typeof timeout === 'number' ? timeout : timeout[options.mode] || 0,\n delay: style.transitionDelay\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { Transition } from 'react-transition-group';\nimport useTheme from '../styles/useTheme';\nimport { reflow, getTransitionProps } from '../transitions/utils';\nimport useForkRef from '../utils/useForkRef';\nfunction getScale(value) {\n return \"scale(\".concat(value, \", \").concat(Math.pow(value, 2), \")\");\n}\nvar styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: 'none'\n }\n};\n/**\n * The Grow transition is used by the [Tooltip](/components/tooltips/) and\n * [Popover](/components/popover/) components.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Grow = /*#__PURE__*/React.forwardRef(function Grow(props, ref) {\n var children = props.children,\n _props$disableStrictM = props.disableStrictModeCompat,\n disableStrictModeCompat = _props$disableStrictM === void 0 ? false : _props$disableStrictM,\n inProp = props.in,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExit = props.onExit,\n onExited = props.onExited,\n onExiting = props.onExiting,\n style = props.style,\n _props$timeout = props.timeout,\n timeout = _props$timeout === void 0 ? 'auto' : _props$timeout,\n _props$TransitionComp = props.TransitionComponent,\n TransitionComponent = _props$TransitionComp === void 0 ? Transition : _props$TransitionComp,\n other = _objectWithoutProperties(props, [\"children\", \"disableStrictModeCompat\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"]);\n var timer = React.useRef();\n var autoTimeout = React.useRef();\n var theme = useTheme();\n var enableStrictModeCompat = theme.unstable_strictMode && !disableStrictModeCompat;\n var nodeRef = React.useRef(null);\n var foreignRef = useForkRef(children.ref, ref);\n var handleRef = useForkRef(enableStrictModeCompat ? nodeRef : undefined, foreignRef);\n var normalizedTransitionCallback = function normalizedTransitionCallback(callback) {\n return function (nodeOrAppearing, maybeAppearing) {\n if (callback) {\n var _ref = enableStrictModeCompat ? [nodeRef.current, nodeOrAppearing] : [nodeOrAppearing, maybeAppearing],\n _ref2 = _slicedToArray(_ref, 2),\n node = _ref2[0],\n isAppearing = _ref2[1]; // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n\n if (isAppearing === undefined) {\n callback(node);\n } else {\n callback(node, isAppearing);\n }\n }\n };\n };\n var handleEntering = normalizedTransitionCallback(onEntering);\n var handleEnter = normalizedTransitionCallback(function (node, isAppearing) {\n reflow(node); // So the animation always start from the start.\n\n var _getTransitionProps = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'enter'\n }),\n transitionDuration = _getTransitionProps.duration,\n delay = _getTransitionProps.delay;\n var duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay\n })].join(',');\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n var handleEntered = normalizedTransitionCallback(onEntered);\n var handleExiting = normalizedTransitionCallback(onExiting);\n var handleExit = normalizedTransitionCallback(function (node) {\n var _getTransitionProps2 = getTransitionProps({\n style: style,\n timeout: timeout\n }, {\n mode: 'exit'\n }),\n transitionDuration = _getTransitionProps2.duration,\n delay = _getTransitionProps2.delay;\n var duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay || duration * 0.333\n })].join(',');\n node.style.opacity = '0';\n node.style.transform = getScale(0.75);\n if (onExit) {\n onExit(node);\n }\n });\n var handleExited = normalizedTransitionCallback(onExited);\n var addEndListener = function addEndListener(nodeOrNext, maybeNext) {\n var next = enableStrictModeCompat ? nodeOrNext : maybeNext;\n if (timeout === 'auto') {\n timer.current = setTimeout(next, autoTimeout.current || 0);\n }\n };\n React.useEffect(function () {\n return function () {\n clearTimeout(timer.current);\n };\n }, []);\n return /*#__PURE__*/React.createElement(TransitionComponent, _extends({\n appear: true,\n in: inProp,\n nodeRef: enableStrictModeCompat ? nodeRef : undefined,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: addEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other), function (state, childProps) {\n return /*#__PURE__*/React.cloneElement(children, _extends({\n style: _extends({\n opacity: 0,\n transform: getScale(0.75),\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nGrow.muiSupportAuto = true;\nexport default Grow;","import { useTheme as useThemeWithoutDefault } from '@material-ui/styles';\nimport React from 'react';\nimport defaultTheme from './defaultTheme';\nexport default function useTheme() {\n var theme = useThemeWithoutDefault() || defaultTheme;\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme;\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"o_headboard_main\":\"headboardMain-module--o_headboard_main--20B_y\",\"o_headboard_main__bg\":\"headboardMain-module--o_headboard_main__bg--1kfsV\",\"o_headboard_main__container\":\"headboardMain-module--o_headboard_main__container--1aqj9\",\"o_headboard_main__info\":\"headboardMain-module--o_headboard_main__info--2qCfN\",\"o_headboard_main__subtitle\":\"headboardMain-module--o_headboard_main__subtitle--1Kouk\",\"o_headboard_main__title\":\"headboardMain-module--o_headboard_main__title--X50xI\",\"o_headboard_main__desc\":\"headboardMain-module--o_headboard_main__desc--hPiMp\",\"o_headboard_main__actions\":\"headboardMain-module--o_headboard_main__actions--7rIzh\",\"o_headboard_main__btn\":\"headboardMain-module--o_headboard_main__btn--3qnoQ\"};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nexport var styles = function styles(theme) {\n var elevations = {};\n theme.shadows.forEach(function (shadow, index) {\n elevations[\"elevation\".concat(index)] = {\n boxShadow: shadow\n };\n });\n return _extends({\n /* Styles applied to the root element. */\n root: {\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n transition: theme.transitions.create('box-shadow')\n },\n /* Styles applied to the root element if `square={false}`. */\n rounded: {\n borderRadius: theme.shape.borderRadius\n },\n /* Styles applied to the root element if `variant=\"outlined\"`. */\n outlined: {\n border: \"1px solid \".concat(theme.palette.divider)\n }\n }, elevations);\n};\nvar Paper = /*#__PURE__*/React.forwardRef(function Paper(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$square = props.square,\n square = _props$square === void 0 ? false : _props$square,\n _props$elevation = props.elevation,\n elevation = _props$elevation === void 0 ? 1 : _props$elevation,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'elevation' : _props$variant,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\", \"square\", \"elevation\", \"variant\"]);\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, variant === 'outlined' ? classes.outlined : classes[\"elevation\".concat(elevation)], !square && classes.rounded),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default withStyles(styles, {\n name: 'MuiPaper'\n})(Paper);","const MONTHS = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];\r\n\r\nconst configDecimals = (valor: number) => {\r\n return valor >= 10 ? valor : '0' + valor;\r\n};\r\n\r\nexport const getFormatDate = (text: string | number, mode: number = 0) => {\r\n if (!text) {\r\n return 'No Disponible';\r\n } else {\r\n const date = new Date(text);\r\n switch (mode) {\r\n case 0:\r\n return `${configDecimals(date.getDate())} de ${MONTHS[date.getMonth()]} ${date.getFullYear()}`;\r\n case 1:\r\n return `${configDecimals(date.getDate())}/${configDecimals(date.getMonth() + 1)}/${date.getFullYear().toString().substring(2)}`;\r\n case 2:\r\n return `${date.getDate()} ${MONTHS[date.getMonth()].substr(0, 3)}, ${date.getFullYear()}`;\r\n case 3:\r\n return `${date.getDate()} de ${MONTHS[date.getMonth()].toLowerCase()}`;\r\n }\r\n }\r\n};\r\n\r\n\r\nexport const getDateMonth = (date: string) => {\r\n if (date) {\r\n return MONTHS[new Date(date).getMonth()];\r\n }\r\n return 'No Disponible';\r\n};\r\n\r\nexport const getDiffDays = (dateOne: string, dateTwo: string) => {\r\n const date1 = new Date(dateOne);\r\n const date2 = new Date(dateTwo);\r\n const day = ((date2.getTime() - date1.getTime()) / 86400 / 1000);\r\n return Math.round(day) || Math.trunc(day);\r\n};\r\n\r\nexport const getDateYear = (date: string) => {\r\n if (date) {\r\n return new Date(date).getFullYear().toString();\r\n }\r\n return 'No Disponible';\r\n};\r\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'flex',\n alignItems: 'center',\n padding: 8\n },\n /* Styles applied to the root element if `disableSpacing={false}`. */\n spacing: {\n '& > :not(:first-child)': {\n marginLeft: 8\n }\n }\n};\nvar CardActions = /*#__PURE__*/React.forwardRef(function CardActions(props, ref) {\n var _props$disableSpacing = props.disableSpacing,\n disableSpacing = _props$disableSpacing === void 0 ? false : _props$disableSpacing,\n classes = props.classes,\n className = props.className,\n other = _objectWithoutProperties(props, [\"disableSpacing\", \"classes\", \"className\"]);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clsx(classes.root, className, !disableSpacing && classes.spacing),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default withStyles(styles, {\n name: 'MuiCardActions'\n})(CardActions);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nexport var styles = {\n /* Styles applied to the root element. */\n root: {\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n }\n};\nvar CardContent = /*#__PURE__*/React.forwardRef(function CardContent(props, ref) {\n var classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n other = _objectWithoutProperties(props, [\"classes\", \"className\", \"component\"]);\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default withStyles(styles, {\n name: 'MuiCardContent'\n})(CardContent);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport capitalize from '../utils/capitalize';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n margin: 0\n },\n /* Styles applied to the root element if `variant=\"body2\"`. */\n body2: theme.typography.body2,\n /* Styles applied to the root element if `variant=\"body1\"`. */\n body1: theme.typography.body1,\n /* Styles applied to the root element if `variant=\"caption\"`. */\n caption: theme.typography.caption,\n /* Styles applied to the root element if `variant=\"button\"`. */\n button: theme.typography.button,\n /* Styles applied to the root element if `variant=\"h1\"`. */\n h1: theme.typography.h1,\n /* Styles applied to the root element if `variant=\"h2\"`. */\n h2: theme.typography.h2,\n /* Styles applied to the root element if `variant=\"h3\"`. */\n h3: theme.typography.h3,\n /* Styles applied to the root element if `variant=\"h4\"`. */\n h4: theme.typography.h4,\n /* Styles applied to the root element if `variant=\"h5\"`. */\n h5: theme.typography.h5,\n /* Styles applied to the root element if `variant=\"h6\"`. */\n h6: theme.typography.h6,\n /* Styles applied to the root element if `variant=\"subtitle1\"`. */\n subtitle1: theme.typography.subtitle1,\n /* Styles applied to the root element if `variant=\"subtitle2\"`. */\n subtitle2: theme.typography.subtitle2,\n /* Styles applied to the root element if `variant=\"overline\"`. */\n overline: theme.typography.overline,\n /* Styles applied to the root element if `variant=\"srOnly\"`. Only accessible to screen readers. */\n srOnly: {\n position: 'absolute',\n height: 1,\n width: 1,\n overflow: 'hidden'\n },\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right'\n },\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n },\n /* Styles applied to the root element if `nowrap={true}`. */\n noWrap: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n /* Styles applied to the root element if `gutterBottom={true}`. */\n gutterBottom: {\n marginBottom: '0.35em'\n },\n /* Styles applied to the root element if `paragraph={true}`. */\n paragraph: {\n marginBottom: 16\n },\n /* Styles applied to the root element if `color=\"inherit\"`. */\n colorInherit: {\n color: 'inherit'\n },\n /* Styles applied to the root element if `color=\"primary\"`. */\n colorPrimary: {\n color: theme.palette.primary.main\n },\n /* Styles applied to the root element if `color=\"secondary\"`. */\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n /* Styles applied to the root element if `color=\"textPrimary\"`. */\n colorTextPrimary: {\n color: theme.palette.text.primary\n },\n /* Styles applied to the root element if `color=\"textSecondary\"`. */\n colorTextSecondary: {\n color: theme.palette.text.secondary\n },\n /* Styles applied to the root element if `color=\"error\"`. */\n colorError: {\n color: theme.palette.error.main\n },\n /* Styles applied to the root element if `display=\"inline\"`. */\n displayInline: {\n display: 'inline'\n },\n /* Styles applied to the root element if `display=\"block\"`. */\n displayBlock: {\n display: 'block'\n }\n };\n};\nvar defaultVariantMapping = {\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle1: 'h6',\n subtitle2: 'h6',\n body1: 'p',\n body2: 'p'\n};\nvar Typography = /*#__PURE__*/React.forwardRef(function Typography(props, ref) {\n var _props$align = props.align,\n align = _props$align === void 0 ? 'inherit' : _props$align,\n classes = props.classes,\n className = props.className,\n _props$color = props.color,\n color = _props$color === void 0 ? 'initial' : _props$color,\n component = props.component,\n _props$display = props.display,\n display = _props$display === void 0 ? 'initial' : _props$display,\n _props$gutterBottom = props.gutterBottom,\n gutterBottom = _props$gutterBottom === void 0 ? false : _props$gutterBottom,\n _props$noWrap = props.noWrap,\n noWrap = _props$noWrap === void 0 ? false : _props$noWrap,\n _props$paragraph = props.paragraph,\n paragraph = _props$paragraph === void 0 ? false : _props$paragraph,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'body1' : _props$variant,\n _props$variantMapping = props.variantMapping,\n variantMapping = _props$variantMapping === void 0 ? defaultVariantMapping : _props$variantMapping,\n other = _objectWithoutProperties(props, [\"align\", \"classes\", \"className\", \"color\", \"component\", \"display\", \"gutterBottom\", \"noWrap\", \"paragraph\", \"variant\", \"variantMapping\"]);\n var Component = component || (paragraph ? 'p' : variantMapping[variant] || defaultVariantMapping[variant]) || 'span';\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: clsx(classes.root, className, variant !== 'inherit' && classes[variant], color !== 'initial' && classes[\"color\".concat(capitalize(color))], noWrap && classes.noWrap, gutterBottom && classes.gutterBottom, paragraph && classes.paragraph, align !== 'inherit' && classes[\"align\".concat(capitalize(align))], display !== 'initial' && classes[\"display\".concat(capitalize(display))]),\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nexport default withStyles(styles, {\n name: 'MuiTypography'\n})(Typography);","import React, { useState, useEffect, useRef, MutableRefObject } from \"react\";\r\n\r\nimport useMetaSearch from \"../../../shared/hooks/useMetaSearch\";\r\nimport useBrowserMode from \"../../../shared/hooks/useBrowserMode\";\r\n\r\nimport \"./searcher.scss\";\r\nimport { useStaticQuery, graphql } from \"gatsby\";\r\nimport { normalizeTwoWords } from \"../../../shared/utils/stringUtilities\";\r\n\r\nconst Searcher = (props: SearcherInterface) => {\r\n const data = useStaticQuery(graphql`\r\n query SEARCHER_PLACEHOLDER {\r\n allContentfulHome(filter: {titulo: {eq: \"Home comfama.com\"}}) {\r\n nodes {\r\n placeholdersBuscador\r\n }\r\n }\r\n }\r\n `);\r\n\r\n const placeholders = data.allContentfulHome.nodes[0].placeholdersBuscador;\r\n const { compact, type, onSelect, scrollIntoQuestion, defaultPlaceholder } = props;\r\n \r\n const node: MutableRefObject = useRef();\r\n\r\n const [isActive, setActiveSelect] = useState(false);\r\n const [dynamicPlaceholder, setDynamicPlaceholder] = useState(\"\");\r\n const [searchWord, setSearchWord] = useState(\"\");\r\n\r\n const { filterSearch, doSearch } = useMetaSearch(type);\r\n const { isBrowser, window, document } = useBrowserMode();\r\n\r\n const handleClickOutside = (e: Event) => {\r\n if (node.current.contains(e.target)) {\r\n return;\r\n } else {\r\n setActiveSelect(false);\r\n }\r\n };\r\n\r\n const handleKeyDown = (e) => {\r\n if (e.key === \"Enter\" && type === \"comfama\") {\r\n isBrowser &&\r\n searchWord.trim().length > 2 &&\r\n window.location.assign(\r\n `/resultados-busqueda/?search=${searchWord}&sort=ASC`\r\n );\r\n }\r\n return;\r\n };\r\n\r\n useEffect(() => {\r\n if (type === \"comfama\" || type === \"headboard\") {\r\n let cont = 0;\r\n\r\n const timer = setInterval(() => {\r\n if (cont > 2) cont = 0;\r\n setDynamicPlaceholder(`${placeholders[cont]}`);\r\n cont++;\r\n }, 1200);\r\n\r\n return () => clearInterval(timer);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [isActive]);\r\n\r\n const renderFormattedText = (text, searchWord) => {\r\n const comparingText =\r\n text !== null && text.toLowerCase().indexOf(searchWord.toLowerCase());\r\n\r\n const formattedText =\r\n text !== null && comparingText !== -1 ? (\r\n \r\n {text.slice(0, comparingText)}\r\n \r\n {text.slice(comparingText, comparingText + searchWord.length)}\r\n \r\n {text.slice(comparingText + searchWord.length)}\r\n \r\n ) : (\r\n text\r\n );\r\n\r\n return formattedText;\r\n };\r\n\r\n return (\r\n \r\n 2\r\n ? \"m-searcher-container__content--active\"\r\n : \"\"\r\n }`}\r\n >\r\n
\r\n \r\n isBrowser &&\r\n searchWord.trim().length > 2 &&\r\n window.location.assign(\r\n `/resultados-busqueda/?search=${searchWord}&sort=ASC`\r\n )\r\n }\r\n />\r\n setActiveSelect(true)}\r\n onChange={(text) => {\r\n doSearch(text.currentTarget.value);\r\n setSearchWord(text.currentTarget.value);\r\n }}\r\n onKeyDown={handleKeyDown}\r\n />\r\n {searchWord.trim().length > 2 && (\r\n {\r\n setSearchWord(\"\");\r\n doSearch(\"\");\r\n }}\r\n />\r\n )}\r\n
\r\n {(searchWord.trim().length > 2 || !compact) && (\r\n
\r\n )}\r\n {(searchWord.trim().length > 2 || !compact) && (\r\n
2 ? '' : '--hide-results'} ${type === \"headboard\" ? '--headboard-results' : ''}`}>\r\n
    \r\n {compact && type === \"preguntas\" && filterSearch && filterSearch.length === 0 && (\r\n
  • \r\n \r\n {`No encontramos resultados para \"${searchWord.trim()}\"`}\r\n \r\n
  • \r\n )}\r\n {filterSearch && filterSearch.map((result, index) => (\r\n {\r\n if (\r\n onSelect !== undefined &&\r\n scrollIntoQuestion !== undefined\r\n ) {\r\n onSelect(result);\r\n setSearchWord(\"\");\r\n doSearch(\"\");\r\n scrollIntoQuestion(result.titulo);\r\n }\r\n }}\r\n >\r\n \r\n

    \r\n \r\n {renderFormattedText(\r\n ( type === \"comfama\" || type === \"headboard\" )\r\n ? result.titulo\r\n : result.tituloBanner,\r\n searchWord\r\n )}\r\n \r\n
    \r\n \r\n {( type === \"comfama\" || type === \"headboard\" ) &&\r\n renderFormattedText(\r\n result.tipoContenido,\r\n searchWord\r\n )}\r\n {( type === \"comfama\" || type === \"headboard\" ) && \": \"}\r\n {renderFormattedText(\r\n result.categoria,\r\n searchWord\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\ninterface SearcherInterface {\r\n compact?: boolean;\r\n type?: \"comfama\" | \"preguntas\" | \"headboard\";\r\n onSelect?: Function;\r\n scrollIntoQuestion?: Function;\r\n defaultPlaceholder?: string\r\n}\r\n\r\nexport default Searcher;\r\n","import \"core-js/modules/es.array.reduce.js\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - https://getbootstrap.com/docs/4.3/layout/grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport requirePropFactory from '../utils/requirePropFactory';\nimport deprecatedPropType from '../utils/deprecatedPropType';\nvar SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nfunction generateGrid(globalStyles, theme, breakpoint) {\n var styles = {};\n GRID_SIZES.forEach(function (size) {\n var key = \"grid-\".concat(breakpoint, \"-\").concat(size);\n if (size === true) {\n // For the auto layouting\n styles[key] = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n return;\n }\n if (size === 'auto') {\n styles[key] = {\n flexBasis: 'auto',\n flexGrow: 0,\n maxWidth: 'none'\n };\n return;\n } // Keep 7 significant numbers.\n\n var width = \"\".concat(Math.round(size / 12 * 10e7) / 10e5, \"%\"); // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n\n styles[key] = {\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n };\n }); // No need for a media query for the first size.\n\n if (breakpoint === 'xs') {\n _extends(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n}\nfunction getOffset(val) {\n var div = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var parse = parseFloat(val);\n return \"\".concat(parse / div).concat(String(val).replace(String(parse), '') || 'px');\n}\nfunction generateGutter(theme, breakpoint) {\n var styles = {};\n SPACINGS.forEach(function (spacing) {\n var themeSpacing = theme.spacing(spacing);\n if (themeSpacing === 0) {\n return;\n }\n styles[\"spacing-\".concat(breakpoint, \"-\").concat(spacing)] = {\n margin: \"-\".concat(getOffset(themeSpacing, 2)),\n width: \"calc(100% + \".concat(getOffset(themeSpacing), \")\"),\n '& > $item': {\n padding: getOffset(themeSpacing, 2)\n }\n };\n });\n return styles;\n} // Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\n\nexport var styles = function styles(theme) {\n return _extends({\n /* Styles applied to the root element. */\n root: {},\n /* Styles applied to the root element if `container={true}`. */\n container: {\n boxSizing: 'border-box',\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n },\n /* Styles applied to the root element if `item={true}`. */\n item: {\n boxSizing: 'border-box',\n margin: '0' // For instance, it's useful when used with a `figure` element.\n },\n\n /* Styles applied to the root element if `zeroMinWidth={true}`. */\n zeroMinWidth: {\n minWidth: 0\n },\n /* Styles applied to the root element if `direction=\"column\"`. */\n 'direction-xs-column': {\n flexDirection: 'column'\n },\n /* Styles applied to the root element if `direction=\"column-reverse\"`. */\n 'direction-xs-column-reverse': {\n flexDirection: 'column-reverse'\n },\n /* Styles applied to the root element if `direction=\"row-reverse\"`. */\n 'direction-xs-row-reverse': {\n flexDirection: 'row-reverse'\n },\n /* Styles applied to the root element if `wrap=\"nowrap\"`. */\n 'wrap-xs-nowrap': {\n flexWrap: 'nowrap'\n },\n /* Styles applied to the root element if `wrap=\"reverse\"`. */\n 'wrap-xs-wrap-reverse': {\n flexWrap: 'wrap-reverse'\n },\n /* Styles applied to the root element if `alignItems=\"center\"`. */\n 'align-items-xs-center': {\n alignItems: 'center'\n },\n /* Styles applied to the root element if `alignItems=\"flex-start\"`. */\n 'align-items-xs-flex-start': {\n alignItems: 'flex-start'\n },\n /* Styles applied to the root element if `alignItems=\"flex-end\"`. */\n 'align-items-xs-flex-end': {\n alignItems: 'flex-end'\n },\n /* Styles applied to the root element if `alignItems=\"baseline\"`. */\n 'align-items-xs-baseline': {\n alignItems: 'baseline'\n },\n /* Styles applied to the root element if `alignContent=\"center\"`. */\n 'align-content-xs-center': {\n alignContent: 'center'\n },\n /* Styles applied to the root element if `alignContent=\"flex-start\"`. */\n 'align-content-xs-flex-start': {\n alignContent: 'flex-start'\n },\n /* Styles applied to the root element if `alignContent=\"flex-end\"`. */\n 'align-content-xs-flex-end': {\n alignContent: 'flex-end'\n },\n /* Styles applied to the root element if `alignContent=\"space-between\"`. */\n 'align-content-xs-space-between': {\n alignContent: 'space-between'\n },\n /* Styles applied to the root element if `alignContent=\"space-around\"`. */\n 'align-content-xs-space-around': {\n alignContent: 'space-around'\n },\n /* Styles applied to the root element if `justifyContent=\"center\"`. */\n 'justify-content-xs-center': {\n justifyContent: 'center'\n },\n /* Styles applied to the root element if `justifyContent=\"flex-end\"`. */\n 'justify-content-xs-flex-end': {\n justifyContent: 'flex-end'\n },\n /* Styles applied to the root element if `justifyContent=\"space-between\"`. */\n 'justify-content-xs-space-between': {\n justifyContent: 'space-between'\n },\n /* Styles applied to the root element if `justifyContent=\"space-around\"`. */\n 'justify-content-xs-space-around': {\n justifyContent: 'space-around'\n },\n /* Styles applied to the root element if `justifyContent=\"space-evenly\"`. */\n 'justify-content-xs-space-evenly': {\n justifyContent: 'space-evenly'\n }\n }, generateGutter(theme, 'xs'), theme.breakpoints.keys.reduce(function (accumulator, key) {\n // Use side effect over immutability for better performance.\n generateGrid(accumulator, theme, key);\n return accumulator;\n }, {}));\n};\nvar Grid = /*#__PURE__*/React.forwardRef(function Grid(props, ref) {\n var _props$alignContent = props.alignContent,\n alignContent = _props$alignContent === void 0 ? 'stretch' : _props$alignContent,\n _props$alignItems = props.alignItems,\n alignItems = _props$alignItems === void 0 ? 'stretch' : _props$alignItems,\n classes = props.classes,\n classNameProp = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$container = props.container,\n container = _props$container === void 0 ? false : _props$container,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'row' : _props$direction,\n _props$item = props.item,\n item = _props$item === void 0 ? false : _props$item,\n justify = props.justify,\n _props$justifyContent = props.justifyContent,\n justifyContent = _props$justifyContent === void 0 ? 'flex-start' : _props$justifyContent,\n _props$lg = props.lg,\n lg = _props$lg === void 0 ? false : _props$lg,\n _props$md = props.md,\n md = _props$md === void 0 ? false : _props$md,\n _props$sm = props.sm,\n sm = _props$sm === void 0 ? false : _props$sm,\n _props$spacing = props.spacing,\n spacing = _props$spacing === void 0 ? 0 : _props$spacing,\n _props$wrap = props.wrap,\n wrap = _props$wrap === void 0 ? 'wrap' : _props$wrap,\n _props$xl = props.xl,\n xl = _props$xl === void 0 ? false : _props$xl,\n _props$xs = props.xs,\n xs = _props$xs === void 0 ? false : _props$xs,\n _props$zeroMinWidth = props.zeroMinWidth,\n zeroMinWidth = _props$zeroMinWidth === void 0 ? false : _props$zeroMinWidth,\n other = _objectWithoutProperties(props, [\"alignContent\", \"alignItems\", \"classes\", \"className\", \"component\", \"container\", \"direction\", \"item\", \"justify\", \"justifyContent\", \"lg\", \"md\", \"sm\", \"spacing\", \"wrap\", \"xl\", \"xs\", \"zeroMinWidth\"]);\n var className = clsx(classes.root, classNameProp, container && [classes.container, spacing !== 0 && classes[\"spacing-xs-\".concat(String(spacing))]], item && classes.item, zeroMinWidth && classes.zeroMinWidth, direction !== 'row' && classes[\"direction-xs-\".concat(String(direction))], wrap !== 'wrap' && classes[\"wrap-xs-\".concat(String(wrap))], alignItems !== 'stretch' && classes[\"align-items-xs-\".concat(String(alignItems))], alignContent !== 'stretch' && classes[\"align-content-xs-\".concat(String(alignContent))], (justify || justifyContent) !== 'flex-start' && classes[\"justify-content-xs-\".concat(String(justify || justifyContent))], xs !== false && classes[\"grid-xs-\".concat(String(xs))], sm !== false && classes[\"grid-sm-\".concat(String(sm))], md !== false && classes[\"grid-md-\".concat(String(md))], lg !== false && classes[\"grid-lg-\".concat(String(lg))], xl !== false && classes[\"grid-xl-\".concat(String(xl))]);\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: className,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nvar StyledGrid = withStyles(styles, {\n name: 'MuiGrid'\n})(Grid);\nif (process.env.NODE_ENV !== 'production') {\n var requireProp = requirePropFactory('Grid');\n StyledGrid.propTypes = _extends({}, StyledGrid.propTypes, {\n alignContent: requireProp('container'),\n alignItems: requireProp('container'),\n direction: requireProp('container'),\n justifyContent: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('item')\n });\n}\nexport default StyledGrid;","import React from 'react';\r\nimport './headboard.scss';\r\nimport { ReferenciaCabecera } from '../../../interfaces/ReferenciaCabecera';\r\nimport { documentToReactComponents } from '@contentful/rich-text-react-renderer';\r\nimport { normalizeTwoWords, findTarget, findRel, OptimizeImage } from \"../../../shared/utils/stringUtilities\";\r\nimport Breadcrumb from '../../atoms/breadcrumb/breadcrumb';\r\nimport Img from \"gatsby-image\";\r\n\r\n\r\nconst Headboard = (props:ReferenciaCabecera) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n { props.tituloPrincipal &&\r\n

{props.tituloPrincipal}

\r\n }\r\n { props.descripcion &&\r\n
{props.descripcion.json.content && documentToReactComponents(props.descripcion.json)}
\r\n }\r\n { props.referenciaTags &&\r\n
\r\n {props.referenciaTags.map( (value, index) => (\r\n {value.nombreTag}\r\n ))}\r\n
\r\n }\r\n
\r\n {props.imagenHeader ?\r\n
\r\n {props.imagenHeader.fluid ?\r\n \r\n :\r\n {\r\n }\r\n
\r\n : null\r\n }\r\n\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Headboard;\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport { ReferenciaCabecera } from \"../../../interfaces/ReferenciaCabecera\";\r\nimport { documentToReactComponents } from \"@contentful/rich-text-react-renderer\";\r\nimport useBrowserMode from \"../../../shared/hooks/useBrowserMode\";\r\nimport useScrollDetect from \"../../../shared/hooks/useScrollDetect\";\r\nimport ShareModal from \"../../molecules/share-modal/shareModal\";\r\nimport { getFormatDate } from \"../../../shared/utils/dateUtilities\";\r\nimport Breadcrumb from \"../../atoms/breadcrumb/breadcrumb\";\r\nimport { normalizeTwoWords, OptimizeImage } from \"../../../shared/utils/stringUtilities\";\r\nimport Img from \"gatsby-image\";\r\nimport \"./headboardButtons.scss\";\r\n\r\nconst HeadboardButtons = (props: ReferenciaCabecera) => {\r\n const { isBrowser, window, document } = useBrowserMode();\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const { isScrollActive, refElement } = useScrollDetect();\r\n const [scrollPercent, setScrollPercent] = useState(0);\r\n\r\n let timerScroll: any;\r\n\r\n const onScrollAction = () => {\r\n window.clearTimeout(timerScroll);\r\n timerScroll = setTimeout(() => {\r\n let windowScroll = window.pageYOffset;\r\n let contentHeight = document.body.offsetHeight - 1000;\r\n setScrollPercent((windowScroll * 100) / contentHeight);\r\n }, 66);\r\n };\r\n\r\n const arrayBreadCrumb = props.migaDePan.split(\"/\");\r\n const gtmCategory =\r\n arrayBreadCrumb && arrayBreadCrumb.length > 0 ? arrayBreadCrumb[2] : \"\";\r\n\r\n const doCssChatBot = () => {\r\n const chatBot = document.body.querySelector(\r\n \".RecastAppExpander.CaiAppExpander.open\"\r\n );\r\n chatBot?.classList.add(\"open-article\");\r\n };\r\n\r\n useEffect(() => {\r\n isBrowser && document.addEventListener(\"scroll\", onScrollAction);\r\n doCssChatBot();\r\n\r\n return () => {\r\n isBrowser && document.removeEventListener(\"scroll\", onScrollAction);\r\n };\r\n }, []);\r\n\r\n useMemo(() => {\r\n props.superFooter?.set(isScrollActive);\r\n }, [isScrollActive]);\r\n\r\n const toggleModal = () => {\r\n setIsModalVisible(!isModalVisible);\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n {props.tituloSpan}\r\n \r\n

\r\n {props.tituloPrincipal}\r\n

\r\n \r\n {getFormatDate(props.updatedAt, 0)}\r\n \r\n {props.descripcion && (\r\n
\r\n {props.descripcion.json.content && documentToReactComponents(props.descripcion.json)}\r\n
\r\n )}\r\n
\r\n
\r\n {props.imagenHeader.fluid ?\r\n \r\n :\r\n 768 ? 768 : props.imagenHeader.file.details.image.width)}\r\n alt={props.imagenHeader.title || \"imagen cabecera botones\"}\r\n loading=\"lazy\"\r\n />\r\n }\r\n
\r\n
\r\n\r\n \r\n \r\n {props.tituloPrincipal} \r\n
\r\n
    \r\n
  • \r\n \r\n \r\n {!isScrollActive &&\r\n `${props.botonCompartir || \"Compartir\"}`}\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 HeadboardButtons;\r\n","import React from 'react';\r\nimport './headboardClaustro.scss';\r\nimport { ReferenciaCabecera } from '../../../interfaces/ReferenciaCabecera';\r\nimport { OptimizeImage } from \"../../../shared/utils/stringUtilities\";\r\nimport Img from \"gatsby-image\";\r\n\r\n\r\nconst HeadboardClaustro = (props:ReferenciaCabecera) => {\r\n return (\r\n
\r\n
\r\n { props.tituloPrincipal &&\r\n

{props.tituloPrincipal.split(' ')[0]}
{props.tituloPrincipal.split(' ')[1]}

\r\n } \r\n { props.tituloSpan &&\r\n {props.tituloSpan}\r\n }\r\n
\r\n {props.imagenHeader &&\r\n
\r\n {props.imagenHeader.fluid ?\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 HeadboardClaustro;\r\n","import React from 'react'\r\nimport { ReferenciaCabecera } from '../../../interfaces/ReferenciaCabecera'\r\nimport './headboardDientelandia.scss'\r\n\r\nconst HeadboardDientelandia = (props: ReferenciaCabecera) => {\r\n return (\r\n
\r\n

{props.tituloPrincipal}

\r\n \"\"\r\n \"\"\r\n \"\"\r\n
\r\n )\r\n}\r\n\r\nexport default HeadboardDientelandia\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { documentToReactComponents } from \"@contentful/rich-text-react-renderer\";\r\nimport { ReferenciaCabecera } from \"../../../interfaces/ReferenciaCabecera\";\r\nimport useBrowserMode from \"../../../shared/hooks/useBrowserMode\";\r\nimport \"./headboardEspecial.scss\";\r\n\r\nconst HeadboardEspecial = (props: ReferenciaCabecera) => {\r\n\r\n const [mobileView, setMobileView] = useState(false)\r\n const { isBrowser, window } = useBrowserMode();\r\n\r\n useEffect(() => {\r\n isBrowser && window.screen.width < 960 && setMobileView(true)\r\n }, [])\r\n\r\n if (isBrowser) {\r\n window.addEventListener(\"resize\", function() {\r\n isBrowser && window.screen.width < 960 ? setMobileView(true) : setMobileView(false)\r\n })\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {props.tituloSpan && (\r\n \r\n {props.tituloSpan}\r\n \r\n )}\r\n {props.tituloPrincipal && (\r\n

\r\n {props.tituloPrincipal}\r\n

\r\n )}\r\n {props.descripcion && (\r\n

\r\n {documentToReactComponents(props.descripcion.json)}\r\n

\r\n )}\r\n
\r\n { !mobileView ? (\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 HeadboardEspecial;\r\n","import React from 'react'\r\nimport { ReferenciaCabecera } from '../../../interfaces/ReferenciaCabecera'\r\nimport YoutubePlayer from '../../molecules/youtube-player/youtubePlayer';\r\nimport './headboardInforme2022.scss'\r\n\r\nconst HeadboardInforme2022 = (props:ReferenciaCabecera) => {\r\n\r\n return (\r\n
\r\n \"\"\r\n \"\"\r\n

{props.tituloPrincipal}

\r\n {props.tituloSpan}\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default HeadboardInforme2022\r\n","import React from 'react';\r\n\r\nconst HeadboardNull = () => {\r\n return (\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default HeadboardNull;\r\n","export default function getGtmId(pathname) {\r\n const aux = pathname.split('/')\r\n if (aux.length > 3) {\r\n return('GTM-' + aux[aux.length - 3] + '-' + aux[aux.length - 2])\r\n } else {\r\n return('GTM-' + aux[aux.length - 2])\r\n }\r\n}\r\n","import React, { useState, useEffect, useMemo } from 'react'\r\nimport { ReferenciaCabecera } from '../../../interfaces/ReferenciaCabecera'\r\nimport { documentToReactComponents } from '@contentful/rich-text-react-renderer'\r\nimport useBrowserMode from '../../../shared/hooks/useBrowserMode'\r\nimport useScrollDetect from '../../../shared/hooks/useScrollDetect'\r\nimport useDirectionScroll from '../../../shared/hooks/useDirectionScroll'\r\nimport ShareModal from '../../molecules/share-modal/shareModal'\r\nimport Breadcrumb from '../../atoms/breadcrumb/breadcrumb'\r\nimport Button from '../../atoms/button/button'\r\nimport { normalizeTwoWords, OptimizeImage } from \"../../../shared/utils/stringUtilities\";\r\nimport getGtmId from '../../../utils/getGtmId'\r\nimport Img from \"gatsby-image\"\r\nimport './headboardSalaPrensa.scss'\r\n\r\nconst HeadboardSalaPrensa = (props:ReferenciaCabecera) => {\r\n\r\n const { isBrowser, window, document } = useBrowserMode();\r\n const [tabSelect, setTabSelect] = useState(-1);\r\n const [upScroll, setUpScroll] = useState(false);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const { isScrollActive, refElement } = useScrollDetect();\r\n const { lastDirection } = useDirectionScroll();\r\n\r\n const arrayBreadCrumb = props.migaDePan.split(\"/\");\r\n const gtmCategory =\r\n arrayBreadCrumb && arrayBreadCrumb.length > 0 ? arrayBreadCrumb[2] : \"\";\r\n\r\n const refTags = (props.referenciaTags || []).map( rt => rt.localizador );\r\n\r\n const goToContent = (index:number ) => {\r\n if ( isBrowser && refTags.length ) {\r\n const element = document.getElementById(props.tipoCabecera+refTags[index][0]);\r\n setUpScroll(true);\r\n element?.scrollIntoView(true);\r\n }\r\n }\r\n\r\n let timerScroll:any;\r\n\r\n const verifyTabs = (index:number) => {\r\n const indexString = `${index}`\r\n for(let i = 0; i < refTags.length; i++ ) {\r\n const indexSearch = refTags[i].find( rt => rt === indexString );\r\n if( indexSearch !== undefined) {\r\n setTabSelect(i);\r\n return;\r\n }\r\n }\r\n setTabSelect(-1);\r\n } \r\n\r\n const onScrollAction = () => {\r\n window.clearTimeout( timerScroll );\r\n timerScroll = setTimeout(() => {\r\n if( upScroll ) {\r\n window.scroll(0, window.pageYOffset - ( isScrollActive ? 138 : 220 ) );\r\n setUpScroll(false);\r\n }\r\n const tabs = document.querySelectorAll('.o-headboard-sala-prensa__tabs__tab');\r\n const items = document.querySelectorAll(`.${props.tipoCabecera}`);\r\n for( let i = 0; i < items.length; i++ ) {\r\n const bottom = items[i].getBoundingClientRect().bottom;\r\n const top = items[i].getBoundingClientRect().top;\r\n if( bottom > 139 && top <= 139 ) {\r\n verifyTabs(i);\r\n tabs.item(i)?.scrollIntoView(true);\r\n return;\r\n }\r\n } \r\n setTabSelect(-1);\r\n }, 66);\r\n }\r\n\r\n useEffect(() => {\r\n isBrowser && document.addEventListener('scroll', onScrollAction);\r\n return () => {\r\n isBrowser && document.removeEventListener('scroll', onScrollAction);\r\n }\r\n }, [upScroll] );\r\n\r\n useMemo(() => {\r\n props.superFooter?.set(isScrollActive);\r\n }, [isScrollActive])\r\n\r\n const toggleModal = () => {\r\n setIsModalVisible(!isModalVisible);\r\n }\r\n\r\n const isTabsNoShare = !props.tituloBoton && !props.botonCompartir;\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {props.imagenHeader.fluid ?\r\n \r\n :\r\n {\r\n }\r\n
\r\n
\r\n {\r\n props.tituloBoton || props.botonCompartir ?\r\n
\r\n { props.tituloBoton &&\r\n \r\n }\r\n { props.botonCompartir &&\r\n \r\n }\r\n
\r\n :\r\n null\r\n }\r\n \r\n {props.tituloSpan}\r\n \r\n

\r\n {props.descripcion.json.content && documentToReactComponents(props.descripcion.json)}\r\n

\r\n

\r\n {props.tituloPrincipal}\r\n

\r\n
\r\n
\r\n { isScrollActive &&\r\n
\r\n {props.tituloPrincipal}\r\n
\r\n { props.botonCompartir &&\r\n \r\n }\r\n
\r\n
\r\n }\r\n { props.referenciaTags &&\r\n
    \r\n {props.referenciaTags.map( (value, index) => (\r\n goToContent(index) }\r\n >{value.nombreTag}\r\n ))}\r\n
\r\n }\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default HeadboardSalaPrensa;\r\n","import React, { useState, useEffect, useMemo } from 'react'\r\nimport { ReferenciaCabecera } from '../../../interfaces/ReferenciaCabecera'\r\nimport { documentToReactComponents } from '@contentful/rich-text-react-renderer'\r\nimport useBrowserMode from '../../../shared/hooks/useBrowserMode'\r\nimport useScrollDetect from '../../../shared/hooks/useScrollDetect'\r\nimport useDirectionScroll from '../../../shared/hooks/useDirectionScroll'\r\nimport Breadcrumb from '../../atoms/breadcrumb/breadcrumb'\r\nimport Searcher from '../../molecules/searcher/searcher'\r\nimport { normalizeTwoWords, OptimizeImage } from \"../../../shared/utils/stringUtilities\";\r\nimport Img from \"gatsby-image\"\r\nimport './headboardSalaPrensa2.scss'\r\n\r\nconst HeadboardSalaPrensa2 = (props:ReferenciaCabecera) => {\r\n\r\n const { isBrowser, window, document } = useBrowserMode();\r\n const [tabSelect, setTabSelect] = useState(-1);\r\n const [upScroll, setUpScroll] = useState(false);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const { isScrollActive, refElement } = useScrollDetect();\r\n const { lastDirection } = useDirectionScroll();\r\n\r\n const arrayBreadCrumb = props.migaDePan.split(\"/\");\r\n const gtmCategory =\r\n arrayBreadCrumb && arrayBreadCrumb.length > 0 ? arrayBreadCrumb[2] : \"\";\r\n\r\n const refTags = (props.referenciaTags || []).map( rt => rt.localizador );\r\n\r\n const goToContent = (index:number ) => {\r\n if ( isBrowser && refTags.length ) {\r\n const element = document.getElementById(props.tipoCabecera+refTags[index][0]);\r\n setUpScroll(true);\r\n element?.scrollIntoView(true);\r\n }\r\n }\r\n\r\n let timerScroll:any;\r\n\r\n const verifyTabs = (index:number) => {\r\n const indexString = `${index}`\r\n for(let i = 0; i < refTags.length; i++ ) {\r\n const indexSearch = refTags[i].find( rt => rt === indexString );\r\n if( indexSearch !== undefined) {\r\n setTabSelect(i);\r\n return;\r\n }\r\n }\r\n setTabSelect(-1);\r\n } \r\n\r\n const onScrollAction = () => {\r\n window.clearTimeout( timerScroll );\r\n timerScroll = setTimeout(() => {\r\n if( upScroll ) {\r\n window.scroll(0, window.pageYOffset - ( isScrollActive ? 138 : 220 ) );\r\n setUpScroll(false);\r\n }\r\n const tabs = document.querySelectorAll('.o-headboard-sala-prensa__tabs__tab');\r\n const items = document.querySelectorAll(`.${props.tipoCabecera}`);\r\n for( let i = 0; i < items.length; i++ ) {\r\n const bottom = items[i].getBoundingClientRect().bottom;\r\n const top = items[i].getBoundingClientRect().top;\r\n if( bottom > 139 && top <= 139 ) {\r\n verifyTabs(i);\r\n tabs.item(i)?.scrollIntoView(true);\r\n return;\r\n }\r\n } \r\n setTabSelect(-1);\r\n }, 66);\r\n }\r\n\r\n useEffect(() => {\r\n isBrowser && document.addEventListener('scroll', onScrollAction);\r\n return () => {\r\n isBrowser && document.removeEventListener('scroll', onScrollAction);\r\n }\r\n }, [upScroll] );\r\n\r\n useMemo(() => {\r\n props.superFooter?.set(isScrollActive);\r\n }, [isScrollActive])\r\n\r\n const toggleModal = () => {\r\n setIsModalVisible(!isModalVisible);\r\n }\r\n\r\n const isTabsNoShare = !props.tituloBoton && !props.botonCompartir;\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {props.imagenHeader.fluid ?\r\n \r\n :\r\n \r\n }\r\n
\r\n
\r\n

\r\n {props.tituloPrincipal}\r\n

\r\n

\r\n {props.descripcion.json.content && documentToReactComponents(props.descripcion.json)}\r\n

\r\n
\r\n
\r\n \r\n
\r\n window.scroll(0, 600) }\r\n />\r\n
\r\n { isScrollActive &&\r\n
\r\n {props.tituloPrincipal}\r\n
\r\n { props.botonCompartir &&\r\n \r\n }\r\n
\r\n
\r\n }\r\n { props.referenciaTags &&\r\n
    \r\n {props.referenciaTags.map( (value, index) => (\r\n goToContent(index) }\r\n >{value.nombreTag}\r\n ))}\r\n
\r\n }\r\n
\r\n )\r\n}\r\n\r\nexport default HeadboardSalaPrensa2;\r\n","import React from \"react\";\r\nimport { documentToReactComponents } from \"@contentful/rich-text-react-renderer\";\r\nimport { ReferenciaCabecera } from \"../../../interfaces/ReferenciaCabecera\";\r\nimport Breadcrumb from \"../../atoms/breadcrumb/breadcrumb\";\r\n\r\nimport \"./headboardSimple.scss\";\r\n\r\nconst HeadboardSimple = (props: ReferenciaCabecera) => {\r\n return (\r\n
\r\n \r\n\r\n
\r\n

\r\n {props.tituloPrincipal}\r\n

\r\n \r\n {props.descripcion.json.content && documentToReactComponents(props.descripcion.json)}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default HeadboardSimple;\r\n","import React, { useState, useEffect, useMemo } from 'react'\r\nimport { ReferenciaCabecera } from '../../../interfaces/ReferenciaCabecera'\r\nimport { documentToReactComponents } from '@contentful/rich-text-react-renderer'\r\nimport useBrowserMode from '../../../shared/hooks/useBrowserMode'\r\nimport useScrollDetect from '../../../shared/hooks/useScrollDetect'\r\nimport useDirectionScroll from '../../../shared/hooks/useDirectionScroll'\r\nimport ShareModal from '../../molecules/share-modal/shareModal'\r\nimport { getFormatDate } from '../../../shared/utils/dateUtilities'\r\nimport Breadcrumb from '../../atoms/breadcrumb/breadcrumb'\r\nimport ButtonAuth from '../../molecules/button-auth/buttonAuth'\r\nimport { normalizeTwoWords } from \"../../../shared/utils/stringUtilities\"\r\nimport getGtmId from '../../../utils/getGtmId'\r\nimport Img from \"gatsby-image\"\r\nimport './headboardTabs.scss'\r\n\r\nconst HeadboardTabs = (props:ReferenciaCabecera) => {\r\n\r\n const { isBrowser, window, document } = useBrowserMode();\r\n const [tabSelect, setTabSelect] = useState(-1);\r\n const [upScroll, setUpScroll] = useState(false);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const { isScrollActive, refElement } = useScrollDetect();\r\n const { lastDirection } = useDirectionScroll();\r\n\r\n const arrayBreadCrumb = props.migaDePan.split(\"/\");\r\n const gtmCategory =\r\n arrayBreadCrumb && arrayBreadCrumb.length > 0 ? arrayBreadCrumb[2] : \"\";\r\n\r\n const refTags = (props.referenciaTags || []).map( rt => rt.localizador );\r\n\r\n const goToContent = (index:number ) => {\r\n if ( isBrowser && refTags.length ) {\r\n const element = document.getElementById(props.tipoCabecera+refTags[index][0]);\r\n setUpScroll(true);\r\n element?.scrollIntoView(true);\r\n }\r\n }\r\n\r\n let timerScroll:any;\r\n\r\n const verifyTabs = (index:number) => {\r\n const indexString = `${index}`\r\n for(let i = 0; i < refTags.length; i++ ) {\r\n const indexSearch = refTags[i].find( rt => rt === indexString );\r\n if( indexSearch !== undefined) {\r\n setTabSelect(i);\r\n return;\r\n }\r\n }\r\n setTabSelect(-1);\r\n } \r\n\r\n const onScrollAction = () => {\r\n window.clearTimeout( timerScroll );\r\n timerScroll = setTimeout(() => {\r\n if( upScroll ) {\r\n window.scroll(0, window.pageYOffset - ( isScrollActive ? 138 : 220 ) );\r\n setUpScroll(false);\r\n }\r\n const tabs = document.querySelectorAll('.o-headboard-tabs__tabs__tab');\r\n const items = document.querySelectorAll(`.${props.tipoCabecera}`);\r\n for( let i = 0; i < items.length; i++ ) {\r\n const bottom = items[i].getBoundingClientRect().bottom;\r\n const top = items[i].getBoundingClientRect().top;\r\n if( bottom > 139 && top <= 139 ) {\r\n //setTabSelect(i);\r\n verifyTabs(i);\r\n tabs.item(i)?.scrollIntoView(true);\r\n return;\r\n }\r\n } \r\n setTabSelect(-1);\r\n }, 66);\r\n }\r\n\r\n const doCssChatBot = () => {\r\n const chatBot = document.body.querySelector('.RecastAppExpander.CaiAppExpander.open');\r\n chatBot?.classList.add( 'open-service' );\r\n }\r\n\r\n useEffect( doCssChatBot, [] );\r\n\r\n useEffect(() => {\r\n isBrowser && document.addEventListener('scroll', onScrollAction);\r\n return () => {\r\n isBrowser && document.removeEventListener('scroll', onScrollAction);\r\n }\r\n }, [upScroll] );\r\n\r\n useMemo(() => {\r\n props.superFooter?.set(isScrollActive);\r\n }, [isScrollActive])\r\n\r\n const toggleModal = () => {\r\n setIsModalVisible(!isModalVisible);\r\n }\r\n\r\n const isTabsNoShare = !props.tituloBoton && !props.botonCompartir;\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n {props.tituloSpan}\r\n

{props.tituloPrincipal}

\r\n { props.verFechaPublicacion &&\r\n {getFormatDate(props.updatedAt, 0)}\r\n }\r\n { props.descripcion &&\r\n
{props.descripcion.json.content && documentToReactComponents(props.descripcion.json)}
\r\n }\r\n { props.eventoEspecial &&\r\n
\r\n \r\n
\r\n }\r\n { props.botonCompartir &&\r\n \r\n }\r\n
\r\n
\r\n {props.imagenHeader.fluid ?\r\n {\r\n :\r\n {\r\n }\r\n
\r\n { props.botonCompartir &&\r\n \r\n }\r\n
\r\n { isScrollActive &&\r\n
\r\n {props.eventoEspecial && `${props.tituloSpan}. `}{props.tituloPrincipal}\r\n
\r\n { props.tituloBoton &&\r\n \r\n }\r\n { props.botonCompartir &&\r\n \r\n }\r\n
\r\n
\r\n }\r\n { props.referenciaTags &&\r\n
    \r\n {props.referenciaTags.map( (value, index) => (\r\n goToContent(index) }\r\n >{value.nombreTag}\r\n ))}\r\n
\r\n }\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default HeadboardTabs;\r\n","import React, {useState, useEffect} from \"react\"\r\nimport { normalizeTwoWords, findTarget, findRel } from \"../../../shared/utils/stringUtilities\"\r\nimport './navAccordion.scss'\r\n\r\nconst NavAccordion = (props: NavAccordionInterface) => {\r\n\r\n\tconst {\r\n\t\tcategory,\r\n\t\tindex,\r\n\t\tsetActiveItem,\r\n\t\tactiveItem,\r\n\t\tisAnyActive,\r\n\t\tsetIsAnyActive\r\n\t} = props;\r\n\r\n\tconst [isActive, toggleActive] = useState(false);\r\n\r\n\tuseEffect(()=>{ \r\n\t\tindex !== activeItem && toggleActive(false)\r\n }, [activeItem])\r\n \r\n const listaMenu = ( subcat:any, k:number, slug:string ) => (\r\n
  • \r\n { subcat.nombreSubcategoria } \r\n
  • \r\n )\r\n\r\n const existCategory = category.referenciaSubcategorias && category.referenciaSubcategorias.length > 0;\r\n\r\n\treturn (\r\n\t\t\t\r\n\t\t
    \t\r\n\t\t\t{ \r\n\t\t\t\tcategory.referenciaSubcategorias ? (\r\n\t\t\t\t\t\r\n\t\t\t\t):(\r\n\t\t\t\t\t \r\n\t\t\t\t\t\t{category.nombreCategoria} \r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\t
      \r\n\t\t\t\t
    • Encontrarás
    • \r\n {existCategory &&\r\n listaMenu(category.referenciaSubcategorias[0], -1, category.referenciaSubcategorias[0].link || `/${category.referenciaSubcategorias[0].slug}`)\r\n }\r\n { existCategory && category.referenciaSubcategorias[0].referenciaSubcategorias && \r\n category.referenciaSubcategorias[0].referenciaSubcategorias.map((subcat, k) => {\r\n return subcat.verEnMenu?listaMenu(subcat,k,subcat.link||`/${category.referenciaSubcategorias[0].slug}${subcat.slug}`):null;\r\n })\r\n }\r\n\t\t\t
    \r\n\t\t
    \r\n\t)\r\n}\r\n\r\ninterface NavAccordionInterface {\r\n\tcategory: any,\r\n\tindex: number,\r\n\tsetActiveItem: Function,\r\n\tactiveItem: number,\r\n\tisAnyActive: boolean,\r\n\tsetIsAnyActive: Function\r\n}\r\n\r\nexport default NavAccordion\r\n","import React from 'react';\r\nimport './fontSize.scss';\r\nimport GlobalContext from '../../../contexts/globalContext';\r\n\r\ninterface IFontSize {\r\n setShowFontSize: ( value:boolean ) => void\r\n}\r\n\r\n\r\nconst FontSize = (props:IFontSize) => {\r\n\r\n const changeFontSize = ( action: string, fontSize:any ) => {\r\n if(typeof window !== `undefined`) {\r\n const item = document.querySelector('html') || { style: {fontSize} };\r\n switch (action) {\r\n case '+' :\r\n if( fontSize?.get < 120 ) {\r\n item.style.fontSize = `${fontSize.get+20}%`;\r\n fontSize.set(fontSize.get+20);\r\n }\r\n break;\r\n case '-' :\r\n if( fontSize?.get > 80 ) {\r\n item.style.fontSize = `${fontSize.get-20}%`;\r\n fontSize.set(fontSize.get - 20);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n { data => (\r\n
    \r\n
    props.setShowFontSize(false)} />\r\n
    \r\n
    \r\n \r\n changeFontSize('-', data.fontSize)}\r\n >Disminuir\r\n
    {data.fontSize?.get}%
    \r\n changeFontSize('+', data.fontSize)}\r\n >Aumentar\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 FontSize;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { normalizeTwoWords } from \"../../../shared/utils/stringUtilities\";\r\nimport useBrowserMode from \"../../../shared/hooks/useBrowserMode\";\r\nimport NavAccordion from \"../../atoms/nav-accordion/navAccordion\";\r\nimport FontSize from \"../../atoms/font-size/fontSize\";\r\nimport Searcher from \"../../molecules/searcher/searcher\";\r\nimport \"./navComponent.scss\";\r\n\r\nconst NavComponent = (props: NavComponentInterface) => {\r\n const data = props.data\r\n\r\n const {\r\n categorias,\r\n listaDerecha,\r\n } = data.allContentfulMenuCategorias.nodes[0];\r\n const footerCategories = data.allContentfulFooter.nodes[0].categorias;\r\n\r\n const { isMenuActive, isSearcherActive, sideLinks } = props;\r\n const { document } = useBrowserMode();\r\n\r\n const [activeItem, setActiveItem] = useState(0);\r\n const [isAnyActive, setIsAnyActive] = useState(true);\r\n const [showFontSize, setShowFontSize] = useState(false);\r\n\r\n useEffect(() => {\r\n const menu = document.querySelector('.m-nav-component')\r\n if(menu) menu.scrollTop = 0\r\n }, [isMenuActive === true])\r\n\r\n return (\r\n \r\n {isSearcherActive ? (\r\n \r\n ) : (\r\n \r\n
    \r\n {categorias &&\r\n categorias.map((cat, i) => (\r\n \r\n ))}\r\n
    \r\n\r\n
    \r\n
      \r\n {sideLinks &&\r\n sideLinks.map((item, i) => (\r\n
    • \r\n \r\n \r\n \r\n
    • \r\n ))}\r\n
    • \r\n setShowFontSize(!showFontSize)}\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 {listaDerecha &&\r\n listaDerecha.map((link, i) => (\r\n \r\n \r\n {\" \"}\r\n {link.nombreCategoria}{\" \"}\r\n \r\n \r\n ))}\r\n
    \r\n\r\n
    \r\n

    Síguenos en nuestras redes

    \r\n
      \r\n {footerCategories[footerCategories.length - 1].nombreCategoria.includes(\"Síguenos\")\r\n && footerCategories[footerCategories.length - 1].referenciaSubcategorias\r\n && footerCategories[footerCategories.length - 1].referenciaSubcategorias.map((item, i) => (\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\ninterface NavComponentInterface {\r\n isMenuActive: boolean;\r\n isSearcherActive: boolean;\r\n sideLinks: any;\r\n isDark: boolean;\r\n actionTheme: () => void;\r\n data: any;\r\n}\r\n\r\nexport default NavComponent;\r\n","import React from \"react\";\r\nimport { useStaticQuery, graphql } from \"gatsby\";\r\nimport NavComponent from \"../nav-component/navComponent\";\r\n\r\nconst NavMenu = (props: NavMenuInterface) => {\r\n const data = useStaticQuery(graphql`\r\n query MENU_CATEGORIAS {\r\n allContentfulMenuCategorias(filter: {titulo: {eq: \"Menu comfama.com\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n slug\r\n hyperLink\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n }\r\n }\r\n }\r\n listaDerecha {\r\n slug\r\n hyperLink\r\n nombreCategoria\r\n }\r\n }\r\n }\r\n allContentfulFooter(filter: {titulo: {eq: \"Footer comfama.com\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n link\r\n titulo\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\ninterface NavMenuInterface {\r\n isMenuActive: boolean;\r\n isSearcherActive: boolean;\r\n sideLinks: any;\r\n isDark: boolean;\r\n actionTheme: () => void;\r\n}\r\n\r\nexport default NavMenu;\r\n","import React from \"react\";\r\nimport { useStaticQuery, graphql } from \"gatsby\";\r\nimport NavComponent from \"../nav-component/navComponent\";\r\n\r\nconst NavMenuInforme2020 = (props: NavMenuInforme2020Interface) => {\r\n const data = useStaticQuery(graphql`\r\n query MENU_INFORME2020 {\r\n allContentfulMenuCategorias(filter: {titulo: {eq: \"Menu informe2020\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n slug\r\n hyperLink\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n }\r\n }\r\n }\r\n listaDerecha {\r\n slug\r\n hyperLink\r\n nombreCategoria\r\n }\r\n }\r\n }\r\n allContentfulFooter(filter: {titulo: {eq: \"Footer comfama.com\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n link\r\n titulo\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\ninterface NavMenuInforme2020Interface {\r\n isMenuActive: boolean;\r\n isSearcherActive: boolean;\r\n sideLinks: any;\r\n isDark: boolean;\r\n actionTheme: () => void;\r\n}\r\n\r\nexport default NavMenuInforme2020;\r\n","import React from \"react\";\r\nimport { useStaticQuery, graphql } from \"gatsby\";\r\nimport NavComponent from \"../nav-component/navComponent\";\r\n\r\nconst NavMenuInforme2021 = (props: NavMenuInforme2021Interface) => {\r\n const data = useStaticQuery(graphql`\r\n query MENU_INFORME2021 {\r\n allContentfulMenuCategorias(filter: {titulo: {eq: \"Menu informe2021\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n slug\r\n hyperLink\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n }\r\n }\r\n }\r\n listaDerecha {\r\n slug\r\n hyperLink\r\n nombreCategoria\r\n }\r\n }\r\n }\r\n allContentfulFooter(filter: {titulo: {eq: \"Footer comfama.com\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n link\r\n titulo\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\ninterface NavMenuInforme2021Interface {\r\n isMenuActive: boolean;\r\n isSearcherActive: boolean;\r\n sideLinks: any;\r\n isDark: boolean;\r\n actionTheme: () => void;\r\n}\r\n\r\nexport default NavMenuInforme2021;\r\n","import React from \"react\";\r\nimport { useStaticQuery, graphql } from \"gatsby\";\r\nimport NavComponent from \"../nav-component/navComponent\";\r\n\r\nconst NavMenuInforme2022 = (props: NavMenuInforme2020Interface) => {\r\n const data = useStaticQuery(graphql`\r\n query MENU_INFORME2022 {\r\n allContentfulMenuCategorias(filter: {titulo: {eq: \"Menu informe2022\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n slug\r\n hyperLink\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n }\r\n }\r\n }\r\n listaDerecha {\r\n slug\r\n hyperLink\r\n nombreCategoria\r\n }\r\n }\r\n }\r\n allContentfulFooter(filter: {titulo: {eq: \"Footer comfama.com\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n link\r\n titulo\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\ninterface NavMenuInforme2020Interface {\r\n isMenuActive: boolean;\r\n isSearcherActive: boolean;\r\n sideLinks: any;\r\n isDark: boolean;\r\n actionTheme: () => void;\r\n}\r\n\r\nexport default NavMenuInforme2022;\r\n","import React from \"react\";\r\nimport { useStaticQuery, graphql } from \"gatsby\";\r\nimport NavComponent from \"../nav-component/navComponent\";\r\n\r\nconst NavMenuBiosuroeste = (props: NavMenuBiosuroesteInterface) => {\r\n const data = useStaticQuery(graphql`\r\n query MENU_CATEGORIAS_BIO {\r\n allContentfulMenuCategorias(filter: {titulo: {eq: \"Menu Biosuroeste\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n slug\r\n hyperLink\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n slug\r\n link\r\n verEnMenu\r\n }\r\n }\r\n }\r\n listaDerecha {\r\n slug\r\n hyperLink\r\n nombreCategoria\r\n }\r\n }\r\n }\r\n allContentfulFooter(filter: {titulo: {eq: \"Footer comfama.com\"}}) {\r\n nodes {\r\n categorias {\r\n nombreCategoria\r\n referenciaSubcategorias {\r\n nombreSubcategoria\r\n link\r\n titulo\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\ninterface NavMenuBiosuroesteInterface {\r\n isMenuActive: boolean;\r\n isSearcherActive: boolean;\r\n sideLinks: any;\r\n isDark: boolean;\r\n actionTheme: () => void;\r\n}\r\n\r\nexport default NavMenuBiosuroeste;\r\n","import React, { useEffect } from \"react\"\r\nimport { useStaticQuery, graphql } from \"gatsby\"\r\nimport NavMenu from \"../../molecules/nav-menu/navMenu\"\r\nimport NavMenuInforme2020 from \"../../molecules/nav-menu-informe2020/navMenuInforme2020\"\r\nimport NavMenuInforme2021 from \"../../molecules/nav-menu-informe2021/navMenuInforme2021\"\r\nimport NavMenuInforme2022 from \"../../molecules/nav-menu-informe2022/navMenuInforme2022\"\r\nimport NavMenuBiosuroeste from \"../../molecules/nav-menu-biosuroeste/navMenuBiosuroeste\"\r\nimport { normalizeTwoWords } from \"../../../shared/utils/stringUtilities\"\r\nimport \"./nav.scss\"\r\n\r\ninterface NavInterface {\r\n isMenuActive:boolean,\r\n isSearcherActive:boolean,\r\n isDark: boolean,\r\n actionTheme: () => void,\r\n menuType: string | any,\r\n hideSidebar?: boolean\r\n}\r\n\r\nconst Nav = ( { isMenuActive, isSearcherActive, isDark, actionTheme, menuType, hideSidebar }: NavInterface) => {\r\n\tconst data = useStaticQuery(graphql`\r\n\t\tquery MENU_SIDE_OPTIONS {\r\n\t\t\tallContentfulMenuCategorias(filter: {titulo: {eq: \"Menu comfama.com\"}}) {\r\n\t\t\t\tnodes {\r\n\t\t\t\t\ticonosLaterales {\r\n\t\t\t\t\t\tslug\r\n\t\t\t\t\t\thyperLink\r\n\t\t\t\t\t\tnombreCategoria\r\n\t\t\t\t\t\timagenDestacada {\r\n\t\t\t\t\t\t\tdescription\r\n\t\t\t\t\t\t\tfile {\r\n\t\t\t\t\t\t\t\turl\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t`)\r\n\r\n\tuseEffect(() => {\r\n\t\tconst mainTag = document.querySelector('main')\r\n\t\tif (hideSidebar) {\r\n\t\t\tif (mainTag) mainTag.style.paddingLeft = 0 + 'px';\r\n\t\t}\r\n\t}, [])\r\n\r\n\tconst switchMenu = (menu: string | any) => {\r\n\t\tswitch (menu) {\r\n\t\t\tcase 'Informe 2020':\r\n\t\t\t\treturn\t\r\n\t\t\tcase 'Informe 2021':\r\n\t\t\t\treturn\t\r\n\t\t\tcase 'Informe 2022':\r\n\t\t\t\treturn\t\r\n\t\t\tcase 'Biosuroeste':\r\n\t\t\t\treturn\t\r\n\t\t\tdefault:\r\n\t\t\t\treturn\t\r\n\t\t}\r\n\t}\r\n\r\n\tconst { iconosLaterales } = data.allContentfulMenuCategorias.nodes[0]\r\n \r\n\treturn (\r\n\t\t
    \r\n\t\t\t{\r\n\t\t\t\t!hideSidebar ?\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t{ iconosLaterales && iconosLaterales.map((item, i)=>(\r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {item.nombreCategoria} \r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t: <>\r\n\t\t\t}\r\n\t\t\t{ switchMenu(menuType) }\r\n\t\t
    \r\n\t)\r\n}\r\n\r\nexport default Nav\r\n","import React from \"react\";\r\nimport \"./follows.scss\";\r\nimport { normalizeTwoWords } from \"../../../shared/utils/stringUtilities\";\r\n\r\ninterface FooterInterface {\r\n nombreCategoria: string;\r\n referenciaSubcategorias: {\r\n titulo: string;\r\n link: string;\r\n slug: string;\r\n nombreSubcategoria: string;\r\n tipoCampo: string;\r\n }[];\r\n}\r\n\r\nconst Follows = (props: { query: FooterInterface; inverse?: boolean; noTitle?: boolean}) => {\r\n const { query, inverse = false, noTitle = false } = props;\r\n\r\n const drawSocialIcons = (type: boolean, value: any) => {\r\n if(type) {\r\n if(value.nombreSubcategoria.includes(\"1\")){\r\n return value.nombreSubcategoria.replace(\"1\", \"\")\r\n } else {\r\n return value.nombreSubcategoria.concat(\"\", \"1\")\r\n }\r\n }\r\n return value.nombreSubcategoria\r\n }\r\n\r\n const renderSMIcon = (socialMedia) => {\r\n switch (socialMedia.nombreSubcategoria) {\r\n case 'tiktok':\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 \r\n \r\n \r\n \r\n )\r\n case 'spotify':\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n case 'twitter':\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n default:\r\n return (\r\n \r\n )\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {!noTitle && {query.nombreCategoria}}\r\n
      \r\n {query.referenciaSubcategorias.map((val, key) => (\r\n
    • \r\n \r\n { renderSMIcon(val) }\r\n \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Follows;\r\n","import React, { Fragment, useState } from 'react'\r\nimport './footer.scss'\r\nimport { useStaticQuery, graphql } from \"gatsby\";\r\nimport Follows from '../follows/follows';\r\nimport { documentToReactComponents } from '@contentful/rich-text-react-renderer';\r\nimport { normalizeTwoWords, findTarget, findRel } from '../../../shared/utils/stringUtilities';\r\nimport Button from '../../atoms/button/button';\r\n\r\nconst Footer = (props: { isSuperFooter: boolean, footerImg?: string, footerWhite?: boolean, footerBlack?: boolean, footerDientelandia?: boolean}) => {\r\n\r\n const data = useStaticQuery(graphql`\r\n query FOOTER_CONTENT {\r\n allContentfulHome(filter: {titulo: {eq: \"Home comfama.com\"}}) {\r\n nodes {\r\n textCentralLlamadas\r\n redireccionTitulo\r\n }\r\n }\r\n allContentfulFooter(filter: {titulo: {eq: \"Footer comfama.com\"}}) {\r\n nodes {\r\n titulo\r\n categorias {\r\n nombreCategoria\r\n noVisibleFooter\r\n hyperLink\r\n referenciaSubcategorias {\r\n titulo\r\n slug\r\n link\r\n nombreSubcategoria\r\n tipoCampo\r\n appStore {\r\n title\r\n file {\r\n url\r\n }\r\n }\r\n playStore {\r\n title\r\n file {\r\n url\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n allContentfulMenuLoggin(filter: {titulo: {eq: \"Menu login comfama.com\"}}) {\r\n nodes {\r\n logoGray {\r\n title\r\n file {\r\n url\r\n }\r\n }\r\n }\r\n }\r\n allContentfulFooterSeccion2(filter: {titulo: {eq: \"Footer comfama.com\"}}) {\r\n nodes {\r\n tituloPrincipal\r\n descripcion {\r\n json\r\n }\r\n lgoVigiladosVertical {\r\n title\r\n file {\r\n url\r\n }\r\n }\r\n logoAsojacas {\r\n title\r\n file {\r\n url\r\n }\r\n }\r\n logoRedPactoGlobal {\r\n title\r\n file {\r\n url\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `)\r\n\r\n interface StoreInterface {\r\n link?:string;\r\n title: string;\r\n file: {\r\n url: string\r\n };\r\n }\r\n\r\n interface FooterInterface {\r\n nombreCategoria: string;\r\n noVisibleFooter: boolean;\r\n hyperLink: string;\r\n referenciaSubcategorias: {\r\n titulo:string;\r\n link: string;\r\n slug:string;\r\n nombreSubcategoria: string;\r\n tipoCampo: string;\r\n appStore: StoreInterface;\r\n playStore: StoreInterface;\r\n }[];\r\n }\r\n\r\n interface Footer2Interface {\r\n tituloPrincipal: string;\r\n descripcion: {\r\n json: any\r\n };\r\n lgoVigiladosVertical:StoreInterface;\r\n logoAsojacas:StoreInterface;\r\n logoRedPactoGlobal:StoreInterface;\r\n }\r\n\r\n const titleCallCenter: string = data.allContentfulHome.nodes[0].textCentralLlamadas;\r\n const linkTitleCallCenter: string = data.allContentfulHome.nodes[0].redireccionTitulo;\r\n const queryFooter:FooterInterface[] = data.allContentfulFooter.nodes[0].categorias;\r\n const queryFooter2:Footer2Interface = data.allContentfulFooterSeccion2.nodes[0];\r\n const logoGray = data.allContentfulMenuLoggin.nodes[0].logoGray;\r\n\r\n const [selectIndex, setSelectIndex] = useState(-1);\r\n\r\n const toggleButton = (index: number) => {\r\n setSelectIndex( selectIndex === index ? -1 : index );\r\n }\r\n\r\n const getNormalItems = ( items :FooterInterface[]) => (\r\n items.map( (val:FooterInterface , key: number ) => (\r\n !val.noVisibleFooter ?\r\n
    \r\n toggleButton(key) } \r\n >{val.nombreCategoria}\r\n
      \r\n {val.referenciaSubcategorias.map( (subVal, key) => {\r\n const gtm = `gtm${normalizeTwoWords(val.nombreCategoria)}${normalizeTwoWords(subVal.nombreSubcategoria)}`;\r\n const ref = (subVal.slug && `/${subVal.slug}`) || subVal.link;\r\n return(\r\n
    • \r\n {subVal.nombreSubcategoria}\r\n
    • \r\n )\r\n } )}\r\n
    \r\n
    \r\n : <>\r\n ) )\r\n )\r\n\r\n const getCallCenterItems = ( items:FooterInterface[], title:string|null, classP:string, classTitle:string ) => (\r\n
    \r\n {title && linkTitleCallCenter ? \r\n \r\n : {title}\r\n }\r\n {items.map( (val, key) => ( \r\n !val.noVisibleFooter ?\r\n \r\n { val.hyperLink ? \r\n \r\n {val.nombreCategoria}\r\n : \r\n {val.nombreCategoria}\r\n }\r\n \r\n \r\n : <>\r\n ))}\r\n
    \r\n )\r\n\r\n const getCulturaComfamaItems = ( items:FooterInterface[] ) => (\r\n items.map( (val:FooterInterface , key: number ) => (\r\n !val.noVisibleFooter ?\r\n
    \r\n {val.nombreCategoria}\r\n
      \r\n {val.referenciaSubcategorias.map( (subVal, key) => (\r\n \r\n
    • {subVal.nombreSubcategoria}
    • \r\n
    • \r\n \r\n {subVal.appStore.title}\r\n \r\n \r\n {subVal.playStore.title}\r\n \r\n
    • \r\n
      \r\n ) )}\r\n
    \r\n
    \r\n : <>\r\n ))\r\n )\r\n \r\n return (\r\n
    \r\n { props.footerImg\r\n ? \"\"\r\n : <>\r\n }\r\n
    \r\n {getNormalItems(queryFooter.slice(0, 4))}\r\n {getCallCenterItems(queryFooter.slice(4, 7), titleCallCenter, 'call', 'title_sub')}\r\n {getCallCenterItems(queryFooter.slice(7, 9), titleCallCenter, 'call call-hide', 'title_sub')}\r\n {getCulturaComfamaItems(queryFooter.slice(9, 10))}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {queryFooter2.tituloPrincipal}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {queryFooter2.descripcion.json.content && documentToReactComponents(queryFooter2.descripcion.json)}\r\n
    \r\n
    \r\n
    \r\n {logoGray.title}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default Footer;\r\n","import React /* , { useState, useEffect } */ from \"react\";\r\nimport \"./buttonBurger.scss\";\r\n\r\nconst ButtonBurger = (props: ButtonBurgerInterface) => {\r\n const {\r\n isMenuActive,\r\n isSearcherActive,\r\n closeMenu,\r\n openMenu,\r\n isNotRoot,\r\n lastDirection,\r\n hideHeaderDesktop,\r\n } = props;\r\n\r\n return (\r\n 0\r\n ? \" a-burger-no-root-freeze\"\r\n : \"\"\r\n }` +\r\n \" gtmMenuTransMenuDeCategorias\"\r\n }\r\n type=\"button\"\r\n onClick={() => {\r\n isMenuActive ? closeMenu() : openMenu();\r\n }}\r\n aria-label=\"Menú principal\"\r\n >\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n Menú{\" \"}\r\n

    \r\n \r\n {\" \"}\r\n Cerrar{\" \"}\r\n

    \r\n \r\n );\r\n};\r\n\r\ninterface ButtonBurgerInterface {\r\n isMenuActive: boolean;\r\n isSearcherActive: boolean;\r\n isNotRoot?: boolean;\r\n lastDirection: number;\r\n hideHeaderDesktop: boolean;\r\n closeMenu: Function;\r\n openMenu: Function;\r\n}\r\n\r\nexport default ButtonBurger;\r\n","import React, { useState } from 'react';\r\nimport './login.scss';\r\nimport { GigyaAccount } from '../../../shared/interfaces/GigyaAccount';\r\nimport { firstUpperOnly } from '../../../shared/utils/stringUtilities';\r\nimport useBrowserMode from '../../../shared/hooks/useBrowserMode';\r\n\r\n\r\ninterface LoginInterface {\r\n title: string;\r\n isMenuActive?:boolean;\r\n login: () => void;\r\n logout: () => void;\r\n updateProfile: () => void;\r\n gigyaAccount?: GigyaAccount;\r\n}\r\n\r\nconst Login = (props:LoginInterface) => {\r\n\r\n const { isBrowser, document, window} = useBrowserMode();\r\n const [isShow, setIsShow] = useState(false);\r\n const gigyaAccount = props.gigyaAccount;\r\n const options = [\r\n {\r\n title: 'Ir a mi perfil',\r\n icon: 'icon-user-circle1',\r\n gtm: 'gtmMenuTransPerfilUsuarioIrAMiPerfil',\r\n onAction: () => {\r\n doShow(false);\r\n props.updateProfile();\r\n }\r\n },{\r\n title: 'Servicios en linea',\r\n icon: 'icon-tv',\r\n gtm: 'gtmMenuTransPerfilUsuarioServiciosLinea',\r\n onAction: () => {\r\n if( isBrowser ) {\r\n doShow(false);\r\n window.open('https://serviciosenlinea.comfama.com/', '_blank');\r\n }\r\n }\r\n }, {\r\n title: 'Cerrar sesión',\r\n icon: 'icon-sign-out',\r\n gtm: 'gtmMenuTransPerfilUsuarioCerrarSesion',\r\n onAction: () => {\r\n props.logout();\r\n doShow(false);\r\n localStorage.removeItem('uid-pre');\r\n }\r\n }\r\n ]\r\n\r\n const doShow = ( isShow:boolean ) => {\r\n if(isBrowser && isShow ) {\r\n const querySelector = document.querySelector('body');\r\n querySelector?.classList.add('freeze-page')\r\n } else if(isBrowser) {\r\n const querySelector = document.querySelector('body');\r\n querySelector?.classList.remove('freeze-page')\r\n }\r\n setIsShow(isShow);\r\n }\r\n\r\n return (\r\n
    \r\n { gigyaAccount ?\r\n
    \r\n \r\n {`¡Hola ${firstUpperOnly(gigyaAccount.profile.firstName)} ${firstUpperOnly(gigyaAccount.profile.lastName)}!`}\r\n \r\n doShow(!isShow) }\r\n />\r\n
    doShow(!isShow) }\r\n >\r\n { (gigyaAccount.profile && gigyaAccount.profile?.thumbnailURL) ?\r\n
    \r\n \r\n
    \r\n :\r\n `${gigyaAccount.profile?.firstName.charAt(0)}${gigyaAccount.profile?.lastName.charAt(0)}`\r\n }\r\n
    \r\n { isShow && \r\n
    \r\n
      \r\n {options.map( (value, index) => (\r\n \r\n \r\n {value.title}\r\n \r\n ) ) }\r\n
    \r\n
    doShow(false) } >
    \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 Login;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { useStaticQuery, graphql } from \"gatsby\";\r\nimport Button from '../../atoms/button/button';\r\nimport ButtonBurger from '../../atoms/button-burger/buttonBurger';\r\nimport FontSize from '../../atoms/font-size/fontSize';\r\nimport Login from '../../atoms/login/login';\r\nimport GlobalContext from '../../../contexts/globalContext';\r\nimport useScrollDetect from '../../../shared/hooks/useScrollDetect';\r\nimport useBrowserMode from \"../../../shared/hooks/useBrowserMode\";\r\nimport { LoginGigyaInterface } from '../../../shared/interfaces/LoginGigyaInterface';\r\nimport outsideClick from '../../../utils/outsideClick';\r\nimport './header.scss';\r\n\r\ninterface HeaderInterface {\r\n isDark: boolean;\r\n isMenuActive: boolean;\r\n isSearcherActive: boolean;\r\n isNotRoot?: boolean;\r\n lastDirection: number;\r\n hideHeaderDesktop: boolean;\r\n hideHeaderMobile: boolean;\r\n scrollActive: { get: boolean, set: (_var:boolean) => void };\r\n setMenuActive: ( isMenuActive: boolean ) => void;\r\n setSearcherActive: ( isSearcherActive: boolean ) => void;\r\n actionTheme: () => void;\r\n hideLoggin?: boolean;\r\n hideBurger?: boolean;\r\n glassHeader?: boolean;\r\n}\r\n\r\nconst Header = ( props: HeaderInterface ) => {\r\n\r\n const data = useStaticQuery(graphql`\r\n query HEADER_CONTENT {\r\n allContentfulMenuLoggin(filter: {titulo: {eq: \"Menu login comfama.com\"}}) {\r\n nodes {\r\n inicioSesion\r\n logoGray {\r\n title\r\n file {\r\n url\r\n fileName\r\n }\r\n }\r\n logoMagenta {\r\n title\r\n file {\r\n url\r\n fileName\r\n }\r\n }\r\n logoWithe {\r\n title\r\n file {\r\n url\r\n fileName\r\n }\r\n }\r\n opciones {\r\n tituloBanner\r\n titulo\r\n tipoTitulo\r\n imagenPrincipal {\r\n title\r\n file {\r\n url\r\n fileName\r\n }\r\n }\r\n redireccionBoton\r\n tituloBoton\r\n referenciaContenido {\r\n tituloBanner\r\n titulo\r\n imagenPrincipal {\r\n title\r\n file {\r\n url\r\n fileName\r\n }\r\n }\r\n redireccionBoton\r\n tipoTitulo\r\n }\r\n }\r\n ocultarBotonera\r\n }\r\n }\r\n }\r\n `)\r\n\r\n const { inicioSesion, logoMagenta, logoWithe, opciones, ocultarBotonera } = data.allContentfulMenuLoggin.nodes[0];\r\n const [showFontSize, setShowFontSize] = useState(false);\r\n const [buttonMenu, setButtonMenu] = useState(false);\r\n const {refElement, isScrollActive} = useScrollDetect();\r\n const { isBrowser, window } = useBrowserMode();\r\n const [optionMenu, setOptionMenu] = useState(false);\r\n const [people, setPeople]: any = useState([])\r\n const [companies, setCompanies]: any = useState([])\r\n const [checked, setChecked] = useState(false) \r\n\r\n useEffect(() => {\r\n opciones[0].referenciaContenido.map(card => {\r\n if (card.tipoTitulo === \"personas\") {\r\n setPeople(people => [...people, card])\r\n } else {\r\n setCompanies(companies => [...companies, card])\r\n }\r\n })\r\n }, [])\r\n\r\n const menuOptions = useRef(null);\r\n\r\n const isModeOpen = props.isMenuActive || props.isSearcherActive || props.isNotRoot || isScrollActive;\r\n const modeShadow = (!props.isMenuActive && props.isNotRoot && !props.isSearcherActive) || (isScrollActive && !props.isMenuActive && !props.isSearcherActive);\r\n\r\n const handleOutsideClick = () => {\r\n setOptionMenu(false);\r\n setButtonMenu(false);\r\n }\r\n\r\n const openMenu = () => {\r\n toogleFreeze(true);\r\n props.setMenuActive(true)\r\n props.setSearcherActive(false)\r\n\t}\r\n\tconst closeMenu = () => {\r\n\t\ttoogleFreeze(false);\r\n props.setMenuActive(false)\r\n }\r\n\r\n const handleSearcher = () => {\r\n toogleFreeze(!props.isSearcherActive);\r\n props.setSearcherActive(!props.isSearcherActive)\r\n props.isMenuActive && props.setMenuActive(false)\r\n }\r\n\r\n const toogleFreeze = ( isToggle:boolean ) => {\r\n\t\tisToggle ? document.body.classList.add('freeze-page') : document.body.classList.remove('freeze-page')\r\n }\r\n\r\n useEffect( ()=> {\r\n props.scrollActive.set(isScrollActive);\r\n }, [isScrollActive] )\r\n\r\n const renderBurguerButton = () => {\r\n const burguerButton = \r\n\r\n if (isBrowser && window.screen.width < 720 && props.isSearcherActive) return \r\n\r\n return burguerButton;\r\n }\r\n\r\n const renderLoginButton = ( { login, logout, updateProfile, gigyaAccount }: LoginGigyaInterface ) => {\r\n const loginButton = \r\n\r\n if ( isBrowser && window.screen.width < 720 && props.isSearcherActive) return \r\n\r\n return loginButton;\r\n }\r\n\r\n const handleClick = () => {\r\n setOptionMenu(!optionMenu)\r\n setButtonMenu(!buttonMenu)\r\n }\r\n\r\n const portalIcon = (open, condition) => {\r\n if ( !condition ) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n } else {\r\n return (\r\n \r\n )\r\n }\r\n }\r\n\r\n return (\r\n \r\n {data => (\r\n 0 ? ' m-header__hide-mobile' : '' }` +\r\n `${ props.hideHeaderDesktop && !props.isMenuActive && !props.isSearcherActive /* && isScrollActive */ && props.lastDirection > 0 ? ' m-header__hide-desktop' : '' }` +\r\n `${ props.glassHeader ? ' m-header-glass' : ''}` +\r\n `${ props.hideBurger ? ' m-header-noburger' : ''}`\r\n }\r\n >\r\n { !props.hideBurger\r\n ? renderBurguerButton()\r\n : <>\r\n }\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {\r\n ((!ocultarBotonera || ocultarBotonera === undefined || ocultarBotonera === null) && opciones) &&\r\n opciones.map((opcion, key) => (\r\n
    \r\n \r\n {optionMenu &&\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {(checked ? companies : people).map((tab, index) => (\r\n \r\n
    \r\n \"\"\r\n \"\"\r\n {tab.tituloBanner}\r\n
    \r\n
    \r\n ))}\r\n
    \r\n {opcion.redireccionBoton &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n }\r\n {\r\n outsideClick(menuOptions, handleOutsideClick)\r\n }\r\n
    \r\n ))\r\n }\r\n setShowFontSize(!showFontSize) }\r\n className=\"m-header__small-btn\"\r\n >\r\n \r\n \r\n \r\n {showFontSize && }\r\n
    \r\n \r\n \r\n \r\n handleSearcher()}\r\n className=\"m-header__small-btn\"\r\n >\r\n \r\n \r\n {props.hideLoggin === undefined || !props.hideLoggin || props.hideLoggin === null ?\r\n renderLoginButton( data.gigyaContext ) : console.log\r\n }\r\n
    \r\n \r\n \r\n )}\r\n
    \r\n )\r\n}\r\n\r\nexport default Header;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./pizzaButton.scss\";\r\n\r\nconst PizzaButton = () => {\r\n\r\n const [pizzaMenuData, setPizzaMenuData] = useState([]);\r\n const [open, setOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n const _get = fetch(\"/components/chatbot-info.json\");\r\n _get.then(async (resp) => {\r\n const chatbotInfo = await resp.json();\r\n setPizzaMenuData(chatbotInfo);\r\n });\r\n }, []);\r\n\r\n const renderIcon = () => {\r\n if (pizzaMenuData[0].iconoCerrar) {\r\n return pizzaMenuData[0].iconoCerrar.file.url;\r\n }\r\n return \"X\";\r\n };\r\n\r\n const handleClick = (e, link) => {\r\n e.preventDefault();\r\n if (link) {\r\n window.open(link, \"mywindow\");\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {pizzaMenuData.length > 0 && (\r\n <>\r\n setOpen(false)}\r\n className={`m-circularMenu__background ${\r\n open ? `--active` : \"\"\r\n }`}\r\n >
    \r\n setOpen(!open)}\r\n tabIndex={1}\r\n aria-label=\"Menú de atención al usuario\"\r\n className={`m-circularMenu__btn ${open ? `--opened` : \"\"}`}\r\n >\r\n {open && \"Cerrar}\r\n \r\n \r\n {pizzaMenuData[0].botonesInternos.map((btn: any, index: number) => (\r\n handleClick(e, btn.link)}\r\n tabIndex={index + 2}\r\n >\r\n
    \r\n {btn.nombre}\r\n
    \r\n
    \r\n {btn.icono ? (\r\n \r\n ) : btn.iconoImagen ? (\r\n \r\n ) : null}\r\n
    \r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PizzaButton;\r\n","import useBrowserMode from \"./../shared/hooks/useBrowserMode\";\r\nimport { KEYBE_CHAT_BOT_INTEGRATION_SRC } from \"./chatConstants\";\r\ninterface verifyChatInterface {\r\n verifyChat: (chatType: string) => void;\r\n}\r\n\r\nconst useVerifyChat = (): verifyChatInterface => {\r\n const { document, window } = useBrowserMode();\r\n\r\n const hideDefaultChat = () => {\r\n document.getElementById(\"cai-webchat\")?.remove();\r\n document.getElementById(\"cai-webchat-div\")?.remove();\r\n };\r\n\r\n const showChatMentoria = () => {\r\n let head = document.head || document.getElementsByTagName(\"head\")[0];\r\n let scriptIntegrationChat = document.createElement(\"script\");\r\n scriptIntegrationChat.setAttribute(\"src\", KEYBE_CHAT_BOT_INTEGRATION_SRC);\r\n head.appendChild(scriptIntegrationChat);\r\n let script = document.createElement(\"script\");\r\n script.onload = () => {\r\n hideDefaultChat();\r\n var configChat = {\r\n apiKey: \"\" + process.env.KEYBE_CHAT_BOT_API_KEY,\r\n };\r\n window.keybe.webchatConversationsUiLoad(configChat).then((res) => {\r\n window.keybe.openChat();\r\n console.log(\"Opening CHATBOT\");\r\n });\r\n };\r\n script.src = process.env.KEYBE_CHAT_BOT_SRC;\r\n head.appendChild(script);\r\n };\r\n\r\n const showChatFormMentoria = () => {\r\n let head = document.head || document.getElementsByTagName(\"head\")[0];\r\n let script = document.createElement(\"script\");\r\n script.onload = () => {\r\n var configChat = {\r\n apiKey: \"280c898d5fe147eab327b5b86580c655\" // TODO get this api from .env\r\n };\r\n window.keybe.webchatConversationsUiLoad(configChat).then((res) => {\r\n // window.keybe.openChat();\r\n });\r\n };\r\n script.src = process.env.KEYBE_CHAT_BOT_SRC;\r\n head.appendChild(script);\r\n };\r\n\r\n const verifyChat = (typeChat: string) => {\r\n switch (typeChat) {\r\n case \"chatMentoria\":\r\n showChatMentoria();\r\n break;\r\n case \"chatFormMentoria\":\r\n showChatFormMentoria();\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return { verifyChat };\r\n};\r\n\r\nexport default useVerifyChat;\r\n","\r\nexport const KEYBE_CHAT_BOT_INTEGRATION_SRC = \"https://storage.googleapis.com/keybe-conversations/comfama_integration.js\"\r\n","import firebase from '@firebase/app';\nexport { default } from '@firebase/app';\nvar name = \"firebase\";\nvar version = \"8.3.0\";\n\n/**\r\n * @license\r\n * Copyright 2018 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nfirebase.registerVersion(name, version, 'app');","import firebase from \"firebase/app\";\n\nif (!firebase.apps.length) {\n firebase.initializeApp({\n apiKey: process.env.FIREBASE_API_KEY,\n authDomain: process.env.FIREBASE_AUTH_DOMAIN,\n databaseURL: process.env.FIREBASE_DATABASE_URL,\n projectId: process.env.FIREBASE_PROJECT_ID,\n storageBucket: process.env.FIREBASE_STORAGE_BUCKET,\n messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID,\n appId: process.env.FIREBASE_APP_ID,\n measurementId: process.env.FIREBASE_MEASUREMENT_ID\n });\n}\n\nexport default firebase;\n","import firebase from \"./src/firebase\";\n\nexport default firebase;\n","import firebase from \"gatsby-plugin-firebase\";\r\n\r\nexport const isIOS = () => {\r\n return ([\r\n 'iPad Simulator',\r\n 'iPhone Simulator',\r\n 'iPod Simulator',\r\n 'iPad',\r\n 'iPhone',\r\n 'iPod'\r\n ].includes(navigator.platform)\r\n // iPad on iOS 13 detection\r\n || (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document))\r\n}\r\n\r\nexport const initFirebase = () => {\r\n firebase.messaging().getToken({ vapidKey: \"BJkaELuhTyhdBfqMACOBv8FjMu0cgTJZIxprS25rPFAblm6RlRVG5DMMOa8NjPsskG4KIhdT_qNKmXDavSQUdoI\"})\r\n .then(token => {\r\n sessionStorage.setItem(\"TokenFCM\", \"1\");\r\n // console.log(\"Goood\", token)\r\n let apikey = \"key=AAAAxCwHD44:APA91bFbWNzgtmsIWhUIqD9xl4mukFYAI1Ky7LaU-athYfR9KmERLJnoBmJ1M0D65DJ9ku-y-0JDUyqdjOuZxQDGM2lkPbsMYK18N-dt3u8o2V-QUJXnvth2SPSkYF01AcoSZb1_i2Mt\"\r\n let url = 'https://iid.googleapis.com/iid/v1/' + token + '/rel/topics/com-notifications';\r\n let data = {\r\n method: \"POST\",\r\n headers: { 'Authorization': apikey },\r\n body: JSON.stringify({})\r\n };\r\n // let config = { }\r\n fetch(url, data).then(async res => console.log(await res.json())).catch(error => console.error('Error:', error))\r\n })\r\n .catch(err => console.log(\"Error getting Token\", err))\r\n}\r\n\r\nexport const receiveNotifications = () => {\r\n firebase.messaging().onMessage(function(payload) {\r\n // console.log('[firebase-messaging-sw.js] Received background message ', payload);\r\n // Customize notification here\r\n const notificationOptions = {\r\n body: payload.data.message,\r\n };\r\n\r\n // self.registration.showNotification(notificationTitle,\r\n // notificationOptions);\r\n navigator.serviceWorker.getRegistration().then(reg => reg.showNotification(payload.data.title, notificationOptions))\r\n });\r\n}\r\n","import { documentToReactComponents } from '@contentful/rich-text-react-renderer';\r\nimport { IHeadboardMainProps } from '../headboardMain';\r\n\r\nfunction headboardMainAdapter(data: any): IHeadboardMainProps {\r\n return {\r\n title: data.tituloPrincipal,\r\n subtitle: data.tituloSpan,\r\n image: data.imagenHeader.file.url,\r\n bgImage: data.imagenesArboles[0].file.url,\r\n description: documentToReactComponents(data.descripcion.json),\r\n btnLabel: data.tituloBoton,\r\n redirection: data.redireccionBoton\r\n };\r\n}\r\n\r\nexport default headboardMainAdapter;\r\n","import Button from '@material-ui/core/Button';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport React from 'react';\r\nimport styles from './headboardMain.module.scss';\r\nimport { CardActions, Grow } from '@material-ui/core';\r\n\r\nexport interface IHeadboardMainProps {\r\n title: string;\r\n subtitle: string;\r\n image: string;\r\n description: any;\r\n btnLabel: string;\r\n redirection: string;\r\n bgImage?: string;\r\n}\r\n\r\nconst HeadboardMain = ({\r\n subtitle,\r\n title,\r\n description,\r\n btnLabel,\r\n redirection,\r\n image,\r\n bgImage,\r\n}: IHeadboardMainProps) => {\r\n return (\r\n \r\n \r\n {bgImage && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {subtitle}\r\n \r\n \r\n {title}\r\n \r\n \r\n {description}\r\n \r\n \r\n \r\n {btnLabel}\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 HeadboardMain;\r\n","import React, { useState, useEffect } from 'react';\r\nimport Headboard from '../headboard/headboard';\r\nimport HeadboardButtons from '../headboard-buttons/headboardButtons';\r\nimport HeadboardClaustro from '../headboard-claustro/headboardClaustro';\r\nimport HeadboardDientelandia from '../headboard-dientelandia/headboardDientelandia';\r\nimport HeadboardEspecial from '../headboard-especial/headboardEspecial';\r\nimport HeadboardInforme2022 from '../headboard-informe2022/headboardInforme2022';\r\nimport HeadboardNull from '../headboard-null/headboardNull';\r\nimport HeadboardSalaPrensa from '../headboard-sala-prensa/headboardSalaPrensa';\r\nimport HeadboardSalaPrensa2 from '../headboard-sala-prensa2/headboardSalaPrensa2';\r\nimport HeadboardSimple from '../headboard-simple/headboardSimple';\r\nimport HeadboardTabs from '../headboard-tabs/headboardTabs';\r\nimport HeadboardTrees from '../headboard-trees/headboardTrees';\r\nimport Nav from '../nav/nav';\r\nimport Footer from '../../molecules/footer/footer';\r\nimport Header from '../../molecules/header/header';\r\nimport PizzaButton from '../../molecules/pizza-button/pizzaButton';\r\nimport GlobalContext from '../../../contexts/globalContext';\r\nimport useVerifyChat from '../../../hooks/useVerifyChat';\r\nimport { ReferenciaCabecera } from '../../../interfaces/ReferenciaCabecera';\r\nimport {\r\n isIOS,\r\n initFirebase,\r\n receiveNotifications,\r\n} from '../../../services/firebase.js';\r\nimport useBrowserMode from '../../../shared/hooks/useBrowserMode';\r\nimport useChangeTheme from '../../../shared/hooks/useChangeTheme';\r\nimport useDirectionScroll from '../../../shared/hooks/useDirectionScroll';\r\nimport useLoginGigya from '../../../shared/hooks/useLoginGigya';\r\nimport headboardMainAdapter from '../headboard-main/adapter/headboardMain.adapter';\r\nimport HeadboardMain from '../headboard-main/headboardMain';\r\nimport './layout.scss';\r\n\r\ninterface LayoutInterface {\r\n children: any;\r\n headboard?: ReferenciaCabecera;\r\n isNotRoot?: boolean;\r\n hideHeaderDesktop: boolean;\r\n hideHeaderMobile: boolean;\r\n typeChat?: string;\r\n menuEspecifico?: string;\r\n esconderLoggin?: boolean;\r\n hideSidebar?: boolean;\r\n footerImg?: string;\r\n glassHeader?: boolean;\r\n footerWhite?: boolean;\r\n footerBlack?: boolean;\r\n hideBurger?: boolean;\r\n}\r\n\r\nconst Layout = (props: LayoutInterface) => {\r\n const [isMenuActive, setMenuActive] = useState(false);\r\n const [isSearcherActive, setSearcherActive] = useState(false);\r\n const [_scrollActive, setScrollActive] = useState(false);\r\n const [size, setSize] = useState(0);\r\n const [_superFooter, setSuperFooter] = useState(false);\r\n const [isDark, changeDarkMode] = useChangeTheme();\r\n const { lastDirection, resetDirection } = useDirectionScroll();\r\n const { isBrowser, localStorage, document, window } = useBrowserMode();\r\n const { verifyChat } = useVerifyChat();\r\n const gigyaContext = useLoginGigya();\r\n\r\n useEffect(() => {\r\n props.typeChat && verifyChat(props.typeChat);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (isBrowser) {\r\n const realSize = parseInt(\r\n localStorage.getItem('font-size') || '100',\r\n );\r\n const item = document.querySelector('html') || {\r\n style: { fontSize: realSize },\r\n };\r\n item.style.fontSize = `${realSize}%`;\r\n setSize(realSize);\r\n toLocalStoragepageActive();\r\n }\r\n isBrowser && document.addEventListener('scroll', onScrollAction);\r\n return () => {\r\n isBrowser && document.removeEventListener('scroll', onScrollAction);\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n if (!sessionStorage.getItem('TokenFCM') && !isIOS) {\r\n initFirebase();\r\n }\r\n if (!isIOS) receiveNotifications();\r\n }, []);\r\n\r\n const doSetSize = (_size: number) => {\r\n localStorage.setItem('font-size', `${_size}`);\r\n setSize(_size);\r\n };\r\n\r\n const toLocalStoragepageActive = () => {\r\n if (localStorage.getItem('Redirection')) {\r\n const storage: any = localStorage.getItem('Redirection');\r\n const data = JSON.parse(storage);\r\n if (data.titleButton === 'COMFAMA.COM') {\r\n return false;\r\n } else {\r\n return localStorage.setItem(\r\n 'Redirection',\r\n JSON.stringify({ titleButton: 'COMFAMA.COM', path: '' }),\r\n );\r\n }\r\n } else {\r\n return localStorage.setItem(\r\n 'Redirection',\r\n JSON.stringify({ titleButton: 'COMFAMA.COM', path: '' }),\r\n );\r\n }\r\n };\r\n\r\n const scrollActive = { get: _scrollActive, set: setScrollActive };\r\n\r\n const context = {\r\n fontSize: { get: size, set: doSetSize },\r\n superFooter: { get: _superFooter, set: setSuperFooter },\r\n gigyaContext: { ...gigyaContext },\r\n };\r\n\r\n let timerScroll: any;\r\n\r\n const onScrollAction = () => {\r\n window.clearTimeout(timerScroll);\r\n timerScroll = setTimeout(() => {\r\n if (window.pageYOffset < 70) {\r\n resetDirection();\r\n }\r\n }, 66);\r\n };\r\n\r\n const switchHeadBoard = (headboard: ReferenciaCabecera, superFooter) => {\r\n switch (headboard.tipoCabecera) {\r\n case 'CabeceraPrincipal':\r\n return ;\r\n case 'CabeceraTabs':\r\n return (\r\n \r\n );\r\n case 'CabeceraBotones':\r\n return (\r\n \r\n );\r\n case 'CabeceraSimple':\r\n return ;\r\n case 'CabeceraSalaPrensa':\r\n return ;\r\n case 'CabeceraSalaPrensa2':\r\n return ;\r\n case 'CabeceraClaustro':\r\n return ;\r\n case 'CabeceraArboles':\r\n return ;\r\n case 'CabeceraDientelandia':\r\n return ;\r\n case 'CabeceraAsamblea2022':\r\n return ;\r\n case 'CabeceraEspecial':\r\n return ;\r\n case 'SinCabecera':\r\n return ;\r\n case 'Cabecera1':\r\n return ;\r\n default:\r\n return ;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n let dots = document.querySelectorAll('.slick-dots');\r\n if (dots) {\r\n Array.from(dots).forEach((dotset) => {\r\n let buttons = dotset.getElementsByTagName('button');\r\n Array.from(buttons).forEach((button) => {\r\n button.setAttribute('tabIndex', '-1');\r\n });\r\n });\r\n }\r\n }, 3000);\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n {props.headboard &&\r\n switchHeadBoard(props.headboard, context.superFooter)}\r\n
    {props.children}
    \r\n
    \r\n \r\n {!props.typeChat && }\r\n
    \r\n );\r\n};\r\n\r\nexport default Layout;\r\n"],"sourceRoot":""}