{"version":3,"sources":["actions/types.js","actions/administracion.js","image/marca1.png","image/marca2.png","components/general/Util.js","components/general/UploadFile.js","services/auth.service.js","services/auth-header.js","components/Sala.js","services/administracion.service.js","components/general/ControlJuego.js","reducers/auth.js","reducers/message.js","reducers/banner.js","reducers/juego.js","reducers/user.js","reducers/controlJuego.js","reducers/administracion.js","reducers/index.js","store.js","services/juego.service.js","image/logoRF1.png","config.js","services/banner.service.js","components/general/GestionOrden.js","components/general/Adjudicacion.js","components/general/UseLocalStorage.js","components/general/ReporteUserRueda.js","components/general/UsuarioActivo.js","components/juego/ItemRentaFija.js","components/juego/ItemRentaVariable.js","image/img01.jpg","image/img02.jpg","image/imgNoticiaBig.jpg","image/imgNoticiaBig2.jpg","image/arrowRight.svg","image/arrowLeft.svg","audio/campana.mp3","components/general/EditarCatalogo.js","components/general/EditarItemCatalogo.js","components/general/ItemCatalogo.js","components/general/Catalogos.js","components/general/EditarEmpresa.js","components/general/SeleccionarUsuarioEmpresa.js","components/general/UsuarioEmpresa.js","components/general/Empresa.js","components/general/EditarEvento.js","components/general/SeleccionarEventoEmpresa.js","components/general/EventoEmpresa.js","components/general/Evento.js","components/general/EditarInversionista.js","components/general/Inversionista.js","components/general/EditarUsuario.js","components/general/Usuario.js","components/general/EditarParametro.js","components/general/Parametro.js","components/general/AgregarInversionista.js","components/general/EditarOrden.js","components/general/EditarComentarioLiqui.js","components/general/Liquidaciones.js","components/general/ImageVideoGallery.js","actions/banner.js","actions/juego.js","image/investTraderLogo.png","components/general/VerEmpresas.js","image/profileImg.png","components/Login.js","actions/auth.js","components/Register.js","components/juego/RentaFija.js","components/Juego.js","components/BoardUser.js","components/BoardModerator.js","components/BoardAdmin.js","components/general/ConfigurarUsuario.js","components/general/Header.js","components/AperturaRueda.js","components/errors/NoJuego.js","components/Recuperar.js","actions/user.js","components/ElegirEvento.js","components/SeleccionarEvento.js","helpers/history.js","components/CondicionesLegales.js","App.js","actions/message.js","serviceWorker.js","index.js","components/general/ProgressBar.js","components/general/LoadingContainer.js","services/user.service.js","actions/controlJuego.js"],"names":["REGISTER_SUCCESS","REGISTER_FAIL","LOGIN_SUCCESS","LOGIN_FAIL","LOGOUT","SET_MESSAGE","CLEAR_MESSAGE","SHOW_BANNER","SHOW_BANNER_INIT","SHOW_BANNER_FAIL","GET_EVENT_BY_USER","GET_EVENT_BY_USER_FAIL","GET_EVENT_BY_USER_INIT","GET_EVENT_TITLE_BY_USER","SEND_EMAIL_PASSWORD","SEND_EMAIL_PASSWORD_FAIL","GET_GESTION_CATALOGOS","GET_GESTION_CATALOGOS_FAIL","UPDATE_GESTION_CATALOGOS","UPDATE_GESTION_CATALOGOS_FAIL","DELETE_GESTION_CATALOGOS","DELETE_GESTION_CATALOGOS_FAIL","GET_CATALOGOS_PADRE","GET_CATALOGOS_PADRE_FAIL","DELETE_ITEM_CATALOGO","DELETE_ITEM_CATALOGO_FAIL","UPDATE_ITEM_CATALOGO","UPDATE_ITEM_CATALOGO_FAIL","GET_ITEM_CATALOGOS","GET_ITEM_CATALOGOS_FAIL","UPDATE_STATUS_BY_KEY_ADM","CATALOGOS_INI","ITEMS_INI","GET_EMPRESA","GET_EMPRESA_FAIL","EMPRESA_INI","DELETE_EMPRESA","DELETE_EMPRESA_FAIL","UPDATE_EMPRESA","UPDATE_EMPRESA_FAIL","GET_INVERSIONISTA","GET_INVERSIONISTA_FAIL","INVERSIONISTA_INI","DELETE_INVERSIONISTA","DELETE_INVERSIONISTA_FAIL","UPDATE_INVERSIONISTA","UPDATE_INVERSIONISTA_FAIL","GET_USUARIOS_INV","GET_USUARIOS_INV_FAIL","GET_EMPRESA_INST_FAIL","GET_EMPRESA_INST","SELECT_EVENTO","SELECT_EVENTO_FAIL","GET_ORDEN","GET_ORDEN_FAIL","GET_ORDEN_USER_ID","GET_ORDEN_USER_ID_FAIL","ORDEN_USER_ID_INI","UPDATE_ORDEN","UPDATE_ORDEN_FAIL","DELETE_ORDEN","DELETE_ORDEN_FAIL","ORDEN_INI","GET_EMPRESA_SELECT","GET_EMPRESA_SELECT_FAIL","GET_INVERSIONISTA_SELECT","GET_INVERSIONISTA_SELECT_FAIL","INVERSIONISTA_SELECT_INI","GET_EVENTO","GET_EVENTO_FAIL","UPDATE_EVENTO","UPDATE_EVENTO_FAIL","DELETE_EVENTO","DELETE_EVENTO_FAIL","EVENTO_INI","GET_USUARIO_EMPRESA","GET_USUARIO_EMPRESA_FAIL","GET_USUARIO_EMPRESA_SIN_ASIG","GET_USUARIO_EMPRESA_SIN_ASIG_FAIL","SELECT_USUARIO_EMPRESA","SELECT_USUARIO_EMPRESA_FAIL","DELETE_USUARIO_EMPRESA","DELETE_USUARIO_EMPRESA_FAIL","USUARIO_EMPRESA_INI","UPDATE_USER","UPDATE_USER_FAIL","GET_USERS","GET_USERS_FAIL","DELETE_USER","DELETE_USER_FAIL","USER_INI","GET_PARAMETRO","GET_PARAMETRO_FAIL","DELETE_PARAMETRO","DELETE_PARAMETRO_FAIL","UPDATE_PARAMETRO","UPDATE_PARAMETRO_FAIL","PARAMETRO_INI","GET_EMPRESA_CON_EVENTO","GET_EMPRESA_CON_EVENTO_FAIL","GET_TODO_EVENTO","GET_TODO_EVENTO_FAIL","EMPRESA_CON_EVENTO_INI","UPDATE_STATUS_BY_KEY","UPDATE_EVENTO_OBJECT","EVENTO_EMPRESA_INI","GET_EVENTO_EMPRESA_FAIL","GET_EVENTO_EMPRESA","GET_EVENTO_EMPRESA_SIN_ASIG_FAIL","GET_EVENTO_EMPRESA_SIN_ASIG","SELECT_EVENTO_EMPRESA_FAIL","SELECT_EVENTO_EMPRESA","DELETE_EVENTO_EMPRESA_FAIL","DELETE_EVENTO_EMPRESA","UPDATE_USER_PROFILE","UPDATE_USER_PROFILE_FAIL","ONLY_EVENT_DATA","ONLY_EVENT_DATA_FAIL","ONLY_EVENT_DATA_INI","DATA_EVENT_ID","EVENT_SELECT","GET_ADJUDICACION","GET_ADJUDICACION_FAIL","ADJUDICACION_INI","EMPRESA_SELECT","SALA_INI","GET_DATA_EMPRESA","GET_DATA_EMPRESA_FAIL","GET_DATA_EMPRESA_INI","INSCRIPCION","COLOCACION","SUBASTA","ADJUDICACION","GET_EMPRESA_SELECT_INVERSIONISTA","GET_EMPRESA_SELECT_INVERSIONISTA_FAIL","GET_DATOS_ADJUDICACIONES","GET_DATOS_ADJUDICACIONES_FAIL","UPDATE_IMPRESION_LIQUIDACIONES","UPDATE_IMPRESION_LIQUIDACIONES_FAIL","UPDATE_IMPRESION_TITULOS","UPDATE_IMPRESION_TITULOS_FAIL","UPDATE_IMPRESION_REPORT_RUEDA","UPDATE_IMPRESION_REPORT_RUEDA_FAIL","UPDATE_INVITACION_EMAIL","UPDATE_INVITACION_EMAIL_FAIL","UPDATE_LIQUIDACION_EMAIL","UPDATE_LIQUIDACION_EMAIL_FAIL","UPDATE_LIQUIDACION","UPDATE_LIQUIDACION_FAIL","SEND_VALUE","GET_CATALOGOS_MODALIDAD","GET_CATALOGOS_MODALIDAD_FAIL","UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL","UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL_FAIL","UPDATE_COBRAR_LIQUIDACION","UPDATE_COBRAR_LIQUIDACION_FAIL","UPDATE_COMENTARIO_LIQUIDACION","UPDATE_COMENTARIO_LIQUIDACION_FAIL","UPDATE_ESTADO_IMPRIMIR_CERTIFICADO","UPDATE_ESTADO_IMPRIMIR_CERTIFICADO_FAIL","UPDATE_ESTADO_IMPRIMIR_LIQUIDACION","UPDATE_ESTADO_IMPRIMIR_LIQUIDACION_FAIL","UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA","UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA_FAIL","UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA","UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA_FAIL","UPDATE_IMPRESION_REPORT_LIQUIDACION","UPDATE_IMPRESION_REPORT_LIQUIDACION_FAIL","UPDATE_IMPRESION_REPORT_ADJUDICACION","UPDATE_IMPRESION_REPORT_ADJUDICACION_FAIL","setStatusByKey","key","value","dispatch","type","payload","Promise","resolve","getDataEmpresaAct","empresaId","AdmService","getDataEmpresaSer","then","data","error","message","response","toString","reject","getAdjudicacionAct","eventoId","usuarioId","page","filterField","filer","typeOrd","sort","getAdjudicacionSer","getDataEventAct","getDataEventSer","updatePerfilUsuario","nombre","nick","email","clave","image","uploadId","deleteEventoEmpresaAct","eventoEmpresaId","deleteEventoEmpresaSer","getEventoEmpresaAct","NotificationManager","success","selectEventoEmpresaAct","usuarioIdRegistro","selectEventoEmpresaSer","getEventoEmpresaSinAsigAct","getEventoEmpresaSinAsigSer","getEventoEmpresaSer","getTodoEventoAct","getTodoEventoSer","getEmpresaConEventoAct","getEmpresaConEventoSer","deleteParametroAct","parametroId","deleteParametroSer","getParametroAct","getParametroSer","updateParametroAct","codigo","descripcion","valor","usaurioIdRegistro","estado","updateParametroSer","deleteUsuario","getUsuarios","console","log","updateUsuario","rol","imagenUrl","deleteUsuarioEmpresaAct","usuarioEmpresaId","deleteUsuarioEmpresaSer","getUsuarioEmpresaAct","selectUsuarioEmpresaAct","selectUsuarioEmpresaSer","getUsuarioEmpresaSinAsigAct","getUsuarioEmpresaSinAsigSer","getUsuarioEmpresaSer","deleteEventoAct","deleteEventoSer","getEventoAct","updateEventoAct","logoUrl","modalidadId","nombreEvento","logo","usuarioRegistroId","fechaSubasta","inscripcion","subasta","colocacion","adjudicacion","nombreEmpresaCorto","nombreExponente","updateEventoSer","getEventoSer","getEmpresaSelectAct","getEmpresaSelectSer","getInversionistaSelectAct","getInversionistaSelectSer","getOrdenPorUsuarioAct","getOrdenPorUsuarioSer","updateOrdenAct","ordenId","inversionistaId","accionesComprar","precioPagar","updateOrdenSer","getInstitucionesEmpresaAct","getInstitucionesEmpresaSer","deleteInversionistaAct","deleteInversionistaSer","getInversionistaAct","updateInversionistaAct","apellido","cedula","telefono","direccion","empresaUsuarioId","updateInversionistaSer","getInversionistaSer","deleteEmpresaAct","deleteEmpresaSer","getEmpresaAct","updateEmpresaAct","institucion","gerente","operador","receptor","numAccionesOferta","precioInicialPorAccion","valorUnitarioAccion","montoMinMejoraPrecio","comisionOperador","comisionBVQ","porcentajePrecioTechoMax","fechaConstitucion","fechaInscripcion","capitalPagado","divididoEn","updateEmpresaSer","getEmpresaSer","deleteItemCatalogo","itemId","catalogoId","getItemCatalogos","updateItemCatalogo","activo","editar","itemPadreId","nombreCorto","getItemsCatalogosPag","deleteCatalogo","deleteGestionCatalogo","getCatalogos","updateGestionCatalogo","catalogoPadreId","getCatalogosPadre","getGestionCatalogosPag","getEmpresaSelectInversionista","getDatosAdjudicaciones","updateImpresionLiquidaciones","liquidacionId","updateImpresionTitulos","updateImpresionReportRueda","adjudicacionId","sendEmailInvitacionUser","sendLiquidacionUser","updateLiquidacion","getCatalogosModalidad","sendLiquidacionInversionista","updateCobrarLiquidacion","updateComentarioLiquidacion","comentario","updateImprimirCertificado","updateImprimirLiquidacion","updateEstadoEmailEmpresa","updateEstadoEmailInversionista","updateImpresionReportLiquidacion","updateImpresionReportAdjudicacion","module","exports","enableFuncionalityForRole","fun","filter","length","formatDateTime","dateT","date","Date","month","getMonth","day","getDate","hours","getHours","minutes","getMinutes","seconds","getSeconds","getFullYear","formatTime","padStart","generateMessageAdm","strType","JSON","stringify","secondFormatComplete","toISOString","slice","formatNumber","Number","parseFloat","toFixed","register","username","password","axios","post","global","config","URL_SERVICE","headers","login","process","params","itemR","split","join","result","parse","accessToken","localStorage","setItem","logout","removeItem","authHeader","user","getItem","refWebSocket","connect","state","props","currentUser","useSelector","auth","useState","minHeight","height","gridStyle","setGridStyle","useDispatch","history","useHistory","loadEmpresaConEvento","setLoadEmpresaEvento","juego","eventoSeleccionado","listEventos","administracion","listaEmpresaConEvento","loadingAdjudicacion","loadingSala","loadingOrdenUserId","loadingEmpresaConEvento","loadingInversionistaSelect","openCatalogo","setOpenCatalogo","openEmpresa","setOpenEmpresa","openInversionista","setOpenInversionista","openUsuario","setOpenUsuario","openEvento","setOpenEvento","openParametro","setOpenParametro","openLiquidaciones","setOpenLiquidaciones","openReporte","setOpenReporte","setOpenControlJuego","setOpenUsuarioActivo","UseLocalStorage","even","setEven","loadEvent","setLoadEvent","showEmpresa","datosjuego","controlJuego","isDisabled","setIsDisabled","showMenu","setShowMenu","useEffect","userList","setUserList","listMessage","setListMessage","startJuego","valueVisibleSelectEditarOrden","maximizeEmpresa","setMaximizeEmpresa","maximizeAdj","setMaximizeAdj","maximizeOrd","setMaximizeOrd","maximizeRegis","setMaximizeRegis","empresaFilterGen","setEmpresaFilterGen","setDatosTicket","undefined","admFuncionality","userFuntion","userRuedaFuncionality","userCajaFuncionality","userLiquidacionFuncionality","userRegistradorFuncionality","empresaFilter","setEmpresaFilter","gridInfor","setGridInfor","datosTicket","catch","selected","setSelected","columns","name","header","defaultFlex","xdefaultLocked","headerAlign","className","render","to","sendMessageLocal","msg","sendMessage","sendMessageChat","clientId","lsTmp","itemMsg","push","addMessageHistory","ref","Websocket","url","URL_WEB_SOCKET","encodeURIComponent","onMessage","trim","initObject","setEventoObject","toggleBotonApertura","objectJugada","window","location","reload","usuarioObject","xml2js","Parser","parseString","err","usuarios","a","b","localeCompare","ex","closeEmpresaClick","closeCatalogosClick","closeInversionistaClick","closeUsuarioClick","closeEventoClick","closeParametroClick","closeReporteClick","closeLiquidacionesClick","ControlJuego","closeControlJuegoClick","UsuarioActivo","closeUsuarioActivoClick","onClick","href","e","preventDefault","slideSpeed","isNewsTicker","show","map","element","id","EmpresaId","change","symbol","NombreEmpresa","lastPrice","PrecioInicialPorAccion","percentage","currentPrice","NumAccionesOferta","placeholder","onChange","target","nego","item","toLowerCase","includes","toLocaleLowerCase","filterCatalogo","idProperty","style","enableSelection","selection","mode","dataSource","theme","onSelectionChange","empFil","x","PorcentajePrecioTechoMax","getUsuariosSer","getOrdenSer","deleteOrdenSer","getEventoSelectSer","React","createContext","setShowButtonSubasta","setshowButtonAdjudicacion","estadoObtenidoBotonApertura","valueApertura","valueSubasta","valueAdjudicacion","valueBotonApertura","estadoObtenidoBotonSubasta","valueBotonSubasta","valueBotonAdjudicacion","mostratBotonesRigth","setMostratBotonesRigth","toggleValueSubasta","toggleValueAdjudicacion","toggleBotonVisibleEditarOrden","initialState","isLoggedIn","listBanner","loadingBanner","eventos","titulosRVCount","listTitleEvent","empresaSeleccionada","pInscripcion","pColocacion","pSubasta","pAdjudicaion","loadingEventosPorUsr","parseInt","showLablesTime","allTime","timeLastPlay","loadingAccionEvt","modalidadCodigo","reducer","action","listaCatalogosPag","listaCatalogosCount","listaCatalogosPadre","listaItemsPag","listaItemsCount","loadingCatalogos","loadingItems","listaEmpresa","listaEmpresaCount","loadingEmpresa","listaInversionista","listaInversionistaCount","loadingInversionista","listaInstitucionEmpresa","listaUsuarios","listaOrdenes","listaOrdenesCount","listaOrdenesPorUsuario","listaOrdenesPorUsuarioCount","loadingOrden","listaEmpresaSelect","listaInversionistaSelect","listaEventos","listaEventosCount","loadingEventos","listaUsuarioEmpresa","listaUsuarioEmpresaSinAsig","loadingUsuarioEmpresa","listaUser","listaUserCount","loadingUser","listaEventoSelect","listaParametro","listaParametroCount","loadingParametro","listaTodosLosEventos","listaEventoEmpresa","listaEventoEmpresaSinAsig","loadingEventoEmpresa","listaDatosEvento","loadingDatosEvento","datoEventoId","listaAdjudicacion","listaAdjudicacionCount","combineReducers","banner","segundosApertura","segundosSubasta","segundosAdjudicacion","recuperarLoading","datosEmpresa","listaEmpresasSelecInversionista","listaDatosAdjudicaciones","loadingControl","listaCatalogosModalidad","usuariosLoading","laodingDatosEmpresa","listaAdjudicacionesCount","loadingAdjudicacionesD","liquidacionesLoading","middleware","thunk","store","createStore","rootReducer","composeWithDevTools","applyMiddleware","getEventosPorUsuario","userId","getTitulosEventoById","eventId","getBannerByGame","loadOrden","setLoadOrden","rowData","updateFiltro","useCallback","menuProps","rowProps","autoDismiss","items","text","maximizeOrn","loadAdjudicacion","setLoadAdjudicacion","listaAdjudicacionEmpresa","setlistaAdjudicacionEmpresa","empresa","renderRowContextMenu","filterEmpresa","initialValue","storedValue","setStoreValue","eventoSeleccionadoId","plantillaFilter","loadEventoEmpresa","setloadEventoEmpresa","isLoading","setIsLoading","downloadExcel","file","open","handleClickReporEvento","EventoId","textAlign","fontSize","minWidth","handleClickReporLiquidacion","handleClickReporAdjudicacion","width","innerWidth","innerHeight","getWindowDimensions","userFilter","setUserFilter","showUserList","setShowUserList","enableUserList","i","title","ItemRentaFija","src","URL_IMAGE_EMISOR","this","alt","displayType","thousandSeparator","decimalScale","fixedDecimalScale","Component","ItemRentaVariable","index","getStyleByIndex","errors","setErrors","catalogoSeleccionado","setCodigo","setNombre","setIsError","setActivo","setEditar","closeEditCat","closeCatalogo","cambioEstado","label","estadoSelect","setEstadoSelect","textoRegex","autocomplete","maxLength","toUpperCase","onBlur","options","right","defaultChecked","checked","valid","test","itemSeleccionado","setNombreCorto","closeEditItem","editarItemOpen","setEditarItemOpen","setItemSeleccionado","setCatalogoId","loadItems","setLoadItems","itemFilter","setItemFilter","confirmAlert","buttons","defaultWidth","EditarItemCatalogo","menuButton","filterItem","closeItemCatalogo","editCatalogoOpen","setEditCatalogoOpen","itemCatalogoOpen","setItemCatalogoOpen","setCatalogoSeleccionado","loadCatalogs","setLoadCatalogs","catalogoFilter","setCatalogoFilter","formatEstado","ItemCatalogo","usuarioErr","emailErr","gerenteErr","logoErr","operadorErr","direccionErr","receptorErr","comisionOperadorErr","comisionBvqErr","porcentajeTechoErr","precioInicialPorAccionErr","valorUnitarioAccionErr","montoMinMejoraPrecioErr","capitalPagadoErr","valorErr","divididoErr","setLogo","setDireccion","setInstitucion","setEmail","setGerente","setOperador","setReceptor","setNumAccionesOferta","setPrecioInicialPorAccion","setValorUnitarioAccion","setMontoMinMejoraPrecio","setComisionOperador","setComisionBVQ","setPorcentajePrecioTechoMax","setFechaConstitucion","setFechaInscripcion","setCapitalPagado","setDivididoEn","setValor","loadInstitucion","setLoadInstitucion","closeEditEmpresa","nombreRegex","accept","files","Array","from","forEach","reader","FileReader","readAsDataURL","onload","arrayImage","showMonthDropdown","showYearDropdown","dateFormat","allowNegative","decimalSeparator","prefix","onValueChange","values","formattedValue","loadListaUsuariosEmpresaSinAsig","setLoadListaUsuariosEmpresaSinAsig","closeSeleccionarUsuarioEmpresa","closeSelectUsuarioEmpresa","empresaSeleccionadaId","toArray","Object","keys","0","checkboxColumn","margin","defaultVisible","nombreEmpresa","selectUsuarioEmpresaOpen","setSelectUsuarioEmpresaOpen","loadUsuarioEmpresa","setloadUsuarioEmpresa","str","getRol","closeUsuarioEmpresa","setEmpresaSeleccionada","usuarioEmpresaOpen","setUsuarioEmpresaOpen","editEmpresaOpen","setEditEmpresaOpen","loadEmpresa","setLoadEmpresa","setNombreEvento","setLogoUrl","setInscripcion","setColocacion","setSubasta","setAdjudicacion","setFechaSubasta","setNombreEmpresaCorto","setNombreExponente","cambioModalidad","loadModalidades","setLoadModalidades","modalidad","setModalidad","closeEditEvento","multiple","showTimeSelect","timeIntervals","timeCaption","timeFormat","loadListaEventoEmpresaSinAsig","setloadListaEventoEmpresaSinAsig","closeSeleccionarEventoEmpresa","closeSelectEventoEmpresa","selectEventoEmpresaOpen","setSelectEventoEmpresaOpen","SeleccionarEventoEmpresa","closeEventoEmpresaClick","setEventoSeleccionado","eventoEmpresaOpen","setEventoEmpresaOpen","editEventoOpen","setEditEventoOpen","loadEvento","setLoadEvento","toLocaleString","replace","inversionistaSeleccionado","setApellido","setCedula","setTelefono","setEmpresa","boolListEmpresaEvento","setboolListEmpresaEvento","cambioEmpresa","closeEditInversionista","capitalizedText","allowLeadingZeros","setInversionistaSeleccionado","editInversionistaOpen","setEditInversionistaOpen","loadInverisonista","setLoadInversionista","formatter","cell","c","usuarioSeleccionado","setNick","setImagenUrl","setClave","optionsEstado","cambioRol","rolSelect","setRolSelect","optionsRol","closeEditU","closeUser","passwordVisible","setPasswordVisible","numeros","inferior","superior","numPosibilidades","aleatorio","Math","random","floor","editUsuarioOpen","setEditUsuarioOpen","setUsuarioSeleccionado","mostrarUsuarios","setMostrarUsuarios","setPlantillaFilter","EditarUsuario","filterPlantilla","parametroSeleccionado","setDescripcion","closeEditParametro","setParametroSeleccionado","editParametroOpen","setEditParametroOpen","loadParametro","setLoadParametro","parametroFilter","setparametroFilter","EditarParametro","filterParametro","setAccionesComprar","precio","setPrecio","nuevoInversionistaOpen","setNuevoInversionistaOpen","isActiveButton","setIsActiveButton","clicked","setClicked","precioUltimo","setPrecioUltimo","list","setList","inversionista","setInversionista","arrPrice","arrPrice2","sumaAcciones","arr","column","sum","sumColumn","Precio","precioMejo","AgregarInversionista","tabIndex","disabled","class","isAllowed","floatValue","setTimeout","warning","actualizar","liquidacionSeleccionada","setComentario","closeEditComentario","closeEditComentarioLiqui","mostrarDatosAdjudicaciones","setMostrarDatosAdjudicaciones","setLiquidacionSeleccionada","editComentarioLiquiOpen","setEditComentarioLiquiOpen","renderButtonELiquidacion","border","outline","handleClickLiquidacionIndividual","renderButtonEmailLiquidacionInversionista","handleClickLiquidacionIndividualInversionista","renderButtonICertificado","handleClickCertificado","renderButtonITitulo","handleClickTitulo","Liquidacion","openPDF","AdjudicacionId","pdf","renderButtonObservaciones","BannerService","required","role","Login","form","useRef","setUsername","setPassword","loading","setLoading","shown","setError","logojunior","onSubmit","current","validateAll","AuthService","for","validations","Register","RentaFija","titulos","currentTitle","currentEventos","marca1","marca2","imagenEmisor","imagenNoticiaPositivaBig","imagenNoticiaNegativaBig","leftArrow","rightArrow","img01","img02","BoardUser","content","setContent","UserService","getUserBoard","_content","BoardModerator","getModeratorBoard","BoardAdmin","getAdminBoard","nombreErr","nickErr","closeWindow","closeProfileClick","secondsApertura","setSecondsApertura","secondsSubasta","setSecondsSubasta","secondsAdj","setSecondsAdj","intervalReloj","setIntervalReloj","dateInit","setDateInit","pAdjudicacion","insc","setInsc","colo","setColo","sub","setSub","adj","setAdj","openProfile","setOpenProfile","userOperadorFuncionality","loadDatosEvento","setLoadDatosEvento","setMostrarHora","loadCargarHora","setLoadCargarHora","muestraReloj","fechaHora","horas","minutos","segundos","setSeconds","document","getElementById","innerHTML","toLocaleDateString","timer","setInterval","fechaActual","mostrarHora","clearInterval","intertmp","interval","ConfigurarUsuario","createRef","audCampana","autoPlay","playsInline","NoJuego","getPassword","sendEmailPassword","setEventoSeleccionadoId","loadTodosLosEventos","setLoadTodosLosEventos","formatModalidad","stickyHeader","createBrowserHistory","CondicionesLegales","loadCssClass","setLoadCssClass","classList","add","App","listen","exact","path","component","Recuperar","Sala","Juego","AperturaRueda","ElegirEvento","SeleccionarEvento","Boolean","hostname","match","ReactDOM","navigator","serviceWorker","ready","registration","unregister","ProgressBar","bgcolor","completed","fillerStyles","backgroundColor","borderRadius","transition","padding","color","fontWeight","require","API_URL","getPublicContent","get"],"mappings":"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2I,sBAAoBC,QAClB,mBACA,UACA,KACA,cACA,KAGFvC,EAAS,CACPC,KAAMrG,MAER0I,sBAAoB3B,MAClB,oBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMrG,MAERoG,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAKRkE,EAAkB,SAC7BhE,EACAiE,EACAC,EACAC,EACAC,EACAzB,EACA0B,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACA1E,EACAC,EACAC,EACAC,EACAC,GAAI,OACD,SAACvB,GAIJ,OAHAA,EAAS,CACPC,KAAMpG,MAED0G,IAAWuF,gBAChB7E,EACAiE,EACAC,EACAC,EACAC,EACAzB,EACA0B,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACApF,MACA,SAACI,GA0BC,OAzBiB,IAAbA,GACFb,EAASgF,EAAa7D,EAAMC,EAAaC,EAAOC,EAASC,IAEzDvB,EAAS,CACPC,KAAMxG,OAER6I,sBAAoBC,QAClB,kBACA,UACA,KACA,cACA,KAGFvC,EAAS,CACPC,KAAMvG,OAER4I,sBAAoB3B,MAClB,mBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMvG,OAERsG,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAKRiE,EAAe,SAAC7D,EAAMC,EAAaC,EAAOC,EAASC,GAAI,OAAK,SACvEvB,GAKA,OAHAA,EAAS,CACPC,KAAMpG,MAED0G,IAAWwF,aAAa5E,EAAMC,EAAaC,EAAOC,EAASC,GAAMd,MACtE,SAACC,GACC,OAAY,MAARA,GACFV,EAAS,CACPC,KAAM1G,KACN2G,QAAS,CAA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lB,oBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMzI,MAERwI,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAKR6G,EAAmB,SAC9BtH,EACAsB,EACAyD,EACAgC,EACAzD,EACA0B,EACAuC,EACA/F,EACAgG,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAjF,EACAvC,EACAC,EACAC,EACAC,EACAC,GAAI,OACD,SAACvB,GAIJ,OAHAA,EAAS,CACPC,KAAM3I,MAEDiJ,IAAWqI,iBAChBtI,EACAsB,EACAyD,EACAgC,EACAzD,EACA0B,EACAuC,EACA/F,EACAgG,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAjF,GACAjD,MACA,SAACI,GA0BC,OAzBiB,IAAbA,GACFb,EAAS2H,EAAcxG,EAAMC,EAAaC,EAAOC,EAASC,IAC1DvB,EAASgG,KACThG,EAAS,CACPC,KAAMxI,OAER6K,sBAAoBC,QAClB,mBACA,UACA,KACA,cACA,KAGFvC,EAAS,CACPC,KAAMvI,OAER4K,sBAAoB3B,MAClB,mBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMvI,OAERsI,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAKR4G,EAAgB,SAACxG,EAAMC,EAAaC,EAAOC,EAASC,GAAI,OAAK,SACxEvB,GAKA,OAHAA,EAAS,CACPC,KAAM3I,MAEDiJ,IAAWsI,cAAc1H,EAAMC,EAAaC,EAAOC,EAASC,GAAMd,MACvE,SAACC,GACC,OAAY,MAARA,GACFV,EAAS,CACPC,KAAM7I,IACN8I,QAAS,CAAEQ,KAAMA,KAEZP,QAAQC,YAEfJ,EAAS,CACPC,KAAM5I,MAIH8I,QAAQC,cAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAM5I,MAGR2I,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cASR+H,EAAqB,SAChCC,EACAC,EACA7H,EACAC,EACAC,EACAC,EACAC,GAAI,OACD,SAACvB,GAIJ,OAHAA,EAAS,CACPC,KAAM9I,OAEDoJ,IAAWuI,mBAAmBC,GAAQtI,MAC3C,SAACI,GA4BC,OA3BiB,IAAbA,GACFb,EACEiJ,EAAiBD,EAAY7H,EAAMC,EAAaC,EAAOC,EAASC,IAGlEvB,EAAS,CACPC,KAAMtJ,MAER2L,sBAAoBC,QAClB,6BACA,UACA,KACA,cACA,KAGFvC,EAAS,CACPC,KAAMrJ,MAER0L,sBAAoB3B,MAClB,oBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMrJ,MAERoJ,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAKRmI,EAAqB,SAChCH,EACAvF,EACA5B,EACAuH,EACAC,EACAC,EACAL,EACAM,EACA1F,EACAzC,EACAC,EACAC,EACAC,EACAC,GAAI,OACD,SAACvB,GAIJ,OAHAA,EAAS,CACPC,KAAM9I,OAEDoJ,IAAW2I,mBAChBH,EACAvF,EACA5B,EACAuH,EACAC,EACAC,EACAL,EACAM,EACA1F,GACAnD,MACA,SAACI,GA2BC,OA1BiB,IAAbA,GACFb,EACEiJ,EAAiBD,EAAY7H,EAAMC,EAAaC,EAAOC,EAASC,IAElEvB,EAAS,CACPC,KAAMpJ,OAERyL,sBAAoBC,QAClB,4BACA,UACA,KACA,cACA,KAGFvC,EAAS,CACPC,KAAMnJ,OAERwL,sBAAoB3B,MAClB,mBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMnJ,OAERkJ,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAKRkI,EAAmB,SAC9BD,EACA7H,EACAC,EACAC,EACAC,EACAC,GAAI,OACD,SAACvB,GAIJ,OAHAA,EAAS,CACPC,KAAM9I,OAEDoJ,IAAWgJ,qBAChBP,EACA7H,EACAC,EACAC,EACAC,EACAC,GACAd,MACA,SAACC,GACC,OAAY,MAARA,GACFV,EAAS,CACPC,KAAMlJ,KACNmJ,QAAS,CAAEQ,KAAMA,KAEZP,QAAQC,YAEfJ,EAAS,CACPC,KAAMjJ,OAIHmJ,QAAQC,cAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMjJ,OAGRgJ,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAwCRyI,EAAiB,SAC5BR,EACA7H,EACAC,EACAC,EACAC,EACAC,GAAI,OACD,SAACvB,GAIJ,OAHAA,EAAS,CACPC,KAAM/I,MAEDqJ,IAAWkJ,sBAAsBT,GAAYvI,MAClD,SAACI,GA0BC,OAzBiB,IAAbA,GACFb,EAAS0J,EAAavI,EAAMC,EAAaC,EAAOC,EAASC,IAEzDvB,EAAS,CACPC,KAAM1J,MAER+L,sBAAoBC,QAClB,wBACA,UACA,KACA,cACA,KAGFvC,EAAS,CACPC,KAAMzJ,MAER8L,sBAAoB3B,MAClB,oBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GAEIA,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAIR,OAHAd,EAAS,CACPC,KAAMzJ,MAED2J,QAAQY,cAKR4I,EAAwB,SACnCX,EACAxF,EACA5B,EACAuH,EACAC,EACAQ,EACAhG,EACAzC,EACAC,EACAC,EACAC,EACAC,GAAI,OACD,SAACvB,GAIJ,OAHAA,EAAS,CACPC,KAAM/I,MAEDqJ,IAAWoJ,sBAChBX,EACAxF,EACA5B,EACAuH,EACAC,EACAQ,EACAhG,GACAnD,MACA,SAACI,GA0BC,OAzBiB,IAAbA,GACFb,EAAS0J,EAAavI,EAAMC,EAAaC,EAAOC,EAASC,IACzDvB,GArH+B,SAACA,GACtC,OAAOO,IAAWsJ,oBAAoBpJ,MACpC,SAACC,GACC,OAAY,MAARA,GACFV,EAAS,CACPC,KAAMxJ,IACNyJ,QAAS,CAAEQ,KAAMA,KAEZP,QAAQC,YAEfJ,EAAS,CACPC,KAAMvJ,MAIHyJ,QAAQC,cAEjB,SAACO,GAWC,OATGA,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAERd,EAAS,CACPC,KAAMvJ,MAEDyJ,QAAQY,eA0Fbf,EAAS,CACPC,KAAM5J,OAERiM,sBAAoBC,QAClB,uBACA,UACA,KACA,cACA,KAGFvC,EAAS,CACPC,KAAM3J,OAERgM,sBAAoB3B,MAClB,mBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GAEIA,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAKR,OAJAd,EAAS,CACPC,KAAM3J,OAGD6J,QAAQY,cAKR2I,EAAe,SAACvI,EAAMC,EAAaC,EAAOC,EAASC,GAAI,OAAK,SACvEvB,GAKA,OAHAA,EAAS,CACPC,KAAM/I,MAEDqJ,IAAWuJ,uBAChB3I,EACAC,EACAC,EACAC,EACAC,GACAd,MACA,SAACC,GACC,OAAY,MAARA,GACFV,EAAS,CACPC,KAAM9J,KACN+J,QAAS,CAAEQ,KAAMA,KAEZP,QAAQC,YAEfJ,EAAS,CACPC,KAAM7J,OAIH+J,QAAQC,cAEjB,SAACO,GAEIA,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAMR,OAJAd,EAAS,CACPC,KAAM7J,OAGD+J,QAAQY,cAMRgJ,EAAgC,SAAC7I,EAAWZ,GAAS,OAAK,SAACN,GACtE,OAAOO,IAAWwJ,8BAChB7I,EAAWZ,GACXG,MACA,SAACC,GAGC,OAAY,MAARA,GAEFV,EAAS,CACPC,KAAMzC,IACN0C,QAAS,CAAEQ,KAAMA,KAEZP,QAAQC,YAEfJ,EAAS,CACPC,KAAMxC,OAIH0C,QAAQC,cAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMxC,OAGRuC,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAMRiJ,EAAyB,SAAC/I,EAAUC,EAAWZ,EAAWa,EAAMC,EAAaC,EAAOC,EAASC,GAAI,OAAK,SAACvB,GAElH,OAAOO,IAAWyJ,uBAAuB/I,EAAUC,EAAWZ,EAAWa,EAAMC,EAAaC,EAAOC,EAASC,GAAMd,MAChH,SAACC,GAEC,OAAY,MAARA,GACFV,EAAS,CACPC,KAAMvC,IACNwC,QAAS,CAAEQ,KAAMA,KAEZP,QAAQC,YAEfJ,EAAS,CACPC,KAAMtC,MAIHwC,QAAQC,cAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMtC,MAGRqC,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAORkJ,EAA+B,SAC1CC,GAAa,OAEV,SAAClK,GACJ,OAAOO,IAAW0J,6BAChBC,GAEAzJ,MACA,SAACI,GA0BC,MAzBiB,KAAbA,IACFb,EAAS,CACPC,KAAMrC,OAER0E,sBAAoBC,QAClB,sBACA,UACA,KACA,cACA,KAGc,IAAd1B,IACFb,EAAS,CACPC,KAAMpC,OAERyE,sBAAoB3B,MAClB,oBACA,UACA,KACA,cACA,IAIGR,QAAQC,QAAQS,MAEzB,SAACF,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMpC,OAGRmC,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cASRoJ,EAAyB,SACpCD,GAAa,OAEV,SAAClK,GACJ,OAAOO,IAAW4J,uBAChBD,GAEAzJ,MACA,SAACI,GA2BC,MA1BiB,KAAbA,IAEFb,EAAS,CACPC,KAAMnC,OAERwE,sBAAoBC,QAClB,iBACA,UACA,KACA,cACA,KAGc,IAAd1B,IACFb,EAAS,CACPC,KAAMlC,OAERuE,sBAAoB3B,MAClB,oBACA,UACA,KACA,cACA,IAIGR,QAAQC,QAAQS,MAEzB,SAACF,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMlC,OAGRiC,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAORqJ,EAA6B,SACxCC,GAAc,OAEX,SAACrK,GACJ,OAAOO,IAAW6J,2BAChBC,GAEA5J,MACA,SAACI,GA2BC,MA1BiB,KAAbA,IAEFb,EAAS,CACPC,KAAMjC,OAERsE,sBAAoBC,QAClB,kBACA,UACA,KACA,cACA,KAGc,IAAd1B,IACFb,EAAS,CACPC,KAAMhC,OAERqE,sBAAoB3B,MAClB,oBACA,UACA,KACA,cACA,IAIGR,QAAQC,QAAQS,MAEzB,SAACF,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMhC,OAGR+B,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAORuJ,EAA0B,SACrCrJ,EAAUC,EAAWZ,GAAS,OAE3B,SAACN,GACJ,OAAOO,IAAW+J,wBAChBrJ,EAAUC,EAAWZ,GAAWG,MAC9B,SAACI,GAsCC,OArCiB,IAAbA,IACFb,EAAS,CACPC,KAAM/B,OAERoE,sBAAoBC,QAClB,mCACA,UACA,KACA,cACA,IAGa,IAAb1B,IACFb,EAAS,CACPC,KAAM/B,OAERoE,sBAAoBC,QAClB,+BACA,UACA,KACA,cACA,KAGc,IAAd1B,IACFb,EAAS,CACPC,KAAM9B,OAERmE,sBAAoB3B,MAClB,gCACA,UACA,KACA,cACA,IAIGR,QAAQC,QAAQS,MAEzB,SAACF,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAM9B,OAGR6B,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAOVwJ,EAAsB,SACjCtJ,EAAUC,GAAS,OAEhB,SAAClB,GACJ,OAAOO,IAAWgK,oBAChBtJ,EAAUC,GAEVT,MACA,SAACI,GAeC,OAdkB,IAAdA,IAEFb,EAAS,CACPC,KAAM7B,OAERkE,sBAAoBC,QAClB,8BACA,UACA,KACA,cACA,IAIGpC,QAAQC,QAAQS,MAEzB,SAACF,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAkBR,OAhBAd,EAAS,CACPC,KAAM5B,OAGR2B,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEX0B,sBAAoB3B,MAClB,wBACA,UACA,KACA,cACA,GAGKR,QAAQY,cAORyJ,GAAoB,SAC/BvJ,GAAQ,OACL,SAACjB,GACJ,OAAOO,IAAWiK,kBAChBvJ,GACAR,MACA,SAACI,GAyBC,OAxBiB,IAAbA,IACFb,EAAS,CACPC,KAAM3B,OAERgE,sBAAoBC,QAClB,0BACA,UACA,KACA,cACA,KAGc,IAAd1B,IACFb,EAAS,CACPC,KAAM1B,OAER+D,sBAAoB3B,MAClB,mBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAM1B,OAGRyB,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAaR0J,GAAwB,WAAH,OAAS,SAACzK,GAC1C,OAAOO,IAAWkK,wBAAwBhK,MACxC,SAACC,GAEC,OADAsD,QAAQC,IAAI,cAAevD,GACf,MAARA,GAEFV,EAAS,CACPC,KAAMxB,IACNyB,QAAS,CAAEQ,KAAMA,KAEZP,QAAQC,YAEfJ,EAAS,CACPC,KAAMvB,MAIHyB,QAAQC,cAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMvB,MAGRsB,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAOR2J,GAA+B,SAC1CzJ,EAAUC,GAAS,OAEhB,SAAClB,GACJ,OAAOO,IAAWmK,6BAChBzJ,EAAUC,GAEVT,MACA,SAACI,GAeC,OAdkB,IAAdA,IAEFb,EAAS,CACPC,KAAMtB,OAER2D,sBAAoBC,QAClB,8BACA,UACA,KACA,cACA,IAIGpC,QAAQC,QAAQS,MAEzB,SAACF,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAkBR,OAhBAd,EAAS,CACPC,KAAMrB,OAGRoB,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEX0B,sBAAoB3B,MAClB,wBACA,UACA,KACA,cACA,GAGKR,QAAQY,cAOR4J,GAA0B,SAErCT,EAAejJ,EAAUC,EAAWZ,GAAS,OAC1C,SAACN,GAEJ,OAAOO,IAAWoK,wBAAwBT,GAAezJ,MACvD,SAACI,GA2BC,OA1BiB,IAAbA,GACFb,EAASgK,EAAuB/I,EAAUC,EAAWZ,EAAW,IAAK,GAAI,GAAI,MAAO,KAGpFN,EAAS,CACPC,KAAMpB,OAERyD,sBAAoBC,QAClB,yBACA,UACA,KACA,cACA,KAGFvC,EAAS,CACPC,KAAMnB,OAERwD,sBAAoB3B,MAClB,kBACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMnB,OAERkB,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAKR6J,GAA8B,SAEzCV,EAAeW,EAAY5J,EAAUC,EAAWZ,GAAS,OACtD,SAACN,GACJ,OAAOO,IAAWqK,4BAA4BV,EAAeW,EAAY5J,EAAUC,EAAWZ,GAAWG,MACvG,SAACI,GA4BC,OA3BiB,IAAbA,GAGFb,EAASgK,EAAuB/I,EAAUC,EAAWZ,EAAW,IAAK,GAAI,GAAI,MAAO,KAEpFN,EAAS,CACPC,KAAMlB,QAURiB,EAAS,CACPC,KAAMjB,OAUHmB,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMjB,OAERgB,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAMR+J,GAA4B,SACvCZ,EAAejJ,EAAUC,EAAWZ,GAAS,OAC1C,SAACN,GAEJ,OAAOO,IAAWuK,0BAA0BZ,GAAezJ,MACzD,SAACI,GA0BC,OAzBiB,IAAbA,GACFb,EAASgK,EAAuB/I,EAAUC,EAAWZ,EAAW,IAAK,GAAI,GAAI,MAAO,KAEpFN,EAAS,CACPC,KAAMhB,QAURe,EAAS,CACPC,KAAMf,OAUHiB,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMf,OAERc,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAORgK,GAA4B,SACvCb,EAAejJ,EAAUC,EAAWZ,GAAS,OAC1C,SAACN,GAEJ,OAAOO,IAAWwK,0BAA0Bb,GAAezJ,MACzD,SAACI,GA0BC,OAzBiB,IAAbA,GACFb,EAASgK,EAAuB/I,EAAUC,EAAWZ,EAAW,IAAK,GAAI,GAAI,MAAO,KAEpFN,EAAS,CACPC,KAAMd,QAURa,EAAS,CACPC,KAAMb,OAUHe,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMb,OAERY,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAMRiK,GAA2B,SACtCd,EAAejJ,EAAUC,EAAWZ,GAAS,OAC1C,SAACN,GAEJ,OAAOO,IAAWyK,yBAAyBd,GAAezJ,MACxD,SAACI,GA0BC,OAzBiB,IAAbA,GACFb,EAASgK,EAAuB/I,EAAUC,EAAWZ,EAAW,IAAK,GAAI,GAAI,MAAO,KAEpFN,EAAS,CACPC,KAAMZ,QAURW,EAAS,CACPC,KAAMX,OAUHa,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMX,OAERU,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAKRkK,GAAiC,SAC5Cf,EAAejJ,EAAUC,EAAWZ,GAAS,OAC1C,SAACN,GAEJ,OAAOO,IAAW0K,+BAA+Bf,GAAezJ,MAC9D,SAACI,GA0BC,OAzBiB,IAAbA,GACFb,EAASgK,EAAuB/I,EAAUC,EAAWZ,EAAW,IAAK,GAAI,GAAI,MAAO,KAEpFN,EAAS,CACPC,KAAMV,QAURS,EAAS,CACPC,KAAMT,OAUHW,QAAQC,aAEjB,SAACO,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAQR,OAPAd,EAAS,CACPC,KAAMT,OAERQ,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAEJT,QAAQY,cAORmK,GAAmC,SAC9CjK,GAAQ,OAEL,SAACjB,GACJ,OAAOO,IAAW2K,iCAChBjK,GAEAR,MACA,SAACI,GA2BC,MA1BiB,KAAbA,IAEFb,EAAS,CACPC,KAAMR,OAER6C,sBAAoBC,QAClB,kBACA,UACA,KACA,cACA,KAGc,IAAd1B,IACFb,EAAS,CACPC,KAAMP,OAER4C,sBAAoB3B,MAClB,oBACA,UACA,KACA,cACA,IAIGR,QAAQC,QAAQS,MAEzB,SAACF,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMP,OAGRM,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAQRoK,GAAoC,SAC/ClK,GAAQ,OAEL,SAACjB,GACJ,OAAOO,IAAW4K,kCAChBlK,GAEAR,MACA,SAACI,GA2BC,MA1BiB,KAAbA,IAEFb,EAAS,CACPC,KAAMN,OAER2C,sBAAoBC,QAClB,kBACA,UACA,KACA,cACA,KAGc,IAAd1B,IACFb,EAAS,CACPC,KAAML,OAER0C,sBAAoB3B,MAClB,oBACA,UACA,KACA,cACA,IAIGR,QAAQC,QAAQS,MAEzB,SAACF,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAML,OAGRI,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,e,kBClmHrBqK,EAAOC,QAAU,06F,kBCAjBD,EAAOC,QAAU,s6F,gCCAjB,4MAMO,SAASC,EAA0BnH,EAAKoH,GAU7C,OAAQpH,GACN,IAAK,aACH,MAXoB,CAAC,WAAY,cAAe,QAAS,MAAO,YAWzCqH,QAAO,SAAAzL,GAAK,OAAKA,IAAUwL,KAAME,OAAS,EAEnE,IAAK,aACH,MAboB,CAAC,WAAY,cAAe,QAAS,MAAO,aAazCD,QAAO,SAAAzL,GAAK,OAAKA,IAAUwL,KAAME,OAAS,EAEnE,IAAK,YACH,MAbsB,CAAC,cAaED,QAAO,SAAAzL,GAAK,OAAKA,IAAUwL,KAAME,OAAS,EAIrE,IAAK,gBACH,MAjBuB,CAAC,aAAc,cAiBZD,QAAO,SAAAzL,GAAK,OAAKA,IAAUwL,KAAME,OAAS,EAEtE,IAAK,gBACH,MAnBuB,CAAC,aAAc,aAmBZD,QAAO,SAAAzL,GAAK,OAAKA,IAAUwL,KAAME,OAAS,EAEtE,IAAK,YACH,MA1BmB,CAAC,WAAY,cAAe,QAAS,MAAO,aA0BzCD,QAAO,SAAAzL,GAAK,OAAKA,IAAUwL,KAAME,OAAS,EAElE,IAAK,mBACH,MA5BoB,CAAC,WAAY,cAAe,QAAS,MAAO,cA4BzCD,QAAO,SAAAzL,GAAK,OAAKA,IAAUwL,KAAME,OAAS,EAEnE,IAAK,mBACH,MA3B0B,CAAC,aAAc,cA2BZD,QAAO,SAAAzL,GAAK,OAAKA,IAAUwL,KAAME,OAAS,GAgBtE,SAASC,EAAeC,GAE7B,GAAa,MAATA,EAAe,CACjB,IAAIC,EAAO,IAAIC,KAAKF,GAEhBG,GAASF,EAAKG,WAAa,GAAGjL,WACb,IAAjBgL,EAAML,SACRK,EAAQ,IAAMA,GAEhB,IAAIE,EAAMJ,EAAKK,UAAUnL,WACN,IAAfkL,EAAIP,SACNO,EAAM,IAAMA,GAEd,IAAIE,EAAQN,EAAKO,WAAWrL,WACP,IAAjBoL,EAAMT,SACRS,EAAQ,IAAMA,GAEhB,IAAIE,EAAUR,EAAKS,aAAavL,WACT,IAAnBsL,EAAQX,SACVW,EAAU,IAAMA,GAElB,IAAIE,EAAUV,EAAKW,aAAazL,WAIhC,OAHuB,IAAnBwL,EAAQb,SACVa,EAAU,IAAMA,GAEXN,EAAM,IAAMF,EAAQ,IAAMF,EAAKY,cAGtC,MAAO,GAKJ,SAASC,EAAWd,GACzB,IAAIC,EAAO,IAAIC,KAAKF,GAEhBO,EAAQN,EAAKO,WAEbC,EAAUR,EAAKS,aAAavL,WAAW4L,SAAS,EAAG,KAOvD,OAJc,IAAVR,IACFA,EAAQ,IAGHA,EAAMpL,WAAW4L,SAAS,EAAG,KAAO,IAAMN,EA6B5C,SAASO,EAAmBC,GACjC,OAAOC,KAAKC,UAAU,CAAE,IAAOF,IAQ1B,SAASG,EAAqBT,GACnC,OAAIA,EAAU,EACL,WACF,IAAIT,KAAe,IAAVS,GAAgBU,cAAcC,MAAM,GAAI,IAGnD,SAASC,EAAanN,GAC3B,OAAa,MAATA,EACKoN,OAAOC,WAAWrN,GAAOsN,QAAQ,GAGjC,K,kCCvJX,sC,oDCAA,uCAsCe,KACbC,SApCe,SAACC,EAAUzL,EAAO0L,GACjC,OAAOC,IAAMC,KAAKC,EAAOC,OAAOC,YAAc,SAAU,CACtDN,WACAzL,QACA0L,YACA,CAACM,QAAS,CAAC,eAAgB,sCAgC7BC,MA7BY,SAACR,EAAUC,GACvBxJ,QAAQC,IAAI+J,oHACZ,IAAMC,EAAS,CAAC,QAAU,eAAiBV,EAAW,cAAgBC,EAAW,MACjF,OAAOC,IACJC,KAAKC,EAAOC,OAAOC,YAAc,iBAAkBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACrFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAE1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAGG,EAAO5C,OAAO,GACX4C,EAAO,GAAGE,cACZC,aAAaC,QAAQ,OAAQ5B,KAAKC,UAAUuB,EAAO,KACnDrK,QAAQC,IAAIoK,EAAO,KAGdA,EAAO,IAEP,SAabK,OAPa,WACbF,aAAaG,WAAW,Y,mDCnCX,SAASC,IACtB,IAAMC,EAAOhC,KAAKyB,MAAME,aAAaM,QAAQ,SAE7C,OAAID,GAAQA,EAAKN,YAKR,CAAE,iBAAkBM,EAAKN,aAEzB,GAVX,mC,0YCyCIQ,G,MAAe,MAqwBJC,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAjwBF,SAACE,GAAW,IACTC,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAAI,EACqBS,mBAAS,CAAEC,UAAW,wBAAyBC,OAAQ,SAAS,mBAA1FC,EAAS,KAACC,EAAY,KACvB1P,EAAW2P,cACbC,EAAUC,cAAa,EAC0BP,oBAAS,GAAM,mBAA7DQ,EAAoB,KAAEC,EAAoB,OAC+BX,aAAY,SAACH,GAAK,OAAKA,EAAMe,SAApDC,GAAtB,EAA3BC,YAAmE,EAAtCD,oBAAkB,EACsFb,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAlKC,EAAqB,EAArBA,sBAAoCC,GAAF,EAAXC,YAAgC,EAAnBD,qBAAqBE,EAAkB,EAAlBA,mBAAoBC,EAAuB,EAAvBA,wBAAyBC,EAA0B,EAA1BA,2BAA0B,EAGpFnB,oBAAS,GAAK,mBAAlB,GAAvB,KAAuB,KACIA,oBAAS,IAAK,mBAAlB,IAAvB,KAAuB,KAEVA,mBAAS,KAAG,qBAA7CoB,GAAY,MAAEC,GAAe,SACErB,mBAAS,IAAG,qBAA3CsB,GAAW,MAAEC,GAAc,SACgBvB,mBAAS,IAAG,qBAAvDwB,GAAiB,MAAEC,GAAoB,SACRzB,mBAAS,IAAG,qBAA3C0B,GAAW,MAAEC,GAAc,SACE3B,mBAAS,IAAG,qBAAzC4B,GAAU,MAAEC,GAAa,SACU7B,mBAAS,IAAG,qBAA/C8B,GAAa,MAAEC,GAAgB,SACY/B,mBAAS,IAAG,qBAAvDgC,GAAiB,MAAEC,GAAoB,SACRjC,mBAAS,IAAG,qBAA3CkC,GAAW,MAAEC,GAAc,SACcnC,mBAAS,IAAG,qBAAnCoC,IAAF,MAAqB,UACMpC,mBAAS,IAAG,qBAApCqC,IAAF,MAAsB,UAERrC,mBAAS,IAAG,qBAAhB,IAAhB,MAAgB,MACVsC,YAAgB,OAAQ,KAAG,qBAA5CC,GAAI,MAAEC,GAAO,SACcxC,oBAAS,GAAM,qBAA1CyC,GAAS,MAAEC,GAAY,MAE5B,GACoB1C,mBAAyB,OAAhBH,GAAuB7D,YAA0B6D,EAAkB,KAAG,iBAA9F8C,GAAsH,kBAA3G,GACRC,GAAe9C,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAA1CD,WACR,GACoC5C,oBAAS,GAAK,qBAA3C8C,GAAU,MAAEC,GAAa,MAChC,GACwC/C,oBAAS,GAAM,qBAAnB,IAAjB,MAAiB,MACJA,oBAAS,IAAM,qBAAxCgD,GAAQ,MAAEC,GAAW,MAG5BC,qBAAU,WACRH,GAAcH,IAAgD,MAAlCA,GAA4B,mBACvD,CAACA,KACJ,OAC8B5C,mBAAS,IAAG,qBAArCmD,GAAQ,MAAEC,GAAW,SACkCpD,mBAAS,IAAG,qBAAhB,IAA5B,MAA4B,MACVA,oBAAS,IAAK,qBAAlB,IAArB,MAAqB,MACRA,mBAAS,IAAE,qBAAf,IAAf,MAAe,MACMA,mBAAS,KAAG,qBAA3CqD,GAAW,MAAEC,GAAc,SACEtD,mBAAS,IAAG,qBAAhB,IAAf,MAAe,MACJA,mBAAS,IAAE,qBAAf,IAAX,MAAW,MACcA,oBAAS,IAAK,qBAAlB,IAAhB,MAAgB,MACEA,oBAAS,IAAM,qBAA5CuD,GAAU,MACsB,IADP,MACsCzD,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAAvFW,8BACoBxD,mBAAS,IAAE,qBAAf,IAAX,MAAW,MACsBA,oBAAS,IAAM,qBAAtDyD,GAAe,MAAEC,GAAkB,SACJ1D,oBAAS,GAAM,qBAA9C2D,GAAW,MAAEC,GAAc,SACI5D,oBAAS,GAAM,qBAA9C6D,GAAW,MAAEC,GAAc,SACQ9D,oBAAS,GAAM,qBAAlD+D,GAAa,MAAEC,GAAgB,SACUhE,mBAAS,IAAG,qBAArDiE,GAAgB,MAAEC,GAAmB,MAE5ChB,qBAAU,WACRiB,GAAyC,OAA1BrD,OAAiEsD,IAAhCtD,EAA4B,KAAgBA,EAA4B,KAAIA,EAA4B,KAAI,MAC3J,CAACA,IAEJoC,qBAAU,WAEN9C,EADCqD,GACY,CAAExD,UAAW,OAAQC,OAAQ,uBAE7B,CAAED,UAAW,wBAAyBC,OAAQ,WAC5D,CAACuD,KAEuB,OAAvB9C,IAA6C,IAAd8B,IAAuC,OAAhB5C,IACxD6C,IAAa,GACbF,GAAQ7B,IAET,OACuBX,mBACN,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,aAFhDwE,GAIJ,kBAJmB,MAKArE,mBACF,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,eAFhDyE,GAIJ,kBAJe,GAMhB,GAC8BtE,mBACZ,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,cAFhD0E,GAIJ,kBAJyB,MAMGvE,mBACX,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,cAFhD2E,GAIJ,kBAJwB,MAMWxE,mBAClB,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,eAFhD4E,GAIJ,kBAJ+B,MAMIzE,mBAClB,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,eAFhD6E,GAIJ,kBAJ+B,GA4I9B,GAKsC1E,mBAAS,IAAG,qBAA/C2E,GAAa,MAAEC,GAAgB,SACJ5E,mBAAS,CAA2B,OAA1Bc,EAAiCA,EAAwB,KAAI,qBAAlG+D,GAAS,MAAEC,GAAY,SAEQ9E,mBAAmC,OAA1Bc,OAAiEsD,IAAhCtD,EAA4B,KAAgBA,EAA4B,KAAIA,EAA4B,KAAI,IAAG,qBAAxLiE,GAAW,MAAEZ,GAAc,MAGF,OAA1BrD,GAAkCA,EAA4B,MAAK+D,IAA+B,KAAlBF,IAClFG,GAAahE,EAA4B,OAMd,IAAzBN,GAA2C,OAAT+B,IAAiC,OAAhB1C,IACrDY,GAAqB,GACrB/P,EAASgD,YAAuB6O,GAAM1C,EAAoB,OAAGA,EAAuB,YACjF1O,MAAK,eACL6T,OAAM,gBACV,OAE+BhF,mBAAS,GAAE,qBAApCiF,GAAQ,MAAEC,GAAW,MAqB3B,GAEuDlF,oBAAS,GAAM,qBAA7C,MAA0B,MAuBpD,IAAImF,GAAU,CAEZ,CAAEC,KAAM,gBAAiBC,OAAQ,UAAWC,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UAChG,CAAEJ,KAAM,oBAAqBC,OAAQ,WAAYC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,UAC/H,CAAEJ,KAAM,yBAA0BC,OAAQ,SAAUC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,cAAeC,OAAQ,gBAAGjV,EAAK,EAALA,MAAK,OAAOmN,YAAanN,IAAQ+U,YAAa,WAGhL,IAAK3F,EACH,OAAO,kBAAC,IAAQ,CAAC8F,GAAG,WAetB,SAASC,GAAiBC,GACxBpG,EAAaqG,YAAYD,GAE3B,SAASE,GAAgBF,EAAKG,IAK9B,SAA2BH,EAAKG,EAAUrV,GACxC,IAAIsV,EAAQ5C,GAAY2C,QACM5B,IAA1Bf,GAAY2C,IAAqD,OAA1B3C,GAAY2C,KACrDC,EAAQ,IAEV,IAAIC,EAAU,GACdA,EAAa,IAAIL,EACjBK,EAAc,KAAIvV,EAClBsV,EAAME,KAAKD,GACX7C,GAAY2C,GAAYC,EACxB3C,GAAeD,IAdf+C,CAAkBP,EAAKG,EAAU,KACjCvG,EAAaqG,YAAYD,GAsH3B,OACE,yBAAKJ,UAAU,+BACb,kBAAC,IAAS,CACRY,IAAK,SAAAC,GAAe7G,EAAe6G,GACnCC,IAAKlI,EAAOC,OAAOkI,eAAiB7F,EAAqB,QAAUd,EAAoB,OAAI,aAAeA,EAAkB,KAAI,UAAY4G,mBAAmB5G,EAAyB,aAAK,QAC7L6G,UAxGa,SAACtV,GAClB,QAAagT,IAAThT,GAAsC,KAAhBA,EAAKuV,OAA/B,CAEA,IAAI5H,EAASxB,KAAKyB,MAAM5N,GAGxB,OAFAsD,QAAQC,IAAI,cAAeoK,GAEnBA,EAAa,MAEnB,IAAK,UACH/L,sBAAoB3B,MAClB,yEACA,UACA,KACA,cACA,GAEF,MACF,IAAK,QACH,IAAIuV,EAAarJ,KAAKyB,MAAMD,EAAY,KAKxC,OAJArK,QAAQC,IAAI,oBAAoBiS,EAAkB,OAElDlW,EAASmW,YAAgBD,EAAkB,QAEnCA,EAA4B,iBAClC,IAAK,IAGL,IAAK,IAGL,IAAK,IAGL,IAAK,IAEH,MACF,QACElW,EAASoW,eAEb,MACF,IAAK,SACH,IAAIC,EAAexJ,KAAKyB,MAAMD,EAAY,KAC1CrK,QAAQC,IAAIoS,GACZrW,EAASmW,YAAgBE,EAAoB,QAC7C,MACF,IAAK,aACHC,OAAOC,SAASC,QAAO,GACvB,MACF,IAAK,QACHxW,EAASmW,YAAgBjE,KAEzB,MACF,IAAK,mBAEH,IAAIuE,EAAgB5J,KAAKyB,MAAMD,EAAY,KAC3CrK,QAAQC,IAAIwS,GAGZzW,EAASoG,YAAsB+I,EAAuB,UAAGc,EAAoBd,EAAoB,OAAG,IAAK,GAAI,GAAI,MAAO,KACrH1O,MAAK,eAEL6T,OAAM,eAETtU,EAASgB,YAAmBiP,EAAoBd,EAAuB,UAAGA,EAAoB,OAAG,IAAK,GAAI,GAAI,MAAO,KAClH1O,MAAK,eAEL6T,OAAM,eAIVtU,EAASgK,YAAuBiG,EAAoBd,EAAoB,OAAGA,EAAuB,UAAG,IAAK,GAAI,GAAI,MAAO,KAGzHnP,EAASgD,YAAuBiN,EAAoBd,EAAoB,OAAGA,EAAuB,YACjG,MAGF,IAAK,YAEU,IAAIuH,IAAOC,QACjBC,YAAYvI,EAAY,KAC7B,SAAUwI,EAAKxI,GACb,IACE,IAAIyI,EAAWzI,EAAmB,WAAY,SAAE,GAAG,6CACnDyI,EAASvV,MAAK,SAAUwV,EAAGC,GACzB,OAAOD,EAAE,cAAc,GAAY,QAAE,GAAGE,cAAcD,EAAE,cAAc,GAAY,QAAE,OAEtFhT,QAAQC,IAAI,oBAAqB6S,GACjCpE,GAAYoE,GACZ,MAAOI,aAiBE,SAAhBtG,GACC,kBAAC,IAAO,CAACuG,kBA/UW,WAAH,OAAStG,GAAe,KA+UMZ,mBAAoBA,EAAoBmF,YAAaF,KAEpG,GAEgB,SAAjBxE,GACC,kBAAC,IAAS,CAAC0G,oBAhWW,WAAH,OAASzG,GAAgB,OAkW5C,IAE+B,IAAhCqD,IAA8D,SAAtBlD,GACvC,kBAAC,IAAa,CAACuG,wBA7UW,WAAH,OAAStG,GAAqB,KA6UYd,mBAAoBA,EAAoB/O,UAAWiO,EAAoB,OAAG7O,UAAW6O,EAAuB,YAE7K,GAEe,SAAhB6B,GACC,kBAAC,IAAO,CAACsG,kBAtUW,WAAH,OAASrG,GAAe,OAwUzC,GAEc,SAAfC,GACC,kBAAC,IAAM,CAACqG,iBA/TW,WAAH,OAASpG,GAAc,OAiUvC,GAEiB,SAAlBC,GACC,kBAAC,IAAS,CAACoG,oBAxTW,WAAH,OAASnG,GAAiB,OA0T7C,GAIe,SAAhBG,KAAqD,IAA1BqC,KAAsD,IAApBF,GAG5D,GAFA,kBAAC,IAAgB,CAAC8D,kBApSE,WAAH,OAAShG,GAAe,KAoSexB,mBAAoBA,IAOvD,SAAtBqB,GACC,kBAAC,IAAa,CAACoG,wBAzTW,WAAH,OAASnG,GAAqB,KAyTYtB,mBAAoBA,EAAoB/O,UAAWiO,EAAoB,OAAG7O,UAAW6O,EAAuB,UAAGiG,YAAaF,KAE7L,IAG0B,IAA1BrB,KAAsD,IAApBF,GAClC,kBAAC,IAAY,CAACgC,IAAK,SAAAgC,GAAoCA,GACrDC,uBArSuB,WAAH,OAASlG,GAAoB,KAsSjD0D,YAAaF,GACbG,gBAAiBA,GACjB1C,YAAaA,GACbE,WAAYA,KAEd,IAI0B,IAA1BgB,KAAsD,IAApBF,GAClC,kBAAC,IAAa,CAACgC,IAAK,SAAAkC,GAAgCA,GAClDC,wBAnSwB,WAAH,OAASnG,GAAqB,KAmSDc,SAAUA,KAE9D,GAIF,6BAEE,yBAAKsC,UAAU,UAAUgD,QAAS,kBAAMxF,IAAaD,MACnD,uBAAGyC,UAAU,gBAGF,GAAZzC,GACC,yBAAKyC,UAAU,kEAEb,4BACE,4BACE,uBAAGiD,KAAK,IACN,uBAAGjD,UAAU,iBAAmB,aAItC,6BAEA,4BAGE,4BACE,uBAAGiD,KAAK,IAAID,QA3TI,SAACE,GAC7BA,EAAEC,iBACFtI,EAAQ6F,KAAK,wBA0TC,uBAAGV,UAAU,cAAgB,wBAIZ,IAApBpB,GACC,4BACE,uBAAGqE,KAAK,IAAID,QApcD,SAACE,GAC1BA,EAAEC,iBACFvH,GAAgB,QAChBE,GAAe,IACfM,GAAc,IACdJ,GAAqB,IACrBM,GAAiB,IACjBJ,GAAe,IACfM,GAAqB,IACrBE,GAAe,MA4bC,uBAAGsD,UAAU,cAAgB,gBAIjC,IAEmB,IAApBpB,GACC,4BACE,uBAAGqE,KAAK,IAAID,QAjcH,SAACE,GACxBA,EAAEC,iBACFvH,GAAgB,IAChBE,GAAe,QACfM,GAAc,IACdJ,GAAqB,IACrBM,GAAiB,IACjBJ,GAAe,IACfM,GAAqB,IACrBE,GAAe,MAybC,uBAAGsD,UAAU,cAAgB,YAIjC,IAEmB,IAApBpB,KAAsD,IAA1BE,GAC3B,4BACE,uBAAGmE,KAAK,IAAID,QAtaJ,SAACE,GACvBA,EAAEC,iBACFvH,GAAgB,IAChBE,GAAe,IACfM,GAAc,QACdJ,GAAqB,IACrBM,GAAiB,IACjBJ,GAAe,IACfM,GAAqB,IACrBE,GAAe,MA8ZC,uBAAGsD,UAAU,cAAgB,YAIjC,IAEmB,IAApBpB,GACC,4BACE,uBAAGqE,KAAK,IAAID,QAvcG,SAACE,GAC9BA,EAAEC,iBACFvH,GAAgB,IAChBE,GAAe,IACfM,GAAc,IACdJ,GAAqB,QACrBM,GAAiB,IACjBJ,GAAe,IACfM,GAAqB,IACrBE,GAAe,MA+bC,uBAAGsD,UAAU,cAAgB,kBAIjC,IAEmB,IAApBpB,GACC,4BACE,uBAAGqE,KAAK,IAAID,QA5aD,SAACE,GAC1BA,EAAEC,iBACFvH,GAAgB,IAChBE,GAAe,IACfM,GAAc,IACdJ,GAAqB,IACrBM,GAAiB,QACjBJ,GAAe,IACfM,GAAqB,IACrBE,GAAe,MAoaC,uBAAGsD,UAAU,cAAgB,kBAIjC,IAEmB,IAApBpB,KAAsD,IAA1BE,GAC3B,4BACE,uBAAGmE,KAAK,IAAID,QA7cH,SAACE,GACxBA,EAAEC,iBACFvH,GAAgB,IAChBE,GAAe,IACfM,GAAc,IACdJ,GAAqB,IACrBM,GAAiB,IACjBJ,GAAe,QACfM,GAAqB,IACrBE,GAAe,MAqcC,uBAAGsD,UAAU,cAAgB,aAIjC,IAGJ,6BAEA,6BACuB,IAApBpB,KAAsD,IAA1BE,GAC3B,4BACE,uBAAGmE,KAAK,IAAID,QAvaH,SAACE,GACxBA,EAAEC,iBACFvH,GAAgB,IAChBE,GAAe,IACfM,GAAc,IACdJ,GAAqB,IACrBM,GAAiB,IACjBJ,GAAe,IACfM,GAAqB,IACrBE,GAAe,UA+ZC,uBAAGsD,UAAU,cAAgB,aAIjC,IAGmB,IAApBpB,KAAsD,IAA1BE,KAA2D,IAAzBC,KAAiE,IAAhCC,GAC9F,4BACE,uBAAGiE,KAAK,IAAID,QA9bG,SAACE,GAC9BA,EAAEC,iBACFvH,GAAgB,IAChBE,GAAe,IACfM,GAAc,IACdJ,GAAqB,IACrBM,GAAiB,IACjBJ,GAAe,IACfM,GAAqB,QACrBE,GAAe,MAsbC,uBAAGsD,UAAU,iBAAmB,kBAIpC,KAIJ,yBAAKA,UAAU,qEASrB,yBAAKA,UAAU,uBACb,kBAAC,IAAM,CAACoD,WAAY9D,IAAeA,GAAY5I,OAAO,EAAwB,EAArB4I,GAAY5I,OAAa,GAAI2M,cAAc,EAAOC,MAAM,GAC/F,MAAfhE,GACCA,GAAYiE,KAAI,SAAAC,GACd,OAAO,kBAAC,IAAe,CACrBC,GAAID,EAAQE,UACZC,QAAQ,EACRC,OAAQJ,EAAQK,cAChBC,UAAW3L,YAAaqL,EAAQO,wBAChCC,WAAY7L,YAAaqL,EAAQO,wBACjCE,aAAcT,EAAQU,kBACtBlE,UAAU,mBAEV,MAIW,IAApBpB,IAA4B1D,IAAsC,IAAhB2D,KAAkD,IAA1BC,KAAiE,IAA/BE,KAA+D,IAAxBD,GAElJ,yBAAKiB,UAAU,IAEb,yBAAKA,UAAW,CAAC,IAA4B,IAAxB1E,IAAuD,IAAvBE,IAA2D,IAA5BC,EAAmC,cAAgB,IAAIpC,KAAK,MAC9I,yBAAK2G,UAAU,aAGjB,yBAAKA,UAAW,CAAC,IAAmC,IAA/BtE,EAAsC,cAAgB,IAAIrC,KAAK,MAClF,yBAAK2G,UAAU,aAIjB,yBAAKA,UAAW,CAAC,OAAoB,IAAbzC,GAAoB,aAAe,eAAelE,KAAK,MAC7E,yBAAK2G,UAAW,CAAC,WAAYhC,GAAkB,gBAAkB,GAAIE,IAAeE,IAAeE,GAAgB,cAAgB,IAAIjF,KAAK,MAG1I,6BAEE,yBAAK2G,UAAU,uBAEb,6BACE,wBAAIA,UAAU,iBAAgB,WAE5B,yBAAKA,UAAU,cACb,yBAAKA,UAAU,aACb,2BACE9U,KAAK,OACLiZ,YAAY,UACZnZ,MAAOkU,GACPkF,SAAU,SAAClB,GACT/D,GAAiB+D,EAAEmB,OAAOrZ,OAzYtD,SAAwBsZ,EAAMpF,GAC5BG,GAAaiF,EAAW,KAAE7N,QAAO,SAAU8N,GACzC,QAAIA,EAAoB,cAAEC,cAAcC,SAASvF,EAAcwF,yBAwYvCC,CAAyC,OAA1BtJ,EAAiCA,EAAwB,GAAI6H,EAAEmB,OAAOrZ,UAGzF,uBAAGgV,UAAU,kBACb,uBAAGA,UAAW,CAAC,MAAQhC,GAAyC,oBAAvB,sBAA4C3E,KAAK,KAAM2J,QAAS,kBAAM/E,IAAoBD,UAIzI,yBAAKgC,UAAU,eACb,kBAAC,IAAQ,CACP4E,WAAW,YACXC,MAAOnK,EACPgF,QAASA,GACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,GACZ8F,MAAM,aACNC,kBA7bI,SAACxZ,GAEzB,GADA8T,GAAY9T,EAAK6T,UACA,MAAbJ,GAAmB,CACrB,IAAIgG,EAAShG,GAAU3I,QAAO,SAAA4O,GAAC,OAAIA,EAAE3B,WAAa/X,EAAK6T,YAEzC,MAAV4F,GAAkBA,EAAO1O,OAAS,GACpC+H,GAAoB2G,EAAO,GAAGvB,mBAybhB,yBAAK7D,UAAU,+BASzB,yBAAKA,UAAW,CAAC,WAAY9B,GAAc,gBAAkB,GAAIF,IAAmBI,IAAeE,GAAgB,cAAgB,IAAIjF,KAAK,MAC1I,6BACE,yBAAK2G,UAAU,uBACb,6BACE,kBAAC,IAAY,CAAC7T,UAAWiO,EAAoB,OAAGlO,SAAUgP,EAAoB3P,UAAW6O,EAAuB,UAAGoF,SAAUA,GAAUtB,YAAaA,GAAaC,eAAgBA,GAAgBK,iBAAkBA,GAAkBC,oBAAqBA,UAOpQ,yBAAKuB,UAAW,CAAC,OAAoB,IAAbzC,GAAoB,aAAe,eAAelE,KAAK,MAC7E,yBAAK2G,UAAW,CAAC,WAAY5B,GAAc,gBAAkB,GAAIF,IAAeF,IAAmBM,GAAgB,cAAgB,IAAIjF,KAAK,MAC1I,6BACE,yBAAK2G,UAAU,uBACb,6BACE,kBAAC,IAAW,CAACK,YAAaF,GACxBG,gBAAiBA,GACjBpF,mBAAoBA,EACpBgC,YAAaA,GAAaG,WAAYA,GAAYe,YAAaA,GAAaC,eAAgBA,SAKtG,yBAAK2B,UAAW,CAAC,WAAY1B,GAAgB,gBAAkB,GAAIJ,IAAeE,IAAeJ,GAAkB,cAAgB,IAAI3E,KAAK,MAC1I,6BACE,yBAAK2G,UAAU,uBACb,kBAAC,IAAY,CAAC7T,UAAWiO,EAAoB,OAAGiD,WAAYA,GAAYgD,YAAaF,GAAkB7B,cAAeA,GAAeC,iBAAkBA,GAAkBC,iBAAkBA,GAAkBC,oBAAqBA,UAO5O,GAGF,kBAAC,wBAAqB,Y,8FCjqBtBpQ,G,MAAmB,SAACD,GACxB,IAAM8K,EAAS,CAAC,eAAiB9K,GAC/B,OAAOsK,IACJC,KAAKC,EAAOC,OAAOC,YAAc,qBAAsBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACzFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,QA6pBlC,QACIrE,kBA/QsB,WAEtB,OAAO4D,IACNC,KAAKC,EAAOC,OAAOC,YAAc,wBAFnB,GAEmD,CAACC,QAAS,CAAC,eAAgB,qCAC5FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OA0Q5BpE,uBArQ6B,SAAC3I,EAAKC,EAAYC,EAAMC,EAAQC,GAC7D,IAAM0M,EAAS,CAAC,QAAU9M,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GAC5G,OAAOkM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,6BAA8BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACjGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAgQ5BvE,sBA3P4B,SAACX,EAAWxF,EAAO5B,EAAOuH,EAAOC,EAAQQ,EAAgBhG,GACrF,IAAMqK,EAAS,CAAC,cAAgBjF,EAAW,UAAYxF,EAAO,UAAY5B,EAAO,UAAYuH,EAAO,UAAYC,EAAO,mBAAqBQ,EAAgB,UAAYhG,GACxK,OAAO6J,IACNC,KAAKC,EAAOC,OAAOC,YAAc,mBAAoBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACvFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAY,IAATG,EACMA,EAEA,SAkPX5E,sBA7O0B,SAACT,GAC3B,IAAMiF,EAAS,CAAC,cAAgBjF,GAChC,OAAOyE,IACNC,KAAKC,EAAOC,OAAOC,YAAc,mBAAoBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACvFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAwO5B3E,qBA7TyB,SAACP,EAAW7H,EAAKC,EAAYC,EAAMC,EAAQC,GACtE,IAAM0M,EAAS,CAAC,cAAgBjF,EAAW,QAAU7H,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GACvI,OAAOkM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,iCAAkCI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACrGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAwT1BhF,mBAnTuB,SAACH,EAAOvF,EAAO5B,EAAOuH,EAAOC,EAAOC,EAAYL,EAAWM,EAAY1F,GAChG,IAAMqK,EAAS,CAAC,UAAYlF,EAAO,UAAYvF,EAAO,UAAY5B,EAAO,UAAYuH,EAAO,UAAYC,EAAO,eAAiBC,EAAY,cAAgBL,EAAW,eAAiBM,EAAY,UAAY1F,GAChN,OAAO6J,IACNC,KAAKC,EAAOC,OAAOC,YAAc,uBAAwBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC3FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAY,IAATG,EACMA,EAEA,SA0STvF,mBArSqB,SAACC,GACxB,IAAMkF,EAAS,CAAC,UAAYlF,GAC5B,OAAO0E,IACNC,KAAKC,EAAOC,OAAOC,YAAc,uBAAwBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC3FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAgS1BrF,cAhXkB,SAAC1H,EAAKC,EAAYC,EAAMC,EAAQC,GACpD,IAAM0M,EAAS,CAAC,QAAU9M,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GAC5G,OAAOkM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,oBAAqBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACxFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OA2W1BtF,iBAtWqB,SAACtI,EAAUsB,EAAOyD,EAAKgC,EAAUzD,EAAO0B,EAAkBuC,EAAY/F,EAAMgG,EAAQC,EAASC,EAASC,EAAkBC,EAAuBC,EAAoBC,EAAqBC,EAAiBC,EAAY+R,EAAyB7R,EAAkBC,EAAiBC,EAAcC,EAAWjF,GACjU,IAAMuK,EAAS,CAAC,aAAe3N,EAAU,UAAYsB,EAAO,QAAUyD,EAAK,aAAegC,EAC1E,UAAYzD,EAAO,qBAAuB0B,EAAkB,eAAiBuC,EAAY,SAAW/F,EACtG,WAAagG,EAAQ,YAAcC,EAAS,YAAcC,EAAS,qBAAuBC,EAC1F,0BAA4BC,EAAuB,uBAAyBC,EAC5E,wBAA0BC,EAAqB,oBAAsBC,EACrE,eAAiBC,EAAY,4BAA8B+R,EAAyB,qBAAuB7R,EAAkB,oBAAsBC,EACnJ,iBAAmBC,EAAc,cAAgBC,EAAW,SAAWjF,GACrF,OAAO+J,IACNC,KAAKC,EAAOC,OAAOC,YAAc,iBAAkBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACrFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAY,IAATG,EACMA,EAEA,SAuVT3G,iBAlVmB,SAACpH,GACtB,IAAM2N,EAAS,CAAC,aAAe3N,GAC/B,OAAOmN,IACNC,KAAKC,EAAOC,OAAOC,YAAc,kBAAmBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACtFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OA6U1B1G,oBA3ZwB,SAACtG,EAAWZ,EAAWa,EAAKC,EAAYC,EAAMC,EAAQC,GAChF,IAAM0M,EAAS,CAAC,aAAe/M,EAAU,aAAeZ,EAAU,QAAUa,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GAC9J,OAAOkM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,0BAA2BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC9FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAsZ1B3G,uBAjZ2B,SAACf,EAAgB5E,EAAOsF,EAASC,EAAOC,EAASC,EAAUzD,EAAO0B,EAAkBhF,EAAWwB,GAC5H,IAAMmM,EAAS,CAAC,mBAAqBzH,EAAgB,UAAY5E,EAAO,YAAcsF,EAAS,UAAYC,EAAO,YAAcC,EAAS,aAAeC,EAAU,UAAYzD,EAAO,qBAAuB0B,EAAkB,aAAehF,EAAW,SAAWwB,GACnQ,OAAO2L,IACNC,KAAKC,EAAOC,OAAOC,YAAc,uBAAwBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC3FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAG1B,MAAY,KAATG,EACMA,EAEA,SAsYTtH,uBAjYyB,SAACP,GAC5B,IAAMyH,EAAS,CAAC,mBAAqBzH,GACrC,OAAOiH,IACNC,KAAKC,EAAOC,OAAOC,YAAc,wBAAyBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC5FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OA4X1BrH,2BA5a+B,WAEjC,OAAO4G,IACNC,KAAKC,EAAOC,OAAOC,YAAc,uBAFnB,GAEkD,CAACC,QAAS,CAAC,eAAgB,qCAC3FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAua1BoM,eA1bmB,WAErB,OAAO7M,IACNC,KAAKC,EAAOC,OAAOC,YAAc,kBAFnB,GAE6C,CAACC,QAAS,CAAC,eAAgB,qCACtFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAqb1BqM,YA7egB,SAACpZ,EAAKC,EAAYC,EAAMC,EAAQC,GAClD,IAAM0M,EAAS,CAAC,QAAU9M,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GAC5G,OAAOkM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,kBAAmBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACtFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAwe1B7H,sBApe0B,SAAC/F,EAAUW,EAASC,EAAUC,EAAKC,EAAYC,EAAMC,EAAQC,GACzF,IAAM0M,EAAS,CAAC,aAAe3N,EAAU,YAAcW,EAAS,aAAeC,EAAU,QAAUC,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GACrL,OAAOkM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,4BAA6BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAChGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OA+d1BvH,eA3dmB,SAACJ,EAAQjG,EAAUkG,EAAgBC,EAAgBC,EAAY9C,EAAO0B,EAAkBrE,GAC7G,IAAMgN,EAAS,CAAC,WAAa1H,EAAQ,aAAejG,EAAU,mBAAqBkG,EAAgB,mBAAqBC,EAAgB,eAAiBC,EAAY,UAAY9C,EAAO,qBAAuB0B,EAAkB,YAAcrE,GAC/O,OAAOwM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,eAAgBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACnFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OACSG,MAodTmM,eA7ciB,SAACjU,GACpB,IAAM0H,EAAS,CAAC,WAAa1H,GAC7B,OAAOkH,IACNC,KAAKC,EAAOC,OAAOC,YAAc,gBAAiBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACpFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAwc1B/H,0BA3f8B,SAAC7F,GACjC,IAAM2N,EAAS,CAAC,aAAe3N,GAC/B,OAAOmN,IACNC,KAAKC,EAAOC,OAAOC,YAAc,6BAA8BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACjGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAsf1BjI,oBAvgBwB,SAAChF,GAC3B,IAAMgN,EAAS,CAAC,YAAchN,GAC9B,OAAOwM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,uBAAwBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC3FrN,MAAK,SAACI,GACLmD,QAAQC,IAAIpD,EAAe,MAC3B,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAigB1BnI,aA9jBiB,SAAC5E,EAAKC,EAAYC,EAAMC,EAAQC,GACnD,IAAM0M,EAAS,CAAC,QAAU9M,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GAC5G,OAAOkM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,mBAAoBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACvFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAyjB1BpI,gBApjBoB,SAAC7E,EAASiE,EAAQC,EAAYC,EAAaC,EAAKzB,EAAO0B,EAAkBC,EAAaC,EAAYC,EAAQC,EAAWC,EAAaC,EAAmBC,GAC3K,IAAMoI,EAAS,CAAC,YAAchN,EAAU,YAAeiE,EAAS,eAAiBC,EAAY,gBAAkBC,EAAa,QAAUC,EAAK,UAAYzB,EACvI,qBAAuB0B,EAAkB,gBAAkBC,EAC3D,sBAAwBC,EAAY,kBAAoBC,EACxD,uBAAyBE,EAAa,qBAAuBD,EAC7D,sBAAyBE,EAAoB,mBAAsBC,GACnF,OAAO4H,IACNC,KAAKC,EAAOC,OAAOC,YAAc,gBAAiBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACpFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAY,IAATG,EACMA,EAEA,SAuiBTtJ,gBAliBkB,SAAC9D,GACrB,IAAMgN,EAAS,CAAC,YAAchN,GAC9B,OAAOwM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,iBAAkBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACrFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OA6hB1BrJ,qBAvnByB,SAACvE,GAC5B,IAAM2N,EAAS,CAAC,aAAe3N,GAC/B,OAAOmN,IACNC,KAAKC,EAAOC,OAAOC,YAAc,wBAAyBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC5FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAknB1BtJ,4BA7mBgC,SAACtE,GACnC,IAAM2N,EAAS,CAAC,aAAe3N,GAC/B,OAAOmN,IACNC,KAAKC,EAAOC,OAAOC,YAAc,+BAAgCI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACnGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAwmB1BxJ,wBApmB4B,SAACpE,EAAUY,GACzC,IAAM+M,EAAS,CAAC,aAAe3N,EAAU,aAAeY,GACxD,OAAOuM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,4BAA6BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAChGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAY,IAATG,EACMA,EAEA,SA2lBT9J,wBArlB0B,SAACD,GAC7B,IAAM2J,EAAS,CAAC,oBAAsB3J,GACtC,OAAOmJ,IACNC,KAAKC,EAAOC,OAAOC,YAAc,yBAA0BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC7FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAglB1BnK,YAxoBgB,SAAC5C,EAAKC,EAAYC,EAAMC,EAAQC,GAClD,IAAM0M,EAAS,CAAC,QAAU9M,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GAC5G,OAAOkM,IACFC,KAAKC,EAAOC,OAAOC,YAAc,4BAA6BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAChGrN,MAAK,SAACI,GACH,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEpD,OADmBvB,KAAKyB,MAAMJ,OAmoBhChK,cAnpBiB,SAAChD,EAAUU,EAAOC,EAAKC,EAAMqC,EAAIpC,EAAM6B,EAAO3B,EAASmC,GAC1E,IAAM6J,EAAS,CAAC,aAAe/M,EAAU,UAAYU,EAAO,QAAUC,EAAK,SAAWC,EAAM,OAASqC,EAAI,SAAWpC,EAAM,UAAY6B,EAAO,YAAc3B,EAAU,aAAgBmC,GACnL,OAAOqJ,IACJC,KAAKC,EAAOC,OAAOC,YAAc,iBAAkBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACrFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OA8oB9BpK,cA/pBgB,SAAC5C,GACnB,IAAM+M,EAAS,CAAC,aAAe/M,GAC7B,OAAOuM,IACJC,KAAKC,EAAOC,OAAOC,YAAc,kBAAmBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACtFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OA0pB9BuM,mBA7hBuB,WAEzB,OAAOhN,IACNC,KAAKC,EAAOC,OAAOC,YAAc,sBAFnB,GAEiD,CAACC,QAAS,CAAC,eAAgB,qCAC1FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,OAwhB1B9K,sBAAkB,mCAClBA,GAAkB,oCA1rBI,SAACD,EAAYK,EAAO5B,EAAO6B,EAAYC,EAAMjB,EAAkBmB,GACvF,IAAMqK,EAAS,CAAC,eAAiB9K,EAAY,UAAYK,EAAO,UAAY5B,EAAO,eAAiB6B,EAAY,SAAWC,EAAM,qBAAuBjB,EAAkB,UAAYmB,GACpL,OAAO6J,IACJC,KAAKC,EAAOC,OAAOC,YAAc,oBAAqBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACxFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAqrBd,iCAjrBI,SAAC/M,EAAKC,EAAYC,EAAMC,EAAQC,GACtD,IAAM0M,EAAS,CAAC,QAAU9M,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GAC5G,OAAOkM,IACFC,KAAKC,EAAOC,OAAOC,YAAc,uBAAwBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC3FrN,MAAK,SAACI,GACH,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEpD,OADmBvB,KAAKyB,MAAMJ,SA4qBnB,kCArtBQ,SAAChN,GACxB,IAAM+M,EAAS,CAAC,aAAe/M,GAC/B,OAAOuM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,yBAA0BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC7FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAgtBV,wCAjuBW,SAACjN,EAASC,EAAUZ,GACjD,IAAM2N,EAAS,CAAC,YAAchN,EAAS,aAAeC,EAAU,aAAeZ,GAC/E,OAAOmN,IACNC,KAAKC,EAAOC,OAAOC,YAAc,2BAA4BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC/FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SA4tBJ,wCAjvBG,SAAC/L,GAC5B,IAAM8L,EAAS,CAAC,mBAAqB9L,GACrC,OAAOsL,IACNC,KAAKC,EAAOC,OAAOC,YAAc,wBAAyBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC5FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SA4uBJ,wCAlwBK,SAACjN,EAASX,EAAUmC,GACjD,IAAMwL,EAAS,CAAC,YAAchN,EAAS,aAAeX,EAAU,qBAAuBmC,GACvF,OAAOgL,IACNC,KAAKC,EAAOC,OAAOC,YAAc,2BAA4BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC/FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAY,IAATG,EACMA,EAEA,WAyvBa,4CA7wBS,SAACpN,GAClC,IAAMgN,EAAS,CAAC,YAAchN,GAC9B,OAAOwM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,8BAA+BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAClGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAwwBA,qCAzxBF,SAACjN,GAC3B,IAAMgN,EAAS,CAAC,YAAchN,GAC9B,OAAOwM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,uBAAwBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC3FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAoxBP,qCA3yBK,SAAChN,EAAUU,EAAOC,EAAKC,EAAMC,EAAMC,EAAMC,GACnE,IAAMgM,EAAS,CAAC,aAAe/M,EAAU,UAAYU,EAAO,QAAUC,EAAK,SAAWC,EAAM,SAAWC,EAAM,SAAWC,EAAM,OAAS,GAAG,YAAcC,GACtJ,OAAOwL,IACFC,KAAKC,EAAOC,OAAOC,YAAc,oBAAqBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACxFrN,MAAK,SAACI,GACH,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAGG,EAAO5C,OAAO,EACR4C,EAEA,WAkyBE,iCAzzBC,SAACpN,GACvB,IAAMgN,EAAS,CAAC,YAAchN,GAC9B,OAAOwM,IACNC,KAAKC,EAAOC,OAAOC,YAAc,qBAAsBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACzFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAozBX,oCAv0BQ,SAACjN,EAAUX,EAAWY,EAAUC,EAAKC,EAAYC,EAAMC,EAAQC,GACxF,IAAM0M,EAAS,CAAC,YAAchN,EAAU,aAAeX,EAAU,aAAeY,EAAU,QAAUC,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GACtL,OAAOkM,IACFC,KAAKC,EAAOC,OAAOC,YAAc,mCAAoCI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACvGrN,MAAK,SAACI,GACH,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEpD,OADmBvB,KAAKyB,MAAMJ,SAk0Bd,mCAp1BI,SAAE5N,GAC1B,IAAM2N,EAAS,CAAE,aAAe3N,GAChC,OAAOmN,IACFC,KAAKC,EAAOC,OAAOC,YAAc,qBAAsBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACzFrN,MAAK,SAACI,GACH,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEpD,OADmBvB,KAAKyB,MAAMJ,SA+0Bf,+CAzQmB,SAAChN,EAAUZ,GAC/C,IAAM2N,EAAS,CAAC,aAAe/M,EAAW,aAAeZ,GACzD,OAAOmN,IACNC,KAAKC,EAAOC,OAAOC,YAAc,oCAAqCI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACxGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAE1B,OADAlK,QAAQC,IAAIoK,GACLA,QAoQoB,wCAhQA,SAACpN,EAAUC,EAAWZ,EAAWa,EAAKC,EAAYC,EAAMC,EAAQC,GAC7F,IAAM0M,EAAS,CAAC,YAAchN,EAAU,aAAgBC,EAAW,aAAeZ,EAAW,QAAUa,EAAK,eAAiBC,EAAY,SAAWC,EAAM,WAAaC,EAAQ,QAAUC,GACzL,OAAOkM,IACFC,KAAKC,EAAOC,OAAOC,YAAc,qBAAsBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACzFrN,MAAK,SAACI,GACH,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEpD,OADmBvB,KAAKyB,MAAMJ,SA2PZ,8CAtPY,SAAChE,GACnC,IAAM+D,EAAS,CAAE,iBAAoB/D,GAGnC,OAAOuD,IACJC,KAAKC,EAAOC,OAAOC,YAAc,sBAAuBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC1FrN,MAAK,SAACI,GAGL,OAFaA,EAAe,KAAEsN,MAAM,OAAQC,KAAK,WAgP3B,wCA1OA,SAAClE,GAC7B,IAAM+D,EAAS,CAAE,iBAAoB/D,GAGnC,OAAOuD,IACJC,KAAKC,EAAOC,OAAOC,YAAc,iBAAkBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACrFrN,MAAK,SAACI,GAEL,OADaA,EAAe,KAAEsN,MAAM,OAAQC,KAAK,WAoOjC,4CA/NU,SAACnN,GACjC,IAAMgN,EAAS,CAAE,YAAehN,GAG9B,OAAOwM,IACJC,KAAKC,EAAOC,OAAOC,YAAc,0BAA2BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC9FrN,MAAK,SAACI,GAEL,OADaA,EAAe,KAAEsN,MAAM,OAAQC,KAAK,WAyN7B,yCApNG,SAACnN,EAAUC,EAAWZ,GACnD,IAAM2N,EAAS,CAAE,YAAehN,EAAU,aAAgBC,EAAW,aAAeZ,GAGlF,OAAOmN,IACJC,KAAKC,EAAOC,OAAOC,YAAc,sBAAuBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC1FrN,MAAK,SAACI,GAEL,OADaA,EAAe,KAAEsN,MAAM,OAAQC,KAAK,WA8MhC,qCAzME,SAACnN,EAAUiJ,GACpC,IAAM+D,EAAS,CAAE,YAAehN,EAAU,iBAAoBiJ,GAG5D,OAAOuD,IACJC,KAAKC,EAAOC,OAAOC,YAAc,uBAAwBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC3FrN,MAAK,SAACI,GAEL,OADaA,EAAe,KAAEsN,MAAM,OAAQC,KAAK,WAmMpC,mCA9LI,SAACnN,GACxB,IAAMgN,EAAS,CAAE,YAAchN,GAG7B,OAAOwM,IACJC,KAAKC,EAAOC,OAAOC,YAAc,qBAAsBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACzFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAuLf,uCAjLW,WAE5B,OAAOT,IACNC,KAAKC,EAAOC,OAAOC,YAAc,4BAFnB,GAEuD,CAACC,QAAS,CAAC,eAAgB,qCAChGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAE1B,OADAlK,QAAQC,IAAIpD,GACLwN,QA0KY,8CApKa,SAACpN,EAAUiJ,GAC7C,IAAM+D,EAAS,CAAE,YAAehN,EAAU,iBAAoBiJ,GAG5D,OAAOuD,IACJC,KAAKC,EAAOC,OAAOC,YAAc,oCAAqCI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACxGrN,MAAK,SAACI,GAEL,OADaA,EAAe,KAAEsN,MAAM,OAAQC,KAAK,WA8J3B,yCAxJA,SAAClE,GAC7B,IAAM+D,EAAS,CAAC,iBAAmB/D,GACnC,OAAOuD,IACNC,KAAKC,EAAOC,OAAOC,YAAc,0BAA2BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC9FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAmJL,6CA7IU,SAAChE,EAAcW,GAChD,IAAMoD,EAAS,CAAC,iBAAmB/D,EAAc,cAAgBW,GAC/D,OAAO4C,IACJC,KAAKC,EAAOC,OAAOC,YAAc,+BAAgCI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACnGrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAwIL,2CAlII,SAAChE,GAChC,IAAM+D,EAAS,CAAC,iBAAmB/D,GACnC,OAAOuD,IACNC,KAAKC,EAAOC,OAAOC,YAAc,qBAAsBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACzFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SA6HH,2CAxHM,SAAChE,GAChC,IAAM+D,EAAS,CAAC,iBAAmB/D,GACnC,OAAOuD,IACNC,KAAKC,EAAOC,OAAOC,YAAc,qBAAsBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACzFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAmHH,0CA9GK,SAAChE,GAC/B,IAAM+D,EAAS,CAAC,iBAAmB/D,GACnC,OAAOuD,IACNC,KAAKC,EAAOC,OAAOC,YAAc,0BAA2BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC9FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SAyGJ,gDApGY,SAAChE,GACrC,IAAM+D,EAAS,CAAC,iBAAmB/D,GACnC,OAAOuD,IACNC,KAAKC,EAAOC,OAAOC,YAAc,wBAAyBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC5FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,SA+FE,kDA1FQ,SAACjN,GACvC,IAAMgN,EAAS,CAAE,YAAehN,GAG9B,OAAOwM,IACJC,KAAKC,EAAOC,OAAOC,YAAc,4BAA6BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAChGrN,MAAK,SAACI,GAEL,OADaA,EAAe,KAAEsN,MAAM,OAAQC,KAAK,WAoFvB,mDA/EO,SAACnN,GACxC,IAAMgN,EAAS,CAAE,YAAehN,GAG9B,OAAOwM,IACJC,KAAKC,EAAOC,OAAOC,YAAc,8BAA+BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAClGrN,MAAK,SAACI,GAEL,OADaA,EAAe,KAAEsN,MAAM,OAAQC,KAAK,WAyEtB,K,0HCt2BnBsM,IAAMC,gBA2IT3L,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAzIM,SAACE,GAElB,IAAMlP,EAAW2P,cAAc,EACiDP,aAAY,SAACH,GAAK,OAAKA,EAAMe,SAApDC,GAAtB,EAA3BC,YAAmE,EAAtCD,oBAAkB,EACLX,oBAAS,GAAM,mBAAvCsL,GAAF,KAAsB,QACctL,oBAAS,GAAM,mBAA5CuL,GAAF,KAA2B,QACFvL,oBAAS,GAAM,mBAAnB,GAAxB,KAAwB,KACZoL,IAAMpL,SAAS,uBAAqB,mBAM9CwL,GANV,KAAgB,KAEgB1L,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAArE4I,cACwC3L,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAAnE6I,aACkD5L,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAA7E8I,kBAEoD7L,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAA/E+I,oBACmBC,EAA+B/L,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAA7EiJ,kBAIAlJ,GAH4D9C,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAAvFkJ,uBAGejM,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAA1CD,YAAU,EACkC5C,oBAAS,GAAM,mBAA9DgM,EAAmB,KAAEC,EAAsB,KA4DhD,OAtBA/I,qBAAU,YAC8B,IAAhCsI,GACAF,GAAqB,KAE1B,CAACE,IAEJtI,qBAAU,YAC6B,IAA/B2I,GACAN,GAA0B,KAE/B,CAACM,IAaA,yBAAKpG,UAAW,IAEZ,yBAAKA,UAAU,uBACX,yBAAKA,UAAW,CAAC,UAAU,eAAuC,IAAxBuG,EAA+B,GAAK,oBAAoBlN,KAAK,MACnG,yBAAK2G,UAAU,aAAagD,QAT5C,WACIwD,GAAwBD,KAQgD,uBAAGvG,UAAW,CAAC,MAA8B,IAAxBuG,EAA+B,WAAa,WAAWlN,KAAK,QAC7I,yBAAK2G,UAAU,gBACX,4BAEI,wBAAIA,UAAU,kBACV,yBAAKA,UAAU,cAEV7C,GAAgD,KAAlCA,EAA4B,iBACvC,4BACI6C,UAAU,WACVgD,QAxDxC,WAEI7I,EAAMkG,YAAYzI,YAAmB,YAsDgC,YAIxCuF,GAAgD,MAAlCA,EAA4B,gBACvC,4BACI6C,UAAU,WACVgD,QAzDxC,WAEI7I,EAAMkG,YAAYzI,YAAmB,YACrC3M,EAASwb,iBAsD2D,WACvB,GAGhBtJ,GAAgD,MAAlCA,EAA4B,gBACvC,4BACI6C,UAAU,WACVgD,QA1DxC,WAEI7I,EAAMkG,YAAYzI,YAAmB,iBACrC3M,EAASyb,iBAuDgE,mBAC5B,GAEhBvJ,GAAgD,MAAlCA,EAA4B,gBACvC,4BACI6C,UAAU,WACVgD,QAxFnB,WAEjB/X,EAAS0b,eACT1b,EAASwK,aAAkByF,IAI3Bf,EAAMkG,YAAYzI,YAAmB,UAkFJ,oBACY,GAEhBuF,GAAgD,MAAlCA,EAA4B,gBACvC,8BACC,qBACU,c,iFC1H7CrD,EAAOhC,KAAKyB,MAAME,aAAaM,QAAQ,SAEvC6M,EAAe9M,EACjB,CAAE+M,YAAY,EAAM/M,QACpB,CAAE+M,YAAY,EAAO/M,KAAM,MCVzB8M,EAAe,GCIfA,EAAe,CACnBE,WAAa,GACbC,eAAgB,G,QCOZC,EAAUlP,KAAKyB,MAAME,aAAaM,QAAQ,YAC1CkN,EAAiBxN,aAAaM,QAAQ,kBACtCmB,EAAqBzB,aAAaM,QAAQ,sBAM1C6M,GALsBnN,aAAaM,QAAQ,uBAC5BN,aAAaM,QAAQ,gBACtBN,aAAaM,QAAQ,eACxBN,aAAaM,QAAQ,YACjBN,aAAaM,QAAQ,gBACxB,GAChBoB,YAAyB,OAAZ6L,EAAmBA,EAAU,KAC1CE,eAAgB,KAChBhM,mBAAoBA,EACpBiM,oBAAqB,KACrBC,aAAc,KACdC,YAAa,KACbC,SAAU,KACVC,aAAc,KACdC,sBAAsB,EACtBP,eAAmC,OAAnBA,EAA0BQ,SAASR,GAAkB,EAGrES,gBAAgB,EAChBC,SAAU,EACVC,cAAe,EACfC,kBAAkB,EAClBC,gBAAiB,IAAE,kCACD,GAAK,kCACJ,GAAC,iCACF,GAAC,sCACI,GAAC,GCpCpBlB,EAAe,CACnBE,WAAa,GACbC,eAAgB,GCVZH,EAAe,CACnBZ,eAAe,EACfC,cAAc,EACdC,mBAAmB,EAEnBC,oBAAoB,EACpBE,mBAAmB,EACnBC,wBAAwB,EAExBvI,+BAA+B,EAC/BZ,WAAW,IAwDE4K,EArDC,WAAmC,IAAlC7N,EAAK,uDAAG0M,EAAcoB,EAAM,uCAC3C,OAAQA,EAAO9c,MACb,IAAK,sBACH,OAAO,2BACFgP,GAAK,IACR8L,eAAgB9L,EAAMlP,QAE1B,IAAK,qBACH,OAAO,2BACFkP,GAAK,IACR+L,cAAe/L,EAAM+L,eAEzB,IAAK,0BACH,OAAO,2BACF/L,GAAK,IACRgM,mBAAoBhM,EAAMgM,oBAI9B,IAAK,4BACH,OAAO,2BACFhM,GAAK,IACRiM,oBAAoB,IAExB,IAAK,2BACH,OAAO,2BACFjM,GAAK,IACRmM,mBAAmB,IAEvB,IAAK,gCACH,OAAO,2BACFnM,GAAK,IACRoM,wBAAwB,IAE5B,IAAK,gCACH,OAAO,2BACFpM,GAAK,IACR6D,+BAA+B,IAGjC,IAAK,uBACL,OAAO,2BACF7D,GAAK,IACRiD,WAAY6K,EAAO7c,QAAQH,QAK/B,QACE,OAAOkP,IC6EP0M,GAAY,GAChBE,WAAY,GACZC,eAAe,EACfkB,kBAAmB,KACnBC,oBAAqB,EACrBC,oBAAqB,KACrBC,cAAe,KACfC,gBAAiB,EACjBC,kBAAkB,EAClBC,cAAc,EACdC,aAAc,KACdC,kBAAmB,EACnBC,gBAAgB,EAChBC,mBAAoB,KACpBC,wBAAyB,EACzBC,sBAAsB,EACtBC,wBAAyB,KACzBC,cAAe,KACfC,aAAc,KACdC,kBAAmB,EACnBC,uBAAwB,KACxBC,4BAA6B,EAC7BC,cAAc,EACdC,mBAAoB,KACpBC,yBAA0B,KAC1BC,aAAc,KACdC,kBAAmB,EACnBC,gBAAgB,EAChBC,oBAAqB,KACrBC,2BAA4B,KAC5BC,uBAAuB,EACvBC,UAAW,KACXC,eAAgB,EAChBC,aAAa,EACbC,kBAAmB,KACnBC,eAAgB,KAChBC,oBAAqB,EACrBC,kBAAkB,EAClB9O,sBAAuB,KACvB+O,qBAAsB,KACtB3O,yBAAyB,EACzB4O,mBAAoB,KACpBC,0BAA2B,KAC3BC,sBAAsB,EACtBC,iBAAkB,KAClBC,oBAAoB,EACpBC,aAAc,KACdC,kBAAmB,KACnBC,uBAAwB,EACxBtP,qBAAqB,EACrBC,aAAa,EACbC,oBAAoB,GAAK,yCACA,GAAK,4CACF,GAAK,6BACnB,MAAI,qCACG,GAAK,gDAGO,MAAI,yCACX,MAAI,yCACJ,GAAC,wCACH,GAAK,wCAEJ,MAAI,gCAEb,GAAK,GCpMRqP,4BAAgB,CAC7BvQ,KPKa,WAAyC,IAA/BJ,EAAK,uDAAG0M,EAAcoB,EAAM,uCAC3C9c,EAAkB8c,EAAlB9c,KAAMC,EAAY6c,EAAZ7c,QAEd,OAAQD,GACN,KAAK9K,KAKL,KAAKC,KACH,OAAO,2BACF6Z,GAAK,IACR2M,YAAY,IAEhB,KAAKvmB,KACH,OAAO,2BACF4Z,GAAK,IACR2M,YAAY,EACZ/M,KAAM3O,EAAQ2O,OAElB,KAAKvZ,KAML,KAAKC,KACH,OAAO,2BACF0Z,GAAK,IACR2M,YAAY,EACZ/M,KAAM,OAEV,QACE,OAAOI,IOrCXrO,QNNa,WAAyC,IAA/BqO,EAAK,uDAAG0M,EAAcoB,EAAM,uCAC3C9c,EAAkB8c,EAAlB9c,KAAMC,EAAY6c,EAAZ7c,QAEd,OAAQD,GACN,KAAKzK,KACH,MAAO,CAAEoL,QAASV,GAEpB,KAAKzK,IACH,MAAO,CAAEmL,QAAS,IAEpB,QACE,OAAOqO,IMJX4Q,OLAa,WAAwC,IAA/B5Q,EAAK,uDAAG0M,EAAcoB,EAAM,uCACxC9c,EAAkB8c,EAAlB9c,KAAMC,EAAY6c,EAAZ7c,QACd,OAAQD,GACJ,KAAKvK,KACD,OAAO,2BACAuZ,GAAK,IACR6M,eAAe,EACfD,WAAY3b,EAAQQ,OAE5B,KAAK/K,KACH,OAAO,2BACFsZ,GAAK,IACR6M,eAAe,IAEnB,KAAKlmB,KACH,OAAO,2BACFqZ,GAAK,IACR6M,eAAe,EACfD,WAAY,KAEhB,QACI,OAAO5M,IKpBjBe,MJoCa,WAAyC,IAA/Bf,EAAK,uDAAG0M,EAAcoB,EAAM,uCAC3C9c,EAAkB8c,EAAlB9c,KAAMC,EAAY6c,EAAZ7c,QACd,OAAQD,GACN,KAAKvE,KACH,OAAQwE,EAAQJ,KAEd,IAAK,qBAEH,OADA0O,aAAaC,QAAQ,qBAAsBvO,EAAQH,OAC5C,2BACFkP,GAAK,IACRgB,mBAAoB/P,EAAQH,QAEhC,IAAK,sBAEH,OADAyO,aAAaC,QAAQ,sBAAuBvO,EAAQH,OAC7C,2BACFkP,GAAK,IACRiN,oBAAqBhc,EAAQH,QAEjC,IAAK,eAEH,OADAyO,aAAaC,QAAQ,eAAgBvO,EAAQH,OACtC,2BACFkP,GAAK,IACRkN,aAAcjc,EAAQH,QAE1B,IAAK,cAEH,OADAyO,aAAaC,QAAQ,cAAevO,EAAQH,OACrC,2BACFkP,GAAK,IACRmN,YAAalc,EAAQH,QAEzB,IAAK,WAEH,OADAyO,aAAaC,QAAQ,WAAYvO,EAAQH,OAClC,2BACFkP,GAAK,IACRoN,SAAUnc,EAAQH,QAEtB,IAAK,eAEH,OADAyO,aAAaC,QAAQ,eAAgBvO,EAAQH,OACtC,2BACFkP,GAAK,IACRqN,aAAcpc,EAAQH,QAI1B,IAAK,iBACH,OAAO,2BACFkP,GAAK,IACRwN,eAAgBvc,EAAQH,QAE5B,IAAK,UACH,OAAO,2BACFkP,GAAK,IACRyN,QAASxc,EAAQH,QAErB,IAAK,eACH,OAAO,2BACFkP,GAAK,IACR0N,aAAczc,EAAQH,QAE1B,IAAK,kBACH,OAAO,2BACFkP,GAAK,IACR4N,gBAAiB3c,EAAQH,QAE7B,IAAK,mBACH,OAAO,2BACFkP,GAAK,IACR2N,iBAAkB1c,EAAQH,QAE5B,IAAK,mBACL,OAAO,2BACFkP,GAAK,IACR6Q,iBAAkB5f,EAAQH,QAE5B,IAAK,kBACL,OAAO,2BACFkP,GAAK,IACR8Q,gBAAiB7f,EAAQH,QAE3B,IAAK,uBACL,OAAO,2BACFkP,GAAK,IACR+Q,qBAAsB9f,EAAQH,QAGpC,MACF,KAAKlK,KACH,OAAO,2BACFoZ,GAAK,IACRsN,sBAAsB,EACtBrM,YAAahQ,EAAQQ,OAEzB,KAAK1K,KACH,OAAO,2BACFiZ,GAAK,IACRsN,sBAAsB,EACtBN,eAAgB/b,EAAQQ,KACxBsb,eAAgB9b,EAAQQ,KAAK8K,QAAO,SAAAzL,GAAK,MAA8B,OAA1BA,EAAoB,gBAAY0L,SAEjF,KAAK1V,KACH,OAAO,2BACFkZ,GAAK,IACRsN,sBAAsB,IAE1B,KAAKzmB,KACH,OAAO,2BACFmZ,GAAK,IACRsN,sBAAsB,EACtBrM,YAAa,KAEjB,KAAKvT,IACH,OAAO,2BACFsS,GAAK,IACRsN,sBAAsB,EACtBtM,mBAAoB/P,EAAQQ,OAEhC,KAAK3D,IACH,OAAO,2BACFkS,GAAK,IACRiN,oBAAqBhc,EAAQQ,OAEjC,KAAKtD,KACH,OAAO,2BACF6R,GAAK,IACRkN,aAAcjc,EAAQQ,OAE1B,KAAKrD,IACH,OAAO,2BACF4R,GAAK,IACRmN,YAAalc,EAAQQ,OAEzB,KAAKpD,KACH,OAAO,2BACF2R,GAAK,IACRoN,SAAUnc,EAAQQ,OAEtB,KAAKnD,IACH,OAAO,2BACF0R,GAAK,IACRqN,aAAcpc,EAAQQ,OAG1B,QACE,OAAOuO,IIlLXJ,KHEa,WAAwC,IAA/BI,EAAK,uDAAG0M,EAAcoB,EAAM,uCACxC9c,EAAkB8c,EAAlB9c,KAAMC,EAAY6c,EAAZ7c,QACd,OAAQD,GACJ,KAAKvK,KACD,OAAO,2BACAuZ,GAAK,IACR6M,eAAe,EACfD,WAAY3b,EAAQQ,OAE5B,KAAK/K,KACH,OAAO,2BACFsZ,GAAK,IACR6M,eAAe,IAEnB,KAAKlmB,KACH,OAAO,2BACFqZ,GAAK,IACR6M,eAAe,EACfD,WAAY,KAEhB,KAAK5lB,KAKL,KAAKC,KACL,OAAO,2BACA+Y,GAAK,IACRgR,kBAAkB,IAEtB,QACI,OAAOhR,IGhCjBkB,eDiMa,WAAyC,IAA/BlB,EAAK,uDAAG0M,EAAcoB,EAAM,uCAC3C9c,EAAkB8c,EAAlB9c,KAAMC,EAAY6c,EAAZ7c,QACd,OAAQD,GACN,KAAKhJ,KACH,OAAQiJ,EAAQJ,KACd,IAAK,gBACH,OAAO,2BACFmP,GAAK,IACRkO,cAAejd,EAAQH,QAE3B,IAAK,eACH,OAAO,2BACFkP,GAAK,IACRsO,aAAcrd,EAAQH,QAE1B,IAAK,qBACH,OAAO,2BACFkP,GAAK,IACRyO,mBAAoBxd,EAAQH,QAEhC,IAAK,0BACH,OAAO,2BACFkP,GAAK,IACR4O,wBAAyB3d,EAAQH,QAErC,IAAK,gBACH,OAAO,2BACFkP,GAAK,IACR6O,cAAe5d,EAAQH,QAE3B,IAAK,yBACH,OAAO,2BACFkP,GAAK,IACRgP,uBAAwB/d,EAAQH,QAEpC,IAAK,eACH,OAAO,2BACFkP,GAAK,IACR8O,aAAc7d,EAAQH,QAE1B,IAAK,qBACH,OAAO,2BACFkP,GAAK,IACRmP,mBAAoBle,EAAQH,QAEhC,IAAK,2BACH,OAAO,2BACFkP,GAAK,IACRoP,yBAA0Bne,EAAQH,QAEtC,IAAK,eACH,OAAO,2BACFkP,GAAK,IACRqP,aAAcpe,EAAQH,QAE1B,IAAK,sBACH,OAAO,2BACFkP,GAAK,IACRwP,oBAAqBve,EAAQH,QAEjC,IAAK,6BACH,OAAO,2BACFkP,GAAK,IACRyP,2BAA4Bxe,EAAQH,QAExC,IAAK,YACH,OAAO,2BACFkP,GAAK,IACR2P,UAAW1e,EAAQH,QAEvB,IAAK,oBACH,OAAO,2BACFkP,GAAK,IACR8P,kBAAmB7e,EAAQH,QAE/B,IAAK,iBACH,OAAO,2BACFkP,GAAK,IACR+P,eAAgB9e,EAAQH,QAE5B,IAAK,qBACH,OAAO,2BACFkP,GAAK,IACRmQ,mBAAoBlf,EAAQH,QAEhC,IAAK,4BACH,OAAO,2BACFkP,GAAK,IACRoQ,0BAA2Bnf,EAAQH,QAEvC,IAAK,mBACH,OAAO,2BACFkP,GAAK,IACRsQ,iBAAkBrf,EAAQQ,OAE9B,IAAK,eACH,OAAO,2BACFuO,GAAK,IACRwQ,aAAcvf,EAAQQ,OAE1B,IAAK,oBACH,OAAO,2BACFuO,GAAK,IACRyQ,kBAAmBxf,EAAQQ,OAE/B,IAAK,eACH,OAAO,2BACFuO,GAAK,IACRiR,aAAchgB,EAAQQ,OAI1B,IAAK,iCACH,OAAO,2BACFuO,GAAK,IACRkR,gCAAiCjgB,EAAQH,QAE7C,IAAK,2BACH,OAAO,2BACFkP,GAAK,IACRmR,yBAA0BlgB,EAAQH,QAItC,IAAK,iBACH,OAAO,2BACFkP,GAAK,IACRoR,eAAgBngB,EAAQH,QAG5B,IAAK,0BACH,OAAO,2BACFkP,GAAK,IACRqR,wBAAyBpgB,EAAQH,QAIvC,MACF,KAAK5J,KACH,OAAO,2BACF8Y,GAAK,IACR+N,kBAAmB9c,EAAQQ,KAAK,GAChCuc,oBAAqB/c,EAAQQ,KAAK,GAClC2c,kBAAkB,IAEtB,KAAKjnB,KAKL,KAAKC,KAKL,KAAKC,KAKL,KAAKC,IAKL,KAAKC,IACH,OAAO,2BACFyY,GAAK,IACRoO,kBAAkB,IAEtB,KAAK5mB,IACH,OAAO,2BACFwY,GAAK,IACRiO,oBAAqBhd,EAAQQ,OAEjC,KAAKhK,IACH,OAAO,eACFuY,GAEP,KAAKlY,KACH,OAAO,2BACFkY,GAAK,IACRkO,cAAejd,EAAQQ,KAAK,GAC5B0c,gBAAiBld,EAAQQ,KAAK,GAC9B4c,cAAc,IAElB,KAAKtmB,KAKL,KAAKH,KAKL,KAAKC,KAKL,KAAKH,IAKL,KAAKC,IACH,OAAO,2BACFqY,GAAK,IACRqO,cAAc,IAElB,KAAKpmB,IACH,OAAO,2BACF+X,GAAK,IACRoO,kBAAkB,IAEtB,KAAKlmB,KACH,OAAO,2BACF8X,GAAK,IACRqO,cAAc,IAElB,KAAKhmB,IACH,OAAO,2BACF2X,GAAK,IACRwO,gBAAgB,IAEpB,KAAKrmB,IACH,OAAO,2BACF6X,GAAK,IACRsO,aAAcrd,EAAQQ,KAAK,GAC3B8c,kBAAmBtd,EAAQQ,KAAK,GAChC+c,gBAAgB,IAEpB,KAAKpmB,IAKL,KAAKE,IAKL,KAAKC,IAKL,KAAKC,KAKL,KAAKC,KACH,OAAO,2BACFuX,GAAK,IACRwO,gBAAgB,IAEpB,KAAK5lB,KACH,OAAO,2BACFoX,GAAK,IACR2O,sBAAsB,IAE1B,KAAKjmB,KACH,OAAO,2BACFsX,GAAK,IACRyO,mBAAoBxd,EAAQQ,KAAK,GACjCid,wBAAyBzd,EAAQQ,KAAK,GACtCkd,sBAAsB,IAE1B,KAAKhmB,KAKL,KAAKE,IAKL,KAAKC,IAKL,KAAKC,KAKL,KAAKC,KACH,OAAO,2BACFgX,GAAK,IACR2O,sBAAsB,IAE1B,KAAKvlB,IACH,OAAO,2BACF4W,GAAK,IACR4O,wBAAyB3d,EAAQQ,KACjC+c,gBAAgB,IAEpB,KAAKrlB,IACH,OAAO,2BACF6W,GAAK,IACRwO,gBAAgB,IAEpB,KAAKvlB,KACH,OAAO,2BACF+W,GAAK,IACR6O,cAAe5d,EAAQQ,KACvBkd,sBAAsB,IAE1B,KAAKzlB,KACH,OAAO,2BACF8W,GAAK,IAER2O,sBAAsB,IAE1B,KAAKplB,KACH,OAAO,2BACFyW,GAAK,IACR8O,aAAc7d,EAAQQ,KAAK,GAC3Bsd,kBAAmB9d,EAAQQ,KAAK,GAChCyd,cAAc,IAElB,KAAK1lB,KACH,OAAO,2BACFwW,GAAK,IACRkP,cAAc,IAElB,KAAKzlB,KACH,OAAO,2BACFuW,GAAK,IACRgP,uBAAwB/d,EAAQQ,KAAK,GACrCwd,4BAA6Bhe,EAAQQ,KAAK,GAC1C6P,oBAAoB,IAExB,KAAK5X,KACH,OAAO,2BACFsW,GAAK,IACRsB,oBAAoB,IAExB,KAAK3X,KACH,OAAO,2BACFqW,GAAK,IACRsB,oBAAoB,IAExB,KAAK1X,KAKL,KAAKC,KACH,OAAO,2BACFmW,GAAK,IACRqB,aAAa,IAEjB,KAAKvX,IAKL,KAAKC,IACH,OAAO,2BACFiW,GAAK,IACRkP,cAAc,IAElB,KAAKllB,KACH,OAAO,2BACFgW,GAAK,IACRkP,cAAc,IAElB,KAAKjlB,IACH,OAAO,2BACF+V,GAAK,IACRmP,mBAAoBle,EAAQQ,KAC5B4P,aAAa,IAEjB,KAAKnX,IACH,OAAO,eACF8V,GAEP,KAAK7V,KACH,OAAO,2BACF6V,GAAK,IACRoP,yBAA0Bne,EAAQQ,KAClC+P,4BAA4B,IAEhC,KAAKpX,KACH,OAAO,2BACF4V,GAAK,IACR2O,sBAAsB,IAE1B,KAAKtkB,KACH,OAAO,2BACF2V,GAAK,IACRwB,4BAA4B,IAEhC,KAAKlX,KACH,OAAO,2BACF0V,GAAK,IACRqP,aAAcpe,EAAQQ,KAAK,GAC3B6d,kBAAmBre,EAAQQ,KAAK,GAChC8d,gBAAgB,IAEpB,KAAKhlB,KAKL,KAAKC,KAKL,KAAKC,KAKL,KAAKC,IAKL,KAAKC,IACH,OAAO,2BACFqV,GAAK,IACRuP,gBAAgB,IAEpB,KAAK3kB,IACH,OAAO,2BACFoV,GAAK,IACRuP,gBAAgB,IAEpB,KAAK1kB,KACH,OAAO,2BACFmV,GAAK,IACRwP,oBAAqBve,EAAQQ,KAC7Bie,uBAAuB,IAE3B,KAAK5kB,KACH,OAAO,2BACFkV,GAAK,IACR0P,uBAAuB,IAE3B,KAAK3kB,KACH,OAAO,2BACFiV,GAAK,IACRyP,2BAA4Bxe,EAAQQ,KACpCie,uBAAuB,IAE3B,KAAK1kB,KAKL,KAAKC,KAKL,KAAKC,KAML,KAAKC,IAKL,KAAKC,IACH,OAAO,2BACF4U,GAAK,IACR0P,uBAAuB,IAE3B,KAAKrkB,KACH,OAAO,2BACF2U,GAAK,IACR0P,uBAAuB,IAE3B,KAAKlkB,KACH,OAAO,2BACFwU,GAAK,IACR2P,UAAW1e,EAAQQ,KAAK,GACxBme,eAAgB3e,EAAQQ,KAAK,GAC7Boe,aAAa,IAEjB,KAAKpkB,KAKL,KAAKC,IAKL,KAAKC,IAML,KAAKL,KAKL,KAAKC,KACH,OAAO,2BACFyU,GAAK,IACRsR,iBAAiB,IAErB,KAAK1lB,KACH,OAAO,2BACFoU,GAAK,IACRsR,iBAAiB,IAErB,KAAKjoB,KACH,OAAO,2BACF2W,GAAK,IACR8P,kBAAmB7e,EAAQQ,OAE/B,KAAKnI,KACH,OAAO,eACF0W,GAEP,KAAKjU,IAKL,KAAKC,IACH,OAAO,2BACFgU,GAAK,IACRiQ,kBAAkB,IAEtB,KAAKpkB,KACH,OAAO,2BACFmU,GAAK,IACR+P,eAAgB9e,EAAQQ,KAAK,GAC7Bue,oBAAqB/e,EAAQQ,KAAK,GAClCwe,kBAAkB,IAEtB,KAAKnkB,KACH,OAAO,2BACFkU,GAAK,IACRuB,yBAAyB,IAE7B,KAAKtV,KAKL,KAAKC,KACH,OAAO,2BACF8T,GAAK,IACRiQ,kBAAkB,IAEtB,KAAK9jB,KACH,OAAO,2BACF6T,GAAK,IACRiQ,kBAAkB,IAEtB,KAAK7jB,IACH,OAAO,2BACF4T,GAAK,IACRmB,sBAAuBlQ,EAAQQ,KAC/B8P,yBAAyB,IAG7B,KAAKlV,IACH,OAAO,2BACF2T,GAAK,IACRuB,yBAAyB,IAE7B,KAAKjV,KACH,OAAO,2BACF0T,GAAK,IACRkQ,qBAAsBjf,EAAQQ,KAC9B8P,yBAAyB,IAG7B,KAAKhV,KACH,OAAO,2BACFyT,GAAK,IACRuB,yBAAyB,IAG7B,KAAK/U,IACH,OAAO,2BACFwT,GAAK,IACRuB,yBAAyB,IAE7B,KAAK1U,KACH,OAAO,2BACFmT,GAAK,IACRmQ,mBAAoBlf,EAAQQ,KAC5B4e,sBAAsB,IAE1B,KAAKzjB,KACH,OAAO,2BACFoT,GAAK,IACRqQ,sBAAsB,IAG1B,KAAKtjB,KACH,OAAO,2BACFiT,GAAK,IACRoQ,0BAA2Bnf,EAAQQ,KACnC4e,sBAAsB,IAE1B,KAAKvjB,KAKL,KAAKG,KAKL,KAAKD,KAML,KAAKG,IAKL,KAAKD,IACH,OAAO,2BACF8S,GAAK,IACRqQ,sBAAsB,IAG1B,KAAK1jB,IACH,OAAO,2BACFqT,GAAK,IACRqQ,sBAAsB,IAE1B,KAAKjjB,KAIL,KAAKC,KACH,OAAO,eACF2S,GAEP,KAAK1S,KACH,OAAO,2BACF0S,GAAK,IACRsQ,iBAAkBrf,EAAQQ,KAAK,GAC/B8e,oBAAoB,IAExB,KAAKhjB,KACH,OAAO,2BACFyS,GAAK,IACRuQ,oBAAoB,IAExB,KAAK/iB,KACH,OAAO,2BACFwS,GAAK,IACRuQ,oBAAoB,IAExB,KAAK9iB,IACH,OAAO,2BACFuS,GAAK,IACRwQ,aAAcvf,EAAQQ,OAE1B,KAAK9D,IACH,OAAO,2BACFqS,GAAK,IACRyQ,kBAAmBxf,EAAQQ,KAAK,GAChCif,uBAAwBzf,EAAQQ,KAAK,GACrC2P,qBAAqB,IAEzB,KAAKxT,IACH,OAAO,2BACFoS,GAAK,IACRoB,qBAAqB,IAEzB,KAAKvT,IACH,OAAO,2BACFmS,GAAK,IACRoB,qBAAqB,IAEzB,KAAKxU,KACH,OAAO,eACFoT,GAEP,KAAKjS,KACH,OAAO,2BACFiS,GAAK,IACRqB,aAAa,IAEjB,KAAKrT,IACH,OAAO,2BACFgS,GAAK,IACRiR,aAAchgB,EAAQQ,KACtB8f,qBAAqB,IAIzB,KAAKtjB,IACH,OAAO,2BACF+R,GAAK,IACRuR,qBAAqB,IAQzB,KAAKhjB,IACH,OAAO,2BACFyR,GAAK,IACRkR,gCAAiCjgB,EAAQQ,OAG7C,KAAKjD,KACH,OAAO,eACFwR,GAKP,KAAKvR,IACH,OAAO,2BACFuR,GAAK,IACRmR,yBAA0BlgB,EAAQQ,KAAK,GACvC+f,yBAA0BvgB,EAAQQ,KAAK,GACvCggB,wBAAwB,IAE5B,KAAK/iB,IACH,OAAO,2BACFsR,GAAK,IACRyR,wBAAwB,IAI5B,KAAK9iB,KAKL,KAAKC,KAOL,KAAKC,KAKL,KAAKC,KACH,OAAO,2BACFkR,GAAK,IACR0R,sBAAsB,IAI1B,KAAK3iB,KAKL,KAAKC,KACH,OAAO,2BACFgR,GAAK,IACRqQ,sBAAsB,IAG1B,KAAKphB,KAKL,KAAKC,KAML,KAAKC,KAKL,KAAKC,KAKL,KAAKM,KAKL,KAAKC,KAOL,KAAKN,KAKL,KAAKC,KACH,OAAO,2BACF0Q,GAAK,IACR0R,sBAAsB,IAG1B,KAAKniB,KACH,OAAO,2BACFyQ,GAAK,IACRoR,gBAAgB,IAEpB,QACE,OAAOpR,EAGT,KAAKxQ,IACH,OAAO,2BACFwQ,GAAK,IACRqR,wBAAyBpgB,EAAQQ,OAGrC,KAAKhC,IACH,OAAO,eACFuQ,KC5gCTkD,iBCVIyO,EAAa,CAACC,KAEdC,EAAQC,sBACZC,EACAC,8BAAoBC,kBAAe,aAAIN,KAG1BE,O,kCCZf,uCAoCe,KACXK,qBAlCyB,SAACC,GAC1B,IAAMnT,EAAS,CAAC,UAAYmT,GAC5B,OAAO3T,IACJC,KAAKC,EAAOC,OAAOC,YAAc,2BAA4BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC/FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAGG,EAAO5C,OAAO,EACR4C,EAEA,SAyBbgT,qBApByB,SAACC,GAC5B,IAAMrT,EAAS,CAAC,WAAaqT,GAC7B,OAAO7T,IACFC,KAAKC,EAAOC,OAAOC,YAAc,0BAA2BI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCAC9FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAGG,EAAO5C,OAAO,GACb+C,aAAaC,QAAQ,UAAW5B,KAAKC,UAAUuB,IAC/CG,aAAaC,QAAQ,iBAAkBJ,EAAO7C,QAAO,SAAAzL,GAAK,MAA8B,OAA1BA,EAAoB,gBAAY0L,QAEvF4C,GAEF,Y,oCC/BjBjD,EAAOC,QAAU,k0J,mFCAjB,YAMAD,EAAOC,QAAUsC,EAAOC,OAAS,CAC7BC,YAAY,kDACZiI,eAAe,0D,oDCRnB,uCAkBe,KACXyL,gBAhBoB,WAEpB,OAAO9T,IACJC,KAAKC,EAAOC,OAAOC,YAAc,0BAFrB,GAEuD,CAACC,QAAS,CAAC,eAAgB,qCAC9FrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAC1CC,EAASxB,KAAKyB,MAAMJ,GAC1B,OAAGG,EAAO5C,OAAO,EACR4C,EAEA,Y,iLC0IFW,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAxIM,SAACE,GAAW,IAAD,MAEhBC,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KACA7O,EAAW2P,cAAc,EAC4BP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAApE8N,GAAD,EAAZF,aAAmC,EAAtBE,wBACOhO,GAD4B,EAAZkO,aACM/O,aAAY,SAACH,GAAK,OAAKA,EAAMe,SAAvEC,oBACkC,GAAzBX,mBAASJ,EAAMhO,WACCoO,oBAAS,IAAM,mBAA1CkS,EAAS,KAAEC,EAAY,MACb,IAAZD,GAA8C,OAAzBvD,GAAsD,OAArBhO,IACrDwR,GAAa,GACbzhB,EAASoG,YAAsB+I,EAAuB,UAAEc,EAAmBd,EAAoB,OAAE,IAAI,GAAG,GAAG,MAAM,KAChH1O,MAAK,eAEL6T,OAAM,gBAGV,MAEuChF,mBAAS,IAAG,mBAA/C2E,EAAa,KAAEC,EAAgB,OACJ5E,mBAAS,CAA0B,OAAzB2O,EAA8BA,EAAuB,KAAI,mBAA9F9J,EAAS,KAAEC,EAAY,KAEA,OAAzB6J,GAAiCA,GAAwB9J,GAA6B,KAAhBF,GACrEG,EAAa6J,GAajB,IA4BIxJ,EAAU,KAERC,KAAM,QAASC,OAAQ,QAASC,YAAa,EAAGC,eAAgB,MAAME,UAAU,OAAK,0BAAY,eAAa,4BAAe,UAAQ,GACvI,CAAEL,KAAM,UAAWC,OAAQ,UAAUC,YAAa,EAAGC,eAAgB,MAAME,UAAU,MAAOD,YAAa,WAAU,GACjHJ,KAAM,kBAAmBC,OAAQ,OAAQC,YAAa,EAAGC,eAAgB,QAAQE,UAAU,OAAK,0BAAY,eAAa,4BAAgB,UAAQ,OACjJL,KAAM,cAAeC,OAAQ,SAAUC,YAAa,EAAGC,eAAgB,MAAME,UAAU,OAAK,0BAAY,eAAa,wBAAW,gBAAGhV,EAAK,EAALA,MAAK,OAAOmN,YAAanN,MAAM,4BAAe,UAAQ,GAE3L,CAAE2U,KAAM,SAAUC,OAAQ,SAAUC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAnCrF3hB,EAmCoH2hB,EAhClJ,oCACwB,MAAvB3hB,EAAMW,KAAa,OAClB,4BACEqU,UAAU,eACVgD,QACE,SAACE,OAOH,4BACAlD,UAAU,eACVgD,QACE,SAACE,QAlBsB,IAAClY,GAmC+H+U,YAAa,WAC5K,EAG+BxF,mBAAS,CAAEC,UAAW,wBAAyBC,OAAQ,SAAS,mBAA1FC,EAAS,KAACC,EAAY,KAQzBiS,GAPyBC,uBAAY,SAACC,EAAU,GAAW,EAARC,SACrDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,KAGnB,IAEkB,SAACC,GACpB/N,EAAiB+N,GA3DjB,SAAwB5I,EAAKpF,GAEzBG,EAAaiF,EAAK7N,QAAO,SAAS8N,GAC9B,SAAIA,EAAc,QAAEC,cAAcC,SAASvF,EAAcwF,uBACrDH,EAAoB,cAAEC,cAAcC,SAASvF,EAAcwF,0BAwDvEC,CAAwC,OAAzBuE,EAA8BA,EAAuB,GAAGgE,KA8BzE,OA3BAzP,qBAAU,WACmB,IAAxBtD,EAAMqE,mBACPW,EAAiBhF,EAAMqE,kBACvBoO,EAAazS,EAAMqE,qBAGrB,CAACrE,EAAMqE,mBAETf,qBAAU,WACLtD,EAAMmE,cACP3D,EAAa,CAAEH,UAAW,OAAQC,OAAQ,wBAE1CE,EAAa,CAAEH,UAAW,wBAAyBC,OAAQ,WAC5D,CAACN,EAAMmE,gBAEVb,qBAAU,WACuB,OAA3ByL,GACgB,IAAfhK,GACD0N,EAAazS,EAAMqE,oBAItB,CAAC0K,IAMF,6BACE,wBAAIlJ,UAAU,iBAAgB,yBAAmB,yBAAKA,UAAU,cAAa,yBAAKA,UAAU,aAAY,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GAC5K0J,EAAa1J,EAAEmB,OAAOrZ,UACtB,IAAC,uBAAGgV,UAAU,kBAAoB,uBAAGA,UAAW,CAAC,MAAO7F,EAAMgT,YAAiC,oBAArB,sBAA0C9T,KAAK,KAAM2J,QAAS,kBAAK7I,EAAMoE,kBAAkBpE,EAAMmE,qBACjL,yBAAK0B,UAAU,eACb,kBAAC,IAAQ,CACP4E,WAAW,UACXC,MAAOnK,EACPgF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EAEZ8F,MAAM,eAER,yBAAKlF,UAAU,gC,+JCuBR/F,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAzJM,SAACE,GAAW,IAAD,QAChBC,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KACF7O,EAAW2P,cACT+P,EAAsBtQ,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAnDuP,kBAAiB,EAC2BpQ,mBAASJ,EAAMqF,UAAS,mBAAvE2H,EAAmB,KAAwB,QACF5M,oBAAS,IAAM,mBAAxD6S,EAAgB,KAAEC,EAAmB,OACmB9S,mBAAS,MAAK,mBAAtE+S,EAAwB,KAACC,EAA2B,MAIhC,IAArBH,GAAiD,OAAnBjT,EAAMjO,WAEtCmhB,GAAoB,GACjBlT,EAAMqF,SAAS,EAEhBvU,EAASgB,YAAmBkO,EAAMjO,SAAUiO,EAAMqF,SAAUrF,EAAMhO,UAAW,IAAK,GAAI,GAAI,MAAO,KAIjGlB,EAASgB,YAAmBkO,EAAMjO,SAAUiO,EAAM5O,UAAW4O,EAAMhO,UAAW,IAAK,GAAI,GAAI,MAAO,MAQxE,MAA3BmhB,GACDC,EAA+C,MAAnB5C,EAAwBA,EAAkBlU,QAAO,SAAA4O,GAAC,OAAGA,EAAE3B,YAAYyD,EAAoB,MAAI,CAAC,GAAG,CAAC,MAAS,KAEvI,MAEoB5M,mBACF,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,eAFhDyE,EAIJ,iBAJe,GAOhB,QADkCF,IAApBgM,GAAuD,OAAtBA,GAA6BA,EAAkBlU,QAAO,SAAA+W,GAAO,OAAIA,EAAQ9J,WAAayD,KAG7F5M,mBAASJ,EAAMqE,mBAAiB,mBAAnEU,EAAa,KAAEC,EAAgB,KACpC,EACgC5E,mBAAS,MAAqBoE,IAApBgM,GAAuD,OAAtBA,EAA6BA,EAAoB,CAAC,GAAG,CAAC,MAAS,MAAK,mBAA1IvL,EAAS,KAAEC,EAAY,KAEF,OAAtBsL,GAA8BA,GAAqBvL,GAA+B,KAAlBF,GAClEG,EAAasL,GA0Bf,IAAIjL,GAA0B,IAAhBb,EAAuB,CAEnC,CAAEc,KAAM,gBAAiBC,OAAQ,UAAWC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,MAAOD,YAAa,WAAS,GACzHJ,KAAM,cAAeC,OAAQ,QAASC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,OAAK,0BAAY,eAAa,4BAAe,UAAQ,OAC7IL,KAAM,SAAUC,OAAQ,SAAUC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,OAAK,0BAAY,eAAa,wBAAW,gBAAGhV,EAAK,EAALA,MAAK,OAAOmN,YAAanN,MAAM,4BAAe,UAAQ,GACxL,CAAE2U,KAAM,sBAAuBC,OAAQ,gBAAiBC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,MAAOD,YAAa,WAG9H,CACA,CAAEJ,KAAM,gBAAiBC,OAAQ,UAAWC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,MAAOD,YAAa,WAAS,GACzHJ,KAAM,cAAeC,OAAQ,QAASC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,OAAK,0BAAY,eAAa,4BAAe,UAAQ,OAC7IL,KAAM,SAAUC,OAAQ,SAAUC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,OAAK,0BAAY,eAAa,wBAAW,gBAAGhV,EAAK,EAALA,MAAK,OAAOmN,YAAanN,MAAM,4BAAe,UAAQ,GACxL,CAAE2U,KAAM,UAAWC,OAAQ,iBAAeC,YAAa,EAAGC,eAAgB,MAAOE,UAAW,MAAOD,YAAa,WAC/G,EAE8BxF,mBAAS,CAAEC,UAAW,wBAAyBC,OAAQ,SAAS,mBAA1FC,EAAS,KAACC,EAAY,KACvB8S,EAAuBZ,uBAAY,SAACC,EAAU,GAAW,EAARC,SACrDD,EAAUE,aAAc,IACvB,IAEGU,EAAgB,SAACR,GACrB/N,EAAiB+N,GA1CnB,SAAwB5I,EAAMpF,GAE5BG,EAAaiF,EAAK7N,QAAO,SAAU8N,GACjC,SAAIA,EAA0B,oBAAEC,cAAcC,SAASvF,EAAcwF,uBAAwBH,EAAoB,cAAEC,cAAcC,SAASvF,EAAcwF,0BAwC1JC,CAAqC,OAAtBgG,EAA6BA,EAAoB,GAAIuC,IA8BtE,OA3BAzP,qBAAU,WACmB,IAAxBtD,EAAMqE,mBACPW,EAAiBhF,EAAMqE,kBACvBkP,EAAcvT,EAAMqE,qBAGtB,CAACrE,EAAMqE,mBAETf,qBAAU,WACLtD,EAAM+D,YACPvD,EAAa,CAAEH,UAAW,OAAQC,OAAQ,wBAE1CE,EAAa,CAAEH,UAAW,wBAAyBC,OAAQ,WAC5D,CAACN,EAAM+D,cAEVT,qBAAU,WACkB,OAAtBkN,GACgB,IAAfzL,GACDwO,EAAcvT,EAAMqE,oBAIvB,CAACmM,IAMF,6BACE,wBAAI3K,UAAU,iBAAgB,kBAC5B,yBAAKA,UAAU,cACb,yBAAKA,UAAU,aACb,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GACxEwK,EAAcxK,EAAEmB,OAAOrZ,UACpB,IAAC,uBAAGgV,UAAU,kBAAoB,uBAAGA,UAAW,CAAC,MAAO7F,EAAM+D,YAAiC,oBAArB,sBAA0C7E,KAAK,KAAM2J,QAAS,kBAAK7I,EAAMgE,gBAAgBhE,EAAM+D,mBAIpL,yBAAK8B,UAAU,eACb,kBAAC,IAAQ,CACP4E,WAAW,iBACXC,MAAOnK,EAEPgF,QAASA,EAETqF,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAER,yBAAKlF,UAAU,gC,qFCjKhB,SAASnD,EAAiB9R,EAAI4iB,GAAc,IAAD,EACXpT,oBAAU,WACzC,IACI,IAAMgK,EAAOhD,OAAO9H,aAAaM,QAAQhP,GACzC,OAAOwZ,EAAKzM,KAAKyB,MAAMgL,GAAMoJ,EAChC,MAAM/hB,GACH,OAAO+hB,MAEb,mBAPIC,EAAW,KAACC,EAAa,KAgB/B,MAAO,CAACD,EARS,SAAA5iB,GACb,IACI6iB,EAAc7iB,GACduW,OAAO9H,aAAaC,QAAQ3O,EAAI+M,KAAKC,UAAU/M,IAClD,MAAMY,GACHqD,QAAQrD,MAAMA,Q,yHC4NXqO,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAjOU,SAACE,GACtB,IAAMlP,EAAW2P,cAAc,EACsBP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAA1EiP,EAAkB,EAAlBA,mBACgD,GADR,EAApBE,qBAEChQ,mBAASJ,EAAMe,qBAAvC4S,EAA0D,iBAAtC,GACzB,EAC4CvT,mBAAS,IAAG,mBAAnDwT,EAAe,KAAoB,QACRxT,mBAAS,CAAwB,OAAvB8P,EAA8BA,EAAqB,MAAI,mBAA5FjL,EAAS,KAAEC,EAAY,OACoB9E,oBAAS,GAAM,mBAA1DyT,EAAiB,KAAEC,EAAoB,OACV1T,oBAAS,GAAM,mBAA1C2T,EAAS,KAAEC,EAAY,MAEJ,IAAtBH,IACAC,GAAqB,GACrBhjB,EAASqC,YAAoBwgB,IACxBpiB,MAAK,eAEL6T,OAAM,gBAKY,OAAvB8K,GAA+BA,GAAsBjL,GAAiC,KAApB2O,GAClE1O,EAAagL,GAsBjB,SAAS+D,EAAcC,GACnB9M,OAAO+M,KAAKD,GAEhB,IAAME,EAAyB,SAAC5B,GAC5B,IAAIzgB,EAAWub,SAASkF,EAAQtI,OAAOZ,IAE1B,OADF4G,EAAmB5T,QAAO,SAAA4O,GAAC,OAAIA,EAAEmJ,WAAatiB,KAAU,IAE/DjB,EAASoK,YAA2ByY,IAC/BpiB,MAAK,SAACoV,GACHsN,EAActN,GACdqN,GAAa,MAEhB5O,OAAM,gBA8EnB,IAAIG,EAAU,CAGV,CAAEC,KAAM,cAAeC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KACrL,CAAEhP,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,0BAAwB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KACxL,CAAEhP,KAAM,sBAAuBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,oBAAqB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,cAAeC,OAAQ,gBAAGjV,EAAK,EAALA,MAAK,OAAOmN,YAAanN,IAAQ+U,YAAa,SAAU4O,SAAU,KACxQ,CAAEhP,KAAM,oBAAqBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,eAAmB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,SAAU4O,SAAU,KACxN,CAAEhP,KAAM,WAAYC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,aAAiB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UAC/J,CAAEJ,KAAM,UAAWC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UAC7J,CAAEJ,KAAM,kBAAmBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,cAAkB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,MAG/L,OACI,yBAAK3O,UAAW,CAAC,WAAY,WAAW3G,KAAK,MAEzC,yBAAK2G,UAAW,CAAC,gBACT,IAD0BkO,EAClB,cAAgB,IAAI7U,KAAK,MAAM,yBAAK2G,UAAU,aAE9D,yBAAKA,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,WAEA,yBAAKA,UAAU,qBAiBnB,yBAAKA,UAAU,qBAAoB,qBAC/B,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAIf,yBAAKA,UAAU,gCAAgCgD,QAAS,SAACE,GACjDqL,EAAuBrL,GACvBiL,GAAa,KACd,WAEP,yBAAKnO,UAAU,gCAAgCgD,QAAS,SAACE,IA1H7C,SAACyJ,GACjC,IAAIzgB,EAAWub,SAASkF,EAAQtI,OAAOZ,IAE1B,OADF4G,EAAmB5T,QAAO,SAAA4O,GAAC,OAAIA,EAAEmJ,WAAatiB,KAAU,IAE/DjB,EAASkL,YAAiC2X,IACrCpiB,MAAK,SAACoV,GACHsN,EAActN,GACdqN,GAAa,MAEhB5O,OAAM,eAkHaqP,CAA4B1L,GAC5BiL,GAAa,KACd,mBAEP,yBAAKnO,UAAU,gCAAgCgD,QAAS,SAACE,IAjH5C,SAACyJ,GAClC,IAAIzgB,EAAWub,SAASkF,EAAQtI,OAAOZ,IAE1B,OADF4G,EAAmB5T,QAAO,SAAA4O,GAAC,OAAIA,EAAEmJ,WAAatiB,KAAU,IAE/DjB,EAASmL,YAAkC0X,IACtCpiB,MAAK,SAACoV,GACHsN,EAActN,GACdqN,GAAa,MAEhB5O,OAAM,eAyGasP,CAA6B3L,GAC7BiL,GAAa,KACd,sBAIf,kBAAC,IAAQ,CACLvJ,WAAW,iBACXC,MAnMF,CAAErK,UAAW,QAASC,OAAQ,QAqM5BiF,QAASA,EACTqF,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZ8F,MAAM,eAGV,yBAAKlF,UAAU,gBAIf,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAAcgD,QA3LjD,WACI7I,EAAMuI,sBA0L8D,UAIxD,qC,kECvGLI,IAzGO,SAAC3I,GAEnB,MACgDI,mBAZpD,WAAgC,IAAD,EACwBgH,OACnD,MAAO,CACHuN,MAFqB,EAAjBC,WAGJtU,OAH0C,EAAnBuU,aAW8BC,IAAsB,mBAAxD,KAAqB,KAG3C,MAGmC1U,oBAAS,GAAM,mBAAnB,GAAf,KAAe,KACEA,mBAAS,KAAG,mBAAzC2U,EAAU,KAAEC,EAAa,KAC9B,EACsC5U,oBAAS,GAAM,mBAAhD6U,EAAY,KAAEC,EAAe,OACI1J,IAAMpL,SAAS,sBAAqB,mBAAxD,KAAgB,KAMlC,OACI,yBAAKyF,UAAW,IAIZ,yBAAKA,UAAU,SAGf,yBAAKA,UAAW,CAAC,cAAe,WAAoC,IAAzB7F,EAAMmV,eAA2B,eAAiC,IAAjBF,EAAyB,mBAAqB,IAAI/V,KAAK,MAC/I,yBAAK2G,UAAU,aAAagD,QAbxC,WACIqM,GAAiBD,KAY2C,uBAAGpP,UAAU,iBACjE,yBAAKA,UAAU,gBACX,4BAAI,uBACJ,yBAAKA,UAAU,qBAAoB,wBAAyC,OAAnB7F,EAAMuD,eAAwCiB,IAAnBxE,EAAMuD,SAAyBvD,EAAMuD,SAAShH,OAAS,KAC3I,yBAAKsJ,UAAU,cAAa,2BAAO9U,KAAK,OAAOiZ,YAAY,SAASnZ,MAAOkkB,EAAY9K,SAAU,SAAClB,GAC9FiM,EAAcjM,EAAEmB,OAAOrZ,UAEvB,yBAAKgV,UAAW,CAAC,mBAAoC,IAAjBoP,EAAyB,kBAAoB,IAAI/V,KAAK,MAC1F,4BAE8B,MAAlBc,EAAMuD,SAAmBvD,EAAMuD,SAASjH,QACpC,SAAAzL,GAAK,OAAIA,EAAM,cAAc,GAAY,QAAE,GAAGwZ,cAAcC,SACxDyK,EAAWxK,wBAAsBnB,KAAI,SAACgB,EAAMgL,GACxC,OAAO,wBAAIxkB,IAAKwZ,EAAK,YAAY,IAC7B,yBAAKvE,UAAU,eACX,yBAAKA,UAAU,eAAewP,MAAOjL,EAAK,cAAc,GAAc,UAAE,GAAK,MAAQA,EAAK,cAAc,GAAY,QAAE,IAClH,8BAAOA,EAAK,cAAc,GAAc,UAAE,GAAG,KAASA,EAAK,cAAc,GAAY,QAAE,IAC3F,yBAAKvE,UAAU,gBAAe,YAElC,yBAAKA,UAAU,uCAElB,Y,kHC9D3CyP,G,MAAa,kDACf,WAAYtV,GAAQ,uCACVA,GAmBT,OAlBA,8CACS,IAAD,MACL,OACI,yBAAK6F,UAAU,kBACX,yBAAKA,UAAU,gBAAe,yBAAK0P,IAAK9W,EAAOC,OAAO8W,iBAAmBC,KAAKzV,MAAMoK,KAAmB,aAAK,OAAQsL,IAAI,uBACxH,yBAAK7P,UAAU,QAAQ4P,KAAKzV,MAAMoK,KAAa,QAC/C,yBAAKvE,UAAU,QAAQ4P,KAAKzV,MAAMoK,KAAsB,iBACxD,yBAAKvE,UAAU,aACX,kBAAC,KAAY,GAAChV,MAAO4kB,KAAKzV,MAAMoK,KAAmB,aAAGuL,YAAa,OAAQC,mBAAmB,EAAMC,aAAc,EAAGC,mBAAmB,GAAK,kCAAoB,KAAG,iCAAoB,KAAG,uBAAU,MAAI,KAE7M,yBAAKjQ,UAAU,aACX,kBAAC,KAAY,GAAChV,MAAO4kB,KAAKzV,MAAMoK,KAAkB,YAAGuL,YAAa,OAAQC,mBAAmB,EAAMC,aAAc,EAAGC,mBAAmB,GAAK,kCAAoB,KAAG,iCAAoB,KAAG,uBAAU,MAAI,KAE5M,yBAAKjQ,UAAU,aACX,kBAAC,KAAY,GAAChV,MAAO4kB,KAAKzV,MAAMoK,KAAgB,UAAGuL,YAAa,OAAQC,mBAAmB,EAAMC,aAAc,EAAGC,mBAAmB,GAAM,kCAAoB,KAAG,iCAAoB,KAAG,uBAAU,YAAO,UAIzN,EArBc,CAASC,cAuBbT,Q,oHCvBTU,G,YAAiB,kDACnB,WAAYhW,GAAQ,uCACVA,GA6BT,OA5BA,qDACeiW,GAEZ,OADAnhB,QAAQC,IAAI,eAAiBkhB,GACtBA,GACH,KAAK,EACD,MAAO,MACX,KAAK,EACD,MAAO,MACX,KAAK,EACD,MAAO,QACX,KAAK,EACD,MAAO,OACX,KAAK,EACD,MAAO,OACX,KAAK,EACD,MAAO,MACX,KAAK,EACD,MAAO,QACX,KAAK,EACD,MAAO,WAElB,+BAEG,OACI,yBAAKZ,MAAOI,KAAKzV,MAAMoK,KAAa,OAAI,QAAUqL,KAAKzV,MAAMoK,KAAa,QACtE,yBAAKvE,UAAW,CAAC,MAAM4P,KAAKS,gBAAgBT,KAAKzV,MAAMiW,QAAQ/W,KAAK,MAAM,yBAAK2G,UAAU,WAAW4P,KAAKzV,MAAMoK,KAAa,QAAQ,yBAAKvE,UAAW,QAAU4P,KAAKzV,MAAMiW,MAAQ,IAAI,yBAAKV,IAAK9W,EAAOC,OAAO8W,iBAAmBC,KAAKzV,MAAMoK,KAAmB,aAAK,OAAQsL,IAAI,kBAAuB,yBAAK7P,UAAW,iBAAmB4P,KAAKzV,MAAMiW,MAAQ,IAAKR,KAAKzV,MAAMoK,KAAmB,oBAG1Y,EA/BkB,CAAS2L,cAiCjBC,Q,oCCrCf9Z,EAAOC,QAAU,uxM,kBCAjBD,EAAOC,QAAU,2lR,oBCAjBD,EAAOC,QAAU,IAA0B,2C,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,wC,oBCA3CD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,qC,wJCiP5B2D,G,MAAAA,aADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EA3OQ,SAACE,GACpB,IAAMlP,EAAW2P,cACjB,EACyBL,mBAAS,CAAC,UAAY,IAAI,CAAC,UAAY,IAAI,CAAC,UAAY,KAAI,mBAAhF+V,EAAM,KAACC,EAAS,OACIhW,mBAAsC,OAA7BJ,EAAMqW,qBAA4BrW,EAAMqW,qBAA6B,OAAE,IAAG,mBAAvG/hB,EAAM,KAACgiB,EAAS,OACIlW,mBAAsC,OAA7BJ,EAAMqW,qBAA4BrW,EAAMqW,qBAA6B,OAAE,IAAG,mBAAvG3jB,EAAM,KAAC6jB,EAAS,KACrB,EAC2BnW,oBAAS,GAAM,mBAA7BoW,GAAD,KAAW,QACGpW,mBAAS,MAAK,mBAAnCnG,EAAM,KAAEwc,EAAS,OACIrW,mBAAS,MAAK,mBAAnClG,EAAM,KAAEwc,EAAS,KACU,OAA7B1W,EAAMqW,sBAAuC,MAARpc,KACM,IAAvC+F,EAAMqW,qBAA6B,OAClCI,EAAU,GAEVA,EAAU,IAGc,OAA7BzW,EAAMqW,sBAAuC,MAARnc,KACM,IAAvC8F,EAAMqW,qBAA6B,OAClCK,EAAU,GAEVA,EAAU,IAUlB,SAASC,IACL3W,EAAM4W,gBAEV,IAAIC,EAAazW,mBAAS,MACM,OAA7BJ,EAAMqW,sBAAuE,KAAxCrW,EAAMqW,qBAA6B,SACvEQ,EAAc,CAAChmB,MAAM,IAAKimB,MAAM,aAEJ,OAA7B9W,EAAMqW,sBAAuE,KAAxCrW,EAAMqW,qBAA6B,SACvEQ,EAAc,CAAChmB,MAAM,IAAKimB,MAAM,WAEJ,OAA7B9W,EAAMqW,uBACLQ,EAAc,CAAChmB,MAAM,IAAKimB,MAAM,WACnC,MACsC1W,mBAASyW,GAAa,mBAAxDE,EAAY,KAAEC,EAAe,KAMlC,EAC8B5W,oBAAS,GAAK,mBACtC6W,GADQ,KAAY,KACP,2DAyDnB,OACJ,yBAAKpR,UAAU,oBACX,yBAAKA,UAAU,+BACX,yBAAKA,UAAU,gBACX,yBAAKyD,GAAG,qBACJ,4BAAI,gBAGJ,yBAAKzD,UAAU,gCACX,yBAAKA,UAAU,wDACX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,gBAG9C,yBAAKA,UAAU,UACX,2BACI9U,KAAK,OACLF,MAAOyD,EACP4iB,aAAa,MACbC,UAAW,IACXnN,YAAY,qBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPuN,EAAUvN,EAAEmB,OAAOrZ,MAAMumB,eACzBjB,EAAkB,UAAI,MAGP,KAAtBA,EAAkB,UAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAS,KAI9F,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,aAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO6B,EACPykB,UAAW,IACXnN,YAAY,kBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPwN,EAAUxN,EAAEmB,OAAOrZ,OACnBslB,EAAkB,UAAI,IAG1BkB,OAAU,SAACtO,OAIQ,KAAtBoN,EAAkB,UAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAS,KAK9F,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,aAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACPqR,aAAa,MACbrR,UAAU,aACVyD,GAAG,oBACHzY,MAAOkmB,EACP9M,SAAU,SAAClB,GACPiO,EAAgBjO,IACjBiB,YAAY,aAAasN,QA3IlC,CAClB,CAAEzmB,MAAO,IAAKimB,MAAO,YACrB,CAAEjmB,MAAO,IAAKimB,MAAO,eA4IL,yBAAKjR,UAAU,YACX,yBAAKA,UAAU,UACf,+BACI,uBAAGA,UAAU,wBAA0B,IAAC,8BAAM,aAGlD,yBAAKA,UAAU,UACf,kBAAC,IAAQ,CACL0R,MAAM,OACNC,eAAgBvd,EAChB8Y,KAAK,mBACL9I,SA7KA,SAAH,IACJ,IADgB,EAANC,OACpBuN,QAAehB,EAAU,GAAGA,EAAU,QAgL7B,yBAAK5Q,UAAU,YACX,yBAAKA,UAAU,UACf,+BACI,uBAAGA,UAAU,wBAA0B,IAAC,8BAAM,eAGlD,yBAAKA,UAAU,UACf,kBAAC,IAAQ,CACL0R,MAAM,OACNC,eAAgBtd,EAChB6Y,KAAK,SACL9I,SAzLA,SAAH,IACJ,IADgB,EAANC,OACpBuN,QAAef,EAAU,GAAGA,EAAU,SA8LjC,yBAAK7Q,UAAU,yBACX,yBAAKA,UAAU,aAAagD,QA7JhD,WAEI,IAAI6O,GAAM,EAEG,IAAVpjB,IACC6hB,EAAkB,UAAI,oBACtBuB,GAAQ,GAEC,IAAVhlB,IACCyjB,EAAkB,UAAI,iBACtBuB,GAAQ,GAERT,EAAWU,KAAKjlB,KAChByjB,EAAkB,UAAI,mCACtBuB,GAAQ,GAERT,EAAWU,KAAKrjB,KAChB6hB,EAAkB,UAAI,oCACtBuB,GAAQ,GAGZtB,EAAUD,GACVK,GAAW,GACPkB,IAIJ5mB,EAAS2J,YACwB,OAA7BuF,EAAMqW,qBAA4BrW,EAAMqW,qBAAiC,WAAE,KAC3E/hB,EACA5B,EACAuH,EACAC,EACA,EACA6c,EAAoB,MACpB,IAAI,GAAG,GAAG,MAAM,KACbxlB,MAAK,eAEJ6T,OAAM,eAGduR,OAoHkE,WAE3C,IACP,yBAAK9Q,UAAU,cAAcgD,QAAS8N,GAAc,mBCqC7D7W,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EApQY,SAACE,GACxB,IAAMlP,EAAW2P,cAAc,EAChBL,mBAAS,CAAC,UAAY,IAAI,CAAC,UAAY,IAAI,CAAC,UAAY,IAAI,CAAC,eAAiB,KAAxF+V,EAA4F,iBAAtF,KAEc/V,mBAAkC,OAAzBJ,EAAM4X,iBAAwB5X,EAAM4X,iBAAyB,OAAE,IAAG,mBAA/FtjB,EAAM,KAACgiB,EAAS,OACKlW,mBAAkC,OAAzBJ,EAAM4X,iBAAwB5X,EAAM4X,iBAAyB,OAAE,IAAG,mBAAhGllB,EAAM,KAAE6jB,EAAS,OACcnW,mBAAkC,OAAzBJ,EAAM4X,iBAAwB5X,EAAM4X,iBAA8B,YAAE,IAAG,mBAA/Gxd,EAAW,KAAEyd,EAAc,KAEhC,EAC0BzX,mBAAS,MAAK,mBAAnCnG,EAAM,KAAEwc,EAAS,OACIrW,mBAAS,MAAK,mBAAnClG,EAAM,KAAEwc,EAAS,KACM,OAAzB1W,EAAM4X,kBAAmC,MAAR3d,KACM,IAAnC+F,EAAM4X,iBAAyB,OAC9BnB,EAAU,GAEVA,EAAU,IAGU,OAAzBzW,EAAM4X,kBAAmC,MAAR1d,KACM,IAAnC8F,EAAM4X,iBAAyB,OAC9BlB,EAAU,GAEVA,EAAU,IAWlB,SAASC,IACL3W,EAAM8X,gBAGV,IAAIjB,EAAazW,mBAAS,MAEE,OAAzBJ,EAAM4X,kBAA+D,KAApC5X,EAAM4X,iBAAyB,SAC/Df,EAAc,CAAChmB,MAAM,IAAKimB,MAAM,aAER,OAAzB9W,EAAM4X,kBAA+D,KAApC5X,EAAM4X,iBAAyB,SAC/Df,EAAc,CAAChmB,MAAM,IAAKimB,MAAM,WAER,OAAzB9W,EAAM4X,mBACLf,EAAc,CAAChmB,MAAM,IAAKimB,MAAM,WACnC,MACsC1W,mBAASyW,GAAa,mBAAxDE,EAAY,KAAEC,EAAe,KAO5BC,EAAa,0DA0DnB,OACJ,yBAAKpR,UAAW,oBACZ,yBAAKA,UAAU,+BACX,yBAAKA,UAAU,0BACX,yBAAKyD,GAAG,qBACJ,4BAAI,SAGJ,yBAAKzD,UAAU,gCACX,yBAAKA,UAAU,wDACX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,gBAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAOyD,EACP6iB,UAAW,GACXnN,YAAY,qBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPuN,EAAUvN,EAAEmB,OAAOrZ,MAAMumB,eACzBjB,EAAkB,UAAI,MAGP,KAAtBA,EAAkB,UAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAS,KAI9F,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,aAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO6B,EACPykB,UAAW,GACXnN,YAAY,kBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPwN,EAAUxN,EAAEmB,OAAOrZ,OACnBslB,EAAkB,UAAI,MAIP,KAAtBA,EAAkB,UAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAS,KAK9F,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,mBAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAOuJ,EACP+c,UAAW,IACXnN,YAAY,wBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP8O,EAAe9O,EAAEmB,OAAOrZ,OACxBslB,EAAuB,eAAI,MAIP,KAA3BA,EAAuB,eAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAuB,gBAAS,KAIxG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,aAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACHqR,aAAa,MACbrR,UAAU,aAAayD,GAAG,oBAAqBzY,MAAOkmB,EAAc9M,SAAU,SAAClB,GAC/EiO,EAAgBjO,GAChBoN,EAAkB,UAAI,IACvBnM,YAAY,aAAasN,QA9JlC,CAClB,CAAEzmB,MAAO,IAAKimB,MAAO,UACrB,CAAEjmB,MAAO,IAAKimB,MAAO,eA6J0B,KAAtBX,EAAkB,UAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAS,KAI9F,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACf,+BACI,uBAAGA,UAAU,wBAA0B,IAAC,8BAAM,aAGlD,yBAAKA,UAAU,UACf,kBAAC,IAAQ,CACL0R,MAAM,OACNC,eAAgBvd,EAChB8Y,KAAK,mBACL9I,SArMA,SAAH,IACJ,IADgB,EAANC,OACpBuN,QAAehB,EAAU,GAAGA,EAAU,QAwM7B,yBAAK5Q,UAAU,YACX,yBAAKA,UAAU,UACf,+BACI,uBAAGA,UAAU,wBAA0B,IAAC,8BAAM,eAGlD,yBAAKA,UAAU,UACf,kBAAC,IAAQ,CACL0R,MAAM,OACNC,eAAgBtd,EAChB6Y,KAAK,mBACL9I,SAhNA,SAAH,IACJ,IADgB,EAANC,OACpBuN,QAAef,EAAU,GAAGA,EAAU,SAqNjC,yBAAK7Q,UAAU,yBACX,yBAAKA,UAAU,aAAagD,QA3LhD,WAEI,IAAI6O,GAAM,EAEG,IAAVpjB,IACC6hB,EAAkB,UAAI,oBACtBuB,GAAQ,GAEC,IAAVhlB,IACCyjB,EAAkB,UAAI,iBACtBuB,GAAQ,GAEM,IAAftd,IACC+b,EAAuB,eAAI,uBAC3BuB,GAAQ,GAEO,MAAhBX,IACCZ,EAAkB,UAAI,iBACtBuB,GAAQ,GAERT,EAAWU,KAAKjlB,KAChByjB,EAAkB,UAAI,mCACtBuB,GAAQ,GAERT,EAAWU,KAAKvd,KAChB+b,EAAuB,eAAI,oCAC3BuB,GAAQ,GAMRA,IAGJ5mB,EAASkJ,aACoB,OAAzBgG,EAAM4X,iBAAwB5X,EAAM4X,iBAAyB,QAAG,EAChEtjB,EACA5B,EACAuH,EACAC,EACA,EACA8F,EAAMlG,WACNM,EACA2c,EAAoB,MACpB,IAAI,GAAG,GAAG,MAAM,KACbxlB,MAAK,eAEJ6T,OAAM,eAEfuR,OAyImE,WAE3C,IACP,yBAAK9Q,UAAU,cAAcgD,QAAS8N,GAAc,kBCjF7D7W,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAhKM,SAACE,GAClB,IAAMlP,EAAW2P,cACsC,EACfP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAA7DgN,EAAa,EAAbA,cAAeG,EAAY,EAAZA,aAAY,EACShO,mBAAS,IAAG,mBAAjD2X,EAAc,KAAEC,EAAiB,OACQ5X,mBAAS,MAAK,mBAAvDwX,EAAgB,KAAEK,EAAmB,OACR7X,mBAAS,MAAK,mBAA3CtG,EAAU,KAAEoe,EAAa,OACA9X,oBAAS,GAAM,mBAA1C+X,EAAS,KAAEC,EAAY,KACfhY,mBAAS,MACA,OAAlB6N,IAAwC,IAAdkK,IAC1BC,GAAa,GACbtnB,EAASiJ,YAAiBiG,EAAMqW,qBAAiC,WAAG,IAAK,GAAI,GAAI,MAAO,KACnF9kB,MAAK,eAEL6T,OAAM,gBAII,OAAftL,IACAoe,EAAclY,EAAMqW,qBAAiC,YACrDvhB,QAAQC,IAAI,eAAiBiL,EAAMqW,qBAAiC,aACvE,MACiCjW,mBAAS,IAAG,mBAAzCiY,EAAU,KAAEC,EAAa,OACElY,mBAAS,CAAmB,OAAlB6N,EAAyBA,EAAgB,KAAI,mBAAlFhJ,EAAS,KAAEC,EAAY,KAEN,OAAlB+I,GAA0BA,GAAiBhJ,GAA4B,KAAfoT,GACxDnT,EAAa+I,GA2BjB,IAAMqF,EAAuBZ,uBAAY,SAACC,EAAU,GAAmB,IAAhBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CACd,CACIgE,MAAO,SACPjO,QAAS,WACLoP,EAAoBrF,EAASphB,MACpBohB,EAASphB,KAAa,OAC/BsD,QAAQC,IAAI6d,EAASphB,MACrBwmB,EAAkB,eAK1B,CACIlB,MAAO,WACPjO,QAAS,WACL0P,uBAAa,CACTlD,MAAO,uBACP3jB,QAAS,8BACT8mB,QAAS,CACL,CACI1B,MAAO,KACPjO,QAAS,WACL/X,EAAS8I,YAAmBgZ,EAASphB,KAAa,OAAGohB,EAASphB,KAAiB,WAAG,IAAK,GAAI,GAAI,MAAO,KACjGD,MAAK,eAGL6T,OAAM,iBAKnB,CACI0R,MAAO,KACPjO,QAAS,sBASlC,IACCtD,EAAU,CAEV,CAAEC,KAAM,SAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,cAAe7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UAC1J,CAAEJ,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,QAAS8S,aAAc,IAAI7S,YAAa,UAC/K,CAAEJ,KAAM,cAAeC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,iBAAqB7O,YAAa,EAAGC,eAAgB,QAAS8S,aAAc,IAAI7S,YAAa,WAK9L,OACI,yBAAKC,UAAW,CACZ,UACA,WACF3G,KAAK,MACH,yBAAK2G,UAAW,CAAC,gBAAiC,IAAjBuI,EAAwB,cAAgB,IAAIlP,KAAK,MAAM,yBAAK2G,UAAU,aACpF,aAAlBkS,EAAgC,kBAACW,EAAkB,CAACZ,cAnE7D,WACIE,EAAkB,KAkEqEJ,iBAAkBA,EAAkB9d,WAAYA,IAAiB,GACpJ,yBAAK+L,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,mBAEA,yBAAKA,UAAU,mBACX,kBAAC,IAAI,CAAC8S,WAAY,kBAAC,IAAU,KACzB,uBAAG9S,UAAU,uBACb,kBAAC,IAAQ,CAACgD,QAxEtC,WACIoP,EAAoB,MACpBD,EAAkB,eAsEsC,uBAAGnS,UAAU,wBAA0B,YAInF,yBAAKA,UAAU,qBAAoB,iBAC/B,yBAAKA,UAAU,cAAa,yBAAKA,UAAU,aACvC,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOwnB,EAAYpO,SAAU,SAAClB,GACnEuP,EAAcvP,EAAEmB,OAAOrZ,OApGnD,SAAoBsZ,EAAMkO,GAEtBnT,EAAaiF,EAAK7N,QAAO,SAAU8N,GAC/B,SAAIA,EAAa,OAAEC,cAAcC,SAAS+N,EAAW9N,sBACjDH,EAAa,OAAEC,cAAcC,SAAS+N,EAAW9N,sBACjDH,EAAkB,YAAEC,cAAcC,SAAS+N,EAAW9N,0BAgGtCqO,CAA6B,OAAlB3K,EAAyBA,EAAgB,GAAIlF,EAAEmB,OAAOrZ,UAErE,uBAAGgV,UAAU,qBAIrB,kBAAC,IAAQ,CACL4E,WAAW,SACXC,MAvIF,CAAErK,UAAW,QAASC,OAAQ,QAyI5BiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAGV,yBAAKlF,UAAU,gBACf,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAAcgD,QA/GjD,WACI/X,EAASH,YAAe,gBAAiB,OACpCY,MAAK,eAEL6T,OAAM,eAEXpF,EAAM6Y,sBAyGiE,gBCuBhE/Y,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAzKS,SAACE,GACrB,IAAMlP,EAAW2P,cACuC,EACRP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAArE6M,EAAiB,EAAjBA,kBAAmBK,EAAgB,EAAhBA,iBAAgB,EACG/N,mBAAS,IAAG,mBAArD0Y,EAAgB,KAAEC,EAAmB,OACI3Y,mBAAS,IAAG,mBAArD4Y,EAAgB,KAAEC,EAAmB,OACY7Y,mBAAS,QAAO,mBAAjEiW,EAAoB,KAAE6C,EAAuB,OACZ9Y,oBAAS,GAAM,mBAAhD+Y,EAAY,KAAEC,EAAe,MACb,IAAjBD,IACAC,GAAgB,GAChBtoB,EAAS0J,YAAa,IAAK,GAAI,GAAI,MAAO,KACrCjJ,MAAK,eAEL6T,OAAM,gBAGd,MACyChF,mBAAS,IAAG,mBAAjDiZ,EAAc,KAAEC,EAAiB,OACNlZ,mBAAS,CAAuB,OAAtB0N,EAA6BA,EAAoB,KAAI,mBAA1F7I,EAAS,KAAEC,EAAY,KAEF,OAAtB4I,GAA8BA,GAAqB7I,GAAgC,KAAnBoU,GAChEnU,EAAa4I,GAyBjB,IAAMwF,EAAuBZ,uBAAY,SAACC,EAAU,GAAmB,IAAhBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CACd,CACIgE,MAAO,QACPjO,QAAS,WACLqQ,EAAwBtG,EAASphB,MACjCynB,EAAoB,QACpBnkB,QAAQC,IAAI6d,EAASphB,QAG7B,CACIslB,MAAO,SACPjO,QAAS,WACLqQ,EAAwBtG,EAASphB,MACjCunB,EAAoB,QACpBjkB,QAAQC,IAAI6d,EAASphB,QAG7B,CACIslB,MAAO,WACPjO,QAAS,WACL0P,uBAAa,CACTlD,MAAO,uBACP3jB,QAAS,8BACT8mB,QAAS,CACL,CACI1B,MAAO,KACPjO,QAAS,WACL/X,EAASwJ,YAAesY,EAASphB,KAAiB,aAC7CD,MAAK,eAGL6T,OAAM,iBAGnB,CACI0R,MAAO,KACPjO,QAAS,sBASlC,IASH,IAAItD,EAAU,CAEV,CAAEC,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,cAAe7O,YAAa,EAAGC,eAAgB,MAAQC,YAAa,UAC5J,CAAEJ,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,QAAS8S,aAAc,IAAI7S,YAAa,UAC/K,CAAEJ,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAOG,OAAQ,YAAO,OAZjK,SAAsBpR,GAClB,OAAQA,GACJ,IAAK,IACD,MAAO,SAEf,MAAO,WAO6J6kB,CAAP,EAAJ/nB,KAAqC,SAAIoU,YAAa,WAEnN,OACI,yBACIC,UAAW,CACP,WACA,WACF3G,KAAK,MAGP,yBAAK2G,UAAW,CAAC,gBAAqC,IAArBsI,EAA4B,cAAgB,IAAIjP,KAAK,MAAM,yBAAK2G,UAAU,aACrF,SAArBiT,EAA8B,kBAAC,EAAc,CAAClC,cAjFvD,WACImC,EAAoB,KAgF6D1C,qBAAsBA,IAA2B,GAC9H,yBAAKxQ,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,eAEA,yBAAKA,UAAU,mBACX,kBAAC,IAAI,CAAC8S,WACD,kBAAC,IAAU,KAAC,uBAAG9S,UAAU,uBAC1B,kBAAC,IAAQ,CAACgD,QA7FtC,WACIqQ,EAAwB,MACxBH,EAAoB,UA2FwC,uBAAGlT,UAAU,wBAA0B,YAIvF,yBAAKA,UAAU,qBAAoB,eAC/B,yBAAKA,UAAU,cACX,yBAAKA,UAAU,aACX,2BACAqR,aAAa,MACbnmB,KAAK,OACLiZ,YAAY,UACZnZ,MAAOwoB,EACPpP,SAAU,SAAClB,GACPuQ,EAAkBvQ,EAAEmB,OAAOrZ,OAnH3D,SAAwBsZ,EAAMkP,GAE1BnU,EAAaiF,EAAK7N,QAAO,SAAU8N,GAC/B,SAAIA,EAAa,OAAEC,cAAcC,SAAS+O,EAAe9O,uBACrDH,EAAa,OAAEC,cAAcC,SAAS+O,EAAe9O,0BAgHjCC,CAAqC,OAAtBsD,EAA6BA,EAAoB,GAAI/E,EAAEmB,OAAOrZ,UAEjF,uBAAGgV,UAAU,qBAIzB,kBAAC,IAAQ,CACL4E,WAAW,aACXC,MAjJF,CAAErK,UAAW,QAASC,OAAQ,QAkJ5BiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAEV,yBAAKlF,UAAU,gBACf,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAAcgD,QAAS7I,EAAMkI,qBAAqB,YAMvD,SAArB8Q,EAA8B,kBAACQ,EAAY,CAACX,kBAxHrD,WACII,EAAoB,KAuHmE5C,qBAAsBA,IAA2B,Q,8MCsyBjIvW,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EA18BO,SAACE,GACnBlL,QAAQC,IAAIiL,EAAMgN,qBAClB,IAAMlc,EAAW2P,cACHR,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAAI,EACcS,mBAAS,IAAG,mBAAhB,GAAV,KAAU,KACIA,mBACtB,CAAE,UAAa,IACf,CAAE,eAAkB,IACpB,CAAEqZ,WAAY,IACd,CAAEC,SAAU,IACZ,CAAEC,WAAY,IACd,CAAEC,QAAS,IACX,CAAEC,YAAa,IACf,CAAEC,aAAc,IAChB,CAAEC,YAAa,IACf,CAAEhhB,kBAAmB,IACrB,CAAEihB,oBAAqB,IACvB,CAAEC,eAAgB,IAClB,CAAEC,mBAAoB,IACtB,CAAEC,0BAA2B,IAC7B,CAAEC,uBAAwB,IAC1B,CAAEA,uBAAwB,IAC1B,CAAEC,wBAAyB,IAC3B,CAAEC,iBAAkB,IACpB,CAAEC,SAAU,IACZ,CAAEC,YAAa,MACd,mBArBArE,EAAM,KAAEC,EAAS,OAuBUhW,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA+B,UAAI,MAAK,mBAAvH5b,EAAS,KAAc,QACFgP,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA4B,OAAI,KAAG,mBAA5Gta,EAAM,KAAE6jB,EAAS,OACAnW,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA0B,KAAI,IAAG,mBAAtG7W,EAAI,KAAEskB,EAAO,KAElB,EACgCra,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA+B,UAAI,IAAG,mBAArH7U,EAAS,KAAEuiB,EAAY,OACQta,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAAiC,YAAI,IAAG,mBAA3HrU,EAAW,KAAEgiB,EAAc,OACRva,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA2B,MAAI,IAAG,mBAAzGpa,EAAK,KAAEgoB,EAAQ,OACQxa,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA6B,QAAI,IAAG,mBAA/GpU,EAAO,KAAEiiB,EAAU,OACMza,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA8B,SAAI,IAAG,mBAAlHnU,EAAQ,KAAEiiB,EAAW,OACI1a,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA8B,SAAI,IAAG,mBAAlHlU,EAAQ,KAAEiiB,EAAW,QACsB3a,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAAuC,kBAAI,IAAG,qBAA7IjU,GAAiB,MAAEiiB,GAAoB,SACc5a,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA4C,uBAAI,IAAG,qBAA5JhU,GAAsB,MAAEiiB,GAAyB,SACF7a,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAAyC,oBAAI,IAAG,qBAAnJ/T,GAAmB,MAAEiiB,GAAsB,SACM9a,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA0C,qBAAI,IAAG,qBAAtJ9T,GAAoB,MAAEiiB,GAAuB,SACJ/a,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAAsC,iBAAI,IAAG,qBAA1I7T,GAAgB,MAAEiiB,GAAmB,SACNhb,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAAiC,YAAI,IAAG,qBAA3H5T,GAAW,MAAEiiB,GAAc,SAC8Bjb,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA8C,yBAAI,IAAG,qBAAlK3T,GAAwB,MAAEiiB,GAA2B,SACVlb,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAAuC,kBAAI,IAAIrQ,MAAO,qBAArJrD,GAAiB,MAAEiiB,GAAoB,SACEnb,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAAsC,iBAAI,IAAIrQ,MAAO,qBAAlJpD,GAAgB,MAAEiiB,GAAmB,SACdpb,oBAAS,GAAM,qBAA7BoW,IAAF,MAAY,UAEgBpW,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAAmC,cAAI,IAAG,qBAAjIxT,GAAa,MAAEiiB,GAAgB,SACFrb,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAAgC,WAAI,IAAG,qBAAxHvT,GAAU,MAAEiiB,GAAa,SACNtb,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA2B,MAAI,IAAG,qBAAzGxY,GAAK,MAAEmnB,GAAQ,MAEZhN,GAA4BzO,aAChC,SAACH,GAAK,OAAKA,EAAMkB,kBADb0N,wBAAuB,GAGavO,oBAAS,GAAM,qBAAtDwb,GAAe,MAAEC,GAAkB,SACFzb,oBAAS,GAAM,qBAApC,MAAiB,MACF,OAA5BuO,KAAwD,IAApBiN,KACpCC,IAAmB,GACnB/qB,EAAS4G,eACJnG,MAAK,eACL6T,OAAM,gBAGf,IAAIyR,GAAezW,mBAAS,MAEM,OAA9BJ,EAAMgN,qBACiC,KAAvChN,EAAMgN,oBAA4B,SAElC6J,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,aAGN,OAA9B9W,EAAMgN,qBACiC,KAAvChN,EAAMgN,oBAA4B,SAElC6J,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,WAEN,OAA9B9W,EAAMgN,sBACN6J,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,WACvC,OACqC1W,mBAASyW,IAAa,qBAAvDE,GAAY,MAAEC,GAAe,MAKlC,SAAS8E,KACL9b,EAAM8b,mBAIV,IAAM7E,GAAa,0DACb8E,GAAc,uDA8RI,OACM3b,mBACV,OAAhBH,EAAuBA,EAAsB,SAAI,MACpD,qBAFyB,IAAb,MAAa,MAIQG,mBACd,OAAhBH,EAAuBA,EAAwB,WAAI,KACtD,qBAF6B,IAAf,MAAe,MAIUG,mBACpB,OAAhBH,EAAuBA,EAA2B,cAAI,KACzD,qBAFiB,MAAkB,MA4CpC,OACI,yBAAK4F,UAAU,oBACX,yBAAKA,UAAU,mCACX,yBAAKA,UAAU,gBACX,yBAAKyD,GAAG,qBACJ,yBAAKzD,UAAU,eACX,4BAAI,WACJ,yBAAKA,UAAU,gCACX,yBAAKyD,GAAG,wBACJ,yBAAKzD,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,8BAAM,cAG7C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO6B,EACPykB,UAAW,IACXnN,YAAY,kBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPwN,EAAUxN,EAAEmB,OAAOrZ,OACnBslB,EAAkB,UAAI,MAGL,KAAxBA,EAAkB,UAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAW,KAGpG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,qBAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO8H,EACPwe,UAAW,IACXnN,YAAY,0BACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP4R,EAAe5R,EAAEmB,OAAOrZ,OACxBslB,EAAuB,eAAI,MAGL,KAA7BA,EAAuB,eAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAuB,gBAAW,KAK9G,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,WAI9C,yBAAKA,UAAU,UAEX,2BACI9U,KAAK,OACL8U,UAAU,iBACVmW,OAAO,OACP/R,SAAU,SAAClB,GAAC,OArG/BkT,EAqGoDlT,EAAEmB,OAAO+R,WAlFlFC,MAAMC,KAAKF,GAAOG,SAAQ,SAAAlI,GACtB,IAAMmI,EAAS,IAAIC,WACnBD,EAAOE,cAAcrI,GACrBmI,EAAOG,OAAS,WACZ,IAAIC,EAEJA,EADWJ,EAAOld,OACAF,MAAM,KACxBwb,EAAQgC,EAAW,QA1BP,IAACR,KAsGe,yBAAKpW,UAAU,kBAAiB,wCAGxC,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,aAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACHqR,aAAa,MACbrR,UAAU,aACVyD,GAAG,oBACHzY,MAAOkmB,GACP9M,SAAU,SAAClB,GACPiO,GAAgBjO,IACjBiB,YAAY,aAAasN,QAnblD,CAClB,CAAEzmB,MAAO,IAAKimB,MAAO,YACrB,CAAEjmB,MAAO,IAAKimB,MAAO,eAobO,yBAAKjR,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,mBAG9C,yBAAKA,UAAU,UACX,8BACIqR,aAAa,MACbrR,UAAU,mBACV9U,KAAK,OACLF,MAAOsH,EACPgf,UAAW,IACXzM,MAAO,CAAEpK,OAAQ,QACjB0J,YAAY,eAEZC,SAAU,SAAClB,GACP2R,EAAa3R,EAAEmB,OAAOrZ,OACtBslB,EAAqB,aAAI,MAIL,KAA3BA,EAAqB,aAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAqB,cAAW,KAI1G,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,YAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,QACLF,MAAO+B,EACPukB,UAAW,IACXnN,YAAY,iBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP6R,EAAS7R,EAAEmB,OAAOrZ,OAClBslB,EAAiB,SAAI,MAGL,KAAvBA,EAAiB,SAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAiB,UAAW,KAKlG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,cAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO+H,EACPue,UAAW,IACXnN,YAAY,mBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP8R,EAAW9R,EAAEmB,OAAOrZ,OACpBslB,EAAmB,WAAI,MAGL,KAAzBA,EAAmB,WAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAmB,YAAW,KAItG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,eAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAOgI,EACPse,UAAW,IACXnN,YAAY,oBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP+R,EAAY/R,EAAEmB,OAAOrZ,OACrBslB,EAAoB,YAAI,MAGL,KAA1BA,EAAoB,YAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAoB,aAAW,KAGxG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,eAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAOiI,EACPqe,UAAW,IACXnN,YAAY,oBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPgS,EAAYhS,EAAEmB,OAAOrZ,OACrBslB,EAAoB,YAAI,MAGL,KAA1BA,EAAoB,YAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAoB,aAAW,MAI5G,yBAAK7M,GAAG,wBACJ,yBAAKzD,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,4BAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAU,CACPR,SAAU1I,KAAKyC,MAAM9F,IACrB2Q,SAAU,SAAAvN,GAAI,OAAI6e,GAAqB7e,IACvCggB,mBAAiB,EACjBC,kBAAgB,EAChBC,WAAW,aACX/W,UAAU,iBAItB,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,2BAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAU,CACPR,SAAU1I,KAAKyC,MAAM7F,IACrB0Q,SAAU,SAAAvN,GAAI,OAAI8e,GAAoB9e,IACtCggB,mBAAiB,EACjBC,kBAAgB,EAChBC,WAAW,aACX/W,UAAU,iBAItB,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,2BAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,eACbrR,UAAU,aACVhV,MAAOkI,GACPoe,UAAW,EACXnN,YAAY,iCACZ6S,eAAe,EACfjH,mBAAmB,EACnBC,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,GACRC,cAAe,SAACC,GAEsBA,EAA1BC,eAFgB,IAEArsB,EAAUosB,EAAVpsB,MACxBmqB,GAAqBnqB,GACrBslB,EAA6B,qBAAI,MAEL,KAAnCA,EAA6B,qBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAA6B,sBAAW,KAG1H,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,mCAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrR,UAAU,aACVhV,MAAOmI,GACPme,UAAW,EACX0F,eAAe,EACf7S,YAAY,wCACZ4L,mBAAmB,EACnBC,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,GACRC,cAAe,SAACC,GACsBA,EAA1BC,eADgB,IACArsB,EAAUosB,EAAVpsB,MACxBoqB,GAA0BpqB,GAC1BslB,EAAkC,0BAAI,MAEL,KAAxCA,EAAkC,0BAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAkC,2BAAW,KAIpI,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,mCAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrR,UAAU,aACVhV,MAAOoI,GACPke,UAAW,EACX0F,eAAe,EACf7S,YAAY,wCACZ4L,mBAAmB,EACnBC,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,GACRC,cAAe,SAACC,GACsBA,EAA1BC,eADgB,IACArsB,EAAUosB,EAAVpsB,MACxBqqB,GAAuBrqB,GACvBslB,EAA+B,uBAAI,MAEL,KAArCA,EAA+B,uBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAA+B,wBAAW,KAG9H,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,qCAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrR,UAAU,aACVhV,MAAOqI,GACPie,UAAW,EACXnN,YAAY,2BACZ6S,eAAe,EACfjH,mBAAmB,EACnBC,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,GACRC,cAAe,SAACC,GACsBA,EAA1BC,eADgB,IACArsB,EAAUosB,EAAVpsB,MACxBsqB,GAAwBtqB,GACxBslB,EAAgC,wBAAI,MAEL,KAAtCA,EAAgC,wBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAgC,yBAAW,KAGhI,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,2BAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrR,UAAU,aACVhV,MAAOsI,GACPge,UAAW,EACX0F,eAAe,EACf7S,YAAY,gCACZ4L,mBAAmB,EACnBC,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,GACRC,cAAe,SAACC,GACsBA,EAA1BC,eADgB,IACArsB,EAAUosB,EAAVpsB,MACxBuqB,GAAoBvqB,GACpBslB,EAA4B,oBAAI,MAEL,KAAlCA,EAA4B,oBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAA4B,qBAAW,KAGxH,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,sBAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrR,UAAU,aACVhV,MAAOuI,GACP+d,UAAW,EACX0F,eAAe,EACf7S,YAAY,2BACZ4L,mBAAmB,EACnBC,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,GACRC,cAAe,SAACC,GACsBA,EAA1BC,eADgB,IACArsB,EAAUosB,EAAVpsB,MACxBwqB,GAAexqB,GACfslB,EAAuB,eAAI,MAEL,KAA7BA,EAAuB,eAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAuB,gBAAW,KAG9G,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,0BAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrR,UAAU,aACVhV,MAAOwI,GACP8d,UAAW,EACX0F,eAAe,EACf7S,YAAY,+BACZ4L,mBAAmB,EAGnBmH,OAAQ,GACRC,cAAe,SAACC,GACsBA,EAA1BC,eADgB,IACArsB,EAAUosB,EAAVpsB,MACxByqB,GAA4BzqB,GAC5BslB,EAAoC,4BAAI,MAEL,KAA1CA,EAAoC,4BAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAoC,6BAAW,KAMxI,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,qBAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrR,UAAU,aACVhV,MAAO2I,GACP2d,UAAW,GACX0F,eAAe,EACf7S,YAAY,0BACZ4L,mBAAmB,EACnBC,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,GACRC,cAAe,SAACC,GACsBA,EAA1BC,eADgB,IACArsB,EAAUosB,EAAVpsB,MACxB4qB,GAAiB5qB,GACjBslB,EAAyB,iBAAI,MAEL,KAA/BA,EAAyB,iBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAyB,kBAAW,KAKlH,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,gBAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrR,UAAU,aACVhV,MAAO4I,GACP0d,UAAW,GACX0F,eAAe,EACf7S,YAAY,6BACZ4L,mBAAmB,EAGnBmH,OAAQ,GACRC,cAAe,SAACC,GACsBA,EAA1BC,eADgB,IACArsB,EAAUosB,EAAVpsB,MACxB6qB,GAAc7qB,GACdslB,EAAoB,YAAI,MAEL,KAA1BA,EAAoB,YAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAoB,aAAW,KAKxG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,YAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrR,UAAU,aACVhV,MAAO2D,GACP2iB,UAAW,GACX0F,eAAe,EACf7S,YAAY,iBACZ4L,mBAAmB,EACnBC,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,GACRC,cAAe,SAACC,GACsBA,EAA1BC,eADgB,IACArsB,EAAUosB,EAAVpsB,MACxB8qB,GAAS9qB,GACTslB,EAAiB,SAAI,MAEL,KAAvBA,EAAiB,SAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAiB,UAAW,MAKtG,yBAAKtQ,UAAU,yBACX,yBAAKA,UAAU,aAAagD,QA31B5D,WACI,IAAI6O,GAAQ,EAGE,IAAVhlB,IACAyjB,EAAkB,UAAI,iBACtBuB,GAAQ,GAEPT,GAAWU,KAAKjlB,KACjByjB,EAAkB,UAAI,sBACtBuB,GAAQ,GAGO,IAAf/e,IACAwd,EAAuB,eAAI,yBAC3BuB,GAAQ,GAEPqE,GAAYpE,KAAKhf,KAClBwd,EAAuB,eAAI,mCAC3BuB,GAAQ,GAWC,IAAT9kB,GAAgB,2CAA2C+kB,KAAK/kB,KAChEujB,EAAiB,SAAI,qCACrBuB,GAAQ,GAEG,IAAX9e,IACAud,EAAmB,WAAI,kBACvBuB,GAAQ,GAEPqE,GAAYpE,KAAK/e,KAClBud,EAAmB,WAAI,sBACvBuB,GAAQ,GAEI,IAAZ7e,IACAsd,EAAoB,YAAI,mBACxBuB,GAAQ,GAGPqE,GAAYpE,KAAK9e,KAClBsd,EAAoB,YAAI,sBACxBuB,GAAQ,GAEI,IAAZ5e,IACAqd,EAAoB,YAAI,mBACxBuB,GAAQ,GAEPqE,GAAYpE,KAAK7e,KAClBqd,EAAoB,YAAI,sBACxBuB,GAAQ,GAEa,IAArB3e,KACAod,EAA6B,qBAAI,gCACjCuB,GAAQ,GAGZtB,EAAUD,GACVK,IAAW,GACNkB,IAGoB,MAArBpe,GAUoB,MAApBC,GAWAP,IAA0B,EAC1B5F,sBAAoB3B,MAChB,iDACA,UACA,KACA,cACA,GAIoB,IAAxBuH,GAWuB,IAAvBC,IAAoD,GAAvBA,GAYL,IAAxBC,IAAsD,GAAxBA,GAoDH,IAA3BG,IAA6D,GAA5BA,GAYhB,IAAjBG,GAUc,IAAdC,GAUS,IAATjF,IAaJ1D,EACI4H,YACItH,EACAsB,EACAyD,EACAgC,EACA4e,GAAoB,MACpB9W,EAAoB,OACpBtH,EACA/F,EACAgG,EACAC,EACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAjF,GACA,IACA,GACA,GACA,MACA,KAGHjD,MAAK,eAKL6T,OAAM,eAGXpF,EAAMkG,YAAYzI,YAAmB,qBAErCqe,KACAhnB,QAAQC,IAAI,aAAe3D,GAC3B0D,QAAQC,IAAI,UAAYrC,GACxBoC,QAAQC,IAAI,QAAUoB,GACtBrB,QAAQC,IAAI,aAAeoD,GAC3BrD,QAAQC,IAAI,UAAYgiB,GAAoB,OAC5CjiB,QAAQC,IAAI,WAAakL,EAAoB,QAC7CnL,QAAQC,IAAI,eAAiB4D,GAC7B7D,QAAQC,IAAI,OAASnC,GACrBkC,QAAQC,IAAI,WAAa6D,GACzB9D,QAAQC,IAAI,YAAc8D,GAC1B/D,QAAQC,IAAI,YAAc+D,GAC1BhE,QAAQC,IAAI,kBAAoBgE,IAChCjE,QAAQC,IAAI,wBAA0BiE,IACtClE,QAAQC,IAAI,mBAAqBkE,IACjCnE,QAAQC,IAAI,2BAA6BmE,IACzCpE,QAAQC,IAAI,eAAiBoE,IAC7BrE,QAAQC,IAAI,gBAAkBqE,IAC9BtE,QAAQC,IAAI,6BAA+BsE,KAxEvCjG,sBAAoB3B,MAChB,+BACA,UACA,KACA,cACA,GAfJ2B,sBAAoB3B,MAChB,+CACA,UACA,KACA,cACA,GAfJ2B,sBAAoB3B,MAChB,yBACA,UACA,KACA,cACA,GAjBJ2B,sBAAoB3B,MAChB,2BACA,UACA,KACA,cACA,GAzDJ2B,sBAAoB3B,MAChB,yCACA,UACA,KACA,cACA,GAjBJ2B,sBAAoB3B,MAChB,kCACA,UACA,KACA,cACA,GAhBJ2B,sBAAoB3B,MAChB,uCACA,UACA,KACA,cACA,GA1BJ2B,sBAAoB3B,MAChB,kCACA,UACA,KACA,cACA,GAfJ2B,sBAAoB3B,MAChB,mCACA,UACA,KACA,cACA,MAgxBsE,WAE3C,IACP,yBAAKoU,UAAU,cAAcgD,QAASiT,IAAkB,mBCzzB7Ehc,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EArImB,SAACE,GACDE,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KADkC,IAElC6P,EAA+BtP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAA5DuO,2BAA0B,EAC0CpP,oBAAS,GAAK,mBAArF+c,EAA+B,KAAEC,EAAkC,OAChChd,mBAAS,IAAG,mBAA/C2E,EAAa,KAAEC,EAAgB,OACJ5E,mBAAS,CAAgC,OAA/BoP,EAAsCA,EAA6B,KAAI,mBAA5GvK,EAAS,KAAEC,EAAY,KAEO,OAA/BsK,GAAuCA,GAA8BvK,GAA+B,KAAlBF,GAClFG,EAAasK,GAGjB,IAAM6N,EAAiC,WACnCrd,EAAMsd,6BAIJxsB,GAFiBsP,mBAAS,WAChBA,mBAAS,YACRK,gBACuB,IAApC0c,IACAC,GAAmC,GACnCtsB,EAAS2E,YAA4BuK,EAAMud,wBACtChsB,MAAK,eAEL6T,OAAM,gBAGftQ,QAAQC,IAAI,cAAgBiL,EAAMud,uBAClCzoB,QAAQC,IAAI,0BACZD,QAAQC,IAAIya,GAEZ,IACMgO,EAAU,SAAAnY,GAAQ,OAAIoY,OAAOC,KAAKrY,GAAU+D,KAAI,SAAAE,GAAE,OAAS,EAALA,MAkB3D,MAI+BlJ,mBAAS,CAAEud,GAAG,IAAO,mBAA9CtY,EAAQ,KAAEC,EAAW,KAEtB0F,EAAoB0H,uBAAY,YAAmB,IAAhBrN,EAAQ,EAARA,SACrCC,EAAYD,KACb,IA2BH,OACI,yBAAKQ,UAAU,oBACX,yBAAKA,UAAU,+BACX,yBAAKA,UAAU,0BACX,yBAAKyD,GAAG,qBACJ,4BAAI,wBAGJ,yBAAKzD,UAAU,kCACX,yBAAKA,UAAU,wDACX,yBAAKA,UAAU,0BACX,yBAAKA,UAAU,cACX,yBAAKA,UAAU,aACX,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GACtE/D,EAAiB+D,EAAEmB,OAAOrZ,OA1DtE,SAAwBsZ,EAAMpF,GAE1BG,EAAaiF,EAAK7N,QAAO,SAAU8N,GAC/B,QACIA,EAAY,MAAEC,cAAcC,SAASvF,EAAcwF,yBAuDnBC,CAA8C,OAA/BgF,EAAsCA,EAA6B,GAAIzG,EAAEmB,OAAOrZ,UAEnG,uBAAGgV,UAAU,qBAIzB,kBAAC,IAAQ,CACL4E,WAAW,QACXpF,SAAUA,EACVuY,gBAAc,EACd5S,kBAAmBA,EACnBN,MAhFd,CAAErK,UAAW,QAASC,OAAQ,OAAQud,OAAQ,IAiFhCtY,QA/ElB,CAEV,CAAEC,KAAM,QAASC,OAAQ,KAAMqY,gBAAgB,EAAOrF,aAAc,GAAI1nB,KAAM,UAC9E,CAAEyU,KAAM,QAASC,OAAQ,WAAYC,YAAa,EAAGC,eAAgB,QAAS8S,aAAc,MA6EhE3N,WAAY7F,EACZ8F,MAAM,gBAId,yBAAKlF,UAAU,yBAEX,yBAAKA,UAAU,aAAagD,QA5DxD,WAEI/X,EAASyE,YACLyK,EAAMud,sBACNC,EAAQnY,GAAUzT,aACnBL,MAAK,eAEL6T,OAAM,eAETtQ,QAAQC,IAAI,qBACZD,QAAQC,IAAIiL,EAAM2T,sBAClB7e,QAAQC,IAAIyoB,EAAQnY,GAAUzT,YAE9ByrB,MA+C0E,WAE3C,IACP,yBAAKxX,UAAU,cAAcgD,QAASwU,GAAgC,kBC6HvFvd,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAjPQ,SAACE,GACpB,IAAMlP,EAAW2P,cAAc,EACFL,mBAASJ,EAAMe,oBAGY,GAHO,iBAAtC,GAI8Bb,aAAY,SAACH,GAAK,OAAKA,EAAMkB,mBAA5EsO,EAAmB,EAAnBA,oBAAqBE,EAAqB,EAArBA,sBAAqB,EACpBrP,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA+B,UAAI,MAAhHuQ,EAAqH,iBAAhG,KACJnd,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA4B,OAAI,IAArG+Q,EAAwG,iBAA3F,GAClB,EAC8D3d,mBAAS,IAAG,mBAArE4d,EAAwB,KAAEC,EAA2B,OACR7d,oBAAS,GAAM,mBAA5D8d,EAAkB,KAAEC,EAAqB,MAEnB,IAAvBD,IACAC,GAAsB,GACtBrtB,EAASwE,YAAqBioB,IACzBhsB,MAAK,eAEL6T,OAAM,gBAKf,MACwChF,mBAAS,IAAG,mBAA/C2E,EAAa,KAAEC,EAAgB,OACJ5E,mBAAS,CAAyB,OAAxBmP,EAA+BA,EAAsB,KAAI,mBAA9FtK,EAAS,KAAEC,EAAY,KAEA,OAAxBqK,GAAgCA,GAAuBtK,GAA+B,KAAlBF,GACpEG,EAAaqK,GAsHjB,IAAIhK,EAAU,CAGV,CAAEC,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UAC3J,CAAEJ,KAAM,MAAOC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,QAAY7O,YAAa,EAAGC,eAAgB,MAAMG,OAAQ,YAAO,OA1B1J,SAAgBsY,GACZ,OAAQA,GACJ,IAAK,aACD,MAAO,gBACX,IAAK,aACD,MAAO,oBACX,IAAK,YACD,MAAO,eACX,IAAK,iBACD,MAAO,YACX,IAAK,gBACD,MAAO,mBACX,IAAK,mBACD,MAAO,yBACX,IAAK,mBACD,MAAO,sBAIf,MAAO,GAOsJC,CAAP,EAAJ7sB,KAA4B,MAAIoU,YAAa,UAC/L,CAAEJ,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAOG,OAAQ,YAAO,OAvGjK,SAAsBpR,GAClB,OAAQA,GACJ,IAAK,IACD,MAAO,SAEf,MAAO,WAkG6J6kB,CAAP,EAAJ/nB,KAAqC,SAAIoU,YAAa,UAC/M,CAAEJ,KAAM,gBAAiBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAuB7O,YAAa,EAAGC,eAAgB,MAAOG,OAAQ,gBAAGtU,EAAI,EAAJA,KAAI,OAAOgL,YAAehL,EAAoB,gBAAIoU,YAAa,WAIrO0N,EAAuBZ,uBAAY,SAACC,EAAU,GAAmB,IAAhBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CAEd,CACIgE,MAAO,WACPjO,QAAS,WACL0P,uBAAa,CACTlD,MAAO,mBACP3jB,QAAS,8BACT8mB,QAAS,CACL,CACI1B,MAAO,KACPjO,QAAS,WACL/X,EAASqE,YAAwByd,EAASphB,KAAuB,iBAAG+rB,IAC/DhsB,MAAK,eAGL6T,OAAM,iBAGnB,CACI0R,MAAO,KACPjO,QAAS,sBASlC,IACH,OACI,yBAAKhD,UAAW,CAAC,WAAY,WAAW3G,KAAK,MACzC,yBAAK2G,UAAW,CAAC,gBAA0C,IAA1B4J,EAAiC,cAAgB,IAAIvQ,KAAK,MAAM,yBAAK2G,UAAU,aAClF,SAA7BmY,EAAsC,kBAAC,EAAyB,CAACV,0BAnJ1E,WACIW,EAA4B,KAkJgGV,sBAAuBA,IAA4B,GAC3K,yBAAK1X,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,UAEA,yBAAKA,UAAU,mBACX,kBAAC,IAAI,CAAC8S,WAAY,kBAAC,IAAU,KAAC,uBAAG9S,UAAU,iBACvC,kBAAC,IAAQ,CAACgD,QA7JtC,WACIoV,EAA4B,UA4JyC,uBAAGpY,UAAU,wBAA0B,kBAKhG,yBAAKA,UAAU,qBAAoB,WAASkY,EAAc3G,cACtD,yBAAKvR,UAAU,cACX,yBAAKA,UAAU,aAEX,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GACtE/D,EAAiB+D,EAAEmB,OAAOrZ,OAnL1D,SAAwBsZ,EAAMpF,GAE1BG,EAAaiF,EAAK7N,QAAO,SAAU8N,GAC/B,QAAIA,EAAa,OAAEC,cAAcC,SAASvF,EAAcwF,yBAiLhCC,CAAuC,OAAxB+E,EAA+BA,EAAsB,GAAIxG,EAAEmB,OAAOrZ,UAChF,uBAAGgV,UAAU,qBAI9B,kBAAC,IAAQ,CACL4E,WAAW,YACXC,MApNF,CAAErK,UAAW,QAASC,OAAQ,QAsN5BiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAEV,yBAAKlF,UAAU,gBACf,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAAcgD,QAAS7I,EAAMse,qBAAqB,gBCjE1Exe,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EArKC,SAACE,GACb,IAAMlP,EAAW2P,cACqC,EAChBP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAA5DoN,EAAY,EAAZA,aAAaE,EAAc,EAAdA,eACpBzZ,QAAQC,IAAI,iBAAkBwZ,GAAe,MAChBnO,mBAASJ,EAAMe,oBAAvC4S,EAA0D,iBAAtC,KAC0BvT,mBAAS,MAAK,mBAA5D4M,EAAmB,KAACuR,EAAsB,OACEne,mBAAS,IAAG,mBAAxDoe,EAAkB,KAACC,EAAqB,OACDre,mBAAS,IAAG,mBAAnDse,EAAe,KAAEC,EAAkB,OACJve,oBAAS,GAAM,mBAA9Cwe,EAAW,KAAEC,EAAc,MAEf,IAAdD,IACCC,GAAe,GACf/tB,EAAS2H,YAAc,IAAI,GAAG,GAAG,MAAM,KACtClH,MAAK,eAEL6T,OAAM,gBAGV,MAEuChF,mBAAS,IAAG,mBAA/C2E,EAAa,KAAEC,EAAgB,OACJ5E,mBAAS,CAAgB,OAAfiO,EAAoBA,EAAa,KAAI,mBAA1EpJ,EAAS,KAAEC,EAAY,KAEV,OAAfmJ,GAAuBA,GAAcpJ,GAA6B,KAAhBF,GACjDG,EAAamJ,GAkCjB,IAAI9I,EAAS,CAGT,CAAEC,KAAM,SAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UAC1J,CAAEJ,KAAM,cAAcC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAoB7O,YAAa,EAAGC,eAAgB,QAAQ8S,aAAc,IAAK7S,YAAa,UACxL,CAAEJ,KAAM,SAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAMG,OAAQ,YAAO,OAZ/J,SAAsBpR,GACxB,OAAOA,GACN,IAAK,IACJ,MAAO,SAET,MAAO,WAOiK6kB,CAAP,EAAJ/nB,KAAqC,SAAIoU,YAAa,UAC7M,CAAEJ,KAAM,QAAQC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,UAAc7O,YAAa,EAAGC,eAAgB,QAAQ8S,aAAc,IAAK7S,YAAa,WAE1K0N,EAAuBZ,uBAAY,SAACC,EAAU,GAAoB,IAAjBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CAClB,CACIgE,MAAO,WACPjO,QAAQ,WACJ0V,EAAuB3L,EAASphB,MAChCitB,EAAsB,QACtB3pB,QAAQC,IAAI6d,EAASphB,QAG7B,CACIslB,MAAO,SACPjO,QAAQ,WACJ0V,EAAuB3L,EAASphB,MAChCmtB,EAAmB,QACnB7pB,QAAQC,IAAI6d,EAASphB,QAG7B,CACAslB,MAAO,WACHjO,QAAQ,WACJ0P,uBAAa,CACTlD,MAAO,mBACP3jB,QAAS,8BACT8mB,QAAS,CACP,CACE1B,MAAO,KACPjO,QAAS,WACN/X,EAASyH,YAAiBqa,EAASphB,KAAgB,YACjDD,MAAK,eAGL6T,OAAM,iBAGb,CACE0R,MAAO,KACPjO,QAAS,sBAS1B,IACL,OACE,yBACEhD,UAAW,CACT,WACA,WACA3G,KAAK,MAER,yBAAK2G,UAAW,CAAC,gBACd,IAD6B0I,EACxB,cAAc,IAAIrP,KAAK,MAAM,yBAAK2G,UAAU,aAChC,SAAlB6Y,EAA2B,kBAAC,EAAa,CAC1CxY,YAAalG,EAAMkG,YACnB4V,iBAhFF,WACI6C,EAAmB,KAgFrB3R,oBAAqBA,IAA2B,GAC1B,SAArBwR,EAA8B,kBAAC,EAAc,CAACF,oBA/EjD,WACIG,EAAsB,KA8EiE1d,mBAAoB4S,EAAuB3G,oBAAqBA,IAA2B,GAClL,yBAAKnH,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,UAEA,yBAAKA,UAAU,mBACX,kBAAC,IAAI,CAAC8S,WAAY,kBAAC,IAAU,KAAC,uBAAG9S,UAAU,iBACvC,kBAAC,IAAQ,CAACgD,QA9FlC,WACI0V,EAAuB,MACvBI,EAAmB,UA4FoC,uBAAG9Y,UAAU,wBAA0B,YAItF,yBAAKA,UAAU,qBAAoB,UAAO,yBAAKA,UAAU,cAAa,yBAAKA,UAAU,aAAY,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GACzK/D,EAAiB+D,EAAEmB,OAAOrZ,OAjHxC,SAAwBsZ,EAAKpF,GAEzBG,EAAaiF,EAAK7N,QAAO,SAAS8N,GAC9B,SAAIA,EAAa,OAAEC,cAAcC,SAASvF,EAAcwF,sBACpDH,EAAkB,YAAEC,cAAcC,SAASvF,EAAcwF,sBACzDH,EAAY,MAAEC,cAAcC,SAASvF,EAAcwF,sBACnDH,EAAa,OAAEC,cAAcC,SAASvF,EAAcwF,0BA4GlDC,CAA8B,OAAf6D,EAAoBA,EAAa,GAAGtF,EAAEmB,OAAOrZ,UAC1D,uBAAGgV,UAAU,qBACjB,kBAAC,IAAQ,CACL4E,WAAW,YACXC,MA/IE,CAAErK,UAAW,QAAQC,OAAO,QAgJ9BiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAEV,yBAAKlF,UAAU,gBACf,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAAegD,QArH9C,WACI7I,EAAMiI,sBAoH2D,iB,uMCyV1DnI,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAxfM,SAACE,GAClB,IAAMlP,EAAW2P,cACHR,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAAI,EACcS,mBAAS,CAAE,eAAkB,IAAM,CAAE,aAAgB,IAAM,CAAE,gBAAmB,IAAM,CAAE,sBAAyB,IAAM,CAAE,mBAAsB,IAAM,CAAE,oBAAuB,IAAM,CAAE,gBAAmB,IAAM,CAAE,qBAAwB,IAAM,CAAE,qBAAwB,KAAK,mBAAnS+V,EAAM,KAAEC,EAAS,OACQhW,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAA6B,SAAI,MAAK,mBAAlHhP,EAAQ,KAAa,QACYqO,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAiC,aAAI,KAAG,mBAA5H7K,EAAY,KAAE4oB,EAAe,OACZ1e,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAyB,KAAI,IAAG,mBAApG5K,EAAI,KAAS,QACUiK,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAA4B,QAAI,KAAG,mBAA7G/K,EAAO,KAAE+oB,EAAU,OAEY3e,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAuC,mBAAI,IAAIpE,MAAO,mBAAxIrG,EAAW,KAAE0oB,EAAc,OACE5e,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAsC,kBAAI,IAAIpE,MAAO,mBAArInG,EAAU,KAAEyoB,EAAa,OACF7e,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAmC,eAAI,IAAIpE,MAAO,mBAA5HpG,EAAO,KAAE2oB,EAAU,OACc9e,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAwC,oBAAI,IAAIpE,MAAO,mBAA3IlG,EAAY,KAAE0oB,EAAe,OACM/e,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAkC,cAAI,IAAIpE,MAAO,mBAAxG,GAAlB,KAAkB,KACEyD,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAiC,aAAI,IAAIpE,OAAO,mBAApItG,EAAY,KAAE+oB,EAAe,OACchf,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAsC,kBAAI,IAAIpE,MAAO,mBAA5G,GAAtB,KAAsB,KACIyD,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAsC,kBAAI,IAAIpE,OAAO,oBAA5G,IAAtB,MAAsB,MACMyD,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAuC,mBAAI,KAAG,qBAA9IrK,GAAkB,MAAE2oB,GAAqB,SACFjf,mBAAsC,OAA7BJ,EAAMe,mBAA8Bf,EAAMe,mBAAoC,gBAAI,IAAG,qBAArIpK,GAAe,MAAE2oB,GAAkB,SACZlf,oBAAS,GAAM,qBAA7BoW,IAAF,MAAY,OACpB+I,GAAkBnf,mBAAS,MACvBgR,GAA4BlR,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAzDmQ,wBAAuB,GACahR,oBAAS,GAAM,qBAAtDof,GAAe,MAAEC,GAAkB,OAEhB,IAApBD,IAAyD,OAA5BpO,KAC7BqO,IAAmB,GACnB3uB,EAASyK,eACJhK,MAAK,eAEL6T,OAAM,gBAMkB,OAA7BpF,EAAMe,oBAA0E,KAA3Cf,EAAMe,mBAAgC,cAC3Ewe,GAAkB,CAAE1uB,MAAO,IAAKimB,MAAO,YAEV,OAA7B9W,EAAMe,oBAA0E,KAA3Cf,EAAMe,mBAAgC,cAC3Ewe,GAAkB,CAAE1uB,MAAO,IAAKimB,MAAO,mBAEV,OAA7B9W,EAAMe,oBAA0E,KAA3Cf,EAAMe,mBAAgC,cAC3Ewe,GAAkB,CAAE1uB,MAAO,IAAKimB,MAAO,WAEV,OAA7B9W,EAAMe,qBACNwe,GAAkB,CAAE1uB,MAAO,IAAKimB,MAAO,YAC1C,OAC+B1W,mBAASmf,IAAgB,qBAApDG,GAAS,MAAEC,GAAY,MAExB9I,GAAezW,mBAAS,MACK,OAA7BJ,EAAMe,oBAAqE,KAAtCf,EAAMe,mBAA2B,SACtE8V,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,aAEP,OAA7B9W,EAAMe,oBAAqE,KAAtCf,EAAMe,mBAA2B,SACtE8V,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,WAEP,OAA7B9W,EAAMe,qBACN8V,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,WACvC,OACqC1W,mBAASyW,IAAa,qBAAvDE,GAAY,MAAEC,GAAe,MAKlC,SAAS4I,KACL5f,EAAM4f,kBAGV,IAAM7D,GAAc,uDAyHI,OACM3b,mBACV,OAAhBH,EAAuBA,EAAsB,SAAI,MACpD,qBAFyB,IAAb,MAAa,MAIQG,mBACd,OAAhBH,EAAuBA,EAAwB,WAAI,KACtD,qBAF6B,IAAf,MAAe,MAIUG,mBACpB,OAAhBH,EAAuBA,EAA2B,cAAI,KACzD,qBAFiB,MAAkB,MA0BpC,OACI,yBAAK4F,UAAU,oBACX,yBAAKA,UAAU,yCACX,yBAAKA,UAAU,gBACX,yBAAKyD,GAAG,qBACJ,yBAAKzD,UAAU,eACX,4BAAI,UAGJ,yBAAKA,UAAU,gCACX,yBAAKyD,GAAG,wBACJ,yBAAKzD,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,oBAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAU,CACPR,SAAU1I,KAAKyC,MAAM/I,GACrB4T,SAAU,SAAAvN,GAAI,OAAI0iB,EAAgB1iB,IAClCggB,mBAAiB,EACjBC,kBAAgB,EAChBC,WAAW,aACX/W,UAAU,iBAItB,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,oBAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAOqF,EACPihB,UAAW,IACXnN,YAAY,yBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP+V,EAAgB/V,EAAEmB,OAAOrZ,OACzBslB,EAAwB,gBAAI,MAGL,KAA9BA,EAAwB,gBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAwB,iBAAW,KAIhH,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,2BAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO6F,GACPygB,UAAW,IACXnN,YAAY,yBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPsW,GAAsBtW,EAAEmB,OAAOrZ,OAC/BslB,EAA8B,sBAAI,MAGL,KAApCA,EAA8B,sBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAA8B,uBAAW,KAI5H,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,uBAG9C,yBAAKA,UAAU,UACX,2BACCqR,aAAa,MACVnmB,KAAK,OACLF,MAAO8F,GACPwgB,UAAW,IACXnN,YAAY,4BACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPuW,GAAmBvW,EAAEmB,OAAOrZ,OAC5BslB,EAA2B,mBAAI,MAGL,KAAjCA,EAA2B,mBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAA2B,oBAAW,KAMtH,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,gBAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACHqR,aAAa,MACbrR,UAAU,aAAayD,GAAG,oBAC1BzY,MAAO6uB,GACPzV,SAAU,SAAClB,GACP4W,GAAa5W,IACdiB,YAAY,aACfsN,QAASlG,OAIrB,yBAAKvL,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,WAG9C,yBAAKA,UAAU,UAEX,2BAAO9U,KAAK,OAAO8U,UAAU,iBAAiBga,UAAQ,EAAC5V,SAAU,SAAClB,GAAC,OA5IlFkT,EA4IuGlT,EAAEmB,OAAO+R,WA3IrIC,MAAMC,KAAKF,GAAOG,SAAQ,SAAAlI,GACtB,IAAMmI,EAAS,IAAIC,WACnBD,EAAOE,cAAcrI,GACrBmI,EAAOG,OAAS,WACZ,IAAIC,EAEJA,EADWJ,EAAOld,OACAF,MAAM,KACxB8f,EAAWtC,EAAW,QARV,IAACR,KA6Ie,yBAAKpW,UAAU,kBAAiB,yCAI5C,yBAAKyD,GAAG,wBACJ,yBAAKzD,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,aAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACPqR,aAAa,MACbrR,UAAU,aACVyD,GAAG,oBACHzY,MAAOkmB,GACP9M,SAAU,SAAClB,GACPiO,GAAgBjO,IACjBiB,YAAY,aAAasN,QArT9C,CAClB,CAAEzmB,MAAO,IAAKimB,MAAO,YACrB,CAAEjmB,MAAO,IAAKimB,MAAO,eAsTO,yBAAKjR,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,uBAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAU,CACPR,SAAU1I,KAAKyC,MAAM9I,GACrB2T,SAAU,SAACvN,GACPsiB,EAAetiB,IAGnBggB,mBAAiB,EACjBC,kBAAgB,EAChBmD,gBAAc,EAGdC,cAAe,EACfC,YAAY,OACZpD,WAAW,QACX/W,UAAU,aACVoa,WAAW,YAMvB,yBAAKpa,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,sBAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAU,CACPR,SAAU1I,KAAKyC,MAAM7I,GAErB0T,SAAU,SAACvN,GACPwiB,EAAWxiB,GACXyZ,EAAwB,gBAAI,IAEhCuG,mBAAiB,EACjBC,kBAAgB,EAChBmD,gBAAc,EAGdC,cAAe,EACfC,YAAY,OACZpD,WAAW,QACX/W,UAAU,aACVoa,WAAW,UAEgB,KAA9B9J,EAAwB,gBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAwB,iBAAW,KAGhH,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,8BAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAU,CACPR,SAAU1I,KAAKyC,MAAM3I,GACrBwT,SAAU,SAACvN,GACPyiB,EAAgBziB,GAChByZ,EAA6B,qBAAI,IAErCuG,mBAAiB,EACjBC,kBAAgB,EAChBmD,gBAAc,EAIdC,cAAe,EACfC,YAAY,OACZpD,WAAW,QACX/W,UAAU,aACVoa,WAAW,UAEqB,KAAnC9J,EAA6B,qBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAA6B,sBAAW,KAG1H,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,8BAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAU,CACPR,SAAU1I,KAAKyC,MAAM5I,GACrByT,SAAU,SAACvN,GACPuiB,EAAcviB,GACdyZ,EAA6B,qBAAI,IAErCuG,mBAAiB,EACjBC,kBAAgB,EAChBmD,gBAAc,EAGdC,cAAe,EACfC,YAAY,OACZpD,WAAW,QACX/W,UAAU,aACVoa,WAAW,UAEqB,KAAnC9J,EAA6B,qBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAA6B,sBAAW,OAOlI,yBAAKtQ,UAAU,yBACX,yBAAKA,UAAU,aAAagD,QAlaxD,WACI,IAAI6O,GAAQ,EA0BZ,MAvBoB,IAAhBxhB,IACAigB,EAAwB,gBAAI,iBAC5BuB,GAAQ,GAOc,IAAtBhhB,KACAyf,EAA8B,sBAAI,uBAClCuB,GAAQ,GAEW,IAAnB/gB,KACAwf,EAA2B,mBAAI,iBAC/BuB,GAAQ,GAGPqE,GAAYpE,KAAKhhB,MAClBwf,EAA2B,mBAAI,sBAC/BuB,GAAQ,GAGR/a,KAAKyC,MAAM7I,IAAYoG,KAAKyC,MAAM9I,IAEnCohB,GAAQ,OACPtkB,sBAAoB3B,MAChB,mCACA,UACA,KACA,cACA,IAMJkL,KAAKyC,MAAM3I,IAAiBkG,KAAKyC,MAAM7I,IAEvCmhB,GAAQ,OACPtkB,sBAAoB3B,MACjB,2CACA,UACA,KACA,cACA,IAOJkL,KAAKyC,MAAM5I,GAAcmG,KAAKyC,MAAM3I,IAEpCihB,GAAQ,OACRtkB,sBAAoB3B,MAChB,2CACA,UACA,KACA,cACA,KAMR2kB,EAAUD,GACVK,IAAW,QACNkB,IAGL5mB,EACIiF,YACIhE,EACAiE,EACA0pB,GAAiB,MACjBxpB,EACAC,EACA4gB,GAAoB,MACpB9W,EAAoB,OACpB5J,EACAC,EACAC,EACAC,EACAC,EACAC,GACAC,GACA,IACA,GACA,GACA,MACA,KAGHpF,MAAK,eAGL6T,OAAM,eAEXwa,KACA9qB,QAAQC,IAAIhD,GACZ+C,QAAQC,IAAI2qB,GAAiB,OAC7B5qB,QAAQC,IAAImB,GACZpB,QAAQC,IAAIoB,GACZrB,QAAQC,IAAIgiB,GAAoB,OAChCjiB,QAAQC,IAAIkL,EAAoB,QAChCnL,QAAQC,IAAIsB,GACZvB,QAAQC,IAAIuB,GACZxB,QAAQC,IAAIyB,GACZ1B,QAAQC,IAAIwB,GACZzB,QAAQC,IAAI0B,GACZ3B,QAAQC,IAAI2B,IACZ5B,QAAQC,IAAI4B,SA8S8D,WAE3C,IACP,yBAAKkP,UAAU,cAAcgD,QAAS+W,IAAiB,kBCpYxE9f,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAtGmB,SAACE,GAAW,IAC5BC,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KACDwQ,EAA6BjQ,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAA1DkP,0BAAyB,EACoC/P,oBAAS,GAAK,mBAAhF8f,EAA6B,KAACC,EAAgC,KAE1DC,EAAgC,WAClCpgB,EAAMqgB,4BAIJvvB,GAFmBsP,mBAAS,WAChBA,mBAAS,YACVK,gBACkB,IAAhCyf,IACLC,GAAiC,GAC3BrvB,EAAS2C,YAA2BuM,EAAM2T,uBACzCpiB,MAAK,eAEL6T,OAAM,gBAKX,IASC,EAG+BhF,mBAAS,CAAGud,GAAE,IAAO,mBAA9CtY,EAAQ,KAAEC,EAAW,KAEtB0F,EAAoB0H,uBAAY,YAAmB,IAAhBrN,EAAQ,EAARA,SACrCC,EAAYD,KACb,IA0BH,OACJ,yBAAKQ,UAAU,oBACX,yBAAKA,UAAU,+BACX,yBAAKA,UAAU,0BACX,yBAAKyD,GAAG,qBACJ,4BAAI,wBAGJ,yBAAKzD,UAAU,kCACX,yBAAKA,UAAU,wDACf,kBAAC,IAAQ,CACL4E,WAAW,QACXpF,SAAUA,EACVuY,gBAAc,EACd5S,kBAAmBA,EACnBN,MAzDF,CAAErK,UAAW,QAASC,OAAO,OAAQud,OAAQ,IA0D3CtY,QAxDP,CAET,CAAEC,KAAM,QAASC,OAAQ,KAAMqY,gBAAgB,EAAOrF,aAAc,GAAI1nB,KAAM,UAC9E,CAAEyU,KAAM,QAAQC,OAAQ,WAAYC,YAAa,EAAGC,eAAgB,QAAQ8S,aAAc,MAsD1E3N,WAAwC,OAA5BqF,EAAiCA,EAA0B,GACvEpF,MAAM,gBAIV,yBAAKlF,UAAU,yBAEX,yBAAKA,UAAU,aAAagD,QAhDhD,WAEG/X,EAASwC,YACJ0M,EAAM2T,qBApBE,SAAAtO,GAAQ,OAAIoY,OAAOC,KAAKrY,GAAU+D,KAAI,SAAAE,GAAE,OAAS,EAALA,KAqBpDkU,CAAQnY,GAAUzT,WAClBqO,EAAoB,SACjB1O,MAAK,eAEJ6T,OAAM,eAIdgb,MAoCkE,WAE3C,IACP,yBAAKva,UAAU,cAAcgD,QAASuX,GAA+B,kBC+C1EtgB,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAtIG,SAACE,GACnB,IAAMlP,EAAW2P,cACqC,EACJP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAxEiP,EAAkB,EAAlBA,mBAAmBE,EAAoB,EAApBA,qBAAoB,EACjBhQ,mBAAsC,OAA7BJ,EAAMe,mBAA6Bf,EAAMe,mBAA6B,SAAG,MAA1G4S,EAA+G,iBAA3F,KACmCvT,mBAAS,IAAG,mBAAnEkgB,EAAuB,KAAEC,EAA0B,OACRngB,oBAAS,GAAM,mBAA1DyT,EAAiB,KAAEC,EAAoB,MAErB,IAApBD,IACCC,GAAqB,GACrBhjB,EAASqC,YAAoBwgB,IAC5BpiB,MAAK,eAEL6T,OAAM,gBAGV,MACuChF,mBAAS,IAAG,mBAA/C2E,EAAa,KAAEC,EAAgB,OACJ5E,mBAAS,CAAsB,OAArB8P,EAA0BA,EAAmB,KAAI,mBAAtFjL,EAAS,KAAEC,EAAY,KAEJ,OAArBgL,GAA6BA,GAAoBjL,GAA6B,KAAhBF,GAC7DG,EAAagL,GA2BjB,IAAI3K,EAAS,CAGT,CAAEC,KAAM,SAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAQC,YAAa,UAC3J,CAAEJ,KAAM,SAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAMG,OAAQ,YAAO,OAX/J,SAAsBpR,GACxB,OAAOA,GACN,IAAK,IACJ,MAAO,SAET,MAAO,WAMiK6kB,CAAP,EAAJ/nB,KAAqC,SAAIoU,YAAa,UAC7M,CAAEJ,KAAM,gBAAgBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAuB7O,YAAa,EAAGC,eAAgB,MAAMG,OAAQ,gBAAGtU,EAAI,EAAJA,KAAI,OAAOgL,YAAehL,EAAoB,gBAAIoU,YAAa,WAGnO0N,EAAuBZ,uBAAY,SAACC,EAAU,GAAoB,IAAjBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CAElB,CACAgE,MAAO,WACHjO,QAAQ,WACJ0P,uBAAa,CACTlD,MAAO,mBACP3jB,QAAS,8BACT8mB,QAAS,CACP,CACE1B,MAAO,KACPjO,QAAS,WACL/X,EAASkC,YAAuB4f,EAASphB,KAAsB,gBAAEmiB,IAChEpiB,MAAK,eAGL6T,OAAM,iBAGb,CACE0R,MAAO,KACPjO,QAAS,sBAS1B,IACH,OACI,yBACEhD,UAAW,CACT,WACA,WACA3G,KAAK,MAER,yBAAK2G,UAAW,CAAC,gBAAsC,IAAvBuK,EAA4B,cAAc,IAAIlR,KAAK,MAAM,yBAAK2G,UAAU,aAC7E,SAA1Bya,EAAmC,kBAACE,EAAwB,CAACH,yBA3DnE,WACIE,EAA2B,KA0DwF5M,qBAAsBA,IAA4B,GACjK,yBAAK9N,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,UAEA,yBAAKA,UAAU,mBACX,kBAAC,IAAI,CAAC8S,WAAY,kBAAC,IAAU,KAAC,uBAAG9S,UAAU,iBACvC,kBAAC,IAAQ,CAACgD,QArEtC,WACI0X,EAA2B,UAoEyC,uBAAG1a,UAAU,wBAA0B,kBAI/F,yBAAKA,UAAU,qBAAoB,UAAO,yBAAKA,UAAU,cAAa,yBAAKA,UAAU,aAAY,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GACzK/D,EAAiB+D,EAAEmB,OAAOrZ,OAtF5C,SAAwBsZ,EAAKpF,GAEzBG,EAAaiF,EAAK7N,QAAO,SAAS8N,GAC9B,QAAIA,EAAa,OAAEC,cAAcC,SAASvF,EAAcwF,yBAoF9CC,CAAoC,OAArB0F,EAA0BA,EAAmB,GAAGnH,EAAEmB,OAAOrZ,UACtE,uBAAGgV,UAAU,qBACjB,kBAAC,IAAQ,CACL4E,WAAW,kBACXC,MAhHF,CAAErK,UAAW,QAAQC,OAAO,QAiH1BiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAEV,yBAAKlF,UAAU,gBACf,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAAegD,QAAS7I,EAAMygB,yBAAyB,gBCuC/E3gB,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAnKA,SAACE,GACZ,IAAMlP,EAAW2P,cACoC,EACfP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAA5DmO,EAAY,EAAZA,aAAaE,EAAc,EAAdA,eAAc,EACelP,mBAAS,MAAK,mBAA1DW,EAAkB,KAAC2f,EAAqB,OACEtgB,mBAAS,IAAG,mBAAtDugB,EAAiB,KAACC,EAAoB,OACDxgB,mBAAS,IAAG,mBAAjDygB,EAAc,KAAEC,EAAiB,OACJ1gB,oBAAS,GAAM,mBAA5C2gB,EAAU,KAAEC,EAAa,MAEd,IAAbD,IACCC,GAAc,GACdlwB,EAASgF,YAAa,IAAI,GAAG,GAAG,MAAM,KACrCvE,MAAK,eAEL6T,OAAM,gBAGV,MAEuChF,mBAAS,IAAG,mBAA/C2E,EAAa,KAAEC,EAAgB,OACJ5E,mBAAS,CAAgB,OAAfgP,EAAoBA,EAAa,KAAI,mBAA1EnK,EAAS,KAAEC,EAAY,KAEV,OAAfkK,GAAuBA,GAAcnK,GAA6B,KAAhBF,GACjDG,EAAakK,GAiCjB,IAAI7J,EAAS,CAGT,CAAEC,KAAM,eAAeC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAO6O,SAAU,IAAK5O,YAAa,UAC/K,CAAEJ,KAAM,SAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAMG,OAAQ,YAAO,OAX/J,SAAsBpR,GACxB,OAAOA,GACN,IAAK,IACJ,MAAO,SAET,MAAO,WAMiK6kB,CAAP,EAAJ/nB,KAAqC,SAAIoU,YAAa,UAC7M,CAAEJ,KAAM,eAAeC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,kBAAsB7O,YAAa,EAAGC,eAAgB,MAAMG,OAAQ,gBAAGtU,EAAI,EAAJA,KAAI,OAAO,IAAImL,KAAKnL,EAAmB,cAAGyvB,iBAAiBC,QAAQ,IAAK,KAAMtb,YAAa,WAI7P0N,EAAuBZ,uBAAY,SAACC,EAAU,GAAoB,IAAjBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CAClB,CACIgE,MAAO,UACPjO,QAAQ,WACJ6X,EAAsB9N,EAASphB,MAC/BovB,EAAqB,QACrB9rB,QAAQC,IAAI6d,EAASphB,QAG7B,CACIslB,MAAO,SACPjO,QAAQ,WACJ6X,EAAsB9N,EAASphB,MAC/BsvB,EAAkB,QAClBhsB,QAAQC,IAAI6d,EAASphB,QAG7B,CACAslB,MAAO,WACHjO,QAAQ,WACJ0P,uBAAa,CACTlD,MAAO,kBACP3jB,QAAS,8BACT8mB,QAAS,CACP,CACE1B,MAAO,KACPjO,QAAS,WACN/X,EAAS8E,YAAgBgd,EAASphB,KAAe,WAC/CD,MAAK,WACFyO,EAAMU,QAAQ6F,KAAK,sBACnBa,OAAOC,SAASC,YAEnBlC,OAAM,iBAGb,CACE0R,MAAO,KACPjO,QAAS,sBAS1B,IAGL,OAFE/T,QAAQC,IAAI,oBACZD,QAAQC,IAAIqa,GAEZ,yBACEvJ,UAAW,CACT,WACA,WACA3G,KAAK,MAER,yBAAK2G,UAAW,CAAC,gBACd,IAD6ByJ,EACxB,cAAc,IAAIpQ,KAAK,MAAM,yBAAK2G,UAAU,aACjC,SAAjBgb,EAA0B,kBAAC,EAAY,CAACjB,gBAlF3C,WACIkB,EAAkB,KAiFuD/f,mBAAoBA,IAA0B,GACpG,SAApB4f,EAA6B,kBAAC,EAAa,CAACF,wBAhF/C,WACIG,EAAqB,KA+EwE7f,mBAAoBA,IAA0B,GAC3I,yBAAK8E,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,UAEA,yBAAKA,UAAU,mBACX,kBAAC,IAAI,CAAC8S,WAAY,kBAAC,IAAU,KAAC,uBAAG9S,UAAU,iBACvC,kBAAC,IAAQ,CAACgD,QA/FlC,WACI6X,EAAsB,MACtBI,EAAkB,UA6FoC,uBAAGjb,UAAU,wBAA0B,YAIrF,yBAAKA,UAAU,qBAAoB,SAAM,yBAAKA,UAAU,cAAa,yBAAKA,UAAU,aAAY,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GACxK/D,EAAiB+D,EAAEmB,OAAOrZ,OAjHxC,SAAwBsZ,EAAKpF,GAEzBG,EAAaiF,EAAK7N,QAAO,SAAS8N,GAC9B,SAAIA,EAAmB,aAAEC,cAAcC,SAASvF,EAAcwF,uBAC1DH,EAAa,OAAEC,cAAcC,SAASvF,EAAcwF,0BA8GlDC,CAA8B,OAAf4E,EAAoBA,EAAa,GAAGrG,EAAEmB,OAAOrZ,UAC1D,uBAAGgV,UAAU,qBACjB,kBAAC,IAAQ,CACL4E,WAAW,WACXC,MA7IE,CAAErK,UAAW,QAAQC,OAAO,QA8I9BiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAEV,yBAAKlF,UAAU,gBACf,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAAegD,QAtH9C,WACI7I,EAAMqI,qBAqH0D,iB,wKC6OzDvI,G,MAAAA,aADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EA7Ya,SAACE,GACzB,IAAMlP,EAAW2P,cACHR,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAAI,EACgDO,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAjFgQ,EAA+B,EAA/BA,gCACR,GADuD,EAAd1C,eAELnO,mBAChB,OAAhBH,GACM7D,YAA0B6D,EAAkB,KAAG,gBAFpD6E,EAIJ,iBAJ+B,KAMI1E,oBAAS,GAAM,mBAA9Cwe,EAAW,KAAEC,EAAc,MACZ,IAAhBD,GAA6D,OAApC3N,IACzBnc,QAAQC,IAAI,SACZ8pB,GAAe,GACf/tB,EAAS+J,eACJtJ,MAAK,eAEL6T,OAAM,gBAIf,MAE0BhF,mBAAS,CAAE,WAAc,IAAM,CAAE,aAAgB,IAAM,CAAE,UAAa,IAAM,CAAE,YAAe,IAAM,CAAE,UAAa,IAAM,CAAE,YAAe,IAAM,CAAE,aAAgB,IAAM,CAAE,SAAY,KAAK,mBAA/M+V,EAAM,KAAEC,EAAS,OACIhW,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAkC,OAAI,IAAG,mBAAxHzuB,EAAM,KAAE6jB,EAAS,KACtB,EAC8BnW,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAoC,SAAI,IAAG,mBAA9HnpB,EAAQ,KAAEopB,EAAW,OACAhhB,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAkC,OAAI,IAAG,mBAAxHlpB,EAAM,KAAEopB,EAAS,OACQjhB,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAoC,SAAI,IAAG,mBAA9HjpB,EAAQ,KAAEopB,EAAW,OACMlhB,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAqC,UAAI,IAAG,mBAAjIhpB,EAAS,KAAEuiB,EAAY,OACoBta,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAA6C,kBAAI,IAAG,mBAE9J,GAFsB,KAAsB,KAGhB/gB,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAqC,UAAI,KAAG,mBAA7H9N,EAAO,KAAEkO,EAAU,KACxB,EAEwBnhB,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAiC,MAAI,IAAG,mBAArHvuB,EAAK,KAAEgoB,EAAQ,KAGpB,EACoDxa,mBAA4C,MAAnC6Q,EAA0CA,EAAgC3U,QAAO,SAAA4O,GAAC,OAAIA,EAAEra,QAAUwiB,KAAS,GAAK,IAAG,oBAA3KrG,GAAmB,MAAEuR,GAAsB,MAEhD,GACwDne,oBAAS,GAAM,qBAAlEohB,GAAqB,MAAEC,GAAwB,WAEzBjd,GAAvBwI,IAAuE,MAAnCiE,GAAoE,GAAzBuQ,IAAiE,GAA/B1c,IAEjH2c,IAAyB,GACzBxQ,EAAgCmL,SAAQ,SAAC/I,GACrCkL,GAAuB,CAAE1tB,MAAOwiB,EAAQxiB,MAAOimB,MAAOzD,EAAQyD,QAC9DyK,EAAW,CAAE1wB,MAAOwiB,EAAQxiB,MAAOimB,MAAOzD,EAAQyD,YAEzD,OAG2B1W,oBAAS,GAAM,qBAA7BoW,IAAF,MAAY,OAEpBK,GAAezW,mBAAS,MACxBshB,GAAgBthB,mBAAS,MACW,OAApCJ,EAAMmhB,2BAAmF,KAA7CnhB,EAAMmhB,0BAAkC,SACpFtK,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,aAEA,OAApC9W,EAAMmhB,2BAAmF,KAA7CnhB,EAAMmhB,0BAAkC,SACpFtK,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,WAEA,OAApC9W,EAAMmhB,4BACNtK,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,WAEvC,OACqC1W,mBAASyW,IAAa,qBAAvDE,GAAY,MAAEC,GAAe,SACkB5W,mBAASshB,IAAc,qBAAnD,MAAwB,MAKhD,SAASC,KACL3hB,EAAM2hB,yBAIM,OAAZtO,GACAkO,EAAW,CAAE1wB,MAAO,IAAKimB,MAAO,YASpC,IAAMiF,GAAc,uDAgFpB,OACI,yBAAKlW,UAAU,oBAEX,yBAAKA,UAAU,sDACX,yBAAKA,UAAU,gBACX,yBAAKyD,GAAG,qBACJ,4BAAI,iBAIJ,yBAAKzD,UAAU,iCACX,yBAAKA,UAAU,2BAIX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,cAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACHqR,aAAa,MACbrR,UAAU,aACVyD,GAAG,oBAGHzY,MAAOmc,GACP/C,SAAU,SAAClB,GACPwY,EAAWxY,GACXwV,GAAuBxV,GACvBjU,QAAQC,IAAIgU,GACZoN,EAAmB,WAAI,IAE3BnM,YAAY,UACZsN,QAA6C,OAApCrG,EAA2CA,EAAkC,KAEhE,KAAzBkF,EAAmB,WAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAmB,YAAW,KAOtG,yBAAKtQ,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,aAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO6B,EACPykB,UAAW,IACXnN,YAAY,kBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP,IACM6Y,EADY7Y,EAAEmB,OAAOrZ,MACOumB,cAClCb,EAAUqL,GACVzL,EAAkB,UAAI,MAGL,KAAxBA,EAAkB,UAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAW,IAIhG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,eAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAOmH,EACPmf,UAAW,IACXnN,YAAY,oBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP,IACM6Y,EADY7Y,EAAEmB,OAAOrZ,MACOumB,cAClCgK,EAAYQ,GAEZzL,EAAoB,YAAI,MAGL,KAA1BA,EAAoB,YAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAoB,aAAW,KAKxG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,YAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,QACLF,MAAO+B,EACPukB,UAAW,IACXnN,YAAY,iBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP6R,EAAS7R,EAAEmB,OAAOrZ,OAClBslB,EAAiB,SAAI,MAGL,KAAvBA,EAAiB,SAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAiB,UAAW,KAKlG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,gBAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrmB,MAAOoH,EACPkf,UAAW,GACXtB,aAAc,EACd7L,YAAY,qBACZ6X,mBAAmB,EACnBhc,UAAU,aACVoE,SAAU,SAAClB,GACPsY,EAAUtY,EAAEmB,OAAOrZ,OACnBslB,EAAkB,UAAI,MAGL,KAAxBA,EAAkB,UAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAW,KAIpG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,kBAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrmB,MAAOqH,EACPif,UAAW,GACXtB,aAAc,EACdgM,mBAAmB,EACnB7X,YAAY,uBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPuY,EAAYvY,EAAEmB,OAAOrZ,OACrBslB,EAAoB,YAAI,MAGL,KAA1BA,EAAoB,YAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAoB,aAAW,KAGxG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,aAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACHqR,aAAa,MACbrR,UAAU,aACVyD,GAAG,oBACHzY,MAAOkmB,GACP9M,SAAU,SAAClB,GACPiO,GAAgBjO,IACjBiB,YAAY,aAAasN,QAxR9C,CAClB,CAAEzmB,MAAO,IAAKimB,MAAO,YACrB,CAAEjmB,MAAO,IAAKimB,MAAO,eAyRG,yBAAKjR,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,mBAG9C,yBAAKA,UAAU,UACX,8BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAOsH,EACPgf,UAAW,IACXnN,YAAY,eACZnE,UAAU,iBACVoE,SAAU,SAAClB,GACP2R,EAAa3R,EAAEmB,OAAOrZ,OACtBslB,EAAqB,aAAI,MAGL,KAA3BA,EAAqB,aAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAqB,cAAW,MAO9G,yBAAKtQ,UAAU,yBACX,yBAAKA,UAAU,aAAagD,QAjSxD,WAEI,IAAI6O,GAAQ,EAEE,IAAVhlB,IACAyjB,EAAkB,UAAI,iBACtBuB,GAAQ,GAEPqE,GAAYpE,KAAKjlB,KAClByjB,EAAkB,UAAI,sBACtBuB,GAAQ,GAEI,IAAZ1f,IACAme,EAAoB,YAAI,mBACxBuB,GAAQ,GAEPqE,GAAYpE,KAAK3f,KAClBme,EAAoB,YAAI,sBACxBuB,GAAQ,GAEE,IAAVzf,IACAke,EAAkB,UAAI,oBACtBuB,GAAQ,GAUC,IAAT9kB,GAAgB,2CAA2C+kB,KAAK/kB,KAChEujB,EAAiB,SAAI,qCACrBuB,GAAQ,GAGZtB,EAAUD,GACVK,IAAW,GACNkB,IAML5mB,EAASiH,aAC+B,OAApCiI,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAA2C,gBAAI,KAChGzuB,EACAsF,EACAC,EACAC,EACAC,EACA4e,GAAoB,MACpB9W,EAAoB,OACgB,OAApCD,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAqC,UAAI9N,EAAQxiB,MAClG+B,EACA,IACA,GACA,GACA,MACA,GACAqN,EAAuB,YACxB1O,MAAK,eACL6T,OAAM,eAITuc,KACA7sB,QAAQC,IAAwC,OAApCiL,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAA2C,gBAAI,MAC5GrsB,QAAQC,IAAI,UAAYrC,GACxBoC,QAAQC,IAAI,YAAciD,GAC1BlD,QAAQC,IAAI,UAAYkD,GACxBnD,QAAQC,IAAI,YAAcmD,GAC1BpD,QAAQC,IAAI,aAAeoD,GAC3BrD,QAAQC,IAAI,UAAYgiB,GAAoB,OAC5CjiB,QAAQC,IAAI,qBAAuBgiB,GAAoB,OACvDjiB,QAAQC,IAAI,uBAAyBse,EAAQxiB,UAqN6B,WAE3C,IACP,yBAAKgV,UAAU,cAAcgD,QAAS8Y,IAAwB,mB,KCnL/E7hB,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAvMO,SAACE,GACnB,IAAMlP,EAAW2P,cAEHR,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAAI,EAEiBS,mBAASJ,EAAMe,oBAAnB,GAAsC,iBAAtC,GACPX,mBAASJ,EAAM5O,YAA5BA,EAAsC,iBAA7B,KACIgP,mBAASJ,EAAMhO,WAA5BA,EAAsC,iBAA7B,KAEuCkO,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAA1EuN,EAAkB,EAAlBA,mBAAoBE,EAAoB,EAApBA,qBAAoB,EACYxO,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAjFgQ,EAA+B,EAA/BA,gCAA+C,KAAd1C,eAEuBnO,mBAAS,OAAK,mBAAzE+gB,EAAyB,KAAEW,EAA4B,OACJ1hB,mBAAS,IAAG,mBAA/D2hB,EAAqB,KAAEC,EAAwB,OACJ5hB,oBAAS,GAAM,mBAA1D6hB,EAAiB,KAAEC,EAAoB,KAG5CptB,QAAQC,IAAIyZ,IAIc,IAAtByT,GAAmE,OAApChR,IAC/BiR,GAAqB,GACrBpxB,EAASgH,YAAoB9F,EAAUZ,EAAU,IAAK,GAAI,GAAI,MAAO,KAChEG,MAAK,eAEL6T,OAAM,eAIXtU,EAAS+J,YAA8B7I,EAAWZ,IAC7CG,MAAK,eAEL6T,OAAM,gBAGd,MACuChF,mBAAS,IAAG,mBAA/C2E,EAAa,KAAEC,EAAgB,OACJ5E,mBAAS,CAAwB,OAAvBoO,EAA8BA,EAAqB,KAAI,mBAA5FvJ,EAAS,KAAEC,EAAY,KAED,OAAvBsJ,GAA+BA,GAAsBvJ,GAA+B,KAAlBF,GAClEG,EAAasJ,GAyChB,MAEmCpO,mBAChB,OAAhBH,GACM7D,YAA0B6D,EAAkB,KAAG,eAFpD6E,EAIJ,iBAJ+B,GAK5BS,EAAU,CAGV,CAAEC,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAASuc,UAAW,SAACC,GAC5K,OAAOA,EAAK/X,cAAc6W,QAAQ,SAAS,SAAAmB,GAAC,OAAIA,EAAEjL,mBAEtD,CAAE5R,KAAM,WAAYC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,aAAiB7O,YAAa,EAAGC,eAAgB,QAAS8S,aAAc,IAAK7S,YAAa,UACpL,CAAEJ,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,cAAe7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UAC3J,CAAEJ,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAOG,OAAQ,YAAO,OArBjK,SAAsBpR,GAClB,OAAQA,GACJ,IAAK,IACD,MAAO,SAEf,MAAO,WAgB6J6kB,CAAP,EAAJ/nB,KAAqC,SAAIoU,YAAa,WAE7M0N,EAAuBZ,uBAAY,SAACC,EAAU,GAAmB,IAAhBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CAEd,CACIgE,MAAO,SACPjO,QAAS,WACLiZ,EAA6BlP,EAASphB,MACtCwwB,EAAyB,QACzBltB,QAAQC,IAAI,kBAAmB6d,EAASphB,QAGhD,CACIslB,MAAO,WACPjO,QAAS,WACL0P,uBAAa,CACTlD,MAAO,yBACP3jB,QAAS,8BACT8mB,QAAS,CACL,CACI1B,MAAO,KACPjO,QAAS,WACL/X,EAAS8G,YAAuBgb,EAASphB,KAAsB,gBAAEQ,EAAUZ,IACtEG,MAAK,eAGL6T,OAAM,iBAGnB,CACI0R,MAAO,KACPjO,QAAS,sBASlC,IACH,OACI,yBACIhD,UAAW,CACP,WACA,WACF3G,KAAK,MAEP,yBAAK2G,UAAW,CAAC,gBAAyC,IAAzB6I,EAAgC,cAAgB,IAAIxP,KAAK,MAAM,yBAAK2G,UAAU,aACpF,SAA1Bkc,EACG,kBAAC,EAAmB,CAChBJ,uBApFhB,WACIK,EAAyB,KAoFbb,0BAA2BA,IAI7B,GACN,yBAAKtb,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,gBAEA,yBAAKA,UAAU,mBACX,kBAAC,IAAI,CAAC8S,WAAY,kBAAC,IAAU,KAAC,uBAAG9S,UAAU,iBACvC,kBAAC,IAAQ,CAACgD,QAtGtC,WACIiZ,EAA6B,MAC7BE,EAAyB,UAoG0C,uBAAGnc,UAAU,wBAA0B,YAI9F,yBAAKA,UAAU,qBAAoB,gBAAa,yBAAKA,UAAU,cAAa,yBAAKA,UAAU,aAAY,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GAC7K/D,EAAiB+D,EAAEmB,OAAOrZ,OA5H9C,SAAwBsZ,EAAMpF,GAE1BG,EAAaiF,EAAK7N,QAAO,SAAU8N,GAC/B,SAAIA,EAAa,OAAEC,cAAcC,SAASvF,EAAcwF,sBACpDH,EAAgB,UAAEC,cAAcC,SAASvF,EAAcwF,sBACvDH,EAAa,OAAEC,cAAcC,SAASvF,EAAcwF,0BAwH5CC,CAAsC,OAAvBgE,EAA8BA,EAAqB,GAAIzF,EAAEmB,OAAOrZ,UAC9E,uBAAGgV,UAAU,qBAGlB,kBAAC,IAAQ,CACL4E,WAAW,kBACXC,MA5KF,CAAErK,UAAW,QAASC,OAAQ,QA6K5BiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAEV,yBAAKlF,UAAU,gBAEiB,GAA/Bf,EACG,yBAAKe,UAAU,cACX,yBAAKA,UAAU,cAAcgD,QArIrD,WACI7I,EAAMmI,4BAoIwE,UAI5D,yBAAKtC,UAAU,sB,4KC0L1B/F,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAjYc,SAACE,GAC1B,IAAMlP,EAAW2P,cAAc,EACLL,mBAAuC,OAA9BJ,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAA+B,UAAI,MAAK,mBAAjHpQ,EAAM,KAAW,QACI9R,mBAAS,CAAE,UAAa,IAAM,CAAE,QAAW,IAAM,CAAE,SAAY,IAAM,CAAE,OAAU,MAAK,mBAA3G+V,EAAM,KAAEC,EAAS,OACIhW,mBAAuC,OAA9BJ,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAA4B,OAAE1wB,WAAa,IAAG,mBAAvHc,EAAM,KAAE6jB,EAAS,OACAnW,mBAAuC,OAA9BJ,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAA0B,KAAE1wB,WAAa,IAAG,mBAAjHe,EAAI,KAAE4vB,EAAO,OACMniB,mBAAuC,OAA9BJ,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAA2B,MAAE1wB,WAAa,IAAG,mBAApHgB,EAAK,KAAEgoB,EAAQ,OACAxa,mBAAuC,OAA9BJ,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAAyB,IAAI,IAAG,mBAAxF,GAAR,KAAQ,KACcliB,mBAAuC,OAA9BJ,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAA8B,SAAI,OAAK,mBAApHvvB,EAAQ,KAAa,QACQqN,mBAAuC,OAA9BJ,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAAgC,WAAI,KAAG,mBAA/F,GAAf,KAAe,KACUliB,mBAAuC,OAA9BJ,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAAmC,cAAI,KAAG,mBAAlG,GAAlB,KAAkB,KAGJliB,mBAAuC,OAA9BJ,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAA+B,UAAI,KAAG,mBAArHptB,EAAS,KAAEstB,EAAY,KAG5B,EAEwBpiB,mBAAS,MAAK,mBAAjCvN,EAAK,KAAE4vB,EAAQ,KAChB5L,EAAezW,mBAAS,MAAK,EACLA,oBAAS,GAAM,mBAA7BoW,GAAF,KAAY,MAEVvW,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAAI,EAEYS,mBACJ,OAAhBH,GACM7D,YAA0B6D,EAAkB,KAAG,aAFpDwE,EAIJ,iBAJmB,KAKUrE,mBACV,OAAhBH,GACM7D,YAA0B6D,EAAkB,KAAG,cAExD,iBAJyB,GAQQ,OAA9BD,EAAMsiB,qBAAuE,KAAvCtiB,EAAMsiB,oBAA4B,SACxEzL,EAAe,CAAEhmB,MAAO,IAAKimB,MAAO,aAEN,OAA9B9W,EAAMsiB,qBAAuE,KAAvCtiB,EAAMsiB,oBAA4B,SACxEzL,EAAe,CAAEhmB,MAAO,IAAKimB,MAAO,WAEN,OAA9B9W,EAAMsiB,qBAAuE,KAAvCtiB,EAAMsiB,oBAA4B,SACxEzL,EAAe,CAAEhmB,MAAO,IAAKimB,MAAO,gBAEN,OAA9B9W,EAAMsiB,sBACNzL,EAAe,CAAEhmB,MAAO,IAAKimB,MAAO,WACvC,MACqC1W,mBAASyW,GAAa,oBAAvDE,GAAY,MAAEC,GAAe,MAC5B0L,GAAgB,CAClB,CAAE7xB,MAAO,IAAKimB,MAAO,YACrB,CAAEjmB,MAAO,IAAKimB,MAAO,WAErB6L,GAAYviB,mBAAS,MAES,OAA9BJ,EAAMsiB,qBAAoE,cAApCtiB,EAAMsiB,oBAAyB,MACrEK,GAAY,CAAE9xB,MAAO,aAAcimB,MAAO,UAKZ,OAA9B9W,EAAMsiB,qBAAoE,cAApCtiB,EAAMsiB,oBAAyB,MACrEK,GAAY,CAAE9xB,MAAO,aAAcimB,MAAO,sBAEZ,OAA9B9W,EAAMsiB,qBAAoE,aAApCtiB,EAAMsiB,oBAAyB,MACrEK,GAAY,CAAE9xB,MAAO,YAAaimB,MAAO,iBAGX,OAA9B9W,EAAMsiB,qBAAoE,oBAApCtiB,EAAMsiB,oBAAyB,MACrEK,GAAY,CAAE9xB,MAAO,mBAAoBimB,MAAO,wBAOlB,OAA9B9W,EAAMsiB,sBACNK,GAAuC,CAAE9xB,MAAO,gBAAiBimB,MAAO,qBAG1C,OAA9B9W,EAAMsiB,qBAAoE,iBAApCtiB,EAAMsiB,oBAAyB,MACrEK,GAAY,CAAE9xB,MAAO,gBAAiBimB,MAAO,qBAGf,OAA9B9W,EAAMsiB,qBAAoE,oBAApCtiB,EAAMsiB,oBAAyB,MACrEK,GAAY,CAAE9xB,MAAO,mBAAoBimB,MAAO,wBAIpD,OAGgC1W,mBAASuiB,IAAU,qBAA9CC,GAAS,MAAEC,GAAY,MAItBC,IAAiC,IAApBre,EAA2B,CAC1C,CAAE5T,MAAO,aAAcimB,MAAO,iBAE9B,CAAEjmB,MAAO,aAAcimB,MAAO,qBAC9B,CAAEjmB,MAAO,YAAaimB,MAAO,gBAC7B,CAAEjmB,MAAO,mBAAoBimB,MAAO,uBACpC,CAAEjmB,MAAO,gBAAiBimB,MAAO,oBACjC,CAAEjmB,MAAO,mBAAoBimB,MAAO,wBAEpC,CACA,CAAEjmB,MAAO,gBAAiBimB,MAAO,qBA0BrC,SAASiM,KACL/iB,EAAMgjB,YAGV,IAAM/L,GAAa,6BACb8E,GAAc,uDA4DpB,IAaC,GAE6C3b,oBAAS,GAAM,qBAAtD6iB,GAAe,MAAEC,GAAkB,MAC1C,OACI,yBAAKrd,UAAU,oBACX,yBAAKA,UAAU,+BACX,yBAAKA,UAAU,gBACX,yBAAKyD,GAAG,qBACJ,4BAAI,YAGJ,yBAAKzD,UAAU,gCACX,yBAAKA,UAAU,uCACX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,aAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO6B,EACPykB,UAAW,IACXnN,YAAY,kBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPwN,EAAUxN,EAAEmB,OAAOrZ,OACnBslB,EAAkB,UAAI,MAGL,KAAxBA,EAAkB,UAAW,yBAAKtQ,UAAU,kBAAiB,IAAEsQ,EAAkB,WAAW,KAGrG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,WAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO8B,EACPwkB,UAAW,GACXnN,YAAY,gBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPwZ,EAAQxZ,EAAEmB,OAAOrZ,OACjBslB,EAAgB,QAAI,MAGL,KAAtBA,EAAgB,QAAW,yBAAKtQ,UAAU,kBAAiB,IAAEsQ,EAAgB,SAAW,KAGjG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,cAAgB,IAAC,8BAAM,YAG5C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,QACLF,MAAO+B,EACPukB,UAAW,GACXnN,YAAY,iBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP6R,EAAS7R,EAAEmB,OAAOrZ,OAClBslB,EAAiB,SAAI,MAGL,KAAvBA,EAAiB,SAAW,yBAAKtQ,UAAU,kBAAiB,IAAEsQ,EAAiB,UAAW,KAInG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,UAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACHqR,aAAa,MAEbrR,UAAU,aACVyD,GAAG,mBACHzY,MAAO+xB,GACP3Y,SAAU,SAAClB,GACP8Z,GAAa9Z,IACdiB,YAAY,aAAasN,QAAwB,OAAfwL,GAAsBA,GAAa,OAMpF,yBAAKjd,UAAU,YACX,uBAAGA,UAAU,UACT,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,oBAG9C,yBAAKA,UAAU,UACX,yBAAKA,UAAU,iBAAiBgD,QAhNpE,WACI,IAAI6O,GAAQ,EACZ,GAAa,IAAT9kB,EACAujB,EAAiB,SAAI,gBACrBuB,GAAQ,MACL,CACH,IAEIvY,EAFQvM,EACSqM,MAAM,IAAK,GACVrN,WAAWsvB,QAAQ,cAAe,IACpDiC,EAOZ,SAAmBC,EAAUC,GACzB,IAAIC,EAAmBD,EAAWD,EAC9BG,EAAYC,KAAKC,UAAYH,EAAmB,GAEpD,OADAC,EAAYC,KAAKE,MAAMH,GAChBH,EAAWG,EAXAA,CAAU,IAAM,MAE9Bd,EADAtjB,GAAkBgkB,GAElBhN,EAAiB,SAAI,GAEzB,OAAOuB,IAmM6B,uBAAG7R,UAAU,eAAiB,YAElC,2BACIqR,aAAa,eACbnmB,KAAMkyB,GAAkB,OAAS,WACjCpyB,MAAOgC,EACPskB,UAAW,GACXnN,YAAY,yBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP0Z,EAAS1Z,EAAEmB,OAAOrZ,OAClBslB,EAAiB,SAAI,MAI7B,4BAAQtQ,UAAWod,GAAkB,mBAAqB,yBAA0Bpa,QAAS,kBAAMqa,IAAoBD,OAC/F,KAAvB9M,EAAiB,SAAW,yBAAKtQ,UAAU,kBAAiB,IAAEsQ,EAAiB,UAAW,KAGnG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,sBAAwB,IAAC,8BAAM,aAGpD,yBAAKA,UAAU,UACX,2BAAO9U,KAAK,OAAO8U,UAAU,iBAAiBga,UAAQ,EAAC5V,SAAU,SAAClB,GAAC,OApJ9EkT,EAoJmGlT,EAAEmB,OAAO+R,WAnJjIC,MAAMC,KAAKF,GAAOG,SAAQ,SAAAlI,GACtB,IAAMmI,EAAS,IAAIC,WACnBD,EAAOE,cAAcrI,GACrBmI,EAAOG,OAAS,WACZ,IAAIC,EAEJA,EADWJ,EAAOld,OACAF,MAAM,KACxBujB,EAAa/F,EAAW,QARZ,IAACR,KAqJW,yBAAKpW,UAAU,kBAAiB,wCAGxC,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,aAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACHqR,aAAa,MACbrR,UAAU,aACVyD,GAAG,mBACHzY,MAAOkmB,GACP9M,SAAU,SAAClB,GACPiO,GAAgBjO,IACjBiB,YAAY,aAAasN,QAA2B,OAAlBoL,GAAyBA,GAAgB,QAK9F,yBAAK7c,UAAU,yBACX,yBAAKA,UAAU,aAAagD,QAtOxD,WAEI,IAAI6O,GAAQ,EAERxF,GAAU,GAAe,OAAVrf,IACfsjB,EAAiB,SAAI,4BACrBuB,GAAQ,GAEE,IAAVhlB,IACAyjB,EAAkB,UAAI,iBACtBuB,GAAQ,GAEPqE,GAAYpE,KAAKjlB,KAClByjB,EAAkB,UAAI,sBACtBuB,GAAQ,GAGA,IAAR/kB,IACAwjB,EAAgB,QAAI,eACpBuB,GAAQ,GAEPT,GAAWU,KAAKhlB,KACjBwjB,EAAgB,QAAI,mCACpBuB,GAAQ,GAEC,IAAT9kB,GAAgB,2CAA2C+kB,KAAK/kB,KAChEujB,EAAiB,SAAI,sCACrBuB,GAAQ,GAEZtB,EAAUD,GACVK,GAAW,GACNkB,IAIL5mB,EAASkE,aACyB,OAA9BgL,EAAMsiB,oBAA+BtiB,EAAMsiB,oBAA+B,UAAI,KAC9E5vB,EACAC,EACAC,EACAgwB,GAAiB,MACP,OAAV/vB,EAAiBA,EAAQ,GACzBkkB,GAAoB,MACpBhkB,EACAmC,IACD3D,MAAK,eAEL6T,OAAM,eAET2d,QAqL2E,WAE5C,IACP,yBAAKld,UAAU,cAAcgD,QAASka,IAAY,kBCzMnEjjB,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EApKQ,SAACE,GACpB,IAAMlP,EAAW2P,cACuC,EACrBP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAxDyO,EAAS,EAATA,UAAWE,EAAW,EAAXA,YAAW,EACcxP,mBAAS,IAAG,mBAAnDujB,EAAe,KAAEC,EAAkB,OACYxjB,mBAAS,QAAO,mBAA/DkiB,EAAmB,KAAEuB,EAAsB,OACJzjB,oBAAS,GAAM,mBAAtD0jB,EAAe,KAAEC,EAAkB,KAGtB,OAAdrU,IAA0C,IAApBoU,IACtBC,GAAmB,GACnBjzB,EAAS+D,YAAY,IAAK,GAAI,GAAI,MAAO,KACpCtD,MAAK,eAEL6T,OAAM,gBAGd,MAE2ChF,mBAAS,IAAG,mBAAnDwT,EAAe,KAAEoQ,EAAkB,OACR5jB,mBAAS,CAAe,OAAdsP,EAAqBA,EAAY,KAAI,mBAA1EzK,EAAS,KAAEC,EAAY,KAEV,OAAdwK,GAAsBA,GAAazK,GAAiC,KAApB2O,GAChD1O,EAAawK,GA2BjB,IAAM4D,EAAuBZ,uBAAY,SAACC,EAAU,GAAmB,IAAhBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CACd,CACIgE,MAAO,SACPjO,QAAS,WACLgb,EAAuBjR,EAASphB,MAChCoyB,EAAmB,QACnB9uB,QAAQC,IAAI6d,EAASphB,QAG7B,CACIslB,MAAO,WACPjO,QAAS,WACL0P,uBAAa,CACTlD,MAAO,oBAAsBzC,EAASphB,KAAa,OACnDE,QAAS,8BACT8mB,QAAS,CACL,CACI1B,MAAO,KACPjO,QAAS,WACL/T,QAAQC,IAAI,eACZjE,EAAS8D,YAAcge,EAASphB,KAAgB,YAC3CD,MAAK,eAGL6T,OAAM,iBAGnB,CACI0R,MAAO,KACPjO,QAAS,sBASlC,IACH,SAASwV,EAAOD,GACZ,OAAQA,GACJ,IAAK,aACD,MAAO,gBACX,IAAK,aACD,MAAO,oBACX,IAAK,YACD,MAAO,eACX,IAAK,iBACD,MAAO,YACX,IAAK,gBACD,MAAO,mBACX,IAAK,mBACD,MAAO,yBACX,IAAK,mBACD,MAAO,sBAIf,MAAO,GAEX,IAAI7Y,EAAU,CAEV,CAAEC,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,QAAS8S,aAAc,IAAK7S,YAAa,UAChL,CAAEJ,KAAM,OAAQC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,UAAc7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UACxJ,CAAEJ,KAAM,QAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,UAAc7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UACzJ,CAAEJ,KAAM,MAAOC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,QAAY7O,YAAa,EAAGC,eAAgB,MAAOG,OAAQ,YAAO,OAAOuY,EAAP,EAAJ7sB,KAA4B,MAAIoU,YAAa,WAEpM,OACI,yBAAKC,UAAW,CAAC,WAAY,WAAW3G,KAAK,MACzC,yBAAK2G,UAAW,CAAC,gBACT,IADyB+J,EAClB,cAAgB,IAAI1Q,KAAK,MAAM,yBAAK2G,UAAU,aAExC,SAApB8d,EAA6B,kBAACM,EAAa,CAACjB,UAhFrD,WACIY,EAAmB,KA+EoDtB,oBAAqBA,IAA0B,GAClH,yBAAKzc,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,WAEA,yBAAKA,UAAU,mBACX,kBAAC,IAAI,CAAC8S,WAAY,kBAAC,IAAU,KAAC,uBAAG9S,UAAU,iBACvC,kBAAC,IAAQ,CAACgD,QA3FtC,WACIgb,EAAuB,MACvBD,EAAmB,UAyFqC,uBAAG/d,UAAU,wBAA0B,YAInF,yBAAKA,UAAU,qBAAoB,SAAM,yBAAKA,UAAU,cACpD,yBAAKA,UAAU,aACX,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAO+iB,EAAiB3J,SAAU,SAAClB,GACxEib,EAAmBjb,EAAEmB,OAAOrZ,OAjHxD,SAAyBsZ,EAAMyJ,GAE3B1O,EAAaiF,EAAK7N,QAAO,SAAU8N,GAC/B,SAAIA,EAAa,OAAEC,cAAcC,SAASsJ,EAAgBrJ,sBACtDH,EAAW,KAAEC,cAAcC,SAASsJ,EAAgBrJ,sBACpDH,EAAY,MAAEC,cAAcC,SAASsJ,EAAgBrJ,sBACrD8T,EAAOjU,EAAU,KAAGC,cAAcC,SAASsJ,EAAgBrJ,0BA4G3C2Z,CAA8B,OAAdxU,EAAqBA,EAAY,GAAI3G,EAAEmB,OAAOrZ,UAC7D,uBAAGgV,UAAU,qBAC1B,kBAAC,IAAQ,CACL4E,WAAW,YACXC,MA7IF,CAAErK,UAAW,QAASC,OAAQ,QA+I5BiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAEV,yBAAKlF,UAAU,gBACf,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAAcgD,QA3GjD,WACI7I,EAAMoI,sBA0GoE,iB,sKCgEnEtI,eADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAnOY,SAACE,GACxB,IAAMlP,EAAW2P,cAAc,EACNL,mBAAS,CAAC,UAAY,IAAI,CAAC,UAAY,IAAI,CAAC,UAAY,IAAI,CAAC,SAAW,IAAI,CAAC,eAAiB,KAAI,mBAAtH+V,EAAM,KAACC,EAAS,OACIhW,mBAAuC,OAA9BJ,EAAMmkB,sBAA6BnkB,EAAMmkB,sBAA8B,OAAE,IAAG,mBAAzG7vB,EAAM,KAACgiB,EAAS,OACKlW,mBAAuC,OAA9BJ,EAAMmkB,sBAA6BnkB,EAAMmkB,sBAA8B,OAAE,IAAG,mBAA1GzxB,EAAM,KAAE6jB,EAAS,OACanW,mBAAuC,OAA9BJ,EAAMmkB,sBAA6BnkB,EAAMmkB,sBAAmC,YAAE,IAAG,mBAAxH5vB,EAAW,KAAC6vB,EAAc,OACRhkB,mBAAuC,OAA9BJ,EAAMmkB,sBAA6BnkB,EAAMmkB,sBAA6B,MAAE,IAAG,mBAAtG3vB,EAAK,KAACmnB,EAAQ,OACQvb,oBAAS,GAAM,mBAA7BoW,GAAD,KAAW,MACTvW,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KACF0kB,EAAqB,WAAH,OAASrkB,EAAMqkB,sBACnCxN,EAAazW,mBAAS,MAEO,OAA9BJ,EAAMmkB,uBAAyE,KAAzCnkB,EAAMmkB,sBAA8B,SACzEtN,EAAc,CAAChmB,MAAM,IAAKimB,MAAM,aAEH,OAA9B9W,EAAMmkB,uBAAyE,KAAzCnkB,EAAMmkB,sBAA8B,SACzEtN,EAAc,CAAChmB,MAAM,IAAKimB,MAAM,WAEH,OAA9B9W,EAAMmkB,wBACLtN,EAAc,CAAChmB,MAAM,IAAKimB,MAAM,WACnC,MACsC1W,mBAASyW,GAAa,mBAAxDE,EAAY,KAAEC,EAAe,KAO5BC,EAAa,0DA8DnB,OACJ,yBAAKpR,UAAW,oBACZ,yBAAKA,UAAU,+BACX,yBAAKA,UAAU,0BACX,yBAAKyD,GAAG,qBACJ,4BAAI,gBAGJ,yBAAKzD,UAAU,gCACX,yBAAKA,UAAU,wDACX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,gBAG9C,yBAAKA,UAAU,UACX,2BACAqR,aAAa,MACTnmB,KAAK,OACLF,MAAOyD,EACP6iB,UAAW,GACXnN,YAAY,qBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPuN,EAAUvN,EAAEmB,OAAOrZ,MAAMumB,eACzBjB,EAAkB,UAAI,MAGP,KAAtBA,EAAkB,UAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAS,KAG9F,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,aAG9C,yBAAKA,UAAU,UACX,2BACAqR,aAAa,MACTnmB,KAAK,OACLF,MAAO6B,EACPykB,UAAW,IACXnN,YAAY,kBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACPwN,EAAUxN,EAAEmB,OAAOrZ,OACnBslB,EAAkB,UAAI,MAGP,KAAtBA,EAAkB,UAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAS,KAK9F,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,YAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrmB,MAAO2D,EACP2iB,UAAW,GACXtB,aAAc,EACtBC,mBAAmB,EACnBgH,iBAAkB,IACV9S,YAAY,iBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP4S,EAAS5S,EAAEmB,OAAOrZ,OAClBslB,EAAiB,SAAI,MAGP,KAArBA,EAAiB,SAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAiB,UAAS,KAG5F,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,aAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACPqR,aAAa,MACbrR,UAAU,aAAayD,GAAG,oBAAqBzY,MAAOkmB,EAAc9M,SAAU,SAAClB,GAC3EiO,EAAgBjO,GAChBoN,EAAkB,UAAI,IACvBnM,YAAY,aAAasN,QAhKlC,CAClB,CAAEzmB,MAAO,IAAKimB,MAAO,UACrB,CAAEjmB,MAAO,IAAKimB,MAAO,eA+J0B,KAAtBX,EAAkB,UAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAS,KAG9F,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,qBAG9C,yBAAKA,UAAU,UACX,8BACAqR,aAAa,MACbnmB,KAAK,OACLF,MAAO0D,EACP4iB,UAAW,IAEXnN,YAAY,iBACZnE,UAAU,iBACVoE,SAAU,SAAClB,GACPqb,EAAerb,EAAEmB,OAAOrZ,OACxBslB,EAAuB,eAAI,MAGH,KAA3BA,EAAuB,eAAO,yBAAKtQ,UAAU,kBAAkBsQ,EAAuB,gBAAS,MAK5G,yBAAKtQ,UAAU,yBACX,yBAAKA,UAAU,aAAagD,QAtLhD,WAEG,IAAI6O,GAAM,EAEI,IAAVpjB,IACC6hB,EAAkB,UAAI,oBACtBuB,GAAQ,GAEC,IAAVhlB,IACCyjB,EAAkB,UAAI,iBACtBuB,GAAQ,GAGO,MAAhBX,IACCZ,EAAkB,UAAI,iBACtBuB,GAAQ,GAGA,IAATljB,IACC2hB,EAAiB,SAAI,gBACrBuB,GAAQ,GAEM,IAAfnjB,IACC4hB,EAAuB,eAAI,yBAC3BuB,GAAQ,GAERT,EAAWU,KAAKjlB,KAChByjB,EAAkB,UAAI,mCACtBuB,GAAQ,GAERT,EAAWU,KAAKrjB,KAChB6hB,EAAkB,UAAI,mCACtBuB,GAAQ,GAQZtB,EAAUD,GACVK,GAAW,GACPkB,IAGJ5mB,EAASuD,aACyB,OAA9B2L,EAAMmkB,sBAA6BnkB,EAAMmkB,sBAAmC,aAAG,EAC/E7vB,EACA5B,EACA6B,EACAC,EACAyL,EAAoB,OACpB8W,EAAoB,QACjBxlB,MAAK,eAEJ6T,OAAM,eAEfif,OA6HmE,WAE3C,IACP,yBAAKxe,UAAU,cAAcgD,QAASwb,GAAoB,kBCpFnEvkB,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EA7HG,SAACE,GACf,IAAMlP,EAAW2P,cACoC,EACEL,mBAAS,MAAK,mBAAhE+jB,EAAqB,KAACG,EAAwB,OACHlkB,mBAAS,IAAG,mBAAvDmkB,EAAiB,KAAEC,EAAoB,OACJpkB,oBAAS,GAAM,mBAAlDqkB,EAAa,KAAEC,EAAgB,OACMxkB,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAhE6O,EAAc,EAAdA,eAAeE,EAAgB,EAAhBA,kBACH,IAAhByU,IACCC,GAAiB,GACjB5zB,EAASqD,YAAgB,IAAI,GAAG,GAAG,MAAM,KACxC5C,MAAK,eAEL6T,OAAM,gBAEV,MAC2ChF,mBAAS,IAAG,mBAAnDukB,EAAe,KAAEC,EAAkB,OACRxkB,mBAAS,CAAkB,OAAjB0P,EAAsBA,EAAe,KAAI,mBAA9E7K,EAAS,KAAEC,EAAY,KACR,OAAjB4K,GAAyBA,GAAgB7K,GAA+B,KAAlB0f,GACrDzf,EAAa4K,GAUjB,IAOIvK,EAAS,CACT,CAAEC,KAAM,SAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAQC,YAAa,UAC3J,CAAEJ,KAAM,SAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,cAAe7O,YAAa,EAAGC,eAAgB,MAAQC,YAAa,UAC3J,CAAEJ,KAAM,QAAQC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,UAAc7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,UACxJ,CAAEJ,KAAM,SAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAMG,OAAQ,YAAO,OAX1I,SAAApR,GACvB,OAAOA,GACN,IAAK,IACJ,MAAO,SAET,MAAO,WAMiK6kB,CAAP,EAAJ/nB,KAAqC,SAAKoU,YAAa,WAK5M0N,EAAuBZ,uBAAY,SAACC,EAAU,GAAoB,IAAjBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CAClB,CACIgE,MAAO,SACPjO,QAAQ,WACJyb,EAAyB1R,EAASphB,MAClCgzB,EAAqB,QACrB1vB,QAAQC,IAAI6d,EAASphB,QAG7B,CACAslB,MAAO,WACHjO,QAAQ,WACJ0P,uBAAa,CACTlD,MAAO,wBACP3jB,QAAS,8BACT8mB,QAAS,CACP,CACE1B,MAAO,KACPjO,QAAS,WACL/X,EAASkD,YAAmB4e,EAASphB,KAAkB,cACtDD,MAAK,eAGL6T,OAAM,iBAGb,CACE0R,MAAO,KACPjO,QAAS,sBAS1B,IACH,OACA,yBAAKhD,UAAW,CAAC,WAAW,WAAW3G,KAAK,MAC3C,yBAAK2G,UAAW,CAAC,gBACd,IAD6BmK,EACxB,cAAc,IAAI9Q,KAAK,MAAM,yBAAK2G,UAAU,aAC9B,SAApB0e,EAA6B,kBAACM,EAAe,CAACR,mBA7CvB,WAAF,OAAOG,EAAqB,KA6CqCL,sBAAuBA,IAA6B,GACzI,yBAAKte,UAAU,mCACX,yBAAKA,UAAU,0BACX,4BAAI,gBAEA,yBAAKA,UAAU,mBACX,kBAAC,IAAI,CAAC8S,WAAY,kBAAC,IAAU,KAAC,uBAAG9S,UAAU,iBACvC,kBAAC,IAAQ,CAACgD,QArDT,WAAOyb,EAAyB,MAAOE,EAAqB,UAqDxB,uBAAG3e,UAAU,wBAA0B,YAIxF,yBAAKA,UAAU,qBAAoB,SAAM,yBAAKA,UAAU,cAAa,yBAAKA,UAAU,aAAY,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAO8zB,EAAiB1a,SAAU,SAAClB,GAC1K6b,EAAmB7b,EAAEmB,OAAOrZ,OAhF1C,SAAyBsZ,EAAKwa,GAC1Bzf,EAAaiF,EAAK7N,QAAO,SAAS8N,GAC9B,SAAIA,EAAa,OAAEC,cAAcC,SAASqa,EAAgBpa,uBACtDH,EAAa,OAAEC,cAAcC,SAASqa,EAAgBpa,0BA8EpDua,CAAiC,OAAjBhV,EAAsBA,EAAe,GAAG/G,EAAEmB,OAAOrZ,UAC/D,uBAAGgV,UAAU,qBACjB,kBAAC,IAAQ,CACL4E,WAAW,cACXC,MAvGE,CAAErK,UAAW,QAAQC,OAAO,QAwG9BiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,eAEV,yBAAKlF,UAAU,gBACf,yBAAKA,UAAU,cACX,yBAAKA,UAAU,cAAegD,QA1ExB,WAAF,OAAO7I,EAAMsI,wBA0EsC,iB,8IC4O5DxI,G,MAAAA,aADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAnWa,SAACE,GACzB,IAAMlP,EAAW2P,cACHR,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAAI,EACgDO,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAjFgQ,EAA+B,EAA/BA,gCAA+C,KAAd1C,eACLnO,oBAAS,IAAM,mBAA9Cwe,EAAW,KAAEC,EAAc,OAGNze,mBAAS,CAAE,WAAc,IAAM,CAAE,aAAgB,IAAM,CAAE,UAAa,IAAM,CAAE,YAAe,IAAM,CAAE,UAAa,IAAM,CAAE,YAAe,IAAM,CAAE,aAAgB,IAAM,CAAE,SAAY,KAAK,mBAA/M+V,EAAM,KAAEC,EAAS,OACIhW,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAkC,OAAI,IAAG,mBAAxHzuB,EAAM,KAAE6jB,EAAS,KACtB,EAC8BnW,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAoC,SAAI,IAAG,mBAA9HnpB,EAAQ,KAAEopB,EAAW,OACAhhB,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAkC,OAAI,IAAG,mBAAxHlpB,EAAM,KAAEopB,EAAS,OACQjhB,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAoC,SAAI,IAAG,mBAA9HjpB,EAAQ,KAAEopB,EAAW,OACMlhB,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAqC,UAAI,IAAG,mBAAjIhpB,EAAS,KAAEuiB,EAAY,OACoBta,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAA6C,kBAAI,IAAG,mBAAxI,KAAsB,KAC5CrsB,QAAQC,IAAIiL,EAAMgN,qBAAoB,MACV5M,mBAAuC,OAA9BJ,EAAMgN,oBAA+BhN,EAAMgN,oBAA+B,UAAI,IAAG,mBAAjHqG,EAAO,KAAEkO,EAAU,OACAnhB,mBAA6C,OAApCJ,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAiC,MAAI,IAAG,mBAArHvuB,EAAK,KAAEgoB,EAAQ,OACgCxa,mBAA4C,MAAnC6Q,EAA0CA,EAAgC3U,QAAO,SAAA4O,GAAC,OAAIA,EAAEra,QAAUwiB,KAAS,GAAK,IAAG,mBAAxJ,KAAwB,KAEhDve,QAAQC,IAAwC,OAApCiL,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAAqC,UAAI,IAAG,MAK7E/gB,oBAAS,GAAM,mBAA7BoW,IAAF,KAAY,MAEpBK,GAAezW,mBAAS,MACxBshB,GAAgBthB,mBAAS,MACW,OAApCJ,EAAMmhB,2BAAmF,KAA7CnhB,EAAMmhB,0BAAkC,SACpFtK,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,aAEA,OAApC9W,EAAMmhB,2BAAmF,KAA7CnhB,EAAMmhB,0BAAkC,SACpFtK,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,WAEA,OAApC9W,EAAMmhB,4BACNtK,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,UACpC4K,GAAgB,CAAE7wB,MAAO,IAAKimB,MAAO,YACxC,OACqC1W,mBAASyW,IAAa,qBAAvDE,GAAY,MAAEC,GAAe,SACkB5W,mBAASshB,IAAc,qBAAnD,MAAwB,MAKhD,SAASC,KACL3hB,EAAM2hB,yBAOM,OAAZtO,GAEAkO,EAAW,CAAE1wB,MAAO,IAAKimB,MAAO,aAQhB,IAAhB8H,GAA6D,OAApC3N,IACzB4N,GAAe,GACf/tB,EAAS+J,eACJtJ,MAAK,WACFuD,QAAQC,IAAI,SAAUkc,MAEzB7L,OAAM,WACHtQ,QAAQC,IAAI,aAQxB,IAAMgnB,GAAc,uDAgFpB,OACI,yBAAKlW,UAAU,kCAEX,yBAAKA,UAAU,+BACX,yBAAKA,UAAU,gBACX,yBAAKyD,GAAG,qBACJ,4BAAI,iBAIJ,yBAAKzD,UAAU,gCACX,yBAAKA,UAAU,sCACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,aAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAO6B,EACPykB,UAAW,IACXnN,YAAY,kBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP,IACM6Y,EADY7Y,EAAEmB,OAAOrZ,MACOumB,cAClCb,EAAUqL,GACVzL,EAAkB,UAAI,MAGL,KAAxBA,EAAkB,UAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAW,IAIhG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,eAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAOmH,EACPmf,UAAW,IACXnN,YAAY,oBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP,IACM6Y,EADY7Y,EAAEmB,OAAOrZ,MACOumB,cAClCgK,EAAYQ,GAEZzL,EAAoB,YAAI,MAGL,KAA1BA,EAAoB,YAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAoB,aAAW,KAMxG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,YAG9C,yBAAKA,UAAU,UACX,2BACIqR,aAAa,MACbnmB,KAAK,QACLF,MAAO+B,EACPukB,UAAW,IACXnN,YAAY,iBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACP6R,EAAS7R,EAAEmB,OAAOrZ,OAClBslB,EAAiB,SAAI,MAGL,KAAvBA,EAAiB,SAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAiB,UAAW,KAQlG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,gBAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrmB,MAAOoH,EACPkf,UAAW,GACXtB,aAAc,EACd7L,YAAY,qBACZnE,UAAU,aACVgc,mBAAmB,EACnB5X,SAAU,SAAClB,GACPsY,EAAUtY,EAAEmB,OAAOrZ,OACnBslB,EAAkB,UAAI,MAGL,KAAxBA,EAAkB,UAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAW,KAIpG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,kBAG9C,yBAAKA,UAAU,UACX,kBAAC,IAAY,CACTqR,aAAa,MACbrmB,MAAOqH,EACPif,UAAW,GACXtB,aAAc,EACd7L,YAAY,uBACZ6X,mBAAmB,EACnBhc,UAAU,aACVoE,SAAU,SAAClB,GACPuY,EAAYvY,EAAEmB,OAAOrZ,OACrBslB,EAAoB,YAAI,MAGL,KAA1BA,EAAoB,YAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAoB,aAAW,KAGxG,yBAAKtQ,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,kBAAoB,IAAC,8BAAM,aAGhD,yBAAKA,UAAU,UACX,kBAAC,IAAM,CACHqR,aAAa,MACbrR,UAAU,aACVyD,GAAG,oBACHzY,MAAOkmB,GACP9M,SAAU,SAAClB,GACPiO,GAAgBjO,IACjBiB,YAAY,aAAasN,QA7Q9C,CAClB,CAAEzmB,MAAO,IAAKimB,MAAO,YACrB,CAAEjmB,MAAO,IAAKimB,MAAO,eA8QG,yBAAKjR,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,mBAG9C,yBAAKA,UAAU,UACX,8BACIqR,aAAa,MACbnmB,KAAK,OACLF,MAAOsH,EACPgf,UAAW,IACXnN,YAAY,eACZnE,UAAU,iBACVoE,SAAU,SAAClB,GACP2R,EAAa3R,EAAEmB,OAAOrZ,OACtBslB,EAAqB,aAAI,MAGL,KAA3BA,EAAqB,aAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAqB,cAAW,MAO9G,yBAAKtQ,UAAU,yBACX,yBAAKA,UAAU,aAAagD,QApQxD,WAEI,IAAI6O,GAAQ,EAEE,IAAVhlB,IACAyjB,EAAkB,UAAI,iBACtBuB,GAAQ,GAEPqE,GAAYpE,KAAKjlB,KAClByjB,EAAkB,UAAI,sBACtBuB,GAAQ,GAEI,IAAZ1f,IACAme,EAAoB,YAAI,mBACxBuB,GAAQ,GAEPqE,GAAYpE,KAAK3f,KAClBme,EAAoB,YAAI,sBACxBuB,GAAQ,GAEE,IAAVzf,IACAke,EAAkB,UAAI,oBACtBuB,GAAQ,GAUC,IAAT9kB,GAAgB,2CAA2C+kB,KAAK/kB,KAChEujB,EAAiB,SAAI,qCACrBuB,GAAQ,GAGZtB,EAAUD,GACVK,IAAW,GACNkB,IAML5mB,EAASiH,aAC+B,OAApCiI,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAA2C,gBAAI,KAChGzuB,EACAsF,EACAC,EACAC,EACAC,EACA4e,GAAoB,MACpB9W,EAAoB,OACpBD,EAAMgN,oBACNpa,EACA,IACA,GACA,GACA,MACA,KACDrB,MAAK,eACL6T,OAAM,eAKTuc,KACA7sB,QAAQC,IAAwC,OAApCiL,EAAMmhB,0BAAqCnhB,EAAMmhB,0BAA2C,gBAAI,MAC5GrsB,QAAQC,IAAI,UAAYrC,GACxBoC,QAAQC,IAAI,YAAciD,GAC1BlD,QAAQC,IAAI,UAAYkD,GACxBnD,QAAQC,IAAI,YAAcmD,GAC1BpD,QAAQC,IAAI,aAAeoD,GAC3BrD,QAAQC,IAAI,UAAYgiB,GAAoB,OAC5CjiB,QAAQC,IAAI,qBAAuBgiB,GAAoB,OACvDjiB,QAAQC,IAAI,uBAAyBiL,EAAMgN,wBAwL+B,WAE3C,IACP,yBAAKnH,UAAU,cAAcgD,QAAS8Y,IAAwB,mBCuS/E7hB,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAxnBK,SAACE,GAAW,IAChBC,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KACoBoB,EAAuBb,aAAY,SAACH,GAAK,OAAKA,EAAMe,SAAxEC,mBACR,EAE4Cb,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAjE+P,EAAY,EAAZA,aAAcR,EAAiB,EAAjBA,kBAChB1f,EAAW2P,cAAc,EACLL,mBAAS,CAAE,WAAc,IAAM,CAAE,eAAkB,IAAM,CAAE,iBAAoB,IAAM,CAAE,UAAa,KAAK,mBAA9H+V,EAAM,KAAEC,EAAS,OACsBhW,mBAAS,MAAK,mBAArD7I,EAAe,KAAEwtB,EAAkB,OACM3kB,oBAAS,GAAM,mBAAnB,GAArB,KAAqB,KAChBA,mBAAS,OAAK,mBAAnC4kB,EAAM,KAAEC,EAAS,OACM7kB,oBAAS,GAAM,mBAA7BoW,GAAF,KAAY,QACgCpW,mBAAS,IAAG,mBAAhB,GAA1B,KAA0B,KACNA,mBAAS,OAAK,mBAAvD7G,EAAgB,KAAEiiB,EAAmB,OACgBpb,mBAAS,IAAG,mBAAjE8kB,EAAsB,KAAEC,EAAyB,OAClB/kB,oBAAS,GAAM,mBAA9Cwe,EAAW,KAAEC,EAAc,OACgBze,oBAAS,GAAM,mBAAvC8hB,GAAF,KAAsB,QACoChiB,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAArGC,EAAqB,EAArBA,sBAA2CiO,GAAF,EAAlBD,mBAA4C,EAAxBC,0BAAwB,GAC/B/O,oBAAS,GAAM,qBAApDglB,GAAc,MAAEC,GAAiB,SACVjlB,oBAAS,GAAM,qBAAtCklB,GAAO,MAAEC,GAAU,MAII,OAA1BrkB,IAAkD,IAAhB0d,GAAgD,OAAvB7d,IAC7D8d,GAAe,GACf/tB,EAASgG,YAAoBiK,IAC1BxP,MAAK,eAEL6T,OAAM,gBAWX,OAGsChF,mBAAS,MAAK,qBAA/ColB,GAAY,MAAEC,GAAe,SACZrlB,mBAAS,IAAG,qBAA7BslB,GAAI,MAAEC,GAAO,SAEsBvlB,mBAAS,MAAK,qBAAjDwlB,GAAa,MAAEC,GAAgB,SAC4BzlB,mBAAsC,OAA7B+O,EAAoCA,EAAyB7S,QAAO,SAAA4O,GAAC,OAAIA,EAAEra,QAAU+0B,MAAe,GAAK,IAAG,qBAAhLzE,GAAyB,MAAEW,GAA4B,MAG5D,GACwB1hB,mBACN,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,aAFjC,IAInB,kBAJmB,GAKAG,mBACF,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,gBAFhDyE,GAIJ,kBAJe,MAMatE,mBACX,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,cAFhD2E,GAIJ,kBAJwB,MAMWxE,mBAClB,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,eAFhD4E,GAIJ,kBAJ+B,GAKP,OAArBtL,GACFiiB,EAAoB,IAAI7e,MAE1B,IAAIka,GAAezW,mBAAS,MAC5ByW,GAAe,CAAEhmB,MAAO,IAAKimB,MAAO,UAAU,OAER1W,mBAASyW,IAAa,qBAI3D,IAJgB,MAAiB,MAUNzW,mBAAS,OAAK,qBAArCiT,GAAO,MAAEkO,GAAU,SACgCnhB,oBAAS,GAAM,qBAAlEohB,GAAqB,MAAEC,GAAwB,MAGtB,OAA1BvgB,QAA4DsD,IAA1BtD,GAAgE,GAAzBsgB,IAAiD,GAAf9c,KAC7G+c,IAAyB,GACzBvgB,EAA4B,KAAEkb,SAAQ,SAAC/I,GACrCkO,GAAW,CAAE1wB,MAAOwiB,EAAQxiB,MAAOimB,MAAOzD,EAAQyD,QAClDhmB,EAASkG,YAA0Bqc,EAAQxiB,QACxCU,MAAK,eAEL6T,OAAM,mBAIG,OAAZiO,IACFkO,GAAW,CAAE1wB,MAAO,IAAKimB,MAAO,YAGZ,OAAlB8O,IACFC,GAAiB,CAAEh1B,MAAO,IAAKimB,MAAO,YAmUxC,OArGAhiB,QAAQC,IAAIqwB,IAEZ9hB,qBAAU,WACR6d,GAAyD,OAA7BhS,EAAoCA,EAAyB7S,QAAO,SAAA4O,GAAC,OAAIA,EAAEra,QAAU+0B,MAAe,GAAK,GACrI9D,GAA6BX,MAC5B,CAAChS,IAGJ7L,qBAAU,WAIRxO,QAAQC,IAAI,UAAWse,GAASA,GAAe,OAC1B,OAAjBrC,GAA8C,MAArBqC,GAAe,OAG1CviB,EAASK,YAAkBkiB,GAAe,QACvC9hB,MAAK,eAGL6T,OAAM,iBAGV,CAACiO,KAEJ/P,qBAAU,WAQR,GANAxO,QAAQC,IAAI,oBAAqByb,EAAmB,UAAW6C,GAAS,wBAAyBnS,EAAuB,eAAgB8P,GAM1G,OAA1B9P,EAAgC,CAElCykB,GAAQzkB,EAA4B,MAEpC,IAAI4kB,EAAiC,OAAtBtV,EAA6BA,EAAkBlU,QAAO,SAAA4O,GAAC,OAAIA,EAAE3B,WAAa8J,GAAe,SAAK,GACzG0S,EAAYL,GAAKppB,QAAO,SAAA4O,GAAC,OAAIA,EAAE3B,WAAa8J,GAAe,SAiB/D,GAbI0S,EAAUxpB,OAAS,IAIP,GAAVyoB,GAAeA,EAAS9mB,WAAW6nB,EAAU,GAA2B,uBAAE5nB,QAAQ,OACpF8mB,EAAU/mB,WAAW6nB,EAAU,GAA2B,uBAAE5nB,QAAQ,KACpEsnB,GAAgBvnB,WAAW6nB,EAAU,GAA2B,uBAAE5nB,QAAQ,MAO1E2nB,EAASvpB,OAAS,GAAKwpB,EAAUxpB,OAAS,QAAmBiI,IAAduhB,GAAyC,OAAdA,EAAoB,CAEhGjxB,QAAQC,IAAI,iBACZ,IAAIixB,EAmCV,SAAmBC,EAAKC,GACtB,IAAIC,EAAM,EAIV,OAHAF,EAAI7J,SAAQ,SAAAhS,GACV+b,GAAO/b,EAAK8b,MAEPC,EAxCgBC,CAAUN,EAASxpB,QAAO,SAAA4O,GAAC,OAAIA,EAAEmb,QAAUP,EAAS,GAAW,UAAI,CAAC,gBAEvF,QAAkBthB,IAAduhB,GAA6B7nB,WAAW8nB,IAAkB9nB,WAAW6nB,EAAU,GAAsB,mBAAK,CAC5GjxB,QAAQC,IAAI+wB,GACZ,IAAIQ,EAAapoB,WAAW4nB,EAAS,GAAW,OAAE3nB,QAAQ,IAAMD,WAAW6nB,EAAU,GAAyB,qBAAE5nB,QAAQ,KAC1G,GAAV6mB,GAAeA,EAASsB,KAC1BrB,EAAUqB,GACVb,GAAgBa,QAGb,CACL,IAAIA,EAAapoB,WAAW4nB,EAAS,GAAW,OAAE3nB,QAAQ,KAC5C,GAAV6mB,GAAeA,EAASsB,KAC1BrB,EAAU/mB,WAAW4nB,EAAS,GAAW,OAAE3nB,QAAQ,KACnDsnB,GAAgBvnB,WAAW4nB,EAAS,GAAW,OAAE3nB,QAAQ,WAYhE,CAACkV,GAASnS,EAAuBsP,IAkBlC,6BAC8B,SAA3B0U,EACC,kBAACqB,EAAoB,CACnB5E,uBAnUuB,WAAQwD,EAA0B,KAoUzDhE,0BAA2BA,GAC3BnU,oBAAqBqG,GAAe,QAAQ,GAEhD,yBAAKxN,UAAU,oBAEb,wBAAIA,UAAU,iBAAgB,oBAC5B,yBAAKA,UAAU,cACb,yBAAKA,UAAU,aACb,uBAAGA,UAAW,CAAC,MAAQ7F,EAAMgT,YAAqC,oBAAvB,sBAA4C9T,KAAK,KAAM2J,QAAS,kBAAM7I,EAAMkE,gBAAgBlE,EAAMiE,mBAInJ,yBAAK4B,UAAU,kBACb,yBAAKA,UAAU,yBACb,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,uBACZ,IACD,0BAAMA,UAAU,oBAAmB,WAAe,KAGpD,yBAAKA,UAAU,gBACb,kBAAC,IAAM,CACL3C,WAAoC,GAAxB0B,IAA+D,GAA/BC,IAAsD,GAAfH,IAA6B1E,EAAMkD,WACtH2C,UAAU,cACVyD,GAAG,oBACHzY,MAAOwiB,GACPpJ,SAAU,SAAClB,GAETwY,GAAWxY,GAEXmZ,GAAqB,GAGrB+C,EAAU,GAEVn0B,EAASkG,YAA0B+R,EAAElY,QAClCU,MAAK,WACJs0B,GAAiB,CAAEh1B,MAAO,IAAKimB,MAAO,YACtCgL,GAA6B,SAG9B1c,OAAM,eAETtU,EAASK,YAAkB4X,EAAElY,QAC1BU,MAAK,WACJs0B,GAAiB,CAAEh1B,MAAO,IAAKimB,MAAO,YACtCgL,GAA6B,SAG9B1c,OAAM,eAKT+Q,EAAmB,WAAI,IACtBnM,YAAY,UACfsN,QAAmC,OAA1BpW,EAAiCA,EAA4B,KAAI,GAC1EslB,SAAS,MACe,KAAzBrQ,EAAmB,WAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAmB,YAAW,KAGlG,yBAAKtQ,UAAU,oBACb,yBAAKA,UAAU,uBACZ,IACD,0BAAMA,UAAU,oBAAmB,0BAErC,kBAAC,IAAY,CACX4gB,SAAkC,GAAxB7hB,IAA+D,GAA/BC,IAA6C7E,EAAMkD,WAC7F2C,UAAU,cACVhV,MAAO0G,EACP4f,UAAW,EACX0F,eAAe,EACfjH,mBAAmB,EACnBC,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,GACRC,cAAe,SAACC,GACoBA,EAA1BC,eADkB,IACFrsB,EAAUosB,EAAVpsB,MAGxBk0B,EAAmBl0B,GAGnBslB,EAAuB,eAAI,IAG7BqQ,SAAS,MAEmB,KAA7BrQ,EAAuB,eAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAuB,gBAAW,OAM9G,yBAAKtQ,UAAU,kCACb,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,uBACZ,IACD,0BAAMA,UAAU,oBAAmB,iBAAqB,IAC3C,OAAZwN,IAAyC,MAArBA,GAAe,MAClC,yBAAKxN,UAAU,mBAAmBwP,MAAM,UAAUxM,QA9azC,WAAQiZ,GAA6B,MAAOqD,EAA0B,UA+a7E,uBAAGuB,MAAM,sBAET,IAEN,yBAAK7gB,UAAU,gBACb,kBAAC,IAAM,CAEL3C,WAAoC,GAAxB0B,IAA+D,GAA/BC,IAA6C7E,EAAMkD,WAC/F2C,UAAU,cACVyD,GAAG,oBACHzY,MAAOswB,GACPlX,SAAU,SAAClB,GACT8c,GAAiB9c,GACjB+Y,GAA6B/Y,GAE7BoN,EAAyB,iBAAI,IAC5BnM,YAAY,UACfsN,QAAsC,OAA7BnI,EAAoCA,EAA2B,GACxEqX,SAAS,MACqB,KAA/BrQ,EAAyB,iBAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAyB,kBAAW,KAW9G,yBAAKtQ,UAAU,oBACb,yBAAKA,UAAU,uBACZ,IACD,0BAAMA,UAAU,oBAAmB,WAErC,kBAAC,IAAY,CACX4gB,SAAkC,GAAxB7hB,IAA+D,GAA/BC,IAA6C7E,EAAMkD,WAC7F2C,UAAU,cACVhV,MAAOm0B,EACPpP,mBAAmB,EACnBiH,eAAe,EACfhH,aAAc,EACdC,mBAAmB,EACnBgH,iBAAkB,IAClBC,OAAQ,IACRC,cAAe,SAACC,GACoBA,EAA1BC,eADkB,IACFrsB,EAAUosB,EAAVpsB,MACxBo0B,EAAU/mB,WAAWrN,GAAOsN,QAAQ,IAIpCgY,EAAkB,UAAI,IAExBwQ,UAAW,SAAC1J,GAAY,IACd2J,EAAe3J,EAAf2J,WACR,OAAOA,GAAc,GAAKA,GAAc,UAE1CJ,SAAS,MAEc,KAAxBrQ,EAAkB,UAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAAW,IAG9F,6BACE,4BACEsQ,SAC0B,GAAxB7hB,IAA+D,GAA/BC,IAAyD,GAAlBugB,IAAqC,GAAXE,IAAyBtlB,EAAMkD,WAElI2C,UAA+B,GAApB7F,EAAMkD,YAA+C,GAAxB0B,IAAgE,GAA/BC,GAAuC,cAAgB,oBAEhIgE,QAAS,SAACE,IA/e5B,WACE,IAAKuc,GAAS,CACZC,IAAW,GACXsB,YAAW,WACTtB,IAAW,KACV,KAGH,GAAyB,MAArBlS,GAAe,MASjB,YAPAjgB,sBAAoB0zB,QAClB,mBACA,UACA,KACA,cACA,GAKJ,GAA+B,MAA3BlB,GAAqB,MASvB,YAPAxyB,sBAAoB0zB,QAClB,yBACA,UACA,KACA,cACA,GAKJ,GAAwB,OAApBvvB,EASF,YAPAnE,sBAAoB0zB,QAClB,oBACA,UACA,KACA,cACA,GAIJ,GAAe,OAAX9B,EASF,YAPA5xB,sBAAoB0zB,QAClB,kBACA,UACA,KACA,cACA,GAMJ,GAAqB,OAAjB9V,GAAyB9S,WAAW3G,GAAmB2G,WAAW8S,EAAa,GAAsB,mBAQvG,YAPA5d,sBAAoB0zB,QAClB,sDACA,UACA,KACA,cACA,GAKJ,GAAmC,IAA/B5oB,WAAW3G,GAQb,YAPAnE,sBAAoB0zB,QAClB,gCACA,UACA,KACA,cACA,GAKJ,GAAmC,GAA/B5oB,WAAW3G,GAQb,YAPAnE,sBAAoB0zB,QAClB,0CACA,UACA,KACA,cACA,GAKJ,GAAoB,MAAhB9V,GAAyB9S,WAAWsnB,MAAkBtnB,WAAW8S,EAAa,GAA2B,yBAEvG9S,WAAW8mB,KAAY9mB,WAAW8S,EAAa,GAA2B,yBAAM9S,WAAW8mB,GAAW9mB,WAAWsnB,IAAgBtnB,WAAW8S,EAAa,GAAyB,sBAepL,OAZAlc,QAAQC,IAAImJ,WAAW8mB,IACvBlwB,QAAQC,IAAImJ,WAAWsnB,KACvB1wB,QAAQC,IAAImJ,WAAW8S,EAAa,GAAyB,uBAC7Dlc,QAAQC,IAAImJ,WAAWsnB,IAAgBtnB,WAAW8S,EAAa,GAAyB,4BACxF5d,sBAAoB0zB,QAElB,2CAA6C9oB,YAAawnB,IAAgB,cAC1E,UACA,KACA,cACA,GAYN,GAAoB,MAAhBxU,GAAyB9S,WAAW8mB,GAAY9mB,WAAWsnB,IAAcrnB,QAAQ,GAAMD,WAAW8S,EAAa,GAAyB,qBAAE7S,QAAQ,KAASD,WAAW8mB,KAAY9mB,WAAWsnB,IAc/L,OAZA1wB,QAAQC,IAAIiwB,GACZlwB,QAAQC,IAAIywB,IACZ1wB,QAAQC,IAAI,WAAYic,EAAa,GAAyB,sBAC9Dlc,QAAQC,IAAKmJ,WAAWsnB,IAAgBtnB,WAAW8S,EAAa,GAAyB,4BACzF5d,sBAAoB0zB,QAElB,+DAAiE9oB,YAAawnB,IAC9E,UACA,KACA,cACA,GAKJ,IAA0B,IAArBtnB,WAAW8mB,IAAe7mB,QAAQ,GAAKD,WAAsD,IAA1C8S,EAAa,GAAyB,uBAAa,EAWzG,OAVAlc,QAAQC,IAAImJ,WAAW8mB,IACvBlwB,QAAQC,IAA0B,IAArBmJ,WAAW8mB,IACxBlwB,QAAQC,IAAImJ,WAAsD,IAA1C8S,EAAa,GAAyB,4BAC9D5d,sBAAoB0zB,QAClB,uCAAyC9V,EAAa,GAAyB,qBAC/E,UACA,KACA,cACA,GAWJ,GAAoB,MAAhBA,GAAwB9S,WAAW8mB,GAAU9mB,WAAW8S,EAAa,GAAmB,gBAQ1F,YAPA5d,sBAAoB0zB,QAClB,oDAAwD9oB,YAAagT,EAAa,GAAmB,gBACrG,UACA,KACA,cACA,GAOJ,GAAoB,MAAhBA,GAAyB9S,WAAW8mB,GAAU9mB,WAAWsnB,IAQ3D,YAPApyB,sBAAoB0zB,QAClB,mCAAqC9oB,YAAawnB,IAAgB,cAClE,UACA,KACA,cACA,GASJpP,EAAUD,GACVK,GAAW,GAKX6O,IAAkB,GAClBv0B,EAASsG,aACP,KACAic,GAAe,MACfuS,GAAqB,MACrBruB,EACAytB,EACA,IACA/kB,EAAoB,OACpBc,EACA,IAAK,GAAI,GAAI,MAAO,KACnBxP,MAAK,WAENs0B,GAAiB,CAAEh1B,MAAO,IAAKimB,MAAO,YACtCgL,GAA6B,MAC7BiD,EAAmB,IAEnB/kB,EAAMkG,YAAYzI,YAAmB,qBACrC4nB,IAAkB,MAEjBjgB,OAAM,WACLigB,IAAkB,OAgSN0B,KAKH,mBAUb,kBAAC,wBAAqB,W,oHC3gBbjnB,G,kBAAAA,aADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EA/Ge,SAACE,GAG3B,IAAMlP,EAAW2P,cAAc,EACLL,mBAAS,CAAE,cAAiB,IAAM,CAAE,eAAkB,KAAK,mBAAhF+V,EAAM,KAAEC,EAAS,OAEkBhW,mBAA2C,OAAlCJ,EAAMgnB,wBAAmChnB,EAAMgnB,wBAAqC,YAAI,IAAG,mBAAvIhsB,EAAa,KAAkB,QACFoF,mBAA2C,OAAlCJ,EAAMgnB,wBAAmChnB,EAAMgnB,wBAAoC,WAAI,KAAG,mBAAhIrrB,EAAU,KAAEsrB,EAAa,OAGD7mB,mBAASJ,EAAM2T,sBAAvCA,EAA4D,iBAAxC,KACPvT,mBAASJ,EAAM5O,WAA5BA,EAAsC,iBAA7B,KACIgP,mBAASJ,EAAMhO,WAA5BA,EAAsC,iBAA7B,GAId,EAG4BoO,oBAAS,GAAM,mBAA7BoW,GAAF,KAAY,MAElB0Q,GADwBhnB,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KACoB,WAAH,OAASK,EAAMmnB,6BAsCxC,OACI,yBAAKthB,UAAU,oBACX,yBAAKA,UAAU,+BACX,yBAAKA,UAAU,0BACX,yBAAKyD,GAAG,qBACJ,4BAAI,kBAGJ,yBAAKzD,UAAU,gCACX,yBAAKA,UAAU,wDAEX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,UACX,+BACI,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,iBAG9C,yBAAKA,UAAU,UACX,8BACI9U,KAAK,OACLF,MAAO8K,EACP+O,MAAO,CAAEpK,OAAQ,SACjB6W,UAAW,KAEXnN,YAAY,aACZnE,UAAU,iBACVoE,SAAU,SAAClB,GACPke,EAAcle,EAAEmB,OAAOrZ,OACvBslB,EAAsB,cAAI,MAGL,KAA5BA,EAAsB,cAAW,yBAAKtQ,UAAU,kBAAkBsQ,EAAsB,eAAW,MAKhH,yBAAKtQ,UAAU,yBACX,yBAAKA,UAAU,aAAagD,QAnExD,WAQIuN,EAAUD,GACVK,GAAW,GAIX1lB,EAAS4K,YACLV,EACAW,EACAgY,EACA3hB,EACAZ,IAEDG,MAAK,WACJT,EAAS2K,YAAwBT,EAAe2Y,EAAsB3hB,EAAWZ,EAAW,IAAK,GAAI,GAAI,MAAO,KAChH4O,EAAMkG,YAAYzI,YAAmB,wBACtC2H,OAAM,eAIT8hB,MAwC0E,WAE3C,IACP,yBAAKrhB,UAAU,cAAcgD,QAASqe,GAAqB,mB,YCuU5EpnB,iBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAvaO,SAACE,GAKrB,IAAMlP,EAAW2P,cAGHR,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAAI,EACiBS,mBAASJ,EAAMe,oBAAvC4S,EAA0D,iBAAtC,KACPvT,mBAASJ,EAAM5O,WAA5BA,EAAsC,iBAA7B,KACIgP,mBAASJ,EAAMhO,WAA5BA,EAAsC,iBAA7B,GACd8C,QAAQC,IAAI,KAAM4e,GACYzT,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAnDuP,kBAD+B,IAGvC,EACmFtQ,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAxGiQ,EAAwB,EAAxBA,yBAA0BO,EAAoB,EAApBA,qBAA4C,EAAtBD,uBACxD1c,QAAQC,IAAI,uBAAwB0c,GAAqB,MACSrR,oBAAS,GAAM,mBAA5EgnB,EAA0B,KAAEC,EAA6B,OAEhBjnB,oBAAS,GAAM,mBAAnB,GAArB,KAAqB,KACRA,oBAAS,IAAM,mBAA1C2T,EAAS,KAAEC,EAAY,KAC9B,EAC4D5T,mBAAS,MAAK,mBAArE4mB,EAAuB,KAAEM,EAA0B,OACIlnB,mBAAS,IAAG,mBAAnEmnB,EAAuB,KAAEC,EAA0B,OAEhCpnB,mBACN,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,aAFhDwE,EAIJ,iBAJmB,KAMSrE,mBACX,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,cAFhD2E,EAIJ,iBAJwB,KAMWxE,mBAClB,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,eAFhD4E,EAIJ,iBAJ+B,KAKFzE,mBACZ,OAAhBH,GACI7D,YAA0B6D,EAAkB,KAAG,cAFhD0E,EAIJ,iBAJyB,GAMO,OAA7BuM,IAAoE,IAA/BkW,IACvCC,GAA8B,GAC9Bv2B,EAASgK,YAAuB6Y,EAAsB3hB,EAAWZ,EAAW,IAAK,GAAI,GAAI,MAAO,KAC7FG,MAAK,WAEJuD,QAAQC,IAAImc,MAEb9L,OAAM,gBAIX,MAE4ChF,mBAAS,IAAG,mBAAnDwT,EAAe,KAAEoQ,EAAkB,OACR5jB,mBAAS,CAA8B,OAA7B8Q,EAAoCA,EAA2B,KAAI,mBAAxGjM,EAAS,KAAEC,EAAY,KAEK,OAA7BgM,GAAqCA,GAA4BjM,GAAiC,KAApB2O,GAChF1O,EAAagM,GASf,IAAMuW,GAA2B,SAAC52B,EAAO2hB,GACvC,OACE,oCACE,4BAAQ9H,MAAO,CAAEgd,OAAQ,OAAQC,QAAS,QACxCre,GAAmB,OAAfzY,EAAMW,KACRX,EAAMW,KAAkB,YAAI,IAC9BqU,UAA4D,MAAjDhV,EAAMW,KAAqC,+BAAY,wBAA0B,kBAC5FqX,QAAS,SAACE,GACR6e,GAAiC7e,QAOrC8e,GAA4C,SAACh3B,EAAO2hB,GACxD,OACE,oCACE,4BAAQ9H,MAAO,CAAEgd,OAAQ,OAAQC,QAAS,QACxCre,GAAmB,OAAfzY,EAAMW,KACRX,EAAMW,KAAkB,YAAI,IAC9BqU,UAA0D,MAA/ChV,EAAMW,KAAmC,6BAAY,wBAA0B,kBAC1FqX,QAAS,SAACE,GACR+e,GAA8C/e,QAWlDgf,GAA2B,SAACl3B,GAChC,OACE,oCACE,4BAAQ6Z,MAAO,CAAEgd,OAAQ,OAAQC,QAAS,QACxCre,GAAmB,OAAfzY,EAAMW,KACRX,EAAMW,KAAkB,YAAI,IAC9BqU,UAAgD,MAArChV,EAAMW,KAAyB,mBAAY,qBAAuB,eAC7EqX,QACE,SAACE,GACCif,GAAuBjf,GACvBiL,GAAa,QAWnBiU,GAAsB,SAACp3B,GAC3B,OACE,oCACE,4BAAQ6Z,MAAO,CAAEgd,OAAQ,OAAQC,QAAS,QACxCre,GAAmB,OAAfzY,EAAMW,KACRX,EAAMW,KAAkB,YAAI,IAC9BqU,UAAgD,MAArChV,EAAMW,KAAyB,mBAAY,qBAAuB,eAC7EqX,QAAS,SAACE,GACRmf,GAAkBnf,GAClBiL,GAAa,QAQjBgU,GAAyB,SAACxV,GAC9B,IAAIxX,EAAgBsS,SAASkF,EAAQtI,OAAOZ,IAG/B,OAFF4H,EAAyB5U,QAAO,SAAA4O,GAAC,OAAIA,EAAEid,cAAgBntB,KAAe,IAG/ElK,EAASiK,YAA6BC,IACnCzJ,MAAK,SAACoV,GAEO,OAARA,IACF7V,EAAS8K,YAA0BZ,EAAe2Y,EAAsB3hB,EAAWZ,IACnFg3B,GAAQzhB,GACR3G,EAAMkG,YAAYzI,YAAmB,sBAEvCuW,GAAa,MAGd5O,OAAM,WACL4O,GAAa,OAOfkU,GAAoB,SAAC1V,GACzB,IAAIrX,EAAiBmS,SAASkF,EAAQtI,OAAOZ,IAEhC,OADF4H,EAAyB5U,QAAO,SAAA4O,GAAC,OAAIA,EAAEmd,iBAAmBltB,KAAgB,IAEnFrK,EAASmK,YAAuBE,IAC7B5J,MAAK,SAACoV,GACO,OAARA,IACF7V,EAAS+K,YAA0BV,EAAgBwY,EAAsB3hB,EAAWZ,IACpFg3B,GAAQzhB,GACR3G,EAAMkG,YAAYzI,YAAmB,sBAEvCuW,GAAa,MAEd5O,OAAM,WACL4O,GAAa,OAMrB,SAASoU,GAAQE,GAEf,OADAlhB,OAAO+M,KAAKmU,IACL,EAGT,IAAMV,GAAmC,SAACpV,GACxC,IAAIxX,EAAgBsS,SAASkF,EAAQtI,OAAOZ,IAC5CxU,QAAQC,IAAI,QAASmc,GACrBpc,QAAQC,IAAI,KAAMiG,GAEL,OADFkW,EAAyB5U,QAAO,SAAA4O,GAAC,OAAIA,EAAEmd,iBAAmBrtB,KAAe,IAElFlK,EAASuK,YAAoBsY,EAAsB3Y,IAChDzJ,MAAK,SAACoV,GACL7V,EAASgL,YAAyBd,EAAe2Y,EAAsB3hB,EAAWZ,IAClF4O,EAAMkG,YAAYzI,YAAmB,wBAEtC2H,OAAM,gBAMP0iB,GAAgD,SAACtV,GACrD,IAAIxX,EAAgBsS,SAASkF,EAAQtI,OAAOZ,IAC5CxU,QAAQC,IAAI,QAASmc,GACrBpc,QAAQC,IAAI,KAAMiG,GAEL,OADFkW,EAAyB5U,QAAO,SAAA4O,GAAC,OAAIA,EAAEmd,iBAAmBrtB,KAAe,IAElFlK,EAAS0K,YAA6BmY,EAAsB3Y,IACzDzJ,MAAK,SAACoV,GACL7V,EAASiL,YAA+Bf,EAAe2Y,EAAsB3hB,EAAWZ,IACxF4O,EAAMkG,YAAYzI,YAAmB,wBAEtC2H,OAAM,gBAiBb,IAAMkO,GAAuBZ,uBAAY,SAACC,EAAU,GAAmB,IAAhBC,EAAQ,EAARA,SAErDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CAChB,CACEgE,MAAO,SACPjO,QAAS,WACPye,EAA2B1U,EAASphB,MACpCg2B,EAA2B,QAC3B1yB,QAAQC,IAAI6d,EAASphB,QAGzB,CACEslB,MAAO,iBACPjO,QAAS,WACPye,EAA2B1U,EAASphB,MACpCg2B,EAA2B,QAC3B1yB,QAAQC,IAAI6d,EAASphB,WAK1B,IAKH,IAAM+2B,GAA4B,SAAC13B,GAEjC,OACE,oCACkC,MAA/BA,EAAMW,KAAmB,aACxB,4BACEqU,UAAU,eACVgD,QACE,SAACE,OAKL,4BACElD,UAAU,eACVgD,QACE,SAACE,SAWTxD,IAA8B,IAApBd,EAA2B,CAEvC,CAAEe,KAAM,gBAAiBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KACvL,CAAEhP,KAAM,QAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAoB7O,YAAa,GAAKC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,SAAU4O,SAAU,KAC/M,CAAEhP,KAAM,sBAAuBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,kBAAsB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KACnM,CAAEhP,KAAM,cAAeC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,eAAmB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,SAAU4O,SAAU,KAClN,CAAEhP,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,GAAKC,eAAgB,MAAOE,UAAW,cAAeC,OAAQ,gBAAGjV,EAAK,EAALA,MAAK,OAAOmN,YAAanN,IAAQ+U,YAAa,SAAU4O,SAAU,IACvP,CAAEhP,KAAM,sBAAuBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,gBAAoB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKuV,GAAyBvV,IAAU5M,YAAa,SAAU4O,SAAU,KACjR,CAAEhP,KAAM,iBAAkBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAoB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKyV,GAAoBzV,IAAU5M,YAAa,SAAU4O,SAAU,KACvQ,CAAEhP,KAAM,eAAgBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,SAAM,6BAAM,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKiV,GAAyBjV,IAAU5M,YAAa,SAAU4O,SAAU,KAClR,CAAEhP,KAAM,oBAAqBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,SAAM,6BAAM,kBAAsB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKqV,GAA0CrV,IAAU5M,YAAa,SAAU4O,SAAU,KAC9S,CAAEhP,KAAM,UAAWC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAK+V,GAA0B/V,IAAU5M,YAAa,SAAU4O,SAAU,OAIxO,IAA1B7P,EACA,CACE,CAAEa,KAAM,gBAAiBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KAEvL,CAAEhP,KAAM,QAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAoB7O,YAAa,GAAKC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,SAAU4O,SAAU,KAC/M,CAAEhP,KAAM,sBAAuBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,kBAAsB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KACnM,CAAEhP,KAAM,cAAeC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,eAAmB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,SAAU4O,SAAU,KAClN,CAAEhP,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,GAAKC,eAAgB,MAAOE,UAAW,cAAeC,OAAQ,gBAAGjV,EAAK,EAALA,MAAK,OAAOmN,YAAanN,IAAQ+U,YAAa,SAAU4O,SAAU,IAEvP,CAAEhP,KAAM,iBAAkBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAoB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKyV,GAAoBzV,IAAU5M,YAAa,SAAU4O,SAAU,KACvQ,CAAEhP,KAAM,eAAgBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,SAAM,6BAAM,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKiV,GAAyBjV,IAAU5M,YAAa,SAAU4O,SAAU,KAClR,CAAEhP,KAAM,oBAAqBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,SAAM,6BAAM,kBAAsB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKqV,GAA0CrV,IAAU5M,YAAa,SAAU4O,SAAU,OAIrR,IAAzB5P,EACA,CACE,CAAEY,KAAM,gBAAiBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KAEvL,CAAEhP,KAAM,QAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAoB7O,YAAa,GAAKC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,SAAU4O,SAAU,KAC/M,CAAEhP,KAAM,sBAAuBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,kBAAsB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KACnM,CAAEhP,KAAM,cAAeC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,eAAmB7O,YAAa,GAAKC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,SAAU4O,SAAU,KACpN,CAAEhP,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,GAAKC,eAAgB,MAAOE,UAAW,cAAeC,OAAQ,gBAAGjV,EAAK,EAALA,MAAK,OAAOmN,YAAanN,IAAQ+U,YAAa,SAAU4O,SAAU,IACvP,CAAEhP,KAAM,sBAAuBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,gBAAoB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKuV,GAAyBvV,IAAU5M,YAAa,SAAU4O,SAAU,KACjR,CAAEhP,KAAM,UAAWC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAK+V,GAA0B/V,IAAU5M,YAAa,SAAU4O,SAAU,OAGlO,IAAhC3P,EACA,CACE,CAAEW,KAAM,gBAAiBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KAGvL,CAAEhP,KAAM,QAASC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAoB7O,YAAa,GAAKC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,SAAU4O,SAAU,KAC/M,CAAEhP,KAAM,sBAAuBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,kBAAsB7O,YAAa,EAAGC,eAAgB,MAAOC,YAAa,SAAU4O,SAAU,KACnM,CAAEhP,KAAM,cAAeC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,eAAmB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,cAAeD,YAAa,SAAU4O,SAAU,KAClN,CAAEhP,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,GAAKC,eAAgB,MAAOE,UAAW,cAAeC,OAAQ,gBAAGjV,EAAK,EAALA,MAAK,OAAOmN,YAAanN,IAAQ+U,YAAa,SAAU4O,SAAU,IACvP,CAAEhP,KAAM,iBAAkBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,mBAAoB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKyV,GAAoBzV,IAAU5M,YAAa,SAAU4O,SAAU,KACvQ,CAAEhP,KAAM,eAAgBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,SAAM,6BAAM,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKiV,GAAyBjV,IAAU5M,YAAa,SAAU4O,SAAU,KAClR,CAAEhP,KAAM,oBAAqBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,SAAM,6BAAM,kBAAsB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAKqV,GAA0CrV,IAAU5M,YAAa,SAAU4O,SAAU,KAC9S,CAAEhP,KAAM,UAAWC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,YAAgB7O,YAAa,EAAGC,eAAgB,MAAOE,UAAW,YAAaC,OAAQ,SAAC0M,GAAO,OAAK+V,GAA0B/V,IAAU5M,YAAa,SAAU4O,SAAU,MAEpQ,GAIN,OACE,yBAAK3O,UAAW,CAAC,WAAY,WAAW3G,KAAK,MAE3C,yBAAK2G,UAAW,CAAC,gBACX,IAD2BkO,EACpB,cAAgB,IAAI7U,KAAK,MAAM,yBAAK2G,UAAU,aAC9B,SAA5B0hB,EACC,kBAAC,EAAqB,CACpBrhB,YAAalG,EAAMkG,YACnBihB,yBAlGR,WACEK,EAA2B,KAkGrBR,wBAAyBA,EACzBrT,qBAAsBA,EACtB3hB,UAAWA,EACXZ,UAAWA,IACR,GAGP,yBAAKyU,UAAU,mCACb,yBAAKA,UAAU,0BACb,4BAAI,gBAEF,yBAAKA,UAAU,qBAGjB,yBAAKA,UAAU,qBAAoB,gBACjC,yBAAKA,UAAU,cACb,yBAAKA,UAAU,aACb,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAO+iB,EAAiB3J,SAAU,SAAClB,GAvJ1F,IAAwBoB,EAAMpF,EAwJdif,EAAmBjb,EAAEmB,OAAOrZ,OAxJpBsZ,EAyJoC,OAA7B+G,EAAoCA,EAA2B,GAzJhEnM,EAyJoEgE,EAAEmB,OAAOrZ,MAvJzGqU,EAAaiF,EAAK7N,QAAO,SAAU8N,GACjC,SAAIA,EAAoB,cAAEC,cAAcC,SAASvF,EAAcwF,uBAC7DH,EAA0B,oBAAEC,cAAcC,SAASvF,EAAcwF,6BAsJpD,uBAAG1E,UAAU,qBAKxB,kBAAC,IAAQ,CACP4E,WAAW,iBACXC,MAjYQ,CAAErK,UAAW,QAASC,OAAQ,QAkYtCiF,QAASA,GACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAqD,GAA/BzO,GAAiE,GAAzBF,EAAiC2O,GAAuB,GACtHvI,MAAM,eAKR,yBAAKlF,UAAU,gBAIb,yBAAKA,UAAU,cACb,yBAAKA,UAAU,cAAcgD,QAlVzC,WACE7I,EAAMwI,4BAiV4D,UAO5D,qC,0MCnasBgD,IAAMuK,W,iCCNtC,a,gCCAA,4JAYa5D,EAAuB,SAACC,GAAO,OAAK,SAACthB,GAIhD,OAHAA,EAAS,CACPC,KAAMlK,OAED2hC,IAAcrW,qBAAqBC,GAAS7gB,MACnD,SAACC,GACC,OAAS,MAANA,GACDV,EAAS,CACPC,KAAMjK,KACNkK,QAAS,CAAEQ,KAAMA,KAEZP,QAAQC,YAEfJ,EAAS,CACPC,KAAMnK,OAGRkK,EAAS,CACPC,KAAMzK,KACN0K,QAAS,6BAEJC,QAAQY,aAGnB,SAACJ,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMnK,OAGRkK,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAINogB,EAAuB,SAACC,GAAM,OAAK,SAACphB,GAI7C,OAHAA,EAAS,CACLC,KAAMlK,OAEH2hC,IAAcvW,qBAAqBC,GAAQ3gB,MAChD,SAACC,GACC,OAAS,MAANA,GACDV,EAAS,CACPC,KAAMpK,KACNqK,QAAS,CAAEQ,KAAMA,KAEZP,QAAQC,YAEfJ,EAAS,CACPC,KAAMnK,OAGRkK,EAAS,CACPC,KAAMzK,KACN0K,QAAS,6BAEJC,QAAQY,aAGnB,SAACJ,GACC,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAWR,OATAd,EAAS,CACPC,KAAMnK,OAGRkK,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,cAMRlB,EAAiB,SAACC,EAAIC,GAAK,OAAK,SAACC,GAK5C,OAJAA,EAAS,CACPC,KAAMvE,KACNwE,QAAS,CAAEJ,IAAIA,EAAIC,MAAMA,KAEpBI,QAAQC,YAEJ+V,EAAkB,SAACpW,GAAK,OAAK,SAACC,GAKzC,OAJAA,EAAS,CACPC,KAAMtE,KACNuE,QAAS,CAAEH,MAAMA,KAEZI,QAAQC,a,iBCpHnBgL,EAAOC,QAAU,k6F,wJC8HF2D,aADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EA9GK,SAACE,GACjB,IAAMlP,EAAW2P,cACqC,EAChBP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAA5DoN,EAAY,EAAZA,aAA2B,KAAdE,eACgBnO,oBAAS,IAAM,mBAA9Cwe,EAAW,KAAEC,EAAc,MAEf,IAAdD,IACCC,GAAe,GACf/tB,EAAS2H,YAAc,IAAI,GAAG,GAAG,MAAM,KACtClH,MAAK,eAEL6T,OAAM,gBAGV,MAGuChF,mBAAS,IAAG,mBAA/C2E,EAAa,KAAEC,EAAgB,OACJ5E,mBAAS,CAAgB,OAAfiO,EAAoBA,EAAa,KAAI,mBAA1EpJ,EAAS,KAAEC,EAAY,KAEV,OAAfmJ,GAAuBA,GAAcpJ,GAA6B,KAAhBF,GACjDG,EAAamJ,GAsBjB,IAUMiF,EAAuBZ,uBAAY,SAACC,EAAU,GAAoB,IAAjBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CAElB,CACAgE,MAAO,WACHjO,QAAQ,WACJ0P,uBAAa,CACTlD,MAAO,mBACP3jB,QAAS,8BACT8mB,QAAS,CACP,CACE1B,MAAO,KACPjO,QAAS,WACN/X,EAASyH,YAAiBqa,EAASphB,KAAgB,YACjDD,MAAK,eAGL6T,OAAM,iBAGb,CACE0R,MAAO,KACPjO,QAAS,sBAS1B,IACL,OACE,6BACA,wBAAIhD,UAAU,iBAAgB,WAAQ,yBAAKA,UAAU,cAAa,yBAAKA,UAAU,aAAY,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GACjK/D,EAAiB+D,EAAEmB,OAAOrZ,OAlEhC,SAAwBsZ,EAAKpF,GAEzBG,EAAaiF,EAAK7N,QAAO,SAAS8N,GAC9B,SAAIA,EAAa,OAAEC,cAAcC,SAASvF,EAAcwF,uBACpDH,EAAkB,YAAEC,cAAcC,SAASvF,EAAcwF,0BA+D/DC,CAA8B,OAAf6D,EAAoBA,EAAa,GAAGtF,EAAEmB,OAAOrZ,UAC5D,IAAC,uBAAGgV,UAAU,qBACpB,yBAAKA,UAAU,eACb,kBAAC,IAAQ,aACP4E,WAAW,YACXC,MA7Fc,CAAErK,UAAW,QAAQC,OAAO,QA8F1CyK,MAAM,gBACNxF,QAtDS,CAGT,CAAEC,KAAM,SAASC,OAAQ,UAAWC,YAAa,EAAGC,eAAgB,OACpE,CAAEH,KAAM,cAAcC,OAAQ,cAAeC,YAAa,EAAGC,eAAgB,QAAQ8S,aAAc,KACnG,CAAEjT,KAAM,oBAAoBC,OAAQ,WAAYC,YAAa,EAAGC,eAAgB,OAChF,CAAEH,KAAM,SAASC,OAAQ,iBAAkBC,YAAa,EAAGC,eAAgB,OAC3E,CAAEH,KAAM,sBAAsBC,OAAQ,sBAAoBC,YAAa,EAAGC,eAAgB,QAgD1FgF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,GAAqB,QACrC,eAER,yBAAKzN,UAAU,gC,0DCxHrB3J,EAAOC,QAAU,8nD,0OCcXssB,EAAW,SAAC53B,GAChB,IAAKA,EACH,OACE,yBAAKgV,UAAU,qBAAqB6iB,KAAK,SAAQ,qBA0MxCC,EAlMD,SAAC3oB,GACb,IAAM4oB,EAAOC,mBACa,GAATA,mBAEezoB,mBAAS,KAAG,mBAArC/B,EAAQ,KAAEyqB,EAAW,OACI1oB,mBAAS,IAAG,mBAArC9B,EAAQ,KAAEyqB,EAAW,OACE3oB,oBAAS,GAAM,mBAAtC4oB,EAAO,KAAEC,EAAU,OACAzd,IAAMpL,UAAS,GAAM,mBAAxC8oB,EAAK,KAGG,GAHO,KAEChpB,aAAY,SAAAH,GAAK,OAAIA,EAAMI,QAA1CuM,WACYxM,aAAY,SAAAH,GAAK,OAAIA,EAAMrO,WAAvCA,QACsC0O,oBAAS,IAAM,mBAAnB,GAApB,KAAoB,KAChBA,mBAAS,KAAG,mBAAxB+oB,GAAF,KAAU,MAChBr4B,EAAW2P,cACW,GAAKP,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAtDgP,qBAC4C7P,oBAAS,IAAM,mBAAnB,GAAxB,KAAwB,KACdA,oBAAS,IAAM,mBAAjC,KAAc,KAqD9B,OACE,6BACE,gCACE,yBAAKyF,UAAU,wBACb,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,uCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,cAAa,yBAAK0P,IAAK6T,IAAY1T,IAAI,aAI5D,yBAAK7P,UAAU,2DACb,wBAAIA,UAAU,+BAMhB,uBAAGA,UAAU,wEAInB,yBAAKA,UAAU,qBACb,wBAAIA,UAAU,sBACZ,wBAAIA,UAAU,6BAA4B,uBAAGiD,KAAK,IAAG,kBACrD,wBAAIjD,UAAU,2BAA0B,uBAAGiD,KAAK,IAAG,uBAGrD,yBAAKjD,UAAU,0BACb,4BAAI,cAAW,0BAAMA,UAAU,iBAAgB,aAC/C,4BAAI,iBAAc,0BAAMA,UAAU,mBAAkB,gBAI1D,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,YACb,yBAAKA,UAAU,8DACb,yBAAKA,UAAU,QACb,yBAAK0P,IAAK6T,IAAY1T,IAAI,UAE5B,wBAAI7P,UAAU,OAAM,qBAGpB,yBAAKA,UAAU,uBACb,kBAAC,IAAI,CAACwjB,SAvFA,SAACtgB,GACnBA,EAAEC,iBACFlU,QAAQC,IAAIgU,GACZkgB,GAAW,GACXL,EAAKU,QAAQC,cACbz4B,ECTiB,SAACuN,EAAUC,GAAQ,OAAK,SAACxN,GAC5C,OAAO04B,IAAY3qB,MAAMR,EAAUC,GAE/B/M,MACF,SAACC,GACC,OAAS,MAANA,GAEDV,EAAS,CACPC,KAAM5K,KACN6K,QAAS,CAAE2O,KAAMnO,KAEZP,QAAQC,QAAQM,KAIvBsD,QAAQC,IAAI,wBACZjE,EAAS,CACPC,KAAM3K,KACN4K,QAAS,6BAEXoC,sBAAoB3B,MAClB,2BACA,UACA,KACA,cACA,GAIFX,EAAS,CACPC,KAAMzK,OAED2K,QAAQY,aAGnB,SAACJ,GACCqD,QAAQC,IAAItD,GACZ,IAAMC,EACHD,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAmBR,OAjBAd,EAAS,CACPC,KAAM3K,KACN4K,QAAS,6BAEXoC,sBAAoB3B,MAClB,2BACA,UACA,KACA,cACA,GAGFX,EAAS,CACPC,KAAMzK,KACN0K,QAASU,IAGJT,QAAQY,aDpDRgN,CAAMR,EAAUC,IACtB/M,MAAK,SAACC,GACLsD,QAAQC,IAAI,OAAQvD,EAAW,MAIX,cAAhBA,EAAW,KACbwO,EAAMU,QAAQ6F,KAAK,sBAEnBvG,EAAMU,QAAQ6F,KAAK,YAOtBnB,OAAM,WACL6jB,GAAW,GAEXE,EAAS,iCA+D4B1iB,IAAKmiB,EAAM/iB,UAAU,aAEhD,2BAAOA,UAAU,qBAAqB4jB,IAAI,SAAQ,yBAElD,kBAAC,IAAK,CACJvS,aAAa,MACbrR,UAAU,qBACV9U,KAAK,QACLuY,GAAG,QACH9D,KAAK,QACLwE,YAAY,2CACZye,UAAQ,EAAC53B,MAAOwN,EAChBqrB,YAAa,CAACjB,GACdxe,SA9GO,SAAClB,GACxB,IAAM1K,EAAW0K,EAAEmB,OAAOrZ,MAC1Bi4B,EAAYzqB,MA8GE,2BAAOwH,UAAU,qBAAqB4jB,IAAI,YAAW,iBAGrD,yBAAK5jB,UAAU,IACb,kBAAC,IAAK,CACJA,UAAU,qBACVqR,aAAa,eACbnmB,KAAMm4B,EAAQ,OAAS,WACvB5f,GAAG,WAAW9D,KAAK,WACnBwE,YAAY,mCACZye,UAAQ,EAAC53B,MAAOyN,EAChB2L,SAtHK,SAAClB,GACxB,IAAMzK,EAAWyK,EAAEmB,OAAOrZ,MAC1Bk4B,EAAYzqB,IAqHMorB,YAAa,CAACjB,MAUlB,4BAAQ5iB,UAAU,2CAA2C4gB,SAAUuC,GACpEA,GACC,0BAAMnjB,UAAU,qCAElB,8BAAM,sBAKR,yBAAKA,UAAU,eAGb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,0CACb,2BAAO9U,KAAK,WAAW8U,UAAU,uBAAuByD,GAAG,cAAcmf,UAAQ,IACjF,2BAAO5iB,UAAU,uBAAuB4jB,IAAI,eAAc,aAC9C,uBAAG3gB,KAAK,eAAeoB,OAAO,UAAS,8EAC0B,2CAc3F,yBAAKrE,UAAU,cAEjB,kBAAC,wBAAqB,SEpBf8jB,G,OA5IE,WACFd,mBACIA,mBADjB,IAC0B,EAEMzoB,mBAAS,IAAG,mBAAhB,GAAb,KAAa,KACFA,mBAAS,KAAG,mBAAhB,GAAV,KAAU,KACUA,mBAAS,KAAG,mBAAhB,GAAb,KAAa,KACQA,oBAAS,IAAM,mBAAlC,KAAe,KAEZF,aAAY,SAAAH,GAAK,OAAIA,EAAMrO,WAAvCA,QACS+O,cAmCjB,OAEI,yBAAKoF,UAAU,OACT,yBAAKA,UAAU,aACf,yBAAKA,UAAU,YACX,yBAAKA,UAAU,8DACV,yBAAKA,UAAU,QACZ,yBAAK0P,IAAK6T,IAAY1T,IAAI,UAE9B,wBAAI7P,UAAU,OAAM,YACpB,yBAAKA,UAAU,uBACX,0BAAMgI,OAAO,GAAGhI,UAAU,aACtB,2BAAOA,UAAU,qBAAqB4jB,IAAI,SAAQ,yBAClD,2BAAO5jB,UAAU,qBAAqB9U,KAAK,OAAOuY,GAAG,QAAQ9D,KAAK,QAAQwE,YAAY,6BACtF,2BAAOnE,UAAU,qBAAqB4jB,IAAI,YAAW,iBACrD,2BAAO5jB,UAAU,qBAAqB9U,KAAK,WAAWuY,GAAG,WAAW9D,KAAK,WAAWwE,YAAY,6BAChG,2BAAOnE,UAAU,qBAAqB4jB,IAAI,oBAAmB,yBAC7D,2BAAO5jB,UAAU,qBAAqB9U,KAAK,WAAWuY,GAAG,mBAAmB9D,KAAK,WAAWwE,YAAY,6BACxG,yBAAKnE,UAAU,QACb,yBAAKA,UAAU,0CACb,2BAAO9U,KAAK,WAAW8U,UAAU,uBAAuByD,GAAG,gBAC3D,2BAAOzD,UAAU,uBAAuB4jB,IAAI,eAAc,0CAG9D,2BAAO14B,KAAK,SAASF,MAAM,cAAcgV,UAAU,2BAEvD,uBAAGA,UAAU,cAAa,uBAAGiD,KAAK,cAAa,sBAC/C,uBAAGjD,UAAU,eAAc,uBAAGiD,KAAK,eAAc,+BAI7D,yBAAKjD,UAAU,gB,0BC3GZ+jB,EAlBG,SAAC5pB,GAAW,IAClB6pB,EAAY7pB,EAAZ6pB,QACV,OACE,6BAEQA,EAAQzgB,KAAI,SAACgB,EAAMgL,GAEf,OADAtgB,QAAQC,IAAIqV,GACc,OAAvBA,EAAmB,aACX,kBAACkL,EAAA,EAAa,CAAC1kB,IAAKwkB,EAAGhL,KAAMA,IAE7B,Q,2KC8XZtK,eANS,SAAAC,GAAK,MAAK,CAC9BiB,YAAajB,EAAMiB,YACnBqM,qBAAsBtN,EAAMsN,qBAC5Byc,aAAc/pB,EAAM+pB,aACpBhd,eAAgB/M,EAAM+M,kBAEc,GAAzBhN,EAxXD,WAAO,IACHG,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAAI,EACyDO,aAAY,SAACH,GAAK,OAAKA,EAAMe,SAA7EipB,EAAc,EAA3B/oB,YAA4C8oB,EAAY,EAA5B/c,eAE5BD,GADyB5M,aAAY,SAACH,GAAK,OAAKA,EAAMe,SAAtDuM,qBACmBnN,aAAY,SAACH,GAAK,OAAKA,EAAMe,SAAhDgM,gBACFhc,EAAW2P,cAsBnB,OApBE6C,qBAAU,WAENxS,EAASmhB,YAAqBhS,EAAoB,SAC7C1O,MAAK,eAEL6T,OAAM,iBAEV,CAACtU,IAENwS,qBAAU,WACNxS,EAASqhB,YAAsC,OAAjB4X,GAAuBA,EAAextB,OAAO,EAAEwtB,EAAe,GAAa,SAAE,IAC1Gx4B,MAAK,WACFuD,QAAQC,IAAI,+BAAiCg1B,EAAextB,WAE/D6I,OAAM,iBAER,CAACtU,IAIDmP,EAKD,6BAEA,yBAAK4F,UAAU,uBACb,6BAAK,iEAGP,yBAAK6gB,MAAM,WACX,yBAAK7gB,UAAU,+BACf,yBAAKA,UAAU,gBACf,4BAAI,oBAAc,uBAAG6gB,MAAM,gBAC3B,2BAAG,uBAAGA,MAAM,wBAA0B,IAAC,8BAAM,WAAc,UAC3D,2BAAG,uBAAGA,MAAM,wBAA0B,IAAC,8BAAM,aAAgB,UAC7D,2BAAG,uBAAGA,MAAM,sBAAwB,IAAC,8BAAM,gBAAgB,kBAC3D,2BAAG,uBAAGA,MAAM,oBAAsB,IAAC,8BAAM,WACzC,2BAAG,uBAAGA,MAAM,gBAAkB,IAAC,8BAAM,kBAAkB,YACvD,yBAAK7gB,UAAU,gBACf,2BAAG,uBAAG6gB,MAAM,qBAAuB,IAAC,8BAAM,WAAc,cACxD,yBAAK7gB,UAAU,gBACf,2BAAG,uBAAG6gB,MAAM,mBAAqB,IAAC,8BAAM,SAAY,WACpD,yBAAK7gB,UAAU,gBACf,uBAAGA,UAAU,cAAa,yBAAKA,UAAU,cAAa,WAAa,IAAC,yBAAKA,UAAU,eAAc,gBAOnG,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,WAEf,yBAAKA,UAAU,8BACb,yBAAKA,UAAU,gBACjB,yBAAKA,UAAU,aACb,4BAAI,kBACJ,yBAAKA,UAAU,cACX,4BAAI,WACJ,4BAAI,YAGV,yBAAKA,UAAU,kBACf,yBAAKA,UAAU,aACT,yBAAKA,UAAU,UAAS,yBAAK0P,IAAKyU,IAAQtU,IAAI,WAC9C,yBAAK7P,UAAU,UAAS,OACxB,yBAAKA,UAAU,YAAW,QAC1B,yBAAKA,UAAU,WAAU,MACzB,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,gCAA+B,UACvE,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,WACpE,yBAAK8U,UAAU,YAAW,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,YAG5E,yBAAK8U,UAAU,aACT,yBAAKA,UAAU,UAAS,yBAAK0P,IAAK0U,IAAQvU,IAAI,WAC9C,yBAAK7P,UAAU,UAAS,OACxB,yBAAKA,UAAU,YAAW,QAC1B,yBAAKA,UAAU,WAAU,MACzB,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,gCAA+B,UACvE,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,WACpE,yBAAK8U,UAAU,YAAW,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,YAG5E,yBAAK8U,UAAU,aACT,yBAAKA,UAAU,UAAS,yBAAK0P,IAAKyU,IAAQtU,IAAI,WAC9C,yBAAK7P,UAAU,UAAS,MACxB,yBAAKA,UAAU,YAAW,QAC1B,yBAAKA,UAAU,WAAU,OACzB,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,6BAA4B,UACpE,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,WACpE,yBAAK8U,UAAU,YAAW,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,YAG5E,yBAAK8U,UAAU,aACT,yBAAKA,UAAU,UAAS,yBAAK0P,IAAK0U,IAAQvU,IAAI,WAC9C,yBAAK7P,UAAU,UAAS,OACxB,yBAAKA,UAAU,YAAW,QAC1B,yBAAKA,UAAU,WAAU,MACzB,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,+BAA8B,UACtE,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,WACpE,yBAAK8U,UAAU,YAAW,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,YAG5E,yBAAK8U,UAAU,aACT,yBAAKA,UAAU,UAAS,yBAAK0P,IAAKyU,IAAQtU,IAAI,WAC9C,yBAAK7P,UAAU,UAAS,OACxB,yBAAKA,UAAU,YAAW,QAC1B,yBAAKA,UAAU,WAAU,MACzB,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,gCAA+B,UACvE,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,WACpE,yBAAK8U,UAAU,YAAW,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,YAG5E,yBAAK8U,UAAU,aACT,yBAAKA,UAAU,UAAS,yBAAK0P,IAAK0U,IAAQvU,IAAI,WAC9C,yBAAK7P,UAAU,UAAS,OACxB,yBAAKA,UAAU,YAAW,QAC1B,yBAAKA,UAAU,WAAU,MACzB,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,gCAA+B,UACvE,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,WACpE,yBAAK8U,UAAU,YAAW,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,YAG5E,yBAAK8U,UAAU,aACT,yBAAKA,UAAU,UAAS,yBAAK0P,IAAKyU,IAAQtU,IAAI,WAC9C,yBAAK7P,UAAU,UAAS,MACxB,yBAAKA,UAAU,YAAW,QAC1B,yBAAKA,UAAU,WAAU,OACzB,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,6BAA4B,UACpE,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,WACpE,yBAAK8U,UAAU,YAAW,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,YAG5E,yBAAK8U,UAAU,aACT,yBAAKA,UAAU,UAAS,yBAAK0P,IAAK0U,IAAQvU,IAAI,WAC9C,yBAAK7P,UAAU,UAAS,OACxB,yBAAKA,UAAU,YAAW,QAC1B,yBAAKA,UAAU,WAAU,MACzB,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,+BAA8B,UACtE,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,WACpE,yBAAK8U,UAAU,YAAW,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,aAM5E,yBAAK8U,UAAU,gBAEf,yBAAKA,UAAU,aACb,4BAAI,cACJ,yBAAKA,UAAU,cACX,4BAAI,aAIV,yBAAKA,UAAU,cACT,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,gBAAe,yBAAK0P,IAAK2U,IAAcxU,IAAI,2BAClF,yBAAK7P,UAAU,UAAS,4CACxB,yBAAKA,UAAU,YAAW,yCAC1B,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,YAI3E,yBAAK8U,UAAU,cACT,yBAAKA,UAAU,UAAS,yBAAKA,UAAU,uBAAsB,yBAAK0P,IAAK2U,IAAcxU,IAAI,2BACzF,yBAAK7P,UAAU,UAAS,4CACxB,yBAAKA,UAAU,YAAW,yCAC1B,yBAAKA,UAAU,WAAU,yBAAKA,UAAU,kBAAiB,2BAAO9U,KAAK,eAU3E,yBAAK8U,UAAU,gBACb,yBAAKA,UAAU,aAAY,UAC3B,yBAAKA,UAAU,eAAc,aAGrB,yBAAKA,UAAU,oBAEzB,yBAAKA,UAAU,oCACb,yBAAKA,UAAU,gBACb,4BAAI,oBACJ,yBAAKA,UAAU,sBAAqB,yBAAK0P,IAAK4U,IAA0BzU,IAAI,0BAC5E,yBAAK7P,UAAU,sBAAqB,4GAIxC,yBAAKA,UAAU,oCACb,yBAAKA,UAAU,gBACb,4BAAI,oBACJ,yBAAKA,UAAU,sBAAqB,yBAAK0P,IAAK6U,IAA0B1U,IAAI,0BAC5E,yBAAK7P,UAAU,sBAAqB,4GAK9B,yBAAKA,UAAU,8BACX,yBAAKA,UAAU,gBACf,4BAAI,yBACA,kBAAC,EAAS,CAACgkB,QAAwB,OAAfC,EAAoB,GAAGA,MAKnD,yBAAKjkB,UAAU,2BACX,yBAAKA,UAAU,gBACf,4BAAI,4BACJ,yBAAKA,UAAW,CAAC,kBAAkBiH,GAAgB,EAAE,cAA+B,IAAjBA,EAAmB,gBAAiC,IAAjBA,EAAmB,eAAgC,IAAjBA,EAAmB,eAAgC,IAAjBA,EAAmB,cAA+B,IAAjBA,EAAmB,gBAAgB,IAAI5N,KAAK,MACnP,yBAAK2G,UAAU,aAAY,QAET,MAAdikB,EAAmBA,EAAaxtB,QAAO,SAAAzL,GAAK,MAA8B,OAA1BA,EAAoB,gBAAYuY,KAAI,SAACgB,EAAMgL,GAEvF,OADAtgB,QAAQC,IAAIqV,GACc,OAAvBA,EAAmB,aACX,kBAAC4L,EAAA,EAAiB,CAACplB,IAAKwkB,EAAGa,MAAOb,EAAGhL,KAAMA,IAE3C,MAEZ,MAcf,yBAAKvE,UAAU,4BACX,yBAAKA,UAAU,gBACf,4BAAI,WACJ,yBAAKA,UAAU,oBACX,yBAAKA,UAAU,aACX,4BACI,4BAAI,yBAAKA,UAAU,6BAA4B,yBAAK0P,IAAKyU,IAAQtU,IAAI,mBACrE,4BAAI,yBAAK7P,UAAU,WAAU,uBAAGA,UAAU,sBAC1C,4BAAI,yBAAKA,UAAU,kBAAiB,OAAI,8BAAM,mBAGtD,yBAAKA,UAAU,eACX,4BACI,4BAAI,yBAAKA,UAAU,2BAA0B,yBAAK0P,IAAK0U,IAAQvU,IAAI,mBACnE,4BAAI,yBAAK7P,UAAU,WAAU,uBAAGA,UAAU,wBAC1C,4BAAI,yBAAKA,UAAU,kBAAiB,OAAI,8BAAM,uBAU9E,yBAAKA,UAAU,0BACb,yBAAKA,UAAU,2BAA0B,yBAAK0P,IAAK8U,IAAW3U,IAAI,gBAClE,yBAAK7P,UAAU,cAAa,yBAAK0P,IAAK+U,IAAY5U,IAAI,kBAE7C,yBAAK7P,UAAU,sBACf,yBAAKA,UAAU,kCACN,yBAAKA,UAAU,gBACX,yBAAKA,UAAU,mBAAkB,uBAAG6gB,MAAM,4BAC1C,yBAAK7gB,UAAU,cAAa,8BAC5B,yBAAKA,UAAU,iBACf,4BACI,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,iCACJ,4BAAI,sCAQpB,yBAAKA,UAAU,sBACX,yBAAKA,UAAU,2BACf,yBAAKA,UAAU,gBACX,4BAAI,oBACJ,yBAAKA,UAAU,mBACX,yBAAKA,UAAU,4BACX,yBAAK0P,IAAKgV,IAAO7U,IAAI,eAEzB,4BAAI,wEACJ,2BAAG,6KAKX,yBAAK7P,UAAU,2BACf,yBAAKA,UAAU,gBACX,4BAAI,oBACJ,yBAAKA,UAAU,mBACX,yBAAKA,UAAU,4BACX,yBAAK0P,IAAKiV,IAAO9U,IAAI,eAEzB,4BAAI,8EACJ,2BAAG,6KAKX,yBAAK7P,UAAU,2BACX,yBAAKA,UAAU,gBACf,4BAAI,qBAUlB,yBAAKA,UAAU,WACpB,yBAAKA,UAAU,gBACd,4BAAI,qBACJ,yBAAKA,UAAU,qBAAoB,uBAC/B,yBAAKA,UAAU,mBACb,4BACI,4BACI,yBAAKA,UAAU,qBACf,yBAAKA,UAAU,gBAAe,8BAAM,MAAS,iBAC7C,yBAAKA,UAAU,gBAAe,+BAC9B,yBAAKA,UAAU,kBAAiB,uBAAGA,UAAU,+BAM7D,yBAAKA,UAAU,WACb,yBAAKA,UAAU,gBACd,4BACG,4BAAI,yBAAKA,UAAU,aAAY,YAC/B,4BAAI,yBAAKA,UAAU,YAAW,WAC9B,4BAAI,yBAAKA,UAAU,kBAAiB,qBA5U/B,kBAAC,IAAQ,CAACE,GAAG,c,QCbT0kB,EA9BG,WAAO,IAAD,EACQrqB,mBAAS,IAAG,mBAAnCsqB,EAAO,KAAEC,EAAU,KAoB1B,OAlBArnB,qBAAU,WACRsnB,IAAYC,eAAet5B,MACzB,SAACI,GACCg5B,EAAWh5B,EAASH,SAEtB,SAACC,GACC,IAAMq5B,EACHr5B,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAER+4B,EAAWG,QAGd,IAGD,yBAAKjlB,UAAU,aACb,4BAAQA,UAAU,aAChB,4BAAK6kB,MCMEK,EA9BQ,WAAO,IAAD,EACG3qB,mBAAS,IAAG,mBAAnCsqB,EAAO,KAAEC,EAAU,KAoB1B,OAlBArnB,qBAAU,WACRsnB,IAAYI,oBAAoBz5B,MAC9B,SAACI,GACCg5B,EAAWh5B,EAASH,SAEtB,SAACC,GACC,IAAMq5B,EACHr5B,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAER+4B,EAAWG,QAGd,IAGD,yBAAKjlB,UAAU,aACb,4BAAQA,UAAU,aAChB,4BAAK6kB,MCMEO,EA9BI,WAAO,IAAD,EACO7qB,mBAAS,IAAG,mBAAnCsqB,EAAO,KAAEC,EAAU,KAoB1B,OAlBArnB,qBAAU,WACRsnB,IAAYM,gBAAgB35B,MAC1B,SAACI,GACCg5B,EAAWh5B,EAASH,SAEtB,SAACC,GACC,IAAMq5B,EACHr5B,EAAME,UACLF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACtBD,EAAMC,SACND,EAAMG,WAER+4B,EAAWG,QAGd,IAGD,yBAAKjlB,UAAU,aACb,4BAAQA,UAAU,aAChB,4BAAK6kB,MCuPE5qB,G,oBAAAA,aADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EA1QF,SAACE,GAAW,IACTC,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAEF7O,GADQ6P,cACGF,eAAc,EACeL,oBAAS,GAAM,mBAAtD6iB,EAAe,KAAEC,EAAkB,OAE3B9iB,mBAAS,CAAEsZ,SAAU,IAAM,CAAEyR,UAAW,IAAM,CAAEC,QAAS,KAAnEjV,EAAwE,iBAAlE,KAEe/V,mBACR,OAAhBH,EAAuBA,EAAoB,OAAI,IAChD,mBAFIvN,EAAM,KAAE6jB,EAAS,OAIAnW,mBACJ,OAAhBH,EAAuBA,EAAyB,YAAI,IACrD,mBAFItN,EAAI,KAAE4vB,EAAO,OAIMniB,mBACN,OAAhBH,EAAuBA,EAAmB,MAAI,IAC/C,mBAFIrN,EAAK,KAAEgoB,EAAQ,OAIIxa,mBAAS,IAAG,mBAA/BvN,EAAK,KAAE4vB,EAAQ,OAEUriB,mBACZ,OAAhBH,EAAuBA,EAAsB,SAAI,MAClD,mBAFIlN,EAAQ,KAAa,QAIQqN,mBAChB,OAAhBH,EAAuBA,EAAwB,WAAI,KACpD,mBAF6B,GAAf,KAAe,KAIUG,mBACtB,OAAhBH,EAAuBA,EAA2B,cAAI,KACvD,mBAFmC,GAAlB,KAAkB,KAIHG,mBACf,OAAhBH,EAAuBA,EAAuB,UAAI,KACnD,mBAFI/K,EAAS,KAAEstB,EAAY,KAK5B,IAAKviB,EACH,OAAO,kBAAC,IAAQ,CAAC8F,GAAG,WAEtB,IAAMgW,EAAc,uDACd9E,EAAa,+BAsDnB,SAASoU,IACPrrB,EAAMsrB,oBA4BR,OACE,yBAAKzlB,UAAU,oBACb,yBAAKA,UAAU,+BACb,yBAAKA,UAAU,gBACb,yBAAKyD,GAAG,qBACN,4BAAI,oBACJ,yBAAKzD,UAAU,gCACb,yBAAKA,UAAU,wDACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,UACb,+BACE,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,aAG1C,yBAAKA,UAAU,UACb,2BACAqR,aAAa,MACXnmB,KAAK,OACLF,MAAO6B,EACPykB,UAAW,IACXnN,YAAY,kBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACTwN,EAAUxN,EAAEmB,OAAOrZ,OACnBslB,EAAkB,UAAI,MAGD,KAAxBA,EAAkB,UACjB,yBAAKtQ,UAAU,kBAAkBsQ,EAAkB,WAEnD,KAIN,yBAAKtQ,UAAU,YACb,yBAAKA,UAAU,UACb,+BACE,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,WAG1C,yBAAKA,UAAU,UACb,2BACAqR,aAAa,MACXnmB,KAAK,OACLF,MAAO8B,EACPwkB,UAAW,IACXnN,YAAY,gBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACTwZ,EAAQxZ,EAAEmB,OAAOrZ,OACjBslB,EAAgB,QAAI,MAGD,KAAtBA,EAAgB,QACf,yBAAKtQ,UAAU,kBAAkBsQ,EAAgB,SAEjD,KAIN,yBAAKtQ,UAAU,YACb,yBAAKA,UAAU,UACb,+BACE,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,YAG1C,yBAAKA,UAAU,UACb,2BACAqR,aAAa,MACXnmB,KAAK,QACLF,MAAO+B,EACPukB,UAAW,IACXnN,YAAY,iBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACT6R,EAAS7R,EAAEmB,OAAOrZ,OAClBslB,EAAiB,SAAI,MAGD,KAAvBA,EAAiB,SAChB,yBAAKtQ,UAAU,kBAAkBsQ,EAAiB,UAElD,KAIN,yBAAKtQ,UAAU,YACb,yBAAKA,UAAU,UACb,+BACE,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,oBAG1C,yBAAKA,UAAU,UACb,2BACAqR,aAAa,eACXnmB,KAAMkyB,EAAkB,OAAS,WACjCpyB,MAAOgC,EACPskB,UAAW,IACXnN,YAAY,yBACZnE,UAAU,aACVoE,SAAU,SAAClB,GACT0Z,EAAS1Z,EAAEmB,OAAOrZ,UAItB,4BAAQgV,UAAWod,EAAkB,mBAAqB,yBAA0Bpa,QAAS,kBAAMqa,GAAoBD,QAG3H,yBAAKpd,UAAU,YACb,yBAAKA,UAAU,UACb,+BACE,uBAAGA,UAAU,gBAAkB,IAAC,8BAAM,aAG1C,yBAAKA,UAAU,UAEb,2BAAO9U,KAAK,OAAO8U,UAAU,iBAAiBga,UAAQ,EAAC5V,SAAU,SAAClB,GAAC,OAnI5DkT,EAmIiFlT,EAAEmB,OAAO+R,WAlIjHC,MAAMC,KAAKF,GAAOG,SAAQ,SAAAlI,GACxB,IAAMmI,EAAS,IAAIC,WACnBD,EAAOE,cAAcrI,GACrBmI,EAAOG,OAAS,WACd,IAAIC,EAEJA,EADWJ,EAAOld,OACAF,MAAM,KACxBujB,EAAa/F,EAAW,QARN,IAACR,KAoIP,yBAAKpW,UAAU,kBAAiB,0CAOxC,yBAAKA,UAAU,gBACf,yBAAKA,UAAU,cACb,yBAAKA,UAAU,aAAagD,QA/MxC,WACE,IAAI6O,GAAQ,EACP,2CAA2CC,KAAK/kB,KACnDujB,EAAiB,SAAI,sCACrBuB,GAAQ,GAEI,IAAVhlB,IACFyjB,EAAkB,UAAI,iBACtBuB,GAAQ,GAELqE,EAAYpE,KAAKjlB,KACpByjB,EAAkB,UAAI,sBACtBuB,GAAQ,GAIE,IAAR/kB,IACFwjB,EAAgB,QAAI,gBACpBuB,GAAQ,GAELT,EAAWU,KAAKhlB,KACnBwjB,EAAgB,QAAI,mCACpBuB,GAAQ,GAELA,IAGL5mB,EACE2B,aACEwN,EAAoB,OACpBvN,EACAC,EACAC,EACAC,EACAqC,EACAnC,IAGDxB,MAAK,WACJ6V,OAAOC,SAASC,YAEjBlC,OAAM,eAEThS,sBAAoBC,QAClB,6BACA,UACA,KACA,cACA,GAEFg4B,OA6JiE,WAEhD,IACP,yBAAKxlB,UAAU,cAAcgD,QAASwiB,GAAa,qB,gCCgGlDvrB,I,MAAAA,aANS,SAAAC,GAAK,MAAK,CAEhC6Q,iBAAkB7Q,EAAMe,MAAM8P,iBAC9BC,gBAAiB9Q,EAAMe,MAAM+P,gBAC7BC,qBAAsB/Q,EAAMe,MAAMgQ,wBAEI,GAAzBhR,EAvVA,SAACE,GAEd,IAAMlP,EAAW2P,cACHR,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAIR,EAC4CS,mBAAS,GAAE,mBAAlDmrB,EAAe,KAAEC,EAAkB,OACEprB,mBAAS,GAAE,mBAAhDqrB,EAAc,KAAEC,EAAiB,OACJtrB,mBAAS,GAAE,mBAAxCurB,EAAU,KAAEC,EAAa,OACExrB,oBAAS,GAAM,mBACvC4C,GADO,KAAa,KACL9C,aAAY,SAAAH,GAAK,OAAIA,EAAMkD,gBAA1CD,YAAU,EACuB5C,mBAAS,GAAE,mBAA7CyrB,EAAa,KAACC,EAAgB,KACrC,EAE+B1rB,mBAAS,IAAIzD,MAAO,mBAA5CovB,EAAQ,KAACC,EAAW,KAG3B,EAC2J9rB,aAAY,SAACH,GAAK,OAAKA,EAAMe,SAA5JC,EAAkB,EAAtCA,mBAA+H,GAA7D,EAA1BkM,aAAoD,EAAxBC,YAA4C,EAAlBC,SAAgD,EAA5B8e,cACpG7rB,mBAAS,OAAK,mBAA/B8rB,EAAI,KAAEC,EAAO,OACI/rB,mBAAS,MAAK,mBAA/BgsB,EAAI,KAAEC,EAAO,OACEjsB,mBAAS,MAAK,mBAA7BksB,EAAG,KAAEC,EAAM,OACInsB,mBAAS,MAAK,mBAA7BosB,EAAG,KAAEC,EAAM,QACiCvsB,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAtEoP,GAAgB,GAAhBA,iBAAoC,OAAlBC,mBACUlQ,mBAAS,KAAG,qBAA3CssB,GAAW,MAAEC,GAAc,SACRvsB,mBAAyB,OAAhBH,GAAuB7D,YAA0B6D,EAAkB,KAAG,aAAnF,IAAuG,kBAAvG,GACUG,mBAAyB,OAAhBH,GAAuB7D,YAA0B6D,EAAkB,KAAG,eAAnF,IAAwG,kBAAxG,GACGG,mBAAyB,OAAhBH,GAAuB7D,YAA0B6D,EAAkB,KAAG,eAAnF,IAAwG,kBAAxG,GACWG,mBAAyB,OAAhBH,GAAuB7D,YAA0B6D,EAAkB,KAAG,gBAAnF,IAAyG,kBAAzG,GACCG,mBAAyB,OAAhBH,GAAuB7D,YAA0B6D,EAAkB,KAAG,gBAAnF,IAAyG,kBAAzG,GACIG,mBAAyB,OAAhBH,GAAuB7D,YAA0B6D,EAAkB,KAAG,eAA3G2sB,GAAgI,kBAAxG,MACOxsB,mBAAyB,OAAhBH,GAAuB7D,YAA0B6D,EAAkB,KAAG,eAA9G6E,GACJ,kBAD+B,MAGZ1E,mBAAyB,OAAhBH,GAAuB7D,YAA0B6D,EAAkB,KAAG,eAAnF,IAAyG,kBAAzG,GAC4BG,oBAAS,IAAM,qBAAtDysB,GAAe,MAAEC,GAAkB,SACJ1sB,mBAAS,GAAE,qBAA7B2sB,IAAF,MAAgB,UACU3sB,oBAAS,GAAM,qBAApD4sB,GAAc,MAAEC,GAAiB,SACJ7sB,oBAAS,GAAM,qBAAnB,IAAf,MAAe,MAGRA,mBACpBgH,OAAO9H,aAAaM,QAAQ,WAC7B,qBAFS,MAAQ,MAyDlB,SAASstB,KACP,IAAIC,EAAYpB,EAEZqB,EAAQD,EAAUlwB,WAClBowB,EAAUF,EAAUhwB,aACpBmwB,EAAWH,EAAU9vB,aAEzB8vB,EAAUI,WAAWJ,EAAU9vB,aAAe,GAG1C+vB,EAAQ,KAAMA,EAAQ,IAAMA,GAC5BC,EAAU,KAAMA,EAAU,IAAMA,GAChCC,EAAW,KAAMA,EAAW,IAAMA,QACE9oB,GAApCgpB,SAASC,eAAe,UAA6D,MAApCD,SAASC,eAAe,WAC3ED,SAASC,eAAe,SAASC,WAAY,IAAI/wB,MAAOgxB,qBAAuB,IAAMP,EAAQ,IAAMC,EAAU,IAAMC,IA5D/F,IAApBT,IAAoD,OAAvB9rB,IAC/B+rB,IAAmB,GACnBh8B,EAASyB,YAAgBwO,IACtBxP,MAAK,eAEL6T,OAAM,gBAOc,OAArBiL,IAAoD,OAAvBtP,QAAsDyD,IAAvBzD,IAAuD,IAAnBisB,KAElGl4B,QAAQC,IAAIsb,IACZ8b,EAAQ,IAAIxvB,KAA0B,OAArB0T,SAAkD7L,IAArB6L,IAAuD,QAArBA,GAA6BA,GAAqC,mBAAI,KACtJgc,EAAQ,IAAI1vB,KAA0B,OAArB0T,SAAkD7L,IAArB6L,IAAuD,QAArBA,GAA6BA,GAAoC,kBAAI,KACrJkc,EAAO,IAAI5vB,KAA0B,OAArB0T,SAAkD7L,IAArB6L,IAAuD,QAArBA,GAA6BA,GAAiC,eAAI,KACjJoc,EAAO,IAAI9vB,KAA0B,OAArB0T,SAAkD7L,IAArB6L,IAAuD,QAArBA,GAA6BA,GAAsC,oBAAI,KACtJ4c,IAAkB,IAGpB3pB,qBAAU,WAER,IAAMsqB,EAAQC,aAAY,WAGxB,IAAIC,EAAc,IAAInxB,KAC2BowB,GAA7Ce,GAAe5B,GAAQ4B,EAAc1B,EAAuB,SAAA2B,GAAW,OAAI,GACtED,GAAe1B,GAAQ0B,EAAcxB,EAAsB,SAAAyB,GAAW,OAAI,GAC1ED,GAAexB,GAAOwB,GAAetB,EAAsB,SAAAuB,GAAW,OAAI,GAC7D,SAAAA,GAAW,OAAI,MAEpC,KACH,OAAO,kBAAMC,cAAcJ,OAG7BtqB,qBAAU,WACR0qB,cAAcnC,GACd/2B,QAAQC,IAAI,mBAAmB82B,GAC/B,IAAIoC,EAAWJ,YAAYX,GAAc,KACzCpB,EAAiBmC,KACjB,CAAClC,IAyBH3kB,OAAOoV,OAAS,aAuEhB,OAzDAlZ,qBAAU,WACR,IAAI4qB,EAAW,KAOf,GANAp5B,QAAQC,IAAI,sBAMRiO,EAAY,CAGd,OAFAlO,QAAQC,IAAI,eAEJiO,EAA4B,iBAClC,IAAK,IACHgpB,EAAY,IAAIrvB,KAAKqG,EAAwB,cAC7CuoB,EAAkBvoB,EAA4B,iBAAK,EAAIA,EAA4B,gBAAI,EACvFwoB,EAAmBD,GACnB2C,EAAWL,aAAY,WACjBtC,EAAkB,EACpBC,GAAmB,SAACD,GAAe,OAAKA,GAAmB,KAE3DyC,cAAcE,KACf,KACH,MACF,IAAK,IACHlC,EAAY,IAAIrvB,KAAKqG,EAAwB,cAC7CyoB,EAAiBzoB,EAA8B,mBAAK,EAAIA,EAA8B,kBAAI,EAC1F0oB,EAAkBD,GAClByC,EAAWL,aAAY,WACjBpC,EAAiB,EACnBC,GAAkB,SAACD,GAAc,OAAKA,GAAkB,KAExDuC,cAAcE,KACf,KACH,MACF,IAAK,IACHlC,EAAY,IAAIrvB,KAAKqG,EAAwB,cAC7C2oB,EAAa3oB,EAAmC,wBAAK,EAAIA,EAAmC,uBAAI,EAChG4oB,EAAcD,GACduC,EAAWL,aAAY,WACjBlC,EAAa,EACfC,GAAc,SAACD,GAAU,OAAKA,GAAc,KAE5CqC,cAAcE,KACf,KAKP,OAAO,WAELF,cAAcE,OAKjB,CAAClrB,IAGF,6BAEmB,SAAhB0pB,GAAyB,kBAACyB,EAAiB,CAAC7C,kBAhEvB,WACxBqB,GAAe,KA+DsED,YAAaA,KAAkB,GACjHzsB,EACC,yBAAK4F,UAAU,gBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,uCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,cACb,yBAAK0P,IAAK6T,IAAY1T,IAAI,sBAEMlR,IAA/BvE,EAAyB,aAAkD,KAA/BA,EAAyB,aAA2C,IAA/BA,EAAyB,aAA0C,OAA/BA,EAAyB,YAC5I,yBAAK4F,UAAU,cAAc0P,IAAG,iCAA4BtV,EAAyB,aAAKyV,IAAI,gBAC7F,OASZ,yBAAK7P,UAAU,2DAEb,wBAAIA,UAAU,6BACZ,wBAAIA,UAAU,kBACZ,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,eAEb,kBAAC,KAAI,CAAC8S,WACJ,kBAAC,KAAU,KAAC,uBAAG9S,UAAU,wBACzB,kBAAC,KAAQ,CAACgD,QAjGP,WACvB8jB,GAAe,UAiGO,uBAAG9mB,UAAU,wBAA0B,UAEzC,kBAAC,KAAQ,CAACgD,QAxGjB,SAACE,GAEdjY,GR1BwB,SAACA,GAC3B04B,IAAYhqB,SAEZ1O,EAAS,CACPC,KAAM1K,YQ6HgB,uBAAGwf,UAAU,wBAA0B,WAM7C,yBAAKA,UAAU,aAGiB,IAA7B+mB,KAAqE,IAAhC9nB,GACpC,6BACE,8BAAM,aAAiB7E,EAA2B,cAAEmX,eAGtD,gCAE4B,IAA7BwV,KAAqE,IAAhC9nB,GACpC,6BACE,8BAAM,aACL7E,EAA+B,kBAAEmX,eAElC,+BAGJ,6BACE,8BAAM,aACW,OAAhBnX,EAAuBA,EAAoB,OAAEmX,cAAgB,OAMhD,OAArB/G,GACC,wBAAIxK,UAAU,kBACZ,yBAAKA,UAAU,kBACb,6BACE,8BAAM,YACN,8BAA4B,OAArBwK,SAAkD7L,IAArB6L,GAAiCA,GAA+B,aAAI,KAE1G,yBAAKxK,UAAW,CAAC7C,GAAgD,MAAlCA,EAA4B,gBAAY,eAAiB,IAAI9D,KAAK,MAC/F,8BAAM,aACgB,OAArBmR,SAAkD7L,IAArB6L,GAAiC9S,YAAW8S,GAAqC,oBAAK,IAEtH,yBAAKxK,UAAW,CAAC7C,GAAgD,MAAlCA,EAA4B,gBAAY,eAAiB,IAAI9D,KAAK,MAC/F,8BAAM,YACgB,OAArBmR,SAAkD7L,IAArB6L,GAAiC9S,YAAW8S,GAAiC,gBAAK,IAElH,yBAAKxK,UAAW,CAAC7C,GAAgD,MAAlCA,EAA4B,gBAAY,eAAiB,IAAI9D,KAAK,MAC/F,8BAAM,oBACgB,OAArBmR,SAAkD7L,IAArB6L,GAAiC9S,YAAW8S,GAAsC,qBAAK,MAM3H,wBAAIxK,UAAU,kBACZ,yBAAKA,UAAU,kBACb,6BAEE,8BAAM,YAER,6BACE,8BAAM,cAER,6BACE,8BAAM,aAER,6BACE,8BAAM,uBAMd,wBAAIA,UAAU,kBACZ,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACb,6BAAK,eACL,6BAAK,qBAEP,yBAAKA,UAAU,gBAEb,yBAAKyD,GAAG,QAAQzD,UAAW,CAAC,QAAQ3G,KAAK,OACzC,yBAAK2G,UAAW,CAAC,OAAQ7C,GAAgD,MAAlCA,EAA4B,gBAAY,YAAc,IAAI9D,KAAK,MACnG8D,GAAgD,MAAlCA,EAA4B,gBAAYnF,YAAqB0tB,GAAmB,GAC9FvoB,GAAgD,MAAlCA,EAA4B,gBAAYnF,YAAqB4tB,GAAkB,GAC7FzoB,GAAgD,MAAlCA,EAA4B,gBAAYnF,YAAqB8tB,GAAc,GACzF3oB,GAAgD,MAAlCA,EAA4B,gBAAY,aAAe,GACrEA,GAAgD,KAAlCA,EAA4B,iBAA8C,OAAlCA,EAA4B,gBAAa,cAAgB,GAAG,aAQ/H,uBAAG6C,UAAU,uEAIjB,mC,qBCjTO/F,gBAFS,SAAAC,GAAK,MAAK,KAEM,GAAzBD,EAlCO,SAACE,GAAW,IAClBC,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KAES6L,IAAM4iB,YACTztB,cACGF,cAEjB,OAAKR,GAGD4mB,YAAW,cAET,KAKJ,6BACI,2BAAOtR,IAAK8Y,KAAYC,UAAU,EAAMC,aAAW,IACrD,yBAAK1oB,UAAU,kBACf,yBAAKA,UAAU,kBACf,yBAAKA,UAAU,eAAc,gCAK7B,yBAAKA,UAAU,qBACX,yBAAKA,UAAU,gBAAe,uBAAG6gB,MAAM,iEAnBtC,kBAAC,IAAQ,CAAC3gB,GAAG,c,oCCOTyoB,GApBF,oDACT,WAAYxuB,GAAQ,IAAD,EAGd,OAHc,sBACf,cAAMA,IACDD,MAAQ,GACZ,EAaJ,OAZA,+CAGG,OACI,yBAAK8F,UAAU,WACX,yBAAKA,UAAU,kBACf,yBAAKA,UAAU,eAAc,sCAMxC,EAjBQ,CAASkQ,aC6HP4S,GA5GD,SAAC3oB,GACb,IAAM4oB,EAAOC,mBACP/3B,EAAW2P,cAAc,EACPL,mBAAS,MAAK,mBAAjCxN,EAAK,KAAEgoB,EAAQ,OACLxa,mBAAS,CAAE,SAAY,KAA3B,GAAgC,iBAAhC,GAEmBA,oBAAS,IAAM,mBAAtC4oB,EAAO,KAAEC,EAAU,KA4B1B,OACE,6BACE,gCACE,yBAAKpjB,UAAU,wBACb,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,uCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,cACb,yBAAK0P,IAAK6T,IAAY1T,IAAI,aAKlC,yBAAK7P,UAAU,2DACb,wBAAIA,UAAU,6BACZ,wBAAIA,UAAU,6BAA4B,uBAAGiD,KAAK,KAAI,4BAK1D,uBAAGjD,UAAU,yEAOrB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,YACb,yBAAKA,UAAU,8DACb,yBAAKA,UAAU,QACb,yBAAK0P,IAAK6T,IAAY1T,IAAI,UAE5B,wBAAI7P,UAAU,OAAM,2BACpB,yBAAKA,UAAU,uBAEb,kBAAC,IAAI,CAACwjB,SA3DG,SAACtgB,GACtBA,EAAEC,iBAGFlY,EC7B6B,SAAC8B,GAAK,OAAK,SAAC9B,GAEzC,OAAO85B,IAAY6D,YAAY77B,GAAOrB,MACpC,SAACI,GAyBC,OAxBc,IAAXA,GAEDb,EAAS,CACPC,KAAMhK,OAERqM,sBAAoBC,QAClB,iDACA,UACA,KACA,cACA,KAEkB,IAAb1B,IACPb,EAAS,CACPC,KAAM/J,OAERoM,sBAAoB3B,MAClB,qCACA,UACA,KACA,cACA,IAGGR,QAAQC,aAEjB,SAACO,GAEIA,EAAME,UACPF,EAAME,SAASH,MACfC,EAAME,SAASH,KAAKE,SACpBD,EAAMC,SACND,EAAMG,WAKR,OAJAd,EAAS,CACPC,KAAM/J,OAGDiK,QAAQY,aDZV68B,CAAkB97B,IACxBrB,MAAK,eAGL6T,OAAM,WACL6jB,GAAW,MAGfrO,EAAS,KA+CmCnU,IAAKmiB,EAAM/iB,UAAU,aACnD,2BAAOA,UAAU,qBAAqB4jB,IAAI,SAAQ,oCAClD,kBAAC,IAAK,CAEJ14B,KAAK,QACLF,MAAO+B,EACPukB,UAAW,IACXsR,UAAQ,EACRze,YAAY,wBACZnE,UAAU,qBAEVoE,SA7EI,SAAClB,GACrB,IAAMnW,EAAQmW,EAAEmB,OAAOrZ,MACvB+pB,EAAShoB,MA6EK,4BAAQiT,UAAU,2CAA2C4gB,SAAUuC,GACpEA,GACC,0BAAMnjB,UAAU,qCAElB,8BAAM,YAGV,uBAAGA,UAAU,wBACX,uBAAGiD,KAAK,UAAS,yBAKzB,yBAAKjD,UAAU,eAGnB,kBAAC,wBAAqB,Q,4BE6Cb/F,I,kBAAAA,aADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EArJM,SAACE,GAGlB,IAAIU,EAAUC,cACR7P,EAAW2P,cACHR,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KACkB,GAAyBO,aAAY,SAACH,GAAK,OAAKA,EAAMe,SAAxEC,mBACgDX,oBAAU,IAAE,mBAA7DuT,EAAoB,KAAEgb,EAAuB,KAEpD,EACsDvuB,qBAAU,mBAGxD6P,GAHkB,KAAwB,KAGjB/P,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAtDgP,sBACR,EACoD7P,oBAAS,GAAM,mBAA9DwuB,EAAmB,KAAEC,EAAsB,OAC1BzuB,mBAAS,IAAG,mBAAzB,KAAS,MAEU,IAAxBwuB,IACAC,GAAuB,GACvB/9B,EAAS8C,YAAiBqM,EAAoB,OAAGA,EAAkB,OAC9D1O,MAAK,eAEL6T,OAAM,gBAGd,MAKuChF,mBAAS,IAAG,mBAA/C2E,EAAa,KAAEC,EAAgB,OACJ5E,mBAAS,CAA0B,OAAzB6P,EAAgCA,EAAuB,KAAI,mBAAhGhL,EAAS,KAAEC,EAAY,KAEC,OAAzB+K,GAAiCA,GAAwBhL,GAA+B,KAAlBF,IACtEG,EAAa+K,GAIsB,GAA/BA,EAAqB1T,SAErBzH,QAAQC,IAAIkb,EAAqB,IACjC0e,EAAwBrhB,SAAS2C,EAAqB,GAAa,WACnEnb,QAAQC,IAAI4e,GAEZ7iB,EAASH,YAAe,qBAAqB2c,SAAS2C,EAAqB,GAAa,YAExFvP,EAAQ6F,KAAK,SACba,OAAOC,SAASC,WAwCxB,IAAI/B,EAAU,CAGV,CAAEC,KAAM,eAAgBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAO6O,SAAU,KAC9J,CAAEhP,KAAM,eAAgBC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,kBAAsB7O,YAAa,EAAGC,eAAgB,MAAOG,OAAQ,gBAAGtU,EAAI,EAAJA,KAAI,OAAOgL,YAAehL,EAAmB,gBACnN,CAAEgU,KAAM,cAAeC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,cAAkB7O,YAAa,EAAGC,eAAgB,MAAOG,OAAQ,YAAO,OAhBzK,SAAyB4Z,GACrB,OAAQA,GACJ,KAAK,EACD,MAAO,UACX,KAAK,EACD,MAAO,iBACX,KAAK,EACD,MAAO,UAS6JoP,CAAP,EAAJt9B,KAA6C,eAC9M,CAAEgU,KAAM,SAAUC,OAAQ,kBAAO,yBAAKiF,MAAO,CAAE4J,UAAW,SAAUC,SAAU,SAAU,WAAe7O,YAAa,EAAGC,eAAgB,MAAOG,OAAQ,gBAAGtU,EAAI,EAAJA,KAAI,OAAe,MAARA,EA3BxK,SAAsBkD,GAClB,OAAQA,GACJ,IAAK,IACD,MAAO,SACX,IAAK,GACD,MAAO,IAsBoK6kB,CAAa/nB,EAAa,QAAK,MAEhN8hB,EAAuBZ,uBAAY,SAACC,EAAU,GAAmB,IAAhBC,EAAQ,EAARA,SACnDD,EAAUE,aAAc,EACxBF,EAAUG,MAAQ,CACd,CACIgE,MAAO,cACPjO,QAAS,WACL8lB,EAAwB/b,EAASphB,KAAe,UAChDV,EAASH,YAAe,qBAAsB2c,SAASsF,EAASphB,KAAe,YAC/EkP,EAAQ6F,KAAK,SACba,OAAOC,SAASC,cAI7B,IAGH,OAAKrH,EAID,6BACI,6BACI,wBAAI4F,UAAU,iBAAgB,gBAC1B,yBAAKA,UAAU,cACX,yBAAKA,UAAU,aAAY,2BAAO9U,KAAK,OAAOiZ,YAAY,UAAUnZ,MAAOkU,EAAekF,SAAU,SAAClB,GACjG/D,EAAiB+D,EAAEmB,OAAOrZ,OAlElD,SAAwBsZ,EAAMpF,GAE1BG,EAAaiF,EAAK7N,QAAO,SAAU8N,GAC/B,QAAIA,EAAmB,aAAEC,cAAcC,SAASvF,EAAcwF,yBAgE9CC,CAAwC,OAAzByF,EAAgCA,EAAuB,GAAIlH,EAAEmB,OAAOrZ,UAClF,IAAC,uBAAGgV,UAAU,sBAM/B,yBAAKA,UAAU,eACX,kBAAC,KAAQ,CACL4E,WAAW,WACXC,MAxHE,CAAErK,UAAW,QAASC,OAAQ,QAyHhCiF,QAASA,EACToF,iBAAiB,EACjBC,UAAW,CAAEC,KAAM,UACnBC,WAAY7F,EACZqO,qBAAsBA,EACtBvI,MAAM,aACNgkB,cAAc,IAGlB,yBAAKlpB,UAAU,2BAEnB,kBAAC,wBAAqB,OA/BnB,kBAAC,IAAQ,CAACE,GAAG,eCtEbjG,gBADS,SAACC,GAAK,MAAM,KACI,GAAzBD,EAnDW,SAACE,GACzB,IAAMlP,EAAW2P,cACHR,EAAgBC,aAAY,SAACH,GAAK,OAAKA,EAAMI,QAAnDR,KACoB,GAAKO,aAAY,SAACH,GAAK,OAAKA,EAAMkB,kBAAtDgP,qBAG4C7P,oBAAS,IAAM,mBAA9DwuB,EAAmB,KAAEC,EAAsB,KAyBhD,OAvB4B,IAAxBD,IACFC,GAAuB,GACvB/9B,EAAS8C,YAAiBqM,EAAoB,OAAGA,EAAkB,OAChE1O,MAAK,eAEL6T,OAAM,gBAqBT,yBAAKS,UAAU,mBACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,uBAIf,kBAAC,GAAY,a,SCjDVnF,GAAUsuB,eCkMRC,GAhMY,SAACjvB,GAAW,IAAD,EAEII,oBAAS,GAAK,mBAA/C8uB,EAAY,KAAEC,EAAe,KAOlC,OALqB,IAAjBD,IACAC,GAAgB,GAChB3B,SAASC,eAAe,QAAQ2B,UAAUC,IAAI,YAI9C,6BACI,gCACI,yBAAKxpB,UAAU,wBACX,yBAAKA,UAAU,gBACX,yBAAKA,UAAU,OACX,yBAAKA,UAAU,uCACX,yBAAKA,UAAU,OACX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,cAAa,yBAAK0P,IAAK6T,IAAY1T,IAAI,aAIlE,yBAAK7P,UAAU,2DACX,wBAAIA,UAAU,+BAMlB,uBAAGA,UAAU,wEAIzB,yBAAKA,UAAU,qBACX,wBAAIA,UAAU,sBACV,wBAAIA,UAAU,6BAA4B,uBAAGiD,KAAK,IAAG,kBACrD,wBAAIjD,UAAU,2BAA0B,uBAAGiD,KAAK,IAAG,uBAGvD,yBAAKjD,UAAU,0BACX,4BAAI,cAAW,0BAAMA,UAAU,iBAAgB,aAC/C,4BAAI,iBAAc,0BAAMA,UAAU,mBAAkB,gBAGhE,yBAAKA,UAAU,WACX,yBAAKA,UAAU,YACX,yBAAKA,UAAU,sBACX,yBAAKA,UAAU,iBACX,yBAAKA,UAAU,4BACX,uBAAGA,UAAU,sBAAqB,2BAAG,iGACrC,2BAAG,kTAMH,wBAAIA,UAAU,eACV,4BAAI,uSAIJ,4BAAI,oNAGJ,4BAAI,iMAGJ,4BAAI,qRAIJ,4BAAI,kNAGJ,4BAAI,6VAKJ,4BAAI,sSAIJ,4BAAI,uOAGJ,4BAAI,ugBAQR,uBAAGA,UAAU,sBAAqB,2BAAG,0DACrC,2BAAG,wMAMH,wBAAIA,UAAU,eACV,4BAAI,maAKJ,4BAAI,uJAEJ,4BAAI,4PAIA,wBAAIA,UAAU,oBACV,4BAAI,0EACJ,4BAAI,qHAEJ,4BAAI,uEACJ,4BAAI,iNAGJ,4BAAI,gSAIJ,4BAAI,oFACJ,4BAAI,mSAMZ,4BAAI,0NAGJ,4BAAI,6TAMR,uBAAGA,UAAU,YAAW,2BAAG,eAC3B,2BAAG,uJAIH,2BAAG,qCAGH,wBAAIA,UAAU,YACV,4BAAI,6DACJ,4BAAI,6CACJ,4BAAI,yFAEJ,4BAAI,6EAEJ,4BAAI,uDAER,2BAAG,qDAGH,wBAAIA,UAAU,YACV,4BAAI,0HAEJ,4BAAI,yFAEJ,4BAAI,8DACJ,4BAAI,0DAGR,2BAAG,0DAGH,wBAAIA,UAAU,YACV,4BAAI,oDACJ,4BAAI,wEAER,uBAAGA,UAAU,YAAW,2BAAG,oBAC3B,2BAAG,gTCvHpBypB,GAtCH,WAEV,IAAMx+B,EAAW2P,cAQjB,OANA6C,qBAAU,WACR5C,GAAQ6uB,QAAO,SAACloB,GACdvW,ECxB6B,CACjCC,KAAMxK,WDyBH,CAACuK,IAGF,kBAAC,IAAM,CAAC4P,QAASA,IACf,yBAAKmF,UAAU,wBACb,kBAAC,GAAM,MACP,6BACE,kBAAC,IAAM,KACL,kBAAC,IAAK,CAAC2pB,OAAK,EAACC,KAAM,CAAC,IAAK,SAAUC,UAAW/G,IAC9C,kBAAC,IAAK,CAAC6G,OAAK,EAACC,KAAK,SAASC,UAAW/G,IACtC,kBAAC,IAAK,CAAC6G,OAAK,EAACC,KAAK,YAAYC,UAAW/F,IACzC,kBAAC,IAAK,CAAC6F,OAAK,EAACC,KAAK,aAAaC,UAAWC,KAC1C,kBAAC,IAAK,CAACH,OAAK,EAACC,KAAK,QAAQC,UAAWE,MACrC,kBAAC,IAAK,CAACJ,OAAK,EAACC,KAAK,SAASC,UAAWG,IACtC,kBAAC,IAAK,CAACL,OAAK,EAACC,KAAK,YAAYC,UAAWI,KACzC,kBAAC,IAAK,CAACN,OAAK,EAACC,KAAK,YAAYC,UAAWlB,KACzC,kBAAC,IAAK,CAACgB,OAAK,EAACC,KAAK,gBAAgBC,UAAWK,KAC7C,kBAAC,IAAK,CAACP,OAAK,EAACC,KAAK,qBAAqBC,UAAWM,KAClD,kBAAC,IAAK,CAACP,KAAK,QAAQC,UAAWjF,IAC/B,kBAAC,IAAK,CAACgF,KAAK,OAAOC,UAAW3E,IAC9B,kBAAC,IAAK,CAAC0E,KAAK,SAASC,UAAWzE,IAChC,kBAAC,IAAK,CAACwE,KAAK,eAAeC,UAAWT,UE1C9BgB,QACW,cAA7B7oB,OAAOC,SAAS6oB,UAEe,UAA7B9oB,OAAOC,SAAS6oB,UAEhB9oB,OAAOC,SAAS6oB,SAASC,MACvB,2DCVNC,IAAStqB,OACP,kBAAC,IAAQ,CAAC8L,MAAOA,KACf,kBAAC,GAAG,OAEN4b,SAASC,eAAe,SDuHpB,kBAAmB4C,WACrBA,UAAUC,cAAcC,MACrBh/B,MAAK,SAAAi/B,GACJA,EAAaC,gBAEdrrB,OAAM,SAAA3T,GACLqD,QAAQrD,MAAMA,EAAMC,a,qFEpGbg/B,EAnCK,SAAC1wB,GAAW,IACtB2wB,EAAuB3wB,EAAvB2wB,QAASC,EAAc5wB,EAAd4wB,UAWXC,EAAe,CACnBvwB,OAAQ,OACRqU,MAAM,GAAD,OAAKic,EAAS,KAEnBE,gBAAiBH,EACjBI,aAAc,UACdzc,UAAW,SAQb,OACE,yBAAK5J,MAxBiB,CACtBpK,OAAQ,GACRqU,MAAO,OACPmc,gBAAiB,OACjBC,aAAc,GACdlT,OAAQ,GACRmT,WAAY,yBAmBV,yBAAKtmB,MAAOmmB,GACV,0BAAMnmB,MARQ,CAClBumB,QAAS,EACTC,MAAO,QACPC,WAAY,SAKiB,UAAKP,EAAS,SC5BhB7a,a,iCCH/B,0CAGAqb,EAAQ,KAAU1yB,SAGlB,IAAM2yB,EAAUvyB,mHAAYH,YA8Bb,KACb2yB,iBAjBuB,WACvB,OAAO/yB,IAAMgzB,IAAIF,EAAU,QAiB3BxG,aAdmB,WACnB,OAAOtsB,IAAMgzB,IAAIF,EAAU,OAAQ,CAAEzyB,QAASc,iBAc9CsrB,kBAXwB,WACxB,OAAOzsB,IAAMgzB,IAAIF,EAAU,MAAO,CAAEzyB,QAASc,iBAW7CwrB,cARoB,WACpB,OAAO3sB,IAAMgzB,IAAIF,EAAU,QAAS,CAAEzyB,QAASc,iBAQ/C+uB,YAhCiB,SAAC77B,GAClB,IAAMmM,EAAS,CAAC,SAAWnM,GACzB,OAAO2L,IACJC,KAAKC,EAAOC,OAAOC,YAAc,iBAAkBI,EAAO,CAACH,QAAS,CAAC,eAAgB,qCACrFrN,MAAK,SAACI,GACL,IAAIqN,EAAQrN,EAAe,KAAEsN,MAAM,OAAQC,KAAK,KAEhD,OADevB,KAAKyB,MAAMJ,U,kDCflC,wIAAO,IAMQsN,EAAqB,WAChC,MAAO,CACLvb,KAAM,uBAGGwb,EAA0B,WACrC,MAAO,CACLxb,KAAM,4BAIGmW,EAAsB,WACjC,MAAO,CACLnW,KAAM,8BAgBGyb,EAAgC,WAC3C,MAAO,CACLzb,KAAM,oC","file":"static/js/main.32bf870d.chunk.js","sourcesContent":["export const REGISTER_SUCCESS = \"REGISTER_SUCCESS\";\r\nexport const REGISTER_FAIL = \"REGISTER_FAIL\";\r\nexport const LOGIN_SUCCESS = \"LOGIN_SUCCESS\";\r\nexport const LOGIN_FAIL = \"LOGIN_FAIL\";\r\nexport const LOGOUT = \"LOGOUT\";\r\n\r\nexport const SET_MESSAGE = \"SET_MESSAGE\";\r\nexport const CLEAR_MESSAGE = \"CLEAR_MESSAGE\";\r\n\r\n//Sala de espera\r\nexport const SHOW_BANNER = \"SHOW_BANNER\";\r\nexport const SHOW_BANNER_INIT = \"SHOW_BANNER_INIT\";\r\nexport const SHOW_BANNER_FAIL = \"SHOW_BANNER_FAIL\";\r\n\r\n//Eventos\r\nexport const GET_EVENT_BY_USER = \"GET_EVENT_BY_USER\";\r\nexport const GET_EVENT_BY_USER_FAIL = \"GET_EVENT_BY_USER_FAIL\";\r\nexport const GET_EVENT_BY_USER_INIT = \"GET_EVENT_BY_USER_INIT\";\r\n\r\n//Titulos\r\nexport const GET_EVENT_TITLE_BY_USER = \"GET_EVENT_TITLE_BY_USER\";\r\nexport const GET_EVENT_TITLE_BY_USER_FAIL = \"GET_EVENT_TITLE_BY_USER_FAIL\";\r\nexport const GET_EVENT_TITLE_BY_USER_INIT = \"GET_EVENT_TITLE_BY_USER_INIT\";\r\n\r\n//recuperar clave\r\n//recuperar contraseña \r\n\r\nexport const SEND_EMAIL_PASSWORD = \"SEND_EMAIL_PASSWORD\";\r\nexport const SEND_EMAIL_PASSWORD_FAIL = \"SEND_EMAIL_PASSWORD_FAIL\";\r\n\r\n//catalogos\r\nexport const GET_GESTION_CATALOGOS = \"GET_GESTION_CATALOGOS\";\r\nexport const GET_GESTION_CATALOGOS_FAIL = \"GET_GESTION_CATALOGOS_FAIL\";\r\n\r\nexport const UPDATE_GESTION_CATALOGOS = \"UPDATE_GESTION_CATALOGOS\";\r\nexport const UPDATE_GESTION_CATALOGOS_FAIL = \"UPDATE_GESTION_CATALOGOS_FAIL\";\r\n\r\nexport const DELETE_GESTION_CATALOGOS = \"DELETE_GESTION_CATALOGOS\";\r\nexport const DELETE_GESTION_CATALOGOS_FAIL = \"DELETE_GESTION_CATALOGOS_FAIL\";\r\n\r\nexport const GET_CATALOGOS_PADRE = \"GET__CATALOGOS_PADRE\";\r\nexport const GET_CATALOGOS_PADRE_FAIL = \"GET__CATALOGOS_PADRE_FAIL\";\r\n\r\n//item catalogo\r\n\r\nexport const DELETE_ITEM_CATALOGO = \"DELETE_ITEM_CATALOGO\";\r\nexport const DELETE_ITEM_CATALOGO_FAIL = \"DELETE_ITEM_CATALOGO_FAIL\";\r\n\r\nexport const UPDATE_ITEM_CATALOGO = \"UPDATE_ITEM_CATALOGO\";\r\nexport const UPDATE_ITEM_CATALOGO_FAIL = \"UPDATE_ITEM_CATALOGO_FAIL\";\r\n\r\nexport const GET_ITEM_CATALOGOS = \"GET_ITEM_CATALOGOS\";\r\nexport const GET_ITEM_CATALOGOS_FAIL = \"GET_ITEM_CATALOGOS_FAIL\";\r\n\r\n\r\nexport const UPDATE_STATUS_BY_KEY_ADM = \"UPDATE_STATUS_BY_KEY_ADM\";\r\n\r\nexport const CATALOGOS_INI = \"CATALOGOS_INI\";\r\n\r\nexport const ITEMS_INI = \"ITEMS_INI\";\r\n\r\n//empresa\r\n\r\n\r\nexport const GET_EMPRESA = \"GET_EMPRESA\";\r\nexport const GET_EMPRESA_FAIL = \"GET_EMPRESA_FAIL\";\r\n\r\nexport const EMPRESA_INI = \"EMPRESA_INI\";\r\n\r\nexport const DELETE_EMPRESA = \"DELETE_EMPRESA\";\r\nexport const DELETE_EMPRESA_FAIL = \"DELETE_EMPRESA_FAIL\";\r\n\r\n\r\nexport const UPDATE_EMPRESA = \"UPDATE_EMPRESA\";\r\nexport const UPDATE_EMPRESA_FAIL = \"UPDATE_EMPRESA_FAIL\";\r\n\r\nexport const GET_INVERSIONISTA = \"GET_INVERSIONISTA\";\r\nexport const GET_INVERSIONISTA_FAIL = \"GET_INVERSIONISTA_FAIL\";\r\nexport const INVERSIONISTA_INI = \"INVERSIONISTA_INI\";\r\nexport const DELETE_INVERSIONISTA = \"DELETE_INVERSIONISTA\";\r\nexport const DELETE_INVERSIONISTA_FAIL = \"DELETE_INVERSIONISTA_FAIL\";\r\nexport const UPDATE_INVERSIONISTA = \"UPDATE_INVERSIONISTA\";\r\nexport const UPDATE_INVERSIONISTA_FAIL = \"UPDATE_INVERSIONISTA_FAIL\";\r\n\r\nexport const GET_USUARIOS_INV = \"GET_USUARIOS_INV\";\r\nexport const GET_USUARIOS_INV_FAIL = \"GET_USUARIOS_INV_FAIL\";\r\n\r\nexport const GET_EMPRESA_INST_FAIL = \"GET_EMPRESA_INST_FAIL\";\r\nexport const GET_EMPRESA_INST = \"GET_EMPRESA_INST\";\r\n\r\n//ORDENES\r\n\r\nexport const SELECT_EVENTO = \"SELECT_EVENTO\";\r\nexport const SELECT_EVENTO_FAIL = \"SELECT_EVENTO_FAIL\";\r\n\r\nexport const GET_ORDEN = \"GET_ORDEN\";\r\nexport const GET_ORDEN_FAIL = \"GET_ORDEN_FAIL\";\r\nexport const GET_ORDEN_USER_ID = \"GET_ORDEN_USER_ID\";\r\nexport const GET_ORDEN_USER_ID_FAIL = \"GET_ORDEN_USER_ID_FAIL\";\r\nexport const ORDEN_USER_ID_INI = \"ORDEN_USER_ID_INI\";\r\n\r\nexport const UPDATE_ORDEN = \"UPDATE_ORDEN\";\r\nexport const UPDATE_ORDEN_FAIL = \"UPDATE_ORDEN_FAIL\";\r\nexport const DELETE_ORDEN = \"DELETE_ORDEN\";\r\nexport const DELETE_ORDEN_FAIL = \"DELETE_ORDEN_FAIL\";\r\nexport const ORDEN_INI = \"ORDEN_INI\";\r\nexport const GET_EMPRESA_SELECT = \"GET_EMPRESA_SELECT\";\r\nexport const GET_EMPRESA_SELECT_FAIL = \"GET_EMPRESA_SELECT_FAIL\";\r\n\r\nexport const GET_INVERSIONISTA_SELECT = \"GET_INVERSIONISTA_SELECT\";\r\nexport const GET_INVERSIONISTA_SELECT_FAIL = \"GET_INVERSIONISTA_SELECT_FAIL\";\r\nexport const INVERSIONISTA_SELECT_INI = \"GET_INVERSIONISTA_SELECT_INI\";\r\n//  EVENTO\r\n\r\nexport const GET_EVENTO = \"GET_EVENTO\";\r\nexport const GET_EVENTO_FAIL = \"GET_EVENTO_FAIL\";\r\nexport const UPDATE_EVENTO = \"UPDATE_EVENTO\";\r\nexport const UPDATE_EVENTO_FAIL = \"UPDATE_EVENTO_FAIL\";\r\nexport const DELETE_EVENTO = \"DELETE_EVENTO\";\r\nexport const DELETE_EVENTO_FAIL = \"DELETE_EVENTO_FAIL\";\r\nexport const EVENTO_INI = \"EVENTO_INI\";\r\n\r\n//USUARIO EMPRESA\r\n\r\nexport const GET_USUARIO_EMPRESA = \"GET_USUARIO_EMPRESA\";\r\nexport const GET_USUARIO_EMPRESA_FAIL = \"GET_USUARIO_EMPRESA_FAIL\";\r\nexport const GET_USUARIO_EMPRESA_SIN_ASIG = \"GET_USUARIO_EMPRESA_SIN_ASIG\";\r\nexport const GET_USUARIO_EMPRESA_SIN_ASIG_FAIL = \"GET_USUARIO_EMPRESA_SIN_ASIG_FAIL\";\r\nexport const SELECT_USUARIO_EMPRESA = \"SELECT_USUARIO_EMPRESA\";\r\nexport const SELECT_USUARIO_EMPRESA_FAIL = \"SELECT_USUARIO_EMPRESA_FAIL\";\r\nexport const DELETE_USUARIO_EMPRESA = \"DELETE_USUARIO_EMPRESA\";\r\nexport const DELETE_USUARIO_EMPRESA_FAIL = \"DELETE_USUARIO_EMPRESA_FAIL\";\r\nexport const USUARIO_EMPRESA_INI = \"USUARIO_EMPRESA_INI\";\r\n\r\n//USERS\r\n\r\nexport const UPDATE_USER = \"UPDATE_USER\";\r\nexport const UPDATE_USER_FAIL = \"UPDATE_USER_FAIL\";\r\nexport const GET_USERS = \"GET_USERS\";\r\nexport const GET_USERS_FAIL = \"GET_USERS_FAIL\";\r\nexport const DELETE_USER = \"DELETE_USER\";\r\nexport const DELETE_USER_FAIL = \"DELETE_USER_FAIL\";\r\nexport const USER_INI = \"USER_INI\";\r\n\r\n//parametro\r\nexport const GET_PARAMETRO = \"GET_PARAMETRO\";\r\nexport const GET_PARAMETRO_FAIL = \"GET_PARAMETRO_FAIL\";\r\nexport const DELETE_PARAMETRO = \"DELETE_PARAMETRO\";\r\nexport const DELETE_PARAMETRO_FAIL = \"DELETE_PARAMETRO_FAIL\";\r\nexport const UPDATE_PARAMETRO = \"UPDATE_PARAMETRO\";\r\nexport const UPDATE_PARAMETRO_FAIL = \"UPDATE_PARAMETRO_FAIL\";\r\nexport const PARAMETRO_INI = \"PARAMETRO_INI\";\r\n\r\n//eventos y empresas \r\n\r\nexport const GET_EMPRESA_CON_EVENTO = \"GET_EMPRESA_CON_EVENTO\";\r\nexport const GET_EMPRESA_CON_EVENTO_FAIL = \"GET_EMPRESA_CON_EVENTO_FAIL\";\r\nexport const GET_TODO_EVENTO = \"GET_TODO_EVENTO\";\r\nexport const GET_TODO_EVENTO_FAIL = \"GET_TODO_EVENTO_FAIL\";\r\nexport const EMPRESA_CON_EVENTO_INI = \"EMPRESA_CON_EVENTO_INI\";\r\n\r\n\r\nexport const UPDATE_STATUS_BY_KEY = \"UPDATE_STATUS_BY_KEY\";\r\nexport const UPDATE_EVENTO_OBJECT = \"UPDATE_EVENTO_OBJECT\";\r\n\r\n//EVENTO EMPRESA\r\n\r\nexport const EVENTO_EMPRESA_INI = \"EVENTO_EMPRESA_INI\";\r\nexport const GET_EVENTO_EMPRESA_FAIL = \"GET_EVENTO_EMPRESA_FAIL\";\r\nexport const GET_EVENTO_EMPRESA = \"GET_EVENTO_EMPRESA\";\r\nexport const GET_EVENTO_EMPRESA_SIN_ASIG_FAIL = \"GET_EVENTO_EMPRESA_SIN_ASIG_FAIL\";\r\nexport const GET_EVENTO_EMPRESA_SIN_ASIG = \"GET_EVENTO_EMPRESA_SIN_ASIG\";\r\nexport const SELECT_EVENTO_EMPRESA_FAIL = \"SELECT_EVENTO_EMPRESA_FAIL\";\r\nexport const SELECT_EVENTO_EMPRESA = \"SELECT_EVENTO_EMPRESA\";\r\nexport const DELETE_EVENTO_EMPRESA_FAIL = \"DELETE_EVENTO_EMPRESA_FAIL\";\r\nexport const DELETE_EVENTO_EMPRESA = \"DELETE_EVENTO_EMPRESA\";\r\n\r\n//perfil usuario \r\n\r\n\r\nexport const UPDATE_USER_PROFILE = \"UPDATE_USER_PROFILE\";\r\nexport const UPDATE_USER_PROFILE_FAIL = \"UPDATE_USER_PROFILE_FAIL\";\r\n\r\n//obtener datos del evento\r\n\r\nexport const ONLY_EVENT_DATA = \"ONLY_EVENT_DATA\";\r\nexport const ONLY_EVENT_DATA_FAIL = \"ONLY_EVENT_DATA_FAIL\";\r\nexport const ONLY_EVENT_DATA_INI = \"ONLY_EVENT_DATA_INI\";\r\n\r\nexport const DATA_EVENT_ID = \"DATA_EVENT_ID\";\r\nexport const EVENT_SELECT = \"EVENT_SELECT\";\r\n\r\n//ADJUDICACION  \r\n\r\nexport const GET_ADJUDICACION = \"GET_ADJUDICACION\";\r\nexport const GET_ADJUDICACION_FAIL = \"GET_ADJUDICACION_FAIL\";\r\nexport const ADJUDICACION_INI = \"ADJUDICACION_INI\";\r\n//select empresa \r\n\r\nexport const EMPRESA_SELECT = \"EMPRESA_SELECT\";\r\nexport const EMPRESA_SELEC_INI = \"\"\r\n\r\n//LOADING SALA INI SALA_INI\r\nexport const SALA_INI = \"EMPRESA_SELEC_INI SALA_INI\";\r\n\r\n//obtener datos oslo de una empresa \r\n\r\nexport const GET_DATA_EMPRESA = \"GET_DATA_EMPRESA\";\r\nexport const GET_DATA_EMPRESA_FAIL = \"GET_DATA_EMPRESA_FAIL\";\r\nexport const GET_DATA_EMPRESA_INI = \"GET_DATA_EMPRESA_INI\";\r\n\r\n//datos header tiempo \r\n\r\nexport const INSCRIPCION = \"INSCRIPCION\";\r\nexport const COLOCACION = \"COLOCACION\";\r\nexport const SUBASTA = \"SUBASTA\";\r\nexport const ADJUDICACION = \"ADJUDICACION\";\r\n\r\n\r\n// agg JP\r\n//inversionista\r\n\r\nexport const GET_EMPRESA_SELECT_INVERSIONISTA = \"GET_EMPRESA_SELECT_INVERSIONISTA\";\r\nexport const GET_EMPRESA_SELECT_INVERSIONISTA_FAIL = \"GET_EMPRESA_SELECT_INVERSIONISTA_FAIL\";\r\n\r\n// Datos de adjudicaciones\r\n\r\nexport const GET_DATOS_ADJUDICACIONES = \"GET_DATOS_ADJUDICACIONES\";\r\nexport const GET_DATOS_ADJUDICACIONES_FAIL = \"GET_DATOS_ADJUDICACIONES_FAIL\";\r\n\r\n// Impresion de certificados\r\nexport const UPDATE_IMPRESION_LIQUIDACIONES = \"UPDATE_IMPRESION_LIQUIDACIONES\";\r\nexport const UPDATE_IMPRESION_LIQUIDACIONES_FAIL = \"UPDATE_IMPRESION_LIQUIDACIONES_FAIL\";\r\n\r\n// Impresion de titulos\r\nexport const UPDATE_IMPRESION_TITULOS = \"UPDATE_IMPRESION_TITULOS\";\r\nexport const UPDATE_IMPRESION_TITULOS_FAIL = \"UPDATE_IMPRESION_TITULOS_FAIL\";\r\n\r\n// Impresion de reporte user rueda\r\nexport const UPDATE_IMPRESION_REPORT_RUEDA = \"UPDATE_IMPRESION_REPORT_RUEDA\";\r\nexport const UPDATE_IMPRESION_REPORT_RUEDA_FAIL = \"UPDATE_IMPRESION_REPORT_RUEDA_FAIL\";\r\n\r\n// Invitacion email usuario\r\nexport const UPDATE_INVITACION_EMAIL = \"UPDATE_INVITACION_EMAIL\";\r\nexport const UPDATE_INVITACION_EMAIL_FAIL = \"UPDATE_INVITACION_EMAIL_FAIL\";\r\n\r\n// Liquidacion email \r\nexport const UPDATE_LIQUIDACION_EMAIL = \"UPDATE_LIQUIDACION_EMAIL\";\r\nexport const UPDATE_LIQUIDACION_EMAIL_FAIL = \"UPDATE_LIQUIDACION_EMAIL_FAIL\";\r\n\r\n// Guardar Liquidacion \r\nexport const UPDATE_LIQUIDACION = \"UPDATE_LIQUIDACION\";\r\nexport const UPDATE_LIQUIDACION_FAIL = \"UPDATE_LIQUIDACION_FAIL\";\r\n\r\nexport const SEND_VALUE = \"SEND_VALUE\";\r\n\r\n// catalogos modalidad\r\nexport const GET_CATALOGOS_MODALIDAD = \"GET_CATALOGOS_MODALIDAD\";\r\nexport const GET_CATALOGOS_MODALIDAD_FAIL = \"GET_CATALOGOS_MODALIDAD_FAIL\";\r\n\r\n// email para inversionista\r\nexport const UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL = \"UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL\";\r\nexport const UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL_FAIL = \"UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL_FAIL\";\r\n\r\n// cobrar liquidacion \r\nexport const UPDATE_COBRAR_LIQUIDACION = \"UPDATE_COBRAR_LIQUIDACION\";\r\nexport const UPDATE_COBRAR_LIQUIDACION_FAIL = \"UPDATE_COBRAR_LIQUIDACION_FAIL\";\r\n\r\n// comentario liquidacion \r\nexport const UPDATE_COMENTARIO_LIQUIDACION = \"UPDATE_COMENTARIO_LIQUIDACION\";\r\nexport const UPDATE_COMENTARIO_LIQUIDACION_FAIL = \"UPDATE_COMENTARIO_LIQUIDACION_FAIL\";\r\n\r\n// estado iconos liquidacion \r\nexport const UPDATE_ESTADO_IMPRIMIR_CERTIFICADO = \"UPDATE_ESTADO_IMPRIMIR_CERTIFICADO\";\r\nexport const UPDATE_ESTADO_IMPRIMIR_CERTIFICADO_FAIL = \"UPDATE_ESTADO_IMPRIMIR_CERTIFICADO_FAIL\";\r\n\r\nexport const UPDATE_ESTADO_IMPRIMIR_LIQUIDACION = \"UPDATE_ESTADO_IMPRIMIR_LIQUIDACION\";\r\nexport const UPDATE_ESTADO_IMPRIMIR_LIQUIDACION_FAIL = \"UPDATE_ESTADO_IMPRIMIR_LIQUIDACION_FAIL\";\r\n\r\nexport const UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA = \"UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA\";\r\nexport const UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA_FAIL = \"UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA_FAIL\";\r\n\r\nexport const UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA = \"UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA\";\r\nexport const UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA_FAIL = \"UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA_FAIL\";\r\n\r\n// Impresion de reportes excel\r\nexport const UPDATE_IMPRESION_REPORT_LIQUIDACION = \"UPDATE_IMPRESION_REPORT_LIQUIDACION\";\r\nexport const UPDATE_IMPRESION_REPORT_LIQUIDACION_FAIL = \"UPDATE_IMPRESION_REPORT_LIQUIDACION_FAIL\";\r\n\r\nexport const UPDATE_IMPRESION_REPORT_ADJUDICACION = \"UPDATE_IMPRESION_REPORT_ADJUDICACION\";\r\nexport const UPDATE_IMPRESION_REPORT_ADJUDICACION_FAIL = \"UPDATE_IMPRESION_REPORT_ADJUDICACION_FAIL\";\r\n\r\n\r\n\r\n\r\n\r\n","import { NotificationManager } from \"react-notifications\";\r\nimport {\r\n  SET_MESSAGE,\r\n  GET_GESTION_CATALOGOS,\r\n  GET_GESTION_CATALOGOS_FAIL,\r\n  UPDATE_GESTION_CATALOGOS,\r\n  UPDATE_GESTION_CATALOGOS_FAIL,\r\n  DELETE_GESTION_CATALOGOS,\r\n  DELETE_GESTION_CATALOGOS_FAIL,\r\n  GET_CATALOGOS_PADRE,\r\n  GET_CATALOGOS_PADRE_FAIL,\r\n  DELETE_ITEM_CATALOGO,\r\n  DELETE_ITEM_CATALOGO_FAIL,\r\n  UPDATE_ITEM_CATALOGO,\r\n  UPDATE_ITEM_CATALOGO_FAIL,\r\n  GET_ITEM_CATALOGOS,\r\n  GET_ITEM_CATALOGOS_FAIL,\r\n  UPDATE_STATUS_BY_KEY_ADM,\r\n  CATALOGOS_INI,\r\n  ITEMS_INI,\r\n  GET_EMPRESA,\r\n  GET_EMPRESA_FAIL,\r\n  EMPRESA_INI,\r\n  DELETE_EMPRESA,\r\n  DELETE_EMPRESA_FAIL,\r\n  UPDATE_EMPRESA,\r\n  UPDATE_EMPRESA_FAIL,\r\n  GET_INVERSIONISTA,\r\n  GET_INVERSIONISTA_FAIL,\r\n  INVERSIONISTA_INI,\r\n  DELETE_INVERSIONISTA,\r\n  DELETE_INVERSIONISTA_FAIL,\r\n  UPDATE_INVERSIONISTA,\r\n  UPDATE_INVERSIONISTA_FAIL,\r\n  GET_EMPRESA_INST,\r\n  GET_EMPRESA_INST_FAIL,\r\n  GET_USUARIOS_INV,\r\n  GET_USUARIOS_INV_FAIL,\r\n  GET_ORDEN,\r\n  GET_ORDEN_FAIL,\r\n  GET_ORDEN_USER_ID,\r\n  GET_ORDEN_USER_ID_FAIL,\r\n  ORDEN_USER_ID_INI,\r\n  UPDATE_ORDEN,\r\n  UPDATE_ORDEN_FAIL,\r\n  DELETE_ORDEN,\r\n  DELETE_ORDEN_FAIL,\r\n  ORDEN_INI,\r\n  GET_EMPRESA_SELECT,\r\n  GET_EMPRESA_SELECT_FAIL,\r\n  EMPRESA_SELECT_INI,\r\n  GET_INVERSIONISTA_SELECT,\r\n  GET_INVERSIONISTA_SELECT_FAIL,\r\n  GET_EVENTO,\r\n  GET_EVENTO_FAIL,\r\n  UPDATE_EVENTO,\r\n  UPDATE_EVENTO_FAIL,\r\n  DELETE_EVENTO,\r\n  DELETE_EVENTO_FAIL,\r\n  EVENTO_INI,\r\n  GET_USUARIO_EMPRESA,\r\n  GET_USUARIO_EMPRESA_FAIL,\r\n  GET_USUARIO_EMPRESA_SIN_ASIG,\r\n  GET_USUARIO_EMPRESA_SIN_ASIG_FAIL,\r\n  SELECT_USUARIO_EMPRESA,\r\n  SELECT_USUARIO_EMPRESA_FAIL,\r\n  DELETE_USUARIO_EMPRESA,\r\n  DELETE_USUARIO_EMPRESA_FAIL,\r\n  USUARIO_EMPRESA_INI,\r\n  UPDATE_USER,\r\n  UPDATE_USER_FAIL,\r\n  GET_USERS,\r\n  GET_USERS_FAIL,\r\n  DELETE_USER,\r\n  DELETE_USER_FAIL,\r\n  USER_INI,\r\n  SELECT_EVENTO,\r\n  SELECT_EVENTO_FAIL,\r\n  GET_PARAMETRO,\r\n  GET_PARAMETRO_FAIL,\r\n  DELETE_PARAMETRO,\r\n  DELETE_PARAMETRO_FAIL,\r\n  UPDATE_PARAMETRO,\r\n  UPDATE_PARAMETRO_FAIL,\r\n  PARAMETRO_INI,\r\n  GET_EMPRESA_CON_EVENTO,\r\n  GET_EMPRESA_CON_EVENTO_FAIL,\r\n  EMPRESA_CON_EVENTO_INI,\r\n  GET_TODO_EVENTO,\r\n  GET_TODO_EVENTO_FAIL,\r\n\r\n  DELETE_EVENTO_EMPRESA,\r\n  DELETE_EVENTO_EMPRESA_FAIL,\r\n  SELECT_EVENTO_EMPRESA,\r\n  SELECT_EVENTO_EMPRESA_FAIL,\r\n  GET_EVENTO_EMPRESA_SIN_ASIG,\r\n  GET_EVENTO_EMPRESA_SIN_ASIG_FAIL,\r\n  GET_EVENTO_EMPRESA,\r\n  GET_EVENTO_EMPRESA_FAIL,\r\n  EVENTO_EMPRESA_INI,\r\n  UPDATE_USER_PROFILE,\r\n  UPDATE_USER_PROFILE_FAIL,\r\n  ONLY_EVENT_DATA,\r\n  ONLY_EVENT_DATA_FAIL,\r\n  ONLY_EVENT_DATA_INI,\r\n  GET_ADJUDICACION,\r\n  GET_ADJUDICACION_FAIL,\r\n  ADJUDICACION_INI,\r\n  SALA_INI,\r\n  INVERSIONISTA_SELECT_INI,\r\n  GET_DATA_EMPRESA,\r\n  GET_DATA_EMPRESA_FAIL,\r\n  GET_DATA_EMPRESA_INI,\r\n\r\n  // agg JP\r\n  GET_EMPRESA_SELECT_INVERSIONISTA,\r\n  GET_EMPRESA_SELECT_INVERSIONISTA_FAIL,\r\n\r\n  GET_DATOS_ADJUDICACIONES,\r\n  GET_DATOS_ADJUDICACIONES_FAIL,\r\n\r\n  UPDATE_IMPRESION_LIQUIDACIONES,\r\n  UPDATE_IMPRESION_LIQUIDACIONES_FAIL,\r\n\r\n  UPDATE_IMPRESION_TITULOS,\r\n  UPDATE_IMPRESION_TITULOS_FAIL,\r\n\r\n  UPDATE_IMPRESION_REPORT_RUEDA,\r\n  UPDATE_IMPRESION_REPORT_RUEDA_FAIL,\r\n\r\n  UPDATE_INVITACION_EMAIL,\r\n  UPDATE_INVITACION_EMAIL_FAIL,\r\n\r\n  UPDATE_LIQUIDACION_EMAIL,\r\n  UPDATE_LIQUIDACION_EMAIL_FAIL,\r\n\r\n  UPDATE_LIQUIDACION,\r\n  UPDATE_LIQUIDACION_FAIL,\r\n\r\n  GET_CATALOGOS_MODALIDAD,\r\n  GET_CATALOGOS_MODALIDAD_FAIL,\r\n\r\n  UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL,\r\n  UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL_FAIL,\r\n\r\n  UPDATE_COBRAR_LIQUIDACION,\r\n  UPDATE_COBRAR_LIQUIDACION_FAIL,\r\n\r\n  UPDATE_COMENTARIO_LIQUIDACION,\r\n  UPDATE_COMENTARIO_LIQUIDACION_FAIL,\r\n\r\n  UPDATE_ESTADO_IMPRIMIR_CERTIFICADO,\r\n  UPDATE_ESTADO_IMPRIMIR_CERTIFICADO_FAIL,\r\n\r\n\r\n  UPDATE_ESTADO_IMPRIMIR_LIQUIDACION,\r\n  UPDATE_ESTADO_IMPRIMIR_LIQUIDACION_FAIL,\r\n\r\n  UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA,\r\n  UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA_FAIL,\r\n\r\n  UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA,\r\n  UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA_FAIL,\r\n\r\n  UPDATE_IMPRESION_REPORT_LIQUIDACION,\r\n  UPDATE_IMPRESION_REPORT_LIQUIDACION_FAIL,\r\n\r\n  UPDATE_IMPRESION_REPORT_ADJUDICACION,\r\n  UPDATE_IMPRESION_REPORT_ADJUDICACION_FAIL,\r\n\r\n\r\n  // control jueg\r\n  SEND_VALUE\r\n\r\n\r\n\r\n} from \"./types\";\r\nimport AdmService from \"../services/administracion.service\";\r\n\r\nexport const setStatusByKey = (key, value) => (dispatch) => {\r\n  dispatch({\r\n    type: UPDATE_STATUS_BY_KEY_ADM,\r\n    payload: { key: key, value: value },\r\n  });\r\n  return Promise.resolve();\r\n};\r\n//OBTENER DATA EMPRESA\r\nexport const getDataEmpresaAct = (empresaId) => (dispatch) => {\r\n  dispatch({\r\n    type: GET_DATA_EMPRESA_INI,\r\n  });\r\n  return AdmService.getDataEmpresaSer(empresaId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_DATA_EMPRESA,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_DATA_EMPRESA_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_DATA_EMPRESA_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\n// FIN OBTENER DATA EMPRESA \r\n//obtener adjudicacion getAdjudicacionSer\r\nexport const getAdjudicacionAct = (eventoId, empresaId, usuarioId, page, filterField, filer, typeOrd, sort) => (\r\n  dispatch\r\n) => {\r\n  dispatch({\r\n    type: ADJUDICACION_INI,\r\n  });\r\n  return AdmService.getAdjudicacionSer(eventoId, empresaId, usuarioId, page, filterField, filer, typeOrd, sort).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_ADJUDICACION,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_ADJUDICACION_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_ADJUDICACION_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n// fin de obtener adjudicacion\r\n\r\n//obtener datos evento  getDataEventSer\r\nexport const getDataEventAct = (eventoId) => (dispatch) => {\r\n  dispatch({\r\n    type: ONLY_EVENT_DATA_INI,\r\n  });\r\n  return AdmService.getDataEventSer(eventoId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: ONLY_EVENT_DATA,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: ONLY_EVENT_DATA_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: ONLY_EVENT_DATA_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n//fin de obtener datos evento\r\n\r\n//perfil usuario \r\nexport const updatePerfilUsuario = (usuarioId, nombre, nick, email, clave, image, uploadId) => (dispatch) => {\r\n  return AdmService.updatePerfilUsuario(usuarioId, nombre, nick, email, clave, image, uploadId).then(\r\n    (response) => {\r\n      dispatch({\r\n        type: UPDATE_USER_PROFILE,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: response.data.message,\r\n      });\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_USER_PROFILE_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n//fin perfil usuario\r\n//EVENTO EMPRESA\r\nexport const deleteEventoEmpresaAct = (eventoEmpresaId, eventoId) => (\r\n  dispatch\r\n) => {\r\n  dispatch({\r\n    type: EVENTO_EMPRESA_INI,\r\n  });\r\n  return AdmService.deleteEventoEmpresaSer(eventoEmpresaId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getEventoEmpresaAct(eventoId));\r\n\r\n        dispatch({\r\n          type: DELETE_EVENTO_EMPRESA,\r\n        });\r\n        NotificationManager.success(\r\n          \"Empresa Eliminada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_EVENTO_EMPRESA_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: DELETE_EVENTO_EMPRESA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const selectEventoEmpresaAct = (eventoId, empresaId, usuarioIdRegistro) => (dispatch) => {\r\n  dispatch({\r\n    type: EVENTO_EMPRESA_INI,\r\n  });\r\n  return AdmService.selectEventoEmpresaSer(eventoId, empresaId, usuarioIdRegistro).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getEventoEmpresaAct(eventoId));\r\n        dispatch(getEventoEmpresaSinAsigAct(eventoId));\r\n        dispatch({\r\n          type: SELECT_EVENTO_EMPRESA,\r\n        });\r\n        NotificationManager.success(\r\n          \"Empresa guardada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: SELECT_EVENTO_EMPRESA_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: SELECT_EVENTO_EMPRESA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getEventoEmpresaSinAsigAct = (eventoId) => (dispatch) => {\r\n  dispatch({\r\n    type: EVENTO_EMPRESA_INI,\r\n  });\r\n  return AdmService.getEventoEmpresaSinAsigSer(eventoId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_EVENTO_EMPRESA_SIN_ASIG,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_EVENTO_EMPRESA_SIN_ASIG_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_EVENTO_EMPRESA_SIN_ASIG_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getEventoEmpresaAct = (eventoId) => (dispatch) => {\r\n  dispatch({\r\n    type: EVENTO_EMPRESA_INI,\r\n  });\r\n  return AdmService.getEventoEmpresaSer(eventoId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_EVENTO_EMPRESA,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_EVENTO_EMPRESA_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_EVENTO_EMPRESA_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n//FIN EVENTO EMPRESA\r\n\r\n\r\n// obtener eventos y empresas de eventos selccionado\r\nexport const getTodoEventoAct = (usuarioId) => (dispatch) => {\r\n  dispatch({\r\n    type: EMPRESA_CON_EVENTO_INI,\r\n  });\r\n  return AdmService.getTodoEventoSer(usuarioId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_TODO_EVENTO,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_TODO_EVENTO_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_TODO_EVENTO_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\nexport const getEmpresaConEventoAct = (eventoId, usuarioId, empresaId) => (dispatch) => {\r\n  dispatch({\r\n    type: EMPRESA_CON_EVENTO_INI,\r\n  });\r\n  return AdmService.getEmpresaConEventoSer(eventoId, usuarioId, empresaId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_EMPRESA_CON_EVENTO,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_EMPRESA_CON_EVENTO_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_EMPRESA_CON_EVENTO_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n// fin btener evento y empresas de ventos seleccionados\r\n\r\n\r\n//Parametros \r\nexport const deleteParametroAct = (parametroId) => (dispatch) => {\r\n\r\n  dispatch({\r\n    type: PARAMETRO_INI,\r\n  });\r\n  return AdmService.deleteParametroSer(parametroId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getParametroAct(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: DELETE_PARAMETRO,\r\n        });\r\n        NotificationManager.success(\r\n          \"Parámetro Eliminado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_PARAMETRO_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar parámetro\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: DELETE_PARAMETRO_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getParametroAct = (page, filterField, filer, typeOrd, sort) => (\r\n  dispatch\r\n) => {\r\n  dispatch({\r\n    type: PARAMETRO_INI,\r\n  });\r\n  return AdmService.getParametroSer(page, filterField, filer, typeOrd, sort).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_PARAMETRO,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_PARAMETRO_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_PARAMETRO_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\nexport const updateParametroAct = (\r\n  parametroId,\r\n  codigo,\r\n  nombre,\r\n  descripcion,\r\n  valor,\r\n  usaurioIdRegistro,\r\n  estado\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: USER_INI,\r\n  });\r\n  return AdmService.updateParametroSer(\r\n    parametroId,\r\n    codigo,\r\n    nombre,\r\n    descripcion,\r\n    valor,\r\n    usaurioIdRegistro,\r\n    estado\r\n  ).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getParametroAct(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: UPDATE_PARAMETRO,\r\n        });\r\n        NotificationManager.success(\r\n          \"Parámetro guardado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n\r\n      if (response === -1) {\r\n        dispatch({\r\n          type: UPDATE_PARAMETRO_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_PARAMETRO_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n//fin parametros\r\n\r\n//usuarios\r\nexport const deleteUsuario = (usuarioId) => (dispatch) => {\r\n\r\n  dispatch({\r\n    type: USER_INI,\r\n  });\r\n  return AdmService.deleteUsuario(usuarioId).then(\r\n    (response) => {\r\n\r\n      if (response === 0) {\r\n        dispatch(getUsuarios(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: DELETE_USER,\r\n        });\r\n        NotificationManager.success(\r\n          \"Usuario Eliminado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_USER_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar usuario\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: DELETE_USER_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getUsuarios = (page, filterField, filer, typeOrd, sort) => (\r\n  dispatch\r\n) => {\r\n  dispatch({\r\n    type: USER_INI,\r\n  });\r\n  return AdmService.getUsuarios(page, filterField, filer, typeOrd, sort).then(\r\n    (data) => {\r\n      console.log(data);\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_USERS,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_USERS_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_USERS_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\nexport const updateUsuario = (\r\n  usuarioId,\r\n  nombre,\r\n  nick,\r\n  email,\r\n  rol,\r\n  clave,\r\n  estado,\r\n  uploadId,\r\n  imagenUrl\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: USER_INI,\r\n  });\r\n  return AdmService.updateUsuario(\r\n    usuarioId,\r\n    nombre,\r\n    nick,\r\n    email,\r\n    rol,\r\n    clave,\r\n    estado,\r\n    uploadId,\r\n    imagenUrl\r\n  ).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getUsuarios(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: UPDATE_USER,\r\n        });\r\n        NotificationManager.success(\r\n          \"Usuario guardado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -2) {\r\n        dispatch({\r\n          type: UPDATE_USER_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error, correo ya existe!\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -1) {\r\n        dispatch({\r\n          type: UPDATE_USER_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_USER_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n//fin usuarios\r\n\r\n//USUARIOS EMPRESA\r\nexport const deleteUsuarioEmpresaAct = (usuarioEmpresaId, empresaId) => (\r\n  dispatch\r\n) => {\r\n  dispatch({\r\n    type: USUARIO_EMPRESA_INI,\r\n  });\r\n  return AdmService.deleteUsuarioEmpresaSer(usuarioEmpresaId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getUsuarioEmpresaAct(empresaId));\r\n\r\n        dispatch({\r\n          type: DELETE_USUARIO_EMPRESA,\r\n        });\r\n        NotificationManager.success(\r\n          \"Usuario Eliminado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_USUARIO_EMPRESA_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: DELETE_USUARIO_EMPRESA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const selectUsuarioEmpresaAct = (empresaId, usuarioId) => (dispatch) => {\r\n  dispatch({\r\n    type: USUARIO_EMPRESA_INI,\r\n  });\r\n  return AdmService.selectUsuarioEmpresaSer(empresaId, usuarioId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getUsuarioEmpresaAct(empresaId));\r\n        dispatch(getUsuarioEmpresaSinAsigAct(empresaId));\r\n        dispatch({\r\n          type: SELECT_USUARIO_EMPRESA,\r\n        });\r\n        NotificationManager.success(\r\n          \"Usuario guardado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: SELECT_USUARIO_EMPRESA_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: SELECT_USUARIO_EMPRESA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getUsuarioEmpresaSinAsigAct = (empresaId) => (dispatch) => {\r\n  dispatch({\r\n    type: USUARIO_EMPRESA_INI,\r\n  });\r\n  return AdmService.getUsuarioEmpresaSinAsigSer(empresaId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_USUARIO_EMPRESA_SIN_ASIG,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_USUARIO_EMPRESA_SIN_ASIG_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_USUARIO_EMPRESA_SIN_ASIG_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getUsuarioEmpresaAct = (empresaId) => (dispatch) => {\r\n  dispatch({\r\n    type: USUARIO_EMPRESA_INI,\r\n  });\r\n  return AdmService.getUsuarioEmpresaSer(empresaId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_USUARIO_EMPRESA,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_USUARIO_EMPRESA_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_USUARIO_EMPRESA_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n//FIN USUARIOS EMPRESA\r\n\r\n//evento\r\nexport const deleteEventoAct = (\r\n  eventoId,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: EVENTO_INI,\r\n  });\r\n  return AdmService.deleteEventoSer(eventoId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getEventoAct(page, filterField, filer, typeOrd, sort));\r\n\r\n        dispatch({\r\n          type: DELETE_EVENTO,\r\n        });\r\n        NotificationManager.success(\r\n          \"Evento Eliminado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_EVENTO_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: DELETE_EVENTO_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const updateEventoAct = (\r\n  eventoId,\r\n  logoUrl,\r\n  modalidadId,\r\n  nombreEvento,\r\n  logo,\r\n  estado,\r\n  usuarioRegistroId,\r\n  fechaSubasta,\r\n  inscripcion,\r\n  subasta,\r\n  colocacion,\r\n  adjudicacion,\r\n  nombreEmpresaCorto,\r\n  nombreExponente,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: EVENTO_INI,\r\n  });\r\n  return AdmService.updateEventoSer(\r\n    eventoId,\r\n    logoUrl,\r\n    modalidadId,\r\n    nombreEvento,\r\n    logo,\r\n    estado,\r\n    usuarioRegistroId,\r\n    fechaSubasta,\r\n    inscripcion,\r\n    subasta,\r\n    colocacion,\r\n    adjudicacion,\r\n    nombreEmpresaCorto,\r\n    nombreExponente\r\n  ).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getEventoAct(page, filterField, filer, typeOrd, sort));\r\n\r\n        dispatch({\r\n          type: UPDATE_EVENTO,\r\n        });\r\n        NotificationManager.success(\r\n          \"Evento guardado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_EVENTO_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_EVENTO_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getEventoAct = (page, filterField, filer, typeOrd, sort) => (\r\n  dispatch\r\n) => {\r\n  dispatch({\r\n    type: EVENTO_INI,\r\n  });\r\n  return AdmService.getEventoSer(page, filterField, filer, typeOrd, sort).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_EVENTO,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_EVENTO_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_EVENTO_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n//fin evento\r\n\r\n//  ordenes\r\nexport const getEventoSelectAct = () => (dispatch) => {\r\n  return AdmService.getEventoSelectSer().then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: SELECT_EVENTO,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: SELECT_EVENTO_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: SELECT_EVENTO_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\nexport const getEmpresaSelectAct = (eventoId) => (dispatch) => {\r\n  dispatch({\r\n    type: SALA_INI,\r\n  });\r\n  return AdmService.getEmpresaSelectSer(eventoId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_EMPRESA_SELECT,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_EMPRESA_SELECT_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_EMPRESA_SELECT_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getInversionistaSelectAct = (empresaId) => (dispatch) => {\r\n  dispatch({\r\n    type: INVERSIONISTA_SELECT_INI,\r\n  });\r\n  return AdmService.getInversionistaSelectSer(empresaId).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_INVERSIONISTA_SELECT,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_INVERSIONISTA_SELECT_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_INVERSIONISTA_SELECT_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const deleteOrdenAct = (\r\n  ordenId,\r\n  empresaId,\r\n  eventoId,\r\n  userId\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: ORDEN_INI,\r\n  });\r\n  return AdmService.deleteOrdenSer(ordenId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n\r\n        dispatch(getOrdenPorUsuarioAct(empresaId, eventoId, userId, \"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch(getAdjudicacionAct(eventoId, empresaId, userId, \"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: DELETE_ORDEN,\r\n        });\r\n        NotificationManager.success(\r\n          \"Orden Eliminado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_ORDEN_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: DELETE_INVERSIONISTA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getOrdenAct = (page, filterField, filer, typeOrd, sort) => (\r\n  dispatch\r\n) => {\r\n  dispatch({\r\n    type: SALA_INI,\r\n  });\r\n  return AdmService.getOrdenSer(page, filterField, filer, typeOrd, sort).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_ORDEN,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_ORDEN_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_ORDEN_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getOrdenPorUsuarioAct = (\r\n  empresaId,\r\n  eventoId,\r\n  usuarioId,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: ORDEN_USER_ID_INI,\r\n  });\r\n  return AdmService.getOrdenPorUsuarioSer(\r\n    empresaId,\r\n    eventoId,\r\n    usuarioId,\r\n    page,\r\n    filterField,\r\n    filer,\r\n    typeOrd,\r\n    sort\r\n  ).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_ORDEN_USER_ID,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_ORDEN_USER_ID_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_ORDEN_USER_ID_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const updateOrdenAct = (\r\n  ordenId, empresaId, inversionistaId, accionesComprar, precioPagar, estado, usuarioRegistroId, eventoId,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: SALA_INI,\r\n  });\r\n  return AdmService.updateOrdenSer(\r\n    ordenId,\r\n    empresaId,\r\n    inversionistaId,\r\n    accionesComprar,\r\n    precioPagar,\r\n    estado,\r\n    usuarioRegistroId,\r\n    eventoId\r\n  ).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch({\r\n          type: UPDATE_ORDEN,\r\n        });\r\n        dispatch(getOrdenPorUsuarioAct(empresaId, eventoId, usuarioRegistroId, page, filterField, filer, typeOrd, sort));\r\n        NotificationManager.success(\r\n          \"Orden guardada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -1) {\r\n        dispatch({\r\n          type: UPDATE_ORDEN_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      /* if(response ===-2){        \r\n         dispatch({\r\n           type: UPDATE_ORDEN_FAIL,\r\n         });\r\n         NotificationManager.error(\r\n           \"Error. Acciones sobrepasan las acciones de la empresa\",\r\n           \"Sistema\",\r\n           4000,\r\n           () => {},\r\n           4\r\n         );\r\n       }*/\r\n      if (response === -3) {\r\n        dispatch({\r\n          type: UPDATE_ORDEN_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error. Precio debe ser mayor al precio de oferta\",\r\n          \"Sistema\",\r\n          4000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -2) {\r\n        dispatch({\r\n          type: UPDATE_ORDEN_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error, precio debe ser menor que el techo máximo\",\r\n          \"Sistema\",\r\n          4000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_ORDEN_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n//  fin ordenes\r\n//obtener usuarios\r\nexport const getUsuariosAct = () => (dispatch) => {\r\n  dispatch({\r\n    type: INVERSIONISTA_INI,\r\n  });\r\n  return AdmService.getUsuariosSer().then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_USUARIOS_INV,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_USUARIOS_INV_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_USUARIOS_INV_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n// fin obt usuarios\r\n\r\n//obtener instituciones getInstitucionesSer\r\nexport const getInstitucionesEmpresaAct = () => (dispatch) => {\r\n  dispatch({\r\n    type: EMPRESA_INI,\r\n  });\r\n  return AdmService.getInstitucionesEmpresaSer().then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_EMPRESA_INST,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_EMPRESA_INST_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_EMPRESA_INST_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n// fin obtener instituciones\r\n\r\n//inversionista\r\nexport const deleteInversionistaAct = (\r\n  inversionistaId,\r\n  usuarioId,\r\n  empresaId,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort,\r\n\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: INVERSIONISTA_INI,\r\n  });\r\n  return AdmService.deleteInversionistaSer(inversionistaId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getInversionistaAct(usuarioId, empresaId, page, filterField, filer, typeOrd, sort));\r\n\r\n        dispatch({\r\n          type: DELETE_INVERSIONISTA,\r\n        });\r\n        NotificationManager.success(\r\n          \"Inversionista Eliminado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_INVERSIONISTA_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: DELETE_INVERSIONISTA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const updateInversionistaAct = (\r\n  inversionistaId,\r\n  nombre,\r\n  apellido,\r\n  cedula,\r\n  telefono,\r\n  direccion,\r\n  estado,\r\n  usuarioRegistroId,\r\n  empresaId,\r\n  email,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort,\r\n  empresaUsuarioId\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: INVERSIONISTA_INI,\r\n  });\r\n  return AdmService.updateInversionistaSer(\r\n    inversionistaId,\r\n    nombre,\r\n    apellido,\r\n    cedula,\r\n    telefono,\r\n    direccion,\r\n    estado,\r\n    usuarioRegistroId,\r\n    empresaId,\r\n    email\r\n  ).then(\r\n    (response) => {\r\n      // Aqui se cambio 0\r\n      console.log(\"respuesta de servicio \", response);\r\n      //const idEmpres = response;\r\n      if (response !== \"\") {\r\n        dispatch(getInversionistaAct(usuarioRegistroId, empresaUsuarioId, page, filterField, filer, typeOrd, sort));\r\n        dispatch(getInversionistaSelectAct(empresaId,));\r\n\r\n\r\n        dispatch({\r\n          type: UPDATE_INVERSIONISTA,\r\n        });\r\n        NotificationManager.success(\" guardado\", \"Sistema\", 3000, () => { }, 4);\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_INVERSIONISTA_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve(response);\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_INVERSIONISTA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getInversionistaAct = (\r\n  usuarioId,\r\n  empresaId,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: INVERSIONISTA_INI,\r\n  });\r\n  return AdmService.getInversionistaSer(\r\n    usuarioId,\r\n    empresaId,\r\n    page,\r\n    filterField,\r\n    filer,\r\n    typeOrd,\r\n    sort\r\n  ).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_INVERSIONISTA,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_INVERSIONISTA_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_INVERSIONISTA_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n//fin inversionista\r\n\r\n// empresa\r\nexport const deleteEmpresaAct = (\r\n  empresaId,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: EMPRESA_INI,\r\n  });\r\n  return AdmService.deleteEmpresaSer(empresaId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getEmpresaAct(page, filterField, filer, typeOrd, sort));\r\n\r\n        dispatch({\r\n          type: DELETE_EMPRESA,\r\n        });\r\n        NotificationManager.success(\r\n          \"Empresa Eliminada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_EMPRESA_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: DELETE_EMPRESA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const updateEmpresaAct = (\r\n  empresaId,\r\n  nombre,\r\n  logo,\r\n  direccion,\r\n  estado,\r\n  usuarioRegistroId,\r\n  institucion,\r\n  email,\r\n  gerente,\r\n  operador,\r\n  receptor,\r\n  numAccionesOferta,\r\n  precioInicialPorAccion,\r\n  valorUnitarioAccion,\r\n  montoMinMejoraPrecio,\r\n  comisionOperador,\r\n  comisionBVQ,\r\n  porcentajePrecioTechoMax,\r\n  fechaConstitucion,\r\n  fechaInscripcion,\r\n  capitalPagado,\r\n  divididoEn,\r\n  valor,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: EMPRESA_INI,\r\n  });\r\n  return AdmService.updateEmpresaSer(\r\n    empresaId,\r\n    nombre,\r\n    logo,\r\n    direccion,\r\n    estado,\r\n    usuarioRegistroId,\r\n    institucion,\r\n    email,\r\n    gerente,\r\n    operador,\r\n    receptor,\r\n    numAccionesOferta,\r\n    precioInicialPorAccion,\r\n    valorUnitarioAccion,\r\n    montoMinMejoraPrecio,\r\n    comisionOperador,\r\n    comisionBVQ,\r\n    porcentajePrecioTechoMax,\r\n    fechaConstitucion,\r\n    fechaInscripcion,\r\n    capitalPagado,\r\n    divididoEn,\r\n    valor,\r\n  ).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getEmpresaAct(page, filterField, filer, typeOrd, sort));\r\n        dispatch(getEmpresaSelectAct());\r\n        dispatch({\r\n          type: UPDATE_EMPRESA,\r\n        });\r\n        NotificationManager.success(\r\n          \"Empresa guardada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_EMPRESA_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_EMPRESA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getEmpresaAct = (page, filterField, filer, typeOrd, sort) => (\r\n  dispatch\r\n) => {\r\n  dispatch({\r\n    type: EMPRESA_INI,\r\n  });\r\n  return AdmService.getEmpresaSer(page, filterField, filer, typeOrd, sort).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_EMPRESA,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_EMPRESA_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_EMPRESA_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n// fin empresa\r\n\r\n//item catalogo\r\n\r\nexport const deleteItemCatalogo = (\r\n  itemId,\r\n  catalogoId,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: ITEMS_INI,\r\n  });\r\n  return AdmService.deleteItemCatalogo(itemId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(\r\n          getItemCatalogos(catalogoId, page, filterField, filer, typeOrd, sort)\r\n        );\r\n\r\n        dispatch({\r\n          type: DELETE_ITEM_CATALOGO,\r\n        });\r\n        NotificationManager.success(\r\n          \"Item catálogo Eliminado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_ITEM_CATALOGO_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: DELETE_ITEM_CATALOGO_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const updateItemCatalogo = (\r\n  itemId,\r\n  codigo,\r\n  nombre,\r\n  activo,\r\n  editar,\r\n  itemPadreId,\r\n  catalogoId,\r\n  nombreCorto,\r\n  estado,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: ITEMS_INI,\r\n  });\r\n  return AdmService.updateItemCatalogo(\r\n    itemId,\r\n    codigo,\r\n    nombre,\r\n    activo,\r\n    editar,\r\n    itemPadreId,\r\n    catalogoId,\r\n    nombreCorto,\r\n    estado\r\n  ).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(\r\n          getItemCatalogos(catalogoId, page, filterField, filer, typeOrd, sort)\r\n        );\r\n        dispatch({\r\n          type: UPDATE_ITEM_CATALOGO,\r\n        });\r\n        NotificationManager.success(\r\n          \"Item catálogo guardado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_ITEM_CATALOGO_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_ITEM_CATALOGO_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getItemCatalogos = (\r\n  catalogoId,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: ITEMS_INI,\r\n  });\r\n  return AdmService.getItemsCatalogosPag(\r\n    catalogoId,\r\n    page,\r\n    filterField,\r\n    filer,\r\n    typeOrd,\r\n    sort\r\n  ).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_ITEM_CATALOGOS,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_ITEM_CATALOGOS_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_ITEM_CATALOGOS_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n// fin item catalogos\r\n//catalogos\r\n\r\nexport const getCatalogosPadre = () => (dispatch) => {\r\n  return AdmService.getCatalogosPadre().then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_CATALOGOS_PADRE,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_CATALOGOS_PADRE_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_CATALOGOS_PADRE_FAIL,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const deleteCatalogo = (\r\n  catalogoId,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: CATALOGOS_INI,\r\n  });\r\n  return AdmService.deleteGestionCatalogo(catalogoId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getCatalogos(page, filterField, filer, typeOrd, sort));\r\n\r\n        dispatch({\r\n          type: DELETE_GESTION_CATALOGOS,\r\n        });\r\n        NotificationManager.success(\r\n          \"Catálogo eliminado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: DELETE_GESTION_CATALOGOS_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al eliminar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: DELETE_GESTION_CATALOGOS_FAIL,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const updateGestionCatalogo = (\r\n  catalogoId,\r\n  codigo,\r\n  nombre,\r\n  activo,\r\n  editar,\r\n  catalogoPadreId,\r\n  estado,\r\n  page,\r\n  filterField,\r\n  filer,\r\n  typeOrd,\r\n  sort\r\n) => (dispatch) => {\r\n  dispatch({\r\n    type: CATALOGOS_INI,\r\n  });\r\n  return AdmService.updateGestionCatalogo(\r\n    catalogoId,\r\n    codigo,\r\n    nombre,\r\n    activo,\r\n    editar,\r\n    catalogoPadreId,\r\n    estado\r\n  ).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getCatalogos(page, filterField, filer, typeOrd, sort));\r\n        dispatch(getCatalogosPadre());\r\n        dispatch({\r\n          type: UPDATE_GESTION_CATALOGOS,\r\n        });\r\n        NotificationManager.success(\r\n          \"Catálogo guardado\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_GESTION_CATALOGOS_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_GESTION_CATALOGOS_FAIL,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const getCatalogos = (page, filterField, filer, typeOrd, sort) => (\r\n  dispatch\r\n) => {\r\n  dispatch({\r\n    type: CATALOGOS_INI,\r\n  });\r\n  return AdmService.getGestionCatalogosPag(\r\n    page,\r\n    filterField,\r\n    filer,\r\n    typeOrd,\r\n    sort\r\n  ).then(\r\n    (data) => {\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_GESTION_CATALOGOS,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_GESTION_CATALOGOS_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_GESTION_CATALOGOS_FAIL,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n// AGG JP\r\nexport const getEmpresaSelectInversionista = (usuarioId, empresaId) => (dispatch) => {\r\n  return AdmService.getEmpresaSelectInversionista(\r\n    usuarioId, empresaId\r\n  ).then(\r\n    (data) => {\r\n      //console.log(\"action\");\r\n      //console.log(data);\r\n      if (data != null) {\r\n\r\n        dispatch({\r\n          type: GET_EMPRESA_SELECT_INVERSIONISTA,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_EMPRESA_SELECT_INVERSIONISTA_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_EMPRESA_SELECT_INVERSIONISTA_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\nexport const getDatosAdjudicaciones = (eventoId, usuarioId, empresaId, page, filterField, filer, typeOrd, sort) => (dispatch) => {\r\n\r\n  return AdmService.getDatosAdjudicaciones(eventoId, usuarioId, empresaId, page, filterField, filer, typeOrd, sort).then(\r\n    (data) => {\r\n      //console.log(data);\r\n      if (data != null) {\r\n        dispatch({\r\n          type: GET_DATOS_ADJUDICACIONES,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_DATOS_ADJUDICACIONES_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_DATOS_ADJUDICACIONES_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\n// Imprimir certificado de liquidaciones\r\nexport const updateImpresionLiquidaciones = (\r\n  liquidacionId\r\n\r\n) => (dispatch) => {\r\n  return AdmService.updateImpresionLiquidaciones(\r\n    liquidacionId\r\n\r\n  ).then(\r\n    (response) => {\r\n      if (response !== \"\") {\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_LIQUIDACIONES\r\n        });\r\n        NotificationManager.success(\r\n          \"Certificado Impreso\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -2) {\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_LIQUIDACIONES_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al imprimir\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n\r\n      return Promise.resolve(response);\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_IMPRESION_LIQUIDACIONES_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n\r\n\r\n\r\n};\r\n\r\n// Imprimir titulos de liquidaciones\r\nexport const updateImpresionTitulos = (\r\n  liquidacionId\r\n\r\n) => (dispatch) => {\r\n  return AdmService.updateImpresionTitulos(\r\n    liquidacionId\r\n\r\n  ).then(\r\n    (response) => {\r\n      if (response !== \"\") {\r\n        //dispatch(getUsuarios(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_TITULOS\r\n        });\r\n        NotificationManager.success(\r\n          \"Titulo Impreso\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -2) {\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_TITULOS_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al imprimir\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n\r\n      return Promise.resolve(response);\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_IMPRESION_TITULOS_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n\r\n  )\r\n};\r\n\r\n// reporte user rueda\r\nexport const updateImpresionReportRueda = (\r\n  adjudicacionId\r\n\r\n) => (dispatch) => {\r\n  return AdmService.updateImpresionReportRueda(\r\n    adjudicacionId\r\n\r\n  ).then(\r\n    (response) => {\r\n      if (response !== \"\") {\r\n        //dispatch(getUsuarios(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_REPORT_RUEDA\r\n        });\r\n        NotificationManager.success(\r\n          \"Reporte Impreso\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -2) {\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_REPORT_RUEDA_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al imprimir\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n\r\n      return Promise.resolve(response);\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_IMPRESION_REPORT_RUEDA_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n\r\n  )\r\n};\r\n\r\n// enviar email invitacion\r\nexport const sendEmailInvitacionUser = (\r\n  eventoId, usuarioId, empresaId\r\n\r\n) => (dispatch) => {\r\n  return AdmService.sendEmailInvitacionUser(\r\n    eventoId, usuarioId, empresaId).then(\r\n      (response) => {\r\n        if (response === 0) {\r\n          dispatch({\r\n            type: UPDATE_INVITACION_EMAIL\r\n          });\r\n          NotificationManager.success(\r\n            \"Invitación individual enviada\",\r\n            \"Sistema\",\r\n            3000,\r\n            () => { },\r\n            4\r\n          );\r\n        }\r\n        if (response === 1) {\r\n          dispatch({\r\n            type: UPDATE_INVITACION_EMAIL\r\n          });\r\n          NotificationManager.success(\r\n            \"Invitación grupal enviada\",\r\n            \"Sistema\",\r\n            3000,\r\n            () => { },\r\n            4\r\n          );\r\n        }\r\n        if (response === -1) {\r\n          dispatch({\r\n            type: UPDATE_INVITACION_EMAIL_FAIL,\r\n          });\r\n          NotificationManager.error(\r\n            \"Error al enviar invitación\",\r\n            \"Sistema\",\r\n            3000,\r\n            () => { },\r\n            4\r\n          );\r\n        }\r\n\r\n        return Promise.resolve(response);\r\n      },\r\n      (error) => {\r\n        const message =\r\n          (error.response &&\r\n            error.response.data &&\r\n            error.response.data.message) ||\r\n          error.message ||\r\n          error.toString();\r\n\r\n        dispatch({\r\n          type: UPDATE_INVITACION_EMAIL_FAIL,\r\n        });\r\n\r\n        dispatch({\r\n          type: SET_MESSAGE,\r\n          payload: message,\r\n        });\r\n\r\n        return Promise.reject();\r\n      }\r\n\r\n    )\r\n};\r\n\r\n// enviar email liquidacion\r\nexport const sendLiquidacionUser = (\r\n  eventoId, usuarioId\r\n\r\n) => (dispatch) => {\r\n  return AdmService.sendLiquidacionUser(\r\n    eventoId, usuarioId\r\n\r\n  ).then(\r\n    (response) => {\r\n      if (response !== -1) {\r\n        //dispatch(getUsuarios(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: UPDATE_LIQUIDACION_EMAIL\r\n        });\r\n        NotificationManager.success(\r\n          \"Email enviado correctamente\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n\r\n      return Promise.resolve(response);\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_LIQUIDACION_EMAIL_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      NotificationManager.error(\r\n        \"Error al enviar email\",\r\n        \"Sistema\",\r\n        3000,\r\n        () => { },\r\n        4\r\n      );\r\n\r\n      return Promise.reject();\r\n    }\r\n\r\n  )\r\n};\r\n\r\n// liquidaciones crud\r\nexport const updateLiquidacion = (\r\n  eventoId\r\n) => (dispatch) => {\r\n  return AdmService.updateLiquidacion(\r\n    eventoId\r\n  ).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch({\r\n          type: UPDATE_LIQUIDACION,\r\n        });\r\n        NotificationManager.success(\r\n          \"Liquidación guardada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -1) {\r\n        dispatch({\r\n          type: UPDATE_LIQUIDACION_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al guardar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_LIQUIDACION_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n// control juego\r\nexport const sendValue = value => {\r\n  return {\r\n    type: 'SEND_VALUE',\r\n    //payload: value\r\n  };\r\n};\r\n\r\nexport const getCatalogosModalidad = () => (dispatch) => {\r\n  return AdmService.getCatalogosModalidad().then(\r\n    (data) => {\r\n      console.log(\"modalidades\", data)\r\n      if (data != null) {\r\n\r\n        dispatch({\r\n          type: GET_CATALOGOS_MODALIDAD,\r\n          payload: { data: data },\r\n        });\r\n        return Promise.resolve();\r\n      } else {\r\n        dispatch({\r\n          type: GET_CATALOGOS_MODALIDAD_FAIL,\r\n        });\r\n      }\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: GET_CATALOGOS_MODALIDAD_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\n// enviar email liquidacion inversionista\r\nexport const sendLiquidacionInversionista = (\r\n  eventoId, usuarioId\r\n\r\n) => (dispatch) => {\r\n  return AdmService.sendLiquidacionInversionista(\r\n    eventoId, usuarioId\r\n\r\n  ).then(\r\n    (response) => {\r\n      if (response !== -1) {\r\n        //dispatch(getUsuarios(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL\r\n        });\r\n        NotificationManager.success(\r\n          \"Email enviado correctamente\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n\r\n      return Promise.resolve(response);\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      NotificationManager.error(\r\n        \"Error al enviar email\",\r\n        \"Sistema\",\r\n        3000,\r\n        () => { },\r\n        4\r\n      );\r\n\r\n      return Promise.reject();\r\n    }\r\n\r\n  )\r\n};\r\n\r\n\r\nexport const updateCobrarLiquidacion = (\r\n\r\n  liquidacionId, eventoId, usuarioId, empresaId\r\n) => (dispatch) => {\r\n\r\n  return AdmService.updateCobrarLiquidacion(liquidacionId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getDatosAdjudicaciones(eventoId, usuarioId, empresaId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n        //dispatch(getOrdenPorUsuarioAct(empresaId,eventoId,userId,\"0\", \"\", \"\", \"ASC\",\"\"));\r\n        //dispatch(getAdjudicacionAct(eventoId, empresaId, userId, \"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: UPDATE_COBRAR_LIQUIDACION,\r\n        });\r\n        NotificationManager.success(\r\n          \"Liquidación cobrada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_COBRAR_LIQUIDACION_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al cobrar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_COBRAR_LIQUIDACION_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const updateComentarioLiquidacion = (\r\n\r\n  liquidacionId, comentario, eventoId, usuarioId, empresaId\r\n) => (dispatch) => {\r\n  return AdmService.updateComentarioLiquidacion(liquidacionId, comentario, eventoId, usuarioId, empresaId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n\r\n\r\n        dispatch(getDatosAdjudicaciones(eventoId, usuarioId, empresaId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n\r\n        dispatch({\r\n          type: UPDATE_COMENTARIO_LIQUIDACION,\r\n        });\r\n        // NotificationManager.success(\r\n        // \"Comentario guardado\",\r\n        //\"Sistema\",\r\n        // 3000,\r\n        // () => {},\r\n        // 4\r\n        // );\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_COMENTARIO_LIQUIDACION_FAIL,\r\n        });\r\n        //  NotificationManager.error(\r\n        //  \"Error al guardar\",\r\n        // \"Sistema\",\r\n        // 3000,\r\n        // () => {},\r\n        // 4\r\n        // );\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_COMENTARIO_LIQUIDACION_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n// Estado iconos liquidacion\r\nexport const updateImprimirCertificado = (\r\n  liquidacionId, eventoId, usuarioId, empresaId\r\n) => (dispatch) => {\r\n\r\n  return AdmService.updateImprimirCertificado(liquidacionId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getDatosAdjudicaciones(eventoId, usuarioId, empresaId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n\r\n        dispatch({\r\n          type: UPDATE_ESTADO_IMPRIMIR_CERTIFICADO,\r\n        });\r\n        /*NotificationManager.success(\r\n          \"Liquidación cobrada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => {},\r\n          4\r\n        );*/\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_ESTADO_IMPRIMIR_CERTIFICADO_FAIL,\r\n        });\r\n        /*NotificationManager.error(\r\n          \"Error al cobrar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => {},\r\n          4\r\n        );*/\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_ESTADO_IMPRIMIR_CERTIFICADO_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\n\r\nexport const updateImprimirLiquidacion = (\r\n  liquidacionId, eventoId, usuarioId, empresaId\r\n) => (dispatch) => {\r\n\r\n  return AdmService.updateImprimirLiquidacion(liquidacionId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getDatosAdjudicaciones(eventoId, usuarioId, empresaId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n\r\n        dispatch({\r\n          type: UPDATE_ESTADO_IMPRIMIR_LIQUIDACION,\r\n        });\r\n        /*NotificationManager.success(\r\n          \"Liquidación cobrada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => {},\r\n          4\r\n        );*/\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_ESTADO_IMPRIMIR_LIQUIDACION_FAIL,\r\n        });\r\n        /*NotificationManager.error(\r\n          \"Error al cobrar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => {},\r\n          4\r\n        );*/\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_ESTADO_IMPRIMIR_LIQUIDACION_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\nexport const updateEstadoEmailEmpresa = (\r\n  liquidacionId, eventoId, usuarioId, empresaId\r\n) => (dispatch) => {\r\n\r\n  return AdmService.updateEstadoEmailEmpresa(liquidacionId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getDatosAdjudicaciones(eventoId, usuarioId, empresaId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n\r\n        dispatch({\r\n          type: UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA,\r\n        });\r\n        /*NotificationManager.success(\r\n          \"Liquidación cobrada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => {},\r\n          4\r\n        );*/\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA_FAIL,\r\n        });\r\n        /*NotificationManager.error(\r\n          \"Error al cobrar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => {},\r\n          4\r\n        );*/\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_ESTADO_EMAIL_LIQUIDACION_EMPRESA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const updateEstadoEmailInversionista = (\r\n  liquidacionId, eventoId, usuarioId, empresaId\r\n) => (dispatch) => {\r\n\r\n  return AdmService.updateEstadoEmailInversionista(liquidacionId).then(\r\n    (response) => {\r\n      if (response === 0) {\r\n        dispatch(getDatosAdjudicaciones(eventoId, usuarioId, empresaId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n\r\n        dispatch({\r\n          type: UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA,\r\n        });\r\n        /*NotificationManager.success(\r\n          \"Liquidación cobrada\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => {},\r\n          4\r\n        );*/\r\n      } else {\r\n        dispatch({\r\n          type: UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA_FAIL,\r\n        });\r\n        /*NotificationManager.error(\r\n          \"Error al cobrar\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => {},\r\n          4\r\n        );*/\r\n      }\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n      dispatch({\r\n        type: UPDATE_ESTADO_EMAIL_LIQUIDACION_INVERSIONISTA_FAIL,\r\n      });\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\n\r\n// reporte user rueda\r\nexport const updateImpresionReportLiquidacion = (\r\n  eventoId\r\n\r\n) => (dispatch) => {\r\n  return AdmService.updateImpresionReportLiquidacion(\r\n    eventoId\r\n\r\n  ).then(\r\n    (response) => {\r\n      if (response !== \"\") {\r\n        //dispatch(getUsuarios(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_REPORT_LIQUIDACION\r\n        });\r\n        NotificationManager.success(\r\n          \"Reporte Impreso\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -2) {\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_REPORT_LIQUIDACION_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al imprimir\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n\r\n      return Promise.resolve(response);\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_IMPRESION_REPORT_LIQUIDACION_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n\r\n  )\r\n};\r\n\r\n\r\n// reporte user rueda\r\nexport const updateImpresionReportAdjudicacion = (\r\n  eventoId\r\n\r\n) => (dispatch) => {\r\n  return AdmService.updateImpresionReportAdjudicacion(\r\n    eventoId\r\n\r\n  ).then(\r\n    (response) => {\r\n      if (response !== \"\") {\r\n        //dispatch(getUsuarios(\"0\", \"\", \"\", \"ASC\", \"\"));\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_REPORT_ADJUDICACION\r\n        });\r\n        NotificationManager.success(\r\n          \"Reporte Impreso\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n      if (response === -2) {\r\n        dispatch({\r\n          type: UPDATE_IMPRESION_REPORT_ADJUDICACION_FAIL,\r\n        });\r\n        NotificationManager.error(\r\n          \"Error al imprimir\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n      }\r\n\r\n      return Promise.resolve(response);\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: UPDATE_IMPRESION_REPORT_ADJUDICACION_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n\r\n  )\r\n};","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAiCAYAAADyK+EUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlFQzkzRDRDMDMxRjExRUJCNjJCQzQ5NEY0MkVCQUEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlFQzkzRDREMDMxRjExRUJCNjJCQzQ5NEY0MkVCQUEwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUVDOTNENEEwMzFGMTFFQkI2MkJDNDk0RjQyRUJBQTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUVDOTNENEIwMzFGMTFFQkI2MkJDNDk0RjQyRUJBQTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7228DjAAAFH0lEQVR42tSZeWwVVRTG32tr674ghaJFcaEuIJpoSFxiTUWCiqLGRGKVxC0IVUCJyB/uRoMmLhhxFxQlitFiIi5IXNCItiFIBaOoRVtcgFRta1u32ud3mt+Yk8lbbig+2km+pPPmnrnnu/Od5d4mEvm99hIuEz4XfhJO7+sLU6nUf8jXlRSqhOXCn+YDeFnYYyCROUJYIPzmSEToEiYPBDIlwrXCxjQkPD4ShvR3MsXCizmIGHqEGweCzI4XmgIINQqjBkLM3MLq5yL0iFDY38jsJ1wqHM79MKE+gEybML6/kLH0e4awgiw13z27JJaSM+F1Yc+dTeYY4XHhF+fYFuFknlstWRaYDK7YWWTKhLnCdxmcW0JWS1Dt2wMIrRcOzDcZ03ddDsc6hPMZvwtfLxWA2/JNZnKgY6uEwU6O3wbY/EBazxuZ3YVnAwld5+zmBNos5mvmLWbGCt8HOPa1UIGNfaVPAlP1uf8nmUOFecIk7guEOwNX2prNIuzOEzoDbN4VBu1oMrYPuVxoYBIL/FKeHSR8GuCYpe1KlwyeD0zVM3cUmQKy1vI0E81x464S/glwrtbtX06kFuWysa57ZF/IGInRVPG2LHFwFOP3EVYGOPa7UI2NSe7+QIneS4exXWQq6WRzTfKgaw7PEVoDbNa4/Ytt3L4MsNlCstkuMhWsfK5JrKKf6eyeCFzpu53NNYE2r6KAjGSSWeLlYj5vEYGYzCDHlbT5nbQhS+mY20FhGtsWoYYCarH2sHAKf2e7jPgrcTIJp9tMVy0SKM4ySQGpcwHdrhXH1ZCxgrqQOeJkCukg7JDjIYhZ2v8rS0dejNwyXtnI/CGsDUjbRuYwnBnEqneyEOuy2E2hvTFJP8XRU5+uohj7EcL+1IQmuuK9hWYc9OOskv/IarazX+kWFgnfCB/G5rKgLyejNdKEJriPd+LlzNdIjSujX2t12fMQU0YymWyW1Fo8GdP6bGGCcABOrmbVSpGBVeODkdJ4bJopoEPc5uts4QK+7AZhN+FKYrCCjdv7wvA0hbkG25EcTa1i53q0cKvwHC3ODOEEiu86EXoaWfe+dAWORNL6OVaFjeRQ4QNXL9bGatA2UvoS7m8ipu5xZwAb0nTNNm5X4TH322fC5ti4qcKxzNPBPIvxwRQxLUEARpV2El/GqvM7Lv1WuW7XWpqJjKvk3CtFrFS69GyTn4RcbJFuYOGstjzqCM7gfT3IezoyG+0WJsW5wlz+rkclUdZ9j8zb60Q3+/R0HbHp9CI63S632YquKt7xK2SeZMJp1JMUmzJ/7es6htmczMTrT4K4aHBkqh25OuayM7dxtiUpIuC34ay/1hMTo9CznbJsTZOhGiA9Ik3aHsbfdbFnrdiNY18UdQT1sXEmyS+EMcTeIqR2IYsddQWWsucX4Iil1LNiLzKJHMkq2OSbyCqnxcadSlruif3eg02CU5sS96ycIpkg0JvcOL8hG+N2nCWQXoqE7eDjLuFj/Lo5wX47hUxm8YJq1zN1IKWpLtBnMm4KadjHTCQz0/5xxEEPhXUsDr/p5DKLBbHY+lt4AAITSO/RuKvpNLYi26j7nu6SV+9XeSZHXzSRjPNSljHdOPAC93cw2fVMlMluHrXrdshkGleDWqIMaov9mvvvwsJC0uwmSA3GqVZWpY3By/gCjcRYKRO3MK6DL1bLM5PdG3TIX9GKlLnOYg3vs9/fJl43EhdDGdfF75uJP9tTvUU9G46/pRCxd9z3rwADAEklRtOqMe50AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAiCAYAAADyK+EUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE1QzZFMDI5MDMxRjExRUI4OTdBREFGRjM3MEQyRDkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1QzZFMDJBMDMxRjExRUI4OTdBREFGRjM3MEQyRDkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTVDNkUwMjcwMzFGMTFFQjg5N0FEQUZGMzcwRDJEOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTVDNkUwMjgwMzFGMTFFQjg5N0FEQUZGMzcwRDJEOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4TDgfOAAAFG0lEQVR42uyYS0xbRxSGx2DAmKdxsXk1BpRgmQLhofBYQBcUiW0QCisWXVR0UVVql1U3laqu2GTDkoptEjWijZRENIkU1YoiVVWgIkCLEA/zDi9jjAHb9DtX2HJTTAiQEiGPNLrXc+ee+f9z/nNmrnX7+/vqorQ4dYFajEyMTIxMjMzFaPqenp5/Deh0Ou2yu7trnpyc1G1sbCzHxR3OOT4+XhkMBtXV1aVcLpdKT09XaWlp2vj8/LyS96xWq1pdXVU+n097npubq8bHx1VSUpLyer3a2N7enkpNTVWbm5sqGAxq72VkZKixsTGVmZmpsrKyNBuFhYXa3MTERAUuFQgE4vidsbKykru8vBzQyyLhMGEkOztbJiazWCXE/o62qWJIdXR0qOTkZHUeGy9rWnCabWdnxyYBoI/oI4HIPYOJELnB1Tw7O/tYPCjAI+fo9XptTLwqZN4h4LCfBRf9Er0SEo1Go9FMZEeJ2GNU9IJxrz7yZQkx4f2kvr7+q76+vs8TEhKCIpmQYelCorOzUxUUFKjt7W3td2jOWRGgx4ElifWN9Kv0ppKSkoaUlJSCtbW19YWFhfs4uZfpfzLXH86ZgxzRiODl0pqampvr6+su2D7DQHgBPKFdq6urVV5enjb/rMCLLboRmSfjmA/JiWtE/+PGxsYGrhYwBojAHyMjIz8gq/vk5eqhBQDWWtLD2MjL35OwlycmJm7ZbDYlz2Qht9utKioqVE5Ojtra2lJ+v1+T2kmb2CSiSVzTWSMfW2UUkmsWi6UC6dYQgTTW2CefJ0nuH5H7nZmZmafFxcUKJ0evZkJEKgSy+aK2tvY6C/iQ2iu73a5NkKoiFUuMCJGTJLuAFwdAwMS9lcr1EZGuxHYZ61YD/pI4ThrS3UBGTyhCD6huP0N0VArTcZynVTPK39X29vavhRgvxi8uLpq7u7u1fKirq1NtbW2h4nBsMgKe+QYcZUO+V5BGKaDLIVJTWlpaxL0hcj7gJQpOCNwD06/MfxVSzbH3GSSU2dTU9CUvWw/GEiDX4HA4jOSGNxTakOeOAk/XAT6fn1eQpIOIVgK+CuB25JP2+jvYDQB+cGlp6RFk7uG835gbfFsSYTJsRK1FRUWtkZsmEqtrbW39DAA3JU+mpqYOJSORg4AFCVxmf7LjhHK6lE47EsqLVuUgAPaN5xSaB0T6IfZfmkwmdVISYTJVVVXXAW2JHMQ7Kcjrm7m5uUwW7AfwON2D1/Vo/gPubYAoZmeuBEA5+i8hClaqUOpRZRoZTZMTT5DxL4B+DimXOEt29NOQCJMhAcsA8J/sEoJw+hYPdlBlZgC9SSQSeWQCeA65ZSYXTG9KTIkeZXWUpO6nYt4lAiMUErccU85yf9LIADonmlEhifcd3Dre1jDR80PCOTg4eBsCjzwezwSJvWs2m1W0s96pyeBxw1mEONTw+hp7Qj9HjTvs0r8TjWWKS1Ai+K5IhMlQUXwsajwNIdlHiMIYOXGbHPuJvPgLm1uSC0LiLJ11JBmScZwSXPum0nvIMWQfR3jx/Ivp6ek+ZPSQ4/0cRcIfOoH/798zTqezt7m5OZ9jTP4xz1G7nI9W5ETN9S4kBnjklugcHMXP7+NseHi4Fym4W1pavkPbhdwnvE4Ab/sA62GDlSP3ANcByvYz+Vh6r7406Xto/dbQ0JCHzfJTyrADiYh75dyiowJtktAvyQMnOfCUsQme751nBKI1Xezv2RiZGJkYmRiZ9639I8AAqhyuV4HdD98AAAAASUVORK5CYII=\"","export const ROL_ADMIN = 'A';\r\nexport const ROL_USUARIO = 'U';\r\nexport const ROL_DIRECTOR = 'R';\r\n\r\n\r\n\r\nexport function enableFuncionalityForRole(rol, fun) {\r\n  const arrListAdminFun = [\"LIST_USR\", \"CONF_EVENTO\", \"UPORN\", \"ADM\", \"FUNC_ADM\"]\r\n  const arrListRuedaFun = [\"LIST_USR\", \"CONF_EVENTO\", \"UPORN\", \"ADM\", \"FUNC_RUED\"]\r\n  const arrListCajaFun = [\"LIST_USR\", \"CONF_EVENTO\", \"UPORN\", \"ADM\", \"FUNC_CAJA\"]\r\n  const arrListLiquiFun = [\"LIST_USR\", \"CONF_EVENTO\", \"UPORN\", \"ADM\", \"FUNC_LIQUI\"]\r\n  const arrListUsuarioFun = [\"USER_ORDEN\"]\r\n  const arrListReceptorFun = [\"USER_ORDEN\", \"FUNC_RECEP\"]\r\n  const arrListOperadorFun = [\"USER_ORDEN\", \"FUNC_OPER\"]\r\n  const arrListRegistradorFun = [\"USER_ORDEN\", \"FUNC_REGIS\"]\r\n\r\n  switch (rol) {\r\n    case \"ROLE_ADMIN\":\r\n      return arrListAdminFun.filter(value => (value === fun)).length > 0\r\n      break\r\n    case \"ROLE_RUEDA\":\r\n      return arrListRuedaFun.filter(value => (value === fun)).length > 0\r\n      break\r\n    case \"ROLE_USER\":\r\n      return arrListUsuarioFun.filter(value => (value === fun)).length > 0\r\n      break\r\n\r\n    //\r\n    case \"ROLE_RECEPTOR\":\r\n      return arrListReceptorFun.filter(value => (value === fun)).length > 0\r\n      break\r\n    case \"ROLE_OPERADOR\":\r\n      return arrListOperadorFun.filter(value => (value === fun)).length > 0\r\n      break\r\n    case \"ROLE_CAJA\":\r\n      return arrListCajaFun.filter(value => (value === fun)).length > 0\r\n      break\r\n    case \"ROLE_LIQUIDACION\":\r\n      return arrListLiquiFun.filter(value => (value === fun)).length > 0\r\n      break\r\n    case \"ROLE_REGISTRADOR\":\r\n      return arrListRegistradorFun.filter(value => (value === fun)).length > 0\r\n      break\r\n  }\r\n}\r\nexport function getRole(roles, type) {\r\n  switch (type) {\r\n    case \"A\":\r\n      return roles.filter(value => (value[\"Codigo\"] === \"ADMIN\")).length > 0\r\n    case \"U\":\r\n      return roles.filter(value => value[\"Codigo\"] === \"USUARIO\").length > 0\r\n    case \"R\":\r\n      return roles.filter(value => (value[\"Codigo\"] === \"ADMIN\" || value[\"Codigo\"] === \"RUEDA\")).length > 0\r\n    default:\r\n      return false\r\n  }\r\n}\r\nexport function formatDateTime(dateT) {\r\n\r\n  if (dateT != null) {\r\n    let date = new Date(dateT)\r\n\r\n    let month = (date.getMonth() + 1).toString()\r\n    if (month.length === 1)\r\n      month = \"0\" + month\r\n\r\n    let day = date.getDate().toString()\r\n    if (day.length === 1)\r\n      day = \"0\" + day\r\n\r\n    let hours = date.getHours().toString()\r\n    if (hours.length === 1)\r\n      hours = \"0\" + hours\r\n\r\n    let minutes = date.getMinutes().toString()\r\n    if (minutes.length === 1)\r\n      minutes = \"0\" + minutes\r\n\r\n    let seconds = date.getSeconds().toString()\r\n    if (seconds.length === 1)\r\n      seconds = \"0\" + seconds\r\n\r\n    return day + \"/\" + month + \"/\" + date.getFullYear()\r\n  }\r\n  else {\r\n    return \"\"\r\n  }\r\n}\r\n\r\n\r\nexport function formatTime(dateT) {\r\n  let date = new Date(dateT);\r\n\r\n  let hours = date.getHours();\r\n\r\n  let minutes = date.getMinutes().toString().padStart(2, \"0\");\r\n\r\n  //let amPm = hours < 12 ? \"AM\" : \"PM\";\r\n  if (hours === 0) {\r\n    hours = 12;\r\n  }\r\n\r\n  return hours.toString().padStart(2, \"0\") + \":\" + minutes;\r\n}\r\n\r\nexport function time(dateT) {\r\n  let date = new Date(dateT)\r\n\r\n  let month = (date.getMonth() + 1).toString()\r\n  if (month.length == 1)\r\n    month = \"0\" + month\r\n\r\n  let day = date.getDate().toString()\r\n  if (day.length == 1)\r\n    day = \"0\" + day\r\n\r\n  let hours = date.getHours().toString()\r\n  if (hours.length == 1)\r\n    hours = \"0\" + hours\r\n\r\n  let minutes = date.getMinutes().toString()\r\n  if (minutes.length == 1)\r\n    minutes = \"0\" + minutes\r\n\r\n  let seconds = date.getSeconds().toString()\r\n  if (seconds.length == 1)\r\n    seconds = \"0\" + seconds\r\n\r\n  return day + \"/\" + month + \"/\" + date.getFullYear() + \" \" + hours + \":\" + minutes + \":\" + seconds\r\n}\r\n\r\nexport function generateMessageAdm(strType) {\r\n  return JSON.stringify({ \"ADM\": strType })\r\n}\r\n\r\nexport function secondFormatHour(seconds) {\r\n  if (seconds < 0)\r\n    return \"00:00\"\r\n  return new Date(seconds * 1000).toISOString().slice(14, 19);\r\n}\r\nexport function secondFormatComplete(seconds) {\r\n  if (seconds < 0)\r\n    return \"00:00:00\"\r\n  return new Date(seconds * 1000).toISOString().slice(11, 19);\r\n}\r\n\r\nexport function formatNumber(value) {\r\n  if (value != null) {\r\n    return Number.parseFloat(value).toFixed(2)\r\n  }\r\n  else {\r\n    return \"\"\r\n  }\r\n\r\n}","import React, {useCallback} from 'react';\r\nimport {useDropzone} from 'react-dropzone';\r\nimport '../../config'\r\nimport axios from 'axios';\r\n\r\nlet reloadDocuments = null\r\n\r\nfunction UploadFile(props) {\r\n    reloadDocuments = props.reloadDocuments\r\n\r\n    console.log(reloadDocuments);\r\n\r\n    const onDrop = useCallback((acceptedFiles) => {\r\n        \r\n        acceptedFiles.forEach((file) => {\r\n                const reader = new FileReader()\r\n\r\n                reader.onabort = () => console.log('file reading was aborted')\r\n                reader.onerror = () => console.log('file reading has failed')\r\n                reader.onload = () => {\r\n                    axios.post(global.config.URL_SERVICE + 'UploadFile?fileName=' + file.path,reader.result,\r\n                        {\r\n                            headers: {'Content-Type': 'multipart/form-data'},\r\n                            onUploadProgress: function(progressEvent) {\r\n                                var percentCompleted = Math.round( (progressEvent.loaded * 100) / progressEvent.total );\r\n                                console.log(percentCompleted)\r\n                            }                        \r\n                        }\r\n                        ).then(function(result){                            \r\n                            reloadDocuments(result.data.replace(\"<string xmlns=\\\"http://schemas.microsoft.com/2003/10/Serialization/\\\">\",\"\").replace(\"</string>\",\"\"))\r\n                        })\r\n                        .catch(function(){\r\n                        console.log('FAILURE!!');\r\n                    });\r\n            }\r\n            reader.readAsArrayBuffer(file)\r\n        })\r\n    }, [])\r\n    const {acceptedFiles, getRootProps, getInputProps} = useDropzone({onDrop})\r\n    \r\n    const files = acceptedFiles.map(file => (\r\n        <div></div>      \r\n    ))         \r\n\r\n\r\n    const filesSave = props.uploadId!=undefined && props.uploadId!==null && props.uploadId.toString()!==\"-1\" && props.uploadId!==\"0\"?  \r\n        <li>\r\n            <div className='containerDelete'><a href={global.config.URL_UPLOAD + props.fileNombreUrl} target='_blank'>{props.fileNombre}</a>\r\n                <i className=\"far fa-times-circle cursor-pointer\" onClick={() => {\r\n                    props.reloadDocuments(\"{\\\"UploadId\\\":\\\"-1\\\",\\\"fileNombre\\\":\\\"\\\",\\\"fileNombreUrl\\\":\\\"\\\"}\")  \r\n                }}></i>\r\n            </div>\r\n        </li>\r\n    :\"\"\r\n    return (\r\n      <section className=\"container-upload\">\r\n        <div {...getRootProps({className: 'dropzone'})}>            \r\n            {props.disableUpload!==false?<input {...getInputProps()} className=\"selectFile\"/>:\"\"}\r\n            <div>\r\n                {/*<img src={img1} alt=\"Cédula\" title=\"texto\"/>*/}\r\n                {props.disableUpload!==false?<div className=\"boxStyleSelect\"> <a href='/#' onClick={e=>e.preventDefault()}><b>Pulsa aquí para subir</b></a></div>:\"\"}\r\n            </div>                    \r\n        </div>        \r\n        <aside className='archivosctl'>\r\n            <ul>{files}{filesSave}</ul>          \r\n        </aside>\r\n      </section>\r\n    );\r\n  }\r\n  \r\n  export default UploadFile;","import axios from \"axios\";\r\nimport '../config'\r\n\r\nconst register = (username, email, password) => {  \r\n  return axios.post(global.config.URL_SERVICE + \"signup\", {\r\n    username,\r\n    email,\r\n    password,\r\n  },{headers: {'Content-Type': 'application/json; charset=utf-8',}});\r\n};\r\n\r\nconst login = (username, password) => {\r\n  console.log(process.env)\r\n  const params = {\"strJson\":'{\"Usuario\":\"' + username + '\",\"Clave\":\"' + password + '\"}'}\r\n  return axios\r\n    .post(global.config.URL_SERVICE + \"ValidarUsuario\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      //itemR = itemR.substring(1,itemR.length-1)\r\n      const result = JSON.parse(itemR);\r\n      if(result.length>0){\r\n        if (result[0].accessToken) {\r\n          localStorage.setItem(\"user\", JSON.stringify(result[0]));\r\n          console.log(result[0])\r\n        }\r\n  \r\n        return result[0];  \r\n      }else{\r\n        return null\r\n      }\r\n      //return null;\r\n    });\r\n};\r\n\r\nconst logout = () => {\r\n  localStorage.removeItem(\"user\");\r\n};\r\n\r\nexport default {\r\n  register,\r\n  login,\r\n  logout,\r\n};\r\n","export default function authHeader() {\r\n  const user = JSON.parse(localStorage.getItem(\"user\"));\r\n\r\n  if (user && user.accessToken) {\r\n    // For Spring Boot back-end\r\n    // return { Authorization: \"Bearer \" + user.accessToken };\r\n\r\n    // for Node.js Express back-end\r\n    return { \"x-access-token\": user.accessToken };\r\n  } else {\r\n    return {};\r\n  }\r\n}\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport Websocket from 'react-websocket';\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport ImageVideoGallery from \"../components/general/ImageVideoGallery\";\r\nimport { NotificationContainer } from \"react-notifications\";\r\nimport { showBanner } from \"../actions/banner\";\r\nimport { getEventosPorUsuario, setEventoObject } from \"../actions/juego\";\r\nimport Catalogos from \"./general/Catalogos\";\r\nimport Empresa from \"./general/Empresa\";\r\nimport Inversionista from \"./general/Inversionista\";\r\nimport Usuario from \"./general/Usuario\";\r\nimport Evento from \"./general/Evento\";\r\nimport Parametro from \"./general/Parametro\";\r\nimport { confirmAlert } from \"react-confirm-alert\"; // Import\r\nimport DataGrid, { Column } from \"@inovua/reactdatagrid-community\";\r\nimport \"@inovua/reactdatagrid-community/base.css\";\r\nimport \"@inovua/reactdatagrid-community/theme/amber-dark.css\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { enableFuncionalityForRole } from \"./general/Util\";\r\nimport \"@szhsin/react-menu/dist/index.css\";\r\nimport { formatDateTime, formatNumber } from \"./general/Util\";\r\nimport Loading from \"./general/LoadingContainer\";\r\nimport GestionOrden from \"./general/GestionOrden\";\r\nimport EditarOrden from \"./general/EditarOrden\";\r\nimport VerEmpresas from \"./general/VerEmpresas\";\r\nimport Adjudicacion from \"./general/Adjudicacion\";\r\nimport { getAdjudicacionAct, getDatosAdjudicaciones, getEmpresaConEventoAct, getOrdenPorUsuarioAct, updateLiquidacion } from \"../actions/administracion\";\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from \"@szhsin/react-menu\";\r\nimport { UseLocalStorage } from \"./general/UseLocalStorage\";\r\nimport \"@szhsin/react-menu/dist/index.css\";\r\nimport Ticker, { FinancialTicker, NewsTicker } from \"nice-react-ticker\";\r\nimport Liquidaciones from \"./general/Liquidaciones\";\r\nimport ReporteUserRueda from \"./general/ReporteUserRueda\";\r\nimport ControlJuego from \"./general/ControlJuego\";\r\nimport UsuarioActivo from \"./general/UsuarioActivo\";\r\nimport xml2js from 'xml2js'\r\nimport { getTitulosEventoById, setStatusByKey, getNegociacionesPorUsuario, getVariacionPrecio } from \"../actions/juego\";\r\nimport { NotificationManager } from \"react-notifications\";\r\nimport { toggleBotonAdjudicacion, toggleBotonApertura, toggleBotonSubasta } from \"../actions/controlJuego\";\r\nimport '../config'\r\nlet refWebSocket = null\r\nlet refUsuario = null\r\nlet refControlJuego = null\r\n\r\nconst Sala = (props) => {\r\n  const { user: currentUser } = useSelector((state) => state.auth);\r\n  const [gridStyle,setGridStyle] = useState({ minHeight: \"calc(100vh/2 - 140px)\", height: \"100%\" });\r\n  const dispatch = useDispatch();\r\n  let history = useHistory();\r\n  const [loadEmpresaConEvento, setLoadEmpresaEvento] = useState(false);\r\n  const { listEventos: currentEventos, eventoSeleccionado: eventoSeleccionado } = useSelector((state) => state.juego);\r\n  const { listaEmpresaConEvento, loadingSala, loadingAdjudicacion, loadingOrdenUserId, loadingEmpresaConEvento, loadingInversionistaSelect } = useSelector((state) => state.administracion);\r\n\r\n\r\n  const [openVentanaControl, setOpenVentanaControl] = useState(true);\r\n  const [openVentanaUsuario, setOpenVentanaUsuario] = useState(true);\r\n\r\n  let [openCatalogo, setOpenCatalogo] = useState(\"\");\r\n  let [openEmpresa, setOpenEmpresa] = useState(\"\");\r\n  let [openInversionista, setOpenInversionista] = useState(\"\");\r\n  let [openUsuario, setOpenUsuario] = useState(\"\");\r\n  let [openEvento, setOpenEvento] = useState(\"\");\r\n  let [openParametro, setOpenParametro] = useState(\"\");\r\n  let [openLiquidaciones, setOpenLiquidaciones] = useState(\"\");\r\n  let [openReporte, setOpenReporte] = useState(\"\");\r\n  let [openControlJuego, setOpenControlJuego] = useState(\"\");\r\n  let [openUsuarioActivo, setOpenUsuarioActivo] = useState(\"\");\r\n\r\n  let [openProfile, setOpenProfile] = useState(\"\");\r\n  let [even, setEven] = UseLocalStorage('text', \"\")\r\n  let [loadEvent, setLoadEvent] = useState(false)\r\n\r\n  //funcionalidades\r\n  let [showEmpresa] = useState(currentUser !== null ? enableFuncionalityForRole(currentUser[\"role\"], \"USR_DASH_EMP\") : false);\r\n  const { datosjuego } = useSelector(state => state.controlJuego);\r\n  //console.log(\"datosjuego\", datosjuego)\r\n  const [isDisabled, setIsDisabled] = useState(true)\r\n  //console.log(\"isDisabled\", isDisabled)\r\n  const [isWindowOpen, setIsWindowOpen] = useState(false);\r\n  const [showMenu, setShowMenu] = useState(false);\r\n\r\n\r\n  useEffect(() => {\r\n    setIsDisabled(datosjuego && datosjuego[\"EstadoEjecucion\"] !== \"S\")\r\n  }, [datosjuego])\r\n  // WS\r\n  let [userList, setUserList] = useState([]);\r\n  let [textoNotificacionEvento, setTextoNotificacionEvento] = useState(\"\");\r\n  let [hideMessageEvent, setHideMessageEvent] = useState(true);\r\n  let [timeOutOrn, setTimeOutOrn] = useState(0);\r\n  let [listMessage, setListMessage] = useState([]);\r\n  let [pasoJugada, setPasoJugada] = useState(\"\");\r\n  let [jugada, setJugada] = useState(1);\r\n  let [iniciaJuego, setIniciaJuego] = useState(true);\r\n  let [startJuego, setStartJuego] = useState(false);\r\n  const { valueVisibleSelectEditarOrden: estadoVisibleEditarOrden } = useSelector(state => state.controlJuego);\r\n  const [number, setNumber] = useState(0);\r\n  const [maximizeEmpresa, setMaximizeEmpresa] = useState(false);\r\n  const [maximizeAdj, setMaximizeAdj] = useState(false);\r\n  const [maximizeOrd, setMaximizeOrd] = useState(false);\r\n  const [maximizeRegis, setMaximizeRegis] = useState(false);\r\n  const [empresaFilterGen, setEmpresaFilterGen] = useState(\"\");\r\n\r\n  useEffect(() => {\r\n    setDatosTicket(listaEmpresaConEvento !== null ? listaEmpresaConEvento['emp3']!==undefined ? listaEmpresaConEvento['emp3'] : listaEmpresaConEvento['emp1'] : [])\r\n  }, [listaEmpresaConEvento])\r\n\r\n  useEffect(() => {\r\n    if(maximizeEmpresa)\r\n      setGridStyle({ minHeight: \"100%\", height: \"calc(100vh - 220px)\" })\r\n    else\r\n      setGridStyle({ minHeight: \"calc(100vh/2 - 140px)\", height: \"100%\" })\r\n  }, [maximizeEmpresa])  \r\n  \r\n  if (eventoSeleccionado !== null && loadEvent === false && currentUser !== null) {\r\n    setLoadEvent(true)\r\n    setEven(eventoSeleccionado);\r\n    //console.log(even)\r\n  }\r\n  let [admFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_ADM\")\r\n      : false\r\n  );\r\n  let [userFuntion] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"USER_ORDEN\")\r\n      : false\r\n  );\r\n\r\n  // Nuevos usuarios\r\n  let [userRuedaFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_RUED\")\r\n      : false\r\n  );\r\n\r\n  let [userCajaFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_CAJA\")\r\n      : false\r\n  );\r\n\r\n  let [userLiquidacionFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_LIQUI\")\r\n      : false\r\n  );\r\n\r\n  let [userRegistradorFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_REGIS\")\r\n      : false\r\n  );\r\n\r\n\r\n  const openCatalogosClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"OPEN\");\r\n    setOpenEmpresa(\"\");\r\n    setOpenEvento(\"\");\r\n    setOpenInversionista(\"\");\r\n    setOpenParametro(\"\");\r\n    setOpenUsuario(\"\");\r\n    setOpenLiquidaciones(\"\");\r\n    setOpenReporte(\"\");\r\n  };\r\n  const closeCatalogosClick = () => setOpenCatalogo(\"\");\r\n  const openEmpresaClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"\");\r\n    setOpenEmpresa(\"OPEN\");\r\n    setOpenEvento(\"\");\r\n    setOpenInversionista(\"\");\r\n    setOpenParametro(\"\");\r\n    setOpenUsuario(\"\");\r\n    setOpenLiquidaciones(\"\");\r\n    setOpenReporte(\"\");\r\n  };\r\n  const closeEmpresaClick = () => setOpenEmpresa(\"\");\r\n  const openInversionistaClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"\");\r\n    setOpenEmpresa(\"\");\r\n    setOpenEvento(\"\");\r\n    setOpenInversionista(\"OPEN\");\r\n    setOpenParametro(\"\");\r\n    setOpenUsuario(\"\");\r\n    setOpenLiquidaciones(\"\");\r\n    setOpenReporte(\"\");\r\n  };\r\n  const closeInversionistaClick = () => setOpenInversionista(\"\");\r\n  const openUsuarioClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"\");\r\n    setOpenEmpresa(\"\");\r\n    setOpenEvento(\"\");\r\n    setOpenInversionista(\"\");\r\n    setOpenParametro(\"\");\r\n    setOpenUsuario(\"OPEN\");\r\n    setOpenLiquidaciones(\"\");\r\n    setOpenReporte(\"\");\r\n  };\r\n  const closeUsuarioClick = () => setOpenUsuario(\"\");\r\n  const openEventoClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"\");\r\n    setOpenEmpresa(\"\");\r\n    setOpenEvento(\"OPEN\");\r\n    setOpenInversionista(\"\");\r\n    setOpenParametro(\"\");\r\n    setOpenUsuario(\"\");\r\n    setOpenLiquidaciones(\"\");\r\n    setOpenReporte(\"\");\r\n  };\r\n  const closeEventoClick = () => setOpenEvento(\"\");\r\n  const openParametroClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"\");\r\n    setOpenEmpresa(\"\");\r\n    setOpenEvento(\"\");\r\n    setOpenInversionista(\"\");\r\n    setOpenParametro(\"OPEN\");\r\n    setOpenUsuario(\"\");\r\n    setOpenLiquidaciones(\"\");\r\n    setOpenReporte(\"\");\r\n  };\r\n  const closeParametroClick = () => setOpenParametro(\"\");\r\n\r\n  //\r\n  const openLiquidacionesClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"\");\r\n    setOpenEmpresa(\"\");\r\n    setOpenEvento(\"\");\r\n    setOpenInversionista(\"\");\r\n    setOpenParametro(\"\");\r\n    setOpenUsuario(\"\");\r\n    setOpenLiquidaciones(\"OPEN\");\r\n    setOpenReporte(\"\");\r\n  };\r\n  const closeLiquidacionesClick = () => setOpenLiquidaciones(\"\");\r\n\r\n  const openReporteClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"\");\r\n    setOpenEmpresa(\"\");\r\n    setOpenEvento(\"\");\r\n    setOpenInversionista(\"\");\r\n    setOpenParametro(\"\");\r\n    setOpenUsuario(\"\");\r\n    setOpenLiquidaciones(\"\");\r\n    setOpenReporte(\"OPEN\");\r\n  };\r\n  const closeReporteClick = () => setOpenReporte(\"\");\r\n  const openControlJuegoClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"\");\r\n    setOpenEmpresa(\"\");\r\n    setOpenEvento(\"\");\r\n    setOpenInversionista(\"\");\r\n    setOpenParametro(\"\");\r\n    setOpenUsuario(\"\");\r\n    setOpenLiquidaciones(\"\");\r\n    setOpenReporte(\"\");\r\n    setOpenControlJuego(\"OPEN\");\r\n    setOpenUsuarioActivo(\"\");\r\n  };\r\n  const closeControlJuegoClick = () => setOpenControlJuego(\"\");\r\n\r\n  const openUsuarioActivoClick = (e) => {\r\n    e.preventDefault();\r\n    setOpenCatalogo(\"\");\r\n    setOpenEmpresa(\"\");\r\n    setOpenEvento(\"\");\r\n    setOpenInversionista(\"\");\r\n    setOpenParametro(\"\");\r\n    setOpenUsuario(\"\");\r\n    setOpenLiquidaciones(\"\");\r\n    setOpenReporte(\"\");\r\n    setOpenUsuarioActivo(\"OPEN\");\r\n  };\r\n  const closeUsuarioActivoClick = () => setOpenUsuarioActivo(\"\");\r\n\r\n\r\n  //\r\n  const openSelectEventoClick = (e) => {\r\n    e.preventDefault();\r\n    history.push(\"/seleccionarEvento\");\r\n  };\r\n\r\n\r\n\r\n\r\n  let [empresaFilter, setEmpresaFilter] = useState(\"\");\r\n  let [gridInfor, setGridInfor] = useState([listaEmpresaConEvento !== null ? listaEmpresaConEvento : []]);\r\n\r\n  let [datosTicket, setDatosTicket] = useState(listaEmpresaConEvento !== null ? listaEmpresaConEvento['emp3']!==undefined ? listaEmpresaConEvento['emp3'] : listaEmpresaConEvento['emp1'] : []);\r\n  \r\n\r\n  if (listaEmpresaConEvento !== null && listaEmpresaConEvento['emp1'] != gridInfor && empresaFilter === \"\") {\r\n    setGridInfor(listaEmpresaConEvento['emp1']);\r\n\r\n  }\r\n  \r\n  \r\n  //console.log(\"even\",even)\r\n  if (loadEmpresaConEvento === false && even !== null && currentUser !== null) {\r\n    setLoadEmpresaEvento(true);\r\n    dispatch(getEmpresaConEventoAct(even, currentUser[\"userId\"], currentUser[\"EmpresaId\"]))\r\n      .then(() => { })\r\n      .catch(() => { });\r\n  }\r\n\r\n  const [selected, setSelected] = useState(0);\r\n  const onSelectionChange = (data) => {\r\n    setSelected(data.selected)\r\n    if (gridInfor != null) {\r\n      let empFil = gridInfor.filter(x => x.EmpresaId == data.selected)\r\n\r\n      if (empFil != null && empFil.length > 0)\r\n        setEmpresaFilterGen(empFil[0].NombreEmpresa)\r\n    }\r\n  }\r\n\r\n\r\n  if (selected > 0 && listaEmpresaConEvento) {\r\n   // console.log(\"entro\")\r\n\r\n    //let empresa = listaEmpresaConEvento.find(x => x.EmpresaId === selected[0])\r\n    //console.log(empresa)\r\n\r\n  }\r\n  else {\r\n   // console.log(\"no hay datos\")\r\n  }\r\n\r\n  let [boolListEmpresaEvento, setboolListEmpresaEvento] = useState(false)\r\n  if (listaEmpresaConEvento !== null && boolListEmpresaEvento == false) {\r\n    //listaEmpresaConEvento.forEach((empresa) => {\r\n    //console.log(empresa)\r\n\r\n    //})\r\n  }\r\n\r\n  //console.log(listaEmpresaConEvento)\r\n\r\n\r\n\r\n  function filterCatalogo(nego, empresaFilter) {\r\n    setGridInfor(nego['emp1'].filter(function (item) {\r\n      if (item[\"NombreEmpresa\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase())\r\n      )\r\n        return true;\r\n      return false;\r\n    }))\r\n  }\r\n\r\n\r\n\r\n  let columns = [\r\n    /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n    { name: \"NombreEmpresa\", header: \"EMPRESA\", defaultFlex: 1, xdefaultLocked: \"end\", headerAlign: \"center\" },\r\n    { name: \"NumAccionesOferta\", header: \"ACCIONES\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\" },\r\n    { name: \"PrecioInicialPorAccion\", header: \"PRECIO\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"numDataGrid\", render: ({ value }) => formatNumber(value), headerAlign: \"center\" },\r\n  ];\r\n\r\n  if (!currentUser) {\r\n    return <Redirect to=\"/login\" />;\r\n  }\r\n  // agregados para timer global\r\n  function showMessageEvent(str, time) {\r\n    setTextoNotificacionEvento(str)\r\n    setHideMessageEvent(false)\r\n    setTimeout(() => {\r\n      setHideMessageEvent(true)\r\n    }, parseInt(time) * 1000);\r\n  }\r\n\r\n  function setCodigoModalidad(mod) {\r\n    dispatch(setStatusByKey(\"modalidadCodigo\", mod))\r\n  }\r\n\r\n  function sendMessageLocal(msg) {\r\n    refWebSocket.sendMessage(msg)\r\n  }\r\n  function sendMessageChat(msg, clientId) {\r\n    addMessageHistory(msg, clientId, 'S')\r\n    refWebSocket.sendMessage(msg)\r\n  }\r\n\r\n  function addMessageHistory(msg, clientId, type) {\r\n    let lsTmp = listMessage[clientId]\r\n    if (listMessage[clientId] === undefined || listMessage[clientId] === null)\r\n      lsTmp = []\r\n\r\n    let itemMsg = {};\r\n    itemMsg[\"msg\"] = msg;\r\n    itemMsg[\"tipo\"] = type;\r\n    lsTmp.push(itemMsg)\r\n    listMessage[clientId] = lsTmp\r\n    setListMessage(listMessage)\r\n  }\r\n\r\n  // recuperamos de WS\r\n\r\n\r\n  const handleData = (data) => {\r\n    if (data === undefined || data.trim() === \"\") return;\r\n\r\n    let result = JSON.parse(data);\r\n    console.log(\"RESUL DE WS\", result)\r\n\r\n    switch (result[\"TYPE\"]) {\r\n\r\n      case \"MSG_ERR\":\r\n        NotificationManager.error(\r\n          \"No se puede iniciar aún el evento, está fuera de fecha de inicio\",\r\n          \"Sistema\",\r\n          5000,\r\n          () => { },\r\n          4\r\n        );\r\n        break\r\n      case \"EVENT\":\r\n        let initObject = JSON.parse(result[\"MSG\"]);\r\n        console.log(\"initObject[event]\",initObject[\"event\"])\r\n\r\n        dispatch(setEventoObject(initObject[\"event\"]))\r\n\r\n        switch (initObject[\"EstadoEjecucion\"]) {\r\n          case \"I\":\r\n\r\n            break\r\n          case \"S\":\r\n\r\n            break\r\n          case \"J\":\r\n\r\n            break\r\n          case \"F\":\r\n\r\n            break\r\n          default:\r\n            dispatch(toggleBotonApertura())\r\n        }\r\n        break\r\n      case \"JUGADA\":\r\n        let objectJugada = JSON.parse(result[\"MSG\"]);\r\n        console.log(objectJugada)\r\n        dispatch(setEventoObject(objectJugada[\"event\"]))\r\n        break\r\n      case \"ACTUALIZAR\":\r\n        window.location.reload(false);\r\n        break\r\n      case \"START\":\r\n        dispatch(setEventoObject(datosjuego))\r\n\r\n        break\r\n      case \"ACTUALIZAR_ORDEN\":\r\n        \r\n        let usuarioObject = JSON.parse(result[\"MSG\"]);\r\n        console.log(usuarioObject)\r\n\r\n        \r\n        dispatch(getOrdenPorUsuarioAct(currentUser[\"EmpresaId\"], eventoSeleccionado, currentUser[\"userId\"], \"0\", \"\", \"\", \"ASC\", \"\"))\r\n          .then(() => {\r\n          })\r\n          .catch(() => {\r\n          });\r\n        dispatch(getAdjudicacionAct(eventoSeleccionado, currentUser[\"EmpresaId\"], currentUser[\"userId\"], \"0\", \"\", \"\", \"ASC\", \"\"))\r\n          .then(() => {\r\n          })\r\n          .catch(() => {\r\n        });\r\n\r\n        // agg\r\n       dispatch(getDatosAdjudicaciones(eventoSeleccionado, currentUser[\"userId\"], currentUser[\"EmpresaId\"], \"0\", \"\", \"\", \"ASC\", \"\"))\r\n\r\n       // agg para editar datos empresa\r\n       dispatch(getEmpresaConEventoAct(eventoSeleccionado, currentUser[\"userId\"], currentUser[\"EmpresaId\"]))\r\n        break\r\n\r\n\r\n      case \"LIST_USR\":\r\n        //if(!enableUserList) return\r\n        let parser = new xml2js.Parser();\r\n        parser.parseString(result[\"MSG\"],\r\n          function (err, result) {\r\n            try {\r\n              var usuarios = result[\"CustomType\"][\"userList\"][0][\"d2p1:KeyValueOfstringClienteListwMlRxXJ_S\"]\r\n              usuarios.sort(function (a, b) {\r\n                return a[\"d2p1:Value\"][0][\"strNick\"][0].localeCompare(b[\"d2p1:Value\"][0][\"strNick\"][0]);\r\n              })\r\n              console.log(\"Lista de usuarios\", usuarios)\r\n              setUserList(usuarios)\r\n            } catch (ex) {\r\n\r\n            }\r\n          }\r\n        );\r\n        break\r\n\r\n    }\r\n  }\r\n\r\n  return (\r\n    <div className=\"container-fluid menuSidebar\">\r\n      <Websocket\r\n        ref={Websocket => { refWebSocket = Websocket; }}\r\n        url={global.config.URL_WEB_SOCKET + eventoSeleccionado + \"?USR=\" + currentUser[\"userId\"] + \"&CS=1&ROL=\" + currentUser[\"role\"] + \"&UNAME=\" + encodeURIComponent(currentUser[\"displayName\"]) + \"&IMG=\"}\r\n        onMessage={handleData} />\r\n\r\n      {openEmpresa === \"OPEN\" ? (\r\n        <Empresa closeEmpresaClick={closeEmpresaClick} eventoSeleccionado={eventoSeleccionado} sendMessage={sendMessageLocal} />\r\n      ) : (\r\n        \"\"\r\n      )}\r\n      {openCatalogo === \"OPEN\" ? (\r\n        <Catalogos closeCatalogosClick={closeCatalogosClick} />\r\n      ) : (\r\n        \"\"\r\n      )}\r\n      {userRegistradorFuncionality === true || openInversionista === \"OPEN\" ? (\r\n        <Inversionista closeInversionistaClick={closeInversionistaClick} eventoSeleccionado={eventoSeleccionado} usuarioId={currentUser[\"userId\"]} empresaId={currentUser[\"EmpresaId\"]} />\r\n      ) : (\r\n        \"\"\r\n      )}\r\n      {openUsuario === \"OPEN\" ? (\r\n        <Usuario closeUsuarioClick={closeUsuarioClick} />\r\n      ) : (\r\n        \"\"\r\n      )}\r\n      {openEvento === \"OPEN\" ? (\r\n        <Evento closeEventoClick={closeEventoClick} />\r\n      ) : (\r\n        \"\"\r\n      )}\r\n      {openParametro === \"OPEN\" ? (\r\n        <Parametro closeParametroClick={closeParametroClick} />\r\n      ) : (\r\n        \"\"\r\n      )}\r\n\r\n\r\n      {openReporte === \"OPEN\" && (userRuedaFuncionality === true || admFuncionality === true) ? (\r\n        <ReporteUserRueda closeReporteClick={closeReporteClick} eventoSeleccionado={eventoSeleccionado} />\r\n      ) : (\r\n        \"\"\r\n      )}\r\n \r\n\r\n      {/*{userCajaFuncionality === true || userLiquidacionFuncionality === true || openLiquidaciones === \"OPEN\" ? (*/ }\r\n      {openLiquidaciones === \"OPEN\" ? (\r\n        <Liquidaciones closeLiquidacionesClick={closeLiquidacionesClick} eventoSeleccionado={eventoSeleccionado} usuarioId={currentUser[\"userId\"]} empresaId={currentUser[\"EmpresaId\"]} sendMessage={sendMessageLocal}/>\r\n      ) : (\r\n        \"\"\r\n      )}\r\n\r\n      {(userRuedaFuncionality === true || admFuncionality === true) ? (\r\n        <ControlJuego ref={ControlJuego => { refControlJuego = ControlJuego; }}\r\n          closeControlJuegoClick={closeControlJuegoClick}\r\n          sendMessage={sendMessageLocal}\r\n          sendMessageChat={sendMessageChat}\r\n          listMessage={listMessage}\r\n          startJuego={startJuego} />\r\n      ) : (\r\n        \"\"\r\n      )}\r\n\r\n\r\n      {(userRuedaFuncionality === true || admFuncionality === true) ? (\r\n        <UsuarioActivo ref={UsuarioActivo => { refUsuario = UsuarioActivo; }}\r\n          closeUsuarioActivoClick={closeUsuarioActivoClick} userList={userList} />\r\n      ) : (\r\n        \"\"\r\n      )}\r\n\r\n\r\n      <div >\r\n\r\n        <div className=\"btnMenu\" onClick={() => setShowMenu(!showMenu)}>\r\n          <i className=\"fa fa-bars\"></i>\r\n        </div>\r\n\r\n        {showMenu == true ? (\r\n          <div className=\"crypt-side-menu crypt-left-sided crypt-floatable-menu bg-white\">\r\n\r\n            <ul>\r\n              <li>\r\n                <a href=\"\">\r\n                  <i className=\"pe-7s-graph1\"></i> INICIO\r\n                </a>\r\n              </li>\r\n            </ul>\r\n            <hr />\r\n            {/*<p>Configuración</p>*/}\r\n            <ul>\r\n\r\n\r\n              <li>\r\n                <a href=\"#\" onClick={openSelectEventoClick}>\r\n                  <i className=\"pe-7s-gym\"></i>Seleccionar Evento\r\n                </a>\r\n              </li>\r\n\r\n              {admFuncionality === true ? (\r\n                <li>\r\n                  <a href=\"#\" onClick={openCatalogosClick}>\r\n                    <i className=\"pe-7s-gym\"></i>Catálogo\r\n                  </a>\r\n                </li>\r\n              ) : (\r\n                \"\"\r\n              )}\r\n              {admFuncionality === true ? (\r\n                <li>\r\n                  <a href=\"#\" onClick={openEmpresaClick}>\r\n                    <i className=\"pe-7s-gym\"></i>Empresa\r\n                  </a>\r\n                </li>\r\n              ) : (\r\n                \"\"\r\n              )}\r\n              {admFuncionality === true || userRuedaFuncionality === true ? (\r\n                <li>\r\n                  <a href=\"#\" onClick={openEventoClick}>\r\n                    <i className=\"pe-7s-gym\"></i>Eventos\r\n                  </a>\r\n                </li>\r\n              ) : (\r\n                \"\"\r\n              )}\r\n              {admFuncionality === true ? (\r\n                <li>\r\n                  <a href=\"#\" onClick={openInversionistaClick}>\r\n                    <i className=\"pe-7s-gym\"></i>Inversionista\r\n                  </a>\r\n                </li>\r\n              ) : (\r\n                \"\"\r\n              )}\r\n              {admFuncionality === true ? (\r\n                <li>\r\n                  <a href=\"#\" onClick={openParametroClick}>\r\n                    <i className=\"pe-7s-gym\"></i>Parámetros\r\n                  </a>\r\n                </li>\r\n              ) : (\r\n                \"\"\r\n              )}\r\n              {admFuncionality === true || userRuedaFuncionality === true ? (\r\n                <li>\r\n                  <a href=\"#\" onClick={openUsuarioClick}>\r\n                    <i className=\"pe-7s-gym\"></i>Usuarios\r\n                  </a>\r\n                </li>\r\n              ) : (\r\n                \"\"\r\n              )}\r\n            </ul>\r\n            <hr />\r\n\r\n            <ul>\r\n              {admFuncionality === true || userRuedaFuncionality === true ? (\r\n                <li>\r\n                  <a href=\"#\" onClick={openReporteClick}>\r\n                    <i className=\"pe-7s-gym\"></i>Reportes\r\n                  </a>\r\n                </li>\r\n              ) : (\r\n                \"\"\r\n              )}\r\n\r\n              {admFuncionality === true || userRuedaFuncionality === true || userCajaFuncionality === true || userLiquidacionFuncionality === true ? (\r\n                <li>\r\n                  <a href=\"#\" onClick={openLiquidacionesClick}>\r\n                    <i className=\"pe-7s-wallet\"></i>Liquidaciones\r\n                  </a>\r\n                </li>\r\n              ) : (\r\n                \"\"\r\n              )}\r\n            </ul>\r\n          </div>\r\n        ) : <div className=\"crypt-side-menu2 crypt-left-sided crypt-floatable-menu bg-white\">\r\n        </div>}\r\n\r\n      </div>\r\n\r\n\r\n\r\n\r\n      {/*<button onClick={handleToggle} className=\"btn_finalizar\" >Finalizar juego</button>*/}\r\n      <div className=\"tiker-acciones-cont\">\r\n        <Ticker slideSpeed={datosTicket && datosTicket.length>5? datosTicket.length * 2 : 10} isNewsTicker={false} show={true} >\r\n          {datosTicket != null ?\r\n            datosTicket.map(element => {\r\n              return <FinancialTicker\r\n                id={element.EmpresaId}\r\n                change={true}\r\n                symbol={element.NombreEmpresa}\r\n                lastPrice={formatNumber(element.PrecioInicialPorAccion)}\r\n                percentage={formatNumber(element.PrecioInicialPorAccion)}\r\n                currentPrice={element.NumAccionesOferta}\r\n                className='ticker-text'\r\n              />\r\n            }) :\"\"\r\n          }\r\n        </Ticker>\r\n      </div>\r\n      {admFuncionality === true && eventoSeleccionado || userFuntion === true || userRuedaFuncionality === true || userLiquidacionFuncionality ===true || userCajaFuncionality ===true ? (\r\n\r\n        <div className=\"\">\r\n\r\n          <div className={['', loadingAdjudicacion !== true && loadingOrdenUserId !== true && loadingEmpresaConEvento !== true ? \"displaynone\" : \"\"].join(' ')}>\r\n            <div className='single6'>\r\n            </div>\r\n          </div>\r\n          <div className={['', loadingInversionistaSelect !== true ? \"displaynone\" : \"\"].join(' ')}>\r\n            <div className='single6'>\r\n            </div>\r\n          </div>\r\n\r\n          <div className={[\"row\", showMenu === true ? \"sm-gutters\" : \"sm-gutters2\"].join(' ')}>\r\n            <div className={[\"col-xl-5\", maximizeEmpresa ? \"maxi-empresas\" : \"\", maximizeAdj || maximizeOrd || maximizeRegis ? \"displaynone\" : \"\"].join(' ')}>\r\n              {/*<div className={[\"col-xl-\", showMenu===false?\"5\":\"8\"].join(' ')}>*/}\r\n\r\n              <div>\r\n\r\n                <div className=\"crypt-market-status\">\r\n\r\n                  <div>\r\n                    <h6 className=\"crypt-bg-head\">\r\n                      EMPRESAS\r\n                      <div className=\"floatright\">\r\n                        <div className=\"filterNeg\">\r\n                          <input\r\n                            type=\"text\"\r\n                            placeholder=\"Filtrar\"\r\n                            value={empresaFilter}\r\n                            onChange={(e) => {\r\n                              setEmpresaFilter(e.target.value);\r\n                              filterCatalogo(listaEmpresaConEvento !== null ? listaEmpresaConEvento : [], e.target.value)\r\n\r\n                            }} />\r\n                          <i className=\"fas fa-search\"></i>\r\n                          <i className={[\"fas\", !maximizeEmpresa ? \"fa-window-maximize\" : \"fa-window-restore\"].join(' ')} onClick={() => setMaximizeEmpresa(!maximizeEmpresa)}></i>\r\n                        </div>\r\n                      </div>\r\n                    </h6>\r\n                    <div className=\"tab-content\">\r\n                      <DataGrid\r\n                        idProperty=\"EmpresaId\"\r\n                        style={gridStyle}\r\n                        columns={columns}\r\n                        enableSelection={true}\r\n                        selection={{ mode: \"single\" }}\r\n                        dataSource={gridInfor}\r\n                        theme=\"amber-dark\"\r\n                        onSelectionChange={onSelectionChange}\r\n                      />\r\n                      <div className=\"no-orders text-center\"></div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n\r\n\r\n            <div className={[\"col-xl-7\", maximizeAdj ? \"maxi-empresas\" : \"\", maximizeEmpresa || maximizeOrd || maximizeRegis ? \"displaynone\" : \"\"].join(' ')}>\r\n              <div>\r\n                <div className=\"crypt-market-status\">\r\n                  <div>\r\n                    <Adjudicacion usuarioId={currentUser[\"userId\"]} eventoId={eventoSeleccionado} empresaId={currentUser[\"EmpresaId\"]} selected={selected} maximizeAdj={maximizeAdj} setMaximizeAdj={setMaximizeAdj} empresaFilterGen={empresaFilterGen} setEmpresaFilterGen={setEmpresaFilterGen} />\r\n                  </div>\r\n                </div>\r\n\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div className={[\"row\", showMenu === true ? \"sm-gutters\" : \"sm-gutters2\"].join(' ')}>\r\n            <div className={[\"col-xl-5\", maximizeOrd ? \"maxi-empresas\" : \"\", maximizeAdj || maximizeEmpresa || maximizeRegis ? \"displaynone\" : \"\"].join(' ')}>\r\n              <div>\r\n                <div className=\"crypt-market-status\">\r\n                  <div>\r\n                    <EditarOrden sendMessage={sendMessageLocal}\r\n                      sendMessageChat={sendMessageChat}\r\n                      eventoSeleccionado={eventoSeleccionado}\r\n                      showEmpresa={showEmpresa} isDisabled={isDisabled} maximizeOrd={maximizeOrd} setMaximizeOrd={setMaximizeOrd} />\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div className={[\"col-xl-7\", maximizeRegis ? \"maxi-empresas\" : \"\", maximizeAdj || maximizeOrd || maximizeEmpresa ? \"displaynone\" : \"\"].join(' ')}>\r\n              <div>\r\n                <div className=\"crypt-market-status\">\r\n                  <GestionOrden usuarioId={currentUser[\"userId\"]} isDisabled={isDisabled} sendMessage={sendMessageLocal} maximizeRegis={maximizeRegis} setMaximizeRegis={setMaximizeRegis} empresaFilterGen={empresaFilterGen} setEmpresaFilterGen={setEmpresaFilterGen} />\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      ) : (\r\n        \"\"\r\n      )}\r\n\r\n      <NotificationContainer />\r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(Sala);\r\n","import axios from \"axios\";\r\nimport '../config'\r\n \r\n//obtener dato empresa\r\nconst getDataEmpresaSer = ( empresaId)=>{\r\n  const params = { \"strEmpresaId\":empresaId}\r\n  return axios \r\n      .post(global.config.URL_SERVICE + \"ObtenerDatoEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n          let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          const result = JSON.parse(itemR);\r\n      return result;  \r\n  });\r\n}\r\n\r\n//obtener Abjudicaciones ObtenerAdjudicacionPag\r\nconst getAdjudicacionSer = (eventoId, empresaId, usuarioId,page,filterField,filer,typeOrd,sort)=>{\r\n  const params = {\"strEventoId\":eventoId, \"strEmpresaId\":empresaId,\"strUsuarioId\":usuarioId,\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n  return axios \r\n      .post(global.config.URL_SERVICE + \"ObtenerAdjudicacionEventoEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n          let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          const result = JSON.parse(itemR);\r\n      return result;  \r\n  });\r\n}\r\n\r\n\r\n//obtener datos evento ObtenerDatosEvento\r\nconst getDataEventSer = (eventoId)=>{\r\n  const params = {\"strEventoId\":eventoId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerDatosEvento\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n//fin obtener datos del evento\r\n\r\n//perfil usuario \r\nconst updatePerfilUsuario = (usuarioId,nombre,nick,email,clave,image,uploadId) => {\r\n  const params = {\"strUsuarioId\":usuarioId,\"strNombre\":nombre,\"strNick\":nick,\"strEmail\":email,\"strClave\":clave,\"strImage\":image,\"strRol\":\"\",\"strUploadId\":uploadId}\r\n    return axios\r\n        .post(global.config.URL_SERVICE + \"ActualizarUsuario\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n            let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n            const result = JSON.parse(itemR);\r\n            if(result.length>0){\r\n              return result;  \r\n            }else{\r\n              return null\r\n            }\r\n        });\r\n}\r\n//fin perfil usuario \r\n\r\n//inicia evento empresa\r\nconst getEventoEmpresaSer = (eventoId)=>{\r\n  const params = {\"strEventoId\":eventoId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerEventoEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\nconst getEventoEmpresaSinAsigSer = (eventoId)=>{\r\n  const params = {\"strEventoId\":eventoId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerEventoEmpresaSinAsig\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\nconst selectEventoEmpresaSer = (eventoId,empresaId,usuarioIdRegistro) => {\r\n  const params = {\"strEventoId\":eventoId,\"strEmpresaId\":empresaId,\"strUsuarioIdRegistro\":usuarioIdRegistro}\r\n  return axios\r\n  .post(global.config.URL_SERVICE + \"SeleccionarEventoEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    if(result===0){\r\n      return result;  \r\n    }else{\r\n      return null\r\n    }\r\n  });\r\n}\r\n\r\n\r\nconst deleteEventoEmpresaSer=(eventoEmpresaId)=>{\r\n  const params = {\"strEventoEmpresaId\":eventoEmpresaId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"EliminarEventoEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\n//fin evento empresa\r\n\r\n\r\n// obtener evnto y seleccionar evento para obtener empresa\r\nconst getEmpresaConEventoSer = (eventoId,usuarioId,empresaId)=>{\r\n  const params = {\"strEventoId\":eventoId,\"strUsuarioId\":usuarioId,\"strEmpresaId\":empresaId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerEmpresasConEvento\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\nconst getTodoEventoSer = (usuarioId)=>{\r\n  const params = {\"strUsuarioId\":usuarioId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerTodosLosEventos\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\n// fin obtener evnto y seleccionar evento para obtener empresa\r\n\r\n//parametros \r\nconst deleteParametroSer=(parametroId)=>{\r\n  const params = {\"strParametroId\":parametroId}\r\n    return axios \r\n      .post(global.config.URL_SERVICE + \"EliminarParametros\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n        let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n        const result = JSON.parse(itemR);\r\n        return result;  \r\n      });\r\n}\r\n\r\nconst updateParametroSer =(parametroId,codigo,nombre,descripcion,valor,usuarioIdRegistro,estado) =>{\r\n  const params = {\"strParametroId\":parametroId,\"strCodigo\":codigo,\"strNombre\":nombre,\"strDescripcion\":descripcion,\"strValor\":valor,\"strUsuarioIdRegistro\":usuarioIdRegistro,\"strEstado\":estado}\r\n    return axios \r\n      .post(global.config.URL_SERVICE + \"GestionParametros\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n        let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n        const result = JSON.parse(itemR);\r\n        return result;  \r\n    });\r\n}\r\nconst getParametroSer = (page,filterField,filer,typeOrd,sort)=>{\r\n  const params = {\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n  return axios \r\n      .post(global.config.URL_SERVICE + \"ObtenerParametrosPag\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n          let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          const result = JSON.parse(itemR);\r\n      return result;  \r\n  });\r\n}\r\n\r\n//fin de parametros \r\n\r\n// inicia servicios para  usuario\r\nconst deleteUsuario=(usuarioId)=>{\r\n  const params = {\"strUsuarioId\":usuarioId}\r\n    return axios \r\n      .post(global.config.URL_SERVICE + \"EliminarUsuario\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n        let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n        const result = JSON.parse(itemR);\r\n        return result;  \r\n      });\r\n}\r\n\r\nconst updateUsuario =(usuarioId,nombre,nick,email,rol,clave,estado,uploadId,imagenUrl) =>{\r\n  const params = {\"strUsuarioId\":usuarioId,\"strNombre\":nombre,\"strNick\":nick,\"strEmail\":email,\"strRol\":rol,\"strClave\":clave,\"strEstado\":estado,\"strUploadId\":uploadId, \"strImagenUrl\": imagenUrl}\r\n    return axios \r\n      .post(global.config.URL_SERVICE + \"GestionUsuario\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n        let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n        const result = JSON.parse(itemR);\r\n        return result;  \r\n    });\r\n}\r\nconst getUsuarios = (page,filterField,filer,typeOrd,sort)=>{\r\n  const params = {\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n  return axios \r\n      .post(global.config.URL_SERVICE + \"ObtenerUsuariosPaginacion\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n          let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          const result = JSON.parse(itemR);\r\n      return result;  \r\n  });\r\n}\r\n//terminan los servicos par usuario\t\t\r\n\r\n//usuarioEmpresa\r\nconst getUsuarioEmpresaSer = (empresaId)=>{\r\n  const params = {\"strEmpresaId\":empresaId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerUsuarioEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\nconst getUsuarioEmpresaSinAsigSer = (empresaId)=>{\r\n  const params = {\"strEmpresaId\":empresaId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerUsuarioEmpresaSinAsig\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\nconst selectUsuarioEmpresaSer = (empresaId,usuarioId) => {\r\n  const params = {\"strEmpresaId\":empresaId,\"strUsuarioId\":usuarioId}\r\n  return axios\r\n  .post(global.config.URL_SERVICE + \"SeleccionarUsuarioEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    if(result===0){\r\n      return result;  \r\n    }else{\r\n      return null\r\n    }\r\n  });\r\n}\r\n\r\n\r\nconst deleteUsuarioEmpresaSer=(usuarioEmpresaId)=>{\r\n  const params = {\"strUsuarioEmpresaId\":usuarioEmpresaId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"EliminarUsuarioEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\n//fin usuario empresa\r\n\r\n//\r\n//evento\r\n\r\n\r\nconst getEventoSer = (page,filterField,filer,typeOrd,sort)=>{\r\n  const params = {\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerEventoPag\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\nconst updateEventoSer = (eventoId,logoUrl,modalidadId,nombreEvento,logo,estado,usuarioRegistroId,fechaSubasta,inscripcion,subasta,colocacion,adjudicacion,nombreEmpresaCorto,nombreExponente) => {\r\n  const params = {\"strEventoId\":eventoId, \"strlLogoUrl\": logoUrl, \"strModalidadId\":modalidadId,\"strNombreEvento\":nombreEvento,\"strLogo\":logo,\"strEstado\":estado,\r\n                  \"strUsuarioRegistroId\":usuarioRegistroId,\"strFechaSubasta\":fechaSubasta,\r\n                  \"strPeriodoInscripcion\":inscripcion,\"strPeriodoSubasta\":subasta,\r\n                  \"strPeriodoAdjudicacion\":adjudicacion,\"strPeriodoColocacion\":colocacion, \r\n                  \"strNombreEmpresaCorto\": nombreEmpresaCorto, \"strNombreExponente\": nombreExponente}\r\n  return axios\r\n  .post(global.config.URL_SERVICE + \"GestionEvento\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    if(result===0){\r\n      return result;  \r\n    }else{\r\n      return null\r\n    }\r\n  });\r\n}\r\n\r\nconst deleteEventoSer=(eventoId)=>{\r\n  const params = {\"strEventoId\":eventoId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"EliminarEvento\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n//fin evento \r\n\r\n//obtener orden \r\nconst getEventoSelectSer = ()=>{\r\n  const params = {}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerEventoSelect\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\nconst getEmpresaSelectSer = (eventoId)=>{\r\n  const params = {\"strEventoId\":eventoId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerEmpresaSelect\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    console.log(response[\"data\"])\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\nconst getInversionistaSelectSer = (empresaId)=>{\r\n  const params = {\"strEmpresaId\":empresaId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerInversionistaSelect\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\nconst getOrdenSer = (page,filterField,filer,typeOrd,sort)=>{\r\n  const params = {\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerOrdenPag\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\nconst getOrdenPorUsuarioSer = (empresaId,eventoId,usuarioId,page,filterField,filer,typeOrd,sort)=>{\r\n  const params = {\"strEmpresaId\":empresaId,\"strEventoId\":eventoId,\"strUsuarioId\":usuarioId,\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerOrdenPorUsuarioPag\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\nconst updateOrdenSer = (ordenId,empresaId,inversionistaId,accionesComprar,precioPagar,estado,usuarioRegistroId,eventoId) => {\r\n  const params = {\"strOrdenId\":ordenId,\"strEmpresaId\":empresaId,\"strInversionistaId\":inversionistaId,\"strAccionesComprar\":accionesComprar,\"strPrecioPagar\":precioPagar,\"strEstado\":estado,\"strUsuarioRegistroId\":usuarioRegistroId,\"strEventoId\":eventoId}\r\n  return axios\r\n  .post(global.config.URL_SERVICE + \"GestionOrden\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    if(result===0){\r\n      return result;  \r\n    }else{\r\n      return result;\r\n    }\r\n  });\r\n}\r\n\r\nconst deleteOrdenSer=(ordenId)=>{\r\n  const params = {\"strOrdenId\":ordenId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"EliminarOrden\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\n/// fin orden\r\n\r\n\r\n//obtener usuarios\r\nconst getUsuariosSer = ()=>{\r\n  const params = {}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerUsuarios\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n//fin obtener usuarios\r\n\r\n// inicio obtener institucines\r\nconst getInstitucionesEmpresaSer = ()=>{\r\n  const params = {}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerInstituciones\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n//fin obt instituciones\r\n\r\n\r\n//inicio inversionista\r\nconst getInversionistaSer = (usuarioId, empresaId, page,filterField,filer,typeOrd,sort)=>{\r\n  const params = {\"intUsuarioId\":usuarioId,\"intEmpresaId\":empresaId,\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerInversionistaPag\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\nconst updateInversionistaSer = (inversionistaId,nombre,apellido,cedula,telefono,direccion,estado,usuarioRegistroId,empresaId, email) => {\r\n  const params = {\"strInversionistaId\":inversionistaId,\"strNombre\":nombre,\"strApellido\":apellido,\"strCedula\":cedula,\"strTelefono\":telefono,\"strDireccion\":direccion,\"strEstado\":estado,\"strUsuarioRegistroId\":usuarioRegistroId,\"strEmpresaId\":empresaId, \"strEmail\":email}\r\n  return axios\r\n  .post(global.config.URL_SERVICE + \"GestionInversionista\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n\r\n    // aqui se cambio\r\n    if(result!==\"\"){\r\n      return result;  \r\n    }else{\r\n      return null\r\n    }\r\n  });\r\n}\r\n\r\nconst deleteInversionistaSer=(inversionistaId)=>{\r\n  const params = {\"strInversionistaId\":inversionistaId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"EliminarInversionista\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n//fin inversionista\r\n//inicio empresa \r\nconst getEmpresaSer = (page,filterField,filer,typeOrd,sort)=>{\r\n  const params = {\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerEmpresaPag\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\nconst updateEmpresaSer = (empresaId,nombre,logo,direccion,estado,usuarioRegistroId,institucion,email,gerente,operador,receptor,numAccionesOferta,precioInicialPorAccion,valorUnitarioAccion,montoMinMejoraPrecio,comisionOperador,comisionBVQ,PorcentajePrecioTechoMax,fechaConstitucion,fechaInscripcion,capitalPagado,divididoEn,valor) => {\r\n  const params = {\"strEmpresaId\":empresaId,\"strNombre\":nombre,\"strLogo\":logo,\"strDireccion\":direccion,\r\n                  \"strEstado\":estado,\"strUsuarioRegistroId\":usuarioRegistroId,\"strInstitucion\":institucion,\"strEmail\":email,\r\n                \"strGerente\":gerente,\"strOperador\":operador,\"strReceptor\":receptor,\"strNumAccionesOferta\":numAccionesOferta,\r\n                \"strPrecioInicialPorAccion\":precioInicialPorAccion,\"strValorUnitarioAccion\":valorUnitarioAccion,\r\n                \"strMontoMinMejoraPrecio\":montoMinMejoraPrecio,\"strComisionOperador\":comisionOperador,\r\n                \"strComisionBVQ\":comisionBVQ,\"strPorcentajePrecioTechoMax\":PorcentajePrecioTechoMax,\"strFechaConstitucion\":fechaConstitucion,\"strFechaInscripcion\":fechaInscripcion,\r\n                \"strCapitalPagado\":capitalPagado,\"strDivididoEn\":divididoEn,\"strValor\":valor}\r\n  return axios\r\n  .post(global.config.URL_SERVICE + \"GestionEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    if(result===0){\r\n      return result;  \r\n    }else{\r\n      return null\r\n    }\r\n  });\r\n}\r\n\r\nconst deleteEmpresaSer=(empresaId)=>{\r\n  const params = {\"strEmpresaId\":empresaId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"EliminarEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\n//fin empresa\r\n\r\n//inicio item catalogos\r\n// item catalogo\r\n\r\nconst getItemsCatalogosPag = (catalogoId,page,filterField,filer,typeOrd,sort)=>{\r\n  const params = {\"strCatalogoId\":catalogoId,\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"ObtenerItemCatalogosPaginacion\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\nconst updateItemCatalogo = (itemId,codigo,nombre,activo,editar,itemPadreId,catalogoId,nombreCorto,estado) => {\r\n  const params = {\"strItemId\":itemId,\"strCodigo\":codigo,\"strNombre\":nombre,\"strActivo\":activo,\"strEditar\":editar,\"strItemPadreId\":itemPadreId,\"strCatalogoId\":catalogoId,\"strNombreCorto\":nombreCorto,\"strEstado\":estado}\r\n  return axios\r\n  .post(global.config.URL_SERVICE + \"GestionItemsCatalogo\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    if(result===0){\r\n      return result;  \r\n    }else{\r\n      return null\r\n    }\r\n  });\r\n}\r\n\r\nconst deleteItemCatalogo=(itemId)=>{\r\n  const params = {\"strItemId\":itemId}\r\n  return axios \r\n  .post(global.config.URL_SERVICE + \"EliminarItemCatalogo\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n  .then((response) => {\r\n    let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n    const result = JSON.parse(itemR);\r\n    return result;  \r\n  });\r\n}\r\n\r\n\r\n\r\n//fin item catalogos\r\n//catalogos \r\n\r\nconst getCatalogosPadre = ()=>{\r\n    const params = {}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"ObtenerCatalogosPadre\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      return result;  \r\n    });\r\n  }\r\n  \r\n  const getGestionCatalogosPag = (page,filterField,filer,typeOrd,sort)=>{\r\n    const params = {\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"ObtenerCatalogosPaginacion\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      return result;  \r\n    });\r\n  }\r\n  \r\n  const updateGestionCatalogo = (catalogoId,codigo,nombre,activo,editar, catalogoPadreId,estado) => {\r\n    const params = {\"strCatalogoId\":catalogoId,\"strCodigo\":codigo,\"strNombre\":nombre,\"strActivo\":activo,\"strEditar\":editar,\"strCatalogoPadreId\":catalogoPadreId,\"strEstado\":estado}\r\n    return axios\r\n    .post(global.config.URL_SERVICE + \"GestionCatalogos\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      if(result===0){\r\n        return result;  \r\n      }else{\r\n        return null\r\n      }\r\n    });\r\n  }\r\n  \r\n  const deleteGestionCatalogo=(catalogoId)=>{\r\n    const params = {\"strCatalogoId\":catalogoId}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"EliminarCatalogo\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      return result;  \r\n    });\r\n  }\r\n  //fin de catalogos ObtenerCatalogosPadre\r\n\r\n\r\n  // agg JP\r\n  const getEmpresaSelectInversionista = (usuarioId,empresaId)=>{\r\n    const params = {\"intUsuarioId\":usuarioId, \"intEmpresaId\":empresaId}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"ObtenerEmpresaSelectInversionista\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      console.log(result);\r\n      return result;  \r\n    });\r\n  }\r\n\r\n  const getDatosAdjudicaciones = (eventoId, usuarioId, empresaId, page,filterField,filer,typeOrd,sort)=>{\r\n    const params = {\"intEventoId\":eventoId, \"intUsuarioId\": usuarioId, \"intEmpresaId\":empresaId ,\"strPage\":page,\"strFilterField\":filterField,\"strFiler\":filer,\"strTypeOrd\":typeOrd,\"strSort\":sort}\r\n    return axios \r\n        .post(global.config.URL_SERVICE + \"ObtenerLiquidacion\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n            let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n            const result = JSON.parse(itemR);\r\n        return result;  \r\n    });\r\n  }\r\n\r\n  const updateImpresionLiquidaciones =(liquidacionId)=>{ //ruta,accionesLetras,capitalPagado,capitalPagado1,divididoAcciones,inversionistaNombre,lugarFecha,lugarFecha1, lugarFecha2, nombreEmpresa, nombreEmpresa1, nombreEmpresa2, numeroAcciones, numeroDesde, numeroHasta, numeroTitulo, precioAcciones, precioLetras) =>{\r\n    const params = { \"intLiquidacionId\": liquidacionId\r\n                    \r\n    }\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"ImprimirCertificado\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let result = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");   \r\n          //console.log(\"result:\", result);  \r\n          return result;  \r\n      });\r\n  }\r\n\r\n  const updateImpresionTitulos =(liquidacionId)=>{ //ruta,accionesLetras,capitalPagado,capitalPagado1,divididoAcciones,inversionistaNombre,lugarFecha,lugarFecha1, lugarFecha2, nombreEmpresa, nombreEmpresa1, nombreEmpresa2, numeroAcciones, numeroDesde, numeroHasta, numeroTitulo, precioAcciones, precioLetras) =>{\r\n    const params = { \"intLiquidacionId\": liquidacionId\r\n                   \r\n    }\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"ImprimirTitulo\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let result = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          return result;  \r\n      });\r\n  }\r\n\r\n  const updateImpresionReportRueda =(eventoId)=>{ //ruta,accionesLetras,capitalPagado,capitalPagado1,divididoAcciones,inversionistaNombre,lugarFecha,lugarFecha1, lugarFecha2, nombreEmpresa, nombreEmpresa1, nombreEmpresa2, numeroAcciones, numeroDesde, numeroHasta, numeroTitulo, precioAcciones, precioLetras) =>{\r\n    const params = { \"intEventoId\": eventoId\r\n                   \r\n    }\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"ImprimirReportUserRueda\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let result = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          return result;  \r\n      });\r\n  }\r\n\r\n  const sendEmailInvitacionUser =(eventoId, usuarioId, empresaId)=>{ //ruta,accionesLetras,capitalPagado,capitalPagado1,divididoAcciones,inversionistaNombre,lugarFecha,lugarFecha1, lugarFecha2, nombreEmpresa, nombreEmpresa1, nombreEmpresa2, numeroAcciones, numeroDesde, numeroHasta, numeroTitulo, precioAcciones, precioLetras) =>{\r\n    const params = { \"intEventoId\": eventoId, \"intUsuarioId\": usuarioId, \"intEmpresaId\":empresaId\r\n                   \r\n    }\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"SendInvitacionEmail\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let result = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          return result;  \r\n      });\r\n  }\r\n// Enviar liquidacion usuario\r\n  const sendLiquidacionUser =(eventoId, liquidacionId)=>{ \r\n    const params = { \"intEventoId\": eventoId, \"intLiquidacionId\": liquidacionId\r\n                   \r\n    }\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"SendLiquidacionEmail\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let result = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          return result;  \r\n      });\r\n  }\r\n\r\n  const updateLiquidacion =(eventoId) =>{\r\n    const params = { \"intEventoId\":eventoId\r\n\r\n    }\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"GestionLiquidacion\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          const result = JSON.parse(itemR);\r\n          return result;  \r\n      });\r\n  }\r\n\r\n  // catalogos modalidad\r\n  const getCatalogosModalidad = ()=>{\r\n    const params = {}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"ObtenerCatalogoModadlidad\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      console.log(response);\r\n      return result;  \r\n    });\r\n  }\r\n\r\n\r\n  // Enviar liquidacion usuario\r\n  const sendLiquidacionInversionista =(eventoId, liquidacionId)=>{ \r\n    const params = { \"intEventoId\": eventoId, \"intLiquidacionId\": liquidacionId\r\n                   \r\n    }\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"SendLiquidacionEmailInversionista\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let result = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          return result;  \r\n      });\r\n  }\r\n\r\n  // Cobrar liquidacion\r\n  const updateCobrarLiquidacion=(liquidacionId)=>{\r\n    const params = {\"strLiquidacionId\":liquidacionId}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"EstadoCobrarLiquidacion\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      return result;  \r\n    });\r\n  }\r\n\r\n  // Comentario liquidación\r\n  const updateComentarioLiquidacion =(liquidacionId,comentario) =>{\r\n    const params = {\"strLiquidacionId\":liquidacionId,\"strComentario\":comentario}\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"GestionLiquidacionComentario\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          const result = JSON.parse(itemR);\r\n          return result;  \r\n      });\r\n  }\r\n\r\n  // Estado iconosos a cobrar liquidacion\r\n  const updateImprimirCertificado =(liquidacionId)=>{\r\n    const params = {\"strLiquidacionId\":liquidacionId}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"EstadoCertiImpreso\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      return result;  \r\n    });\r\n  }\r\n\r\n  const updateImprimirLiquidacion =(liquidacionId)=>{\r\n    const params = {\"strLiquidacionId\":liquidacionId}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"EstadoLiquiImpreso\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      return result;  \r\n    });\r\n  }\r\n\r\n  const updateEstadoEmailEmpresa =(liquidacionId)=>{\r\n    const params = {\"strLiquidacionId\":liquidacionId}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"EstadoEmailLiquiEmpresa\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      return result;  \r\n    });\r\n  }\r\n\r\n  const updateEstadoEmailInversionista =(liquidacionId)=>{\r\n    const params = {\"strLiquidacionId\":liquidacionId}\r\n    return axios \r\n    .post(global.config.URL_SERVICE + \"EstadoEmailLiquiInver\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n    .then((response) => {\r\n      let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n      const result = JSON.parse(itemR);\r\n      return result;  \r\n    });\r\n  }\r\n\r\n  const updateImpresionReportLiquidacion =(eventoId)=>{ //ruta,accionesLetras,capitalPagado,capitalPagado1,divididoAcciones,inversionistaNombre,lugarFecha,lugarFecha1, lugarFecha2, nombreEmpresa, nombreEmpresa1, nombreEmpresa2, numeroAcciones, numeroDesde, numeroHasta, numeroTitulo, precioAcciones, precioLetras) =>{\r\n    const params = { \"intEventoId\": eventoId\r\n                   \r\n    }\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"ImprimirReportLiquidacion\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let result = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          return result;  \r\n      });\r\n  }\r\n\r\n  const updateImpresionReportAdjudicacion =(eventoId)=>{ //ruta,accionesLetras,capitalPagado,capitalPagado1,divididoAcciones,inversionistaNombre,lugarFecha,lugarFecha1, lugarFecha2, nombreEmpresa, nombreEmpresa1, nombreEmpresa2, numeroAcciones, numeroDesde, numeroHasta, numeroTitulo, precioAcciones, precioLetras) =>{\r\n    const params = { \"intEventoId\": eventoId\r\n                   \r\n    }\r\n      return axios \r\n        .post(global.config.URL_SERVICE + \"ImprimirReportAdjudicacionT\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n        .then((response) => {\r\n          let result = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n          return result;  \r\n      });\r\n  }\r\n  \r\n\r\n\r\nexport default {\r\n    getCatalogosPadre,\r\n    getGestionCatalogosPag,\r\n    updateGestionCatalogo,\r\n    deleteGestionCatalogo,\r\n    getItemsCatalogosPag,\r\n    updateItemCatalogo,\r\n    deleteItemCatalogo,\r\n    getEmpresaSer,\r\n    updateEmpresaSer,\r\n    deleteEmpresaSer,\r\n    getInversionistaSer,\r\n    updateInversionistaSer,\r\n    deleteInversionistaSer,\r\n    getInstitucionesEmpresaSer,\r\n    getUsuariosSer,\r\n    getOrdenSer,\r\n    getOrdenPorUsuarioSer,\r\n    updateOrdenSer,\r\n    deleteOrdenSer,\r\n    getInversionistaSelectSer,\r\n    getEmpresaSelectSer,\r\n    getEventoSer,\r\n    updateEventoSer,\r\n    deleteEventoSer,\r\n    getUsuarioEmpresaSer,\r\n    getUsuarioEmpresaSinAsigSer,\r\n    selectUsuarioEmpresaSer,\r\n    deleteUsuarioEmpresaSer,\r\n    getUsuarios,\r\n    updateUsuario,\r\n    deleteUsuario,\r\n    getEventoSelectSer,\r\n    deleteParametroSer,\r\n    deleteParametroSer,\r\n\t\tupdateParametroSer,\r\n\t\tgetParametroSer,\r\n    getTodoEventoSer,\r\n    getEmpresaConEventoSer,\r\n    deleteEventoEmpresaSer,\r\n    selectEventoEmpresaSer,\r\n    getEventoEmpresaSinAsigSer,\r\n    getEventoEmpresaSer,\r\n    updatePerfilUsuario,\r\n    getDataEventSer,\r\n    getAdjudicacionSer,\r\n    getDataEmpresaSer,\r\n\r\n    // agg\r\n    getEmpresaSelectInversionista,\r\n    getDatosAdjudicaciones,\r\n    updateImpresionLiquidaciones,\r\n    updateImpresionTitulos,\r\n    updateImpresionReportRueda,\r\n    sendEmailInvitacionUser,\r\n    sendLiquidacionUser,\r\n    updateLiquidacion,\r\n    getCatalogosModalidad,\r\n    sendLiquidacionInversionista,\r\n    updateCobrarLiquidacion,\r\n    updateComentarioLiquidacion,\r\n    updateImprimirCertificado,\r\n    updateImprimirLiquidacion,\r\n    updateEstadoEmailEmpresa,\r\n    updateEstadoEmailInversionista,\r\n    updateImpresionReportLiquidacion,\r\n    updateImpresionReportAdjudicacion\r\n};","import React, { useEffect, useState } from 'react'\r\nimport { Provider, connect, useSelector, useDispatch } from 'react-redux'\r\nimport { sendValue, updateLiquidacion } from '../../actions/administracion';\r\nimport { generateMessageAdm } from \"../../components/general/Util\"\r\nimport { toggleBotonVisibleEditarOrden, toggleBotonApertura, toggleBotonSubasta, toggleBotonAdjudicacion, toggleValueAdjudicacion, toggleValueApertura, toggleValueSubasta } from '../../actions/controlJuego';\r\nimport { setStatusByKey } from \"../../actions/juego\"\r\nimport store from '../../store';\r\nconst MyContext = React.createContext();\r\n\r\nconst ControlJuego = (props) => {\r\n\r\n    const dispatch = useDispatch();\r\n    const { listEventos: currentEventos, eventoSeleccionado: eventoSeleccionado } = useSelector((state) => state.juego);\r\n    const [showButtonSubasta, setShowButtonSubasta] = useState(false);\r\n    const [showButtonAdjudicacion, setshowButtonAdjudicacion] = useState(false);\r\n    const [showButtonFinalizar, setshowButtonFinalizar] = useState(false);\r\n    const [globalValue, setGlobalValue] = React.useState(\"Some initial value\");\r\n\r\n    const { valueApertura: estadoObtenidoApertura } = useSelector(state => state.controlJuego);\r\n    const { valueSubasta: estadoObtenidoSubasta } = useSelector(state => state.controlJuego);\r\n    const { valueAdjudicacion: estadoObtenidoAdjudicacion } = useSelector(state => state.controlJuego);\r\n\r\n    const { valueBotonApertura: estadoObtenidoBotonApertura } = useSelector(state => state.controlJuego);\r\n    const { valueBotonSubasta: estadoObtenidoBotonSubasta } = useSelector(state => state.controlJuego);\r\n    const { valueBotonAdjudicacion: estadoObtenidoBotonAdjudicacion } = useSelector(state => state.controlJuego);\r\n\r\n\r\n    const { datosjuego } = useSelector(state => state.controlJuego);\r\n    let [mostratBotonesRigth, setMostratBotonesRigth] = useState(false);\r\n\r\n\r\n\r\n    function closeControlJuego() {\r\n        props.closeControlJuegoClick()\r\n    }\r\n    const handleToggle = () => {\r\n        //props.sendMessage(generateMessageAdm(\"FEV\"))\r\n        dispatch(toggleBotonVisibleEditarOrden())\r\n        dispatch(updateLiquidacion(eventoSeleccionado))\r\n        //  .then(() => {\r\n        //})\r\n        //.catch(() => { });\r\n        props.sendMessage(generateMessageAdm(\"FIN\"))\r\n\r\n    };\r\n\r\n    // Iniciar juego Apertura\r\n    function btnInicarJuegoApertura() {\r\n        //dispatch(setStatusByKey(\"loadingAccionEvt\", true))\r\n        props.sendMessage(generateMessageAdm(\"START\"))\r\n        //  dispatch(toggleValueApertura())\r\n    }\r\n    // Iniciar juego subasta\r\n    function btnInicarJuegoSubasta() {\r\n        //dispatch(setStatusByKey(\"loadingAccionEvt\", true))\r\n        props.sendMessage(generateMessageAdm(\"SUBASTA\"))\r\n        dispatch(toggleValueSubasta())\r\n    }\r\n    // Iniciar juego adjudicacion\r\n    function btnInicarJuegoAdjudicacion() {\r\n        //dispatch(setStatusByKey(\"loadingAccionEvt\", true))\r\n        props.sendMessage(generateMessageAdm(\"ADJUDICACION\"))\r\n        dispatch(toggleValueAdjudicacion())\r\n    }\r\n\r\n\r\n    useEffect(() => {\r\n        if (estadoObtenidoBotonApertura === false) {\r\n            setShowButtonSubasta(true);\r\n        }\r\n    }, [estadoObtenidoBotonApertura]);\r\n\r\n    useEffect(() => {\r\n        if (estadoObtenidoBotonSubasta === false) {\r\n            setshowButtonAdjudicacion(true);\r\n        }\r\n    }, [estadoObtenidoBotonSubasta]);\r\n\r\n    /*useEffect(() => {\r\n        if (estadoObtenidoBotonAdjudicacion === false) {\r\n            setshowButtonFinalizar(true);\r\n        }\r\n    }, [estadoObtenidoBotonAdjudicacion]);*/\r\n\r\n    function mostrarOcultarBotones() {\r\n        setMostratBotonesRigth(!mostratBotonesRigth)\r\n    }\r\n    //console.log(datosjuego)\r\n    return (\r\n        <div className={\"\"}>\r\n\r\n            <div className=\" ventanaPortafolio2\">\r\n                <div className={[\"userBtn\",\"displaynone\", mostratBotonesRigth === true ? \"\" : \"minimizeUserList\"].join(' ')}>\r\n                    <div className=\"moreRowBtn\" onClick={mostrarOcultarBotones}><i className={[\"fa\", mostratBotonesRigth === true ? \"fa-minus\" : \"fa-plus\"].join(' ')}></i></div>\r\n                    <div className=\"innerShadow3\">\r\n                        <ul>\r\n\r\n                            <li className=\"btnNuevaJugada\">\r\n                                <div className=\"textCenter\">\r\n\r\n                                    {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"\" && (\r\n                                        <button\r\n                                            className='btnJuego'\r\n                                            onClick={btnInicarJuegoApertura}>Apertura\r\n                                        </button>)}\r\n\r\n\r\n                                    {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"I\" ? (\r\n                                        <button\r\n                                            className='btnJuego'\r\n                                            onClick={btnInicarJuegoSubasta}>Subasta\r\n                                        </button>) : \"\"}\r\n\r\n\r\n                                    {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"S\" ? (\r\n                                        <button\r\n                                            className='btnJuego'\r\n                                            onClick={btnInicarJuegoAdjudicacion}>Adjudicación\r\n                                        </button>) : \"\"}\r\n\r\n                                    {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"J\" ? (\r\n                                        <button\r\n                                            className='btnJuego'\r\n                                            onClick={handleToggle}\r\n                                        >Finalizar evento\r\n                                        </button>) : \"\"}\r\n\r\n                                    {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"F\" ? (\r\n                                        <span\r\n                                        >Evento Finalizado\r\n                                        </span>) : \"\"}\r\n\r\n                                </div>\r\n                            </li>\r\n                        </ul>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n\r\n        </div>\r\n    )\r\n}\r\n\r\nexport function estadoBoton() { };\r\n\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(ControlJuego,);\r\n","import {\r\n  REGISTER_SUCCESS,\r\n  REGISTER_FAIL,\r\n  LOGIN_SUCCESS,\r\n  LOGIN_FAIL,\r\n  LOGOUT,\r\n} from \"../actions/types\";\r\n\r\nconst user = JSON.parse(localStorage.getItem(\"user\"));\r\n\r\nconst initialState = user\r\n  ? { isLoggedIn: true, user }\r\n  : { isLoggedIn: false, user: null };\r\n\r\nexport default function (state = initialState, action) {\r\n  const { type, payload } = action;\r\n\r\n  switch (type) {\r\n    case REGISTER_SUCCESS:\r\n      return {\r\n        ...state,\r\n        isLoggedIn: false,\r\n      };\r\n    case REGISTER_FAIL:\r\n      return {\r\n        ...state,\r\n        isLoggedIn: false,\r\n      };\r\n    case LOGIN_SUCCESS:\r\n      return {\r\n        ...state,\r\n        isLoggedIn: true,\r\n        user: payload.user,\r\n      };\r\n    case LOGIN_FAIL:\r\n      return {\r\n        ...state,\r\n        isLoggedIn: false,\r\n        user: null,\r\n      };\r\n    case LOGOUT:\r\n      return {\r\n        ...state,\r\n        isLoggedIn: false,\r\n        user: null,\r\n      };\r\n    default:\r\n      return state;\r\n  }\r\n}\r\n","import { SET_MESSAGE, CLEAR_MESSAGE } from \"../actions/types\";\r\n\r\nconst initialState = {};\r\n\r\nexport default function (state = initialState, action) {\r\n  const { type, payload } = action;\r\n\r\n  switch (type) {\r\n    case SET_MESSAGE:\r\n      return { message: payload };\r\n\r\n    case CLEAR_MESSAGE:\r\n      return { message: \"\" };\r\n\r\n    default:\r\n      return state;\r\n  }\r\n}\r\n","import {\r\n    SHOW_BANNER,\r\n    SHOW_BANNER_INIT,\r\n    SHOW_BANNER_FAIL\r\n} from \"../actions/types\";\r\n\r\nconst initialState = {\r\n  listBanner : [],\r\n  loadingBanner : false\r\n}\r\n\r\nexport default function(state = initialState, action) {\r\n    const { type, payload } = action;\r\n    switch (type) {\r\n        case SHOW_BANNER:\r\n            return {\r\n                ...state,\r\n                loadingBanner: false,\r\n                listBanner: payload.data,\r\n              };\r\n        case SHOW_BANNER_INIT:\r\n          return {\r\n            ...state,\r\n            loadingBanner: true\r\n          };\r\n        case SHOW_BANNER_FAIL:\r\n          return {\r\n            ...state,\r\n            loadingBanner: false,\r\n            listBanner: [],\r\n          };\r\n        default:\r\n            return state;\r\n    }\r\n  }\r\n","import {\r\n  GET_EVENT_BY_USER,\r\n  GET_EVENT_TITLE_BY_USER,\r\n  GET_EVENT_BY_USER_FAIL,\r\n  GET_EVENT_BY_USER_INIT,\r\n  UPDATE_STATUS_BY_KEY,\r\n  EVENT_SELECT,\r\n  EMPRESA_SELECT,\r\n  INSCRIPCION,\r\n  COLOCACION,\r\n  SUBASTA,\r\n  ADJUDICACION,\r\n\r\n} from \"../actions/types\";\r\n\r\nconst eventos = JSON.parse(localStorage.getItem(\"eventos\"));\r\nconst titulosRVCount = localStorage.getItem(\"titulosRVCount\");\r\nconst eventoSeleccionado = localStorage.getItem(\"eventoSeleccionado\");\r\nconst empresaSeleccionada = localStorage.getItem(\"empresaSeleccionada\")\r\nconst pInscripcion = localStorage.getItem(\"pInscripcion\")\r\nconst pColocacion = localStorage.getItem(\"pColocacion\")\r\nconst pSubasta = localStorage.getItem(\"pSubasta\")\r\nconst pAdjudicaion = localStorage.getItem(\"pAdjudicaion\")\r\nconst initialState = {\r\n  listEventos: eventos !== null ? eventos : null,\r\n  listTitleEvent: null,\r\n  eventoSeleccionado: eventoSeleccionado,\r\n  empresaSeleccionada: null,\r\n  pInscripcion: null,\r\n  pColocacion: null,\r\n  pSubasta: null,\r\n  pAdjudicaion: null,\r\n  loadingEventosPorUsr: true,\r\n  titulosRVCount: titulosRVCount !== null ? parseInt(titulosRVCount) : 0,\r\n\r\n  //WS\r\n  showLablesTime: false,\r\n  allTime: -1,\r\n  timeLastPlay: -1,\r\n  loadingAccionEvt: false,\r\n  modalidadCodigo: \"\",\r\n  loadingAccionEvt: false,\r\n  segundosApertura: -1,\r\n  segundosSubasta: -1,\r\n  segundosAdjudicacion: -1,\r\n  \r\n}\r\n\r\nexport default function (state = initialState, action) {\r\n  const { type, payload } = action;\r\n  switch (type) {\r\n    case UPDATE_STATUS_BY_KEY:\r\n      switch (payload.key) {\r\n\r\n        case 'eventoSeleccionado':\r\n          localStorage.setItem(\"eventoSeleccionado\", payload.value);\r\n          return {\r\n            ...state,\r\n            eventoSeleccionado: payload.value\r\n          };\r\n        case 'empresaSeleccionada':\r\n          localStorage.setItem(\"empresaSeleccionada\", payload.value);\r\n          return {\r\n            ...state,\r\n            empresaSeleccionada: payload.value\r\n          };\r\n        case 'pInscripcion':\r\n          localStorage.setItem(\"pInscripcion\", payload.value);\r\n          return {\r\n            ...state,\r\n            pInscripcion: payload.value\r\n          };\r\n        case 'pColocacion':\r\n          localStorage.setItem(\"pColocacion\", payload.value);\r\n          return {\r\n            ...state,\r\n            pColocacion: payload.value\r\n          };\r\n        case 'pSubasta':\r\n          localStorage.setItem(\"pSubasta\", payload.value);\r\n          return {\r\n            ...state,\r\n            pSubasta: payload.value\r\n          };\r\n        case 'pAdjudicaion':\r\n          localStorage.setItem(\"pAdjudicaion\", payload.value);\r\n          return {\r\n            ...state,\r\n            pAdjudicaion: payload.value\r\n          };\r\n\r\n        // WS\r\n        case 'showLablesTime':\r\n          return {\r\n            ...state,\r\n            showLablesTime: payload.value,\r\n          };\r\n        case 'allTime':\r\n          return {\r\n            ...state,\r\n            allTime: payload.value\r\n          };\r\n        case 'timeLastPlay':\r\n          return {\r\n            ...state,\r\n            timeLastPlay: payload.value\r\n          };\r\n        case 'modalidadCodigo':\r\n          return {\r\n            ...state,\r\n            modalidadCodigo: payload.value\r\n          };\r\n        case 'loadingAccionEvt':\r\n          return {\r\n            ...state,\r\n            loadingAccionEvt: payload.value\r\n          };\r\n          case 'segundosApertura':\r\n          return {\r\n            ...state,\r\n            segundosApertura: payload.value\r\n          };\r\n          case 'segundosSubasta':\r\n          return {\r\n            ...state,\r\n            segundosSubasta: payload.value\r\n          };\r\n          case 'segundosAdjudicacion':\r\n          return {\r\n            ...state,\r\n            segundosAdjudicacion: payload.value\r\n          };\r\n      }\r\n      break\r\n    case GET_EVENT_BY_USER:\r\n      return {\r\n        ...state,\r\n        loadingEventosPorUsr: false,\r\n        listEventos: payload.data\r\n      };\r\n    case GET_EVENT_TITLE_BY_USER:\r\n      return {\r\n        ...state,\r\n        loadingEventosPorUsr: false,\r\n        listTitleEvent: payload.data,\r\n        titulosRVCount: payload.data.filter(value => value[\"TipoRentaCod\"] === 'RV').length,\r\n      };\r\n    case GET_EVENT_BY_USER_INIT:\r\n      return {\r\n        ...state,\r\n        loadingEventosPorUsr: true\r\n      };\r\n    case GET_EVENT_BY_USER_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEventosPorUsr: false,\r\n        listEventos: [],\r\n      };\r\n    case EVENT_SELECT:\r\n      return {\r\n        ...state,\r\n        loadingEventosPorUsr: false,\r\n        eventoSeleccionado: payload.data,\r\n      };\r\n    case EMPRESA_SELECT:\r\n      return {\r\n        ...state,\r\n        empresaSeleccionada: payload.data,\r\n      }\r\n    case INSCRIPCION:\r\n      return {\r\n        ...state,\r\n        pInscripcion: payload.data,\r\n      }\r\n    case COLOCACION:\r\n      return {\r\n        ...state,\r\n        pColocacion: payload.data,\r\n      }\r\n    case SUBASTA:\r\n      return {\r\n        ...state,\r\n        pSubasta: payload.data,\r\n      }\r\n    case ADJUDICACION:\r\n      return {\r\n        ...state,\r\n        pAdjudicaion: payload.data,\r\n      }\r\n\r\n    default:\r\n      return state;\r\n  }\r\n}\r\n","import {\r\n    SHOW_BANNER,\r\n    SHOW_BANNER_INIT,\r\n    SHOW_BANNER_FAIL,\r\n    SEND_EMAIL_PASSWORD,\r\n    SEND_EMAIL_PASSWORD_FAIL,\r\n} from \"../actions/types\";\r\n\r\nconst initialState = {\r\n  listBanner : [],\r\n  loadingBanner : false\r\n}\r\n\r\n\r\n\r\nexport default function(state = initialState, action) {\r\n    const { type, payload } = action;\r\n    switch (type) {\r\n        case SHOW_BANNER:\r\n            return {\r\n                ...state,\r\n                loadingBanner: false,\r\n                listBanner: payload.data,\r\n              };\r\n        case SHOW_BANNER_INIT:\r\n          return {\r\n            ...state,\r\n            loadingBanner: true\r\n          };\r\n        case SHOW_BANNER_FAIL:\r\n          return {\r\n            ...state,\r\n            loadingBanner: false,\r\n            listBanner: [],\r\n          };\r\n        case SEND_EMAIL_PASSWORD:\r\n            return {\r\n                ...state,            \r\n                recuperarLoading:false,\r\n              };\r\n        case SEND_EMAIL_PASSWORD_FAIL: \r\n        return {\r\n            ...state,\r\n            recuperarLoading: false,\r\n          };   \r\n        default:\r\n            return state;\r\n    }\r\n  }\r\n","const initialState = {\r\n  valueApertura: false,\r\n  valueSubasta: false,\r\n  valueAdjudicacion: false,\r\n\r\n  valueBotonApertura: true,\r\n  valueBotonSubasta: true,\r\n  valueBotonAdjudicacion: true,\r\n\r\n  valueVisibleSelectEditarOrden: false,\r\n  datosjuego:{}\r\n};\r\n\r\nconst reducer = (state = initialState, action) => {\r\n  switch (action.type) {\r\n    case 'SEND_VALUE_APERTURA':\r\n      return {\r\n        ...state,\r\n        valueApertura: !state.value\r\n      };\r\n    case 'SEND_VALUE_SUBASTA':\r\n      return {\r\n        ...state,\r\n        valueSubasta: !state.valueSubasta\r\n      };\r\n    case 'SEND_VALUE_ADJUDICACION':\r\n      return {\r\n        ...state,\r\n        valueAdjudicacion: !state.valueAdjudicacion\r\n      };\r\n\r\n    // botones\r\n    case 'SEND_VALUE_BOTON_APERTURA':\r\n      return {\r\n        ...state,\r\n        valueBotonApertura: false\r\n      };\r\n    case 'SEND_VALUE_BOTON_SUBASTA':\r\n      return {\r\n        ...state,\r\n        valueBotonSubasta: false\r\n      };\r\n    case 'SEND_VALUE_BOTON_ADJUDICACION':\r\n      return {\r\n        ...state,\r\n        valueBotonAdjudicacion: false\r\n      };\r\n    case 'SEND_VALUE_BOTON_EDITAR_ORDEN':\r\n      return {\r\n        ...state,\r\n        valueVisibleSelectEditarOrden: true\r\n      };\r\n    \r\n      case 'UPDATE_EVENTO_OBJECT':      \r\n      return {\r\n        ...state,\r\n        datosjuego: action.payload.value\r\n      };\r\n\r\n\r\n\r\n    default:\r\n      return state;\r\n  }\r\n};\r\n\r\nexport default reducer;\r\n","import {\r\n  GET_GESTION_CATALOGOS,\r\n  GET_GESTION_CATALOGOS_FAIL,\r\n  UPDATE_GESTION_CATALOGOS,\r\n  UPDATE_GESTION_CATALOGOS_FAIL,\r\n  DELETE_GESTION_CATALOGOS,\r\n  DELETE_GESTION_CATALOGOS_FAIL,\r\n  GET_CATALOGOS_PADRE,\r\n  GET_CATALOGOS_PADRE_FAIL,\r\n  DELETE_ITEM_CATALOGO,\r\n  DELETE_ITEM_CATALOGO_FAIL,\r\n  UPDATE_ITEM_CATALOGO,\r\n  UPDATE_ITEM_CATALOGO_FAIL,\r\n  GET_ITEM_CATALOGOS,\r\n  GET_ITEM_CATALOGOS_FAIL,\r\n  UPDATE_STATUS_BY_KEY_ADM,\r\n  CATALOGOS_INI,\r\n  ITEMS_INI,\r\n  GET_EMPRESA,\r\n  GET_EMPRESA_FAIL,\r\n  EMPRESA_INI,\r\n  DELETE_EMPRESA,\r\n  DELETE_EMPRESA_FAIL,\r\n  UPDATE_EMPRESA,\r\n  UPDATE_EMPRESA_FAIL,\r\n  GET_INVERSIONISTA,\r\n  GET_INVERSIONISTA_FAIL,\r\n  INVERSIONISTA_INI,\r\n  DELETE_INVERSIONISTA,\r\n  DELETE_INVERSIONISTA_FAIL,\r\n  UPDATE_INVERSIONISTA,\r\n  UPDATE_INVERSIONISTA_FAIL,\r\n  GET_EMPRESA_INST,\r\n  GET_EMPRESA_INST_FAIL,\r\n  GET_USUARIOS_INV,\r\n  GET_USUARIOS_INV_FAIL,\r\n  GET_ORDEN,\r\n  GET_ORDEN_FAIL,\r\n  GET_ORDEN_USER_ID,\r\n  GET_ORDEN_USER_ID_FAIL,\r\n  UPDATE_ORDEN,\r\n  UPDATE_ORDEN_FAIL,\r\n  DELETE_ORDEN,\r\n  DELETE_ORDEN_FAIL,\r\n  ORDEN_INI,\r\n  GET_EMPRESA_SELECT,\r\n  GET_EMPRESA_SELECT_FAIL,\r\n  GET_INVERSIONISTA_SELECT,\r\n  GET_INVERSIONISTA_SELECT_FAIL,\r\n  INVERSIONISTA_SELECT_INI,\r\n  GET_EVENTO,\r\n  GET_EVENTO_FAIL,\r\n  UPDATE_EVENTO,\r\n  UPDATE_EVENTO_FAIL,\r\n  DELETE_EVENTO,\r\n  DELETE_EVENTO_FAIL,\r\n  EVENTO_INI,\r\n  GET_USUARIO_EMPRESA,\r\n  GET_USUARIO_EMPRESA_FAIL,\r\n  GET_USUARIO_EMPRESA_SIN_ASIG,\r\n  GET_USUARIO_EMPRESA_SIN_ASIG_FAIL,\r\n  SELECT_USUARIO_EMPRESA,\r\n  SELECT_USUARIO_EMPRESA_FAIL,\r\n  DELETE_USUARIO_EMPRESA,\r\n  DELETE_USUARIO_EMPRESA_FAIL,\r\n  USUARIO_EMPRESA_INI,\r\n  UPDATE_USER,\r\n  UPDATE_USER_FAIL,\r\n  GET_USERS,\r\n  GET_USERS_FAIL,\r\n  DELETE_USER,\r\n  DELETE_USER_FAIL,\r\n  USER_INI,\r\n  SELECT_EVENTO,\r\n  SELECT_EVENTO_FAIL,\r\n  GET_PARAMETRO,\r\n  GET_PARAMETRO_FAIL,\r\n  DELETE_PARAMETRO,\r\n  DELETE_PARAMETRO_FAIL,\r\n  UPDATE_PARAMETRO,\r\n  UPDATE_PARAMETRO_FAIL,\r\n  PARAMETRO_INI,\r\n  GET_EMPRESA_CON_EVENTO,\r\n  GET_EMPRESA_CON_EVENTO_FAIL,\r\n  GET_TODO_EVENTO,\r\n  GET_TODO_EVENTO_FAIL,\r\n  EMPRESA_CON_EVENTO_INI,\r\n  EVENTO_EMPRESA_INI,\r\n  GET_EVENTO_EMPRESA,\r\n  GET_EVENTO_EMPRESA_FAIL,\r\n  GET_EVENTO_EMPRESA_SIN_ASIG,\r\n  GET_EVENTO_EMPRESA_SIN_ASIG_FAIL,\r\n  SELECT_EVENTO_EMPRESA,\r\n  SELECT_EVENTO_EMPRESA_FAIL,\r\n  DELETE_EVENTO_EMPRESA,\r\n  DELETE_EVENTO_EMPRESA_FAIL,\r\n  UPDATE_USER_PROFILE,\r\n  UPDATE_USER_PROFILE_FAIL,\r\n  ONLY_EVENT_DATA,\r\n  ONLY_EVENT_DATA_FAIL,\r\n  ONLY_EVENT_DATA_INI,\r\n  DATA_EVENT_ID,\r\n  GET_ADJUDICACION,\r\n  GET_ADJUDICACION_FAIL,\r\n  ADJUDICACION_INI,\r\n  SALA_INI,\r\n  ORDEN_USER_ID_INI,\r\n  GET_DATA_EMPRESA,\r\n  GET_DATA_EMPRESA_FAIL,\r\n  DATA_EPMRESA_SINI,\r\n\r\n  // AGG JP\r\n  GET_EMPRESA_SELECT_INVERSIONISTA,\r\n  GET_EMPRESA_SELECT_INVERSIONISTA_FAIL,\r\n  GET_DATOS_ADJUDICACIONES,\r\n  GET_DATOS_ADJUDICACIONES_FAIL,\r\n  UPDATE_IMPRESION_LIQUIDACIONES,\r\n  UPDATE_IMPRESION_LIQUIDACIONES_FAIL,\r\n  UPDATE_IMPRESION_TITULOS,\r\n  UPDATE_IMPRESION_TITULOS_FAIL,\r\n  UPDATE_IMPRESION_REPORT_RUEDA,\r\n  UPDATE_IMPRESION_REPORT_RUEDA_FAIL,\r\n  UPDATE_INVITACION_EMAIL,\r\n  UPDATE_INVITACION_EMAIL_FAIL,\r\n  UPDATE_LIQUIDACION_EMAIL,\r\n  UPDATE_LIQUIDACION_EMAIL_FAIL,\r\n  UPDATE_LIQUIDACION,\r\n  UPDATE_LIQUIDACION_FAIL,\r\n  GET_CATALOGOS_MODALIDAD,\r\n  GET_CATALOGOS_MODALIDAD_FAIL,\r\n  UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL,\r\n  UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL_FAIL,\r\n  //control\r\n  SEND_VALUE\r\n\r\n\r\n\r\n} from \"../actions/types\";\r\n\r\nconst initialState = {\r\n  listBanner: [],\r\n  loadingBanner: false,\r\n  listaCatalogosPag: null,\r\n  listaCatalogosCount: 0,\r\n  listaCatalogosPadre: null,\r\n  listaItemsPag: null,\r\n  listaItemsCount: 0,\r\n  loadingCatalogos: false,\r\n  loadingItems: false,\r\n  listaEmpresa: null,\r\n  listaEmpresaCount: 0,\r\n  loadingEmpresa: false,\r\n  listaInversionista: null,\r\n  listaInversionistaCount: 0,\r\n  loadingInversionista: false,\r\n  listaInstitucionEmpresa: null,\r\n  listaUsuarios: null,\r\n  listaOrdenes: null,\r\n  listaOrdenesCount: 0,\r\n  listaOrdenesPorUsuario: null,\r\n  listaOrdenesPorUsuarioCount: 0,\r\n  loadingOrden: false,\r\n  listaEmpresaSelect: null,\r\n  listaInversionistaSelect: null,\r\n  listaEventos: null,\r\n  listaEventosCount: 0,\r\n  loadingEventos: false,\r\n  listaUsuarioEmpresa: null,\r\n  listaUsuarioEmpresaSinAsig: null,\r\n  loadingUsuarioEmpresa: false,\r\n  listaUser: null,\r\n  listaUserCount: 0,\r\n  loadingUser: false,\r\n  listaEventoSelect: null,\r\n  listaParametro: null,\r\n  listaParametroCount: 0,\r\n  loadingParametro: false,\r\n  listaEmpresaConEvento: null,\r\n  listaTodosLosEventos: null,\r\n  loadingEmpresaConEvento: false,\r\n  listaEventoEmpresa: null,\r\n  listaEventoEmpresaSinAsig: null,\r\n  loadingEventoEmpresa: false,\r\n  listaDatosEvento: null,\r\n  loadingDatosEvento: false,\r\n  datoEventoId: null,\r\n  listaAdjudicacion: null,\r\n  listaAdjudicacionCount: 0,\r\n  loadingAdjudicacion: false,\r\n  loadingSala: false,\r\n  loadingOrdenUserId: false,\r\n  loadingEmpresaConEvento: false,\r\n  loadingInversionistaSelect: false,\r\n  datosEmpresa: null,\r\n  laodingDatosEmpresa: false,\r\n\r\n  // AGG JP\r\n  listaEmpresasSelecInversionista: null,\r\n  listaDatosAdjudicaciones: null,\r\n  listaAdjudicacionesCount: 0,\r\n  loadingAdjudicacionesD: false,\r\n\r\n  listaCatalogosModalidad: null,\r\n  //\r\n  loadingControl: false\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n  const { type, payload } = action;\r\n  switch (type) {\r\n    case UPDATE_STATUS_BY_KEY_ADM:\r\n      switch (payload.key) {\r\n        case \"listaItemsPag\":\r\n          return {\r\n            ...state,\r\n            listaItemsPag: payload.value,\r\n          };\r\n        case \"listaEmpresa\":\r\n          return {\r\n            ...state,\r\n            listaEmpresa: payload.value,\r\n          };\r\n        case \"listaInversionista\":\r\n          return {\r\n            ...state,\r\n            listaInversionista: payload.value,\r\n          };\r\n        case \"listaInstitucionEmpresa\":\r\n          return {\r\n            ...state,\r\n            listaInstitucionEmpresa: payload.value,\r\n          };\r\n        case \"listaUsuarios\":\r\n          return {\r\n            ...state,\r\n            listaUsuarios: payload.value,\r\n          };\r\n        case \"listaOrdenesPorUsuario\":\r\n          return {\r\n            ...state,\r\n            listaOrdenesPorUsuario: payload.value,\r\n          };\r\n        case \"listaOrdenes\":\r\n          return {\r\n            ...state,\r\n            listaOrdenes: payload.value,\r\n          };\r\n        case \"listaEmpresaSelect\":\r\n          return {\r\n            ...state,\r\n            listaEmpresaSelect: payload.value,\r\n          };\r\n        case \"listaInversionistaSelect\":\r\n          return {\r\n            ...state,\r\n            listaInversionistaSelect: payload.value,\r\n          };\r\n        case \"listaEventos\":\r\n          return {\r\n            ...state,\r\n            listaEventos: payload.value,\r\n          };\r\n        case \"listaUsuarioEmpresa\":\r\n          return {\r\n            ...state,\r\n            listaUsuarioEmpresa: payload.value,\r\n          };\r\n        case \"listaUsuarioEmpresaSinAsig\":\r\n          return {\r\n            ...state,\r\n            listaUsuarioEmpresaSinAsig: payload.value,\r\n          };\r\n        case \"listaUser\":\r\n          return {\r\n            ...state,\r\n            listaUser: payload.value,\r\n          };\r\n        case \"listaEventoSelect\":\r\n          return {\r\n            ...state,\r\n            listaEventoSelect: payload.value,\r\n          };\r\n        case \"listaParametro\":\r\n          return {\r\n            ...state,\r\n            listaParametro: payload.value,\r\n          };\r\n        case \"listaEventoEmpresa\":\r\n          return {\r\n            ...state,\r\n            listaEventoEmpresa: payload.value,\r\n          };\r\n        case \"listaEventoEmpresaSinAsig\":\r\n          return {\r\n            ...state,\r\n            listaEventoEmpresaSinAsig: payload.value,\r\n          };\r\n        case \"listaDatosEvento\":\r\n          return {\r\n            ...state,\r\n            listaDatosEvento: payload.data,\r\n          };\r\n        case \"datoEventoId\":\r\n          return {\r\n            ...state,\r\n            datoEventoId: payload.data,\r\n          };\r\n        case \"listaAdjudicacion\":\r\n          return {\r\n            ...state,\r\n            listaAdjudicacion: payload.data,\r\n          };\r\n        case \"datosEmpresa\":\r\n          return {\r\n            ...state,\r\n            datosEmpresa: payload.data,\r\n          };\r\n\r\n        // agg JP\r\n        case \"listaEmpresaSelectInvesionista\":\r\n          return {\r\n            ...state,\r\n            listaEmpresasSelecInversionista: payload.value,\r\n          };\r\n        case \"listaDatosAdjudicaciones\":\r\n          return {\r\n            ...state,\r\n            listaDatosAdjudicaciones: payload.value,\r\n          };\r\n\r\n        //control\r\n        case \"loadingControl\":\r\n          return {\r\n            ...state,\r\n            loadingControl: payload.value,\r\n          };\r\n\r\n        case \"listaCatalogosModalidad\":\r\n          return {\r\n            ...state,\r\n            listaCatalogosModalidad: payload.value,\r\n          };\r\n\r\n      }\r\n      break;\r\n    case GET_GESTION_CATALOGOS:\r\n      return {\r\n        ...state,\r\n        listaCatalogosPag: payload.data[0],\r\n        listaCatalogosCount: payload.data[1],\r\n        loadingCatalogos: false,\r\n      };\r\n    case GET_GESTION_CATALOGOS_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingCatalogos: false,\r\n      };\r\n    case UPDATE_GESTION_CATALOGOS:\r\n      return {\r\n        ...state,\r\n        loadingCatalogos: false,\r\n      };\r\n    case UPDATE_GESTION_CATALOGOS_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingCatalogos: false,\r\n      };\r\n    case DELETE_GESTION_CATALOGOS:\r\n      return {\r\n        ...state,\r\n        loadingCatalogos: false,\r\n      };\r\n    case DELETE_GESTION_CATALOGOS_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingCatalogos: false,\r\n      };\r\n    case GET_CATALOGOS_PADRE:\r\n      return {\r\n        ...state,\r\n        listaCatalogosPadre: payload.data,\r\n      };\r\n    case GET_CATALOGOS_PADRE_FAIL:\r\n      return {\r\n        ...state,\r\n      };\r\n    case GET_ITEM_CATALOGOS:\r\n      return {\r\n        ...state,\r\n        listaItemsPag: payload.data[0],\r\n        listaItemsCount: payload.data[1],\r\n        loadingItems: false,\r\n      };\r\n    case GET_ITEM_CATALOGOS_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingItems: false,\r\n      };\r\n    case UPDATE_ITEM_CATALOGO:\r\n      return {\r\n        ...state,\r\n        loadingItems: false,\r\n      };\r\n    case UPDATE_ITEM_CATALOGO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingItems: false,\r\n      };\r\n    case DELETE_ITEM_CATALOGO:\r\n      return {\r\n        ...state,\r\n        loadingItems: false,\r\n      };\r\n    case DELETE_ITEM_CATALOGO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingItems: false,\r\n      };\r\n    case CATALOGOS_INI:\r\n      return {\r\n        ...state,\r\n        loadingCatalogos: true,\r\n      };\r\n    case ITEMS_INI:\r\n      return {\r\n        ...state,\r\n        loadingItems: true,\r\n      };\r\n    case EMPRESA_INI:\r\n      return {\r\n        ...state,\r\n        loadingEmpresa: true,\r\n      };\r\n    case GET_EMPRESA:\r\n      return {\r\n        ...state,\r\n        listaEmpresa: payload.data[0],\r\n        listaEmpresaCount: payload.data[1],\r\n        loadingEmpresa: false,\r\n      };\r\n    case GET_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEmpresa: false,\r\n      };\r\n    case DELETE_EMPRESA:\r\n      return {\r\n        ...state,\r\n        loadingEmpresa: false,\r\n      };\r\n    case DELETE_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEmpresa: false,\r\n      };\r\n    case UPDATE_EMPRESA:\r\n      return {\r\n        ...state,\r\n        loadingEmpresa: false,\r\n      };\r\n    case UPDATE_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEmpresa: false,\r\n      };\r\n    case INVERSIONISTA_INI:\r\n      return {\r\n        ...state,\r\n        loadingInversionista: true,\r\n      };\r\n    case GET_INVERSIONISTA:\r\n      return {\r\n        ...state,\r\n        listaInversionista: payload.data[0],\r\n        listaInversionistaCount: payload.data[1],\r\n        loadingInversionista: false,\r\n      };\r\n    case GET_INVERSIONISTA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingInversionista: false,\r\n      };\r\n    case DELETE_INVERSIONISTA:\r\n      return {\r\n        ...state,\r\n        loadingInversionista: false,\r\n      };\r\n    case DELETE_INVERSIONISTA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingInversionista: false,\r\n      };\r\n    case UPDATE_INVERSIONISTA:\r\n      return {\r\n        ...state,\r\n        loadingInversionista: false,\r\n      };\r\n    case UPDATE_INVERSIONISTA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingInversionista: false,\r\n      };\r\n    case GET_EMPRESA_INST:\r\n      return {\r\n        ...state,\r\n        listaInstitucionEmpresa: payload.data,\r\n        loadingEmpresa: false,\r\n      };\r\n    case GET_EMPRESA_INST_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEmpresa: false,\r\n      };\r\n    case GET_USUARIOS_INV:\r\n      return {\r\n        ...state,\r\n        listaUsuarios: payload.data,\r\n        loadingInversionista: false,\r\n      };\r\n    case GET_USUARIOS_INV_FAIL:\r\n      return {\r\n        ...state,\r\n\r\n        loadingInversionista: false,\r\n      };\r\n    case GET_ORDEN:\r\n      return {\r\n        ...state,\r\n        listaOrdenes: payload.data[0],\r\n        listaOrdenesCount: payload.data[1],\r\n        loadingOrden: false,\r\n      };\r\n    case GET_ORDEN_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingOrden: false,\r\n      };\r\n    case GET_ORDEN_USER_ID:\r\n      return {\r\n        ...state,\r\n        listaOrdenesPorUsuario: payload.data[0],\r\n        listaOrdenesPorUsuarioCount: payload.data[1],\r\n        loadingOrdenUserId: false,\r\n      };\r\n    case GET_ORDEN_USER_ID_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingOrdenUserId: false,\r\n      };\r\n    case ORDEN_USER_ID_INI:\r\n      return {\r\n        ...state,\r\n        loadingOrdenUserId: true,\r\n      };\r\n    case UPDATE_ORDEN:\r\n      return {\r\n        ...state,\r\n        loadingSala: false,\r\n      };\r\n    case UPDATE_ORDEN_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingSala: false,\r\n      };\r\n    case DELETE_ORDEN:\r\n      return {\r\n        ...state,\r\n        loadingOrden: false,\r\n      };\r\n    case DELETE_ORDEN_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingOrden: false,\r\n      };\r\n    case ORDEN_INI:\r\n      return {\r\n        ...state,\r\n        loadingOrden: true,\r\n      };\r\n    case GET_EMPRESA_SELECT:\r\n      return {\r\n        ...state,\r\n        listaEmpresaSelect: payload.data,\r\n        loadingSala: false,\r\n      };\r\n    case GET_EMPRESA_SELECT_FAIL:\r\n      return {\r\n        ...state,\r\n      };\r\n    case GET_INVERSIONISTA_SELECT:\r\n      return {\r\n        ...state,\r\n        listaInversionistaSelect: payload.data,\r\n        loadingInversionistaSelect: false,\r\n      };\r\n    case GET_INVERSIONISTA_SELECT_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingInversionista: false,\r\n      };\r\n    case INVERSIONISTA_SELECT_INI:\r\n      return {\r\n        ...state,\r\n        loadingInversionistaSelect: true,\r\n      };\r\n    case GET_EVENTO:\r\n      return {\r\n        ...state,\r\n        listaEventos: payload.data[0],\r\n        listaEventosCount: payload.data[1],\r\n        loadingEventos: false,\r\n      };\r\n    case GET_EVENTO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEventos: false,\r\n      };\r\n    case UPDATE_EVENTO:\r\n      return {\r\n        ...state,\r\n        loadingEventos: false,\r\n      };\r\n    case UPDATE_EVENTO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEventos: false,\r\n      };\r\n    case DELETE_EVENTO:\r\n      return {\r\n        ...state,\r\n        loadingEventos: false,\r\n      };\r\n    case DELETE_EVENTO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEventos: false,\r\n      };\r\n    case EVENTO_INI:\r\n      return {\r\n        ...state,\r\n        loadingEventos: true,\r\n      };\r\n    case GET_USUARIO_EMPRESA:\r\n      return {\r\n        ...state,\r\n        listaUsuarioEmpresa: payload.data,\r\n        loadingUsuarioEmpresa: false,\r\n      };\r\n    case GET_USUARIO_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingUsuarioEmpresa: false,\r\n      };\r\n    case GET_USUARIO_EMPRESA_SIN_ASIG:\r\n      return {\r\n        ...state,\r\n        listaUsuarioEmpresaSinAsig: payload.data,\r\n        loadingUsuarioEmpresa: false,\r\n      };\r\n    case GET_USUARIO_EMPRESA_SIN_ASIG_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingUsuarioEmpresa: false,\r\n      };\r\n    case SELECT_USUARIO_EMPRESA:\r\n      return {\r\n        ...state,\r\n        loadingUsuarioEmpresa: false,\r\n      };\r\n    case SELECT_USUARIO_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingUsuarioEmpresa: false,\r\n      };\r\n\r\n    case DELETE_USUARIO_EMPRESA:\r\n      return {\r\n        ...state,\r\n        loadingUsuarioEmpresa: false,\r\n      };\r\n    case DELETE_USUARIO_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingUsuarioEmpresa: false,\r\n      };\r\n    case USUARIO_EMPRESA_INI:\r\n      return {\r\n        ...state,\r\n        loadingUsuarioEmpresa: true,\r\n      };\r\n    case GET_USERS:\r\n      return {\r\n        ...state,\r\n        listaUser: payload.data[0],\r\n        listaUserCount: payload.data[1],\r\n        loadingUser: false,\r\n      };\r\n    case GET_USERS_FAIL:\r\n      return {\r\n        ...state,\r\n        usuariosLoading: false,\r\n      };\r\n    case DELETE_USER:\r\n      return {\r\n        ...state,\r\n        usuariosLoading: false,\r\n      };\r\n    case DELETE_USER_FAIL:\r\n      return {\r\n        ...state,\r\n\r\n        usuariosLoading: false,\r\n      };\r\n    case UPDATE_USER:\r\n      return {\r\n        ...state,\r\n        usuariosLoading: false,\r\n      };\r\n    case UPDATE_USER_FAIL:\r\n      return {\r\n        ...state,\r\n        usuariosLoading: false,\r\n      };\r\n    case USER_INI:\r\n      return {\r\n        ...state,\r\n        usuariosLoading: true,\r\n      };\r\n    case SELECT_EVENTO:\r\n      return {\r\n        ...state,\r\n        listaEventoSelect: payload.data,\r\n      };\r\n    case SELECT_EVENTO_FAIL:\r\n      return {\r\n        ...state,\r\n      };\r\n    case DELETE_PARAMETRO:\r\n      return {\r\n        ...state,\r\n        loadingParametro: false,\r\n      };\r\n    case DELETE_PARAMETRO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingParametro: false,\r\n      };\r\n    case GET_PARAMETRO:\r\n      return {\r\n        ...state,\r\n        listaParametro: payload.data[0],\r\n        listaParametroCount: payload.data[1],\r\n        loadingParametro: false,\r\n      };\r\n    case GET_PARAMETRO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEmpresaConEvento: false,\r\n      };\r\n    case UPDATE_PARAMETRO:\r\n      return {\r\n        ...state,\r\n        loadingParametro: false,\r\n      };\r\n    case UPDATE_PARAMETRO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingParametro: false,\r\n      };\r\n    case PARAMETRO_INI:\r\n      return {\r\n        ...state,\r\n        loadingParametro: true,\r\n      };\r\n    case GET_EMPRESA_CON_EVENTO:\r\n      return {\r\n        ...state,\r\n        listaEmpresaConEvento: payload.data,\r\n        loadingEmpresaConEvento: false,\r\n      };\r\n\r\n    case GET_EMPRESA_CON_EVENTO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEmpresaConEvento: false,\r\n      };\r\n    case GET_TODO_EVENTO:\r\n      return {\r\n        ...state,\r\n        listaTodosLosEventos: payload.data,\r\n        loadingEmpresaConEvento: false,\r\n      };\r\n\r\n    case GET_TODO_EVENTO_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEmpresaConEvento: false,\r\n      };\r\n\r\n    case EMPRESA_CON_EVENTO_INI:\r\n      return {\r\n        ...state,\r\n        loadingEmpresaConEvento: true,\r\n      };\r\n    case GET_EVENTO_EMPRESA:\r\n      return {\r\n        ...state,\r\n        listaEventoEmpresa: payload.data,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n    case GET_EVENTO_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n\r\n    case GET_EVENTO_EMPRESA_SIN_ASIG:\r\n      return {\r\n        ...state,\r\n        listaEventoEmpresaSinAsig: payload.data,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n    case GET_EVENTO_EMPRESA_SIN_ASIG_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n    case SELECT_EVENTO_EMPRESA:\r\n      return {\r\n        ...state,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n    case SELECT_EVENTO_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n\r\n    case DELETE_EVENTO_EMPRESA:\r\n      return {\r\n        ...state,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n    case DELETE_EVENTO_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n\r\n    case EVENTO_EMPRESA_INI:\r\n      return {\r\n        ...state,\r\n        loadingEventoEmpresa: true,\r\n      };\r\n    case UPDATE_USER_PROFILE:\r\n      return {\r\n        ...state,\r\n      };\r\n    case UPDATE_USER_PROFILE_FAIL:\r\n      return {\r\n        ...state,\r\n      };\r\n    case ONLY_EVENT_DATA:\r\n      return {\r\n        ...state,\r\n        listaDatosEvento: payload.data[0],\r\n        loadingDatosEvento: false,\r\n      };\r\n    case ONLY_EVENT_DATA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingDatosEvento: false,\r\n      };\r\n    case ONLY_EVENT_DATA_INI:\r\n      return {\r\n        ...state,\r\n        loadingDatosEvento: true,\r\n      };\r\n    case DATA_EVENT_ID:\r\n      return {\r\n        ...state,\r\n        datoEventoId: payload.data,\r\n      };\r\n    case GET_ADJUDICACION:\r\n      return {\r\n        ...state,\r\n        listaAdjudicacion: payload.data[0],\r\n        listaAdjudicacionCount: payload.data[1],\r\n        loadingAdjudicacion: false,\r\n      };\r\n    case GET_ADJUDICACION_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingAdjudicacion: false,\r\n      };\r\n    case ADJUDICACION_INI:\r\n      return {\r\n        ...state,\r\n        loadingAdjudicacion: true,\r\n      };\r\n    case GET_EVENTO_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n      };\r\n    case SALA_INI:\r\n      return {\r\n        ...state,\r\n        loadingSala: true,\r\n      };\r\n    case GET_DATA_EMPRESA:\r\n      return {\r\n        ...state,\r\n        datosEmpresa: payload.data,\r\n        laodingDatosEmpresa: false\r\n\r\n\r\n      };\r\n    case GET_DATA_EMPRESA_FAIL:\r\n      return {\r\n        ...state,\r\n        laodingDatosEmpresa: false\r\n\r\n      };\r\n\r\n\r\n\r\n\r\n    // AGG JP\r\n    case GET_EMPRESA_SELECT_INVERSIONISTA:\r\n      return {\r\n        ...state,\r\n        listaEmpresasSelecInversionista: payload.data,\r\n\r\n      };\r\n    case GET_EMPRESA_SELECT_INVERSIONISTA_FAIL:\r\n      return {\r\n        ...state\r\n\r\n      };\r\n\r\n    // obtener adjudicaciones para menu liquidaciones\r\n    case GET_DATOS_ADJUDICACIONES:\r\n      return {\r\n        ...state,\r\n        listaDatosAdjudicaciones: payload.data[0],\r\n        listaAdjudicacionesCount: payload.data[1],\r\n        loadingAdjudicacionesD: false,\r\n      };\r\n    case GET_DATOS_ADJUDICACIONES_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingAdjudicacionesD: false,\r\n      };\r\n\r\n    // impresion certificados\r\n    case UPDATE_IMPRESION_LIQUIDACIONES:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n    case UPDATE_IMPRESION_LIQUIDACIONES_FAIL:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n\r\n    // impresion titulos\r\n    case UPDATE_IMPRESION_TITULOS:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n    case UPDATE_IMPRESION_TITULOS_FAIL:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n\r\n    // impresion reporte user rueda\r\n    case UPDATE_IMPRESION_REPORT_RUEDA:\r\n      return {\r\n        ...state,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n    case UPDATE_IMPRESION_REPORT_RUEDA_FAIL:\r\n      return {\r\n        ...state,\r\n        loadingEventoEmpresa: false,\r\n      };\r\n\r\n    case UPDATE_INVITACION_EMAIL:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n    case UPDATE_INVITACION_EMAIL_FAIL:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n\r\n    case UPDATE_LIQUIDACION_EMAIL:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n    case UPDATE_LIQUIDACION_EMAIL_FAIL:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n    case UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n    case UPDATE_LIQUIDACION_INVERSIONISTA_EMAIL_FAIL:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n\r\n    // guardar liquidaciones\r\n    case UPDATE_LIQUIDACION:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n    case UPDATE_LIQUIDACION_FAIL:\r\n      return {\r\n        ...state,\r\n        liquidacionesLoading: false,\r\n      };\r\n    // control juego\r\n    case SEND_VALUE:\r\n      return {\r\n        ...state,\r\n        loadingControl: false,\r\n      };\r\n    default:\r\n      return state;\r\n\r\n    // Catalogos modalidad\r\n    case GET_CATALOGOS_MODALIDAD:\r\n      return {\r\n        ...state,\r\n        listaCatalogosModalidad: payload.data,\r\n\r\n      };\r\n    case GET_CATALOGOS_MODALIDAD_FAIL:\r\n      return {\r\n        ...state\r\n\r\n      };\r\n\r\n\r\n  }\r\n}\r\n","import { combineReducers } from \"redux\";\r\nimport auth from \"./auth\";\r\nimport message from \"./message\";\r\nimport banner from \"./banner\";\r\nimport juego from \"./juego\";\r\nimport user from \"./user\";\r\nimport controlJuego from \"./controlJuego\"; // agregado\r\nimport administracion from \"./administracion\"\r\nexport default combineReducers({\r\n  auth,\r\n  message,\r\n  banner,\r\n  juego,\r\n  user,\r\n  administracion,\r\n  controlJuego\r\n});\r\n","import { createStore, applyMiddleware } from \"redux\";\r\nimport { composeWithDevTools } from \"redux-devtools-extension\";\r\nimport thunk from \"redux-thunk\";\r\nimport rootReducer from \"./reducers\";\r\n\r\nconst middleware = [thunk];\r\n\r\nconst store = createStore(\r\n  rootReducer,\r\n  composeWithDevTools(applyMiddleware(...middleware))\r\n);\r\n\r\nexport default store;\r\n","import axios from \"axios\";\r\nimport '../config'\r\n\r\nconst getEventosPorUsuario = (userId) => {\r\n    const params = {\"strUserId\":userId}\r\n    return axios\r\n      .post(global.config.URL_SERVICE + \"ObtenerEventosPorUsuario\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n        let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n        const result = JSON.parse(itemR);\r\n        if(result.length>0){\r\n          return result;  \r\n        }else{\r\n          return null\r\n        }\r\n      });\r\n  };\r\n\r\nconst getTitulosEventoById = (eventId) => {\r\n  const params = {\"strEventId\":eventId}\r\n  return axios\r\n      .post(global.config.URL_SERVICE + \"ObtenerTitulosPorEvento\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n        let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n        const result = JSON.parse(itemR);\r\n        if(result.length>0){\r\n            localStorage.setItem(\"eventos\", JSON.stringify(result));\r\n            localStorage.setItem(\"titulosRVCount\", result.filter(value => value[\"TipoRentaCod\"] === 'RV').length);\r\n            \r\n            return result;  \r\n        }else{\r\n          return null\r\n        }\r\n      });\r\n}\r\n\r\nexport default {\r\n    getEventosPorUsuario,\r\n    getTitulosEventoById\r\n};\r\n  ","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAbCAYAAAAgVez8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNERDc2QzY3MDFEMzExRUJBODQyQTM4M0U5OTAyNDAzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNERDc2QzY4MDFEMzExRUJBODQyQTM4M0U5OTAyNDAzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Q0RENzZDNjUwMUQzMTFFQkE4NDJBMzgzRTk5MDI0MDMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Q0RENzZDNjYwMUQzMTFFQkE4NDJBMzgzRTk5MDI0MDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz56R8RBAAAKz0lEQVR42tSZe4xc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\"","/*module.exports = global.config = {\r\n    URL_SERVICE:'http://localhost:60790/WsService.svc/',//'http://localhost:60790/WsService.svc/',\r\n    URL_WEB_SOCKET:'ws://localhost:1114/server.ashx/'//'ws://localhost/WebSocketServer/server.ashx/'  \r\n}\r\n*/\r\n\r\nmodule.exports = global.config = {\r\n    URL_SERVICE:'http://51.222.131.18/WsJuniorBvq/WsService.svc/',//'http://localhost:60790/WsService.svc/',\r\n    URL_WEB_SOCKET:'ws://51.222.131.18/WsSocketServerJunior/server.ashx/'//'ws://localhost/WebSocketServer/server.ashx/'  \r\n}","import axios from \"axios\";\r\nimport '../config'\r\n\r\nconst getBannerByGame = () => {\r\n    const params = {}\r\n    return axios\r\n      .post(global.config.URL_SERVICE + \"ObtenerBannerSalaEspera\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n        let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n        const result = JSON.parse(itemR);\r\n        if(result.length>0){\r\n          return result;  \r\n        }else{\r\n          return null\r\n        }\r\n      });\r\n  };\r\n\r\nexport default {\r\n    getBannerByGame\r\n};\r\n  ","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from \"react-confirm-alert\"; // Import\r\nimport DataGrid, { Column } from \"@inovua/reactdatagrid-community\";\r\nimport \"@inovua/reactdatagrid-community/base.css\";\r\nimport \"@inovua/reactdatagrid-community/theme/amber-dark.css\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from \"@szhsin/react-menu\";\r\nimport \"@szhsin/react-menu/dist/index.css\";\r\nimport { formatDateTime, formatNumber, generateMessageAdm } from \"./Util\";\r\nimport {getOrdenAct,getOrdenPorUsuarioAct,deleteOrdenAct} from \"../../actions/administracion\";\r\nimport \"../../config\";\r\nimport { NotificationContainer } from \"react-notifications\";\r\n\r\nconst GestionOrden = (props) => {\r\n  \r\n  const { user: currentUser } = useSelector((state) => state.auth);\r\n    const dispatch = useDispatch();\r\n    const {listaOrdenes,listaOrdenesPorUsuario,loadingOrden} = useSelector((state) => state.administracion); \r\n    const {eventoSeleccionado: eventoSeleccionado} = useSelector((state) => state.juego); \r\n    const usuario = useState(props.usuarioId)\r\n    let [loadOrden, setLoadOrden] = useState(false) \r\n    if(loadOrden===false && listaOrdenesPorUsuario===null && eventoSeleccionado!==null){\r\n        setLoadOrden(true)\r\n        dispatch(getOrdenPorUsuarioAct(currentUser[\"EmpresaId\"],eventoSeleccionado,currentUser[\"userId\"],\"0\",\"\",\"\",\"ASC\",\"\"))\r\n        .then(() => {\r\n        })\r\n        .catch(() => {\r\n        });\r\n        \r\n    }\r\n\r\n    let [empresaFilter, setEmpresaFilter] = useState(\"\");   \r\n    let [gridInfor, setGridInfor] = useState([listaOrdenesPorUsuario!==null?listaOrdenesPorUsuario:[]]);     \r\n\r\n    if(listaOrdenesPorUsuario!==null && listaOrdenesPorUsuario!=gridInfor && empresaFilter===\"\")\r\n        setGridInfor(listaOrdenesPorUsuario)\r\n    \r\n    function filterCatalogo(nego,empresaFilter){\r\n        //value => \r\n        setGridInfor(nego.filter(function(item) {\r\n            if (item[\"Empresa\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()) || \r\n                item[\"Inversionista\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase())\r\n                )\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n\r\n    const renderButtonObservaciones= (value) => {\r\n      //console.log(value.data[\"Estado\"])\r\n      return (\r\n        <>\r\n        {value.data[\"Estado\"]===\"A\"?\r\n          <button \r\n            className=\"fas fa-check\"//fas fa-clock\r\n            onClick={\r\n              (e) => {\r\n               // handleClickCertificado(e)\r\n                //setIsLoading(true)\r\n              }\r\n  \r\n            }></button>\r\n            :\r\n            <button \r\n            className=\"fas fa-times\"//fas fa-clock\r\n            onClick={\r\n              (e) => {\r\n               // handleClickCertificado(e)\r\n                //setIsLoading(true)\r\n              }\r\n  \r\n            }></button>}\r\n        </>\r\n      )\r\n    }\r\n    \r\n    let columns = [\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: \"Index\", header: \"ORDEN\", defaultFlex: 1, xdefaultLocked: \"end\",className:\"col\", className:\"numDataGrid\", headerAlign: \"center\" },\r\n        { name: \"Empresa\", header: \"EMPRESA\",defaultFlex: 1, xdefaultLocked: \"end\",className:\"col\", headerAlign: \"center\" },       \r\n        { name: \"AccionesComprar\", header: \"#ACC\", defaultFlex: 1, xdefaultLocked: \"start\",className:\"col\", className:\"numDataGrid\" , headerAlign: \"center\"},\r\n        { name: \"PrecioPagar\", header: \"PRECIO\", defaultFlex: 1, xdefaultLocked: \"end\",className:\"col\", className:\"numDataGrid\",  render: ({ value }) => formatNumber(value), headerAlign: \"center\" },\r\n        /*{ name: \"Inversionista\", header: \"INVERSIONISTA\",defaultFlex: 1, xdefaultLocked: \"end\",className:\"col\", defaultWidth: 100, headerAlign: \"center\" },   */ \r\n        { name: \"Estado\", header: \"ESTADO\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonObservaciones(rowData) , headerAlign: \"center\"},\r\n    ];\r\n\r\n\r\n    const [gridStyle,setGridStyle] = useState({ minHeight: \"calc(100vh/2 - 140px)\", height: \"100%\" });\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps } ) => {\r\n      menuProps.autoDismiss = true\r\n      menuProps.items = [\r\n       \r\n      ]\r\n  }, [])  \r\n\r\n  const updateFiltro = (text) =>{\r\n    setEmpresaFilter(text);\r\n    filterCatalogo(listaOrdenesPorUsuario!==null?listaOrdenesPorUsuario:[],text)\r\n  }\r\n\r\n  useEffect(() => {\r\n    if(props.empresaFilterGen!=\"\"){\r\n      setEmpresaFilter(props.empresaFilterGen)\r\n      updateFiltro(props.empresaFilterGen)\r\n    }\r\n      \r\n  },[props.empresaFilterGen]);\r\n\r\n  useEffect(() => {\r\n    if(props.maximizeRegis)\r\n      setGridStyle({ minHeight: \"100%\", height: \"calc(100vh - 225px)\" })\r\n    else\r\n      setGridStyle({ minHeight: \"calc(100vh/2 - 140px)\", height: \"100%\" })\r\n  }, [props.maximizeRegis])  \r\n\r\n  useEffect(() => {\r\n    if (listaOrdenesPorUsuario !== null){\r\n      if(empresaFilter!=\"\"){\r\n        updateFiltro(props.empresaFilterGen)\r\n      }\r\n      \r\n    }\r\n  }, [listaOrdenesPorUsuario]) \r\n\r\n\r\n\r\n\r\n  return (\r\n    <div>\r\n      <h6 className=\"crypt-bg-head\">ÓRDENES REGISTRADAS<div className='floatright'><div className=\"filterNeg\"><input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n            updateFiltro(e.target.value)            \r\n        }}/> <i className=\"fas fa-search\"></i><i className={[\"fas\",!props.maximizeOrn?\"fa-window-maximize\":\"fa-window-restore\"].join(' ')} onClick={()=> props.setMaximizeRegis(!props.maximizeRegis)}></i></div></div></h6>\r\n      <div className=\"tab-content\">\r\n        <DataGrid\r\n          idProperty=\"OrdenId\"\r\n          style={gridStyle}\r\n          columns={columns}\r\n          enableSelection={true}\r\n          selection={{ mode: \"single\" }}\r\n          dataSource={gridInfor}\r\n         // renderRowContextMenu={props.isDisabled==false? renderRowContextMenu:\"\"}\r\n          theme=\"amber-dark\"\r\n        />\r\n        <div className=\"no-orders text-center\"></div>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(GestionOrden);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from \"react-confirm-alert\"; // Import\r\nimport DataGrid, { Column } from \"@inovua/reactdatagrid-community\";\r\nimport \"@inovua/reactdatagrid-community/base.css\";\r\nimport \"@inovua/reactdatagrid-community/theme/amber-dark.css\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from \"@szhsin/react-menu\";\r\nimport \"@szhsin/react-menu/dist/index.css\";\r\nimport { enableFuncionalityForRole, formatDateTime, formatNumber } from \"./Util\";\r\nimport { getAdjudicacionAct } from \"../../actions/administracion\";\r\nimport \"../../config\";\r\nimport { NotificationContainer } from \"react-notifications\";\r\n\r\nconst Adjudicacion = (props) => {\r\n  const { user: currentUser } = useSelector((state) => state.auth);\r\n  const dispatch = useDispatch();\r\n  const { listaAdjudicacion } = useSelector((state) => state.administracion);\r\n  let [empresaSeleccionada, setEmpresaSeleccionada] = useState(props.selected)\r\n  let [loadAdjudicacion, setLoadAdjudicacion] = useState(false)\r\n  let [listaAdjudicacionEmpresa,setlistaAdjudicacionEmpresa] = useState(null)\r\n  //console.log(props.selected)\r\n  \r\n\r\n  if (loadAdjudicacion === false && props.eventoId !== null) {\r\n\r\n    setLoadAdjudicacion(true)\r\n    if(props.selected>0){\r\n      \r\n      dispatch(getAdjudicacionAct(props.eventoId, props.selected, props.usuarioId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n\r\n    }else{\r\n      //console.log(\"e\")\r\n      dispatch(getAdjudicacionAct(props.eventoId, props.empresaId, props.usuarioId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n\r\n    }\r\n\r\n    \r\n    \r\n  \r\n  }\r\n  if(listaAdjudicacionEmpresa== null){\r\n    setlistaAdjudicacionEmpresa(listaAdjudicacion!=null?listaAdjudicacion.filter(x=> x.EmpresaId===empresaSeleccionada[0]):[[],{\"Count\": 0}])\r\n  }\r\n  //console.log(listaAdjudicacion)\r\n\r\n  let [userFuntion] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"USER_ORDEN\")\r\n      : false\r\n  );\r\n\r\n const filtro = listaAdjudicacion!==undefined && listaAdjudicacion !== null ? listaAdjudicacion.filter(empresa => empresa.EmpresaId == empresaSeleccionada):[[],{\"Count\": 0}]\r\n  //console.log(filtro)\r\n\r\n  let [empresaFilter, setEmpresaFilter] = useState(props.empresaFilterGen);\r\n  //console.log(\"listaAdjudicacion\",listaAdjudicacion)\r\n  let [gridInfor, setGridInfor] = useState([listaAdjudicacion!==undefined && listaAdjudicacion !== null ? listaAdjudicacion : [[],{\"Count\": 0}]]);\r\n\r\n  if (listaAdjudicacion !== null && listaAdjudicacion != gridInfor && empresaFilter === \"\") {\r\n    setGridInfor(listaAdjudicacion)\r\n\r\n  }\r\n\r\n\r\n  function filterCatalogo(nego, empresaFilter) {\r\n\r\n    setGridInfor(nego.filter(function (item) {\r\n      if (item[\"NombreInversionista\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()) || item[\"NombreEmpresa\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase())\r\n      )\r\n        return true;\r\n      return false;\r\n    }))\r\n  }\r\n\r\n\r\n /* let columns = [\r\n    /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },\r\n    { name: \"NombreEmpresa\", header: \"EMPRESA\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", headerAlign: \"center\"},\r\n    { name: \"NumAcciones\", header: \"# ACC\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", className:\"numDataGrid\", headerAlign: \"center\" },\r\n    { name: \"Precio\", header: \"PRECIO\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", className:\"numDataGrid\",  render: ({ value }) => formatNumber(value), headerAlign: \"center\"},\r\n    { name: \"Colegio\", header: \"INSTITUCIÓN\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", headerAlign: \"center\" },\r\n    //{ name: \"NombreInversionista\", header: \"INVERSIONISTA\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", headerAlign: \"center\" },\r\n\r\n  ];*/\r\n  \r\n  let columns = userFuntion === true ? [\r\n\r\n    { name: \"NombreEmpresa\", header: \"EMPRESA\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", headerAlign: \"center\"},\r\n    { name: \"NumAcciones\", header: \"# ACC\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", className:\"numDataGrid\", headerAlign: \"center\" },\r\n    { name: \"Precio\", header: \"PRECIO\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", className:\"numDataGrid\",  render: ({ value }) => formatNumber(value), headerAlign: \"center\"},\r\n    { name: \"NombreInversionista\", header: \"INVERSIONISTA\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", headerAlign: \"center\" },\r\n\r\n  ] : \r\n    [\r\n    { name: \"NombreEmpresa\", header: \"EMPRESA\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", headerAlign: \"center\"},\r\n    { name: \"NumAcciones\", header: \"# ACC\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", className:\"numDataGrid\", headerAlign: \"center\" },\r\n    { name: \"Precio\", header: \"PRECIO\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", className:\"numDataGrid\",  render: ({ value }) => formatNumber(value), headerAlign: \"center\"},\r\n    { name: \"Colegio\", header: \"INSTITUCIÓN\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"col\", headerAlign: \"center\" },\r\n    ]\r\n\r\n  const [gridStyle,setGridStyle] = useState({ minHeight: \"calc(100vh/2 - 100px)\", height: \"100%\" });\r\n  const renderRowContextMenu = useCallback((menuProps, { rowProps }) => {\r\n    menuProps.autoDismiss = true;\r\n  }, []);\r\n\r\n  const filterEmpresa = (text) =>{\r\n    setEmpresaFilter(text);\r\n    filterCatalogo(listaAdjudicacion !== null ? listaAdjudicacion : [], text)\r\n  }\r\n\r\n  useEffect(() => {\r\n    if(props.empresaFilterGen!=\"\"){\r\n      setEmpresaFilter(props.empresaFilterGen)\r\n      filterEmpresa(props.empresaFilterGen)\r\n    }\r\n      \r\n  },[props.empresaFilterGen]);\r\n\r\n  useEffect(() => {\r\n    if(props.maximizeAdj)\r\n      setGridStyle({ minHeight: \"100%\", height: \"calc(100vh - 215px)\" })\r\n    else\r\n      setGridStyle({ minHeight: \"calc(100vh/2 - 140px)\", height: \"100%\" })\r\n  }, [props.maximizeAdj])  \r\n\r\n  useEffect(() => {\r\n    if (listaAdjudicacion !== null){\r\n      if(empresaFilter!=\"\"){\r\n        filterEmpresa(props.empresaFilterGen)\r\n      }\r\n      \r\n    }\r\n  }, [listaAdjudicacion]) \r\n\r\n\r\n\r\n\r\n  return (\r\n    <div>\r\n      <h6 className=\"crypt-bg-head\">ADJUDICACIÓN\r\n        <div className='floatright'>\r\n          <div className=\"filterNeg\">\r\n            <input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n              filterEmpresa(e.target.value)              \r\n            }} /> <i className=\"fas fa-search\"></i><i className={[\"fas\",!props.maximizeAdj?\"fa-window-maximize\":\"fa-window-restore\"].join(' ')} onClick={()=> props.setMaximizeAdj(!props.maximizeAdj)}></i>\r\n          </div>\r\n        </div>\r\n      </h6>\r\n      <div className=\"tab-content\">\r\n        <DataGrid\r\n          idProperty=\"AdjudicacionId\"\r\n          style={gridStyle}\r\n\r\n          columns={columns}\r\n          \r\n          selection={{ mode: \"single\" }}\r\n          dataSource={gridInfor}\r\n          renderRowContextMenu={renderRowContextMenu}\r\n          theme=\"amber-dark\"\r\n        />\r\n        <div className=\"no-orders text-center\"></div>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(Adjudicacion);\r\n","import {useState} from 'react'\r\nexport function UseLocalStorage (key,initialValue){\r\n    const[storedValue,setStoreValue] = useState( () =>{\r\n        try{\r\n            const item = window.localStorage.getItem(key)\r\n            return item?JSON.parse(item):initialValue\r\n        }catch(error){\r\n            return initialValue\r\n        }\r\n    })\r\n    const setValue = value =>{\r\n        try{\r\n            setStoreValue(value)\r\n            window.localStorage.setItem(key,JSON.stringify(value))\r\n        }catch(error){\r\n            console.error(error)\r\n        }\r\n    }\r\n    return [storedValue,setValue]\r\n}","import { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport React, { useCallback, useState } from 'react'\r\nimport DataGrid, { Column } from '@inovua/reactdatagrid-community';\r\nimport { getEventoEmpresaAct, updateImpresionReportAdjudicacion, updateImpresionReportLiquidacion, updateImpresionReportRueda } from \"../../actions/administracion\";\r\nimport fileDownload from 'js-file-download'\r\nimport axios from \"axios\";\r\nimport { formatNumber } from \"./Util\";\r\nimport { Menu, MenuButton, MenuItem } from \"@szhsin/react-menu\";\r\n\r\n\r\nconst ReporteUserRueda = (props) => {\r\n    const dispatch = useDispatch();\r\n    const { listaEventoEmpresa, loadingEventoEmpresa } = useSelector((state) => state.administracion);\r\n    const gridStyle = { minHeight: '300px', height: '100%' }\r\n    let [eventoSeleccionadoId] = useState(props.eventoSeleccionado);\r\n    //console.log(eventoSeleccionadoId);\r\n    let [plantillaFilter, setPlantillaFilter] = useState(\"\");\r\n    let [gridInfor, setGridInfor] = useState([listaEventoEmpresa !== null ? listaEventoEmpresa : []]);\r\n    let [loadEventoEmpresa, setloadEventoEmpresa] = useState(false)\r\n    const [isLoading, setIsLoading] = useState(false);\r\n\r\n    if (loadEventoEmpresa === false) {\r\n        setloadEventoEmpresa(true)\r\n        dispatch(getEventoEmpresaAct(eventoSeleccionadoId))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n    }\r\n\r\n    if (listaEventoEmpresa !== null && listaEventoEmpresa != gridInfor && plantillaFilter === \"\")\r\n        setGridInfor(listaEventoEmpresa)\r\n\r\n    function closeReporte() {\r\n        props.closeReporteClick()\r\n    }\r\n\r\n    const renderButtonI = (value, rowData) => {\r\n        return (\r\n            <>\r\n                <button id={value.data !== null ?\r\n                    value.data[\"EventoId\"] : \"0\"}\r\n                    className=\"fas fa-print\"\r\n                    onClick={(e) => {\r\n                        handleClickReporEvento(e)\r\n                        //setIsLoading(true) \r\n                    }\r\n                    }></button>\r\n            </>\r\n        )\r\n    }\r\n\r\n\r\n    function downloadExcel(file) {\r\n        window.open(file);\r\n    }\r\n    const handleClickReporEvento = (rowData) => {\r\n        let eventoId = parseInt(rowData.target.id)\r\n        let data = listaEventoEmpresa.filter(x => x.EventoId === eventoId)[0]//rowData.cellProps[\"data\"]\r\n        if (data !== null) {\r\n            dispatch(updateImpresionReportRueda(eventoSeleccionadoId))\r\n                .then((url) => {\r\n                    downloadExcel(url)\r\n                    setIsLoading(false);\r\n                })\r\n                .catch(() => {\r\n                });\r\n        }\r\n\r\n    }\r\n\r\n    const handleClickReporLiquidacion = (rowData) => {\r\n        let eventoId = parseInt(rowData.target.id)\r\n        let data = listaEventoEmpresa.filter(x => x.EventoId === eventoId)[0]//rowData.cellProps[\"data\"]\r\n        if (data !== null) {\r\n            dispatch(updateImpresionReportLiquidacion(eventoSeleccionadoId))\r\n                .then((url) => {\r\n                    downloadExcel(url)\r\n                    setIsLoading(false);\r\n                })\r\n                .catch(() => {\r\n                });\r\n        }\r\n\r\n    }\r\n    const handleClickReporAdjudicacion = (rowData) => {\r\n        let eventoId = parseInt(rowData.target.id)\r\n        let data = listaEventoEmpresa.filter(x => x.EventoId === eventoId)[0]//rowData.cellProps[\"data\"]\r\n        if (data !== null) {\r\n            dispatch(updateImpresionReportAdjudicacion(eventoSeleccionadoId))\r\n                .then((url) => {\r\n                    downloadExcel(url)\r\n                    setIsLoading(false);\r\n                })\r\n                .catch(() => {\r\n                });\r\n        }\r\n\r\n    }\r\n\r\n\r\n\r\n    function ReporEventos(eventoIds) {\r\n        let eventoId = parseInt(eventoIds)\r\n        let data = listaEventoEmpresa.filter(x => x.EventoId === eventoId)[0]//rowData.cellProps[\"data\"]\r\n        if (data !== null) {\r\n            dispatch(updateImpresionReportRueda(eventoSeleccionadoId))\r\n                .then((url) => {\r\n                    downloadExcel(url)\r\n                    setIsLoading(false);\r\n                })\r\n                .catch(() => {\r\n                });\r\n        }\r\n    }\r\n    function ReporLiquidacion(eventoIds) {\r\n        let eventoId = parseInt(eventoIds)\r\n        let data = listaEventoEmpresa.filter(x => x.EventoId === eventoId)[0]//rowData.cellProps[\"data\"]\r\n        if (data !== null) {\r\n            dispatch(updateImpresionReportLiquidacion(eventoSeleccionadoId))\r\n                .then((url) => {\r\n                    downloadExcel(url)\r\n                    setIsLoading(false);\r\n                })\r\n                .catch(() => {\r\n                });\r\n        }\r\n    }\r\n    function ReporAdjudicacion(eventoIds) {\r\n        let eventoId = parseInt(eventoIds)\r\n        let data = listaEventoEmpresa.filter(x => x.EventoId === eventoId)[0]//rowData.cellProps[\"data\"]\r\n        if (data !== null) {\r\n            dispatch(updateImpresionReportAdjudicacion(eventoSeleccionadoId))\r\n                .then((url) => {\r\n                    downloadExcel(url)\r\n                    setIsLoading(false);\r\n                })\r\n                .catch(() => {\r\n                });\r\n        }\r\n    }\r\n\r\n\r\n    let columns = [\r\n\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'Institucion', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>COLEGIO</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\", minWidth: 150 },\r\n        { name: 'Nombre', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE COMPAÑÍA</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\", minWidth: 200 },\r\n        { name: 'ValorUnitarioAccion', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>VALOR ACCIÓN</div>), defaultFlex: 1, xdefaultLocked: 'end', className: \"numDataGrid\", render: ({ value }) => formatNumber(value), headerAlign: \"center\", minWidth: 145 },\r\n        { name: 'NumAccionesOferta', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}># ACCIONES</div>), defaultFlex: 1, xdefaultLocked: 'end', className: \"numDataGrid\", headerAlign: \"center\", minWidth: 130 },\r\n        { name: 'Receptor', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>RECEPTOR</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\" },\r\n        { name: 'Gerente', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>GERENTE</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\" },\r\n        { name: 'NombreExponente', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>EXPONENTE</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\", minWidth: 130 },\r\n        /*{ name: \"ImprimirReporte\", header: \"Exportar Reporte\", defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonI(rowData)}*/]\r\n\r\n    return (\r\n        <div className={[\"overlay3\", \"fade-in\"].join(\" \")}>\r\n\r\n            <div className={['loading_cont', (isLoading\r\n                !== true) ? \"displaynone\" : \"\"].join(' ')}><div className='single6'></div></div>\r\n\r\n            <div className=\"borderContent ventanaPortafolio\">\r\n                <div className=\"innerShadow-height-100\">\r\n                    <h2>\r\n                        Reportes\r\n                        <div className=\"subItemCatalogo\">\r\n                            {/*<Menu menuButton={<MenuButton><i className=\"fas fa-cog\"></i></MenuButton>}>\r\n                                <MenuItem onClick={(e) => {\r\n                                    ReporEventos(eventoSeleccionadoId)\r\n                                    setIsLoading(true)\r\n                                }}>Evento</MenuItem>\r\n                                <MenuItem onClick={(e) => {\r\n                                    ReporLiquidacion(eventoSeleccionadoId)\r\n                                    setIsLoading(true)\r\n                                }}>Liquidación</MenuItem>\r\n                                <MenuItem onClick={(e) => {\r\n                                    ReporAdjudicacion(eventoSeleccionadoId)\r\n                                    setIsLoading(true)\r\n                                }}>Adjudicación</MenuItem>\r\n                            </Menu>*/}\r\n                        </div>\r\n                    </h2>\r\n                    <div className=\"titleTable-search\">REPORTE DEL EVENTO\r\n                        <div className='floatright'>\r\n                            <div className=\"filterNeg\">\r\n\r\n                            </div>\r\n   \r\n                            <div className=\"fas fa-file-excel btnReportes\" onClick={(e) => {\r\n                                    handleClickReporEvento(e)\r\n                                    setIsLoading(true)\r\n                                }}> Evento\r\n                            </div>\r\n                            <div className=\"fas fa-file-excel btnReportes\" onClick={(e) => {\r\n                                    handleClickReporLiquidacion(e)\r\n                                    setIsLoading(true)\r\n                                }}> Liquidación\r\n                            </div>\r\n                            <div className=\"fas fa-file-excel btnReportes\" onClick={(e) => {\r\n                                    handleClickReporAdjudicacion(e)\r\n                                    setIsLoading(true)\r\n                                }}> Adjudicación\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <DataGrid\r\n                        idProperty=\"AdjudicacionId\"\r\n                        style={gridStyle}\r\n                        //theme=\"default-light\"\r\n                        columns={columns}\r\n                        selection={{ mode: \"single\" }}\r\n                        dataSource={gridInfor}\r\n                        theme=\"amber-dark\"\r\n                    />\r\n\r\n                    <div className=\"dividerLine\">\r\n\r\n                    </div>\r\n\r\n                    <div className=\"textCenter\">\r\n                        <div className=\"btnCancelar\" onClick={closeReporte}>\r\n                            SALIR\r\n                        </div>\r\n                    </div>\r\n                    <div>\r\n\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    )\r\n}\r\n\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(ReporteUserRueda);\r\n","import React, { useState } from 'react';\r\nimport {\r\n    Menu,\r\n    MenuItem,\r\n    MenuButton,\r\n    SubMenu\r\n} from '@szhsin/react-menu';\r\n\r\nfunction getWindowDimensions() {\r\n    const { innerWidth: width, innerHeight: height } = window;\r\n    return {\r\n        width,\r\n        height\r\n    };\r\n}\r\n\r\n\r\nconst UsuarioActivo = (props) => {\r\n\r\n    //console.log(\"usuario recibidos\", props.userList)\r\n    const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());\r\n    function closeBuscarUsuario() {\r\n        props.closeUsuarioActivoClick()\r\n    }\r\n\r\n\r\n    const [showButton, setShowButton] = useState(false);\r\n    let [userFilter, setUserFilter] = useState(\"\");\r\n    //let [showUserList, setShowUserList] = useState(windowDimensions.width > 650 ? true : false);\r\n    let [showUserList, setShowUserList] = useState(false);\r\n    const [globalValue, setGlobalValue] = React.useState(\"Some initial value\");\r\n\r\n    function hideShowUsers() {\r\n        setShowUserList(!showUserList)\r\n    }\r\n    // setShowButton(true)\r\n    return (\r\n        <div className={\"\"}>\r\n\r\n        \r\n\r\n            <div className=\"panel\">\r\n                \r\n\r\n            <div className={[\"pasoUserRow\", \"userRow\", props.enableUserList === false ? \"displaynone\" : showUserList === false ? \"minimizeUserList\" : \"\"].join(' ')}>\r\n                <div className=\"userRowBtn\" onClick={hideShowUsers}><i className=\"far fa-user\"></i></div>\r\n                <div className=\"innerShadow3\">\r\n                    <h3>USUARIOS CONECTADOS</h3>\r\n                    <div className=\"userConectedTitle\">Usuarios conectados: {props.userList !== null && props.userList !== undefined ? props.userList.length : \"0\"}</div>\r\n                    <div className=\"searchUser\"><input type=\"text\" placeholder=\"Buscar\" value={userFilter} onChange={(e) => {\r\n                        setUserFilter(e.target.value);\r\n                    }} />\r\n                        <div className={[\"userListSidebar\", showUserList === false ? \"overflow-hidden\" : \"\"].join(' ')}>\r\n                        <ul>\r\n                                {\r\n                                    props.userList != null ? props.userList.filter(\r\n                                        value => value[\"d2p1:Value\"][0][\"strNick\"][0].toLowerCase().includes(\r\n                                            userFilter.toLocaleLowerCase())).map((item, i) => {\r\n                                                return <li key={item[\"d2p1:Key\"][0]}>\r\n                                                    <div className=\"userContTxt\">\r\n                                                        <div className=\"userNameList\" title={item[\"d2p1:Value\"][0][\"strPrefix\"][0] + \" - \" + item[\"d2p1:Value\"][0][\"strNick\"][0]}>\r\n                                                            <span>{item[\"d2p1:Value\"][0][\"strPrefix\"][0]}-</span>{item[\"d2p1:Value\"][0][\"strNick\"][0]}</div>\r\n                                                        <div className=\"userLastPlay\">Ingreso</div>\r\n                                                    </div>\r\n                                                    <div className=\"pasoOpcionesUsr userArrowRight\"></div>\r\n                                                </li>\r\n                                            }) : \"\"\r\n                                }\r\n                            </ul>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n\r\n            </div>\r\n\r\n\r\n\r\n                {/*<div className=\"innerShadow-height-100\">\r\n                    <div className=\"textCenter\">\r\n                        <h2>\r\n                            Usuarios conectados\r\n                            <div className=\"subItemCatalogo\"></div>\r\n                        </h2>\r\n                        <div className=\"userConectedTitle\">Usuarios conectados: {props.userList !== null && props.userList !== undefined ? props.userList.length : \"0\"}</div>\r\n                        <div className=\"searchUser\"><input type=\"text\" placeholder=\"Buscar\" value={userFilter} onChange={(e) => {\r\n                            setUserFilter(e.target.value);\r\n                        }} />\r\n                            <i className=\"fas fa-search\"></i>\r\n                        </div>\r\n                        <div className={\"userListSidebar\"}>\r\n                            <ul>\r\n                                {\r\n                                    props.userList != null ? props.userList.filter(\r\n                                        value => value[\"d2p1:Value\"][0][\"strNick\"][0].toLowerCase().includes(\r\n                                            userFilter.toLocaleLowerCase())).map((item, i) => {\r\n                                                return <li key={item[\"d2p1:Key\"][0]}>\r\n                                                    <div className=\"userContTxt\">\r\n                                                        <div className=\"userNameList\" title={item[\"d2p1:Value\"][0][\"strPrefix\"][0] + \" - \" + item[\"d2p1:Value\"][0][\"strNick\"][0]}>\r\n                                                            <span>{item[\"d2p1:Value\"][0][\"strPrefix\"][0]}-</span>{item[\"d2p1:Value\"][0][\"strNick\"][0]}</div>\r\n                                                        <div className=\"userLastPlay\">Ingreso</div>\r\n                                                    </div>\r\n                                                    <div className=\"pasoOpcionesUsr userArrowRight\"></div>\r\n                                                </li>\r\n                                            }) : \"\"\r\n                                }\r\n                            </ul>\r\n                            </div>\r\n                    </div>\r\n                    <div>\r\n\r\n                    </div>\r\n                </div>*/}\r\n            </div>\r\n\r\n            \r\n\r\n\r\n            </div>\r\n\r\n    )\r\n}\r\n\r\nexport default UsuarioActivo","import React, { Component } from \"react\";\r\nimport NumberFormat from 'react-number-format'\r\nimport '../../config'\r\n\r\nclass ItemRentaFija extends Component {    \r\n    constructor(props) {\r\n        super(props);\r\n    }\r\n    render() {\r\n        return (\r\n            <div className=\"valorRentaFija\">        \r\n                <div className=\"imgLogo gris\"><img src={global.config.URL_IMAGE_EMISOR + this.props.item[\"EmisorCodigo\"]  + \".png\"} alt=\"Logo Renta Fija 1\" /></div>\r\n                <div className=\"bold\">{this.props.item[\"Emisor\"]}</div>\r\n                <div className=\"bold\">{this.props.item[\"TipoValorNombre\"]}</div>\r\n                <div className=\"blueStyle\">\r\n                    <NumberFormat value={this.props.item[\"ValorNominal\"]} displayType={'text'} thousandSeparator={true} decimalScale={2} fixedDecimalScale={true} thousandSeparator={','} decimalSeparator={'.'} prefix={\"$ \"}/>\r\n                </div>\r\n                <div className=\"blueStyle\">\r\n                    <NumberFormat value={this.props.item[\"Rendimiento\"]} displayType={'text'} thousandSeparator={true} decimalScale={2} fixedDecimalScale={true} thousandSeparator={','} decimalSeparator={'.'} suffix={\" %\"}/>\r\n                </div>\r\n                <div className=\"blueStyle\">\r\n                    <NumberFormat value={this.props.item[\"PlazoDias\"]} displayType={'text'} thousandSeparator={true} decimalScale={0} fixedDecimalScale={false} thousandSeparator={','} decimalSeparator={'.'} suffix={\" días\"}/>\r\n                </div>\r\n            </div>\r\n        )\r\n    }\r\n}\r\nexport default ItemRentaFija;","import React, { Component } from \"react\";\r\nimport NumberFormat from 'react-number-format'\r\nimport '../../config'\r\n\r\nclass ItemRentaVariable extends Component {    \r\n    constructor(props) {\r\n        super(props);\r\n    }\r\n    getStyleByIndex(index){\r\n        console.log(\"------------\" - index)\r\n        switch(index){\r\n            case 0:\r\n                return \"one\"\r\n            case 1:\r\n                return \"two\"\r\n            case 2:\r\n                return \"three\"\r\n            case 3:\r\n                return \"four\"\r\n            case 4:\r\n                return \"five\"\r\n            case 5:\r\n                return \"six\"\r\n            case 6:\r\n                return \"seven\"\r\n            case 7:\r\n                return \"eight\"\r\n        }\r\n    }\r\n    render() {\r\n        return (\r\n            <div title={this.props.item[\"Emisor\"] + \" - $ \" + this.props.item[\"Precio\"]}>    \r\n                <div className={[\"bar\",this.getStyleByIndex(this.props.index)].join(' ')}><div className=\"percent\">{this.props.item[\"Precio\"]}</div><div className={\"logo\" + (this.props.index + 1)}><img src={global.config.URL_IMAGE_EMISOR + this.props.item[\"EmisorCodigo\"]  + \".png\"} alt=\"Logo Marca 1\" /></div><div className={\"bottomPercent\" + (this.props.index + 1)}>{this.props.item[\"ValorNominal\"]}</div></div>\r\n            </div>\r\n        )\r\n    }\r\n}\r\nexport default ItemRentaVariable;","module.exports = \"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMsaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwMiA3OS4xNjQ0NjAsIDIwMjAvMDUvMTItMTY6MDQ6MTcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozQTA2QTFDMjAxQTQxMUVCOUE5NENGNjQxNzMxMERENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozQTA2QTFDMzAxQTQxMUVCOUE5NENGNjQxNzMxMERENCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNBMDZBMUMwMDFBNDExRUI5QTk0Q0Y2NDE3MzEwREQ0IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNBMDZBMUMxMDFBNDExRUI5QTk0Q0Y2NDE3MzEwREQ0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgG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\"","module.exports = \"data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMsaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwMiA3OS4xNjQ0NjAsIDIwMjAvMDUvMTItMTY6MDQ6MTcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozRDQ0NkRBMTAxQTQxMUVCOEMzRUIyNUNDNTUzODE0NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozRDQ0NkRBMjAxQTQxMUVCOEMzRUIyNUNDNTUzODE0NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNENDQ2RDlGMDFBNDExRUI4QzNFQjI1Q0M1NTM4MTQ3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjNENDQ2REEwMDFBNDExRUI4QzNFQjI1Q0M1NTM4MTQ3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgG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\"","module.exports = __webpack_public_path__ + \"static/media/imgNoticiaBig.b02eba67.jpg\";","module.exports = __webpack_public_path__ + \"static/media/imgNoticiaBig2.d4b45325.jpg\";","module.exports = __webpack_public_path__ + \"static/media/arrowRight.845b6bfd.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrowLeft.40ee1e1c.svg\";","module.exports = __webpack_public_path__ + \"static/media/campana.6cff959f.mp3\";","import React, {useState} from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport Select from 'react-select';\r\nimport Checkbox from 'rc-checkbox';\r\nimport {updateGestionCatalogo,getCatalogosPadre} from \"../../actions/administracion\";\r\nimport \"../../config\";\r\nconst EditarCatalogo = (props) => {\r\n    const dispatch = useDispatch();\r\n    //let [errors,] = useState({\"usuarioIdErr\":\"\"},{\"nombreErr\":\"\"},{\"apellidoErr\":\"\"},{\"cedulaErr\":\"\"},{\"telefonoErr\":\"\"});\r\n    let [errors,setErrors] = useState({\"codigoErr\":\"\"},{\"nombreErr\":\"\"},{\"estadoErr\":\"\"});\r\n    let [codigo,setCodigo] = useState(props.catalogoSeleccionado!==null?props.catalogoSeleccionado[\"Codigo\"]:\"\")\r\n    let [nombre,setNombre] = useState(props.catalogoSeleccionado!==null?props.catalogoSeleccionado[\"Nombre\"]:\"\")\r\n    //checkbox activo\r\n    let [isError,setIsError] = useState(false)\r\n    let [activo, setActivo] = useState(null)\r\n    let [editar, setEditar] = useState(null)\r\n    if(props.catalogoSeleccionado!==null && activo==null){\r\n        if(props.catalogoSeleccionado[\"Activo\"]===true){\r\n            setActivo(1)\r\n        }else{\r\n            setActivo(0)\r\n        }\r\n    }\r\n    if(props.catalogoSeleccionado!==null && editar==null){\r\n        if(props.catalogoSeleccionado[\"Editar\"]===true){\r\n            setEditar(1)\r\n        }else{\r\n            setEditar(0)\r\n        }\r\n    }\r\n    //checkbox \r\n    const handleCheckedActivo = ({ target }) => {\r\n        target.checked===true?setActivo(1):setActivo(0)\r\n    }\r\n    const handleCheckedEditar = ({ target }) => {\r\n        target.checked===true?setEditar(1):setEditar(0)\r\n    }\r\n    function closeEditCat (){\r\n        props.closeCatalogo();\r\n    }\r\n    let cambioEstado=useState(null)\r\n    if(props.catalogoSeleccionado!==null && props.catalogoSeleccionado[\"Estado\"] == \"I\"){\r\n        cambioEstado ={value:'I', label:\"Inactivo\"}\r\n    }\r\n    if(props.catalogoSeleccionado!==null && props.catalogoSeleccionado[\"Estado\"] == \"A\"){\r\n        cambioEstado ={value:'A', label:\"Activo\"}\r\n    }\r\n    if(props.catalogoSeleccionado===null){\r\n        cambioEstado ={value:'A', label:\"Activo\"}\r\n    }\r\n    let [estadoSelect, setEstadoSelect] =  useState(cambioEstado);\r\n    const optionsEstado = [\r\n        { value: 'I', label: 'Inactivo' },\r\n        { value: 'A', label: 'Activo' },\r\n    ] \r\n\r\n    //\r\n    const [isValid, setIsValid] = useState(true);\r\n    const textoRegex = /^[a-zA-Z0-9À-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n    const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n\r\n   // function validateNombre(texto) {\r\n     //   setIsValid(textoRegex.test(texto));\r\n    //}\r\n    //function validateCodigo(texto) {\r\n      //  setIsValid(textoRegex.test(texto));\r\n    //}\r\n    \r\n\r\n    function actualizar(){\r\n\r\n        let valid=true\r\n       \r\n        if(codigo == \"\"){\r\n            errors[\"codigoErr\"] = \"Ingrese código\"\r\n            valid = false\r\n        }\r\n        if(nombre == \"\"){\r\n            errors[\"nombreErr\"] = \"Ingrese nombre\"\r\n            valid = false\r\n        }\r\n        if(!textoRegex.test(nombre)){\r\n            errors[\"nombreErr\"] = \"Ingrese solo letras y números\"\r\n            valid = false\r\n        }\r\n        if(!textoRegex.test(codigo)){\r\n            errors[\"codigoErr\"] = \"Ingrese solo letras  y números\"\r\n            valid = false\r\n        }\r\n\r\n        setErrors(errors)\r\n        setIsError(true)\r\n        if(!valid){\r\n            return\r\n        }\r\n        \r\n        dispatch(updateGestionCatalogo(\r\n            props.catalogoSeleccionado!==null?props.catalogoSeleccionado[\"CatalogoId\"]:\"-1\",\r\n            codigo,\r\n            nombre,\r\n            activo,\r\n            editar,\r\n            0,\r\n            estadoSelect[\"value\"],\r\n            \"0\",\"\",\"\",\"ASC\",\"\"            \r\n            )).then(() => {     \r\n    \r\n             }).catch(() => {}\r\n        );\r\n      \r\n        closeEditCat()\r\n    }\r\n\r\n    \r\n\r\n    return (\r\n<div className='overlay3 fade-in'>\r\n    <div className=\"borderContent ventanaPerfil\">\r\n        <div className=\"innerShadow3\">\r\n            <div id=\"formulario-estilo\">\r\n                <h2>\r\n                    Catálogos               \r\n                </h2>  \r\n                <div className='vertical-scroll customScroll'>               \r\n                    <div className=\"columna-1-formulario-ventana-perfil-edit-evento-user\"> \r\n                        <div className=\"row-form\"> \r\n                            <div className=\"col-30\">             \r\n                                <label>\r\n                                    <i className=\"fas fa-edit\"></i> <span>Código:</span>\r\n                                </label>\r\n                            </div>  \r\n                            <div className=\"col-70\">\r\n                                <input\r\n                                    type=\"text\"\r\n                                    value={codigo}\r\n                                    autocomplete=\"off\"\r\n                                    maxLength={1000}\r\n                                    placeholder=\"Ingresar código\"\r\n                                    className=\"input-form\"\r\n                                    onChange={(e) => {\r\n                                        setCodigo(e.target.value.toUpperCase());\r\n                                        errors[\"codigoErr\"] = \"\";\r\n                                    }}\r\n                                ></input>\r\n                                {errors[\"codigoErr\"]!==\"\"?<div className='camporequerido'>{errors[\"codigoErr\"]}</div>:\"\"}\r\n                                {/*{!isValid && <div className='camporequerido'>Ingrese solo texto</div>}*/}\r\n                            </div> \r\n                        </div> \r\n                        <div className=\"row-form\"> \r\n                            <div className=\"col-30\">             \r\n                                <label>\r\n                                    <i className=\"fas fa-edit\"></i> <span>Nombre:</span>\r\n                                </label>\r\n                            </div>  \r\n                            <div className=\"col-70\">\r\n                                <input\r\n                                    autocomplete=\"off\"\r\n                                    type=\"text\"\r\n                                    value={nombre}\r\n                                    maxLength={1000}\r\n                                    placeholder=\"Ingresar nombre\"\r\n                                    className=\"input-form\"\r\n                                    onChange={(e) => {\r\n                                        setNombre(e.target.value);\r\n                                        errors[\"nombreErr\"] = \"\";\r\n                                        \r\n                                    }}\r\n                                    onBlur = {(e) => {\r\n                                        \r\n                                    }}\r\n                                ></input>\r\n                                {errors[\"nombreErr\"]!==\"\"?<div className='camporequerido'>{errors[\"nombreErr\"]}</div>:\"\"}\r\n                                \r\n\r\n                            </div> \r\n                        </div> \r\n                        <div className=\"row-form\">\r\n                            <div className=\"col-30\">\r\n                                <label>\r\n                                    <i className=\"fas fa-wrench\"></i> <span>Estado:</span>                \r\n                                </label>\r\n                            </div>\r\n                            <div className=\"col-70\">\r\n                                <Select  \r\n                                autocomplete=\"off\"\r\n                                className=\"input-form\" \r\n                                id=\"estadoSelectCombo\"  \r\n                                value={estadoSelect} \r\n                                onChange={(e) => {\r\n                                    setEstadoSelect(e)\r\n                                }} placeholder=\"Seleccione\" options={optionsEstado}/>\r\n                            </div>\r\n                        </div>       \r\n                        <div className=\"row-form\">  \r\n                            <div className=\"col-30\">\r\n                            <label>\r\n                                <i className=\"fas fa-check-square\"></i> <span>Activo:</span>\r\n                            </label>   \r\n                            </div>                         \r\n                            <div className=\"col-70\">\r\n                            <Checkbox \r\n                                right=\"true\" \r\n                                defaultChecked={activo} \r\n                                text=\"Juega renta fija\"\r\n                                onChange={handleCheckedActivo}\r\n                            />    \r\n                            </div>                    \r\n                        </div>\r\n                        <div className=\"row-form\">  \r\n                            <div className=\"col-30\">\r\n                            <label>\r\n                                <i className=\"fas fa-check-square\"></i> <span>Editable:</span>\r\n                            </label>   \r\n                            </div>                         \r\n                            <div className=\"col-70\">\r\n                            <Checkbox \r\n                                right=\"true\" \r\n                                defaultChecked={editar} \r\n                                text=\"editar\"\r\n                                onChange={handleCheckedEditar}\r\n                            />    \r\n                            </div>                    \r\n                        </div>                    \r\n                    </div> \r\n                    \r\n                    <div className=\"textCenter clear-both\">\r\n                        <div className=\"btnGuardar\" onClick={actualizar} >\r\n                        GUARDAR\r\n                        </div>{\" \"}\r\n                        <div className=\"btnCancelar\" onClick={closeEditCat}>\r\n                            SALIR\r\n                        </div>\r\n                    </div>\r\n                </div> \r\n            </div>      \r\n        </div>\r\n    </div>\r\n</div>\r\n    );\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarCatalogo);\r\n","import React, { useState, useEffect,useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport Select from 'react-select';\r\nimport Checkbox from 'rc-checkbox';\r\nimport {updateItemCatalogo} from \"../../actions/administracion\";\r\nimport \"../../config\";\r\nconst EditarGestionItems = (props) => {\r\n    const dispatch = useDispatch();\r\n    let [errors] = useState({\"codigoErr\":\"\"},{\"nombreErr\":\"\"},{\"estadoErr\":\"\"},{\"nombreCortoErr\":\"\"})\r\n\r\n    let [codigo,setCodigo] = useState(props.itemSeleccionado!==null?props.itemSeleccionado[\"Codigo\"]:\"\")\r\n    let [nombre, setNombre] = useState(props.itemSeleccionado!==null?props.itemSeleccionado[\"Nombre\"]:\"\")\r\n    let [nombreCorto, setNombreCorto] = useState(props.itemSeleccionado!==null?props.itemSeleccionado[\"NombreCorto\"]:\"\")\r\n\r\n    //checkbox activo\r\n    let [activo, setActivo] = useState(null)\r\n    let [editar, setEditar] = useState(null)\r\n    if(props.itemSeleccionado!==null && activo==null){\r\n        if(props.itemSeleccionado[\"Activo\"]===true){\r\n            setActivo(1)\r\n        }else{\r\n            setActivo(0)\r\n        }\r\n    }\r\n    if(props.itemSeleccionado!==null && editar==null){\r\n        if(props.itemSeleccionado[\"Editar\"]===true){\r\n            setEditar(1)\r\n        }else{\r\n            setEditar(0)\r\n        }\r\n    }\r\n    //checkbox \r\n    const handleCheckedActivo = ({ target }) => {\r\n        target.checked===true?setActivo(1):setActivo(0)\r\n    }\r\n\r\n    const handleCheckedEditar = ({ target }) => {\r\n        target.checked===true?setEditar(1):setEditar(0)\r\n    }\r\n    function closeEditCat (){\r\n        props.closeEditItem();\r\n    }\r\n\r\n    let cambioEstado=useState(null)\r\n    \r\n    if(props.itemSeleccionado!==null && props.itemSeleccionado[\"Estado\"] == \"I\"){\r\n        cambioEstado ={value:'I', label:\"Inactivo\"}\r\n    }\r\n    if(props.itemSeleccionado!==null && props.itemSeleccionado[\"Estado\"] == \"A\"){\r\n        cambioEstado ={value:'A', label:\"Activo\"}\r\n    }\r\n    if(props.itemSeleccionado===null){\r\n        cambioEstado ={value:'A', label:\"Activo\"}\r\n    }\r\n    let [estadoSelect, setEstadoSelect] =  useState(cambioEstado);\r\n    const optionsEstado = [\r\n        { value: 'A', label: 'Activo' },\r\n        { value: 'I', label: 'Inactivo' },\r\n        \r\n    ] \r\n\r\n    const textoRegex = /^[a-zA-Z0-9À-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n    const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n\r\n    function actualizar(){\r\n      \r\n        let valid=true\r\n       \r\n        if(codigo == \"\"){\r\n            errors[\"codigoErr\"] = \"Ingrese código\"\r\n            valid = false\r\n        }\r\n        if(nombre == \"\"){\r\n            errors[\"nombreErr\"] = \"Ingrese nombre\"\r\n            valid = false\r\n        }\r\n        if(nombreCorto == \"\"){\r\n            errors[\"nombreCortoErr\"] = \"Ingrese nombre corto\"\r\n            valid = false\r\n        }\r\n        if(estadoSelect == null){\r\n            errors[\"estadoErr\"] = \"Ingrese estado\"\r\n            valid = false\r\n        }\r\n        if(!textoRegex.test(nombre)){\r\n            errors[\"nombreErr\"] = \"Ingrese solo letras y números\"\r\n            valid = false\r\n        }\r\n        if(!textoRegex.test(nombreCorto)){\r\n            errors[\"nombreCortoErr\"] = \"Ingrese solo letras  y números\"\r\n            valid = false\r\n        }\r\n       /* if(!textoRegex.test(codigo)){\r\n            errors[\"codigoErr\"] = \"Ingrese solo letras  y números\"\r\n            valid = false\r\n        }*/\r\n        if(!valid){\r\n            return\r\n        }\r\n        dispatch(updateItemCatalogo(\r\n            props.itemSeleccionado!==null?props.itemSeleccionado[\"ItemId\"]:-1,\r\n            codigo,\r\n            nombre,\r\n            activo,\r\n            editar,\r\n            0,\r\n            props.catalogoId,\r\n            nombreCorto,\r\n            estadoSelect[\"value\"],\r\n            \"0\",\"\",\"\",\"ASC\",\"\"            \r\n            )).then(() => {     \r\n                //window.location.reload();\r\n             }).catch(() => {}\r\n        );      \r\n       closeEditCat()\r\n    }\r\n\r\n    //\r\n\r\n    return (\r\n<div className= \"overlay3 fade-in\">\r\n    <div className=\"borderContent ventanaPerfil\">\r\n        <div className=\"innerShadow-height-100\">\r\n            <div id=\"formulario-estilo\">\r\n                <h2>\r\n                    Items            \r\n                </h2>  \r\n                <div className='vertical-scroll customScroll'>               \r\n                    <div className=\"columna-1-formulario-ventana-perfil-edit-evento-user\"> \r\n                        <div className=\"row-form\"> \r\n                            <div className=\"col-30\">             \r\n                                <label>\r\n                                    <i className=\"fas fa-edit\"></i> <span>Código:</span>\r\n                                </label>\r\n                            </div>  \r\n                            <div className=\"col-70\">\r\n                                <input\r\n                                    autocomplete=\"off\"\r\n                                    type=\"text\"\r\n                                    value={codigo}\r\n                                    maxLength={20}\r\n                                    placeholder=\"Ingresar código\"\r\n                                    className=\"input-form\"\r\n                                    onChange={(e) => {\r\n                                        setCodigo(e.target.value.toUpperCase());\r\n                                        errors[\"codigoErr\"] = \"\"\r\n                                    }}\r\n                                ></input>\r\n                                {errors[\"codigoErr\"]!==\"\"?<div className='camporequerido'>{errors[\"codigoErr\"]}</div>:\"\"}\r\n                               \r\n                            </div> \r\n                        </div>  \r\n                        <div className=\"row-form\"> \r\n                            <div className=\"col-30\">             \r\n                                <label>\r\n                                    <i className=\"fas fa-edit\"></i> <span>Nombre:</span>\r\n                                </label>\r\n                            </div>  \r\n                            <div className=\"col-70\">\r\n                                <input\r\n                                    autocomplete=\"off\"\r\n                                    type=\"text\"\r\n                                    value={nombre}\r\n                                    maxLength={50}\r\n                                    placeholder=\"Ingresar nombre\"\r\n                                    className=\"input-form\"\r\n                                    onChange={(e) => {\r\n                                        setNombre(e.target.value);\r\n                                        errors[\"nombreErr\"] = \"\"\r\n                                    }}\r\n                                   \r\n                                ></input>\r\n                                {errors[\"nombreErr\"]!==\"\"?<div className='camporequerido'>{errors[\"nombreErr\"]}</div>:\"\"}\r\n                                \r\n                                \r\n                            </div> \r\n                        </div> \r\n                        <div className=\"row-form\"> \r\n                            <div className=\"col-30\">             \r\n                                <label>\r\n                                    <i className=\"fas fa-edit\"></i> <span>Nombre corto:</span>\r\n                                </label>\r\n                            </div>  \r\n                            <div className=\"col-70\">\r\n                                <input\r\n                                    autocomplete=\"off\"\r\n                                    type=\"text\"\r\n                                    value={nombreCorto}\r\n                                    maxLength={200}\r\n                                    placeholder=\"Ingresar nombre corto\"\r\n                                    className=\"input-form\"\r\n                                    onChange={(e) => {\r\n                                        setNombreCorto(e.target.value);\r\n                                        errors[\"nombreCortoErr\"] = \"\"\r\n                                    }}\r\n                                    \r\n                                ></input>\r\n                                {errors[\"nombreCortoErr\"]!==\"\"?<div className='camporequerido'>{errors[\"nombreCortoErr\"]}</div>:\"\"}\r\n                                \r\n                            </div> \r\n                        </div> \r\n                        <div className=\"row-form\">\r\n                            <div className=\"col-30\">\r\n                                <label>\r\n                                    <i className=\"fas fa-wrench\"></i> <span>Estado:</span>                \r\n                                </label>\r\n                            </div>\r\n                            <div className=\"col-70\">\r\n                                <Select  \r\n                                    autocomplete=\"off\"\r\n                                    className=\"input-form\" id=\"estadoSelectCombo\"  value={estadoSelect} onChange={(e) => {\r\n                                    setEstadoSelect(e)\r\n                                    errors[\"estadoErr\"] = \"\"\r\n                                }} placeholder=\"Seleccione\" options={optionsEstado}/>\r\n                                {errors[\"estadoErr\"]!==\"\"?<div className='camporequerido'>{errors[\"estadoErr\"]}</div>:\"\"}\r\n                            </div>\r\n                        </div> \r\n\r\n                        <div className=\"row-form\">  \r\n                            <div className=\"col-30\">\r\n                            <label>\r\n                                <i className=\"fas fa-check-square\"></i> <span>Activo:</span>\r\n                            </label>   \r\n                            </div>                         \r\n                            <div className=\"col-70\">\r\n                            <Checkbox \r\n                                right=\"true\" \r\n                                defaultChecked={activo} \r\n                                text=\"Juega renta fija\"\r\n                                onChange={handleCheckedActivo}\r\n                            />    \r\n                            </div>                    \r\n                        </div>\r\n                        <div className=\"row-form\">  \r\n                            <div className=\"col-30\">\r\n                            <label>\r\n                                <i className=\"fas fa-check-square\"></i> <span>Editable:</span>\r\n                            </label>   \r\n                            </div>                         \r\n                            <div className=\"col-70\">\r\n                            <Checkbox \r\n                                right=\"true\" \r\n                                defaultChecked={editar} \r\n                                text=\"Juega renta fija\"\r\n                                onChange={handleCheckedEditar}\r\n                            />    \r\n                            </div>                    \r\n                        </div>       \r\n                    </div> \r\n                    \r\n                    <div className=\"textCenter clear-both\">\r\n                        <div className=\"btnGuardar\" onClick={actualizar} >\r\n                        GUARDAR\r\n                        </div>{\" \"}\r\n                        <div className=\"btnCancelar\" onClick={closeEditCat}>\r\n                            SALIR\r\n                        </div>\r\n                    </div>\r\n                </div> \r\n            </div>      \r\n        </div>\r\n    </div>\r\n</div>\r\n    );\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarGestionItems);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid, { Column } from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from '@szhsin/react-menu';\r\nimport { getItemCatalogos, deleteItemCatalogo, setStatusByKey } from \"../../actions/administracion\";\r\nimport EditarItemCatalogo from \"./EditarItemCatalogo\";\r\nimport '@szhsin/react-menu/dist/index.css';\r\nconst GestionItems = (props) => {\r\n    const dispatch = useDispatch();\r\n    const gridStyle = { minHeight: '300px', height: '100%'}\r\n    const { listaItemsPag, loadingItems } = useSelector((state) => state.administracion)\r\n    const [editarItemOpen, setEditarItemOpen] = useState(\"\")\r\n    const [itemSeleccionado, setItemSeleccionado] = useState(null)\r\n    const [catalogoId, setCatalogoId] = useState(null)\r\n    let [loadItems, setLoadItems] = useState(false)\r\n    let itemId = useState(null);\r\n    if (listaItemsPag === null && loadItems === false) {\r\n        setLoadItems(true)\r\n        dispatch(getItemCatalogos(props.catalogoSeleccionado[\"CatalogoId\"], \"0\", \"\", \"\", \"ASC\", \"\"))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n    }\r\n    if (catalogoId === null) {\r\n        setCatalogoId(props.catalogoSeleccionado[\"CatalogoId\"])\r\n        console.log(\"catalogo id=\" + props.catalogoSeleccionado[\"CatalogoId\"])\r\n    }\r\n    let [itemFilter, setItemFilter] = useState(\"\");\r\n    let [gridInfor, setGridInfor] = useState([listaItemsPag !== null ? listaItemsPag : []]);\r\n\r\n    if (listaItemsPag !== null && listaItemsPag != gridInfor && itemFilter === \"\")\r\n        setGridInfor(listaItemsPag)\r\n\r\n    function filterItem(nego, itemFilter) {\r\n        //value => \r\n        setGridInfor(nego.filter(function (item) {\r\n            if (item[\"Codigo\"].toLowerCase().includes(itemFilter.toLocaleLowerCase()) ||\r\n                item[\"Nombre\"].toLowerCase().includes(itemFilter.toLocaleLowerCase()) ||\r\n                item[\"NombreCorto\"].toLowerCase().includes(itemFilter.toLocaleLowerCase()))\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    function closeWindowItem() {\r\n        dispatch(setStatusByKey(\"listaItemsPag\", null))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n        props.closeItemCatalogo()\r\n    }\r\n    function closeEditItem() {\r\n        setEditarItemOpen(\"\")\r\n    }\r\n    function newEditItem() {\r\n        setItemSeleccionado(null)\r\n        setEditarItemOpen(\"EDIT_ITEM\")\r\n    }\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps }) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n            {\r\n                label: 'Editar',\r\n                onClick: () => {\r\n                    setItemSeleccionado(rowProps.data)\r\n                    itemId = rowProps.data[\"ItemId\"]\r\n                    console.log(rowProps.data)\r\n                    setEditarItemOpen(\"EDIT_ITEM\")\r\n\r\n\r\n                }\r\n            },\r\n            {\r\n                label: 'Eliminar',\r\n                onClick: () => {\r\n                    confirmAlert({\r\n                        title: 'Eliminar catálogo',\r\n                        message: '¿Seguro desea eliminar?.',\r\n                        buttons: [\r\n                            {\r\n                                label: 'Si',\r\n                                onClick: () => {\r\n                                    dispatch(deleteItemCatalogo(rowProps.data[\"ItemId\"], rowProps.data[\"CatalogoId\"], \"0\", \"\", \"\", \"ASC\", \"\"))\r\n                                        .then(() => {\r\n\r\n                                        })\r\n                                        .catch(() => { });\r\n\r\n                                }\r\n\r\n                            },\r\n                            {\r\n                                label: 'No',\r\n                                onClick: () => {\r\n\r\n                                }\r\n                            }\r\n                        ]\r\n                    });\r\n                }\r\n            }\r\n        ]\r\n    }, [])\r\n    let columns = [\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'Codigo',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>CÓDIGO</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\" },\r\n        { name: 'Nombre', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE</div>), defaultFlex: 1, xdefaultLocked: 'start', defaultWidth: 400,headerAlign: \"center\" },\r\n        { name: 'NombreCorto', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE CORTO</div>), defaultFlex: 1, xdefaultLocked: 'start', defaultWidth: 400,headerAlign: \"center\" },\r\n\r\n    ]\r\n\r\n    \r\n    return (\r\n        <div className={[\r\n            \"overlay\",\r\n            \"fade-in\"\r\n        ].join(\" \")}>\r\n            <div className={['loading_cont', loadingItems !== true ? \"displaynone\" : \"\"].join(' ')}><div className='single6'></div></div>\r\n            {editarItemOpen == \"EDIT_ITEM\" ? <EditarItemCatalogo closeEditItem={closeEditItem} itemSeleccionado={itemSeleccionado} catalogoId={catalogoId} /> : \"\"}\r\n            <div className=\"borderContent ventanaPortafolio\">\r\n                <div className=\"innerShadow-height-100\">\r\n                    <h2>\r\n                        Item catálogo\r\n                        <div className=\"subItemCatalogo\">\r\n                            <Menu menuButton={<MenuButton>\r\n                                <i className=\"fas fa-cog fa-1x\"></i></MenuButton>}>\r\n                                <MenuItem onClick={newEditItem}><i className=\"fas fa-sign-out-alt\"></i>Nuevo</MenuItem>\r\n                            </Menu>\r\n                        </div>\r\n                    </h2>\r\n                    <div className=\"titleTable-search\">ITEM CATALOGOS\r\n                        <div className='floatright'><div className=\"filterNeg\">\r\n                            <input type=\"text\" placeholder=\"Filtrar\" value={itemFilter} onChange={(e) => {\r\n                                setItemFilter(e.target.value);\r\n                                filterItem(listaItemsPag !== null ? listaItemsPag : [], e.target.value)\r\n                            }} />\r\n                            <i className=\"fas fa-search\"></i>\r\n                        </div>\r\n                        </div>\r\n                    </div>\r\n                    <DataGrid\r\n                        idProperty=\"ItemId\"\r\n                        style={gridStyle}\r\n                        \r\n                        columns={columns}\r\n                        enableSelection={true}\r\n                        selection={{ mode: 'single' }}\r\n                        dataSource={gridInfor}\r\n                        renderRowContextMenu={renderRowContextMenu}\r\n                        theme=\"amber-dark\"\r\n                    />\r\n\r\n                    <div className=\"dividerLine\"></div>\r\n                    <div className=\"textCenter\">\r\n                        <div className=\"btnCancelar\" onClick={closeWindowItem}>\r\n                            SALIR\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n\r\n        </div>\r\n    );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(GestionItems);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid, { Column } from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport { getCatalogos, deleteCatalogo } from \"../../actions/administracion\";\r\nimport EditarCatalogo from \"./EditarCatalogo\";\r\nimport ItemCatalogo from \"./ItemCatalogo\";\r\nimport \"../../config\";\r\n\r\n\r\nconst GestionCatalogo = (props) => {\r\n    const dispatch = useDispatch();\r\n    const gridStyle = { minHeight: '300px', height: '100%' }\r\n    const { listaCatalogosPag, loadingCatalogos } = useSelector((state) => state.administracion);\r\n    let [editCatalogoOpen, setEditCatalogoOpen] = useState(\"\")\r\n    let [itemCatalogoOpen, setItemCatalogoOpen] = useState(\"\")\r\n    let [catalogoSeleccionado, setCatalogoSeleccionado] = useState(\"null\")\r\n    let [loadCatalogs, setLoadCatalogs] = useState(false)\r\n    if (loadCatalogs === false) {\r\n        setLoadCatalogs(true)\r\n        dispatch(getCatalogos(\"0\", \"\", \"\", \"ASC\", \"\"))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n    }\r\n    let [catalogoFilter, setCatalogoFilter] = useState(\"\");\r\n    let [gridInfor, setGridInfor] = useState([listaCatalogosPag !== null ? listaCatalogosPag : []]);\r\n\r\n    if (listaCatalogosPag !== null && listaCatalogosPag != gridInfor && catalogoFilter === \"\")\r\n        setGridInfor(listaCatalogosPag)\r\n\r\n    function filterCatalogo(nego, catalogoFilter) {\r\n        //value => \r\n        setGridInfor(nego.filter(function (item) {\r\n            if (item[\"Codigo\"].toLowerCase().includes(catalogoFilter.toLocaleLowerCase()) ||\r\n                item[\"Nombre\"].toLowerCase().includes(catalogoFilter.toLocaleLowerCase()))\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    function openNewCatalogo() {\r\n        setCatalogoSeleccionado(null)\r\n        setEditCatalogoOpen(\"EDIT\")\r\n    }\r\n    function closeCatalogo() {\r\n        setEditCatalogoOpen(\"\")\r\n    }\r\n    function closeWindowCatalogo() {\r\n        setLoadCatalogs(false)\r\n        props.closeGestionCatalogoClick()\r\n    }\r\n    function closeItemCatalogo() {\r\n        setItemCatalogoOpen(\"\")\r\n    }\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps }) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n            {\r\n                label: 'Items',\r\n                onClick: () => {\r\n                    setCatalogoSeleccionado(rowProps.data)\r\n                    setItemCatalogoOpen(\"ITEM\")\r\n                    console.log(rowProps.data)\r\n                }\r\n            },\r\n            {\r\n                label: 'Editar',\r\n                onClick: () => {\r\n                    setCatalogoSeleccionado(rowProps.data)\r\n                    setEditCatalogoOpen(\"EDIT\")\r\n                    console.log(rowProps.data)\r\n                }\r\n            },\r\n            {\r\n                label: 'Eliminar',\r\n                onClick: () => {\r\n                    confirmAlert({\r\n                        title: 'Eliminar catálogo',\r\n                        message: '¿Seguro desea eliminar?.',\r\n                        buttons: [\r\n                            {\r\n                                label: 'Si',\r\n                                onClick: () => {\r\n                                    dispatch(deleteCatalogo(rowProps.data[\"CatalogoId\"]))\r\n                                        .then(() => {\r\n\r\n                                        })\r\n                                        .catch(() => { });\r\n                                }\r\n                            },\r\n                            {\r\n                                label: 'No',\r\n                                onClick: () => {\r\n\r\n                                }\r\n                            }\r\n                        ]\r\n                    });\r\n                }\r\n            }\r\n        ]\r\n    }, [])\r\n    function formatEstado(estado) {\r\n        switch (estado) {\r\n            case \"A\":\r\n                return \"ACTIVO\"\r\n        }\r\n        return \"INACTIVO\"\r\n    }\r\n    //console.log(listaCatalogosPag)\r\n    let columns = [\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'Codigo', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>CÓDIGO</div>), defaultFlex: 1, xdefaultLocked: 'end' , headerAlign: \"center\"},\r\n        { name: 'Nombre', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE</div>), defaultFlex: 1, xdefaultLocked: 'start', defaultWidth: 400,headerAlign: \"center\" },\r\n        { name: 'Estado', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ESTADO</div>), defaultFlex: 1, xdefaultLocked: 'end', render: ({ data }) => formatEstado(data[\"Estado\"]), headerAlign: \"center\" },\r\n    ]\r\n    return (\r\n        <div\r\n            className={[\r\n                \"overlay3\",\r\n                \"fade-in\"\r\n            ].join(\" \")}\r\n        >\r\n\r\n            <div className={['loading_cont', loadingCatalogos !== true ? \"displaynone\" : \"\"].join(' ')}><div className='single6'></div></div>\r\n            {editCatalogoOpen === \"EDIT\" ? <EditarCatalogo closeCatalogo={closeCatalogo} catalogoSeleccionado={catalogoSeleccionado} /> : \"\"}\r\n            <div className=\"borderContent ventanaPortafolio\">\r\n                <div className=\"innerShadow-height-100\">\r\n                    <h2>\r\n                        Catálogos\r\n                        <div className=\"subItemCatalogo\">\r\n                            <Menu menuButton=\r\n                                {<MenuButton><i className=\"fas fa-cog fa-1x\"></i></MenuButton>}>\r\n                                <MenuItem onClick={openNewCatalogo}><i className=\"fas fa-sign-out-alt\"></i>Nuevo</MenuItem>\r\n                            </Menu>\r\n                        </div>\r\n                    </h2>\r\n                    <div className=\"titleTable-search\">CATÁLOGOS\r\n                        <div className='floatright'>\r\n                            <div className=\"filterNeg\">\r\n                                <input \r\n                                autocomplete=\"off\"\r\n                                type=\"text\" \r\n                                placeholder=\"Filtrar\"\r\n                                value={catalogoFilter} \r\n                                onChange={(e) => {\r\n                                    setCatalogoFilter(e.target.value);\r\n                                    filterCatalogo(listaCatalogosPag !== null ? listaCatalogosPag : [], e.target.value)\r\n                                }} />\r\n                                <i className=\"fas fa-search\"></i>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <DataGrid\r\n                        idProperty=\"CatalogoId\"\r\n                        style={gridStyle}\r\n                        columns={columns}\r\n                        enableSelection={true}\r\n                        selection={{ mode: 'single' }}\r\n                        dataSource={gridInfor}\r\n                        renderRowContextMenu={renderRowContextMenu}\r\n                        theme=\"amber-dark\"\r\n                    />\r\n                    <div className=\"dividerLine\"></div>\r\n                    <div className=\"textCenter\">\r\n                        <div className=\"btnCancelar\" onClick={props.closeCatalogosClick}>\r\n                            SALIR\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            {itemCatalogoOpen === \"ITEM\" ? <ItemCatalogo closeItemCatalogo={closeItemCatalogo} catalogoSeleccionado={catalogoSeleccionado} /> : \"\"}\r\n\r\n        </div>\r\n    );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(GestionCatalogo);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport Select from \"react-select\";\r\nimport NumberFormat from 'react-number-format';\r\nimport DatePicker from \"react-datepicker\";\r\nimport {\r\n    updateEmpresaAct,\r\n    getInstitucionesEmpresaAct,\r\n    getUsuariosAct,\r\n} from \"../../actions/administracion\";\r\nimport \"../../config\";\r\nimport UploadFile from \"./UploadFile\";\r\nimport UploadFileNew from \"./UploadFileNew\";\r\nimport { NotificationContainer, NotificationManager } from \"react-notifications\";\r\nimport { generateMessageAdm } from \"./Util\";\r\nconst EditarEmpresa = (props) => {\r\n    console.log(props.empresaSeleccionada)\r\n    const dispatch = useDispatch();\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n    const [image, setImage] = useState(\"\");\r\n    let [errors, setErrors] = useState(\r\n        { \"nombreErr\": \"\" },\r\n        { \"institucionErr\": \"\" },\r\n        { usuarioErr: \"\" },\r\n        { emailErr: \"\" },\r\n        { gerenteErr: \"\" },\r\n        { logoErr: \"\" },\r\n        { operadorErr: \"\" },\r\n        { direccionErr: \"\" },\r\n        { receptorErr: \"\" },\r\n        { numAccionesOferta: \"\" },\r\n        { comisionOperadorErr: \"\" },\r\n        { comisionBvqErr: \"\" },\r\n        { porcentajeTechoErr: \"\" },\r\n        { precioInicialPorAccionErr: \"\" },\r\n        { valorUnitarioAccionErr: \"\" },\r\n        { valorUnitarioAccionErr: \"\" },\r\n        { montoMinMejoraPrecioErr: \"\" },\r\n        { capitalPagadoErr: \"\" },\r\n        { valorErr: \"\" },\r\n        { divididoErr: \"\" }\r\n        );\r\n\r\n    let [empresaId, setEmpresaId] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"EmpresaId\"] : \"-1\");\r\n    let [nombre, setNombre] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Nombre\"] : \"\");\r\n    let [logo, setLogo] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Logo\"] : \"\");\r\n\r\n    // console.log(\"logo traido y nuevo\", logo)\r\n    let [direccion, setDireccion] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Direccion\"] : \"\");\r\n    let [institucion, setInstitucion] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Institucion\"] : \"\");\r\n    let [email, setEmail] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Email\"] : \"\");\r\n    let [gerente, setGerente] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Gerente\"] : \"\");\r\n    let [operador, setOperador] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Operador\"] : \"\");\r\n    let [receptor, setReceptor] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Receptor\"] : \"\");\r\n    let [numAccionesOferta, setNumAccionesOferta] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"NumAccionesOferta\"] : \"\");\r\n    let [precioInicialPorAccion, setPrecioInicialPorAccion] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"PrecioInicialPorAccion\"] : \"\");\r\n    let [valorUnitarioAccion, setValorUnitarioAccion] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"ValorUnitarioAccion\"] : \"\");\r\n    let [montoMinMejoraPrecio, setMontoMinMejoraPrecio] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"MontoMinMejoraPrecio\"] : \"\");\r\n    let [comisionOperador, setComisionOperador] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"ComisionOperador\"] : \"\");\r\n    let [comisionBVQ, setComisionBVQ] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"ComisionBVQ\"] : \"\");\r\n    let [porcentajePrecioTechoMax, setPorcentajePrecioTechoMax] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"PorcentajePrecioTechoMax\"] : \"\");\r\n    let [fechaConstitucion, setFechaConstitucion] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"FechaConstitucion\"] : new Date());\r\n    let [fechaInscripcion, setFechaInscripcion] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"FechaInscripcion\"] : new Date());\r\n    let [isError, setIsError] = useState(false)\r\n\r\n    let [capitalPagado, setCapitalPagado] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"CapitalPagado\"] : \"\");\r\n    let [divididoEn, setDivididoEn] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"DivididoEn\"] : \"\");\r\n    let [valor, setValor] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Valor\"] : \"\");\r\n\r\n    const { listaInstitucionEmpresa } = useSelector(\r\n        (state) => state.administracion\r\n    );\r\n    let [loadInstitucion, setLoadInstitucion] = useState(false);\r\n    let [loadUsuarios, setLoadUsuarios] = useState(false);\r\n    if (listaInstitucionEmpresa === null && loadInstitucion === false) {\r\n        setLoadInstitucion(true);\r\n        dispatch(getInstitucionesEmpresaAct())\r\n            .then(() => { })\r\n            .catch(() => { });\r\n    }\r\n\r\n    let cambioEstado = useState(null);\r\n    if (\r\n        props.empresaSeleccionada !== null &&\r\n        props.empresaSeleccionada[\"Estado\"] == \"I\"\r\n    ) {\r\n        cambioEstado = { value: \"I\", label: \"Inactivo\" };\r\n    }\r\n    if (\r\n        props.empresaSeleccionada !== null &&\r\n        props.empresaSeleccionada[\"Estado\"] == \"A\"\r\n    ) {\r\n        cambioEstado = { value: \"A\", label: \"Activo\" };\r\n    }\r\n    if (props.empresaSeleccionada === null) {\r\n        cambioEstado = { value: \"A\", label: \"Activo\" };\r\n    }\r\n    let [estadoSelect, setEstadoSelect] = useState(cambioEstado);\r\n    const optionsEstado = [\r\n        { value: \"I\", label: \"Inactivo\" },\r\n        { value: \"A\", label: \"Activo\" },\r\n    ];\r\n    function closeEditEmpresa() {\r\n        props.closeEditEmpresa();\r\n    }\r\n\r\n    // Agg\r\n    const textoRegex = /^[a-zA-Z0-9À-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n    const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n\r\n    function actualizar() {\r\n        let valid = true;\r\n\r\n        //let err = errors;\r\n        if (nombre == \"\") {\r\n            errors[\"nombreErr\"] = \"Ingrese nombre\";\r\n            valid = false;\r\n        }\r\n        if (!textoRegex.test(nombre)) {\r\n            errors[\"nombreErr\"] = \"Ingrese solo letras\"\r\n            valid = false\r\n        }\r\n\r\n        if (institucion == \"\") {\r\n            errors[\"institucionErr\"] = \"Ingrese institución\";\r\n            valid = false;\r\n        }\r\n        if (!nombreRegex.test(institucion)) {\r\n            errors[\"institucionErr\"] = \"Ingrese solo letras y números\"\r\n            valid = false\r\n        }\r\n        //if (logo == \"\") {\r\n        //  errors[\"logoErr\"] = \"Ingrese logo\";\r\n        //valid = false;\r\n        //}\r\n        //if (direccion == \"\") {\r\n          //  errors[\"direccionErr\"] = \"Ingrese dirección\";\r\n            //valid = false;\r\n       // }\r\n\r\n        if (email == \"\" || !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(email)) {\r\n            errors[\"emailErr\"] = \"Ingrese mail (example@example.com)\";\r\n            valid = false;\r\n        }\r\n        if (gerente == \"\") {\r\n            errors[\"gerenteErr\"] = \"Ingrese gerente\";\r\n            valid = false;\r\n        }\r\n        if (!nombreRegex.test(gerente)) {\r\n            errors[\"gerenteErr\"] = \"Ingrese solo letras\";\r\n            valid = false;\r\n        }\r\n        if (operador == \"\") {\r\n            errors[\"operadorErr\"] = \"Ingrese operador\";\r\n            valid = false;\r\n        }\r\n\r\n        if (!nombreRegex.test(operador)) {\r\n            errors[\"operadorErr\"] = \"Ingrese solo letras\";\r\n            valid = false;\r\n        }\r\n        if (receptor == \"\") {\r\n            errors[\"receptorErr\"] = \"Ingrese receptor\";\r\n            valid = false;\r\n        }\r\n        if (!nombreRegex.test(receptor)) {\r\n            errors[\"receptorErr\"] = \"Ingrese solo letras\";\r\n            valid = false;\r\n        }\r\n        if (numAccionesOferta == \"\") {\r\n            errors[\"numAccionesOfertaErr\"] = \"Ingrese número de acciones\";\r\n            valid = false;\r\n        }\r\n\r\n        setErrors(errors)\r\n        setIsError(true)\r\n        if (!valid) {\r\n            return;\r\n        }\r\n        if (fechaConstitucion == null) {\r\n            NotificationManager.error(\r\n                \"Ingrese fecha de constitución\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n            return\r\n        }\r\n        if (fechaInscripcion == null) {\r\n            NotificationManager.error(\r\n                \"Ingrese fecha de inscripción\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n            return\r\n        }\r\n\r\n        if (precioInicialPorAccion <= 0) {\r\n            NotificationManager.error(\r\n                \"Ingrese precio inicial por acción válido\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n            return\r\n        }\r\n        if (precioInicialPorAccion==\"\") {\r\n            NotificationManager.error(\r\n                \"Ingrese precio inicial por acción\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n            return\r\n        }\r\n        \r\n        if (valorUnitarioAccion == \"\" || valorUnitarioAccion == 0.00) {\r\n            NotificationManager.error(\r\n                \"Ingrese valor de cada acción\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n        }\r\n\r\n        \r\n        if (montoMinMejoraPrecio == \"\" || montoMinMejoraPrecio == 0.00) {\r\n            NotificationManager.error(\r\n                \"Ingrese monto min. para mejorar precio\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n        }\r\n        \r\n        /*if ( comisionOperador ==\"\" ) {\r\n            errors[\"comisionOperadorErr\"] = \"Ingrese comisión operador\";\r\n            valid = false;\r\n        }*/\r\n       /* if (comisionOperador == \"\") {\r\n            NotificationManager.error(\r\n                \"Ingrese comisión operador\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n\r\n        }*/\r\n        /*if (comisionOperador < 0) {\r\n            NotificationManager.error(\r\n                \"Ingrese comisión operador\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n\r\n        }*/\r\n        /*if (comisionBVQ ==\"\"  ) {\r\n            errors[\"comisionBvqErr\"] = \"Ingrese comisión BVQ\";\r\n            valid = false;\r\n        }*/\r\n        /*if (comisionBVQ == \"\") {\r\n            NotificationManager.error(\r\n                \"Ingrese comisión BVQ\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n\r\n        }*/\r\n        if (porcentajePrecioTechoMax ==\"\" || porcentajePrecioTechoMax == 0) {\r\n            NotificationManager.error(\r\n                \"Ingrese porcentaje techo\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n        }\r\n        \r\n\r\n        if (capitalPagado == \"\") {\r\n            NotificationManager.error(\r\n                \"Ingrese capital pagado\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n        }\r\n        if (divididoEn == \"\") {\r\n            NotificationManager.error(\r\n                \"Ingrese la cantidad dividida de las acciones\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n        }\r\n        if (valor == \"\") {\r\n            NotificationManager.error(\r\n                \"Ingrese el valor del capital\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n        }\r\n\r\n        \r\n\r\n        dispatch(\r\n            updateEmpresaAct(\r\n                empresaId,\r\n                nombre,\r\n                logo,\r\n                direccion,\r\n                estadoSelect[\"value\"],\r\n                currentUser[\"userId\"],\r\n                institucion,\r\n                email,\r\n                gerente,\r\n                operador,\r\n                receptor,\r\n                numAccionesOferta,\r\n                precioInicialPorAccion,\r\n                valorUnitarioAccion,\r\n                montoMinMejoraPrecio,\r\n                comisionOperador,\r\n                comisionBVQ,\r\n                porcentajePrecioTechoMax,\r\n                fechaConstitucion,\r\n                fechaInscripcion,\r\n                capitalPagado,\r\n                divididoEn,\r\n                valor,\r\n                \"0\",\r\n                \"\",\r\n                \"\",\r\n                \"ASC\",\r\n                \"\"\r\n            )\r\n        )\r\n            .then(() => {\r\n                //window.location.reload();\r\n                //agg\r\n\r\n            })\r\n            .catch(() => {\r\n\r\n            });\r\n        props.sendMessage(generateMessageAdm(\"ACTUALIZAR_ORDEN\"))\r\n\r\n        closeEditEmpresa();\r\n        console.log(\"empresaId:\" + empresaId)\r\n        console.log(\"nombre:\" + nombre)\r\n        console.log(\"logo:\" + logo)\r\n        console.log(\"direccion:\" + direccion)\r\n        console.log(\"estado:\" + estadoSelect[\"value\"])\r\n        console.log(\"usuario:\" + currentUser[\"userId\"])\r\n        console.log(\"institucion:\" + institucion)\r\n        console.log(\"emai\" + email)\r\n        console.log(\"gerente \" + gerente)\r\n        console.log(\"operador \" + operador)\r\n        console.log(\"receptor \" + receptor)\r\n        console.log(\"num acc oferta \" + numAccionesOferta)\r\n        console.log(\"precio inicial accion\" + precioInicialPorAccion)\r\n        console.log(\"valor unt accion\" + valorUnitarioAccion)\r\n        console.log(\"monto min mejora precio \" + montoMinMejoraPrecio)\r\n        console.log(\"comision op \" + comisionOperador)\r\n        console.log(\"comision BVQ \" + comisionBVQ)\r\n        console.log(\"pocentaje techo precio mx \" + porcentajePrecioTechoMax)\r\n\r\n    }\r\n\r\n    {/*Para agregar logo*/ }\r\n    let [uploadId, setUploadId] = useState(\r\n        currentUser !== null ? currentUser[\"UploadId\"] : \"-1\"\r\n    );\r\n\r\n    let [fileNombre, setFileNombre] = useState(\r\n        currentUser !== null ? currentUser[\"fileNombre\"] : \"\"\r\n    );\r\n\r\n    let [fileNombreUrl, setFileNombreUrl] = useState(\r\n        currentUser !== null ? currentUser[\"fileNombreUrl\"] : \"\"\r\n    );\r\n\r\n    function reloadDocuments(file) {\r\n        const result = JSON.parse(file);\r\n        setUploadId(result[\"UploadId\"]);\r\n        setFileNombre(result[\"fileNombre\"]);\r\n        setFileNombreUrl(result[\"fileNombreUrl\"]);\r\n    }\r\n\r\n    const convertirBase64 = (files) => {\r\n\r\n        // agg\r\n        // const imageFile = files[0];\r\n        // const imageFileSize = imageFile.size;\r\n        // const imageFileType = imageFile.type;\r\n        // if (imageFileSize > 5000) {\r\n\r\n        //   NotificationManager.error(\r\n        //     \"Error. El archivo es demasiado grande. Selecciona una imagen PNG menor a 5KB.\",\r\n        //   \"Sistema\",\r\n        // 5000,\r\n        // () => { },\r\n        // 4\r\n        //);\r\n        // return\r\n        //}\r\n        //\r\n\r\n        Array.from(files).forEach(file => {\r\n            const reader = new FileReader();\r\n            reader.readAsDataURL(file);\r\n            reader.onload = () => {\r\n                let arrayImage = []\r\n                let base = reader.result;\r\n                arrayImage = base.split(',');\r\n                setLogo(arrayImage[1])\r\n                //setImage(arrayAux[1]);\r\n\r\n            }\r\n        })\r\n    }\r\n\r\n    return (\r\n        <div className=\"overlay3 fade-in\">\r\n            <div className=\"borderContent ventanaPortafolio\">\r\n                <div className=\"innerShadow3\">\r\n                    <div id=\"formulario-estilo\">\r\n                        <div className=\"editEmpresa\">\r\n                            <h2>Empresa</h2>\r\n                            <div className=\"vertical-scroll customScroll\">\r\n                                <div id=\"columna-1-formulario\">\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i><span> Nombre:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <input\r\n                                                autocomplete=\"off\"\r\n                                                type=\"text\"\r\n                                                value={nombre}\r\n                                                maxLength={1000}\r\n                                                placeholder=\"Ingresar Nombre\"\r\n                                                className=\"input-form\"\r\n                                                onChange={(e) => {\r\n                                                    setNombre(e.target.value);\r\n                                                    errors[\"nombreErr\"] = \"\"\r\n                                                }}\r\n                                            ></input>\r\n                                            {errors[\"nombreErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"nombreErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Institución:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <input\r\n                                                autocomplete=\"off\"\r\n                                                type=\"text\"\r\n                                                value={institucion}\r\n                                                maxLength={1000}\r\n                                                placeholder=\"Ingresar Institución\"\r\n                                                className=\"input-form\"\r\n                                                onChange={(e) => {\r\n                                                    setInstitucion(e.target.value);\r\n                                                    errors[\"institucionErr\"] = \"\"\r\n                                                }}\r\n                                            ></input>\r\n                                            {errors[\"institucionErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"institucionErr\"]}</div> : \"\"}\r\n                                        </div>\r\n\r\n                                    </div>\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Logo:</span>\r\n                                            </label>\r\n                                        </div>\r\n\r\n                                        <div className=\"col-70\">\r\n\r\n                                            <input\r\n                                                type=\"file\"\r\n                                                className=\"boxStyleSelect\"\r\n                                                accept=\".png\"\r\n                                                onChange={(e) => convertirBase64(e.target.files)}></input>\r\n                                            <div className=\"boxStyleSelect\">Selecciona el archivo para subirlo</div>\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Estado:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <Select\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                id=\"estadoSelectCombo\"\r\n                                                value={estadoSelect}\r\n                                                onChange={(e) => {\r\n                                                    setEstadoSelect(e)\r\n                                                }} placeholder=\"Seleccione\" options={optionsEstado} />\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Dirección:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <textarea\r\n                                                autocomplete=\"off\"\r\n                                                className=\"direccionEmpresa\"\r\n                                                type=\"text\"\r\n                                                value={direccion}\r\n                                                maxLength={5000}\r\n                                                style={{ height: '30px' }}\r\n                                                placeholder=\"Dirección\"\r\n\r\n                                                onChange={(e) => {\r\n                                                    setDireccion(e.target.value);\r\n                                                    errors[\"direccionErr\"] = \"\"\r\n                                                }}\r\n\r\n                                            ></textarea>\r\n                                            {errors[\"direccionErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"direccionErr\"]}</div> : \"\"}\r\n\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Email:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <input\r\n                                                autocomplete=\"off\"\r\n                                                type=\"email\"\r\n                                                value={email}\r\n                                                maxLength={1000}\r\n                                                placeholder=\"Ingresar Email\"\r\n                                                className=\"input-form\"\r\n                                                onChange={(e) => {\r\n                                                    setEmail(e.target.value);\r\n                                                    errors[\"emailErr\"] = \"\"\r\n                                                }}\r\n                                            ></input>\r\n                                            {errors[\"emailErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"emailErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Gerente:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <input\r\n                                                autocomplete=\"off\"\r\n                                                type=\"text\"\r\n                                                value={gerente}\r\n                                                maxLength={1000}\r\n                                                placeholder=\"Ingresar gerente\"\r\n                                                className=\"input-form\"\r\n                                                onChange={(e) => {\r\n                                                    setGerente(e.target.value);\r\n                                                    errors[\"gerenteErr\"] = \"\"\r\n                                                }}\r\n                                            ></input>\r\n                                            {errors[\"gerenteErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"gerenteErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Operador:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <input\r\n                                                autocomplete=\"off\"\r\n                                                type=\"text\"\r\n                                                value={operador}\r\n                                                maxLength={1000}\r\n                                                placeholder=\"Ingresar operador\"\r\n                                                className=\"input-form\"\r\n                                                onChange={(e) => {\r\n                                                    setOperador(e.target.value);\r\n                                                    errors[\"operadorErr\"] = \"\"\r\n                                                }}\r\n                                            ></input>\r\n                                            {errors[\"operadorErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"operadorErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Receptor:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <input\r\n                                                autocomplete=\"off\"\r\n                                                type=\"text\"\r\n                                                value={receptor}\r\n                                                maxLength={1000}\r\n                                                placeholder=\"Ingresar receptor\"\r\n                                                className=\"input-form\"\r\n                                                onChange={(e) => {\r\n                                                    setReceptor(e.target.value);\r\n                                                    errors[\"receptorErr\"] = \"\"\r\n                                                }}\r\n                                            ></input>\r\n                                            {errors[\"receptorErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"receptorErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                                <div id=\"columna-2-formulario\">\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Fecha Constitución:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <DatePicker\r\n                                                selected={Date.parse(fechaConstitucion)}\r\n                                                onChange={date => setFechaConstitucion(date)}\r\n                                                showMonthDropdown\r\n                                                showYearDropdown\r\n                                                dateFormat=\"dd/MM/yyyy\"\r\n                                                className=\"input-form\"\r\n                                            />\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Fecha Inscripción:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <DatePicker\r\n                                                selected={Date.parse(fechaInscripcion)}\r\n                                                onChange={date => setFechaInscripcion(date)}\r\n                                                showMonthDropdown\r\n                                                showYearDropdown\r\n                                                dateFormat=\"dd/MM/yyyy\"\r\n                                                className=\"input-form\"\r\n                                            />\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Num. acciones oferta:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"new-password\"\r\n                                                className=\"input-form\"\r\n                                                value={numAccionesOferta}\r\n                                                maxLength={5}\r\n                                                placeholder=\"Ingresar número de acciones\"\r\n                                                allowNegative={false}\r\n                                                thousandSeparator={false}\r\n                                                decimalScale={0}\r\n                                                fixedDecimalScale={false}\r\n                                                decimalSeparator={'.'}\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setNumAccionesOferta(value);\r\n                                                    errors[\"numAccionesOfertaErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"numAccionesOfertaErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"numAccionesOfertaErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Precio inicial por acción:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                value={precioInicialPorAccion}\r\n                                                maxLength={5}\r\n                                                allowNegative={false}\r\n                                                placeholder=\"Ingresar precio inicial por acción\"\r\n                                                thousandSeparator={false}\r\n                                                decimalScale={2}\r\n                                                fixedDecimalScale={true}\r\n                                                decimalSeparator={'.'}\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setPrecioInicialPorAccion(value);\r\n                                                    errors[\"precioInicialPorAccionErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"precioInicialPorAccionErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"precioInicialPorAccionErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Valor unitario por acción:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                value={valorUnitarioAccion}\r\n                                                maxLength={5}\r\n                                                allowNegative={false}\r\n                                                placeholder=\"Ingresar valor unitario por acción\"\r\n                                                thousandSeparator={false}\r\n                                                decimalScale={2}\r\n                                                fixedDecimalScale={true}\r\n                                                decimalSeparator={'.'}\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setValorUnitarioAccion(value);\r\n                                                    errors[\"valorUnitarioAccionErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"valorUnitarioAccionErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"valorUnitarioAccionErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Monto min. para mejorar precio:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                value={montoMinMejoraPrecio}\r\n                                                maxLength={5}\r\n                                                placeholder=\"Ingresar monto mínimo\"\r\n                                                allowNegative={false}\r\n                                                thousandSeparator={false}\r\n                                                decimalScale={2}\r\n                                                fixedDecimalScale={true}\r\n                                                decimalSeparator={'.'}\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setMontoMinMejoraPrecio(value);\r\n                                                    errors[\"montoMinMejoraPrecioErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"montoMinMejoraPrecioErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"montoMinMejoraPrecioErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Comisión operador:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                value={comisionOperador}\r\n                                                maxLength={5}\r\n                                                allowNegative={false}\r\n                                                placeholder=\"Ingresar comisión operador\"\r\n                                                thousandSeparator={false}\r\n                                                decimalScale={2}\r\n                                                fixedDecimalScale={true}\r\n                                                decimalSeparator={'.'}\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setComisionOperador(value);\r\n                                                    errors[\"comisionOperadorErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"comisionOperadorErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"comisionOperadorErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Comisión BVQ:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                value={comisionBVQ}\r\n                                                maxLength={5}\r\n                                                allowNegative={false}\r\n                                                placeholder=\"Ingresar comisión BVQ\"\r\n                                                thousandSeparator={false}\r\n                                                decimalScale={2}\r\n                                                fixedDecimalScale={true}\r\n                                                decimalSeparator={'.'}\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setComisionBVQ(value);\r\n                                                    errors[\"comisionBvqErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"comisionBvqErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"comisionBvqErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Porcentaje de techo:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                value={porcentajePrecioTechoMax}\r\n                                                maxLength={5}\r\n                                                allowNegative={false}\r\n                                                placeholder=\"Ingresar porcentaje de techo\"\r\n                                                thousandSeparator={false}\r\n\r\n\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setPorcentajePrecioTechoMax(value);\r\n                                                    errors[\"porcentajePrecioTechoMaxErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"porcentajePrecioTechoMaxErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"porcentajePrecioTechoMaxErr\"]}</div> : \"\"}\r\n                                        </div>\r\n\r\n                                    </div>\r\n\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Capital pagado:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                value={capitalPagado}\r\n                                                maxLength={10}\r\n                                                allowNegative={false}\r\n                                                placeholder=\"Ingresar capital pagado\"\r\n                                                thousandSeparator={false}\r\n                                                decimalScale={2}\r\n                                                fixedDecimalScale={true}\r\n                                                decimalSeparator={'.'}\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setCapitalPagado(value);\r\n                                                    errors[\"capitalPagadoErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"capitalPagadoErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"capitalPagadoErr\"]}</div> : \"\"}\r\n                                        </div>\r\n\r\n                                    </div>\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Divido en:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                value={divididoEn}\r\n                                                maxLength={10}\r\n                                                allowNegative={false}\r\n                                                placeholder=\"Ingresar cantidad dividida\"\r\n                                                thousandSeparator={false}\r\n\r\n\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setDivididoEn(value);\r\n                                                    errors[\"divididoErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"divididoErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"divididoErr\"]}</div> : \"\"}\r\n                                        </div>\r\n\r\n                                    </div>\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Valor:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <NumberFormat\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\"\r\n                                                value={valor}\r\n                                                maxLength={10}\r\n                                                allowNegative={false}\r\n                                                placeholder=\"Ingresar valor\"\r\n                                                thousandSeparator={false}\r\n                                                decimalScale={2}\r\n                                                fixedDecimalScale={true}\r\n                                                decimalSeparator={'.'}\r\n                                                prefix={\"\"}\r\n                                                onValueChange={(values) => {\r\n                                                    const { formattedValue, value } = values;\r\n                                                    setValor(value);\r\n                                                    errors[\"valorErr\"] = \"\"\r\n                                                }} />\r\n                                            {errors[\"valorErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"valorErr\"]}</div> : \"\"}\r\n                                        </div>\r\n\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"textCenter clear-both\">\r\n                                    <div className=\"btnGuardar\" onClick={actualizar} >\r\n                                        GUARDAR\r\n                                    </div>{\" \"}\r\n                                    <div className=\"btnCancelar\" onClick={closeEditEmpresa}>\r\n                                        SALIR\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarEmpresa);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport NumberFormat from 'react-number-format';\r\nimport { Link } from \"react-router-dom\";\r\nimport Select from 'react-select';\r\nimport { getUsuarioEmpresaSinAsigAct, selectUsuarioEmpresaAct } from \"../../actions/administracion\";\r\nimport DataGrid, { Column, Selection } from '@inovua/reactdatagrid-community';\r\n\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport \"../../config\";\r\n//updateGestionEventoUsuario = (eventoUsuarioId,usuarioId,eventoId,usuarioIdRegistro,estado,monto,saldo)\r\nconst SeleccionarUsuarioEmpresa = (props) => {\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n    const { listaUsuarioEmpresaSinAsig } = useSelector((state) => state.administracion);\r\n    let [loadListaUsuariosEmpresaSinAsig, setLoadListaUsuariosEmpresaSinAsig] = useState(true);\r\n    let [empresaFilter, setEmpresaFilter] = useState(\"\");\r\n    let [gridInfor, setGridInfor] = useState([listaUsuarioEmpresaSinAsig !== null ? listaUsuarioEmpresaSinAsig : []]);\r\n\r\n    if (listaUsuarioEmpresaSinAsig !== null && listaUsuarioEmpresaSinAsig != gridInfor && empresaFilter === \"\")\r\n        setGridInfor(listaUsuarioEmpresaSinAsig)\r\n\r\n\r\n    const closeSeleccionarUsuarioEmpresa = () => {\r\n        props.closeSelectUsuarioEmpresa()\r\n    }\r\n    const checkBoxesMode = useState(\"onClick\");\r\n    const allMode = useState(\"allPages\");\r\n    const dispatch = useDispatch();\r\n    if (loadListaUsuariosEmpresaSinAsig === true) {\r\n        setLoadListaUsuariosEmpresaSinAsig(false)\r\n        dispatch(getUsuarioEmpresaSinAsigAct(props.empresaSeleccionadaId))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n    }\r\n    console.log(\"empresaId =\" + props.empresaSeleccionadaId)\r\n    console.log(\"usuarios sin asignar =\")\r\n    console.log(listaUsuarioEmpresaSinAsig)\r\n\r\n    const gridStyle = { minHeight: '300px', height: '100%', margin: 20 }\r\n    const toArray = selected => Object.keys(selected).map(id => id * 1);\r\n    let columns = [\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'value', header: 'Id', defaultVisible: false, defaultWidth: 60, type: 'number' },\r\n        { name: 'label', header: 'Usuarios', defaultFlex: 1, xdefaultLocked: 'start', defaultWidth: 400, },\r\n\r\n\r\n\r\n    ]\r\n    function filterCatalogo(nego, empresaFilter) {\r\n        //value => \r\n        setGridInfor(nego.filter(function (item) {\r\n            if (\r\n                item[\"label\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase())\r\n            )\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n\r\n\r\n\r\n    const [selected, setSelected] = useState({ 0: true });\r\n\r\n    const onSelectionChange = useCallback(({ selected }) => {\r\n        setSelected(selected)\r\n    }, [])\r\n\r\n    function actualizar() {\r\n\r\n        dispatch(selectUsuarioEmpresaAct(\r\n            props.empresaSeleccionadaId,\r\n            toArray(selected).toString(),\r\n        )).then(() => {\r\n\r\n        }).catch(() => { }\r\n        )\r\n        console.log(\"datos insertados:\")\r\n        console.log(props.eventoSeleccionadoId)\r\n        console.log(toArray(selected).toString())\r\n\r\n        closeSeleccionarUsuarioEmpresa()\r\n    }\r\n    function onCheckBoxesModeChanged({ value }) {\r\n        this.setState({ checkBoxesMode: value });\r\n    }\r\n\r\n    function onAllModeChanged({ value }) {\r\n        this.setState({ allMode: value });\r\n    }\r\n\r\n\r\n\r\n    return (\r\n        <div className=\"overlay3 fade-in\">\r\n            <div className=\"borderContent ventanaPerfil\">\r\n                <div className=\"innerShadow-height-100\">\r\n                    <div id=\"formulario-estilo\">\r\n                        <h2>\r\n                            Seleccionar usuarios\r\n                        </h2>\r\n                        <div className='vertical-noscroll customScroll'>\r\n                            <div className=\"columna-1-formulario-ventana-perfil-edit-evento-user\">\r\n                                <div className=\"titleTable-search-user\">\r\n                                    <div className='floatright'>\r\n                                        <div className=\"filterNeg\">\r\n                                            <input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n                                                setEmpresaFilter(e.target.value);\r\n                                                filterCatalogo(listaUsuarioEmpresaSinAsig !== null ? listaUsuarioEmpresaSinAsig : [], e.target.value)\r\n                                            }} />\r\n                                            <i className=\"fas fa-search\"></i>\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                                <DataGrid\r\n                                    idProperty=\"value\"\r\n                                    selected={selected}\r\n                                    checkboxColumn\r\n                                    onSelectionChange={onSelectionChange}\r\n                                    style={gridStyle}\r\n                                    columns={columns}\r\n                                    dataSource={gridInfor}//dataSource={listaUsuarioEmpresaSinAsig !== null ? listaUsuarioEmpresaSinAsig : []}\r\n                                    theme=\"amber-dark\"\r\n                                />\r\n\r\n                            </div>\r\n                            <div className=\"textCenter clear-both\">\r\n\r\n                                <div className=\"btnGuardar\" onClick={actualizar} >\r\n                                    GUARDAR\r\n                                </div>{\" \"}\r\n                                <div className=\"btnCancelar\" onClick={closeSeleccionarUsuarioEmpresa}>\r\n                                    SALIR\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(SeleccionarUsuarioEmpresa);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { NotificationManager, NotificationContainer } from \"react-notifications\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid, { Column } from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport { formatDateTime } from \"./Util\";\r\nimport { deleteUsuarioEmpresaAct, getUsuarioEmpresaAct, sendEmailInvitacionUser } from \"../../actions/administracion\";\r\nimport SeleccionarUsuarioEmpresa from \"./SeleccionarUsuarioEmpresa\";\r\n//import ItemEmpresa from \"./ItemEmpresa\";\r\nimport \"../../config\";\r\n\r\n\r\n\r\nconst UsuarioEmpresa = (props) => {\r\n    const dispatch = useDispatch();\r\n    let [eventoSeleccionadoId] = useState(props.eventoSeleccionado);\r\n\r\n    //console.log(\"empres\", props.empresaSeleccionada)\r\n    const gridStyle = { minHeight: '300px', height: '100%' }\r\n    const { listaUsuarioEmpresa, loadingUsuarioEmpresa } = useSelector((state) => state.administracion);\r\n    let [empresaSeleccionadaId] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"EmpresaId\"] : \"-1\");\r\n    let [nombreEmpresa] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"Nombre\"] : \"\");\r\n    // console.log(nombreEmpresa)\r\n    let [selectUsuarioEmpresaOpen, setSelectUsuarioEmpresaOpen] = useState(\"\")\r\n    let [loadUsuarioEmpresa, setloadUsuarioEmpresa] = useState(false)\r\n\r\n    if (loadUsuarioEmpresa === false) {\r\n        setloadUsuarioEmpresa(true)\r\n        dispatch(getUsuarioEmpresaAct(empresaSeleccionadaId))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n    }\r\n    // console.log(\"empresaid =\" + empresaSeleccionadaId)\r\n    //console.log(listaUsuarioEmpresa)\r\n    let [empresaFilter, setEmpresaFilter] = useState(\"\");\r\n    let [gridInfor, setGridInfor] = useState([listaUsuarioEmpresa !== null ? listaUsuarioEmpresa : []]);\r\n\r\n    if (listaUsuarioEmpresa !== null && listaUsuarioEmpresa != gridInfor && empresaFilter === \"\")\r\n        setGridInfor(listaUsuarioEmpresa)\r\n\r\n    function filterCatalogo(nego, empresaFilter) {\r\n        //value => \r\n        setGridInfor(nego.filter(function (item) {\r\n            if (item[\"Nombre\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase())\r\n            )\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    function closeUsuarioEmpresa() {\r\n        props.closeUsuarioEmpresaClick()\r\n    }\r\n    function openSelectUsuarioEmpresa() {\r\n        setSelectUsuarioEmpresaOpen(\"OPEN\")\r\n    }\r\n    function closeSelectUsuarioEmpresa() {\r\n        setSelectUsuarioEmpresaOpen(\"\")\r\n    }\r\n    function formatEstado(estado) {\r\n        switch (estado) {\r\n            case \"A\":\r\n                return \"ACTIVO\"\r\n        }\r\n        return \"INACTIVO\"\r\n    }\r\n\r\n\r\n    const renderButtonInvitacion = (value, rowData) => {\r\n        return (\r\n            <>\r\n                <button id={value.data !== null ?\r\n                    value.data[\"UsuarioId\"] : \"0\"}\r\n                    className=\"fas fa-print\"\r\n                    onClick={(e) => {\r\n                        handleClickInvitacionIndividual(e)\r\n                        //setIsLoading(true)\r\n                    }}></button>\r\n            </>\r\n        )\r\n    }\r\n\r\n\r\n    const handleClickInvitacionIndividual = (rowData) => {\r\n        let usuarioId = parseInt(rowData.target.id)\r\n        let data = listaUsuarioEmpresa.filter(x => x.UsuarioId === usuarioId)[0]//rowData.cellProps[\"data\"]\r\n        if (data !== null) {\r\n            console.log(usuarioId)\r\n            dispatch(sendEmailInvitacionUser(eventoSeleccionadoId, usuarioId))\r\n                .then(() => {\r\n                    NotificationManager.success(\r\n                        \"Invitación individual enviada\",\r\n                        \"Sistema\",\r\n                        3000,\r\n                        () => { },\r\n                        4\r\n                    );\r\n\r\n                }\r\n                )\r\n                .catch(() => {\r\n                    NotificationManager.error(\r\n                        \"Error al enviar invitación\",\r\n                        \"Sistema\",\r\n                        3000,\r\n                        () => { },\r\n                        4\r\n                    );\r\n                });\r\n        }\r\n\r\n    }\r\n    const handleClickInvitacionGrupal = (rowData) => {\r\n\r\n        dispatch(sendEmailInvitacionUser(eventoSeleccionadoId, -1, empresaSeleccionadaId))\r\n            .then(() => {\r\n                NotificationManager.success(\r\n                    \"Invitación grupal enviada\",\r\n                    \"Sistema\",\r\n                    3000,\r\n                    () => { },\r\n                    4\r\n                );\r\n            })\r\n            .catch(() => {\r\n                NotificationManager.error(\r\n                    \"Error al enviar invitación\",\r\n                    \"Sistema\",\r\n                    3000,\r\n                    () => { },\r\n                    4\r\n                );\r\n            });\r\n    }\r\n\r\n    function getRol(str) {\r\n        switch (str) {\r\n            case \"ROLE_ADMIN\":\r\n                return \"ADMINISTRADOR\"\r\n            case \"ROLE_RUEDA\":\r\n                return \"DIRECTOR DE RUEDA\"\r\n            case \"ROLE_CAJA\":\r\n                return \"USUARIO CAJA\"\r\n            case \"ROLE_VISITANTE\":\r\n                return \"VISITANTE\"\r\n            case \"ROLE_OPERADOR\":\r\n                return \"USUARIO OPERADOR\"\r\n            case \"ROLE_LIQUIDACION\":\r\n                return \"USUARIO LIQUIDACIÓN\"\r\n            case \"ROLE_REGISTRADOR\":\r\n                return \"USUARIO REGISTRADOR\"\r\n\r\n        }\r\n\r\n        return \"\"\r\n    }\r\n\r\n    let columns = [\r\n\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'Nombre', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\" },\r\n        { name: 'Rol', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ROL</div>), defaultFlex: 1, xdefaultLocked: 'end',render: ({ data }) => getRol(data[\"Rol\"]), headerAlign: \"center\" },\r\n        { name: 'Estado', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ESTADO</div>), defaultFlex: 1, xdefaultLocked: 'end', render: ({ data }) => formatEstado(data[\"Estado\"]), headerAlign: \"center\" },\r\n        { name: 'FechaRegistro', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>FECHA REGISTRO</div>), defaultFlex: 1, xdefaultLocked: 'end', render: ({ data }) => formatDateTime(data[\"FechaRegistro\"]), headerAlign: \"center\" },\r\n        /*{ name: \"EnviarInvitación\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ENVIAR INVITACIÓN</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonInvitacion(rowData), headerAlign: \"center\" },*/\r\n\r\n    ]\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps }) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n\r\n            {\r\n                label: 'Eliminar',\r\n                onClick: () => {\r\n                    confirmAlert({\r\n                        title: 'Eliminar usuario',\r\n                        message: '¿Seguro desea eliminar?.',\r\n                        buttons: [\r\n                            {\r\n                                label: 'Si',\r\n                                onClick: () => {\r\n                                    dispatch(deleteUsuarioEmpresaAct(rowProps.data[\"UsuarioEmpresaId\"], empresaSeleccionadaId))\r\n                                        .then(() => {\r\n\r\n                                        })\r\n                                        .catch(() => { });\r\n                                }\r\n                            },\r\n                            {\r\n                                label: 'No',\r\n                                onClick: () => {\r\n\r\n                                }\r\n                            }\r\n                        ]\r\n                    });\r\n                }\r\n            }\r\n        ]\r\n    }, [])\r\n    return (\r\n        <div className={[\"overlay3\", \"fade-in\"].join(\" \")}>\r\n            <div className={['loading_cont', loadingUsuarioEmpresa !== true ? \"displaynone\" : \"\"].join(' ')}><div className='single6'></div></div>\r\n            {selectUsuarioEmpresaOpen === \"OPEN\" ? <SeleccionarUsuarioEmpresa closeSelectUsuarioEmpresa={closeSelectUsuarioEmpresa} empresaSeleccionadaId={empresaSeleccionadaId} /> : \"\"}\r\n            <div className=\"borderContent ventanaPortafolio\">\r\n                <div className=\"innerShadow-height-100\">\r\n                    <h2>\r\n                        Usuario\r\n                        <div className=\"subItemCatalogo\">\r\n                            <Menu menuButton={<MenuButton><i className=\"fas fa-cog\"></i></MenuButton>}>\r\n                                <MenuItem onClick={openSelectUsuarioEmpresa}><i className=\"fas fa-sign-out-alt\"></i>Seleccionar</MenuItem>\r\n                                {/*<MenuItem onClick={handleClickInvitacionGrupal}><i className=\"fas fa-sign-out-alt\"></i>Invitar</MenuItem>*/}\r\n                            </Menu>\r\n                        </div>\r\n                    </h2>\r\n                    <div className=\"titleTable-search\">EMPRESA {nombreEmpresa.toUpperCase()}\r\n                        <div className='floatright'>\r\n                            <div className=\"filterNeg\">\r\n\r\n                                <input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n                                    setEmpresaFilter(e.target.value);\r\n                                    filterCatalogo(listaUsuarioEmpresa !== null ? listaUsuarioEmpresa : [], e.target.value)\r\n                                }} /><i className=\"fas fa-search\"></i>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <DataGrid\r\n                        idProperty=\"EmpresaId\"\r\n                        style={gridStyle}\r\n\r\n                        columns={columns}\r\n                        enableSelection={true}\r\n                        selection={{ mode: 'single' }}\r\n                        dataSource={gridInfor}\r\n                        renderRowContextMenu={renderRowContextMenu}\r\n                        theme=\"amber-dark\"\r\n                    />\r\n                    <div className=\"dividerLine\"></div>\r\n                    <div className=\"textCenter\">\r\n                        <div className=\"btnCancelar\" onClick={props.closeUsuarioEmpresa}>\r\n                            SALIR\r\n                        </div>\r\n                    </div>\r\n\r\n                </div>\r\n\r\n            </div>\r\n\r\n        </div>\r\n    );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(UsuarioEmpresa);\r\n","import React, { useState, useEffect,useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid,{ Column }  from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {Menu,MenuItem,MenuButton,SubMenu} from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport {formatDateTime} from \"./Util\";\r\nimport {getEmpresaAct,deleteEmpresaAct} from \"../../actions/administracion\";\r\nimport EditarEmpresa from \"./EditarEmpresa\";\r\nimport UsuarioEmpresa from \"./UsuarioEmpresa\";\r\nimport \"../../config\";\r\nimport {NotificationContainer} from \"react-notifications\";\r\n\r\nconst Empresa = (props) => {\r\n    const dispatch = useDispatch();\r\n    const gridStyle = { minHeight: '300px',height:'100%' }\r\n    const {listaEmpresa,loadingEmpresa} = useSelector((state) => state.administracion);\r\n    console.log(\"loadingEmpresa\", loadingEmpresa)\r\n    let [eventoSeleccionadoId] = useState(props.eventoSeleccionado);\r\n    let [empresaSeleccionada,setEmpresaSeleccionada] = useState(null);\r\n    let [usuarioEmpresaOpen,setUsuarioEmpresaOpen] = useState(\"\");\r\n    let [editEmpresaOpen, setEditEmpresaOpen] = useState(\"\")\r\n    let [loadEmpresa, setLoadEmpresa] = useState(false) \r\n\r\n    if(loadEmpresa===false){\r\n        setLoadEmpresa(true)\r\n        dispatch(getEmpresaAct(\"0\",\"\",\"\",\"ASC\",\"\"))\r\n        .then(() => {\r\n        })\r\n        .catch(() => {\r\n        });\r\n        \r\n    }\r\n\r\n    let [empresaFilter, setEmpresaFilter] = useState(\"\");   \r\n    let [gridInfor, setGridInfor] = useState([listaEmpresa!==null?listaEmpresa:[]]);     \r\n\r\n    if(listaEmpresa!==null && listaEmpresa!=gridInfor && empresaFilter===\"\")\r\n        setGridInfor(listaEmpresa)\r\n\r\n    function filterCatalogo(nego,empresaFilter){\r\n        //value => \r\n        setGridInfor(nego.filter(function(item) {\r\n            if (item[\"Nombre\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()) || \r\n                item[\"Institucion\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase())||\r\n                item[\"Email\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase())||\r\n                item[\"Estado\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()))\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    function closeEmpresa(){\r\n        props.closeEmpresaClick()\r\n    }\r\n    function openNewEmpresa(){\r\n        setEmpresaSeleccionada(null)\r\n        setEditEmpresaOpen(\"EDIT\")\r\n    }\r\n\r\n    function closeEditEmpresa(){\r\n        setEditEmpresaOpen(\"\")\r\n    }\r\n    function closeUsuarioEmpresa(){\r\n        setUsuarioEmpresaOpen(\"\")\r\n    }\r\n    function formatEstado(estado){\r\n\t\tswitch(estado){\r\n\t\t\tcase \"A\":\r\n\t\t\t\treturn \"ACTIVO\"\r\n\t\t}\r\n\t\treturn \"INACTIVO\"\r\n\t}\r\n    let columns= [\r\n      \r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'Nombre',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\"},\r\n        { name: 'Institucion',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>INSTITUCIÓN</div>), defaultFlex: 1, xdefaultLocked: 'start',defaultWidth: 400, headerAlign: \"center\" },        \r\n        { name: 'Estado',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ESTADO</div>), defaultFlex: 1, xdefaultLocked: 'end',render: ({ data }) => formatEstado(data[\"Estado\"]), headerAlign: \"center\" },           \r\n        { name: 'Email',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>EMAIL</div>), defaultFlex: 1, xdefaultLocked: 'start',defaultWidth: 400, headerAlign: \"center\"},           \r\n    ]\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps } ) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n        {\r\n            label: 'Usuarios',\r\n            onClick:()=>{   \r\n                setEmpresaSeleccionada(rowProps.data)\r\n                setUsuarioEmpresaOpen(\"OPEN\")\r\n                console.log(rowProps.data)\r\n            }\r\n        },      \r\n        {\r\n            label: 'Editar',\r\n            onClick:()=>{   \r\n                setEmpresaSeleccionada(rowProps.data)\r\n                setEditEmpresaOpen(\"EDIT\")\r\n                console.log(rowProps.data)\r\n            }\r\n        },          \r\n        {\r\n        label: 'Eliminar',\r\n            onClick:()=>{\r\n                confirmAlert({\r\n                    title: 'Eliminar empresa',\r\n                    message: '¿Seguro desea eliminar?.',\r\n                    buttons: [\r\n                      {\r\n                        label: 'Si',\r\n                        onClick: () =>{                    \r\n                           dispatch(deleteEmpresaAct(rowProps.data[\"EmpresaId\"]))\r\n                            .then(() => {     \r\n                        \r\n                            })\r\n                            .catch(() => {});\r\n                        }\r\n                      },\r\n                      {\r\n                        label: 'No',\r\n                        onClick: () => {\r\n                            \r\n                        }\r\n                      }\r\n                    ]\r\n                });               \r\n            }\r\n        }\r\n        ]\r\n    }, [])  \r\n  return (\r\n    <div\r\n      className={[\r\n        \"overlay3\",\r\n        \"fade-in\"\r\n      ].join(\" \")}\r\n    > \r\n     <div className={['loading_cont',loadingEmpresa\r\n     !==true?\"displaynone\":\"\"].join(' ')}><div className='single6'></div></div>\r\n      {editEmpresaOpen===\"EDIT\" ? <EditarEmpresa \r\n      sendMessage={props.sendMessage}\r\n      closeEditEmpresa={closeEditEmpresa} \r\n      empresaSeleccionada={empresaSeleccionada}/>  :  \"\"}\r\n      {usuarioEmpresaOpen===\"OPEN\" ? <UsuarioEmpresa closeUsuarioEmpresa={closeUsuarioEmpresa} eventoSeleccionado={eventoSeleccionadoId}  empresaSeleccionada={empresaSeleccionada}/>  :  \"\"}\r\n        <div className=\"borderContent ventanaPortafolio\">\r\n            <div className=\"innerShadow-height-100\">\r\n                <h2>\r\n                    Empresa\r\n                    <div className=\"subItemCatalogo\">\r\n                        <Menu menuButton={<MenuButton><i className=\"fas fa-cog\"></i></MenuButton>}>\r\n                            <MenuItem onClick={openNewEmpresa}><i className=\"fas fa-sign-out-alt\"></i>Nuevo</MenuItem> \r\n                        </Menu>\r\n                    </div>\r\n                </h2>  \r\n                <div className=\"titleTable-search\">EMPRESA<div className='floatright'><div className=\"filterNeg\"><input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n                  setEmpresaFilter(e.target.value);\r\n                  filterCatalogo(listaEmpresa!==null?listaEmpresa:[],e.target.value)\r\n                }}/><i className=\"fas fa-search\"></i></div></div></div> \r\n                <DataGrid\r\n                    idProperty=\"EmpresaId\"\r\n                    style={gridStyle}                   \r\n                    columns={columns}\r\n                    enableSelection={true}\r\n                    selection={{ mode: 'single' }}                    \r\n                    dataSource={gridInfor}\r\n                    renderRowContextMenu={renderRowContextMenu}\r\n                    theme=\"amber-dark\"\r\n                />\r\n                <div className=\"dividerLine\"></div>\r\n                <div className=\"textCenter\">\r\n                    <div className=\"btnCancelar\"  onClick={closeEmpresa}>\r\n                        SALIR\r\n                    </div>\r\n                </div> \r\n            </div>\r\n        </div>  \r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(Empresa);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport Select from \"react-select\";\r\nimport NumberFormat from 'react-number-format';\r\nimport DatePicker from \"react-datepicker\";\r\nimport {\r\n    updateEventoAct,\r\n    getEmpresaSelectAct,\r\n    getCatalogosModalidad\r\n} from \"../../actions/administracion\";\r\nimport \"../../config\";\r\nimport UploadFile from \"./UploadFile\";\r\nimport { NotificationContainer, NotificationManager } from \"react-notifications\";\r\nconst EditarEvento = (props) => {\r\n    const dispatch = useDispatch();\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n    let [errors, setErrors] = useState({ \"modalidadIdErr\": \"\" }, { \"empresaIdErr\": \"\" }, { \"nombreEventoErr\": \"\" }, { \"nombreEmpresaCortoErr\": \"\" }, { \"nombreExponenteErr\": \"\" }, { \"fechaInscripcionErr\": \"\" }, { \"fechaSubastaErr\": \"\" }, { \"fechaAdjudicacionErr\": \"\" }, { \"fechaFinalizacionErr\": \"\" });\r\n    let [eventoId, setEventoId] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"EventoId\"] : \"-1\");\r\n    let [nombreEvento, setNombreEvento] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"NombreEvento\"] : \"\");\r\n    let [logo, setLogo] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"Logo\"] : \"\");\r\n    let [logoUrl, setLogoUrl] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"LogoUrl\"] : \"\");\r\n\r\n    let [inscripcion, setInscripcion] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"PeriodoInscripcion\"] : new Date());\r\n    let [colocacion, setColocacion] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"PeriodoColocacion\"] : new Date());\r\n    let [subasta, setSubasta] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"PeriodoSubasta\"] : new Date());\r\n    let [adjudicacion, setAdjudicacion] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"PeriodoAdjudicacion\"] : new Date());\r\n    let [fechaApertura, setFechaApertura] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"FechaApertura\"] : new Date());\r\n    let [fechaSubasta, setFechaSubasta] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"FechaSubasta\"] : new Date());\r\n    let [fechaAdjudicacion, setFechaAdjudicacion] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"FechaAdjudicacion\"] : new Date());\r\n    let [fechaFinalizacion, setFechaFinalizacion] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"FechaFinalizacion\"] : new Date());\r\n    let [nombreEmpresaCorto, setNombreEmpresaCorto] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"NombreEmpresaCorto\"] : \"\");\r\n    let [nombreExponente, setNombreExponente] = useState(props.eventoSeleccionado !== null ? props.eventoSeleccionado[\"NombreExponente\"] : \"\");\r\n    let [isError, setIsError] = useState(false)\r\n    let cambioModalidad = useState(null);\r\n    const { listaCatalogosModalidad } = useSelector((state) => state.administracion);\r\n    let [loadModalidades, setLoadModalidades] = useState(false)\r\n    //console.log(\"listaCatalogosModalidad\", listaCatalogosModalidad)\r\n    if (loadModalidades === false && listaCatalogosModalidad === null) {\r\n        setLoadModalidades(true)\r\n        dispatch(getCatalogosModalidad())\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n    }\r\n\r\n\r\n    if (props.eventoSeleccionado !== null && props.eventoSeleccionado[\"ModalidadId\"] == \"1\") {\r\n        cambioModalidad = { value: \"1\", label: \"Virtual\" };\r\n    }\r\n    if (props.eventoSeleccionado !== null && props.eventoSeleccionado[\"ModalidadId\"] == \"2\") {\r\n        cambioModalidad = { value: \"2\", label: \"Semipresencial\" };\r\n    }\r\n    if (props.eventoSeleccionado !== null && props.eventoSeleccionado[\"ModalidadId\"] == \"3\") {\r\n        cambioModalidad = { value: \"3\", label: \"Manual\" };\r\n    }\r\n    if (props.eventoSeleccionado === null) {\r\n        cambioModalidad = { value: \"1\", label: \"Virtual\" };\r\n    }\r\n    let [modalidad, setModalidad] = useState(cambioModalidad);\r\n\r\n    let cambioEstado = useState(null);\r\n    if (props.eventoSeleccionado !== null && props.eventoSeleccionado[\"Estado\"] == \"I\") {\r\n        cambioEstado = { value: \"I\", label: \"Inactivo\" };\r\n    }\r\n    if (props.eventoSeleccionado !== null && props.eventoSeleccionado[\"Estado\"] == \"A\") {\r\n        cambioEstado = { value: \"A\", label: \"Activo\" };\r\n    }\r\n    if (props.eventoSeleccionado === null) {\r\n        cambioEstado = { value: \"A\", label: \"Activo\" };\r\n    }\r\n    let [estadoSelect, setEstadoSelect] = useState(cambioEstado);\r\n    const optionsEstado = [\r\n        { value: \"I\", label: \"Inactivo\" },\r\n        { value: \"A\", label: \"Activo\" },\r\n    ];\r\n    function closeEditEvento() {\r\n        props.closeEditEvento();\r\n    }\r\n\r\n    const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n\r\n    function actualizar() {\r\n        let valid = true;\r\n\r\n        //let err = errors;\r\n        if (nombreEvento == \"\") {\r\n            errors[\"nombreEventoErr\"] = \"Ingrese nombre\";\r\n            valid = false;\r\n        }\r\n        //if (!textoRegex.test(nombreEvento)) {\r\n        //  errors[\"nombreEventoErr\"] = \"Ingrese solo letras y números\"\r\n        // valid = false\r\n        //}\r\n\r\n        if (nombreEmpresaCorto == \"\") {\r\n            errors[\"nombreEmpresaCortoErr\"] = \"Ingrese nombre corto\";\r\n            valid = false;\r\n        }\r\n        if (nombreExponente == \"\") {\r\n            errors[\"nombreExponenteErr\"] = \"Ingrese nombre\";\r\n            valid = false;\r\n        }\r\n\r\n        if (!nombreRegex.test(nombreExponente)) {\r\n            errors[\"nombreExponenteErr\"] = \"Ingrese solo letras\"\r\n            valid = false\r\n        }\r\n\r\n        if (Date.parse(subasta) <= Date.parse(inscripcion)) {\r\n           // errors[\"fechaSubastaErr\"] = \"Fecha inválida\"\r\n           valid = false\r\n            NotificationManager.error(\r\n                \"Error. Fecha subasta inválida\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n              \r\n        }\r\n\r\n        if (Date.parse(adjudicacion) <= Date.parse(subasta)) {\r\n            //errors[\"fechaAdjudicacionErr\"] = \"Fecha inválida\"\r\n            valid = false\r\n             NotificationManager.error(\r\n                \"Error. Fecha adjudicación inválida\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n            \r\n        }\r\n       // console.log(\"-----------------------\")\r\n       // console.log(colocacion,adjudicacion)\r\n        if (Date.parse(colocacion) < Date.parse(adjudicacion)) {\r\n            //errors[\"fechaFinalizacionErr\"] = \"Fecha inválida\"\r\n            valid = false\r\n            NotificationManager.error(\r\n                \"Error. Fecha finalización inválida\",\r\n                \"Sistema\",\r\n                5000,\r\n                () => { },\r\n                4\r\n              );\r\n              return\r\n            \r\n        }\r\n\r\n        setErrors(errors)\r\n        setIsError(true)\r\n        if (!valid) {\r\n            return;\r\n        }\r\n        dispatch(\r\n            updateEventoAct(\r\n                eventoId,\r\n                logoUrl,\r\n                modalidad[\"value\"],\r\n                nombreEvento,\r\n                logo,\r\n                estadoSelect[\"value\"],\r\n                currentUser[\"userId\"],\r\n                fechaSubasta,\r\n                inscripcion,\r\n                subasta,\r\n                colocacion,\r\n                adjudicacion,\r\n                nombreEmpresaCorto,\r\n                nombreExponente,\r\n                \"0\",\r\n                \"\",\r\n                \"\",\r\n                \"ASC\",\r\n                \"\"\r\n            )\r\n        )\r\n            .then(() => {\r\n                //window.location.reload();\r\n            })\r\n            .catch(() => { });\r\n\r\n        closeEditEvento();\r\n        console.log(eventoId)\r\n        console.log(modalidad[\"value\"])\r\n        console.log(nombreEvento)\r\n        console.log(logo)\r\n        console.log(estadoSelect[\"value\"])\r\n        console.log(currentUser[\"userId\"])\r\n        console.log(fechaSubasta)\r\n        console.log(inscripcion)\r\n        console.log(colocacion)\r\n        console.log(subasta)\r\n        console.log(adjudicacion)\r\n        console.log(nombreEmpresaCorto)\r\n        console.log(nombreExponente)\r\n\r\n    }\r\n    {/*Para agregar logo*/ }\r\n    let [uploadId, setUploadId] = useState(\r\n        currentUser !== null ? currentUser[\"UploadId\"] : \"-1\"\r\n    );\r\n\r\n    let [fileNombre, setFileNombre] = useState(\r\n        currentUser !== null ? currentUser[\"fileNombre\"] : \"\"\r\n    );\r\n\r\n    let [fileNombreUrl, setFileNombreUrl] = useState(\r\n        currentUser !== null ? currentUser[\"fileNombreUrl\"] : \"\"\r\n    );\r\n\r\n    function reloadDocuments(file) {\r\n        const result = JSON.parse(file);\r\n        setUploadId(result[\"UploadId\"]);\r\n        setFileNombre(result[\"fileNombre\"]);\r\n        setFileNombreUrl(result[\"fileNombreUrl\"]);\r\n    }\r\n\r\n    const convertirBase64 = (files) => {\r\n        Array.from(files).forEach(file => {\r\n            const reader = new FileReader();\r\n            reader.readAsDataURL(file);\r\n            reader.onload = () => {\r\n                let arrayImage = []\r\n                let base = reader.result;\r\n                arrayImage = base.split(',');\r\n                setLogoUrl(arrayImage[1])\r\n\r\n\r\n            }\r\n        })\r\n    }\r\n\r\n    return (\r\n        <div className=\"overlay3 fade-in\">\r\n            <div className=\"borderContent ventanaPortafolioEvento\">\r\n                <div className=\"innerShadow3\">\r\n                    <div id=\"formulario-estilo\">\r\n                        <div className=\"editEmpresa\">\r\n                            <h2>\r\n                                Evento\r\n                            </h2>\r\n                            <div className='vertical-scroll customScroll'>\r\n                                <div id=\"columna-1-formulario\">\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Fecha Subasta:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <DatePicker\r\n                                                selected={Date.parse(fechaSubasta)}\r\n                                                onChange={date => setFechaSubasta(date)}\r\n                                                showMonthDropdown\r\n                                                showYearDropdown\r\n                                                dateFormat=\"dd/MM/yyyy\"\r\n                                                className=\"input-form\"\r\n                                            />\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Nombre evento:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <input\r\n                                                autocomplete=\"off\"\r\n                                                type=\"text\"\r\n                                                value={nombreEvento}\r\n                                                maxLength={1000}\r\n                                                placeholder=\"Ingresar nombre evento\"\r\n                                                className=\"input-form\"\r\n                                                onChange={(e) => {\r\n                                                    setNombreEvento(e.target.value);\r\n                                                    errors[\"nombreEventoErr\"] = \"\"\r\n                                                }}\r\n                                            ></input>\r\n                                            {errors[\"nombreEventoErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"nombreEventoErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Nombre empresa corto:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <input\r\n                                                autocomplete=\"off\"\r\n                                                type=\"text\"\r\n                                                value={nombreEmpresaCorto}\r\n                                                maxLength={1000}\r\n                                                placeholder=\"Ingresar empresa corto\"\r\n                                                className=\"input-form\"\r\n                                                onChange={(e) => {\r\n                                                    setNombreEmpresaCorto(e.target.value);\r\n                                                    errors[\"nombreEmpresaCortoErr\"] = \"\"\r\n                                                }}\r\n                                            ></input>\r\n                                            {errors[\"nombreEmpresaCortoErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"nombreEmpresaCortoErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Nombre exponente:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <input\r\n                                             autocomplete=\"off\"\r\n                                                type=\"text\"\r\n                                                value={nombreExponente}\r\n                                                maxLength={1000}\r\n                                                placeholder=\"Ingresar nombre exponente\"\r\n                                                className=\"input-form\"\r\n                                                onChange={(e) => {\r\n                                                    setNombreExponente(e.target.value);\r\n                                                    errors[\"nombreExponenteErr\"] = \"\"\r\n                                                }}\r\n                                            ></input>\r\n                                            {errors[\"nombreExponenteErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"nombreExponenteErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n\r\n\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Modalidad:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <Select\r\n                                                autocomplete=\"off\"\r\n                                                className=\"input-form\" id=\"estadoSelectCombo\"\r\n                                                value={modalidad}\r\n                                                onChange={(e) => {\r\n                                                    setModalidad(e)\r\n                                                }} placeholder=\"Seleccione\"\r\n                                                options={listaCatalogosModalidad} />\r\n                                        </div>\r\n                                    </div>\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-edit\"></i> <span>Logo:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n\r\n                                            <input type=\"file\" className=\"boxStyleSelect\" multiple onChange={(e) => convertirBase64(e.target.files)}></input>\r\n                                            <div className=\"boxStyleSelect\">Selecciona el archivo para subirlo</div>\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                                <div id=\"columna-2-formulario\">\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Estado:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <Select \r\n                                            autocomplete=\"off\"\r\n                                            className=\"input-form\" \r\n                                            id=\"estadoSelectCombo\" \r\n                                            value={estadoSelect} \r\n                                            onChange={(e) => {\r\n                                                setEstadoSelect(e)\r\n                                            }} placeholder=\"Seleccione\" options={optionsEstado} />\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Periodo Apertura:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <DatePicker\r\n                                                selected={Date.parse(inscripcion)}\r\n                                                onChange={(date) => {\r\n                                                    setInscripcion(date)\r\n\r\n                                                }}\r\n                                                showMonthDropdown\r\n                                                showYearDropdown\r\n                                                showTimeSelect\r\n                                                //showTimeSelectOnly\r\n\r\n                                                timeIntervals={5}\r\n                                                timeCaption=\"Time\"\r\n                                                dateFormat=\"HH:mm\"\r\n                                                className=\"input-form\"\r\n                                                timeFormat=\"HH:mm\"\r\n                                            />\r\n                                        </div>\r\n                                    </div>\r\n\r\n\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Periodo Subasta:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <DatePicker\r\n                                                selected={Date.parse(subasta)}\r\n\r\n                                                onChange={(date) => {\r\n                                                    setSubasta(date)\r\n                                                    errors[\"fechaSubastaErr\"] = \"\"\r\n                                                }}\r\n                                                showMonthDropdown\r\n                                                showYearDropdown\r\n                                                showTimeSelect\r\n                                                //showTimeSelectOnly\r\n\r\n                                                timeIntervals={5}\r\n                                                timeCaption=\"Time\"\r\n                                                dateFormat=\"HH:mm\"\r\n                                                className=\"input-form\"\r\n                                                timeFormat=\"HH:mm\"\r\n                                            />\r\n                                            {errors[\"fechaSubastaErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"fechaSubastaErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Periodo Adjudicación:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <DatePicker\r\n                                                selected={Date.parse(adjudicacion)}\r\n                                                onChange={(date) => {\r\n                                                    setAdjudicacion(date)\r\n                                                    errors[\"fechaAdjudicacionErr\"] = \"\"\r\n                                                }}\r\n                                                showMonthDropdown\r\n                                                showYearDropdown\r\n                                                showTimeSelect\r\n                                                //showTimeSelectOnly\r\n\r\n\r\n                                                timeIntervals={5}\r\n                                                timeCaption=\"Time\"\r\n                                                dateFormat=\"HH:mm\"\r\n                                                className=\"input-form\"\r\n                                                timeFormat=\"HH:mm\"\r\n                                            />\r\n                                            {errors[\"fechaAdjudicacionErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"fechaAdjudicacionErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                    <div className=\"row-form\">\r\n                                        <div className=\"col-30\">\r\n                                            <label>\r\n                                                <i className=\"fas fa-wrench\"></i> <span>Periodo Finalización:</span>\r\n                                            </label>\r\n                                        </div>\r\n                                        <div className=\"col-70\">\r\n                                            <DatePicker\r\n                                                selected={Date.parse(colocacion)}\r\n                                                onChange={(date) => {\r\n                                                    setColocacion(date)\r\n                                                    errors[\"fechaFinalizacionErr\"] = \"\"\r\n                                                }}\r\n                                                showMonthDropdown\r\n                                                showYearDropdown\r\n                                                showTimeSelect\r\n                                                //showTimeSelectOnly\r\n\r\n                                                timeIntervals={5}\r\n                                                timeCaption=\"Time\"\r\n                                                dateFormat=\"HH:mm\"\r\n                                                className=\"input-form\"\r\n                                                timeFormat=\"HH:mm\"\r\n                                            />\r\n                                            {errors[\"fechaFinalizacionErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"fechaFinalizacionErr\"]}</div> : \"\"}\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n\r\n\r\n                            </div>\r\n                            <div className=\"textCenter clear-both\">\r\n                                <div className=\"btnGuardar\" onClick={actualizar} >\r\n                                    GUARDAR\r\n                                </div>{\" \"}\r\n                                <div className=\"btnCancelar\" onClick={closeEditEvento}>\r\n                                    SALIR\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            \r\n        </div>\r\n    );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarEvento);\r\n","import React, { useState, useEffect,useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport NumberFormat from 'react-number-format';\r\nimport { Link } from \"react-router-dom\";\r\nimport Select from 'react-select';\r\nimport {getEventoEmpresaSinAsigAct, selectEventoEmpresaAct} from \"../../actions/administracion\";\r\nimport DataGrid,{ Column,Selection }  from '@inovua/reactdatagrid-community';\r\n\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport \"../../config\";\r\n//updateGestionEventoUsuario = (eventoUsuarioId,usuarioId,eventoId,usuarioIdRegistro,estado,monto,saldo)\r\nconst SeleccionarUsuarioEmpresa = (props) => {     \r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n    const {listaEventoEmpresaSinAsig} = useSelector((state) => state.administracion);\r\n\tlet [loadListaEventoEmpresaSinAsig,setloadListaEventoEmpresaSinAsig] = useState(true);\r\n   \r\n    const closeSeleccionarEventoEmpresa = ()=>{\r\n        props.closeSelectEventoEmpresa()\r\n    }\r\n    const  checkBoxesMode  = useState(\"onClick\");\r\n    const  allMode  = useState(\"allPages\");\r\n    const dispatch = useDispatch();\r\n    if(loadListaEventoEmpresaSinAsig===true){\r\n\t\tsetloadListaEventoEmpresaSinAsig(false)\r\n        dispatch(getEventoEmpresaSinAsigAct(props.eventoSeleccionadoId))\r\n        .then(() => {\r\n        })\r\n        .catch(() => {\r\n        });\r\n    }    \r\n\r\n\r\n    const gridStyle = { minHeight: '300px', height:'100%', margin: 20 }\r\n    const toArray = selected => Object.keys(selected).map(id => id * 1);\r\n    let columns= [\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'value', header: 'Id', defaultVisible: false, defaultWidth: 60, type: 'number' },\r\n        { name: 'label',header: 'Usuarios', defaultFlex: 1, xdefaultLocked: 'start',defaultWidth: 400, },\r\n        \r\n        \r\n       \r\n    ]\r\n    \r\n\r\n    const [selected, setSelected] = useState({  0:true }); \r\n  \r\n    const onSelectionChange = useCallback(({ selected }) => {\r\n        setSelected(selected)\r\n    }, [])\r\n\r\n    function actualizar(){\r\n      \r\n       dispatch(selectEventoEmpresaAct(\r\n            props.eventoSeleccionadoId,\r\n            toArray(selected).toString(),\r\n            currentUser[\"userId\"],\r\n            )).then(() => {     \r\n    \r\n             }).catch(() => {}\r\n        )\r\n     \r\n      \r\n        closeSeleccionarEventoEmpresa()\r\n    }\r\n    function onCheckBoxesModeChanged({ value }) {\r\n        this.setState({ checkBoxesMode: value });\r\n      }\r\n    \r\n      function onAllModeChanged({ value }) {\r\n        this.setState({ allMode: value });\r\n      }\r\n  \r\n\r\n\r\n    return (\r\n<div className=\"overlay3 fade-in\">    \r\n    <div className=\"borderContent ventanaPerfil\">\r\n        <div className=\"innerShadow-height-100\">\r\n            <div id=\"formulario-estilo\">\r\n                <h2>\r\n                    Seleccionar empresas                \r\n                </h2>  \r\n                <div className='vertical-noscroll customScroll'>               \r\n                    <div className=\"columna-1-formulario-ventana-perfil-edit-evento-user\"> \r\n                    <DataGrid                        \r\n                        idProperty=\"value\"\r\n                        selected={selected} \r\n                        checkboxColumn     \r\n                        onSelectionChange={onSelectionChange}   \r\n                        style={gridStyle}               \r\n                        columns={columns}                                                                            \r\n                        dataSource={listaEventoEmpresaSinAsig!==null?listaEventoEmpresaSinAsig:[]}                        \r\n                        theme=\"amber-dark\"\r\n                    />   \r\n                   \r\n                    </div> \r\n                    <div className=\"textCenter clear-both\">\r\n                   \r\n                        <div className=\"btnGuardar\" onClick={actualizar} >\r\n                        GUARDAR\r\n                        </div>{\" \"}\r\n                        <div className=\"btnCancelar\" onClick={closeSeleccionarEventoEmpresa}>\r\n                            SALIR\r\n                        </div>\r\n                    </div>\r\n                </div> \r\n            </div>      \r\n        </div>\r\n    </div>\r\n</div>\r\n    );\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(SeleccionarUsuarioEmpresa);\r\n","import React, { useState, useEffect,useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid,{ Column }  from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {Menu,MenuItem,MenuButton,SubMenu} from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport {formatDateTime} from \"./Util\";\r\nimport {deleteEventoAct, deleteEventoEmpresaAct, getEventoEmpresaAct} from \"../../actions/administracion\";\r\nimport SeleccionarEventoEmpresa from \"./SeleccionarEventoEmpresa\";\r\n//import ItemEmpresa from \"./ItemEmpresa\";\r\nimport \"../../config\";\r\nimport {NotificationContainer} from \"react-notifications\";\r\n\r\nconst EventoEmpresa = (props) => {\r\n    const dispatch = useDispatch();\r\n    const gridStyle = { minHeight: '300px',height:'100%' }\r\n    const {listaEventoEmpresa,loadingEventoEmpresa} = useSelector((state) => state.administracion);\r\n    let [eventoSeleccionadoId] = useState(props.eventoSeleccionado !== null? props.eventoSeleccionado[\"EventoId\"]: \"-1\");\r\n    let [selectEventoEmpresaOpen, setSelectEventoEmpresaOpen] = useState(\"\")\r\n    let [loadEventoEmpresa, setloadEventoEmpresa] = useState(false) \r\n    \r\n    if(loadEventoEmpresa===false){\r\n        setloadEventoEmpresa(true)\r\n        dispatch(getEventoEmpresaAct(eventoSeleccionadoId))\r\n        .then(() => {\r\n        })\r\n        .catch(() => {\r\n        });\r\n        \r\n    }\r\n    let [empresaFilter, setEmpresaFilter] = useState(\"\");   \r\n    let [gridInfor, setGridInfor] = useState([listaEventoEmpresa!==null?listaEventoEmpresa:[]]);     \r\n\r\n    if(listaEventoEmpresa!==null && listaEventoEmpresa!=gridInfor && empresaFilter===\"\")\r\n        setGridInfor(listaEventoEmpresa)\r\n\r\n    function filterCatalogo(nego,empresaFilter){\r\n        //value => \r\n        setGridInfor(nego.filter(function(item) {\r\n            if (item[\"Nombre\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase())\r\n              )\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    function closeEventoEmpresa(){\r\n        props.closeEventoEmpresaClick()\r\n    }\r\n    function openSelectEventoEmpresa(){\r\n        setSelectEventoEmpresaOpen(\"OPEN\")\r\n    }\r\n    function closeSelectEventoEmpresa(){\r\n        setSelectEventoEmpresaOpen(\"\")\r\n    }\r\n    function formatEstado(estado){\r\n\t\tswitch(estado){\r\n\t\t\tcase \"A\":\r\n\t\t\t\treturn \"ACTIVO\"\r\n\t\t}\r\n\t\treturn \"INACTIVO\"\r\n\t}\r\n    let columns= [\r\n      \r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'Nombre',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE</div>), defaultFlex: 1, xdefaultLocked: 'end' , headerAlign: \"center\"},\r\n        { name: 'Estado',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ESTADO</div>), defaultFlex: 1, xdefaultLocked: 'end',render: ({ data }) => formatEstado(data[\"Estado\"]), headerAlign: \"center\" },   \r\n        { name: 'FechaRegistro',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>FECHA REGISTRO</div>), defaultFlex: 1, xdefaultLocked: 'end',render: ({ data }) => formatDateTime(data[\"FechaRegistro\"]), headerAlign: \"center\"  },  \r\n        \r\n    ]\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps } ) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n          \r\n        {\r\n        label: 'Eliminar',\r\n            onClick:()=>{\r\n                confirmAlert({\r\n                    title: 'Eliminar empresa',\r\n                    message: '¿Seguro desea eliminar?.',\r\n                    buttons: [\r\n                      {\r\n                        label: 'Si',\r\n                        onClick: () =>{                    \r\n                            dispatch(deleteEventoEmpresaAct(rowProps.data[\"EventoEmpresaId\"],eventoSeleccionadoId))\r\n                            .then(() => {     \r\n                        \r\n                            })\r\n                            .catch(() => {});\r\n                        }\r\n                      },\r\n                      {\r\n                        label: 'No',\r\n                        onClick: () => {\r\n                            \r\n                        }\r\n                      }\r\n                    ]\r\n                });               \r\n            }\r\n        }\r\n        ]\r\n    }, [])  \r\n    return (\r\n        <div\r\n          className={[\r\n            \"overlay3\",\r\n            \"fade-in\"\r\n          ].join(\" \")}\r\n        > \r\n         <div className={['loading_cont',loadingEventoEmpresa!==true?\"displaynone\":\"\"].join(' ')}><div className='single6'></div></div>\r\n         {selectEventoEmpresaOpen===\"OPEN\" ? <SeleccionarEventoEmpresa closeSelectEventoEmpresa={closeSelectEventoEmpresa} eventoSeleccionadoId={eventoSeleccionadoId}/>  :  \"\"}\r\n            <div className=\"borderContent ventanaPortafolio\">\r\n                <div className=\"innerShadow-height-100\">\r\n                    <h2>\r\n                        Empresa\r\n                        <div className=\"subItemCatalogo\">\r\n                            <Menu menuButton={<MenuButton><i className=\"fas fa-cog\"></i></MenuButton>}>\r\n                                <MenuItem onClick={openSelectEventoEmpresa}><i className=\"fas fa-sign-out-alt\"></i>Seleccionar</MenuItem> \r\n                            </Menu>\r\n                        </div>\r\n                    </h2>  \r\n                    <div className=\"titleTable-search\">EMPRESA<div className='floatright'><div className=\"filterNeg\"><input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n                      setEmpresaFilter(e.target.value);\r\n                      filterCatalogo(listaEventoEmpresa!==null?listaEventoEmpresa:[],e.target.value)\r\n                    }}/><i className=\"fas fa-search\"></i></div></div></div> \r\n                    <DataGrid\r\n                        idProperty=\"EventoEmpresaId\"\r\n                        style={gridStyle}                  \r\n                        columns={columns}\r\n                        enableSelection={true}\r\n                        selection={{ mode: 'single' }}                    \r\n                        dataSource={gridInfor}\r\n                        renderRowContextMenu={renderRowContextMenu}\r\n                        theme=\"amber-dark\"\r\n                    />\r\n                    <div className=\"dividerLine\"></div>\r\n                    <div className=\"textCenter\">\r\n                        <div className=\"btnCancelar\"  onClick={props.closeEventoEmpresaClick}>\r\n                            SALIR\r\n                        </div>\r\n                    </div> \r\n                </div>\r\n            </div>  \r\n        </div>\r\n      );\r\n    };\r\n    const mapStateToProps = (state) => ({});\r\n    export default connect(mapStateToProps, {})(EventoEmpresa);\r\n    ","import React, { useState, useEffect,useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid,{ Column }  from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {Menu,MenuItem,MenuButton,SubMenu} from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport {formatDateTime} from \"./Util\";\r\nimport {getEventoAct,deleteEventoAct} from \"../../actions/administracion\";\r\nimport EditarEvento from \"./EditarEvento\";\r\nimport EventoEmpresa from \"./EventoEmpresa\";\r\nimport \"../../config\";\r\nimport {NotificationContainer} from \"react-notifications\";\r\n\r\nconst Evento = (props) => {\r\n    const dispatch = useDispatch();\r\n    const gridStyle = { minHeight: '300px',height:'100%'}\r\n    const {listaEventos,loadingEventos} = useSelector((state) => state.administracion);\r\n    let [eventoSeleccionado,setEventoSeleccionado] = useState(null);\r\n    let [eventoEmpresaOpen,setEventoEmpresaOpen] = useState(\"\");\r\n    let [editEventoOpen, setEditEventoOpen] = useState(\"\")\r\n    let [loadEvento, setLoadEvento] = useState(false) \r\n\r\n    if(loadEvento===false){\r\n        setLoadEvento(true)\r\n        dispatch(getEventoAct(\"0\",\"\",\"\",\"ASC\",\"\"))\r\n        .then(() => {\r\n        })\r\n        .catch(() => {\r\n        });\r\n        \r\n    }\r\n\r\n    let [empresaFilter, setEmpresaFilter] = useState(\"\");   \r\n    let [gridInfor, setGridInfor] = useState([listaEventos!==null?listaEventos:[]]);     \r\n\r\n    if(listaEventos!==null && listaEventos!=gridInfor && empresaFilter===\"\")\r\n        setGridInfor(listaEventos)\r\n\r\n    function filterCatalogo(nego,empresaFilter){\r\n        //value => \r\n        setGridInfor(nego.filter(function(item) {\r\n            if (item[\"NombreEvento\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()) ||                 \r\n                item[\"Estado\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()))\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n   \r\n    function closeEvento(){\r\n        props.closeEventoClick()\r\n    }\r\n    function openNewEvento(){\r\n        setEventoSeleccionado(null)\r\n        setEditEventoOpen(\"EDIT\")\r\n    }\r\n\r\n    function closeEditEvento(){\r\n        setEditEventoOpen(\"\")\r\n    }\r\n    function closeEventoEmpresaClick(){\r\n        setEventoEmpresaOpen(\"\")\r\n    }\r\n    function formatEstado(estado){\r\n\t\tswitch(estado){\r\n\t\t\tcase \"A\":\r\n\t\t\t\treturn \"ACTIVO\"\r\n\t\t}\r\n\t\treturn \"INACTIVO\"\r\n\t}\r\n    let columns= [\r\n      \r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'NombreEvento',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE</div>), defaultFlex: 1, xdefaultLocked: 'end', minWidth: 500, headerAlign: \"center\" },\r\n        { name: 'Estado',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ESTADO</div>), defaultFlex: 1, xdefaultLocked: 'end',render: ({ data }) => formatEstado(data[\"Estado\"]), headerAlign: \"center\" },           \r\n        { name: 'FechaSubasta',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>FECHA SUBASTA</div>), defaultFlex: 1, xdefaultLocked: 'end',render: ({ data }) => new Date(data[\"FechaSubasta\"]).toLocaleString().replace(',', '') , headerAlign: \"center\"},      \r\n            \r\n       \r\n    ]\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps } ) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n        {\r\n            label: 'Empresa',\r\n            onClick:()=>{   \r\n                setEventoSeleccionado(rowProps.data)\r\n                setEventoEmpresaOpen(\"OPEN\")\r\n                console.log(rowProps.data)\r\n            }\r\n        },      \r\n        {\r\n            label: 'Editar',\r\n            onClick:()=>{   \r\n                setEventoSeleccionado(rowProps.data)\r\n                setEditEventoOpen(\"EDIT\")\r\n                console.log(rowProps.data)\r\n            }\r\n        },          \r\n        {\r\n        label: 'Eliminar',\r\n            onClick:()=>{\r\n                confirmAlert({\r\n                    title: 'Eliminar evento',\r\n                    message: '¿Seguro desea eliminar?.',\r\n                    buttons: [\r\n                      {\r\n                        label: 'Si',\r\n                        onClick: () =>{                    \r\n                           dispatch(deleteEventoAct(rowProps.data[\"EventoId\"]))\r\n                            .then(() => {     \r\n                                props.history.push(\"/seleccionarEvento\");\r\n                                window.location.reload();\r\n                            })\r\n                            .catch(() => {});\r\n                        }\r\n                      },\r\n                      {\r\n                        label: 'No',\r\n                        onClick: () => {\r\n                            \r\n                        }\r\n                      }\r\n                    ]\r\n                });               \r\n            }\r\n        }\r\n        ]\r\n    }, [])  \r\n    console.log(\"lista de eventos\")\r\n    console.log(listaEventos)\r\n  return (\r\n    <div\r\n      className={[\r\n        \"overlay3\",\r\n        \"fade-in\"\r\n      ].join(\" \")}\r\n    > \r\n     <div className={['loading_cont',loadingEventos\r\n     !==true?\"displaynone\":\"\"].join(' ')}><div className='single6'></div></div>\r\n      {editEventoOpen===\"EDIT\" ? <EditarEvento closeEditEvento={closeEditEvento} eventoSeleccionado={eventoSeleccionado}/>  :  \"\"}\r\n      {eventoEmpresaOpen===\"OPEN\" ? <EventoEmpresa closeEventoEmpresaClick={closeEventoEmpresaClick} eventoSeleccionado={eventoSeleccionado}/>  :  \"\"}\r\n        <div className=\"borderContent ventanaPortafolio\">\r\n            <div className=\"innerShadow-height-100\">\r\n                <h2>\r\n                    Eventos\r\n                    <div className=\"subItemCatalogo\">\r\n                        <Menu menuButton={<MenuButton><i className=\"fas fa-cog\"></i></MenuButton>}>\r\n                            <MenuItem onClick={openNewEvento}><i className=\"fas fa-sign-out-alt\"></i>Nuevo</MenuItem> \r\n                        </Menu>\r\n                    </div>\r\n                </h2>  \r\n                <div className=\"titleTable-search\">BUSCAR<div className='floatright'><div className=\"filterNeg\"><input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n                  setEmpresaFilter(e.target.value);\r\n                  filterCatalogo(listaEventos!==null?listaEventos:[],e.target.value)\r\n                }}/><i className=\"fas fa-search\"></i></div></div></div> \r\n                <DataGrid\r\n                    idProperty=\"EventoId\"\r\n                    style={gridStyle}                  \r\n                    columns={columns}\r\n                    enableSelection={true}\r\n                    selection={{ mode: 'single' }}                    \r\n                    dataSource={gridInfor}\r\n                    renderRowContextMenu={renderRowContextMenu}\r\n                    theme=\"amber-dark\"\r\n                />\r\n                <div className=\"dividerLine\"></div>\r\n                <div className=\"textCenter\">\r\n                    <div className=\"btnCancelar\"  onClick={closeEvento}>\r\n                        SALIR\r\n                    </div>\r\n                </div> \r\n            </div>\r\n        </div>  \r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(Evento);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport Select from 'react-select';\r\nimport Checkbox from 'rc-checkbox';\r\n\r\nimport { getEmpresaSelectAct, getUsuariosAct, getDataEmpresaAct, updateInversionistaAct, getEmpresaAct, getEmpresaSelectInversionista } from \"../../actions/administracion\";\r\n\r\nimport NumberFormat from 'react-number-format';\r\nimport \"../../config\";\r\nimport { enableFuncionalityForRole } from \"./Util\";\r\nconst EditarInversionista = (props) => {\r\n    const dispatch = useDispatch();\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n    const { listaEmpresasSelecInversionista, loadingEmpresa } = useSelector((state) => state.administracion);\r\n    // console.log(currentUser)\r\n    let [userRegistradorFuncionality] = useState(\r\n        currentUser !== null\r\n            ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_REGIS\")\r\n            : false\r\n    );\r\n\r\n    let [loadEmpresa, setLoadEmpresa] = useState(false)\r\n    if (loadEmpresa === false && listaEmpresasSelecInversionista === null) {\r\n        console.log(\"entre\")\r\n        setLoadEmpresa(true)\r\n        dispatch(getEmpresaSelectInversionista())\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n    }\r\n    // console.log(listaEmpresasSelecInversionista)\r\n\r\n    let [errors, setErrors] = useState({ \"empresaErr\": \"\" }, { \"usuarioIdErr\": \"\" }, { \"nombreErr\": \"\" }, { \"apellidoErr\": \"\" }, { \"cedulaErr\": \"\" }, { \"telefonoErr\": \"\" }, { \"direccionErr\": \"\" }, { \"emailErr\": \"\" });\r\n    let [nombre, setNombre] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Nombre\"] : \"\")\r\n    //console.log(\"estoy aqui en nombre\", nombre)\r\n    let [apellido, setApellido] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Apellido\"] : \"\")\r\n    let [cedula, setCedula] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Cedula\"] : \"\")\r\n    let [telefono, setTelefono] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Telefono\"] : \"\")\r\n    let [direccion, setDireccion] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Direccion\"] : \"\")\r\n    let [usuarioRegistroId, setUsuarioRegistroId] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"UsuarioRegistroId\"] : \"\")\r\n\r\n    // La empresa si carga\r\n    let [empresa, setEmpresa] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"EmpresaId\"] : \"\")\r\n    //console.log(empresa)\r\n\r\n    let [email, setEmail] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Email\"] : \"\");\r\n\r\n\r\n    // Aqui llega primero null\r\n    let [empresaSeleccionada, setEmpresaSeleccionada] = useState(listaEmpresasSelecInversionista != null ? listaEmpresasSelecInversionista.filter(x => x.value === empresa)[0] : {})\r\n    //console.log(empresaSeleccionada)\r\n    //console.log(listaEmpresasSelecInversionista)\r\n    let [boolListEmpresaEvento, setboolListEmpresaEvento] = useState(false)\r\n\r\n    if (empresaSeleccionada == undefined && listaEmpresasSelecInversionista != null && boolListEmpresaEvento == false && userRegistradorFuncionality == true) {\r\n        //console.log(\"hola\")\r\n        setboolListEmpresaEvento(true)\r\n        listaEmpresasSelecInversionista.forEach((empresa) => {\r\n            setEmpresaSeleccionada({ value: empresa.value, label: empresa.label })\r\n            setEmpresa({ value: empresa.value, label: empresa.label })\r\n        })\r\n    }\r\n\r\n\r\n    let [isError, setIsError] = useState(false)\r\n\r\n    let cambioEstado = useState(null)\r\n    let cambioEmpresa = useState(null)\r\n    if (props.inversionistaSeleccionado !== null && props.inversionistaSeleccionado[\"Estado\"] == \"I\") {\r\n        cambioEstado = { value: 'I', label: \"Inactivo\" }\r\n    }\r\n    if (props.inversionistaSeleccionado !== null && props.inversionistaSeleccionado[\"Estado\"] == \"A\") {\r\n        cambioEstado = { value: 'A', label: \"Activo\" }\r\n    }\r\n    if (props.inversionistaSeleccionado === null) {\r\n        cambioEstado = { value: 'A', label: \"Activo\" }\r\n\r\n    }\r\n    let [estadoSelect, setEstadoSelect] = useState(cambioEstado);\r\n    let [estadoSelectEmpresa, setEstadoSelectEmpresa] = useState(cambioEmpresa);\r\n    const optionsEstado = [\r\n        { value: 'I', label: 'Inactivo' },\r\n        { value: 'A', label: 'Activo' },\r\n    ]\r\n    function closeEditInversionista() {\r\n        props.closeEditInversionista()\r\n    }\r\n\r\n\r\n    if (empresa === null) {\r\n        setEmpresa({ value: '0', label: \"Ninguno\" })\r\n    }\r\n\r\n\r\n\r\n\r\n\r\n    // Validacion campos\r\n\r\n    const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n    //const cedulaRegex = /^[0-9]+$/;\r\n    function actualizar() {\r\n\r\n        let valid = true\r\n\r\n        if (nombre == \"\") {\r\n            errors[\"nombreErr\"] = \"Ingrese nombre\"\r\n            valid = false\r\n        }\r\n        if (!nombreRegex.test(nombre)) {\r\n            errors[\"nombreErr\"] = \"Ingrese solo letras\"\r\n            valid = false\r\n        }\r\n        if (apellido == \"\") {\r\n            errors[\"apellidoErr\"] = \"Ingrese apellido\"\r\n            valid = false\r\n        }\r\n        if (!nombreRegex.test(apellido)) {\r\n            errors[\"apellidoErr\"] = \"Ingrese solo letras\"\r\n            valid = false\r\n        }\r\n        if (cedula == \"\") {\r\n            errors[\"cedulaErr\"] = \"Ingrese cédula\"\r\n            valid = false\r\n        }\r\n        // if (telefono == \"\") {\r\n        //   errors[\"telefonoErr\"] = \"Ingrese teléfono\"\r\n        // valid = false\r\n        //}\r\n        /*if (direccion == \"\") {\r\n            errors[\"direccionErr\"] = \"Ingrese dirección\"\r\n            valid = false\r\n        }*/\r\n        if (email == \"\" || !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(email)) {\r\n            errors[\"emailErr\"] = \"Ingrese mail (example@example.com)\";\r\n            valid = false;\r\n        }\r\n\r\n        setErrors(errors)\r\n        setIsError(true)\r\n        if (!valid) {\r\n            return\r\n        }\r\n\r\n\r\n\r\n        dispatch(updateInversionistaAct(\r\n            props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"InversionistaId\"] : \"-1\",\r\n            nombre,\r\n            apellido,\r\n            cedula,\r\n            telefono,\r\n            direccion,\r\n            estadoSelect[\"value\"],\r\n            currentUser[\"userId\"],\r\n            props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"EmpresaId\"] : empresa.value,\r\n            email,\r\n            \"0\",\r\n            \"\",\r\n            \"\",\r\n            \"ASC\",\r\n            \"\",\r\n            currentUser[\"EmpresaId\"]\r\n        )).then(() => {\r\n        }).catch(() => {\r\n        }\r\n        );\r\n\r\n        closeEditInversionista()\r\n        console.log(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"InversionistaId\"] : \"-1\")\r\n        console.log(\"nombre:\" + nombre)\r\n        console.log(\"apellido:\" + apellido)\r\n        console.log(\"cedula:\" + cedula)\r\n        console.log(\"telefono:\" + telefono)\r\n        console.log(\"direccion:\" + direccion)\r\n        console.log(\"estado:\" + estadoSelect[\"value\"])\r\n        console.log(\"usuarioRegistroId:\" + estadoSelect[\"value\"])\r\n        console.log(\"empresaSeleccionada:\" + empresa.value)\r\n    }\r\n    return (\r\n        <div className='overlay3 fade-in'>\r\n\r\n            <div className=\"borderContent ventanaPortafolioEditarInversionista\">\r\n                <div className=\"innerShadow3\">\r\n                    <div id=\"formulario-estilo\">\r\n                        <h2>\r\n                            Inversionista\r\n                        </h2>\r\n\r\n                        <div className='vertical-scrollI customScroll'>\r\n                            <div className=\"columna-1-inversionista\">\r\n\r\n\r\n\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Empresa:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <Select\r\n                                            autocomplete=\"off\"\r\n                                            className=\"input-form\"\r\n                                            id=\"estadoSelectCombo\"\r\n\r\n                                            //value={props.inversionistaSeleccionado !== null?props.inversionistaSeleccionado[\"EmpresaId\"]:empresa}\r\n                                            value={empresaSeleccionada}\r\n                                            onChange={(e) => {\r\n                                                setEmpresa(e)\r\n                                                setEmpresaSeleccionada(e)\r\n                                                console.log(e)\r\n                                                errors[\"empresaErr\"] = \"\"\r\n                                            }}\r\n                                            placeholder=\"Ninguno\"\r\n                                            options={listaEmpresasSelecInversionista !== null ? listaEmpresasSelecInversionista : []} />\r\n\r\n                                        {errors[\"empresaErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"empresaErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n\r\n\r\n\r\n\r\n                                <div className=\"col-30\">\r\n                                    <label>\r\n                                        <i className=\"fas fa-edit\"></i> <span>Nombre:</span>\r\n                                    </label>\r\n                                </div>\r\n                                <div className=\"col-70\">\r\n                                    <input\r\n                                        autocomplete=\"off\"\r\n                                        type=\"text\"\r\n                                        value={nombre}\r\n                                        maxLength={1000}\r\n                                        placeholder=\"Ingresar Nombre\"\r\n                                        className=\"input-form\"\r\n                                        onChange={(e) => {\r\n                                            const inputText = e.target.value;\r\n                                            const capitalizedText = inputText.toUpperCase();\r\n                                            setNombre(capitalizedText);\r\n                                            errors[\"NombreErr\"] = \"\"\r\n                                        }}\r\n                                    ></input>\r\n                                    {errors[\"nombreErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"nombreErr\"]}</div> : \"\"}\r\n                                </div>\r\n\r\n\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Apellido:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <input\r\n                                            autocomplete=\"off\"\r\n                                            type=\"text\"\r\n                                            value={apellido}\r\n                                            maxLength={1000}\r\n                                            placeholder=\"Ingresar Apellido\"\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                const inputText = e.target.value;\r\n                                                const capitalizedText = inputText.toUpperCase();\r\n                                                setApellido(capitalizedText);\r\n                                                //setApellido(e.target.value);\r\n                                                errors[\"apellidoErr\"] = \"\"\r\n                                            }}\r\n                                        ></input>\r\n                                        {errors[\"apellidoErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"apellidoErr\"]}</div> : \"\"}\r\n                                    </div>\r\n\r\n                                </div>\r\n\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Email:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <input\r\n                                            autocomplete=\"off\"\r\n                                            type=\"email\"\r\n                                            value={email}\r\n                                            maxLength={1000}\r\n                                            placeholder=\"Ingresar Email\"\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                setEmail(e.target.value);\r\n                                                errors[\"emailErr\"] = \"\"\r\n                                            }}\r\n                                        ></input>\r\n                                        {errors[\"emailErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"emailErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n\r\n\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Cédula:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <NumberFormat\r\n                                            autocomplete=\"off\"\r\n                                            value={cedula}\r\n                                            maxLength={10}\r\n                                            decimalScale={0}\r\n                                            placeholder=\"Ingresar Cédula\"\r\n                                            allowLeadingZeros={true}\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                setCedula(e.target.value);\r\n                                                errors[\"cedulaErr\"] = \"\"\r\n                                            }}\r\n                                        ></NumberFormat>\r\n                                        {errors[\"cedulaErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"cedulaErr\"]}</div> : \"\"}\r\n                                    </div>\r\n\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Teléfono:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <NumberFormat\r\n                                            autocomplete=\"off\"\r\n                                            value={telefono}\r\n                                            maxLength={10}\r\n                                            decimalScale={0}\r\n                                            allowLeadingZeros={true}\r\n                                            placeholder=\"Ingresar Teléfono\"\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                setTelefono(e.target.value);\r\n                                                errors[\"telefonoErr\"] = \"\"\r\n                                            }}\r\n                                        ></NumberFormat>\r\n                                        {errors[\"telefonoErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"telefonoErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-wrench\"></i> <span>Estado:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <Select\r\n                                            autocomplete=\"off\"\r\n                                            className=\"input-form\"\r\n                                            id=\"estadoSelectCombo\"\r\n                                            value={estadoSelect}\r\n                                            onChange={(e) => {\r\n                                                setEstadoSelect(e)\r\n                                            }} placeholder=\"Seleccione\" options={optionsEstado} />\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Dirección:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <textarea\r\n                                            autocomplete=\"off\"\r\n                                            type=\"text\"\r\n                                            value={direccion}\r\n                                            maxLength={5000}\r\n                                            placeholder=\"Dirección\"\r\n                                            className=\"text-area-form\"\r\n                                            onChange={(e) => {\r\n                                                setDireccion(e.target.value);\r\n                                                errors[\"direccionErr\"] = \"\"\r\n                                            }}\r\n                                        ></textarea>\r\n                                        {errors[\"direccionErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"direccionErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n\r\n\r\n                            </div>\r\n\r\n                            <div className=\"textCenter clear-both\">\r\n                                <div className=\"btnGuardar\" onClick={actualizar} >\r\n                                    GUARDAR\r\n                                </div>{\" \"}\r\n                                <div className=\"btnCancelar\" onClick={closeEditInversionista}>\r\n                                    SALIR\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarInversionista);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid, { Column } from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport { enableFuncionalityForRole, formatNumber, generateMessageAdm } from \"../../components/general/Util\";\r\nimport { formatDateTime } from \"./Util\";\r\nimport { getInversionistaAct, deleteInversionistaAct, getEmpresaSelectInversionista } from \"../../actions/administracion\";\r\nimport EditarInversionista from \"./EditarInversionista\";\r\nimport \"../../config\";\r\nimport { NotificationContainer } from \"react-notifications\";\r\n\r\nconst Inversionista = (props) => {\r\n    const dispatch = useDispatch();\r\n    const gridStyle = { minHeight: '300px', height: '100%' }\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n\r\n    let [eventoSeleccionadoId] = useState(props.eventoSeleccionado);\r\n    let [empresaId] = useState(props.empresaId);\r\n    let [usuarioId] = useState(props.usuarioId);\r\n\r\n    const { listaInversionista, loadingInversionista } = useSelector((state) => state.administracion);\r\n    const { listaEmpresasSelecInversionista, loadingEmpresa } = useSelector((state) => state.administracion);\r\n\r\n    let [inversionistaSeleccionado, setInversionistaSeleccionado] = useState(null);\r\n    let [editInversionistaOpen, setEditInversionistaOpen] = useState(\"\")\r\n    let [loadInverisonista, setLoadInversionista] = useState(false)\r\n\r\n\r\n    console.log(listaInversionista)\r\n\r\n    //\r\n\r\n    if (loadInverisonista === false && listaEmpresasSelecInversionista === null) {\r\n        setLoadInversionista(true)\r\n        dispatch(getInversionistaAct(usuarioId,empresaId,\"0\", \"\", \"\", \"ASC\", \"\"))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n        // agg\r\n        dispatch(getEmpresaSelectInversionista(usuarioId, empresaId))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n    }\r\n    let [empresaFilter, setEmpresaFilter] = useState(\"\");\r\n    let [gridInfor, setGridInfor] = useState([listaInversionista !== null ? listaInversionista : []]);\r\n\r\n    if (listaInversionista !== null && listaInversionista != gridInfor && empresaFilter === \"\")\r\n        setGridInfor(listaInversionista)\r\n\r\n    function filterCatalogo(nego, empresaFilter) {\r\n        //value => \r\n        setGridInfor(nego.filter(function (item) {\r\n            if (item[\"Nombre\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()) ||\r\n                item[\"Direccion\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()) ||\r\n                item[\"Estado\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()))\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    function closeInversionista() {\r\n        props.closeInversionistaClick()\r\n    }\r\n    function openNewInversionista() {\r\n        setInversionistaSeleccionado(null)\r\n        setEditInversionistaOpen(\"EDIT\")\r\n    }\r\n    function openNewInversionistaSE() {\r\n        setInversionistaSeleccionado(null)\r\n        setEditInversionistaOpen(\"EDIT\")\r\n\r\n    }\r\n\r\n    function closeEditInversionista() {\r\n        setEditInversionistaOpen(\"\")\r\n    }\r\n    function formatEstado(estado) {\r\n        switch (estado) {\r\n            case \"A\":\r\n                return \"ACTIVO\"\r\n        }\r\n        return \"INACTIVO\"\r\n    }\r\n    function formatEstado(estado) {\r\n        switch (estado) {\r\n            case \"A\":\r\n                return \"ACTIVO\"\r\n        }\r\n        return \"INACTIVO\"\r\n    }\r\n\r\n    let [userRegistradorFuncionality] = useState(\r\n        currentUser !== null\r\n            ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_REGIS\")\r\n            : false\r\n    );\r\n    let columns = [\r\n\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'Nombre', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\",formatter: (cell) => {\r\n            return cell.toLowerCase().replace(/\\b\\w/g, c => c.toUpperCase());\r\n          } },\r\n        { name: 'Apellido', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>APELLIDO</div>), defaultFlex: 1, xdefaultLocked: 'start', defaultWidth: 400, headerAlign: \"center\" },\r\n        { name: 'Cedula', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>CÉDULA</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\" },\r\n        { name: 'Estado', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ESTADO</div>), defaultFlex: 1, xdefaultLocked: 'end', render: ({ data }) => formatEstado(data[\"Estado\"]), headerAlign: \"center\" },\r\n    ]\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps }) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n\r\n            {\r\n                label: 'Editar',\r\n                onClick: () => {\r\n                    setInversionistaSeleccionado(rowProps.data)\r\n                    setEditInversionistaOpen(\"EDIT\")\r\n                    console.log(\"seleccion inver\", rowProps.data)\r\n                }\r\n            },\r\n            {\r\n                label: 'Eliminar',\r\n                onClick: () => {\r\n                    confirmAlert({\r\n                        title: 'Eliminar inversionista',\r\n                        message: '¿Seguro desea eliminar?.',\r\n                        buttons: [\r\n                            {\r\n                                label: 'Si',\r\n                                onClick: () => {\r\n                                    dispatch(deleteInversionistaAct(rowProps.data[\"InversionistaId\"],usuarioId,empresaId,))\r\n                                        .then(() => {\r\n\r\n                                        })\r\n                                        .catch(() => { });\r\n                                }\r\n                            },\r\n                            {\r\n                                label: 'No',\r\n                                onClick: () => {\r\n\r\n                                }\r\n                            }\r\n                        ]\r\n                    });\r\n                }\r\n            }\r\n        ]\r\n    }, [])\r\n    return (\r\n        <div\r\n            className={[\r\n                \"overlay3\",\r\n                \"fade-in\"\r\n            ].join(\" \")}\r\n        >\r\n            <div className={['loading_cont', loadingInversionista !== true ? \"displaynone\" : \"\"].join(' ')}><div className='single6'></div></div>\r\n            {editInversionistaOpen === \"EDIT\" ?\r\n                <EditarInversionista\r\n                    closeEditInversionista={closeEditInversionista}\r\n                    inversionistaSeleccionado={inversionistaSeleccionado}\r\n                    \r\n                //listaEmpresasSelecInversionista = {listaEmpresasSelecInversionista}\r\n                />\r\n                : \"\"}\r\n            <div className=\"borderContent ventanaPortafolio\">\r\n                <div className=\"innerShadow-height-100\">\r\n                    <h2>\r\n                        Inversionista\r\n                        <div className=\"subItemCatalogo\">\r\n                            <Menu menuButton={<MenuButton><i className=\"fas fa-cog\"></i></MenuButton>}>\r\n                                <MenuItem onClick={openNewInversionistaSE}><i className=\"fas fa-sign-out-alt\"></i>Nuevo</MenuItem>\r\n                            </Menu>\r\n                        </div>\r\n                    </h2>\r\n                    <div className=\"titleTable-search\">INVERSIONISTA<div className='floatright'><div className=\"filterNeg\"><input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n                        setEmpresaFilter(e.target.value);\r\n                        filterCatalogo(listaInversionista !== null ? listaInversionista : [], e.target.value)\r\n                    }} /><i className=\"fas fa-search\"></i></div></div></div>\r\n\r\n\r\n                    <DataGrid\r\n                        idProperty=\"InversionistaId\"\r\n                        style={gridStyle}\r\n                        columns={columns}\r\n                        enableSelection={true}\r\n                        selection={{ mode: 'single' }}\r\n                        dataSource={gridInfor}\r\n                        renderRowContextMenu={renderRowContextMenu}\r\n                        theme=\"amber-dark\"\r\n                    />\r\n                    <div className=\"dividerLine\"></div>\r\n\r\n                    {userRegistradorFuncionality == false ?\r\n                        <div className=\"textCenter\">\r\n                            <div className=\"btnCancelar\" onClick={closeInversionista}>\r\n                                SALIR\r\n                            </div>\r\n                        </div>\r\n                        : <div className=\"textCenter\">\r\n\r\n                        </div>}\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(Inversionista);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport Select from 'react-select';\r\nimport { updateUsuario } from \"../../actions/administracion\";\r\nimport UploadFile from \"./UploadFile\";\r\nimport UploadFileNew from \"./UploadFileNew\";\r\nimport \"../../config\";\r\nimport { enableFuncionalityForRole } from \"./Util\";\r\nconst EditarGestionUsuario = (props) => {\r\n    const dispatch = useDispatch();\r\n    let [userId, setUserId] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"UsuarioId\"] : \"-1\")\r\n    let [errors, setErrors] = useState({ \"nombreErr\": \"\" }, { \"nickErr\": \"\" }, { \"emailErr\": \"\" }, { \"rolErr\": \"\" });\r\n    let [nombre, setNombre] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"Nombre\"].toString() : \"\")\r\n    let [nick, setNick] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"Nick\"].toString() : \"\")\r\n    let [email, setEmail] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"Email\"].toString() : \"\")\r\n    let [rol, setRol] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"Rol\"] : \"\")\r\n    let [uploadId, setUploadId] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"UploadId\"] : \"-1\")\r\n    let [fileNombre, setFileNombre] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"fileNombre\"] : \"\")\r\n    let [fileNombreUrl, setFileNombreUrl] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"fileNombreUrl\"] : \"\")\r\n\r\n\r\n    let [imagenUrl, setImagenUrl] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"ImagenUrl\"] : \"\")\r\n    //console.log(\"imagen\", imagenUrl)\r\n    //let [logo, setLogo] = useState(props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"ImagenUrl\"] : \"\");\r\n    //console.log(\"logo\", logo)\r\n\r\n    let [clave, setClave] = useState(null)\r\n    let cambioEstado = useState(null)\r\n    let [isError, setIsError] = useState(false)\r\n\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n\r\n    let [admFuncionality] = useState(\r\n        currentUser !== null\r\n            ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_ADM\")\r\n            : false\r\n    );\r\n    let [userRuedaFuncionality] = useState(\r\n        currentUser !== null\r\n            ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_RUED\")\r\n            : false\r\n    );\r\n\r\n\r\n\r\n    if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Estado\"] == \"I\") {\r\n        cambioEstado = { value: 'I', label: \"Inactivo\" }\r\n    }\r\n    if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Estado\"] == \"A\") {\r\n        cambioEstado = { value: 'A', label: \"Activo\" }\r\n    }\r\n    if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Estado\"] == \"D\") {\r\n        cambioEstado = { value: 'D', label: \"Desactivado\" }\r\n    }\r\n    if (props.usuarioSeleccionado === null) {\r\n        cambioEstado = { value: 'A', label: \"Activo\" }\r\n    }\r\n    let [estadoSelect, setEstadoSelect] = useState(cambioEstado);\r\n    const optionsEstado = [\r\n        { value: 'I', label: 'Inactivo' },\r\n        { value: 'A', label: 'Activo' },\r\n    ]\r\n    let cambioRol = useState(null)\r\n\r\n    if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Rol\"] == \"ROLE_ADMIN\") {\r\n        cambioRol = { value: 'ROLE_ADMIN', label: \"Admin\" }\r\n    }\r\n    // if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Rol\"] == \"ROLE_USER\") {\r\n    //   cambioRol = { value: 'ROLE_USER', label: \"Jugador\" }\r\n    //}\r\n    if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Rol\"] == \"ROLE_RUEDA\") {\r\n        cambioRol = { value: 'ROLE_RUEDA', label: \"Director de rueda\" }\r\n    }\r\n    if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Rol\"] == \"ROLE_CAJA\") {\r\n        cambioRol = { value: 'ROLE_CAJA', label: \"Usuario Caja\" }\r\n    }\r\n\r\n    if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Rol\"] == \"ROLE_LIQUIDACION\") {\r\n        cambioRol = { value: 'ROLE_LIQUIDACION', label: \"Usuario Liquidacion\" }\r\n    }\r\n    /*if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Rol\"] == \"ROLE_CAJA\") {\r\n        cambioRol = { value: 'ROLE_VISITANTE', label: \"Visitante\" }\r\n    }*/\r\n\r\n\r\n    if (props.usuarioSeleccionado === null) {\r\n        cambioRol = admFuncionality === true ? { value: 'ROLE_OPERADOR', label: \"Usuario Operador\" } : { value: 'ROLE_OPERADOR', label: \"Usuario Operador\" };\r\n    }\r\n\r\n    if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Rol\"] == \"ROLE_OPERADOR\") {\r\n        cambioRol = { value: 'ROLE_OPERADOR', label: \"Usuario Operador\" }\r\n    }\r\n\r\n    if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Rol\"] == \"ROLE_REGISTRADOR\") {\r\n        cambioRol = { value: 'ROLE_REGISTRADOR', label: \"Usuario Registrador\" }\r\n    }\r\n    // if (props.usuarioSeleccionado !== null && props.usuarioSeleccionado[\"Rol\"] == \"ROLE_RECEPTOR\") {\r\n    //    cambioRol = { value: 'ROLE_RECEPTOR', label: \"Usuario Receptor\" }\r\n    //}\r\n\r\n\r\n    let [rolSelect, setRolSelect] = useState(cambioRol);\r\n\r\n\r\n\r\n    const optionsRol = admFuncionality === true ? [\r\n        { value: 'ROLE_ADMIN', label: 'Administrador' },\r\n        //  { value: 'ROLE_USER', label: 'Jugador' },\r\n        { value: 'ROLE_RUEDA', label: 'Director de rueda' },\r\n        { value: 'ROLE_CAJA', label: 'Usuario Caja' },\r\n        { value: 'ROLE_LIQUIDACION', label: 'Usuario Liquidacion' },\r\n        { value: 'ROLE_OPERADOR', label: 'Usuario Operador' },\r\n        { value: 'ROLE_REGISTRADOR', label: 'Usuario Registrador' }\r\n        //{ value: 'ROLE_RECEPTOR', label: 'Usuario Receptor' }\r\n    ] : [\r\n        { value: 'ROLE_OPERADOR', label: 'Usuario Operador' },\r\n        //{ value: 'ROLE_RECEPTOR', label: 'Usuario Receptor' }\r\n    ]\r\n\r\n    function crearClave() {\r\n        let valid = true\r\n        if (email == \"\") {\r\n            errors[\"emailErr\"] = \"Ingrese email\"\r\n            valid = false\r\n        } else {\r\n            var valor = email\r\n            var division = valor.split(\"@\", 1)\r\n            var result = division.toString().replace(/[^a-zA-Z ]/g, \"\");\r\n            var numeros = aleatorio(1000, 9999)\r\n            result = result + numeros\r\n            setClave(result)\r\n            errors[\"claveErr\"] = \"\"\r\n        }\r\n        return valid\r\n    }\r\n    function aleatorio(inferior, superior) {\r\n        var numPosibilidades = superior - inferior;\r\n        var aleatorio = Math.random() * (numPosibilidades + 1);\r\n        aleatorio = Math.floor(aleatorio);\r\n        return inferior + aleatorio;\r\n    }\r\n    function closeEditU() {\r\n        props.closeUser()\r\n    }\r\n\r\n    const textoRegex = /^[a-zA-Z0-9Ññ_\\s-]*$/;\r\n    const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n\r\n    function actualizarU() {\r\n\r\n        let valid = true\r\n\r\n        if (userId <= 0 && clave === null) {\r\n            errors[\"claveErr\"] = \"Ingrese una contraseña\"\r\n            valid = false\r\n        }\r\n        if (nombre == \"\") {\r\n            errors[\"nombreErr\"] = \"Ingrese nombre\"\r\n            valid = false\r\n        }\r\n        if (!nombreRegex.test(nombre)) {\r\n            errors[\"nombreErr\"] = \"Ingrese solo letras\"\r\n            valid = false\r\n        }\r\n\r\n        if (nick == \"\") {\r\n            errors[\"nickErr\"] = \"Ingrese nick\"\r\n            valid = false\r\n        }\r\n        if (!textoRegex.test(nick)) {\r\n            errors[\"nickErr\"] = \"Ingrese solo letras y números\"\r\n            valid = false\r\n        }\r\n        if (email == \"\" || !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(email)) {\r\n            errors[\"emailErr\"] = \"Ingrese email (example@example.com)\"\r\n            valid = false\r\n        }\r\n        setErrors(errors)\r\n        setIsError(true)\r\n        if (!valid) {\r\n            return\r\n        }\r\n\r\n        dispatch(updateUsuario(\r\n            props.usuarioSeleccionado !== null ? props.usuarioSeleccionado[\"UsuarioId\"] : \"-1\",\r\n            nombre,\r\n            nick,\r\n            email,\r\n            rolSelect[\"value\"],\r\n            clave !== null ? clave : \"\",\r\n            estadoSelect[\"value\"],\r\n            uploadId,\r\n            imagenUrl\r\n        )).then(() => {\r\n\r\n        }).catch(() => { }\r\n        );\r\n        closeEditU()\r\n    }\r\n    function reloadDocuments(file) {\r\n        const result = JSON.parse(file);\r\n        setUploadId(result[\"UploadId\"])\r\n        setFileNombre(result[\"fileNombre\"])\r\n        setFileNombreUrl(result[\"fileNombreUrl\"])\r\n    }\r\n\r\n    const convertirBase64 = (files) => {\r\n        Array.from(files).forEach(file => {\r\n            const reader = new FileReader();\r\n            reader.readAsDataURL(file);\r\n            reader.onload = () => {\r\n                let arrayImage = []\r\n                let base = reader.result;\r\n                arrayImage = base.split(',');\r\n                setImagenUrl(arrayImage[1])\r\n\r\n\r\n            }\r\n        })\r\n    }\r\n\r\n    const [passwordVisible, setPasswordVisible] = useState(false);\r\n    return (\r\n        <div className='overlay3 fade-in'>\r\n            <div className=\"borderContent ventanaPerfil\">\r\n                <div className=\"innerShadow3\">\r\n                    <div id=\"formulario-estilo\">\r\n                        <h2>\r\n                            Usuarios\r\n                        </h2>\r\n                        <div className='vertical-scroll customScroll'>\r\n                            <div className=\"columna-1-formulario-ventana-perfil\">\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Nombre:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <input\r\n                                            autocomplete=\"off\"\r\n                                            type=\"text\"\r\n                                            value={nombre}\r\n                                            maxLength={100}\r\n                                            placeholder=\"Ingresar nombre\"\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                setNombre(e.target.value);\r\n                                                errors[\"nombreErr\"] = \"\"\r\n                                            }}\r\n                                        ></input>\r\n                                        {errors[\"nombreErr\"] !== \"\" ? <div className='camporequerido'> {errors[\"nombreErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Nick:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <input\r\n                                            autocomplete=\"off\"\r\n                                            type=\"text\"\r\n                                            value={nick}\r\n                                            maxLength={50}\r\n                                            placeholder=\"Ingresar nick\"\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                setNick(e.target.value);\r\n                                                errors[\"nickErr\"] = \"\"\r\n                                            }}\r\n                                        ></input>\r\n                                        {errors[\"nickErr\"] !== \"\" ? <div className='camporequerido'> {errors[\"nickErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-at\"></i> <span>Email:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <input\r\n                                            autocomplete=\"off\"\r\n                                            type=\"email\"\r\n                                            value={email}\r\n                                            maxLength={50}\r\n                                            placeholder=\"Ingresar email\"\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                setEmail(e.target.value);\r\n                                                errors[\"emailErr\"] = \"\"\r\n                                            }}\r\n                                        ></input>\r\n                                        {errors[\"emailErr\"] !== \"\" ? <div className='camporequerido'> {errors[\"emailErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-wrench\"></i> <span>Rol:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <Select\r\n                                            autocomplete=\"off\"\r\n                                            \r\n                                            className=\"input-form\"\r\n                                            id=\"InstitucionCombo\"\r\n                                            value={rolSelect}\r\n                                            onChange={(e) => {\r\n                                                setRolSelect(e)\r\n                                            }} placeholder=\"Seleccione\" options={optionsRol !== null ? optionsRol : []}\r\n                                        />\r\n                                    </div>\r\n                                </div>\r\n\r\n\r\n                                <div className=\"row-form\">\r\n                                    <a className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Contraseña:</span>\r\n                                        </label>\r\n                                    </a>\r\n                                    <div className=\"col-70\">\r\n                                        <div className=\"cursor-pointer\" onClick={crearClave}>\r\n                                            <i className=\"fas fa-key\"></i> Generar\r\n                                        </div>\r\n                                        <input\r\n                                            autocomplete=\"new-password\"\r\n                                            type={passwordVisible ? \"text\" : \"password\"}\r\n                                            value={clave}\r\n                                            maxLength={50}\r\n                                            placeholder=\"Ingresar contraseña\"\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                setClave(e.target.value);\r\n                                                errors[\"claveErr\"] = \"\"\r\n                                            }}\r\n                                            \r\n                                        ></input>\r\n                                        <button className={passwordVisible ? \"fas fa-eye fa-1x\" : \"fas fa-eye-slash fa-1x\"} onClick={() => setPasswordVisible(!passwordVisible)}></button>\r\n                                        {errors[\"claveErr\"] !== \"\" ? <div className='camporequerido'> {errors[\"claveErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-file-image\"></i> <span>Imagen:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <input type=\"file\" className=\"boxStyleSelect\" multiple onChange={(e) => convertirBase64(e.target.files)}></input>\r\n                                        <div className=\"boxStyleSelect\">Selecciona el archivo para subirlo</div>\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-wrench\"></i> <span>Estado:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <Select\r\n                                            autocomplete=\"off\"\r\n                                            className=\"input-form\"\r\n                                            id=\"InstitucionCombo\"\r\n                                            value={estadoSelect}\r\n                                            onChange={(e) => {\r\n                                                setEstadoSelect(e)\r\n                                            }} placeholder=\"Seleccione\" options={optionsEstado !== null ? optionsEstado : []}\r\n                                        />\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                            <div className=\"textCenter clear-both\">\r\n                                <div className=\"btnGuardar\" onClick={actualizarU} >\r\n                                    GUARDAR\r\n                                </div>{\" \"}\r\n                                <div className=\"btnCancelar\" onClick={closeEditU}>\r\n                                    SALIR\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarGestionUsuario);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid, { Column } from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport { getUsuarios, deleteUsuario } from \"../../actions/administracion\";\r\nimport EditarUsuario from \"./EditarUsuario\";\r\nimport \"../../config\";\r\n\r\n//\"0\",\"\",\"\",\"ASC\",\"\"\r\nconst GestionUsuario = (props) => {\r\n    const dispatch = useDispatch();\r\n    const gridStyle = { minHeight: '300px', height: '100%' }\r\n    const { listaUser, loadingUser } = useSelector((state) => state.administracion);\r\n    let [editUsuarioOpen, setEditUsuarioOpen] = useState(\"\")\r\n    let [usuarioSeleccionado, setUsuarioSeleccionado] = useState(\"null\")\r\n    let [mostrarUsuarios, setMostrarUsuarios] = useState(false)\r\n\r\n    //console.log(\"aqui\", listaUser, \"fin\")\r\n    if (listaUser === null && mostrarUsuarios === false) {\r\n        setMostrarUsuarios(true)\r\n        dispatch(getUsuarios(\"0\", \"\", \"\", \"ASC\", \"\"))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n    }\r\n\r\n    let [plantillaFilter, setPlantillaFilter] = useState(\"\");\r\n    let [gridInfor, setGridInfor] = useState([listaUser !== null ? listaUser : []]);\r\n\r\n    if (listaUser !== null && listaUser != gridInfor && plantillaFilter === \"\")\r\n        setGridInfor(listaUser)\r\n\r\n    function filterPlantilla(nego, plantillaFilter) {\r\n        //value =>   getRol(data[\"Rol\"])\r\n        setGridInfor(nego.filter(function (item) {\r\n            if (item[\"Nombre\"].toLowerCase().includes(plantillaFilter.toLocaleLowerCase()) ||\r\n                item[\"Nick\"].toLowerCase().includes(plantillaFilter.toLocaleLowerCase()) ||\r\n                item[\"Email\"].toLowerCase().includes(plantillaFilter.toLocaleLowerCase()) ||\r\n                getRol(item[\"Rol\"]).toLowerCase().includes(plantillaFilter.toLocaleLowerCase())\r\n            )\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    function openEditUser() {\r\n        setEditUsuarioOpen(\"EDIT\")\r\n    }\r\n    function openNewUser() {\r\n        setUsuarioSeleccionado(null)\r\n        setEditUsuarioOpen(\"EDIT\")\r\n    }\r\n    function closeUser() {\r\n        setEditUsuarioOpen(\"\")\r\n    }\r\n    function closeWindowUsuario() {\r\n        props.closeUsuarioClick()\r\n    }\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps }) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n            {\r\n                label: 'Editar',\r\n                onClick: () => {\r\n                    setUsuarioSeleccionado(rowProps.data)\r\n                    setEditUsuarioOpen(\"EDIT\")\r\n                    console.log(rowProps.data)\r\n                }\r\n            },\r\n            {\r\n                label: 'Eliminar',\r\n                onClick: () => {\r\n                    confirmAlert({\r\n                        title: 'Eliminar usuario ' + rowProps.data[\"Nombre\"],\r\n                        message: '¿Seguro desea eliminar?.',\r\n                        buttons: [\r\n                            {\r\n                                label: 'Si',\r\n                                onClick: () => {\r\n                                    console.log(\"si eliminar\")\r\n                                    dispatch(deleteUsuario(rowProps.data[\"UsuarioId\"]))\r\n                                        .then(() => {\r\n\r\n                                        })\r\n                                        .catch(() => { });\r\n                                }\r\n                            },\r\n                            {\r\n                                label: 'No',\r\n                                onClick: () => {\r\n\r\n                                }\r\n                            }\r\n                        ]\r\n                    });\r\n                }\r\n            }\r\n        ]\r\n    }, [])\r\n    function getRol(str) {\r\n        switch (str) {\r\n            case \"ROLE_ADMIN\":\r\n                return \"ADMINISTRADOR\"\r\n            case \"ROLE_RUEDA\":\r\n                return \"DIRECTOR DE RUEDA\"\r\n            case \"ROLE_CAJA\":\r\n                return \"USUARIO CAJA\"\r\n            case \"ROLE_VISITANTE\":\r\n                return \"VISITANTE\"\r\n            case \"ROLE_OPERADOR\":\r\n                return \"USUARIO OPERADOR\"\r\n            case \"ROLE_LIQUIDACION\":\r\n                return \"USUARIO LIQUIDACIÓN\"\r\n            case \"ROLE_REGISTRADOR\":\r\n                return \"USUARIO REGISTRADOR\"\r\n\r\n        }\r\n\r\n        return \"\"\r\n    }\r\n    let columns = [\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'Nombre', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE</div>), defaultFlex: 1, xdefaultLocked: 'start', defaultWidth: 400, headerAlign: \"center\" },\r\n        { name: 'Nick', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>APODO</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\" },\r\n        { name: 'Email', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>EMAIL</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\" },\r\n        { name: 'Rol', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ROL</div>), defaultFlex: 1, xdefaultLocked: 'end', render: ({ data }) => getRol(data[\"Rol\"]), headerAlign: \"center\" },\r\n    ]\r\n    return (\r\n        <div className={[\"overlay3\", \"fade-in\"].join(\" \")}>\r\n            <div className={['loading_cont', loadingUser\r\n                !== true ? \"displaynone\" : \"\"].join(' ')}><div className='single6'></div></div>\r\n\r\n            {editUsuarioOpen === \"EDIT\" ? <EditarUsuario closeUser={closeUser} usuarioSeleccionado={usuarioSeleccionado} /> : \"\"}\r\n            <div className=\"borderContent ventanaPortafolio\">\r\n                <div className=\"innerShadow-height-100\">\r\n                    <h2>\r\n                        Usuarios\r\n                        <div className=\"subItemCatalogo\">\r\n                            <Menu menuButton={<MenuButton><i className=\"fas fa-cog\"></i></MenuButton>}>\r\n                                <MenuItem onClick={openNewUser}><i className=\"fas fa-sign-out-alt\"></i>Nuevo</MenuItem>\r\n                            </Menu>\r\n                        </div>\r\n                    </h2>\r\n                    <div className=\"titleTable-search\">BUSCAR<div className='floatright'>\r\n                        <div className=\"filterNeg\">\r\n                            <input type=\"text\" placeholder=\"Filtrar\" value={plantillaFilter} onChange={(e) => {\r\n                                setPlantillaFilter(e.target.value);\r\n                                filterPlantilla(listaUser !== null ? listaUser : [], e.target.value)\r\n                            }} /><i className=\"fas fa-search\"></i></div></div></div>\r\n                    <DataGrid\r\n                        idProperty=\"UsuarioId\"\r\n                        style={gridStyle}\r\n                        //theme=\"default-light\"                    \r\n                        columns={columns}\r\n                        enableSelection={true}\r\n                        selection={{ mode: 'single' }}\r\n                        dataSource={gridInfor}\r\n                        renderRowContextMenu={renderRowContextMenu}\r\n                        theme=\"amber-dark\"\r\n                    />\r\n                    <div className=\"dividerLine\"></div>\r\n                    <div className=\"textCenter\">\r\n                        <div className=\"btnCancelar\" onClick={closeWindowUsuario}>\r\n                            SALIR\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(GestionUsuario);\r\n","import React, { useState, useEffect,useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport Select from 'react-select';\r\nimport Checkbox from 'rc-checkbox';\r\nimport {updateParametroAct} from \"../../actions/administracion\";\r\nimport \"../../config\";\r\nimport NumberFormat from \"react-number-format\";\r\nconst EditarGestionItems = (props) => {\r\n    const dispatch = useDispatch();\r\n    let [errors,setErrors] = useState({\"codigoErr\":\"\"},{\"nombreErr\":\"\"},{\"estadoErr\":\"\"},{\"valorErr\":\"\"},{\"descripcionErr\":\"\"})\r\n    let [codigo,setCodigo] = useState(props.parametroSeleccionado!==null?props.parametroSeleccionado[\"Codigo\"]:\"\")\r\n    let [nombre, setNombre] = useState(props.parametroSeleccionado!==null?props.parametroSeleccionado[\"Nombre\"]:\"\")\r\n    let [descripcion,setDescripcion] = useState(props.parametroSeleccionado!==null?props.parametroSeleccionado[\"Descripcion\"]:\"\")\r\n    let [valor,setValor] = useState(props.parametroSeleccionado!==null?props.parametroSeleccionado['Valor']:\"\")\r\n    let [isError,setIsError] = useState(false)\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n    const closeEditParametro = () => props.closeEditParametro();\r\n    let cambioEstado=useState(null)\r\n    \r\n    if(props.parametroSeleccionado!==null && props.parametroSeleccionado[\"Estado\"] == \"I\"){\r\n        cambioEstado ={value:'I', label:\"Inactivo\"}\r\n    }\r\n    if(props.parametroSeleccionado!==null && props.parametroSeleccionado[\"Estado\"] == \"A\"){\r\n        cambioEstado ={value:'A', label:\"Activo\"}\r\n    }\r\n    if(props.parametroSeleccionado===null){\r\n        cambioEstado ={value:'A', label:\"Activo\"}\r\n    }\r\n    let [estadoSelect, setEstadoSelect] =  useState(cambioEstado);\r\n    const optionsEstado = [\r\n        { value: 'A', label: 'Activo' },\r\n        { value: 'I', label: 'Inactivo' },\r\n        \r\n    ] \r\n    const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n    const textoRegex = /^[a-zA-Z0-9À-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n\r\n    function actualizar(){\r\n      \r\n       let valid=true\r\n       \r\n        if(codigo == \"\"){\r\n            errors[\"codigoErr\"] = \"Ingrese código\"\r\n            valid = false\r\n        }\r\n        if(nombre == \"\"){\r\n            errors[\"nombreErr\"] = \"Ingrese nombre\"\r\n            valid = false\r\n        }\r\n     \r\n        if(estadoSelect == null){\r\n            errors[\"estadoErr\"] = \"Ingrese estado\"\r\n            valid = false\r\n        }\r\n\r\n        if(valor == \"\"){\r\n            errors[\"valorErr\"] = \"Ingrese valor\"\r\n            valid = false\r\n        }\r\n        if(descripcion == \"\"){\r\n            errors[\"descripcionErr\"] = \"Ingrese descripción\"\r\n            valid = false\r\n        }\r\n        if(!textoRegex.test(nombre)){\r\n            errors[\"nombreErr\"] = \"Ingrese solo letras y números\"\r\n            valid = false\r\n        }\r\n        if(!textoRegex.test(codigo)){\r\n            errors[\"codigoErr\"] = \"Ingrese solo letras y números\"\r\n            valid = false\r\n        }\r\n        /*if(!textoRegex.test(descripcion)){\r\n            errors[\"descripcionErr\"] = \"Ingrese solo letras y números\"\r\n            valid = false\r\n        }*/\r\n\r\n        \r\n        setErrors(errors)\r\n        setIsError(true)\r\n        if(!valid){\r\n            return\r\n        }\r\n        dispatch(updateParametroAct(\r\n            props.parametroSeleccionado!==null?props.parametroSeleccionado[\"ParametroId\"]:-1,\r\n            codigo,\r\n            nombre,\r\n            descripcion,\r\n            valor,\r\n            currentUser[\"userId\"],\r\n            estadoSelect[\"value\"]      \r\n            )).then(() => {     \r\n    \r\n             }).catch(() => {}\r\n        );      \r\n       closeEditParametro()\r\n    }\r\n\r\n    return (\r\n<div className= \"overlay3 fade-in\">\r\n    <div className=\"borderContent ventanaPerfil\">\r\n        <div className=\"innerShadow-height-100\">\r\n            <div id=\"formulario-estilo\">\r\n                <h2>\r\n                    Parámetro            \r\n                </h2>  \r\n                <div className='vertical-scroll customScroll'>               \r\n                    <div className=\"columna-1-formulario-ventana-perfil-edit-evento-user\"> \r\n                        <div className=\"row-form\"> \r\n                            <div className=\"col-30\">             \r\n                                <label>\r\n                                    <i className=\"fas fa-edit\"></i> <span>Código:</span>\r\n                                </label>\r\n                            </div>  \r\n                            <div className=\"col-70\">\r\n                                <input\r\n                                autocomplete=\"off\"\r\n                                    type=\"text\"\r\n                                    value={codigo}\r\n                                    maxLength={50}\r\n                                    placeholder=\"Ingresar código\"\r\n                                    className=\"input-form\"\r\n                                    onChange={(e) => {\r\n                                        setCodigo(e.target.value.toUpperCase());\r\n                                        errors[\"codigoErr\"] = \"\"\r\n                                    }}\r\n                                ></input>\r\n                                {errors[\"codigoErr\"]!==\"\"?<div className='camporequerido'>{errors[\"codigoErr\"]}</div>:\"\"}\r\n                            </div> \r\n                        </div>  \r\n                        <div className=\"row-form\"> \r\n                            <div className=\"col-30\">             \r\n                                <label>\r\n                                    <i className=\"fas fa-edit\"></i> <span>Nombre:</span>\r\n                                </label>\r\n                            </div>  \r\n                            <div className=\"col-70\">\r\n                                <input\r\n                                autocomplete=\"off\"\r\n                                    type=\"text\"\r\n                                    value={nombre}\r\n                                    maxLength={200}\r\n                                    placeholder=\"Ingresar nombre\"\r\n                                    className=\"input-form\"\r\n                                    onChange={(e) => {\r\n                                        setNombre(e.target.value);\r\n                                        errors[\"nombreErr\"] = \"\"\r\n                                    }}\r\n                                ></input>\r\n                                {errors[\"nombreErr\"]!==\"\"?<div className='camporequerido'>{errors[\"nombreErr\"]}</div>:\"\"}\r\n                            </div> \r\n                        </div> \r\n                       \r\n                        \r\n                        <div className=\"row-form\"> \r\n                            <div className=\"col-30\">             \r\n                                <label>\r\n                                    <i className=\"fas fa-edit\"></i> <span>Valor:</span>\r\n                                </label>\r\n                            </div>  \r\n                            <div className=\"col-70\">\r\n                                <NumberFormat\r\n                                    autocomplete=\"off\"\r\n                                    value={valor}\r\n                                    maxLength={50}\r\n                                    decimalScale={2}\r\n                            fixedDecimalScale={true} \r\n                            decimalSeparator={'.'} \r\n                                    placeholder=\"Ingresar valor\"\r\n                                    className=\"input-form\"\r\n                                    onChange={(e) => {\r\n                                        setValor(e.target.value);\r\n                                        errors[\"valorErr\"] = \"\"\r\n                                    }}\r\n                                ></NumberFormat>\r\n                                {errors[\"valorErr\"]!==\"\"?<div className='camporequerido'>{errors[\"valorErr\"]}</div>:\"\"}\r\n                            </div> \r\n                        </div>  \r\n                        <div className=\"row-form\">\r\n                            <div className=\"col-30\">\r\n                                <label>\r\n                                    <i className=\"fas fa-wrench\"></i> <span>Estado:</span>                \r\n                                </label>\r\n                            </div>\r\n                            <div className=\"col-70\">\r\n                                <Select  \r\n                                autocomplete=\"off\"\r\n                                className=\"input-form\" id=\"estadoSelectCombo\"  value={estadoSelect} onChange={(e) => {\r\n                                    setEstadoSelect(e)\r\n                                    errors[\"estadoErr\"] = \"\"\r\n                                }} placeholder=\"Seleccione\" options={optionsEstado}/>\r\n                                {errors[\"estadoErr\"]!==\"\"?<div className='camporequerido'>{errors[\"estadoErr\"]}</div>:\"\"}\r\n                            </div>\r\n                        </div>           \r\n                        <div className=\"row-form\"> \r\n                            <div className=\"col-30\">             \r\n                                <label>\r\n                                    <i className=\"fas fa-edit\"></i> <span>Descripción:</span>\r\n                                </label>\r\n                            </div>  \r\n                            <div className=\"col-70\">\r\n                                <textarea\r\n                                autocomplete=\"off\"\r\n                                type=\"text\"\r\n                                value={descripcion}\r\n                                maxLength={1000}\r\n                                \r\n                                placeholder=\"Descripción\"\r\n                                className=\"text-area-form\"\r\n                                onChange={(e) => {\r\n                                    setDescripcion(e.target.value);   \r\n                                    errors[\"descripcionErr\"] = \"\"                            \r\n                                }}\r\n                                ></textarea>   \r\n                                {errors[\"descripcionErr\"]!==\"\"?<div className='camporequerido'>{errors[\"descripcionErr\"]}</div>:\"\"}                              \r\n                            </div>                       \r\n                        </div>                 \r\n                    </div> \r\n                    \r\n                    <div className=\"textCenter clear-both\">\r\n                        <div className=\"btnGuardar\" onClick={actualizar} >\r\n                        GUARDAR\r\n                        </div>{\" \"}\r\n                        <div className=\"btnCancelar\" onClick={closeEditParametro}>\r\n                            SALIR\r\n                        </div>\r\n                    </div>\r\n                </div> \r\n            </div>      \r\n        </div>\r\n    </div>\r\n</div>\r\n);\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarGestionItems);\r\n","import React, { useState,useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid,{ Column }  from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {Menu,MenuItem,MenuButton,SubMenu} from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport {getParametroAct,deleteParametroAct} from \"../../actions/administracion\";\r\nimport EditarParametro from \"./EditarParametro\";\r\nimport \"../../config\";\r\n\r\nconst Parametro = (props) => {\r\n    const dispatch = useDispatch();\r\n    const gridStyle = { minHeight: '300px',height:'100%'}\r\n    let [parametroSeleccionado,setParametroSeleccionado] = useState(null);\r\n    let [editParametroOpen, setEditParametroOpen] = useState(\"\")\r\n    let [loadParametro, setLoadParametro] = useState(false) \r\n    const {listaParametro,loadingParametro} = useSelector((state) => state.administracion);\r\n    if(loadParametro===false){\r\n        setLoadParametro(true)\r\n        dispatch(getParametroAct(\"0\",\"\",\"\",\"ASC\",\"\"))\r\n        .then(() => {\r\n        })\r\n        .catch(() => {\r\n        });\r\n    }\r\n    let [parametroFilter, setparametroFilter] = useState(\"\");   \r\n    let [gridInfor, setGridInfor] = useState([listaParametro!==null?listaParametro:[]]);     \r\n    if(listaParametro!==null && listaParametro!=gridInfor && parametroFilter===\"\")\r\n        setGridInfor(listaParametro)\r\n\r\n    function filterParametro(nego,parametroFilter){\r\n        setGridInfor(nego.filter(function(item) {\r\n            if (item[\"Nombre\"].toLowerCase().includes(parametroFilter.toLocaleLowerCase()) ||   \r\n                item[\"Codigo\"].toLowerCase().includes(parametroFilter.toLocaleLowerCase()))\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    const formatEstado = estado =>{\r\n\t\tswitch(estado){\r\n\t\t\tcase \"A\":\r\n\t\t\t\treturn \"ACTIVO\"\r\n\t\t}\r\n\t\treturn \"INACTIVO\"\r\n\t}\r\n    let columns= [\r\n        { name: 'Nombre',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>NOMBRE</div>), defaultFlex: 1, xdefaultLocked: 'end' , headerAlign: \"center\"},\r\n        { name: 'Codigo',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>CÓDIGO</div>), defaultFlex: 1, xdefaultLocked: 'end' , headerAlign: \"center\"},\r\n        { name: 'Valor',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>VALOR</div>), defaultFlex: 1, xdefaultLocked: 'end', headerAlign: \"center\" },\r\n        { name: 'Estado',header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ESTADO</div>), defaultFlex: 1, xdefaultLocked: 'end',render: ({ data }) => formatEstado(data[\"Estado\"]) , headerAlign: \"center\"},            \r\n    ]\r\n    const closeParametro =()=> props.closeParametroClick()\r\n    const openNewParametro = () => {setParametroSeleccionado(null); setEditParametroOpen(\"EDIT\");}\r\n    const closeEditParametro =()=> setEditParametroOpen(\"\")\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps } ) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n        {\r\n            label: 'Editar',\r\n            onClick:()=>{   \r\n                setParametroSeleccionado(rowProps.data)\r\n                setEditParametroOpen(\"EDIT\")\r\n                console.log(rowProps.data)\r\n            }\r\n        },          \r\n        {\r\n        label: 'Eliminar',\r\n            onClick:()=>{\r\n                confirmAlert({\r\n                    title: 'Eliminar parámetro',\r\n                    message: '¿Seguro desea eliminar?.',\r\n                    buttons: [\r\n                      {\r\n                        label: 'Si',\r\n                        onClick: () =>{                    \r\n                            dispatch(deleteParametroAct(rowProps.data[\"ParametroId\"]))\r\n                            .then(() => {     \r\n                        \r\n                            })\r\n                            .catch(() => {});\r\n                        }\r\n                      },\r\n                      {\r\n                        label: 'No',\r\n                        onClick: () => {\r\n                            \r\n                        }\r\n                      }\r\n                    ]\r\n                });               \r\n            }\r\n        }\r\n        ]\r\n    }, [])  \r\n    return (\r\n    <div className={[\"overlay3\",\"fade-in\"].join(\" \")}> \r\n     <div className={['loading_cont',loadingParametro\r\n     !==true?\"displaynone\":\"\"].join(' ')}><div className='single6'></div></div>\r\n      {editParametroOpen===\"EDIT\" ? <EditarParametro closeEditParametro={closeEditParametro} parametroSeleccionado={parametroSeleccionado}/>  :  \"\"}\r\n        <div className=\"borderContent ventanaPortafolio\">\r\n            <div className=\"innerShadow-height-100\">\r\n                <h2>\r\n                    Parámetros\r\n                    <div className=\"subItemCatalogo\">\r\n                        <Menu menuButton={<MenuButton><i className=\"fas fa-cog\"></i></MenuButton>}>\r\n                            <MenuItem onClick={openNewParametro}><i className=\"fas fa-sign-out-alt\"></i>Nuevo</MenuItem> \r\n                        </Menu>\r\n                    </div>\r\n                </h2>  \r\n                <div className=\"titleTable-search\">BUSCAR<div className='floatright'><div className=\"filterNeg\"><input type=\"text\" placeholder=\"Filtrar\" value={parametroFilter} onChange={(e) => {\r\n                  setparametroFilter(e.target.value);\r\n                  filterParametro(listaParametro!==null?listaParametro:[],e.target.value)\r\n                }}/><i className=\"fas fa-search\"></i></div></div></div> \r\n                <DataGrid\r\n                    idProperty=\"ParametroId\"\r\n                    style={gridStyle}                   \r\n                    columns={columns}\r\n                    enableSelection={true}\r\n                    selection={{ mode: 'single' }}                    \r\n                    dataSource={gridInfor}\r\n                    renderRowContextMenu={renderRowContextMenu}\r\n                    theme=\"amber-dark\"\r\n                />\r\n                <div className=\"dividerLine\"></div>\r\n                <div className=\"textCenter\">\r\n                    <div className=\"btnCancelar\"  onClick={closeParametro}>\r\n                        SALIR\r\n                    </div>\r\n                </div> \r\n            </div>\r\n        </div>  \r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(Parametro);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport Select from 'react-select';\r\nimport Checkbox from 'rc-checkbox';\r\n\r\nimport { getEmpresaSelectAct, getUsuariosAct, getDataEmpresaAct, updateInversionistaAct, getEmpresaAct, getEmpresaSelectInversionista } from \"../../actions/administracion\";\r\n\r\nimport NumberFormat from 'react-number-format';\r\nimport \"../../config\";\r\nconst EditarInversionista = (props) => {\r\n    const dispatch = useDispatch();\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n    const { listaEmpresasSelecInversionista, loadingEmpresa } = useSelector((state) => state.administracion);\r\n    let [loadEmpresa, setLoadEmpresa] = useState(false)\r\n\r\n\r\n    let [errors, setErrors] = useState({ \"empresaErr\": \"\" }, { \"usuarioIdErr\": \"\" }, { \"nombreErr\": \"\" }, { \"apellidoErr\": \"\" }, { \"cedulaErr\": \"\" }, { \"telefonoErr\": \"\" }, { \"direccionErr\": \"\" }, { \"emailErr\": \"\" });\r\n    let [nombre, setNombre] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Nombre\"] : \"\")\r\n    //console.log(\"estoy aqui en nombre\", nombre)\r\n    let [apellido, setApellido] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Apellido\"] : \"\")\r\n    let [cedula, setCedula] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Cedula\"] : \"\")\r\n    let [telefono, setTelefono] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Telefono\"] : \"\")\r\n    let [direccion, setDireccion] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Direccion\"] : \"\")\r\n    let [usuarioRegistroId, setUsuarioRegistroId] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"UsuarioRegistroId\"] : \"\")\r\n    console.log(props.empresaSeleccionada)\r\n    let [empresa, setEmpresa] = useState(props.empresaSeleccionada !== null ? props.empresaSeleccionada[\"EmpresaId\"] : \"\")\r\n    let [email, setEmail] = useState(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"Email\"] : \"\");\r\n    let [empresaSeleccionada, setEmpresaSeleccionada] = useState(listaEmpresasSelecInversionista != null ? listaEmpresasSelecInversionista.filter(x => x.value === empresa)[0] : {})\r\n\r\n    console.log(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"EmpresaId\"] : \"\")\r\n\r\n\r\n\r\n\r\n    let [isError, setIsError] = useState(false)\r\n\r\n    let cambioEstado = useState(null)\r\n    let cambioEmpresa = useState(null)\r\n    if (props.inversionistaSeleccionado !== null && props.inversionistaSeleccionado[\"Estado\"] == \"I\") {\r\n        cambioEstado = { value: 'I', label: \"Inactivo\" }\r\n    }\r\n    if (props.inversionistaSeleccionado !== null && props.inversionistaSeleccionado[\"Estado\"] == \"A\") {\r\n        cambioEstado = { value: 'A', label: \"Activo\" }\r\n    }\r\n    if (props.inversionistaSeleccionado === null) {\r\n        cambioEstado = { value: 'A', label: \"Activo\" }\r\n        cambioEmpresa = { value: '0', label: \"Ninguno\" }\r\n    }\r\n    let [estadoSelect, setEstadoSelect] = useState(cambioEstado);\r\n    let [estadoSelectEmpresa, setEstadoSelectEmpresa] = useState(cambioEmpresa);\r\n    const optionsEstado = [\r\n        { value: 'I', label: 'Inactivo' },\r\n        { value: 'A', label: 'Activo' },\r\n    ]\r\n    function closeEditInversionista() {\r\n        props.closeEditInversionista()\r\n    }\r\n\r\n\r\n\r\n    //let [empresa, setEmpresa] = useState(null)\r\n\r\n    if (empresa === null) {\r\n        //console.log(\"lista de empres\",loadingEmpresa)\r\n        setEmpresa({ value: '0', label: \"Ninguno\" })\r\n    } else {\r\n        //console.log(\"empresa: \", empresa,\"fin\")\r\n    }\r\n\r\n\r\n\r\n\r\n    if (loadEmpresa === false && listaEmpresasSelecInversionista === null) {\r\n        setLoadEmpresa(true)\r\n        dispatch(getEmpresaSelectInversionista())\r\n            .then(() => {\r\n                console.log(\"listas\", listaEmpresasSelecInversionista)\r\n            })\r\n            .catch(() => {\r\n                console.log(\"error\")\r\n            });\r\n\r\n    }\r\n\r\n\r\n    // Validacion campos\r\n\r\n    const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n    //const cedulaRegex = /^[0-9]+$/;\r\n    function actualizar() {\r\n\r\n        let valid = true\r\n\r\n        if (nombre == \"\") {\r\n            errors[\"nombreErr\"] = \"Ingrese nombre\"\r\n            valid = false\r\n        }\r\n        if (!nombreRegex.test(nombre)) {\r\n            errors[\"nombreErr\"] = \"Ingrese solo letras\"\r\n            valid = false\r\n        }\r\n        if (apellido == \"\") {\r\n            errors[\"apellidoErr\"] = \"Ingrese apellido\"\r\n            valid = false\r\n        }\r\n        if (!nombreRegex.test(apellido)) {\r\n            errors[\"apellidoErr\"] = \"Ingrese solo letras\"\r\n            valid = false\r\n        }\r\n        if (cedula == \"\") {\r\n            errors[\"cedulaErr\"] = \"Ingrese cédula\"\r\n            valid = false\r\n        }\r\n        //if (telefono == \"\") {\r\n        //  errors[\"telefonoErr\"] = \"Ingrese teléfono\"\r\n        //valid = false\r\n        //}\r\n        // if (direccion == \"\") {\r\n        //   errors[\"direccionErr\"] = \"Ingrese dirección\"\r\n        // valid = false\r\n        //}\r\n        if (email == \"\" || !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(email)) {\r\n            errors[\"emailErr\"] = \"Ingrese mail (example@example.com)\";\r\n            valid = false;\r\n        }\r\n\r\n        setErrors(errors)\r\n        setIsError(true)\r\n        if (!valid) {\r\n            return\r\n        }\r\n\r\n\r\n\r\n        dispatch(updateInversionistaAct(\r\n            props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"InversionistaId\"] : \"-1\",\r\n            nombre,\r\n            apellido,\r\n            cedula,\r\n            telefono,\r\n            direccion,\r\n            estadoSelect[\"value\"],\r\n            currentUser[\"userId\"],\r\n            props.empresaSeleccionada,\r\n            email,\r\n            \"0\",\r\n            \"\",\r\n            \"\",\r\n            \"ASC\",\r\n            \"\"\r\n        )).then(() => {\r\n        }).catch(() => {\r\n            //console.log(props.empresaSeleccionada);\r\n        }\r\n        );\r\n\r\n        closeEditInversionista()\r\n        console.log(props.inversionistaSeleccionado !== null ? props.inversionistaSeleccionado[\"InversionistaId\"] : \"-1\")\r\n        console.log(\"nombre:\" + nombre)\r\n        console.log(\"apellido:\" + apellido)\r\n        console.log(\"cedula:\" + cedula)\r\n        console.log(\"telefono:\" + telefono)\r\n        console.log(\"direccion:\" + direccion)\r\n        console.log(\"estado:\" + estadoSelect[\"value\"])\r\n        console.log(\"usuarioRegistroId:\" + estadoSelect[\"value\"])\r\n        console.log(\"empresaSeleccionada:\" + props.empresaSeleccionada)\r\n    }\r\n    return (\r\n        <div className='overlay3 fade-in inversionista'>\r\n\r\n            <div className=\"borderContent ventanaPerfil\">\r\n                <div className=\"innerShadow3\">\r\n                    <div id=\"formulario-estilo\">\r\n                        <h2>\r\n                            Inversionista\r\n                        </h2>\r\n\r\n                        <div className='vertical-scroll customScroll'>\r\n                            <div className=\"columna-1-formulario-inversionista\">\r\n                                <div className=\"col-30\">\r\n                                    <label>\r\n                                        <i className=\"fas fa-edit\"></i> <span>Nombre:</span>\r\n                                    </label>\r\n                                </div>\r\n                                <div className=\"col-70\">\r\n                                    <input\r\n                                        autocomplete=\"off\"\r\n                                        type=\"text\"\r\n                                        value={nombre}\r\n                                        maxLength={1000}\r\n                                        placeholder=\"Ingresar Nombre\"\r\n                                        className=\"input-form\"\r\n                                        onChange={(e) => {\r\n                                            const inputText = e.target.value;\r\n                                            const capitalizedText = inputText.toUpperCase();\r\n                                            setNombre(capitalizedText);\r\n                                            errors[\"NombreErr\"] = \"\"\r\n                                        }}\r\n                                    ></input>\r\n                                    {errors[\"nombreErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"nombreErr\"]}</div> : \"\"}\r\n                                </div>\r\n\r\n\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Apellido:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <input\r\n                                            autocomplete=\"off\"\r\n                                            type=\"text\"\r\n                                            value={apellido}\r\n                                            maxLength={1000}\r\n                                            placeholder=\"Ingresar Apellido\"\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                const inputText = e.target.value;\r\n                                                const capitalizedText = inputText.toUpperCase();\r\n                                                setApellido(capitalizedText);\r\n                                                //setApellido(e.target.value);\r\n                                                errors[\"apellidoErr\"] = \"\"\r\n                                            }}\r\n                                        ></input>\r\n                                        {errors[\"apellidoErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"apellidoErr\"]}</div> : \"\"}\r\n                                    </div>\r\n\r\n                                </div>\r\n\r\n\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Email:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <input\r\n                                            autocomplete=\"off\"\r\n                                            type=\"email\"\r\n                                            value={email}\r\n                                            maxLength={1000}\r\n                                            placeholder=\"Ingresar Email\"\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                setEmail(e.target.value);\r\n                                                errors[\"emailErr\"] = \"\"\r\n                                            }}\r\n                                        ></input>\r\n                                        {errors[\"emailErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"emailErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n\r\n\r\n\r\n\r\n\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Cédula:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <NumberFormat\r\n                                            autocomplete=\"off\"\r\n                                            value={cedula}\r\n                                            maxLength={10}\r\n                                            decimalScale={0}\r\n                                            placeholder=\"Ingresar Cédula\"\r\n                                            className=\"input-form\"\r\n                                            allowLeadingZeros={true}\r\n                                            onChange={(e) => {\r\n                                                setCedula(e.target.value);\r\n                                                errors[\"cedulaErr\"] = \"\"\r\n                                            }}\r\n                                        ></NumberFormat>\r\n                                        {errors[\"cedulaErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"cedulaErr\"]}</div> : \"\"}\r\n                                    </div>\r\n\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Teléfono:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <NumberFormat\r\n                                            autocomplete=\"off\"\r\n                                            value={telefono}\r\n                                            maxLength={10}\r\n                                            decimalScale={0}\r\n                                            placeholder=\"Ingresar Teléfono\"\r\n                                            allowLeadingZeros={true}\r\n                                            className=\"input-form\"\r\n                                            onChange={(e) => {\r\n                                                setTelefono(e.target.value);\r\n                                                errors[\"telefonoErr\"] = \"\"\r\n                                            }}\r\n                                        ></NumberFormat>\r\n                                        {errors[\"telefonoErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"telefonoErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-wrench\"></i> <span>Estado:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <Select\r\n                                            autocomplete=\"off\"\r\n                                            className=\"input-form\"\r\n                                            id=\"estadoSelectCombo\"\r\n                                            value={estadoSelect}\r\n                                            onChange={(e) => {\r\n                                                setEstadoSelect(e)\r\n                                            }} placeholder=\"Seleccione\" options={optionsEstado} />\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Dirección:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <textarea\r\n                                            autocomplete=\"off\"\r\n                                            type=\"text\"\r\n                                            value={direccion}\r\n                                            maxLength={5000}\r\n                                            placeholder=\"Dirección\"\r\n                                            className=\"text-area-form\"\r\n                                            onChange={(e) => {\r\n                                                setDireccion(e.target.value);\r\n                                                errors[\"direccionErr\"] = \"\"\r\n                                            }}\r\n                                        ></textarea>\r\n                                        {errors[\"direccionErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"direccionErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n\r\n\r\n                            </div>\r\n\r\n                            <div className=\"textCenter clear-both\">\r\n                                <div className=\"btnGuardar\" onClick={actualizar} >\r\n                                    GUARDAR\r\n                                </div>{\" \"}\r\n                                <div className=\"btnCancelar\" onClick={closeEditInversionista}>\r\n                                    SALIR\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarInversionista);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport \"@inovua/reactdatagrid-community/base.css\";\r\nimport \"@inovua/reactdatagrid-community/theme/amber-dark.css\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport Select from 'react-select';\r\nimport \"@szhsin/react-menu/dist/index.css\";\r\nimport { enableFuncionalityForRole, formatNumber } from \"./Util\";\r\nimport NumberFormat from 'react-number-format';\r\nimport { updateOrdenAct, getEmpresaSelectAct, getInversionistaSelectAct, getEventoSelectAct, getDataEmpresaAct, getEmpresaConEventoAct } from \"../../actions/administracion\";\r\nimport \"../../config\";\r\nimport { NotificationContainer, NotificationManager } from \"react-notifications\";\r\nimport { generateMessageAdm } from \"../../components/general/Util\"\r\nimport AgregarInversionista from \"./AgregarInversionista\";\r\n\r\nconst EditarOrden = (props) => {\r\n  const { user: currentUser } = useSelector((state) => state.auth);\r\n  const { eventoSeleccionado: eventoSeleccionado } = useSelector((state) => state.juego);\r\n  //console.log(eventoSeleccionado)\r\n\r\n  const { datosEmpresa, listaAdjudicacion } = useSelector((state) => state.administracion);\r\n  const dispatch = useDispatch();\r\n  let [errors, setErrors] = useState({ \"empresaErr\": \"\" }, { \"numAccionesErr\": \"\" }, { \"inversionistaErr\": \"\" }, { \"precioErr\": \"\" });\r\n  let [accionesComprar, setAccionesComprar] = useState(null);\r\n  let [loadDatosEmpresa, setLoadDatosEmpresa] = useState(false);\r\n  let [precio, setPrecio] = useState(null);\r\n  let [isError, setIsError] = useState(false);\r\n  let [openEditInversionista, setOpenEditInversionista] = useState(\"\");\r\n  let [fechaInscripcion, setFechaInscripcion] = useState(null);\r\n  let [nuevoInversionistaOpen, setNuevoInversionistaOpen] = useState(\"\")\r\n  let [loadEmpresa, setLoadEmpresa] = useState(false)\r\n  let [loadInversionista, setLoadInversionista] = useState(false)\r\n  const { listaEmpresaConEvento, listaEmpresaSelect, listaInversionistaSelect } = useSelector((state) => state.administracion);\r\n  const [isActiveButton, setIsActiveButton] = useState(false)\r\n  const [clicked, setClicked] = useState(false);\r\n\r\n  //const [sumaAcciones, setSumaAcciones] = useState(0);\r\n\r\n  if (listaEmpresaConEvento === null && loadEmpresa === false && eventoSeleccionado !== null) {\r\n    setLoadEmpresa(true)\r\n    dispatch(getEmpresaSelectAct(eventoSeleccionado))\r\n      .then(() => {\r\n      })\r\n      .catch(() => {\r\n      });\r\n\r\n    //agg\r\n    //dispatch(getEmpresaConEventoAct(eventoSeleccionado, currentUser[\"userId\"], currentUser[\"EmpresaId\"]))\r\n    //.then(() => { })\r\n    //.catch(() => { });\r\n    //hasta aqui\r\n\r\n  }\r\n\r\n  //console.log(listaEmpresaConEvento)\r\n\r\n\r\n  let [precioUltimo, setPrecioUltimo] = useState(null);\r\n  let [list, setList] = useState([]);\r\n\r\n  let [inversionista, setInversionista] = useState(null)\r\n  let [inversionistaSeleccionado, setInversionistaSeleccionado] = useState(listaInversionistaSelect !== null ? listaInversionistaSelect.filter(x => x.value === inversionista)[0] : {})\r\n\r\n  //let [isDisabled] = useState(props.isDisabled);\r\n  //console.log(\"RECIBIENDO\", props.isDisabled)\r\n  let [admFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_ADM\")\r\n      : false\r\n  );\r\n  let [userFuntion] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"USER_ORDEN\")\r\n      : false\r\n  );\r\n\r\n  let [userCajaFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_CAJA\")\r\n      : false\r\n  );\r\n\r\n  let [userLiquidacionFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_LIQUI\")\r\n      : false\r\n  );\r\n  if (fechaInscripcion === null) {\r\n    setFechaInscripcion(new Date())\r\n  }\r\n  let cambioEstado = useState(null)\r\n  cambioEstado = { value: 'A', label: \"Activo\" }\r\n\r\n  let [estadoSelect, setEstadoSelect] = useState(cambioEstado);\r\n  const optionsEstado = [\r\n    { value: 'I', label: 'Inactivo' },\r\n    { value: 'A', label: 'Activo' },\r\n  ]\r\n\r\n\r\n\r\n\r\n\r\n  let [empresa, setEmpresa] = useState(null)\r\n  let [boolListEmpresaEvento, setboolListEmpresaEvento] = useState(false)\r\n\r\n\r\n  if (listaEmpresaConEvento !== null && listaEmpresaConEvento !== undefined && boolListEmpresaEvento == false && userFuntion == true) {\r\n    setboolListEmpresaEvento(true)\r\n    listaEmpresaConEvento['emp2'].forEach((empresa) => {\r\n      setEmpresa({ value: empresa.value, label: empresa.label })\r\n      dispatch(getInversionistaSelectAct(empresa.value))\r\n        .then(() => {\r\n        })\r\n        .catch(() => {\r\n        });\r\n    })\r\n  }\r\n  if (empresa === null) {\r\n    setEmpresa({ value: '0', label: \"Ninguno\" })\r\n  }\r\n\r\n  if (inversionista === null) {\r\n    setInversionista({ value: '0', label: \"Ninguno\" })\r\n  }\r\n\r\n  const openNewInversionista = () => { setInversionistaSeleccionado(null); setNuevoInversionistaOpen(\"OPEN\") };\r\n  const closeEditInversionista = () => { setNuevoInversionistaOpen(\"\") };\r\n\r\n\r\n\r\n  function actualizar() {\r\n    if (!clicked) {\r\n      setClicked(true);\r\n      setTimeout(() => {\r\n        setClicked(false);\r\n      }, 2000);\r\n      let valid = true\r\n\r\n      if (empresa[\"value\"] === '0') {\r\n        //errors[\"empresaErr\"] = \"Ingrese empresa\"\r\n        NotificationManager.warning(\r\n          \"Ingrese empresa \",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n\r\n      if (inversionista[\"value\"] === '0') {\r\n        //errors[\"inversionistaErr\"] = \"Ingrese inversionista\"\r\n        NotificationManager.warning(\r\n          \"Ingrese inversionista \",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n\r\n      if (accionesComprar === null) {\r\n        //errors[\"numAccionesErr\"] = \"Ingrese acciones\"\r\n        NotificationManager.warning(\r\n          \"Ingrese acciones \",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n      if (precio === null) {\r\n        //errors[\"precioErr\"] = \"Ingrese precio\"\r\n        NotificationManager.warning(\r\n          \"Ingrese precio \",\r\n          \"Sistema\",\r\n          3000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n\r\n      // validacion acciones \r\n      if (datosEmpresa !== null && parseFloat(accionesComprar) > parseFloat(datosEmpresa[0][\"NumAccionesOferta\"])) {\r\n        NotificationManager.warning(\r\n          \"No puede exceder el número de acciones ofertadas\",\r\n          \"Sistema\",\r\n          4000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n\r\n      if (parseFloat(accionesComprar) == \"\") {\r\n        NotificationManager.warning(\r\n          \"Ingrese número de acciones\",\r\n          \"Sistema\",\r\n          4000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n\r\n      if (parseFloat(accionesComprar) == 0) {\r\n        NotificationManager.warning(\r\n          \"El número de acciones no puede ser 0\",\r\n          \"Sistema\",\r\n          4000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n\r\n      if (datosEmpresa != null && (parseFloat(precioUltimo) === parseFloat(datosEmpresa[0][\"PrecioInicialPorAccion\"]))) {\r\n\r\n        if (parseFloat(precio) !== parseFloat(datosEmpresa[0][\"PrecioInicialPorAccion\"]) && parseFloat(precio) < (parseFloat(precioUltimo) + parseFloat(datosEmpresa[0][\"MontoMinMejoraPrecio\"]))) {\r\n          // + datosEmpresa[0][\"MontoMinMejoraPrecio\"]\r\n\r\n          console.log(parseFloat(precio))\r\n          console.log(parseFloat(precioUltimo))\r\n          console.log(parseFloat(datosEmpresa[0][\"MontoMinMejoraPrecio\"]))\r\n          console.log(parseFloat(precioUltimo) + parseFloat(datosEmpresa[0][\"MontoMinMejoraPrecio\"]))\r\n          NotificationManager.warning(\r\n            //\"Precio debe ser igual al precio inicial o mayor e igual que \" + formatNumber(precioUltimo) + \" dólares\",\r\n            \"Precio debe ser igual al precio inicial \" + formatNumber(precioUltimo) + \" dólares\",\r\n            \"Sistema\",\r\n            4000,\r\n            () => { },\r\n            4\r\n          );\r\n          return\r\n        }\r\n\r\n\r\n      } else {\r\n\r\n\r\n      }\r\n\r\n      // Validacion monto minimo a mejorar\r\n      if (datosEmpresa != null && (parseFloat(precio) < ((parseFloat(precioUltimo).toFixed(2)) + parseFloat(datosEmpresa[0][\"MontoMinMejoraPrecio\"].toFixed(2)))) && parseFloat(precio) !== parseFloat(precioUltimo)) {\r\n        // + datosEmpresa[0][\"MontoMinMejoraPrecio\"]\r\n        console.log(precio)\r\n        console.log(precioUltimo)\r\n        console.log(\"montomin\", datosEmpresa[0][\"MontoMinMejoraPrecio\"])\r\n        console.log((parseFloat(precioUltimo) + parseFloat(datosEmpresa[0][\"MontoMinMejoraPrecio\"])))\r\n        NotificationManager.warning(\r\n          // \"Advertencia. Precio debe ser igual al precio ultimo ofertado o menor que \" + formatNumber(precioUltimo) + \" dólares\",\r\n          \"Precio debe ser igual al precio ultimo ofertado o menor que \" + formatNumber(precioUltimo),\r\n          \"Sistema\",\r\n          4000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n      // Incrementos \r\n      if ((parseFloat(precio) * 100).toFixed(2) % parseFloat((datosEmpresa[0][\"MontoMinMejoraPrecio\"] * 100)) != 0) {\r\n        console.log(parseFloat(precio))\r\n        console.log((parseFloat(precio) * 100))\r\n        console.log(parseFloat((datosEmpresa[0][\"MontoMinMejoraPrecio\"] * 100)))\r\n        NotificationManager.warning(\r\n          \"El precio debe tener incrementos de \" + datosEmpresa[0][\"MontoMinMejoraPrecio\"],\r\n          \"Sistema\",\r\n          4000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n\r\n\r\n\r\n\r\n\r\n\r\n      // Validacion techo maximo\r\n      if (datosEmpresa != null && parseFloat(precio) > parseFloat(datosEmpresa[0][\"TechoPrecioMax\"])) {\r\n        NotificationManager.warning(\r\n          \"Precio debe ser menor que el techo máximo\" + \" USD \" + formatNumber(datosEmpresa[0][\"TechoPrecioMax\"]) + \"\",\r\n          \"Sistema\",\r\n          4000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n\r\n      // Validacion ultimo precio\r\n\r\n      if (datosEmpresa != null && (parseFloat(precio) < parseFloat(precioUltimo))) {\r\n        NotificationManager.warning(\r\n          \"Precio debe ser mayor o igual a \" + formatNumber(precioUltimo) + \" dólares\",\r\n          \"Sistema\",\r\n          4000,\r\n          () => { },\r\n          4\r\n        );\r\n        return\r\n      }\r\n\r\n\r\n\r\n\r\n\r\n      setErrors(errors)\r\n      setIsError(true)\r\n      if (!valid) {\r\n        return\r\n      }\r\n\r\n      setIsActiveButton(true)\r\n      dispatch(updateOrdenAct(\r\n        \"-1\",\r\n        empresa[\"value\"],\r\n        inversionista[\"value\"],\r\n        accionesComprar,\r\n        precio,\r\n        \"A\",\r\n        currentUser[\"userId\"],\r\n        eventoSeleccionado,\r\n        \"0\", \"\", \"\", \"ASC\", \"\"\r\n      )).then(() => {\r\n        //setEmpresa({ value: '0', label: \"Ninguno\" })\r\n        setInversionista({ value: '0', label: \"Ninguno\" })\r\n        setInversionistaSeleccionado(null)\r\n        setAccionesComprar(\"\")\r\n        //setPrecio(\"\")\r\n        props.sendMessage(generateMessageAdm(\"ACTUALIZAR_ORDEN\"))\r\n        setIsActiveButton(false)\r\n      })\r\n        .catch(() => {\r\n          setIsActiveButton(false)\r\n        });\r\n\r\n\r\n    }\r\n  }\r\n  console.log(isActiveButton);\r\n\r\n  useEffect(() => {\r\n    inversionistaSeleccionado = listaInversionistaSelect !== null ? listaInversionistaSelect.filter(x => x.value === inversionista)[0] : {}\r\n    setInversionistaSeleccionado(inversionistaSeleccionado)\r\n  }, [listaInversionistaSelect])\r\n\r\n\r\n  useEffect(() => {\r\n\r\n    //setPrecioUltimo(0)\r\n    //console.log(precio)\r\n    console.log(\"empresa\", empresa, empresa[\"value\"])\r\n    if (datosEmpresa === null && empresa[\"value\"] !== \"0\") {\r\n      //setPrecio(0)\r\n      //setPrecioUltimo(0)\r\n      dispatch(getDataEmpresaAct(empresa[\"value\"]))\r\n        .then(() => {\r\n\r\n        })\r\n        .catch(() => {\r\n        });\r\n    }\r\n  }, [empresa])\r\n\r\n  useEffect(() => {\r\n\r\n    console.log(\"listaAdjudicacion\", listaAdjudicacion, \"empresa\", empresa, \"listaEmpresaConEvento\", listaEmpresaConEvento, \"datosEmpresa\", datosEmpresa)\r\n    if (datosEmpresa !== null) {\r\n      //setPrecio(0)\r\n      //console.log((datosEmpresa[0][\"MontoMinMejoraPrecio\"] * 100))\r\n    }\r\n\r\n    if (listaEmpresaConEvento !== null) {\r\n\r\n      setList(listaEmpresaConEvento['emp1']);\r\n\r\n      let arrPrice = listaAdjudicacion !== null ? listaAdjudicacion.filter(x => x.EmpresaId == empresa[\"value\"]) : []\r\n      let arrPrice2 = list.filter(x => x.EmpresaId == empresa[\"value\"])\r\n\r\n\r\n\r\n      if (arrPrice2.length > 0) {\r\n        //console.log(\"preci inicial\")\r\n        //console.log(arrPrice2[0][\"PrecioInicialPorAccion\"])\r\n\r\n        if (precio == 0 || precio < parseFloat(arrPrice2[0][\"PrecioInicialPorAccion\"].toFixed(2))) {\r\n          setPrecio(parseFloat(arrPrice2[0][\"PrecioInicialPorAccion\"].toFixed(2)))\r\n          setPrecioUltimo(parseFloat(arrPrice2[0][\"PrecioInicialPorAccion\"].toFixed(2)))\r\n        }\r\n        //console.log(precio)\r\n        //console.log(precioUltimo)\r\n      }\r\n\r\n      // si adjudicaciones tiene valores\r\n      if (arrPrice.length > 0 && arrPrice2.length > 0 && arrPrice2 !== undefined && arrPrice2 !== null) {\r\n\r\n        console.log(\"ajudicacionse\")\r\n        let sumaAcciones = sumColumn(arrPrice.filter(x => x.Precio == arrPrice[0][\"Precio\"]), [\"NumAcciones\"])\r\n\r\n        if (arrPrice2 !== undefined && ((parseFloat(sumaAcciones)) >= parseFloat(arrPrice2[0][\"NumAccionesOferta\"]))) {\r\n          console.log(arrPrice)\r\n          let precioMejo = parseFloat(arrPrice[0][\"Precio\"].toFixed(2)) + parseFloat(arrPrice2[0][\"MontoMinMejoraPrecio\"].toFixed(2))\r\n          if (precio == 0 || precio < precioMejo) {\r\n            setPrecio(precioMejo)\r\n            setPrecioUltimo(precioMejo)\r\n          }\r\n          //console.log(precio)\r\n        } else {\r\n          let precioMejo = parseFloat(arrPrice[0][\"Precio\"].toFixed(2))\r\n          if (precio == 0 || precio < precioMejo) {\r\n            setPrecio(parseFloat(arrPrice[0][\"Precio\"].toFixed(2)))\r\n            setPrecioUltimo(parseFloat(arrPrice[0][\"Precio\"].toFixed(2)))\r\n          }\r\n          //console.log(precio)\r\n          //console.log(\"-------\")\r\n          //console.log(precio)\r\n          //console.log(precioUltimo)\r\n        }\r\n\r\n\r\n      }\r\n\r\n    }\r\n  }, [empresa, listaEmpresaConEvento, listaAdjudicacion]) //empresa, listaEmpresaConEvento, listaAdjudicacion\r\n\r\n\r\n  //console.log(\"---------------------------\")\r\n  //console.log(\"precio\", precio)\r\n  //console.log(\"precio ultimo\", precioUltimo)\r\n\r\n\r\n\r\n  function sumColumn(arr, column) {\r\n    let sum = 0;\r\n    arr.forEach(item => {\r\n      sum += item[column];\r\n    });\r\n    return sum;\r\n  }\r\n\r\n  return (\r\n    <div>\r\n      {nuevoInversionistaOpen === \"OPEN\" ?\r\n        <AgregarInversionista\r\n          closeEditInversionista={closeEditInversionista}\r\n          inversionistaSeleccionado={inversionistaSeleccionado}\r\n          empresaSeleccionada={empresa[\"value\"]} /> : \"\"}\r\n\r\n      <div className=\"crypt-boxed-area\">\r\n\r\n        <h6 className=\"crypt-bg-head\">REGISTRO DE ORDEN\r\n          <div className='floatright'>\r\n            <div className=\"filterNeg\">\r\n              <i className={[\"fas\", !props.maximizeOrn ? \"fa-window-maximize\" : \"fa-window-restore\"].join(' ')} onClick={() => props.setMaximizeOrd(!props.maximizeOrd)}></i>\r\n            </div>\r\n          </div>\r\n        </h6>\r\n        <div className=\"row no-gutters\">\r\n          <div className=\"col-md-6 customScroll\">\r\n            <div className=\"crypt-buy-sell-form\">\r\n              <div className=\"crypt-buy\">\r\n                <div className=\"input-group mb-3\">\r\n                  <div className=\"input-group-prepend\">\r\n                    {\" \"}\r\n                    <span className=\"input-group-text\">Empresa</span>{\" \"}\r\n                  </div>\r\n\r\n                  <div className=\"col-70-orden\">\r\n                    <Select\r\n                      isDisabled={userCajaFuncionality == true || userLiquidacionFuncionality == true || userFuntion == true ? true : props.isDisabled}\r\n                      className=\"input-form1\"\r\n                      id=\"estadoSelectCombo\"\r\n                      value={empresa}\r\n                      onChange={(e) => {\r\n\r\n                        setEmpresa(e)\r\n\r\n                        setLoadInversionista(true)\r\n\r\n                        //agg\r\n                        setPrecio(0)\r\n\r\n                        dispatch(getInversionistaSelectAct(e.value))\r\n                          .then(() => {\r\n                            setInversionista({ value: '0', label: \"Ninguno\" })\r\n                            setInversionistaSeleccionado(null)\r\n\r\n                          })\r\n                          .catch(() => {\r\n                          });\r\n                        dispatch(getDataEmpresaAct(e.value))\r\n                          .then(() => {\r\n                            setInversionista({ value: '0', label: \"Ninguno\" })\r\n                            setInversionistaSeleccionado(null)\r\n\r\n                          })\r\n                          .catch(() => {\r\n                          });\r\n\r\n\r\n\r\n                        errors[\"empresaErr\"] = \"\"\r\n                      }} placeholder=\"Ninguno\"\r\n                      options={listaEmpresaConEvento !== null ? listaEmpresaConEvento['emp2'] : []}\r\n                      tabIndex=\"1\" />\r\n                    {errors[\"empresaErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"empresaErr\"]}</div> : \"\"}\r\n                  </div>\r\n                </div>\r\n                <div className=\"input-group mb-3\">\r\n                  <div className=\"input-group-prepend\">\r\n                    {\" \"}\r\n                    <span className=\"input-group-text\">Número de acciones</span>\r\n                  </div>\r\n                  <NumberFormat\r\n                    disabled={userCajaFuncionality == true || userLiquidacionFuncionality == true ? true : props.isDisabled}\r\n                    className=\"input-form2\"\r\n                    value={accionesComprar}\r\n                    maxLength={5}\r\n                    allowNegative={false}\r\n                    thousandSeparator={false}\r\n                    decimalScale={0}\r\n                    fixedDecimalScale={false}\r\n                    decimalSeparator={'.'}\r\n                    prefix={\"\"}\r\n                    onValueChange={(values) => {\r\n                      const { formattedValue, value } = values;\r\n\r\n\r\n                      setAccionesComprar(value);\r\n                      //precioPorAcciones(value)\r\n\r\n                      errors[\"numAccionesErr\"] = \"\"\r\n\r\n                    }}\r\n                    tabIndex=\"3\"\r\n                  />\r\n                  {errors[\"numAccionesErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"numAccionesErr\"]}</div> : \"\"}\r\n                </div>\r\n\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div className=\"col-md-6 rightCol customScroll\">\r\n            <div className=\"crypt-buy-sell-form\">\r\n              <div className=\"crypt-buy\">\r\n                <div className=\"input-group mb-3\">\r\n                  <div className=\"input-group-prepend\">\r\n                    {\" \"}\r\n                    <span className=\"input-group-text\">Inversionista</span>{\" \"}\r\n                    {empresa !== null && empresa[\"value\"] !== '0'?\r\n                      <div className=\"input-group-text\" title=\"Agregar\" onClick={openNewInversionista}>\r\n                        <i class=\"fas fa-user-plus\"></i>\r\n                      </div>\r\n                      : \"\"}\r\n                  </div>\r\n                  <div className=\"col-70-orden\">\r\n                    <Select\r\n\r\n                      isDisabled={userCajaFuncionality == true || userLiquidacionFuncionality == true ? true : props.isDisabled}\r\n                      className=\"input-form1\"\r\n                      id=\"estadoSelectCombo\"\r\n                      value={inversionistaSeleccionado}\r\n                      onChange={(e) => {\r\n                        setInversionista(e)\r\n                        setInversionistaSeleccionado(e)\r\n\r\n                        errors[\"inversionistaErr\"] = \"\"\r\n                      }} placeholder=\"Ninguno\"\r\n                      options={listaInversionistaSelect !== null ? listaInversionistaSelect : []}\r\n                      tabIndex=\"2\" />\r\n                    {errors[\"inversionistaErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"inversionistaErr\"]}</div> : \"\"}\r\n                  </div>\r\n                </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n                <div className=\"input-group mb-3\">\r\n                  <div className=\"input-group-prepend\">\r\n                    {\" \"}\r\n                    <span className=\"input-group-text\">Precio</span>\r\n                  </div>\r\n                  <NumberFormat\r\n                    disabled={userCajaFuncionality == true || userLiquidacionFuncionality == true ? true : props.isDisabled}\r\n                    className=\"input-form2\"\r\n                    value={precio}\r\n                    thousandSeparator={false}\r\n                    allowNegative={false}\r\n                    decimalScale={2}\r\n                    fixedDecimalScale={true}\r\n                    decimalSeparator={'.'}\r\n                    prefix={\"$\"}\r\n                    onValueChange={(values) => {\r\n                      const { formattedValue, value } = values;\r\n                      setPrecio(parseFloat(value).toFixed(2));\r\n                      //console.log(precio)\r\n\r\n\r\n                      errors[\"precioErr\"] = \"\"\r\n                    }}\r\n                    isAllowed={(values) => {\r\n                      const { floatValue } = values;\r\n                      return floatValue >= 0 && floatValue <= 99999.99;\r\n                    }}\r\n                    tabIndex=\"4\"\r\n                  />\r\n                  {errors[\"precioErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"precioErr\"]}</div> : \"\"}\r\n                </div>\r\n\r\n                <div>\r\n                  <button\r\n                    disabled={\r\n                      userCajaFuncionality == true || userLiquidacionFuncionality == true || isActiveButton == true || clicked == true ? true : props.isDisabled\r\n                    }\r\n                    className={props.isDisabled == false && userCajaFuncionality == false && userLiquidacionFuncionality == false ? 'btnGuardar1' : 'btnGuardar1_False'}\r\n\r\n                    onClick={(e) => {\r\n                      actualizar()\r\n\r\n                    }}\r\n                  //onClick={actualizar}+\r\n                  //onDoubleClick={() => console.log(\"on double click\")}\r\n                  >REGISTRAR\r\n\r\n                  </button>\r\n                </div>\r\n\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <NotificationContainer />\r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarOrden);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport Select from 'react-select';\r\nimport Checkbox from 'rc-checkbox';\r\nimport { updateCobrarLiquidacion, updateComentarioLiquidacion, updateParametroAct } from \"../../actions/administracion\";\r\nimport \"../../config\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport { generateMessageAdm } from \"./Util\";\r\nconst EditarComentarioLiqui = (props) => {\r\n    //console.log(props.liquidacionSeleccionada)\r\n    //console.log(props.sendMessage)\r\n    const dispatch = useDispatch();\r\n    let [errors, setErrors] = useState({ \"comentarioErr\": \"\" }, { \"descripcionErr\": \"\" })\r\n\r\n    let [liquidacionId, setLiquidacionId] = useState(props.liquidacionSeleccionada !== null ? props.liquidacionSeleccionada[\"Liquidacion\"] : \"\")\r\n    let [comentario, setComentario] = useState(props.liquidacionSeleccionada !== null ? props.liquidacionSeleccionada[\"Comentario\"] : \"\")\r\n\r\n\r\n    let [eventoSeleccionadoId] = useState(props.eventoSeleccionadoId);\r\n    let [empresaId] = useState(props.empresaId);\r\n    let [usuarioId] = useState(props.usuarioId);\r\n\r\n\r\n\r\n    //let [descripcion,setDescripcion] = useState(props.parametroSeleccionado!==null?props.parametroSeleccionado[\"Descripcion\"]:\"\")\r\n\r\n\r\n    let [isError, setIsError] = useState(false)\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n    const closeEditComentario = () => props.closeEditComentarioLiqui();\r\n\r\n\r\n\r\n\r\n    const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n    const textoRegex = /^[a-zA-Z0-9À-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n\r\n    function actualizar() {\r\n\r\n        let valid = true\r\n        //if(comentario == \"\"){\r\n        //  errors[\"descripcionErr\"] = \"Ingrese descripción\"\r\n        //valid = false\r\n        //}\r\n\r\n        setErrors(errors)\r\n        setIsError(true)\r\n        if (!valid) {\r\n            return\r\n        }\r\n        dispatch(updateComentarioLiquidacion(\r\n            liquidacionId,\r\n            comentario,\r\n            eventoSeleccionadoId,\r\n            usuarioId,\r\n            empresaId\r\n\r\n        )).then(() => {\r\n            dispatch(updateCobrarLiquidacion(liquidacionId, eventoSeleccionadoId, usuarioId, empresaId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n            props.sendMessage(generateMessageAdm(\"ACTUALIZAR_ORDEN\"))\r\n        }).catch(() => { }\r\n        );\r\n\r\n        \r\n        closeEditComentario()\r\n    }\r\n\r\n    return (\r\n        <div className=\"overlay3 fade-in\">\r\n            <div className=\"borderContent ventanaPerfil\">\r\n                <div className=\"innerShadow-height-100\">\r\n                    <div id=\"formulario-estilo\">\r\n                        <h2>\r\n                            Liquidación\r\n                        </h2>\r\n                        <div className='vertical-scroll customScroll'>\r\n                            <div className=\"columna-1-formulario-ventana-perfil-edit-evento-user\">\r\n\r\n                                <div className=\"row-form\">\r\n                                    <div className=\"col-30\">\r\n                                        <label>\r\n                                            <i className=\"fas fa-edit\"></i> <span>Comentario:</span>\r\n                                        </label>\r\n                                    </div>\r\n                                    <div className=\"col-70\">\r\n                                        <textarea\r\n                                            type=\"text\"\r\n                                            value={comentario}\r\n                                            style={{ height: '100px' }}\r\n                                            maxLength={1500}\r\n\r\n                                            placeholder=\"Comentario\"\r\n                                            className=\"text-area-form\"\r\n                                            onChange={(e) => {\r\n                                                setComentario(e.target.value);\r\n                                                errors[\"comentarioErr\"] = \"\"\r\n                                            }}\r\n                                        ></textarea>\r\n                                        {errors[\"comentarioErr\"] !== \"\" ? <div className='camporequerido'>{errors[\"comentarioErr\"]}</div> : \"\"}\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n\r\n                            <div className=\"textCenter clear-both\">\r\n                                <div className=\"btnGuardar\" onClick={actualizar} >\r\n                                    GUARDAR\r\n                                </div>{\" \"}\r\n                                <div className=\"btnCancelar\" onClick={closeEditComentario}>\r\n                                    SALIR\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(EditarComentarioLiqui);\r\n","import { Menu, MenuButton, MenuItem } from '@szhsin/react-menu';\r\nimport React, { useCallback, useState } from 'react'\r\nimport DataGrid, { Column } from '@inovua/reactdatagrid-community';\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport { getAdjudicacionAct, getDatosAdjudicaciones, sendLiquidacionInversionista, sendLiquidacionUser, updateCobrarLiquidacion, updateEstadoEmailEmpresa, updateEstadoEmailInversionista, updateImpresionLiquidaciones, updateImpresionTitulos, updateImprimirCertificado, updateImprimirLiquidacion } from '../../actions/administracion';\r\nimport { enableFuncionalityForRole, formatNumber, generateMessageAdm } from \"../../components/general/Util\";\r\nimport EditarComentarioLiqui from './EditarComentarioLiqui';\r\nimport \"@inovua/reactdatagrid-community/base.css\";\r\nimport \"@inovua/reactdatagrid-community/theme/amber-dark.css\";\r\n\r\nconst Liquidaciones = (props) => {\r\n\r\n  //probar \r\n  //console.log(props.sendMessage)\r\n\r\n  const dispatch = useDispatch();\r\n  const gridStyle = { minHeight: '300px', height: '100%' }\r\n\r\n  const { user: currentUser } = useSelector((state) => state.auth);\r\n  let [eventoSeleccionadoId] = useState(props.eventoSeleccionado);\r\n  let [empresaId] = useState(props.empresaId);\r\n  let [usuarioId] = useState(props.usuarioId);\r\n  console.log(\"ey\", eventoSeleccionadoId)\r\n  const { listaAdjudicacion } = useSelector((state) => state.administracion);\r\n\r\n  // agg\r\n  const { listaDatosAdjudicaciones, liquidacionesLoading, loadingAdjudicacionesD } = useSelector((state) => state.administracion);\r\n  console.log(\"liquidacionesLoading\", liquidacionesLoading)\r\n  let [mostrarDatosAdjudicaciones, setMostrarDatosAdjudicaciones] = useState(false)\r\n\r\n  let [loadAdjudicacion, setLoadAdjudicacion] = useState(false)\r\n  const [isLoading, setIsLoading] = useState(false);\r\n  // Comentario\r\n  let [liquidacionSeleccionada, setLiquidacionSeleccionada] = useState(null);\r\n  let [editComentarioLiquiOpen, setEditComentarioLiquiOpen] = useState(\"\")\r\n\r\n  let [admFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_ADM\")\r\n      : false\r\n  );\r\n\r\n  let [userCajaFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_CAJA\")\r\n      : false\r\n  );\r\n\r\n  let [userLiquidacionFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_LIQUI\")\r\n      : false\r\n  );\r\n  let [userRuedaFuncionality] = useState(\r\n    currentUser !== null\r\n      ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_RUED\")\r\n      : false\r\n  );\r\n\r\n  if (listaDatosAdjudicaciones === null && mostrarDatosAdjudicaciones === false) {\r\n    setMostrarDatosAdjudicaciones(true)\r\n    dispatch(getDatosAdjudicaciones(eventoSeleccionadoId, usuarioId, empresaId, \"0\", \"\", \"\", \"ASC\", \"\"))\r\n      .then(() => {\r\n        //console.log(\"exito\");\r\n        console.log(listaDatosAdjudicaciones);\r\n      })\r\n      .catch(() => {\r\n      });\r\n\r\n  }\r\n  //\r\n\r\n  let [plantillaFilter, setPlantillaFilter] = useState(\"\");\r\n  let [gridInfor, setGridInfor] = useState([listaDatosAdjudicaciones !== null ? listaDatosAdjudicaciones : []]);\r\n\r\n  if (listaDatosAdjudicaciones !== null && listaDatosAdjudicaciones != gridInfor && plantillaFilter === \"\")\r\n    setGridInfor(listaDatosAdjudicaciones)\r\n\r\n\r\n  function closeLiquidacion() {\r\n    props.closeLiquidacionesClick()\r\n  }\r\n\r\n\r\n\r\n  const renderButtonELiquidacion = (value, rowData) => {\r\n    return (\r\n      <>\r\n        <button style={{ border: 'none', outline: 'none' }}\r\n          id={value.data !== null ?\r\n            value.data[\"Liquidacion\"] : \"0\"}\r\n          className={value.data[\"EstadoEmailLiquiEmpresaEnviado\"] === \"E\" ? \"fas fa-envelope color\" : \"fas fa-envelope\"}\r\n          onClick={(e) => {\r\n            handleClickLiquidacionIndividual(e)\r\n            //setIsLoading(true)\r\n          }}></button>\r\n      </>\r\n    )\r\n  }\r\n\r\n  const renderButtonEmailLiquidacionInversionista = (value, rowData) => {\r\n    return (\r\n      <>\r\n        <button style={{ border: 'none', outline: 'none' }}\r\n          id={value.data !== null ?\r\n            value.data[\"Liquidacion\"] : \"0\"}\r\n          className={value.data[\"EstadoEmailLiquiInverEnviado\"] === \"E\" ? \"fas fa-envelope color\" : \"fas fa-envelope\"}\r\n          onClick={(e) => {\r\n            handleClickLiquidacionIndividualInversionista(e)\r\n            //setIsLoading(true)\r\n          }}></button>\r\n      </>\r\n    )\r\n  }\r\n\r\n\r\n\r\n\r\n  // Imprimir button\r\n  const renderButtonICertificado = (value) => {\r\n    return (\r\n      <>\r\n        <button style={{ border: 'none', outline: 'none' }}\r\n          id={value.data !== null ?\r\n            value.data[\"Liquidacion\"] : \"0\"}\r\n          className={value.data[\"EstadoCertiImpreso\"] === \"I\" ? \"fas fa-print color\" : \"fas fa-print\"}\r\n          onClick={\r\n            (e) => {\r\n              handleClickCertificado(e)\r\n              setIsLoading(true)\r\n            }\r\n\r\n          }></button>\r\n      </>\r\n    )\r\n  }\r\n\r\n\r\n\r\n  // Imprimir button\r\n  const renderButtonITitulo = (value) => {\r\n    return (\r\n      <>\r\n        <button style={{ border: 'none', outline: 'none' }}\r\n          id={value.data !== null ?\r\n            value.data[\"Liquidacion\"] : \"0\"}\r\n          className={value.data[\"EstadoLiquiImpreso\"] === \"I\" ? \"fas fa-print color\" : \"fas fa-print\"}\r\n          onClick={(e) => {\r\n            handleClickTitulo(e)\r\n            setIsLoading(true)\r\n          }}></button>\r\n      </>\r\n    )\r\n  }\r\n\r\n\r\n\r\n  const handleClickCertificado = (rowData) => {\r\n    let liquidacionId = parseInt(rowData.target.id)\r\n    let data = listaDatosAdjudicaciones.filter(x => x.Liquidacion === liquidacionId)[0]//rowData.cellProps[\"data\"]\r\n\r\n    if (data !== null) {\r\n      dispatch(updateImpresionLiquidaciones(liquidacionId))\r\n        .then((url) => {\r\n\r\n          if (url !== \"-2\") {\r\n            dispatch(updateImprimirCertificado(liquidacionId, eventoSeleccionadoId, usuarioId, empresaId))\r\n            openPDF(url);\r\n            props.sendMessage(generateMessageAdm(\"ACTUALIZAR_ORDEN\"))\r\n          }\r\n          setIsLoading(false);\r\n\r\n        })\r\n        .catch(() => {\r\n          setIsLoading(false);\r\n        });\r\n    }\r\n  }\r\n\r\n\r\n\r\n  const handleClickTitulo = (rowData) => {\r\n    let adjudicacionId = parseInt(rowData.target.id)\r\n    let data = listaDatosAdjudicaciones.filter(x => x.AdjudicacionId === adjudicacionId)[0]\r\n    if (data !== null) {\r\n      dispatch(updateImpresionTitulos(adjudicacionId))\r\n        .then((url) => {\r\n          if (url !== \"-2\") {\r\n            dispatch(updateImprimirLiquidacion(adjudicacionId, eventoSeleccionadoId, usuarioId, empresaId))\r\n            openPDF(url);\r\n            props.sendMessage(generateMessageAdm(\"ACTUALIZAR_ORDEN\"))\r\n          }\r\n          setIsLoading(false);\r\n        })\r\n        .catch(() => {\r\n          setIsLoading(false);\r\n        });\r\n    }\r\n\r\n  }\r\n\r\n  function openPDF(pdf) {\r\n    window.open(pdf);\r\n    return false;\r\n  }\r\n\r\n  const handleClickLiquidacionIndividual = (rowData) => {\r\n    let liquidacionId = parseInt(rowData.target.id)\r\n    console.log(\"lista\", listaDatosAdjudicaciones)\r\n    console.log(\"id\", liquidacionId)\r\n    let data = listaDatosAdjudicaciones.filter(x => x.AdjudicacionId === liquidacionId)[0]\r\n    if (data !== null) {\r\n      dispatch(sendLiquidacionUser(eventoSeleccionadoId, liquidacionId))\r\n        .then((url) => {\r\n          dispatch(updateEstadoEmailEmpresa(liquidacionId, eventoSeleccionadoId, usuarioId, empresaId))\r\n          props.sendMessage(generateMessageAdm(\"ACTUALIZAR_ORDEN\"))\r\n        })\r\n        .catch(() => {\r\n        });\r\n    }\r\n\r\n  }\r\n\r\n  const handleClickLiquidacionIndividualInversionista = (rowData) => {\r\n    let liquidacionId = parseInt(rowData.target.id)\r\n    console.log(\"lista\", listaDatosAdjudicaciones)\r\n    console.log(\"id\", liquidacionId)\r\n    let data = listaDatosAdjudicaciones.filter(x => x.AdjudicacionId === liquidacionId)[0]\r\n    if (data !== null) {\r\n      dispatch(sendLiquidacionInversionista(eventoSeleccionadoId, liquidacionId))\r\n        .then((url) => {\r\n          dispatch(updateEstadoEmailInversionista(liquidacionId, eventoSeleccionadoId, usuarioId, empresaId))\r\n          props.sendMessage(generateMessageAdm(\"ACTUALIZAR_ORDEN\"))\r\n        })\r\n        .catch(() => {\r\n        });\r\n    }\r\n\r\n  }\r\n\r\n  function filterCatalogo(nego, empresaFilter) {\r\n    //value => \r\n    setGridInfor(nego.filter(function (item) {\r\n      if (item[\"NombreEmpresa\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()) ||\r\n        item[\"NombreInversionista\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase())\r\n      )\r\n        return true;\r\n      return false;\r\n    }))\r\n  }\r\n\r\n  const renderRowContextMenu = useCallback((menuProps, { rowProps }) => {\r\n    //console.log(menuProps)\r\n    menuProps.autoDismiss = true\r\n    menuProps.items = [\r\n      {\r\n        label: 'Cobrar',\r\n        onClick: () => {\r\n          setLiquidacionSeleccionada(rowProps.data)\r\n          setEditComentarioLiquiOpen(\"EDIT\")\r\n          console.log(rowProps.data)\r\n        }\r\n      },\r\n      {\r\n        label: 'Ver comentario',\r\n        onClick: () => {\r\n          setLiquidacionSeleccionada(rowProps.data)\r\n          setEditComentarioLiquiOpen(\"EDIT\")\r\n          console.log(rowProps.data)\r\n        }\r\n      }\r\n\r\n    ]\r\n  }, [])\r\n\r\n  function closeEditComentarioLiqui() {\r\n    setEditComentarioLiquiOpen(\"\")\r\n  }\r\n  const renderButtonObservaciones = (value) => {\r\n    //console.log(value.data[\"Estado\"])\r\n    return (\r\n      <>\r\n        {value.data[\"EstadoCobrar\"] === \"C\" ?\r\n          <button\r\n            className=\"fas fa-check\"//fas fa-clock\r\n            onClick={\r\n              (e) => {\r\n              }\r\n\r\n            }></button>\r\n          :\r\n          <button\r\n            className=\"fas fa-times\"//fas fa-clock\r\n            onClick={\r\n              (e) => {\r\n              }\r\n\r\n            }></button>}\r\n      </>\r\n    )\r\n  }\r\n\r\n\r\n\r\n\r\n  let columns = admFuncionality === true ? [\r\n\r\n    { name: \"NombreEmpresa\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>EMPRESA</div>), defaultFlex: 1, xdefaultLocked: \"end\", headerAlign: \"center\", minWidth: 140 },\r\n    { name: \"Orden\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>LIQUIDACIÓN</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 130 },\r\n    { name: \"NombreInversionista\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>INVERSIONISTA</div>), defaultFlex: 1, xdefaultLocked: \"end\", headerAlign: \"center\", minWidth: 140 },\r\n    { name: \"NumAcciones\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}># ACCIONES</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 115 },\r\n    { name: \"Precio\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>PRECIO</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", render: ({ value }) => formatNumber(value), headerAlign: \"center\", minWidth: 85 },\r\n    { name: \"ImprimirCertificado\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>CERTIFICADO</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonICertificado(rowData), headerAlign: \"center\", minWidth: 120 },\r\n    { name: \"ImprimirTitulo\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>LIQUIDACIÓN</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonITitulo(rowData), headerAlign: \"center\", minWidth: 125 },\r\n    { name: \"EnviarCorreo\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>CORREO<br />EMPRESA</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonELiquidacion(rowData), headerAlign: \"center\", minWidth: 100 },\r\n    { name: \"EnviarCorreoInver\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>CORREO<br />INVERSIONISTA</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonEmailLiquidacionInversionista(rowData), headerAlign: \"center\", minWidth: 135 },\r\n    { name: \"Cobrado\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>COBRADO</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonObservaciones(rowData), headerAlign: \"center\", minWidth: 105 },\r\n\r\n\r\n  ] : \"\" ||\r\n    userRuedaFuncionality === true ?\r\n    [\r\n      { name: \"NombreEmpresa\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>EMPRESA</div>), defaultFlex: 1, xdefaultLocked: \"end\", headerAlign: \"center\", minWidth: 140 },\r\n      //{ name: \"OrdenId\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>ORDEN</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 90 },\r\n      { name: \"Orden\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>LIQUIDACIÓN</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 130 },\r\n      { name: \"NombreInversionista\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>INVERSIONISTA</div>), defaultFlex: 1, xdefaultLocked: \"end\", headerAlign: \"center\", minWidth: 140 },\r\n      { name: \"NumAcciones\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}># ACCIONES</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 115 },\r\n      { name: \"Precio\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>PRECIO</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", render: ({ value }) => formatNumber(value), headerAlign: \"center\", minWidth: 85 },\r\n      //{ name: \"ImprimirCertificado\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>CERTIFICADO</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonICertificado(rowData), headerAlign: \"center\", minWidth: 120 },\r\n      { name: \"ImprimirTitulo\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>LIQUIDACIÓN</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonITitulo(rowData), headerAlign: \"center\", minWidth: 125 },\r\n      { name: \"EnviarCorreo\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>CORREO<br />EMPRESA</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonELiquidacion(rowData), headerAlign: \"center\", minWidth: 100 },\r\n      { name: \"EnviarCorreoInver\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>CORREO<br />INVERSIONISTA</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonEmailLiquidacionInversionista(rowData), headerAlign: \"center\", minWidth: 135 },\r\n      //{ name: \"Cobrado\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>COBRADO</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonObservaciones(rowData), headerAlign: \"center\", minWidth: 105 },\r\n\r\n    ] : \"\" ||\r\n      userCajaFuncionality === true ?\r\n      [\r\n        { name: \"NombreEmpresa\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>EMPRESA</div>), defaultFlex: 1, xdefaultLocked: \"end\", headerAlign: \"center\", minWidth: 140 },\r\n       // { name: \"OrdenId\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>ORDEN</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 90 },\r\n        { name: \"Orden\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>LIQUIDACIÓN</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 130 }, \r\n        { name: \"NombreInversionista\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>INVERSIONISTA</div>), defaultFlex: 1, xdefaultLocked: \"end\", headerAlign: \"center\", minWidth: 140 },\r\n        { name: \"NumAcciones\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}># ACCIONES</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 115 },\r\n        { name: \"Precio\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>PRECIO</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", render: ({ value }) => formatNumber(value), headerAlign: \"center\", minWidth: 85 },\r\n        { name: \"ImprimirCertificado\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>CERTIFICADO</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonICertificado(rowData), headerAlign: \"center\", minWidth: 120 },\r\n        { name: \"Cobrado\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>COBRADO</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonObservaciones(rowData), headerAlign: \"center\", minWidth: 105 },\r\n\r\n      ] : \"\" ||\r\n        userLiquidacionFuncionality === true ?\r\n        [\r\n          { name: \"NombreEmpresa\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>EMPRESA</div>), defaultFlex: 1, xdefaultLocked: \"end\", headerAlign: \"center\", minWidth: 140 },\r\n        // { name: \"OrdenId\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>ORDEN</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 90 },\r\n          \r\n          { name: \"Orden\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>LIQUIDACIÓN</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 130 },\r\n          { name: \"NombreInversionista\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>INVERSIONISTA</div>), defaultFlex: 1, xdefaultLocked: \"end\", headerAlign: \"center\", minWidth: 140 },\r\n          { name: \"NumAcciones\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}># ACCIONES</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"numDataGrid\", headerAlign: \"center\", minWidth: 115 },\r\n          { name: \"Precio\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>PRECIO</div>), defaultFlex: 0.5, xdefaultLocked: \"end\", className: \"numDataGrid\", render: ({ value }) => formatNumber(value), headerAlign: \"center\", minWidth: 85 },\r\n          { name: \"ImprimirTitulo\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>LIQUIDACIÓN</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonITitulo(rowData), headerAlign: \"center\", minWidth: 125 },\r\n          { name: \"EnviarCorreo\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>CORREO<br />EMPRESA</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonELiquidacion(rowData), headerAlign: \"center\", minWidth: 100 },\r\n          { name: \"EnviarCorreoInver\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>CORREO<br />INVERSIONISTA</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonEmailLiquidacionInversionista(rowData), headerAlign: \"center\", minWidth: 135 },\r\n          { name: \"Cobrado\", header: () => (<div style={{ textAlign: \"center\", fontSize: \"12px\" }}>COBRADO</div>), defaultFlex: 1, xdefaultLocked: \"end\", className: \"colButton\", render: (rowData) => renderButtonObservaciones(rowData), headerAlign: \"center\", minWidth: 105 },\r\n        ] : \"\" ||\r\n        [];\r\n\r\n\r\n\r\n  return (\r\n    <div className={[\"overlay3\", \"fade-in\"].join(\" \")}>\r\n\r\n      <div className={['loading_cont', isLoading\r\n        !== true ? \"displaynone\" : \"\"].join(' ')}><div className='single6'></div></div>\r\n      {editComentarioLiquiOpen === \"EDIT\" ?\r\n        <EditarComentarioLiqui\r\n          sendMessage={props.sendMessage}\r\n          closeEditComentarioLiqui={closeEditComentarioLiqui}\r\n          liquidacionSeleccionada={liquidacionSeleccionada}\r\n          eventoSeleccionadoId={eventoSeleccionadoId}\r\n          usuarioId={usuarioId}\r\n          empresaId={empresaId}\r\n        /> : \"\"}\r\n\r\n\r\n      <div className=\"borderContent ventanaPortafolio\">\r\n        <div className=\"innerShadow-height-100\">\r\n          <h2>\r\n            Liquidaciones\r\n            <div className=\"subItemCatalogo\">\r\n            </div>\r\n          </h2>\r\n          <div className=\"titleTable-search\">LIQUIDACIONES\r\n            <div className='floatright'>\r\n              <div className=\"filterNeg\">\r\n                <input type=\"text\" placeholder=\"Filtrar\" value={plantillaFilter} onChange={(e) => {\r\n                  setPlantillaFilter(e.target.value);\r\n                  filterCatalogo(listaDatosAdjudicaciones !== null ? listaDatosAdjudicaciones : [], e.target.value)\r\n                }} /><i className=\"fas fa-search\"></i>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <DataGrid\r\n            idProperty=\"AdjudicacionId\"\r\n            style={gridStyle}\r\n            columns={columns}\r\n            enableSelection={true}\r\n            selection={{ mode: \"single\" }}\r\n            dataSource={gridInfor}\r\n            renderRowContextMenu={userLiquidacionFuncionality == false && userRuedaFuncionality == false ? renderRowContextMenu : \"\"}\r\n            theme=\"amber-dark\"\r\n\r\n          />\r\n\r\n\r\n          <div className=\"dividerLine\">\r\n\r\n          </div>\r\n          {userLiquidacionFuncionality == false && userCajaFuncionality == false || 1 == 1 ?\r\n            <div className=\"textCenter\">\r\n              <div className=\"btnCancelar\" onClick={closeLiquidacion}>\r\n                SALIR\r\n              </div>\r\n            </div>\r\n            : <div className=\"textCenter\">\r\n\r\n            </div>}\r\n          <div>\r\n\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(Liquidaciones);\r\n\r\n","import React from 'react';\r\n\r\nimport ImageGallery from 'react-image-gallery';\r\n\r\nconst PREFIX_URL = '';\r\n\r\nclass ImageVideoGallery extends React.Component {\r\n\r\n  constructor() {\r\n    super();\r\n    this.state = {\r\n      showIndex: false,\r\n      showBullets: true,\r\n      infinite: true,\r\n      showThumbnails: true,\r\n      showFullscreenButton: true,\r\n      showGalleryFullscreenButton: true,\r\n      showPlayButton: true,\r\n      showGalleryPlayButton: true,\r\n      showNav: true,\r\n      isRTL: false,\r\n      slideDuration: 450,\r\n      slideInterval: 2000,\r\n      slideOnThumbnailOver: false,\r\n      thumbnailPosition: 'bottom',\r\n      showVideo: {},\r\n      listvideos: []\r\n    };\r\n\r\n    this.images = [\r\n      {\r\n        thumbnail: `${PREFIX_URL}4v.jpg`,\r\n        original: `${PREFIX_URL}4v.jpg`,\r\n        embedUrl: 'https://www.youtube.com/watch?v=eIhrQEzZPGE&ab_channel=BolsadeValoresdeQuito',\r\n        description: 'Render custom slides within the gallery',\r\n        renderItem: this._renderVideo.bind(this)\r\n      },\r\n      {\r\n        original: `${PREFIX_URL}image_set_default.jpg`,\r\n        thumbnail: `${PREFIX_URL}image_set_thumb.jpg`,\r\n        imageSet: [\r\n          {\r\n            srcSet: `${PREFIX_URL}image_set_cropped.jpg`,\r\n            media : '(max-width: 1280px)',\r\n          },\r\n          {\r\n            srcSet: `${PREFIX_URL}image_set_default.jpg`,\r\n            media : '(min-width: 1280px)',\r\n          }\r\n        ]\r\n      },\r\n      {\r\n        original: `${PREFIX_URL}1.jpg`,\r\n        thumbnail: `${PREFIX_URL}1t.jpg`,\r\n        originalClass: 'featured-slide',\r\n        thumbnailClass: 'featured-thumb',\r\n        description: 'Custom class for slides & thumbnails'\r\n      },\r\n    ].concat(this._getStaticImages());\r\n  }\r\n\r\n  componentDidUpdate(prevProps, prevState) {\r\n    if (this.state.slideInterval !== prevState.slideInterval ||\r\n        this.state.slideDuration !== prevState.slideDuration) {\r\n      // refresh setInterval\r\n      this._imageGallery.pause();\r\n      this._imageGallery.play();\r\n    }\r\n    if(this.state.listvideos.length===0){\r\n      if(prevProps.items!=null){        \r\n        prevProps.items.forEach(element => {\r\n          let item = {}\r\n          switch(element['Tipo']){\r\n            case \"V\":\r\n              item = {\r\n                thumbnail: element[\"UrlThumbnail\"],\r\n                original: element[\"UrlPreview\"],\r\n                embedUrl: element[\"Url\"],\r\n                description: '',\r\n                renderItem: this._renderVideo.bind(this)\r\n              }\r\n              break;\r\n            case \"I\":\r\n              item = {\r\n                thumbnail: element[\"UrlThumbnail\"],\r\n                original: element[\"Url\"],\r\n                originalClass: 'featured-slide',\r\n                thumbnailClass: 'featured-thumb',\r\n                description: ''\r\n              }\r\n              break;              \r\n          }\r\n          let itemsG = this.state.listvideos\r\n          itemsG.push(item)\r\n          this.setState(itemsG)\r\n\r\n        });\r\n      } \r\n    }\r\n  }\r\n\r\n  _onImageClick(event) {\r\n    console.debug('clicked on image', event.target, 'at index', this._imageGallery.getCurrentIndex());\r\n  }\r\n\r\n  _onImageLoad(event) {\r\n    console.debug('loaded image', event.target.src);\r\n  }\r\n\r\n  _onSlide(index) {\r\n    this._resetVideo();\r\n    console.debug('slid to index', index);\r\n  }\r\n\r\n  _onPause(index) {\r\n    console.debug('paused on index', index);\r\n  }\r\n\r\n  _onScreenChange(fullScreenElement) {\r\n    console.debug('isFullScreen?', !!fullScreenElement);\r\n  }\r\n\r\n  _onPlay(index) {\r\n    console.debug('playing from index', index);\r\n  }\r\n\r\n  _handleInputChange(state, event) {\r\n    this.setState({[state]: event.target.value});\r\n  }\r\n\r\n  _handleCheckboxChange(state, event) {\r\n    this.setState({[state]: event.target.checked});\r\n  }\r\n\r\n  _handleThumbnailPositionChange(event) {\r\n    this.setState({thumbnailPosition: event.target.value});\r\n  }\r\n\r\n  _getStaticImages() {\r\n    let images = [];\r\n    for (let i = 2; i < 12; i++) {\r\n      images.push({\r\n        original: `${PREFIX_URL}${i}.jpg`,\r\n        thumbnail:`${PREFIX_URL}${i}t.jpg`\r\n      });\r\n    }\r\n\r\n    return images;\r\n  }\r\n\r\n  _resetVideo() {\r\n    this.setState({showVideo: {}});\r\n\r\n    if (this.state.showPlayButton) {\r\n      this.setState({showGalleryPlayButton: true});\r\n    }\r\n\r\n    if (this.state.showFullscreenButton) {\r\n      this.setState({showGalleryFullscreenButton: true});\r\n    }\r\n  }\r\n\r\n  _toggleShowVideo(url) {\r\n    this.state.showVideo[url] = !Boolean(this.state.showVideo[url]);\r\n    this.setState({\r\n      showVideo: this.state.showVideo\r\n    });\r\n\r\n    if (this.state.showVideo[url]) {\r\n      if (this.state.showPlayButton) {\r\n        this.setState({showGalleryPlayButton: false});\r\n      }\r\n\r\n      if (this.state.showFullscreenButton) {\r\n        this.setState({showGalleryFullscreenButton: false});\r\n      }\r\n    }\r\n  }\r\n\r\n  _renderVideo(item) {\r\n    return (\r\n      <div>\r\n        {\r\n          this.state.showVideo[item.embedUrl] ?\r\n            <div className='video-wrapper'>\r\n                <a\r\n                  className='close-video'\r\n                  onClick={this._toggleShowVideo.bind(this, item.embedUrl)}\r\n                >\r\n                </a>\r\n                <iframe\r\n                  width='560'\r\n                  height='315'\r\n                  src={item.embedUrl}\r\n                  frameBorder='0'\r\n                  allowFullScreen\r\n                >\r\n                </iframe>\r\n            </div>\r\n          :\r\n            <a onClick={this._toggleShowVideo.bind(this, item.embedUrl)}>\r\n              <div className='play-button'></div>\r\n              <img className='image-gallery-image' src={item.original} />\r\n              {\r\n                item.description &&\r\n                  <span\r\n                    className='image-gallery-description'\r\n                    style={{right: '0', left: 'initial'}}\r\n                  >\r\n                    {item.description}\r\n                  </span>\r\n              }\r\n            </a>\r\n        }\r\n      </div>\r\n    );\r\n  }\r\n\r\n  render() {\r\n    return (\r\n\r\n      <section className='app'>\r\n        <ImageGallery\r\n          ref={i => this._imageGallery = i}\r\n          items={this.state.listvideos}\r\n          lazyLoad={false}\r\n          onClick={this._onImageClick.bind(this)}\r\n          onImageLoad={this._onImageLoad}\r\n          onSlide={this._onSlide.bind(this)}\r\n          onPause={this._onPause.bind(this)}\r\n          onScreenChange={this._onScreenChange.bind(this)}\r\n          onPlay={this._onPlay.bind(this)}\r\n          infinite={this.state.infinite}\r\n          showBullets={this.state.showBullets}\r\n          showFullscreenButton={this.state.showFullscreenButton && this.state.showGalleryFullscreenButton}\r\n          showPlayButton={this.state.showPlayButton && this.state.showGalleryPlayButton}\r\n          showThumbnails={this.state.showThumbnails}\r\n          showIndex={this.state.showIndex}\r\n          showNav={this.state.showNav}\r\n          isRTL={this.state.isRTL}\r\n          thumbnailPosition={this.state.thumbnailPosition}\r\n          slideDuration={parseInt(this.state.slideDuration)}\r\n          slideInterval={parseInt(this.state.slideInterval)}\r\n          slideOnThumbnailOver={this.state.slideOnThumbnailOver}\r\n          additionalClass=\"app-image-gallery\"\r\n          autoPlay={true}\r\n        />\r\n        \r\n      </section>\r\n    );\r\n  }\r\n}\r\n\r\nexport default ImageVideoGallery;","import {\r\n    SHOW_BANNER,\r\n    SHOW_BANNER_FAIL,\r\n    SHOW_BANNER_INIT,\r\n    SET_MESSAGE,\r\n} from \"./types\";\r\n\r\nimport BannerService from \"../services/banner.service\";\r\n\r\nexport const showBanner = () => (dispatch) => {\r\n    dispatch({\r\n        type: SHOW_BANNER_INIT,\r\n      });\r\n    return BannerService.getBannerByGame().then(\r\n      (data) => {\r\n        if(data!=null){\r\n          dispatch({\r\n            type: SHOW_BANNER,\r\n            payload: { data: data },\r\n          });  \r\n          return Promise.resolve();\r\n        }else{\r\n          dispatch({\r\n            type: SHOW_BANNER_FAIL,\r\n          });\r\n    \r\n          dispatch({\r\n            type: SET_MESSAGE,\r\n            payload: \"Error al obtener banners\",\r\n          });\r\n          return Promise.reject();\r\n        }          \r\n      },\r\n      (error) => {\r\n        const message =\r\n          (error.response &&\r\n            error.response.data &&\r\n            error.response.data.message) ||\r\n          error.message ||\r\n          error.toString();\r\n  \r\n        dispatch({\r\n          type: SHOW_BANNER_FAIL,\r\n        });\r\n  \r\n        dispatch({\r\n          type: SET_MESSAGE,\r\n          payload: message,\r\n        });\r\n  \r\n        return Promise.reject();\r\n      }\r\n    );\r\n  };\r\n  ","import {\r\n  GET_EVENT_BY_USER,\r\n  GET_EVENT_TITLE_BY_USER,\r\n  GET_EVENT_BY_USER_FAIL,\r\n  GET_EVENT_BY_USER_INIT,\r\n  UPDATE_STATUS_BY_KEY,\r\n    SET_MESSAGE,\r\n    UPDATE_EVENTO_OBJECT\r\n} from \"./types\";\r\n\r\nimport BannerService from \"../services/juego.service\";\r\n\r\nexport const getTitulosEventoById = (eventId) => (dispatch) => {\r\n  dispatch({\r\n    type: GET_EVENT_BY_USER_INIT,\r\n  });\r\n  return BannerService.getTitulosEventoById(eventId).then(\r\n  (data) => {\r\n    if(data!=null){\r\n      dispatch({ \r\n        type: GET_EVENT_TITLE_BY_USER,\r\n        payload: { data: data },\r\n      });  \r\n      return Promise.resolve();\r\n    }else{\r\n      dispatch({\r\n        type: GET_EVENT_BY_USER_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: \"Error al obtener titulos\",\r\n      });\r\n      return Promise.reject();\r\n    }          \r\n  },\r\n  (error) => {\r\n    const message =\r\n      (error.response &&\r\n        error.response.data &&\r\n        error.response.data.message) ||\r\n      error.message ||\r\n      error.toString();\r\n\r\n    dispatch({\r\n      type: GET_EVENT_BY_USER_FAIL,\r\n    });\r\n\r\n    dispatch({\r\n      type: SET_MESSAGE,\r\n      payload: message,\r\n    });\r\n\r\n    return Promise.reject();\r\n  }\r\n  );  \r\n};\r\nexport const getEventosPorUsuario = (userId) => (dispatch) => {\r\n    dispatch({\r\n        type: GET_EVENT_BY_USER_INIT,\r\n      });\r\n    return BannerService.getEventosPorUsuario(userId).then(\r\n      (data) => {\r\n        if(data!=null){\r\n          dispatch({ \r\n            type: GET_EVENT_BY_USER,\r\n            payload: { data: data },\r\n          });  \r\n          return Promise.resolve();\r\n        }else{\r\n          dispatch({\r\n            type: GET_EVENT_BY_USER_FAIL,\r\n          });\r\n    \r\n          dispatch({\r\n            type: SET_MESSAGE,\r\n            payload: \"Error al obtener banners\",\r\n          });\r\n          return Promise.reject();\r\n        }          \r\n      },\r\n      (error) => {\r\n        const message =\r\n          (error.response &&\r\n            error.response.data &&\r\n            error.response.data.message) ||\r\n          error.message ||\r\n          error.toString();\r\n  \r\n        dispatch({\r\n          type: GET_EVENT_BY_USER_FAIL,\r\n        });\r\n  \r\n        dispatch({\r\n          type: SET_MESSAGE,\r\n          payload: message,\r\n        });\r\n  \r\n        return Promise.reject();\r\n      }\r\n    );\r\n  };\r\n\r\n  // WS\r\n  export const setStatusByKey = (key,value) => (dispatch) => {\r\n    dispatch({ \r\n      type: UPDATE_STATUS_BY_KEY,\r\n      payload: { key:key,value:value },\r\n    });  \r\n    return Promise.resolve();\r\n  };\r\n  export const setEventoObject = (value) => (dispatch) => {\r\n    dispatch({ \r\n      type: UPDATE_EVENTO_OBJECT,\r\n      payload: { value:value },\r\n    });  \r\n    return Promise.resolve();\r\n  };","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK4AAAAuCAYAAACxvCI2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDRBQTQxQkMyRTA2MTFFQkFBMzRCNzkwRTlDQUM3NUUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDRBQTQxQkIyRTA2MTFFQkFBMzRCNzkwRTlDQUM3NUUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OUJCRDlDQ0QyQTdDMTFFQkIzMjFFQUU3QUQwMTk3QzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OUJCRDlDQ0UyQTdDMTFFQkIzMjFFQUU3QUQwMTk3QzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5zf5ZnAAAFF0lEQVR42uxcy3HjMAyld7YBbQlyCfJl70oJcgl2CXIJVglxCVEJ9n0vUQnLEqISvPYMMIsghKhI8ifOezOaOBZJAeAjCIBKZsfj0QHAV8MPmAAAcQEAxAUAEBcAcQEAxAUAEBcAcQEAxAUAEBcAQFwAxAWAK+JnrMHvZ1fSx/Z07R7RCH/WH74qRwxXny5/Q3XS01Xces5OvLnEvPQn7glb+nl4VOKejayMtB0xXHMHxH34OUOoADxmqPBdoLzuk9FsLz5vyLuGPC4A4t6EvIeeIcEBVvt6xNVJW3K6Vqcrp+89JSpycjNx/4zKGDunthZB+FkZfWaydSVGCSUtGcWBLHtD8rdGvPsZSLlZlpxkTei7XcAeUg8vZHIdumhbx/qEZJXyemHDsXoNhf5znNkliCsTgIa20US1WZFCa2EcmfgcjK11Kwy1CIy5DTwrp8W0CRjxTNjnQB++967fCPJmQr+Gxl0pfaWOZcQxLAP2sfTne1VExnO/F+VAZP8DPbcdqFeoonDsQ8ZrJ2epiP1qMpxXxsiN8kxhGDZTnkSO9ay87EYYLqH7pZJP9mlIxp2Qk/tlE5ZzcjW5roO0rIfcMVIimF4YUhe2J9uc73eRdq889U7Z4nzv1VgYMb0+hRE722TEbckzLmkC5moVFsbqzA0PyNgpo2/FhC0oiaro50J4ia0IBwoxCTW129AuMFdb4yQTosZie8zoWYki7VLosST5JHnzwC7HC3BOevAzdh2EcyK8Ytty/7Xor0tqffUaRNqh5J2qHFYFYstakVt+3woPkgZWdGiMlZiUUEbf0Pc6Bo9hTcR5ctPWPBMaW9rGk74H97/Gqie9NYigSay3c9al6ZCnFHKsDVt4Ye/0E3pdFVMRNzThvmf7IpBAMRG90c5a4XVgAWjP/5cmUIYvh454eyi8YZdGLJS1seOsjC1a7lq+hw10/yTSxrJhH716hwD6/hCve6sDiNogZBc5M/H5jQJ+fb0FvLz2xLwN7qnPKxE5vaCOVohVUhy7Fzq8GNt9YiVDgYVhPU/uRkfjKo1n9tWrLxnlM69aDhuDRmybHC54tcKn3LYremZBz0jVgshowtZD4jUDbaQiUwbaNyLJyu60hNregxC3PPINhQt5IA4OGWzW83LKS3ESMqcYsRLjJjojn+JFESO5kTXws0y/6OLwIUaOJOLJY9j0tF81RtExVYN7Jq4OFwpV5uraAvNIGUoWzJkoMhzgwxHOjGVZLL+w3oUi0K6nF2siZcRQSDXEfqmwYTJAv1EhwFcgrqzRZu79q3h1hOhWxaCkeHEvEhwunm+NCW9vuP21BnFC5DuoMllpkNYq6cn+uUHeRNhvP5C4Dx8qWOFCbUyoLpLLQjrHqLLOWwUIz7FlJsaRv7fu8u8feLXQCiJiSqTThEnF77uALnyf+8ZifcaL6l9Q/1S09fdK3Fu/ZFO7jyc9XcRZionNO7a8jTA610tXYsIt77e8QoxWibAocx9Px1gWJusztedDilTpsg3YtOhwFOyVE6M/hxWVu2Pc2uPqsKCNZPV8WmTFhXwypisSfDrkOyZ04a7ztpcnElpx/Nq9PwV0n9ClcuHasO6/NMpmnhb94l6qBxZmsf+Pe6HMeipkkYTOysgzVYK6elYswgBZb24DcnbJOER/yxb+EqFBiD8hu/Zt15u4AIBQAQBAXADEBQAQFwBAXAAAcQEQFwBAXAAAcQEQFwBAXAAAcYHvjn8CDACmNo1i5JsZYQAAAABJRU5ErkJggg==\"","import React, { useState, useEffect,useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid,{ Column }  from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport {Menu,MenuItem,MenuButton,SubMenu} from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport {formatDateTime} from \"./Util\";\r\nimport {getEmpresaAct,deleteEmpresaAct} from \"../../actions/administracion\";\r\n\r\nimport \"../../config\";\r\n\r\n\r\nconst VerEmpresas = (props) => {\r\n    const dispatch = useDispatch();\r\n    const gridStyle = { minHeight: '300px',height:'100%' }\r\n    const {listaEmpresa,loadingEmpresa} = useSelector((state) => state.administracion);\r\n    let [loadEmpresa, setLoadEmpresa] = useState(false) \r\n\r\n    if(loadEmpresa===false){\r\n        setLoadEmpresa(true)\r\n        dispatch(getEmpresaAct(\"0\",\"\",\"\",\"ASC\",\"\"))\r\n        .then(() => {\r\n        })\r\n        .catch(() => {\r\n        });\r\n        \r\n    }\r\n\r\n\r\n    let [empresaFilter, setEmpresaFilter] = useState(\"\");   \r\n    let [gridInfor, setGridInfor] = useState([listaEmpresa!==null?listaEmpresa:[]]);     \r\n\r\n    if(listaEmpresa!==null && listaEmpresa!=gridInfor && empresaFilter===\"\")\r\n        setGridInfor(listaEmpresa)\r\n\r\n    function filterCatalogo(nego,empresaFilter){\r\n        //value => \r\n        setGridInfor(nego.filter(function(item) {\r\n            if (item[\"Nombre\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()) || \r\n                item[\"Institucion\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()) )\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    function closeEvento(){\r\n        props.closeEventoClick()\r\n    }\r\n  \r\n    function formatEstado(estado){\r\n\t\tswitch(estado){\r\n\t\t\tcase \"A\":\r\n\t\t\t\treturn \"ACTIVO\"\r\n\t\t}\r\n\t\treturn \"INACTIVO\"\r\n\t}\r\n    let columns= [\r\n      \r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'Nombre',header: 'Empresa', defaultFlex: 1, xdefaultLocked: 'end' },\r\n        { name: 'Institucion',header: 'Institucion', defaultFlex: 1, xdefaultLocked: 'start',defaultWidth: 400, },        \r\n        { name: 'NumAccionesOferta',header: 'Acciones', defaultFlex: 1, xdefaultLocked: 'end'},   \r\n        { name: 'Precio',header: 'Fecha Apertura', defaultFlex: 1, xdefaultLocked: 'end' },  \r\n        { name: 'ValorUnitarioAccion',header: 'Valor por acción', defaultFlex: 1, xdefaultLocked: 'end' },        \r\n       \r\n    ]\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps } ) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n          \r\n        {\r\n        label: 'Eliminar',\r\n            onClick:()=>{\r\n                confirmAlert({\r\n                    title: 'Eliminar Empresa',\r\n                    message: '¿Seguro desea eliminar?.',\r\n                    buttons: [\r\n                      {\r\n                        label: 'Si',\r\n                        onClick: () =>{                    \r\n                           dispatch(deleteEmpresaAct(rowProps.data[\"EmpresaId\"]))\r\n                            .then(() => {     \r\n                        \r\n                            })\r\n                            .catch(() => {});\r\n                        }\r\n                      },\r\n                      {\r\n                        label: 'No',\r\n                        onClick: () => {\r\n                            \r\n                        }\r\n                      }\r\n                    ]\r\n                });               \r\n            }\r\n        }\r\n        ]\r\n    }, [])  \r\n  return (\r\n    <div>\r\n    <h6 className=\"crypt-bg-head\">EMPRESAS<div className='floatright'><div className=\"filterNeg\"><input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n          setEmpresaFilter(e.target.value);\r\n          filterCatalogo(listaEmpresa!==null?listaEmpresa:[],e.target.value)\r\n      }}/> <i className=\"fas fa-search\"></i></div></div></h6>\r\n    <div className=\"tab-content\">\r\n      <DataGrid\r\n        idProperty=\"EmpresaId\"\r\n        style={gridStyle}\r\n        theme=\"default-light\"\r\n        columns={columns}\r\n        enableSelection={true}\r\n        selection={{ mode: \"single\" }}\r\n        dataSource={gridInfor}\r\n        renderRowContextMenu={renderRowContextMenu}\r\n        theme=\"amber-dark\"\r\n      />\r\n      <div className=\"no-orders text-center\"></div>\r\n    </div>\r\n  </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(VerEmpresas);\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAUCAYAAABSx2cSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjVEQjJDNjQ2MkRBMDExRUI5RjA4OEMxMTgyOEY0OUY2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjVEQjJDNjQ3MkRBMDExRUI5RjA4OEMxMTgyOEY0OUY2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NURCMkM2NDQyREEwMTFFQjlGMDg4QzExODI4RjQ5RjYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NURCMkM2NDUyREEwMTFFQjlGMDg4QzExODI4RjQ5RjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz59qc83AAABPklEQVR42pTTvUoDQRSG4YmuKFhI7FQUQSF2IYWFCBYWXoGVhbWtlaVtmlxAmtyBNxBSCFqoELQQUglJpZUgImgSMr5nPYtxdjbjHnhYdvZ8m8zPGmutcWygigd86rWq43963eAmWtZfLX3uDUeo2clV075UuIhOINzRvjgzZX5rDiUzuUraF9d4+AvdQLirfanwO5qBcFP7fspZ7TLaGfNt6/PMrRIVNNDTUE/vK25vIX5DumawiHl84BUDt8kNz2rTyPNCWZ8I/WQg0mtRnehYwROWXxmigWe8yX9fxSmu0A8ckhHucY4VCe/g0eYrWcR9mccRtky+WsOxhPcwbfJXWcJ3GasbqluZ8zLqGP5zvgNc4yDZZ9mmM2xjV/fbt1U3uERdDs/4IZHAOg71fgkL+iG8aPgCT8mX9S3AAN17DWn6FfKvAAAAAElFTkSuQmCC\"","import React, { useState, useRef } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Redirect } from 'react-router-dom';\r\nimport { NotificationContainer, NotificationManager } from \"react-notifications\";\r\nimport Form from \"react-validation/build/form\";\r\nimport Input from \"react-validation/build/input\";\r\nimport CheckButton from \"react-validation/build/button\";\r\n\r\nimport logojunior from '../image/investTraderLogo.png';\r\n\r\nimport { login } from \"../actions/auth\";\r\nimport { getTodoEventoAct } from \"../actions/administracion\";\r\n\r\n\r\nconst required = (value) => {\r\n  if (!value) {\r\n    return (\r\n      <div className=\"alert alert-danger\" role=\"alert\">\r\n        Campo requerido!\r\n      </div>\r\n    );\r\n  }\r\n};\r\n\r\n\r\nconst Login = (props) => {\r\n  const form = useRef();\r\n  const checkBtn = useRef();\r\n\r\n  const [username, setUsername] = useState(\"\");\r\n  const [password, setPassword] = useState(\"\");\r\n  const [loading, setLoading] = useState(false);\r\n  const [shown, setShown] = React.useState(false);\r\n  const switchShown = () => setShown(!shown);\r\n  const { isLoggedIn } = useSelector(state => state.auth);\r\n  const { message } = useSelector(state => state.message);\r\n  const [passwordVisible, setPasswordVisible] = useState(false);\r\n  const [error, setError] = useState('');\r\n  const dispatch = useDispatch();\r\n  const { listaTodosLosEventos } = useSelector((state) => state.administracion);\r\n  let [loadTodosLosEventos, setLoadTodosLosEventos] = useState(false)\r\n  const [isChecked, setIsChecked] = useState(false);\r\n\r\n\r\n\r\n  const onChangeUsername = (e) => {\r\n    const username = e.target.value;\r\n    setUsername(username);\r\n  };\r\n\r\n  const onChangePassword = (e) => {\r\n    const password = e.target.value;\r\n    setPassword(password);\r\n  };\r\n\r\n  const handleLogin = (e) => {\r\n    e.preventDefault();\r\n    console.log(e);\r\n    setLoading(true);\r\n    form.current.validateAll();\r\n    dispatch(login(username, password))\r\n      .then((data) => {\r\n        console.log(\"data\", data[\"role\"])\r\n\r\n\r\n        //agg\r\n        if (data[\"role\"] != \"ROLE_ADMIN\") {\r\n          props.history.push(\"/seleccionarEvento\");\r\n        } else {\r\n          props.history.push(\"/sala\");\r\n        }\r\n\r\n\r\n\r\n        // window.location.reload();\r\n      })\r\n      .catch(() => {\r\n        setLoading(false);\r\n\r\n        setError('Credenciales inválidos');\r\n      });\r\n\r\n\r\n  };\r\n\r\n  if (isLoggedIn) {\r\n    //return <Redirect to=\"/seleccionarEvento\" />;\r\n\r\n  }\r\n\r\n  const handleCheckboxChange = (event) => {\r\n    setIsChecked(event.target.checked);\r\n  };\r\n\r\n  return (\r\n    <div>\r\n      <header>\r\n        <div className=\"container-full-width\">\r\n          <div className=\"crypt-header\">\r\n            <div className=\"row\">\r\n              <div className=\"col-xl-4 col-lg-4 col-md-4 col-sm-5\">\r\n                <div className=\"row\">\r\n                  <div className=\"col-xs-2\">\r\n                    <div className=\"crypt-logo\"><img src={logojunior} alt=\"Logo\" /></div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div className=\"col-xl-8 col-lg-8 col-md-8 d-none d-md-block d-lg-block\">\r\n                <ul className=\"crypt-heading-menu fright\">\r\n\r\n                  {/*<li className=\"crypt-box-menu menu-red\"><a href=\"register\">Regístrate</a></li>*/}\r\n\r\n                </ul>\r\n              </div>\r\n              <i className=\"menu-toggle pe-7s-menu d-xs-block d-sm-block d-md-none d-sm-none\"></i>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div className=\"crypt-mobile-menu\">\r\n          <ul className=\"crypt-heading-menu\">\r\n            <li className=\"crypt-box-menu menu-green\"><a href=\"\">Regístrate</a></li>\r\n            <li className=\"crypt-box-menu menu-red\"><a href=\"\">Iniciar sesión</a></li>\r\n\r\n          </ul>\r\n          <div className=\"crypt-gross-market-cap\">\r\n            <h5>$34.795.90 <span className=\"crypt-up pl-2\">+3.435 %</span></h5>\r\n            <h6>0.7925.90 BTC <span className=\"crypt-down pl-2\">+7.435 %</span></h6></div>\r\n        </div>\r\n      </header>\r\n\r\n      <div className=\"container\">\r\n        <div className=\"row\">\r\n          <div className=\"col-md-3\"></div>\r\n          <div className=\"col-md-6\">\r\n            <div className=\"cryptorio-forms cryptorio-forms-dark text-center pt-5 pb-5\">\r\n              <div className=\"logo\">\r\n                <img src={logojunior} alt=\"Logo\" />\r\n              </div>\r\n              <h3 className=\"p-4\">Iniciar Sesión</h3>\r\n\r\n\r\n              <div className=\"cryptorio-main-form\">\r\n                <Form onSubmit={handleLogin} ref={form} className=\"text-left\">\r\n\r\n                  <label className=\"label-credenciales\" for=\"email\">Correo electrónico</label>\r\n\r\n                  <Input\r\n                    autocomplete=\"off\"\r\n                    className=\"input-credenciales\"\r\n                    type=\"email\"\r\n                    id=\"email\"\r\n                    name=\"email\"\r\n                    placeholder=\"Escribe aquí tu correo electrónico\"\r\n                    required value={username}\r\n                    validations={[required]}\r\n                    onChange={onChangeUsername} />\r\n\r\n                  <label className=\"label-credenciales\" for=\"password\">Contraseña</label>\r\n\r\n                  {/*<div className=\"input-container\">*/}\r\n                  <div className=\"\">\r\n                    <Input\r\n                      className=\"input-credenciales\"\r\n                      autocomplete=\"new-password\"\r\n                      type={shown ? 'text' : 'password'}\r\n                      id=\"password\" name=\"password\"\r\n                      placeholder=\"Escribe aquí tu contraseña\"\r\n                      required value={password}\r\n                      onChange={onChangePassword}\r\n                      validations={[required]} />\r\n\r\n                    {/*<div className=\"inputPasswordSee\" onClick={switchShown} title=\"Ver Contraseña\">\r\n                      {shown ? <i className=\"fas fa-eye fa-2x \"></i> : <i className=\"fas fa-eye-slash fa-2x \"></i>}\r\n                    </div>*/}\r\n\r\n\r\n                  </div>\r\n\r\n\r\n                  <button className=\"inputIniciarSesion crypt-button-red-full\" disabled={loading} >\r\n                    {loading && (\r\n                      <span className=\"spinner-border spinner-border-sm\"></span>\r\n                    )}\r\n                    <span>Iniciar Sesión</span>\r\n                  </button>\r\n\r\n                  {/*<p className=\"float-right\"><a href=\"/recuperar\">¿Olvidaste tu contraseña?</a></p>*/}\r\n\r\n                  <div className=\"text-center\">\r\n\r\n\r\n                    <div className=\"inputCondiciones\">\r\n                      <div className=\"custom-control custom-checkbox mr-sm-2\">\r\n                        <input type=\"checkbox\" className=\"custom-control-input\" id=\"terms-agree\" required/>\r\n                        <label className=\"custom-control-label\" for=\"terms-agree\">\r\n                          Acepto la <a href=\"/condiciones\" target='_blank'>\r\n                            Política de privacidad de datos, términos y condiciones del servicio</a>, contenidos en este aplicativo.\r\n                        </label>\r\n                      </div>\r\n                    </div>\r\n\r\n                  </div>\r\n\r\n\r\n                </Form>\r\n\r\n              </div>\r\n\r\n            </div>\r\n          </div>\r\n          <div className=\"col-md-3\"></div>\r\n        </div>\r\n        <NotificationContainer />\r\n      </div>\r\n\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default Login;","import { NotificationManager } from \"react-notifications\";\r\nimport {\r\n  REGISTER_SUCCESS,\r\n  REGISTER_FAIL,\r\n  LOGIN_SUCCESS,\r\n  LOGIN_FAIL,\r\n  LOGOUT,\r\n  SET_MESSAGE,\r\n\r\n} from \"./types\";\r\n\r\nimport AuthService from \"../services/auth.service\";\r\n\r\n\r\n\r\nexport const register = (username, email, password) => (dispatch) => {\r\n  return AuthService.register(username, email, password).then(\r\n    (response) => {\r\n      dispatch({\r\n        type: REGISTER_SUCCESS,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: response.data.message,\r\n      });\r\n\r\n      return Promise.resolve();\r\n    },\r\n    (error) => {\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: REGISTER_FAIL,\r\n      });\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const login = (username, password) => (dispatch) => {\r\n  return AuthService.login(username, password\r\n\r\n    ).then(\r\n    (data) => {\r\n      if(data!=null){\r\n        \r\n        dispatch({\r\n          type: LOGIN_SUCCESS,\r\n          payload: { user: data },\r\n        });  \r\n        return Promise.resolve(data);\r\n\r\n      }\r\n      else{\r\n        console.log(\"datos no recuperados\")\r\n        dispatch({\r\n          type: LOGIN_FAIL,\r\n          payload: \"Error al validar usuario\",\r\n        })\r\n        NotificationManager.error(\r\n          \"Error al validar usuario\",\r\n          \"Sistema\",\r\n          3000,\r\n          () => {},\r\n          4\r\n        ); \r\n        \r\n  \r\n        dispatch({\r\n          type: SET_MESSAGE,\r\n        });\r\n        return Promise.reject();\r\n      }          \r\n    },\r\n    (error) => {\r\n      console.log(error)\r\n      const message =\r\n        (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n        error.message ||\r\n        error.toString();\r\n\r\n      dispatch({\r\n        type: LOGIN_FAIL,\r\n        payload: \"Error al validar usuario\",\r\n      });\r\n      NotificationManager.error(\r\n        \"Error al validar usuario\",\r\n        \"Sistema\",\r\n        3000,\r\n        () => {},\r\n        4\r\n      );\r\n\r\n      dispatch({\r\n        type: SET_MESSAGE,\r\n        payload: message,\r\n      });\r\n\r\n      return Promise.reject();\r\n    }\r\n  );\r\n};\r\n\r\nexport const logout = () => (dispatch) => {\r\n  AuthService.logout();\r\n\r\n  dispatch({\r\n    type: LOGOUT,\r\n  });\r\n};\r\n","import React, { useState, useRef } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport Form from \"react-validation/build/form\";\r\nimport Input from \"react-validation/build/input\";\r\nimport CheckButton from \"react-validation/build/button\";\r\nimport { isEmail } from \"validator\";\r\n\r\nimport { register } from \"../actions/auth\";\r\n\r\nimport logojunior from '../image/investTraderLogo.png';\r\n\r\nconst required = (value) => {\r\n  if (!value) {\r\n    return (\r\n      <div className=\"alert alert-danger\" role=\"alert\">\r\n        This field is required!\r\n      </div>\r\n    );\r\n  }\r\n};\r\n\r\nconst validEmail = (value) => {\r\n  if (!isEmail(value)) {\r\n    return (\r\n      <div className=\"alert alert-danger\" role=\"alert\">\r\n        This is not a valid email.\r\n      </div>\r\n    );\r\n  }\r\n};\r\n\r\nconst vusername = (value) => {\r\n  if (value.length < 3 || value.length > 20) {\r\n    return (\r\n      <div className=\"alert alert-danger\" role=\"alert\">\r\n        The username must be between 3 and 20 characters.\r\n      </div>\r\n    );\r\n  }\r\n};\r\n\r\nconst vpassword = (value) => {\r\n  if (value.length < 6 || value.length > 40) {\r\n    return (\r\n      <div className=\"alert alert-danger\" role=\"alert\">\r\n        The password must be between 6 and 40 characters.\r\n      </div>\r\n    );\r\n  }\r\n};\r\n\r\nconst Register = () => {\r\n  const form = useRef();\r\n  const checkBtn = useRef();\r\n\r\n  const [username, setUsername] = useState(\"\");\r\n  const [email, setEmail] = useState(\"\");\r\n  const [password, setPassword] = useState(\"\");\r\n  const [successful, setSuccessful] = useState(false);\r\n\r\n  const { message } = useSelector(state => state.message);\r\n  const dispatch = useDispatch();\r\n\r\n  const onChangeUsername = (e) => {\r\n    const username = e.target.value;\r\n    setUsername(username);\r\n  };\r\n\r\n  const onChangeEmail = (e) => {\r\n    const email = e.target.value;\r\n    setEmail(email);\r\n  };\r\n\r\n  const onChangePassword = (e) => {\r\n    const password = e.target.value;\r\n    setPassword(password);\r\n  };\r\n\r\n  const handleRegister = (e) => {\r\n    e.preventDefault();\r\n\r\n    setSuccessful(false);\r\n\r\n    form.current.validateAll();\r\n\r\n    if (checkBtn.current.context._errors.length === 0) {\r\n      dispatch(register(username, email, password))\r\n        .then(() => {\r\n          setSuccessful(true);\r\n        })\r\n        .catch(() => {\r\n          setSuccessful(false);\r\n        });\r\n    }\r\n  };\r\n\r\n  return (\r\n      \r\n      <div className=\"row\">\r\n            <div className=\"col-md-3\"></div>\r\n            <div className=\"col-md-6\">\r\n                <div className=\"cryptorio-forms cryptorio-forms-dark text-center pt-5 pb-5\">\r\n                     <div className=\"logo\">\r\n                        <img src={logojunior} alt=\"Logo\" />\r\n                    </div>\r\n                    <h3 className=\"p-4\">Registro</h3>\r\n                    <div className=\"cryptorio-main-form\">\r\n                        <form action=\"\" className=\"text-left\">\r\n                            <label className=\"label-credenciales\" for=\"email\">Correo electrónico</label>\r\n                            <input className=\"input-credenciales\" type=\"text\" id=\"email\" name=\"email\" placeholder=\"Tu correo electrónico\"/>\r\n                            <label className=\"label-credenciales\" for=\"password\">Contraseña</label>\r\n                            <input className=\"input-credenciales\" type=\"password\" id=\"password\" name=\"password\" placeholder=\"6-20 letras y números\"/>\r\n                            <label className=\"label-credenciales\" for=\"confirm-password\">Repetir Contraseña</label>\r\n                            <input className=\"input-credenciales\" type=\"password\" id=\"confirm-password\" name=\"password\" placeholder=\"6-20 letras y números\"/>\r\n                            <div className=\"my-1\">\r\n                              <div className=\"custom-control custom-checkbox mr-sm-2\">\r\n                                <input type=\"checkbox\" className=\"custom-control-input\" id=\"terms-agree\"/>\r\n                                <label className=\"custom-control-label\" for=\"terms-agree\">Acepto los términos y condiciones</label>\r\n                              </div>\r\n                            </div>\r\n                            <input type=\"submit\" value=\"Registrarse\" className=\"crypt-button-red-full\"/>\r\n                        </form>\r\n                        <p className=\"float-left\"><a href=\"login.html\">Iniciar Sesión</a></p>\r\n                        <p className=\"float-right\"><a href=\"forgot.html\">Recuperar Contraseña</a></p>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <div className=\"col-md-3\"></div>\r\n        </div>\r\n      \r\n      \r\n\r\n/*\r\n        <Form onSubmit={handleRegister} ref={form}>\r\n          {!successful && (\r\n            <div>\r\n              <div className=\"form-group\">\r\n                <label htmlFor=\"username\">Username</label>\r\n                <Input\r\n                  type=\"text\"\r\n                  className=\"form-control\"\r\n                  name=\"username\"\r\n                  value={username}\r\n                  onChange={onChangeUsername}\r\n                  validations={[required, vusername]}\r\n                />\r\n              </div>\r\n\r\n              <div className=\"form-group\">\r\n                <label htmlFor=\"email\">Email</label>\r\n                <Input\r\n                  type=\"text\"\r\n                  className=\"form-control\"\r\n                  name=\"email\"\r\n                  value={email}\r\n                  onChange={onChangeEmail}\r\n                  validations={[required, validEmail]}\r\n                />\r\n              </div>\r\n\r\n              <div className=\"form-group\">\r\n                <label htmlFor=\"password\">Password</label>\r\n                <Input\r\n                  type=\"password\"\r\n                  className=\"form-control\"\r\n                  name=\"password\"\r\n                  value={password}\r\n                  onChange={onChangePassword}\r\n                  validations={[required, vpassword]}\r\n                />\r\n              </div>\r\n\r\n              <div className=\"form-group\">\r\n                <button className=\"btn btn-primary btn-block\">Sign Up</button>\r\n              </div>\r\n            </div>\r\n          )}\r\n\r\n          {message && (\r\n            <div className=\"form-group\">\r\n              <div className={ successful ? \"alert alert-success\" : \"alert alert-danger\" } role=\"alert\">\r\n                {message}\r\n              </div>\r\n            </div>\r\n          )}\r\n          <CheckButton style={{ display: \"none\" }} ref={checkBtn} />\r\n        </Form>\r\n */\r\n  );\r\n};\r\n\r\nexport default Register;\r\n","import React, { useState,useEffect} from \"react\";\r\nimport ItemRentaFija from \"./ItemRentaFija\"\r\n\r\nconst RentaFija = (props) => {  \r\n    const { titulos } = props;\r\n  return (\r\n    <div> \r\n        {\r\n            titulos.map((item, i) => { \r\n                console.log(item)\r\n                if(item[\"TipoRentaCod\"]===\"RF\"){\r\n                    return <ItemRentaFija key={i} item={item}/>\r\n                }else{\r\n                    return \"\"\r\n                }\r\n            })\r\n        }             \r\n    </div>\r\n  );\r\n};\r\n\r\nexport default RentaFija;","import React, { useState,useEffect} from \"react\";\r\nimport { Redirect } from 'react-router-dom';\r\nimport { connect,useDispatch,useSelector } from \"react-redux\";\r\n\r\nimport { getEventosPorUsuario,getTitulosEventoById } from \"../actions/juego\";\r\nimport RentaFija from './juego/RentaFija'\r\nimport ItemRentaVariable from './juego/ItemRentaVariable'\r\n\r\nimport img01 from '../image/img01.jpg';\r\nimport img02 from '../image/img02.jpg';\r\nimport marca1 from '../image/marca1.png';\r\nimport marca2 from '../image/marca2.png';\r\nimport imagenNoticiaPositivaBig from '../image/imgNoticiaBig.jpg';\r\nimport imagenNoticiaNegativaBig from '../image/imgNoticiaBig2.jpg';\r\nimport imagenEmisor from '../image/logoRF1.png';\r\n\r\nimport leftArrow from '../image/arrowRight.svg';\r\nimport rightArrow from '../image/arrowLeft.svg';\r\n\r\nconst Juego = () => {\r\n    const { user: currentUser } = useSelector((state) => state.auth);  \r\n    const { listEventos: currentEventos,listTitleEvent: currentTitle } = useSelector((state) => state.juego);\r\n    const { loadingEventosPorUsr } = useSelector((state) => state.juego);    \r\n    const { titulosRVCount } = useSelector((state) => state.juego );    \r\n    const dispatch = useDispatch();\r\n\r\n    useEffect(() => {    \r\n        \r\n        dispatch(getEventosPorUsuario(currentUser[\"userId\"]))\r\n            .then(() => {          \r\n            })\r\n            .catch(() => {\r\n            });\r\n      }, [dispatch]);\r\n    \r\n    useEffect(() => {        \r\n        dispatch(getTitulosEventoById(currentEventos!==null&&currentEventos.length>0?currentEventos[0][\"EventoId\"]:1))\r\n        .then(() => {          \r\n            console.log(\"getEventosPorUsuario ---- > \" + currentEventos.length)\r\n        })\r\n        .catch(() => {\r\n        });\r\n    }, [dispatch]);\r\n\r\n    \r\n    \r\n  if (!currentUser) {\r\n    return <Redirect to=\"/login\" />;\r\n  }  \r\n\r\n  return (\r\n      <div>\r\n      \r\n      <div className=\"alertContainerJuego\">\r\n        <div>Selecciona las opciones que se muestran a continuación...</div>\r\n      </div>\r\n      \r\n      <div class=\"overlay\">\r\n      <div className=\"borderContent ventanaPerfil\">\r\n      <div className=\"innerShadow3\">\r\n      <h2>Configuración <i class=\"fas fa-cog\"></i></h2>\r\n      <p><i class=\"far fa-address-card\"></i> <span>Nombre:</span> Pablo</p>\r\n      <p><i class=\"far fa-address-card\"></i> <span>Apellido:</span> Admin</p>\r\n      <p><i class=\"fas fa-mobile-alt\"></i> <span>Teléfono:</span> 01234 456 789</p>\r\n      <p><i class=\"far fa-envelope\"></i> <span>Email:</span></p>\r\n      <p><i class=\"fas fa-lock\"></i> <span>Contraseña:</span> Cambiar</p>\r\n      <div className=\"dividerLine\"></div>\r\n      <p><i class=\"fas fa-volume-up\"></i> <span>Sonido:</span> Encendido</p>\r\n      <div className=\"dividerLine\"></div>\r\n      <p><i class=\"fas fa-palette\"></i> <span>Tema:</span> Oscuro</p>\r\n      <div className=\"dividerLine\"></div>\r\n      <p className=\"textCenter\"><div className=\"btnGuardar\">GUARDAR</div> <div className=\"btnCancelar\">CANCELAR</div></p>\r\n      \r\n      \r\n      </div>\r\n      </div>\r\n      </div>\r\n      \r\n    <div className=\"mainContentInner\">\r\n      <div className=\"content\">\r\n      \r\n      <div className=\"borderContent tableContent\">\r\n        <div className=\"innerShadow3\">\r\n      <div className=\"titleCont\">      \r\n        <h3>RENTA VARIABLE</h3>\r\n        <div className=\"titleRight\">\r\n            <h3>COMPRAR</h3>\r\n            <h3>VENDER</h3>\r\n        </div>\r\n     </div> \r\n      <div className=\"tableContainer\">      \r\n      <div className=\"rowCustom\">\r\n            <div className=\"oneCol\"><img src={marca1} alt=\"Logo1\" /></div>\r\n            <div className=\"twoCol\">OBL</div>\r\n            <div className=\"threeCol\">#ACC</div>\r\n            <div className=\"fourCol\">99</div>\r\n            <div className=\"fiveCol\"><div className=\"percentBarHorzontal bgYellow\">%1.95</div></div>\r\n            <div className=\"sixCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n            <div className=\"sevenCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      <div className=\"rowCustom\">\r\n            <div className=\"oneCol\"><img src={marca2} alt=\"Logo1\" /></div>\r\n            <div className=\"twoCol\">NKE</div>\r\n            <div className=\"threeCol\">#ACC</div>\r\n            <div className=\"fourCol\">89</div>\r\n            <div className=\"fiveCol\"><div className=\"percentBarHorzontal bgPurple\">%2.00</div></div>\r\n            <div className=\"sixCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n            <div className=\"sevenCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      <div className=\"rowCustom\">\r\n            <div className=\"oneCol\"><img src={marca1} alt=\"Logo1\" /></div>\r\n            <div className=\"twoCol\">BE</div>\r\n            <div className=\"threeCol\">#ACC</div>\r\n            <div className=\"fourCol\">999</div>\r\n            <div className=\"fiveCol\"><div className=\"percentBarHorzontal bgRed\">%2.50</div></div>\r\n            <div className=\"sixCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n            <div className=\"sevenCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      <div className=\"rowCustom\">\r\n            <div className=\"oneCol\"><img src={marca2} alt=\"Logo1\" /></div>\r\n            <div className=\"twoCol\">PCO</div>\r\n            <div className=\"threeCol\">#ACC</div>\r\n            <div className=\"fourCol\">89</div>\r\n            <div className=\"fiveCol\"><div className=\"percentBarHorzontal bgGreen\">%1.00</div></div>\r\n            <div className=\"sixCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n            <div className=\"sevenCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      <div className=\"rowCustom\">\r\n            <div className=\"oneCol\"><img src={marca1} alt=\"Logo1\" /></div>\r\n            <div className=\"twoCol\">OBL</div>\r\n            <div className=\"threeCol\">#ACC</div>\r\n            <div className=\"fourCol\">99</div>\r\n            <div className=\"fiveCol\"><div className=\"percentBarHorzontal bgYellow\">%1.95</div></div>\r\n            <div className=\"sixCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n            <div className=\"sevenCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      <div className=\"rowCustom\">\r\n            <div className=\"oneCol\"><img src={marca2} alt=\"Logo1\" /></div>\r\n            <div className=\"twoCol\">NKE</div>\r\n            <div className=\"threeCol\">#ACC</div>\r\n            <div className=\"fourCol\">89</div>\r\n            <div className=\"fiveCol\"><div className=\"percentBarHorzontal bgPurple\">%2.00</div></div>\r\n            <div className=\"sixCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n            <div className=\"sevenCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      <div className=\"rowCustom\">\r\n            <div className=\"oneCol\"><img src={marca1} alt=\"Logo1\" /></div>\r\n            <div className=\"twoCol\">BE</div>\r\n            <div className=\"threeCol\">#ACC</div>\r\n            <div className=\"fourCol\">999</div>\r\n            <div className=\"fiveCol\"><div className=\"percentBarHorzontal bgRed\">%2.50</div></div>\r\n            <div className=\"sixCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n            <div className=\"sevenCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      <div className=\"rowCustom\">\r\n            <div className=\"oneCol\"><img src={marca2} alt=\"Logo1\" /></div>\r\n            <div className=\"twoCol\">PCO</div>\r\n            <div className=\"threeCol\">#ACC</div>\r\n            <div className=\"fourCol\">89</div>\r\n            <div className=\"fiveCol\"><div className=\"percentBarHorzontal bgGreen\">%1.00</div></div>\r\n            <div className=\"sixCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n            <div className=\"sevenCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      \r\n      </div>\r\n      \r\n      <div className=\"dividerLine\"></div>\r\n      \r\n      <div className=\"titleCont\">      \r\n        <h3>RENTA FIJA</h3>\r\n        <div className=\"titleRight\">\r\n            <h3>COMPRAR</h3>            \r\n        </div>\r\n      </div> \r\n      \r\n      <div className=\"rowCustom2\">\r\n            <div className=\"oneCol\"><div className=\"imgLogo gris\"><img src={imagenEmisor} alt=\"El Juego de la Bolsa\" /></div></div>\r\n            <div className=\"twoCol\">Ministerio de Finanzas Bonos del Estado </div>\r\n            <div className=\"threeCol\">1.500.000 - 5.23% - 180 días - 1/4</div>            \r\n            <div className=\"fourCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      \r\n      <div className=\"rowCustom2\">\r\n            <div className=\"oneCol\"><div className=\"imgLogo yellowStyle\"><img src={imagenEmisor} alt=\"El Juego de la Bolsa\" /></div></div>\r\n            <div className=\"twoCol\">Ministerio de Finanzas Bonos del Estado </div>\r\n            <div className=\"threeCol\">1.500.000 - 5.23% - 180 días - 1/4</div>            \r\n            <div className=\"fourCol\"><div className=\"cantidadCustom\"><input type=\"text\"/></div></div>\r\n      </div>\r\n      \r\n      \r\n           \r\n        </div>\r\n      </div>\r\n      \r\n      </div>\r\n      \r\n      <div className=\"btnContainer\">\r\n        <div className=\"btnEnviar\">Enviar</div>\r\n        <div className=\"btnCancelar\">Cancelar</div>\r\n      </div>\r\n      \r\n                <div className=\"content hidetemp\">\r\n      \r\n      <div className=\"borderContent noticiaPositivaBig\">\r\n        <div className=\"innerShadow3\">\r\n          <h3>NOTICIA POSITIVA</h3>                    \r\n          <div className=\"imgNoticiaPositiva\"><img src={imagenNoticiaPositivaBig} alt=\"El Juego de la Bolsa\" /></div>\r\n          <div className=\"txtNoticiaPositiva\">Ecuador intensifica su promoción turística en el mundo. Depósitos en los bancos aumentaron...</div>\r\n        </div>\r\n      </div>\r\n      \r\n      <div className=\"borderContent noticiaNegativaBig\">\r\n        <div className=\"innerShadow3\">\r\n          <h3>NOTICIA NEGATIVA</h3>                    \r\n          <div className=\"imgNoticiaNegativa\"><img src={imagenNoticiaNegativaBig} alt=\"El Juego de la Bolsa\" /></div>\r\n          <div className=\"txtNoticiaNegativa\">Ecuador intensifica su promoción turística en el mundo. Depósitos en los bancos aumentaron...</div>\r\n        </div>\r\n      </div>\r\n      \r\n      \r\n                <div className=\"borderContent colRentaFija\">\r\n                    <div className=\"innerShadow3\">\r\n                    <h3>VALORES DE RENTA FIJA</h3>\r\n                        <RentaFija titulos={currentTitle===null?[]:currentTitle}/>                        \r\n                    </div>\r\n                </div>\r\n                \r\n            \r\n                <div className=\"borderContent colBarras\">\r\n                    <div className=\"innerShadow3\">\r\n                    <h3>REPRESENTACION EN BARRAS</h3>                    \r\n                    <div className={[\"chart-container\",titulosRVCount<=2?\"sizeTwoBars\":titulosRVCount===3?\"sizeThreeBars\":titulosRVCount===4?\"sizeFourBars\":titulosRVCount===5?\"sizeFiveBars\":titulosRVCount===6?\"sizeSixBars\":titulosRVCount===7?\"sizeSevenBars\":\"\"].join(' ')}>\r\n                        <div className=\"bottomACC\">#ACC</div>\r\n                        {\r\n                            currentTitle!=null?currentTitle.filter(value => value[\"TipoRentaCod\"] === 'RV').map((item, i) => { \r\n                                console.log(item)\r\n                                if(item[\"TipoRentaCod\"]===\"RV\"){\r\n                                    return <ItemRentaVariable key={i} index={i} item={item}/>\r\n                                }else{\r\n                                    return \"\"\r\n                                }\r\n                            }):\"\"\r\n                        }             \r\n                        {/*<div className=\"bar one\"><div className=\"percent\">43%</div><div className=\"logo1\"><img src={marca2} alt=\"Logo Marca 1\" /></div><div className=\"bottomPercent1\">99</div></div>\r\n                        <div className=\"bar two\"><div className=\"percent\">60%</div><div className=\"logo2\"><img src={marca2} alt=\"Logo Marca 1\" /></div><div className=\"bottomPercent2\">99</div></div> \r\n                        <div className=\"bar three\"><div className=\"percent\">78%</div><div className=\"logo3\"><img src={marca2} alt=\"Logo Marca 1\" /></div><div className=\"bottomPercent3\">99</div></div>\r\n                        <div className=\"bar four\"><div className=\"percent\">79%</div><div className=\"logo4\"><img src={marca2} alt=\"Logo Marca 1\" /></div><div className=\"bottomPercent4\">99</div></div>\r\n                        <div className=\"bar five\"><div className=\"percent\">50%</div><div className=\"logo5\"><img src={marca2} alt=\"Logo Marca 1\" /></div><div className=\"bottomPercent5\">99</div></div>\r\n                        <div className=\"bar six\"><div className=\"percent\">69%</div><div className=\"logo6\"><img src={marca2} alt=\"Logo Marca 1\" /></div><div className=\"bottomPercent6\">99</div></div>  \r\n                        <div className=\"bar seven\"><div className=\"percent\">79%</div><div className=\"logo7\"><img src={marca2} alt=\"Logo Marca 1\" /></div><div className=\"bottomPercent7\">99</div></div>  \r\n                        */}\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            \r\n                <div className=\"borderContent colJugadas\">\r\n                    <div className=\"innerShadow3\">\r\n                    <h3>JUGADAS</h3>\r\n                    <div className=\"containerJugadas\">\r\n                        <div className=\"jugada up\">\r\n                            <ul>\r\n                                <li><div className=\"imgLogoJugadas greenStyle\"><img src={marca1} alt=\"Logo Marca 1\" /></div></li>\r\n                                <li><div className=\"upArrow\"><i className=\"fas fa-arrow-up\"></i></div></li>\r\n                                <li><div className=\"cantidadJugada\">43% <span>Lorem ipsum</span></div></li>                                \r\n                            </ul>\r\n                        </div>\r\n                        <div className=\"jugada down\">\r\n                            <ul>\r\n                                <li><div className=\"imgLogoJugadas redStyle\"><img src={marca2} alt=\"Logo Marca 1\" /></div></li>\r\n                                <li><div className=\"upArrow\"><i className=\"fas fa-arrow-down\"></i></div></li>\r\n                                <li><div className=\"cantidadJugada\">43% <span>Lorem ipsum</span></div></li>                                \r\n                            </ul>\r\n                        </div>\r\n                    </div>\r\n            \r\n                    </div>\r\n                </div>\r\n            </div>\r\n                                                                                                                \r\n\r\n<div className=\"arrowControlsContainer\">            \r\n  <div className=\"leftArrow arrowDisabled\"><img src={leftArrow} alt=\"left arrow\" /></div>\r\n  <div className=\"rightArrow\"><img src={rightArrow} alt=\"right arrow\" /></div>\r\n</div>\r\n           <div className=\"footerColContainer\">\r\n           <div className=\"tableTransaction borderContent\">\r\n                    <div className=\"innerShadow2\">\r\n                        <div className=\"btnMaximizeGrid\"><i class=\"far fa-window-maximize\"></i></div>\r\n                        <div className=\"titleTable\">HISTORIAL DE TRANSACCIONES</div>\r\n                        <div className=\"table-content\">                                                                                        \r\n                        <ul>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                            <li>Compra de adiddas 5000 a 3.24</li>\r\n                        </ul>\r\n                        </div>                                                                                                                \r\n                    </div>\r\n                </div> \r\n           </div>                                                                                                            \r\n                                                                                                                \r\n                                                                                                                \r\n            <div className=\"footerColContainer\">                                               \r\n                <div className=\"footerCol borderContent\">\r\n                <div className=\"innerShadow2\">\r\n                    <h2>NOTICIA POSITIVA</h2>\r\n                    <div className=\"noticeContainer\">\r\n                        <div className=\"imageNotice noticeStyle1\">\r\n                            <img src={img01} alt=\"Noticia 1\" />\r\n                        </div>\r\n                        <h3>Adidas completa la colocación de 1.000 millones de euros en bonos</h3>\r\n                        <p>Madrid – Adidas confirmaba en el día de ayer el haber terminado con éxito la colocación de una emisión de bonos por valor de 1.000 millones de euros.</p>\r\n                    </div>\r\n                </div>\r\n                </div>\r\n            \r\n                <div className=\"footerCol borderContent\">\r\n                <div className=\"innerShadow2\">\r\n                    <h2>NOTICIA NEGATIVA</h2>\r\n                    <div className=\"noticeContainer\">\r\n                        <div className=\"imageNotice noticeStyle2\">\r\n                            <img src={img02} alt=\"Noticia 2\" />\r\n                        </div>\r\n                        <h3>El Ibex cae un 1,16% tras el aumento de restricciones y el oro se refuerza</h3>\r\n                        <p>Madrid – Adidas confirmaba en el día de ayer el haber terminado con éxito la colocación de una emisión de bonos por valor de 1.000 millones de euros.</p>\r\n                    </div>\r\n                </div>\r\n                </div>\r\n            \r\n                <div className=\"footerCol borderContent\">\r\n                    <div className=\"innerShadow2\">\r\n                    <h2>PROGRESIÓN</h2>\r\n                    \r\n                    </div>\r\n                </div>            \r\n            </div>\r\n                                                                                                                \r\n                                                                                                                \r\n                                                                                                                \r\n      \r\n    </div> \r\n      <div className=\"userRow\">\r\n <div className=\"innerShadow3\">\r\n  <h3>DIRECTOR DE RUEDA</h3>\r\n  <div className=\"userConectedTitle\">Usuarios conectados</div> \r\n      <div className=\"userListSidebar\">\r\n        <ul>\r\n            <li>\r\n                <div className=\"profileImageList\"></div>\r\n                <div className=\"userNameList\"><span>#1</span> Nelly Wesley</div>\r\n                <div className=\"userLastPlay\">Última jugada 06/09/2020</div>\r\n                <div className=\"userArrowRight\"><i className=\"fas fa-chevron-right\"></i></div>\r\n            </li>\r\n        </ul>\r\n      </div>\r\n </div>\r\n</div> \r\n<div className=\"userBtn\">\r\n  <div className=\"innerShadow3\">\r\n   <ul>\r\n      <li><div className=\"btnCompra\">Compra </div></li>\r\n      <li><div className=\"btnVenta\">Venta </div></li>\r\n      <li><div className=\"btnNuevaJugada\">Nueva Jugada</div></li>\r\n   </ul>\r\n  </div>\r\n</div>                                                           \r\n</div>\r\n                                                                                                                \r\n                                                     \r\n                                                                                                                \r\n  );\r\n};\r\nconst mapStateToProps = state => ({    \r\n    listEventos: state.listEventos,\r\n    loadingEventosPorUsr: state.loadingEventosPorUsr,\r\n    currentTitle: state.currentTitle,\r\n    titulosRVCount: state.titulosRVCount\r\n  });\r\nexport default connect(mapStateToProps, {    \r\n})(Juego);\r\n","import React, { useState, useEffect } from \"react\";\r\n\r\nimport UserService from \"../services/user.service\";\r\n\r\nconst BoardUser = () => {\r\n  const [content, setContent] = useState(\"\");\r\n\r\n  useEffect(() => {\r\n    UserService.getUserBoard().then(\r\n      (response) => {\r\n        setContent(response.data);\r\n      },\r\n      (error) => {\r\n        const _content =\r\n          (error.response &&\r\n            error.response.data &&\r\n            error.response.data.message) ||\r\n          error.message ||\r\n          error.toString();\r\n\r\n        setContent(_content);\r\n      }\r\n    );\r\n  }, []);\r\n\r\n  return (\r\n    <div className=\"container\">\r\n      <header className=\"jumbotron\">\r\n        <h3>{content}</h3>\r\n      </header>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default BoardUser;\r\n","import React, { useState, useEffect } from \"react\";\r\n\r\nimport UserService from \"../services/user.service\";\r\n\r\nconst BoardModerator = () => {\r\n  const [content, setContent] = useState(\"\");\r\n\r\n  useEffect(() => {\r\n    UserService.getModeratorBoard().then(\r\n      (response) => {\r\n        setContent(response.data);\r\n      },\r\n      (error) => {\r\n        const _content =\r\n          (error.response &&\r\n            error.response.data &&\r\n            error.response.data.message) ||\r\n          error.message ||\r\n          error.toString();\r\n\r\n        setContent(_content);\r\n      }\r\n    );\r\n  }, []);\r\n\r\n  return (\r\n    <div className=\"container\">\r\n      <header className=\"jumbotron\">\r\n        <h3>{content}</h3>\r\n      </header>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default BoardModerator;\r\n","import React, { useState, useEffect } from \"react\";\r\n\r\nimport UserService from \"../services/user.service\";\r\n\r\nconst BoardAdmin = () => {\r\n  const [content, setContent] = useState(\"\");\r\n\r\n  useEffect(() => {\r\n    UserService.getAdminBoard().then(\r\n      (response) => {\r\n        setContent(response.data);\r\n      },\r\n      (error) => {\r\n        const _content =\r\n          (error.response &&\r\n            error.response.data &&\r\n            error.response.data.message) ||\r\n          error.message ||\r\n          error.toString();\r\n\r\n        setContent(_content);\r\n      }\r\n    );\r\n  }, []);\r\n\r\n  return (\r\n    <div className=\"container\">\r\n      <header className=\"jumbotron\">\r\n        <h3>{content}</h3>\r\n      </header>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default BoardAdmin;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { NotificationManager } from \"react-notifications\";\r\nimport UploadFile from \"./UploadFile\";\r\n\r\nimport { updatePerfilUsuario } from \"../../actions/administracion\";\r\nimport \"../../config\";\r\n\r\nconst Sala = (props) => {\r\n  const { user: currentUser } = useSelector((state) => state.auth);\r\n  let history = useHistory();\r\n  const dispatch = useDispatch();\r\n  const [passwordVisible, setPasswordVisible] = useState(false);\r\n\r\n  let [errors] = useState({ emailErr: \"\" }, { nombreErr: \"\" }, { nickErr: \"\" });\r\n\r\n  let [nombre, setNombre] = useState(\r\n    currentUser !== null ? currentUser[\"Nombre\"] : \"\"\r\n  );\r\n\r\n  let [nick, setNick] = useState(\r\n    currentUser !== null ? currentUser[\"displayName\"] : \"\"\r\n  );\r\n\r\n  let [email, setEmail] = useState(\r\n    currentUser !== null ? currentUser[\"email\"] : \"\"\r\n  );\r\n\r\n  let [clave, setClave] = useState(\"\");\r\n\r\n  let [uploadId, setUploadId] = useState(\r\n    currentUser !== null ? currentUser[\"UploadId\"] : \"-1\"\r\n  );\r\n\r\n  let [fileNombre, setFileNombre] = useState(\r\n    currentUser !== null ? currentUser[\"fileNombre\"] : \"\"\r\n  );\r\n\r\n  let [fileNombreUrl, setFileNombreUrl] = useState(\r\n    currentUser !== null ? currentUser[\"fileNombreUrl\"] : \"\"\r\n  );\r\n\r\n  let [imagenUrl, setImagenUrl] =  useState(\r\n    currentUser !== null ? currentUser[\"ImagenUrl\"] : \"\"\r\n  );\r\n\r\n\r\n  if (!currentUser) {\r\n    return <Redirect to=\"/login\" />;\r\n  }\r\n  const nombreRegex = /^[a-zA-ZÀ-ÖØ-öø-ÿ{Ñ}{ñ}\\s]*$/;\r\n  const textoRegex = /^[a-zA-Z0-9{Ñ}{ñ}\\s]*$/;\r\n\r\n  function actualizarPerfil() {\r\n    let valid = true;\r\n    if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(email)) {\r\n      errors[\"emailErr\"] = \"Ingrese email (example@example.com)\"\r\n      valid = false;\r\n    }\r\n    if (nombre == \"\") {\r\n      errors[\"nombreErr\"] = \"Ingrese nombre\";\r\n      valid = false;\r\n    }\r\n    if (!nombreRegex.test(nombre)) {\r\n      errors[\"nombreErr\"] = \"Ingrese solo letras\"\r\n      valid = false\r\n    }\r\n\r\n\r\n    if (nick == \"\") {\r\n      errors[\"nickErr\"] = \"Ingrese apodo\";\r\n      valid = false;\r\n    }\r\n    if (!textoRegex.test(nick)) {\r\n      errors[\"nickErr\"] = \"Ingrese solo letras y números\"\r\n      valid = false\r\n    }\r\n    if (!valid) {\r\n      return;\r\n    }\r\n    dispatch(\r\n      updatePerfilUsuario(\r\n        currentUser[\"userId\"],\r\n        nombre,\r\n        nick,\r\n        email,\r\n        clave,\r\n        imagenUrl,\r\n        uploadId\r\n      )\r\n    )\r\n      .then(() => {\r\n        window.location.reload();\r\n      })\r\n      .catch(() => { });\r\n\r\n    NotificationManager.success(\r\n      \"Información actualizada\",\r\n      \"Sistema\",\r\n      3000,\r\n      () => { },\r\n      4\r\n    );\r\n    closeWindow();\r\n  }\r\n  function closeWindow() {\r\n    props.closeProfileClick();\r\n  }\r\n\r\n  function closeEditEmpresa() {\r\n    props.closeEditEmpresa();\r\n  }\r\n  function reloadDocuments(file) {\r\n    const result = JSON.parse(file);\r\n    setUploadId(result[\"UploadId\"]);\r\n    setFileNombre(result[\"fileNombre\"]);\r\n    setFileNombreUrl(result[\"fileNombreUrl\"]);\r\n  }\r\n\r\n  const convertirBase64 = (files) => {\r\n    Array.from(files).forEach(file => {\r\n      const reader = new FileReader();\r\n      reader.readAsDataURL(file);\r\n      reader.onload = () => {\r\n        let arrayImage = []\r\n        let base = reader.result;\r\n        arrayImage = base.split(',');\r\n        setImagenUrl(arrayImage[1])\r\n\r\n\r\n      }\r\n    })\r\n  }\r\n\r\n  return (\r\n    <div className=\"overlay3 fade-in\">\r\n      <div className=\"borderContent ventanaPerfil\">\r\n        <div className=\"innerShadow3\">\r\n          <div id=\"formulario-estilo\">\r\n            <h2>Configuración</h2>\r\n            <div className=\"vertical-scroll customScroll\">\r\n              <div className=\"columna-1-formulario-ventana-perfil-edit-evento-user\">\r\n                <div className=\"row-form\">\r\n                  <div className=\"col-30\">\r\n                    <label>\r\n                      <i className=\"fas fa-edit\"></i> <span>Nombre:</span>\r\n                    </label>\r\n                  </div>\r\n                  <div className=\"col-70\">\r\n                    <input\r\n                    autocomplete=\"off\"\r\n                      type=\"text\"\r\n                      value={nombre}\r\n                      maxLength={100}\r\n                      placeholder=\"Ingresar nombre\"\r\n                      className=\"input-form\"\r\n                      onChange={(e) => {\r\n                        setNombre(e.target.value);\r\n                        errors[\"nombreErr\"] = \"\";\r\n                      }}\r\n                    ></input>\r\n                    {errors[\"nombreErr\"] !== \"\" ? (\r\n                      <div className=\"camporequerido\">{errors[\"nombreErr\"]}</div>\r\n                    ) : (\r\n                      \"\"\r\n                    )}\r\n                  </div>\r\n                </div>\r\n                <div className=\"row-form\">\r\n                  <div className=\"col-30\">\r\n                    <label>\r\n                      <i className=\"fas fa-edit\"></i> <span>Nick:</span>\r\n                    </label>\r\n                  </div>\r\n                  <div className=\"col-70\">\r\n                    <input\r\n                    autocomplete=\"off\"\r\n                      type=\"text\"\r\n                      value={nick}\r\n                      maxLength={100}\r\n                      placeholder=\"Ingresar nick\"\r\n                      className=\"input-form\"\r\n                      onChange={(e) => {\r\n                        setNick(e.target.value);\r\n                        errors[\"nickErr\"] = \"\";\r\n                      }}\r\n                    ></input>\r\n                    {errors[\"nickErr\"] !== \"\" ? (\r\n                      <div className=\"camporequerido\">{errors[\"nickErr\"]}</div>\r\n                    ) : (\r\n                      \"\"\r\n                    )}\r\n                  </div>\r\n                </div>\r\n                <div className=\"row-form\">\r\n                  <div className=\"col-30\">\r\n                    <label>\r\n                      <i className=\"fas fa-edit\"></i> <span>Email:</span>\r\n                    </label>\r\n                  </div>\r\n                  <div className=\"col-70\">\r\n                    <input\r\n                    autocomplete=\"off\"\r\n                      type=\"email\"\r\n                      value={email}\r\n                      maxLength={100}\r\n                      placeholder=\"Ingresar email\"\r\n                      className=\"input-form\"\r\n                      onChange={(e) => {\r\n                        setEmail(e.target.value);\r\n                        errors[\"emailErr\"] = \"\";\r\n                      }}\r\n                    ></input>\r\n                    {errors[\"emailErr\"] !== \"\" ? (\r\n                      <div className=\"camporequerido\">{errors[\"emailErr\"]}</div>\r\n                    ) : (\r\n                      \"\"\r\n                    )}\r\n                  </div>\r\n                </div>\r\n                <div className=\"row-form\">\r\n                  <div className=\"col-30\">\r\n                    <label>\r\n                      <i className=\"fas fa-edit\"></i> <span>Contraseña:</span>\r\n                    </label>\r\n                  </div>\r\n                  <div className=\"col-70\">\r\n                    <input\r\n                    autocomplete=\"new-password\"\r\n                      type={passwordVisible ? \"text\" : \"password\"}\r\n                      value={clave}\r\n                      maxLength={500}\r\n                      placeholder=\"Ingresar contraseña\"\r\n                      className=\"input-form\"\r\n                      onChange={(e) => {\r\n                        setClave(e.target.value);\r\n\r\n                      }}\r\n                    ></input>\r\n                    <button className={passwordVisible ? \"fas fa-eye fa-1x\" : \"fas fa-eye-slash fa-1x\"} onClick={() => setPasswordVisible(!passwordVisible)}></button>\r\n                  </div>\r\n                </div>\r\n                <div className=\"row-form\">\r\n                  <div className=\"col-30\">\r\n                    <label>\r\n                      <i className=\"fas fa-edit\"></i> <span>Imagen:</span>\r\n                    </label>\r\n                  </div>\r\n                  <div className=\"col-70\">\r\n\r\n                    <input type=\"file\" className=\"boxStyleSelect\" multiple onChange={(e) => convertirBase64(e.target.files)}></input>\r\n                    <div className=\"boxStyleSelect\">Selecciona el archivo para subirlo</div>\r\n\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <div className=\"dividerLine\"></div>\r\n            <div className=\"textCenter\">\r\n              <div className=\"btnGuardar\" onClick={actualizarPerfil}>\r\n                GUARDAR\r\n              </div>{\" \"}\r\n              <div className=\"btnCancelar\" onClick={closeWindow}>\r\n                CANCELAR\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(Sala);\r\n","import React from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport logojunior from \"../../image/investTraderLogo.png\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { logout } from \"../../actions/auth\";\r\nimport userImage from \"../../image/profileImg.png\";\r\nimport ConfigurarUsuario from \"./ConfigurarUsuario\";\r\nimport { enableFuncionalityForRole, formatTime, secondFormatComplete, secondFormatHour, time } from \"../general/Util\";\r\nimport { getDataEventAct } from \"../../actions/administracion\";\r\nimport { connect } from 'react-redux';\r\nimport { estadoBoton } from '././ControlJuego';\r\nimport { toggleBotonApertura, toggleBotonSubasta, toggleBotonAdjudicacion } from '../../actions/controlJuego';\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport { useContext } from \"react\";\r\n\r\n\r\nconst Header = (props) => {\r\n\r\n  const dispatch = useDispatch();\r\n  const { user: currentUser } = useSelector((state) => state.auth);\r\n  //console.log(\"currentUser\",currentUser)\r\n  //console.log(\"logo\",currentUser[\"LogoEmpresa\"])\r\n\r\n  // Timer\r\n  let [secondsApertura, setSecondsApertura] = useState(0);\r\n  let [secondsSubasta, setSecondsSubasta] = useState(0);\r\n  let [secondsAdj, setSecondsAdj] = useState(0);\r\n  const [isActive, setIsActive] = useState(false);\r\n  const { datosjuego } = useSelector(state => state.controlJuego);\r\n  const [intervalReloj,setIntervalReloj] = useState(0);\r\n  //console.log(datosjuego)\r\n\r\n  const [dateInit,setDateInit] = useState(new Date())\r\n\r\n\r\n  // termina\r\n  const { eventoSeleccionado: eventoSeleccionado, pInscripcion: pInscripcion, pColocacion: pColocacion, pSubasta: pSubasta, pAdjudicacion: pAdjudicacion } = useSelector((state) => state.juego);\r\n  let [insc, setInsc] = useState(null);\r\n  let [colo, setColo] = useState(null);\r\n  let [sub, setSub] = useState(null);\r\n  let [adj, setAdj] = useState(null);\r\n  const { listaDatosEvento, loadingDatosEvento } = useSelector((state) => state.administracion);\r\n  let [openProfile, setOpenProfile] = useState(\"\");\r\n  let [admFuncionality] = useState(currentUser !== null ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_ADM\") : false);\r\n  let [userRuedaFuncionality] = useState(currentUser !== null ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_RUED\") : false);\r\n  let [userCajaFuncionality] = useState(currentUser !== null ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_CAJA\") : false);\r\n  let [userLiquidacionFuncionality] = useState(currentUser !== null ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_LIQUI\") : false);\r\n  let [userReceptorFuncionality] = useState(currentUser !== null ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_RECEP\") : false);\r\n  let [userOperadorFuncionality] = useState(currentUser !== null ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_OPER\") : false);\r\n  let [userRegistradorFuncionality] = useState(currentUser !== null ? enableFuncionalityForRole(currentUser[\"role\"], \"FUNC_REGIS\") : false\r\n  );\r\n\r\n  let [userFuntion] = useState(currentUser !== null ? enableFuncionalityForRole(currentUser[\"role\"], \"USER_ORDEN\") : false);\r\n  let [loadDatosEvento, setLoadDatosEvento] = useState(false)\r\n  let [mostrarHora, setMostrarHora] = useState(0);\r\n  let [loadCargarHora, setLoadCargarHora] = useState(false)\r\n  let [loadEstado, setloadEstado] = useState(false)\r\n\r\n\r\n  const [dat, setDat] = useState(\r\n    window.localStorage.getItem(\"value\")\r\n  )\r\n  const setLocalStorage = value => {\r\n    try {\r\n      setDat(value)\r\n      window.localStorage.setItem(\"value\", value)\r\n    } catch (error) {\r\n      console.error(error)\r\n    }\r\n  }\r\n  if (loadDatosEvento === false && eventoSeleccionado !== null) {\r\n    setLoadDatosEvento(true)\r\n    dispatch(getDataEventAct(eventoSeleccionado))\r\n      .then(() => {\r\n      })\r\n      .catch(() => {\r\n      });\r\n    \r\n  }\r\n\r\n\r\n\r\n  if (listaDatosEvento !== null && eventoSeleccionado !== null && eventoSeleccionado !== undefined && loadCargarHora === false) {\r\n\r\n    console.log(listaDatosEvento);\r\n    setInsc(new Date(listaDatosEvento !== null && listaDatosEvento !== undefined && listaDatosEvento !== \"NaN\" ? listaDatosEvento[\"PeriodoInscripcion\"] : \"\"));\r\n    setColo(new Date(listaDatosEvento !== null && listaDatosEvento !== undefined && listaDatosEvento !== \"NaN\" ? listaDatosEvento[\"PeriodoColocacion\"] : \"\"));\r\n    setSub(new Date(listaDatosEvento !== null && listaDatosEvento !== undefined && listaDatosEvento !== \"NaN\" ? listaDatosEvento[\"PeriodoSubasta\"] : \"\"));\r\n    setAdj(new Date(listaDatosEvento !== null && listaDatosEvento !== undefined && listaDatosEvento !== \"NaN\" ? listaDatosEvento[\"PeriodoAdjudicacion\"] : \"\"));\r\n    setLoadCargarHora(true)\r\n  }\r\n\r\n  useEffect(() => {\r\n\r\n    const timer = setInterval(() => {\r\n\r\n      //let fechaActual = new Date();\r\n      let fechaActual = new Date();\r\n      if (fechaActual >= insc && fechaActual < colo) { setMostrarHora(mostrarHora => 1); }\r\n      else if (fechaActual >= colo && fechaActual < sub) { setMostrarHora(mostrarHora => 2); }\r\n      else if (fechaActual >= sub && fechaActual <= adj) { setMostrarHora(mostrarHora => 3); }\r\n      else { setMostrarHora(mostrarHora => 0); }\r\n\r\n    }, 1000);\r\n    return () => clearInterval(timer);\r\n  });\r\n\r\n  useEffect(() => {\r\n    clearInterval(intervalReloj)\r\n    console.log(\"llegue interval>\",intervalReloj)\r\n    let intertmp = setInterval(muestraReloj, 1000);\r\n    setIntervalReloj(intertmp)\r\n  },[dateInit])\r\n  \r\n\r\n\r\n  function muestraReloj() {\r\n    let fechaHora = dateInit//new Date(datosjuego[\"FechaActual\"])\r\n    //console.log(fechaHora)\r\n    let horas = fechaHora.getHours();\r\n    let minutos = fechaHora.getMinutes();\r\n    let segundos = fechaHora.getSeconds();\r\n    //console.log(horas)\r\n    fechaHora.setSeconds(fechaHora.getSeconds() + 1);\r\n\r\n\r\n    if (horas < 10) { horas = '0' + horas; }\r\n    if (minutos < 10) { minutos = '0' + minutos; }\r\n    if (segundos < 10) { segundos = '0' + segundos; }\r\n    if (document.getElementById(\"reloj\") != undefined && document.getElementById(\"reloj\") != null ){\r\n      document.getElementById(\"reloj\").innerHTML = new Date().toLocaleDateString() + ' ' + horas + ':' + minutos + ':' + segundos\r\n    }\r\n\r\n  }\r\n\r\n\r\n\r\n  window.onload = function () {    \r\n    //   setInterval(pintarHora, 1000,insc,colo,sub,adj);\r\n  }\r\n  const logOut = (e) => {\r\n    // e.preventDefault();\r\n    dispatch(logout());\r\n  };\r\n  const openProfileClick = () => {\r\n    setOpenProfile(\"OPEN\")\r\n  };\r\n  const closeProfileClick = () => {\r\n    setOpenProfile(\"\")\r\n  };\r\n  \r\n  useEffect(() => {\r\n    let interval = null;\r\n    console.log(\"setDateInit--->\")\r\n    //console.log(dateInit)\r\n    //if(dateInit!==null){\r\n      //console.log(\"aqui\")\r\n      //setInterval(muestraReloj, 1000);\r\n   // }\r\n    if (datosjuego) {\r\n      console.log(\"aqui--->\")\r\n      //console.log(dateInit)\r\n      switch (datosjuego[\"EstadoEjecucion\"]) {\r\n        case \"I\":\r\n          setDateInit(new Date(datosjuego[\"FechaActual\"]))\r\n          secondsApertura = datosjuego[\"TiempoInicioRes\"] >= 0 ? datosjuego[\"TiempoInicioRes\"] : 0\r\n          setSecondsApertura(secondsApertura)\r\n          interval = setInterval(() => {\r\n            if (secondsApertura > 0)\r\n              setSecondsApertura((secondsApertura) => secondsApertura + -1);\r\n            else\r\n              clearInterval(interval);\r\n          }, 1000);\r\n          break\r\n        case \"S\":\r\n          setDateInit(new Date(datosjuego[\"FechaActual\"]))\r\n          secondsSubasta = datosjuego[\"PeriodoSubastaRes\"] >= 0 ? datosjuego[\"PeriodoSubastaRes\"] : 0\r\n          setSecondsSubasta(secondsSubasta)\r\n          interval = setInterval(() => {\r\n            if (secondsSubasta > 0)\r\n              setSecondsSubasta((secondsSubasta) => secondsSubasta + -1);\r\n            else\r\n              clearInterval(interval);\r\n          }, 1000);\r\n          break\r\n        case \"J\":\r\n          setDateInit(new Date(datosjuego[\"FechaActual\"]))\r\n          secondsAdj = datosjuego[\"PeriodoAdjudicacionRes\"] >= 0 ? datosjuego[\"PeriodoAdjudicacionRes\"] : 0\r\n          setSecondsAdj(secondsAdj)\r\n          interval = setInterval(() => {\r\n            if (secondsAdj > 0)\r\n              setSecondsAdj((secondsAdj) => secondsAdj + -1);\r\n            else\r\n              clearInterval(interval);\r\n          }, 1000);\r\n          break\r\n        default:\r\n          break\r\n      }\r\n      return () => {\r\n        \r\n        clearInterval(interval);\r\n        \r\n      };\r\n      \r\n    }\r\n  }, [datosjuego])\r\n\r\n  return (\r\n    <div>\r\n\r\n      {openProfile === \"OPEN\" ? <ConfigurarUsuario closeProfileClick={closeProfileClick} openProfile={openProfile} /> : \"\"}\r\n      {currentUser ? (\r\n        <div className=\"crypt-header\">\r\n          <div className=\"row\">\r\n            <div className=\"col-xl-4 col-lg-4 col-md-4 col-sm-5\">\r\n              <div className=\"row\">\r\n                <div className=\"col-xs-2\">\r\n                  <div className=\"crypt-logo\">\r\n                    <img src={logojunior} alt=\"Logo Marca 1\" />\r\n\r\n                    {currentUser[\"LogoEmpresa\"] !== undefined && currentUser[\"LogoEmpresa\"] !== \"\" && currentUser[\"LogoEmpresa\"] !== 1 && currentUser[\"LogoEmpresa\"] !== null ?\r\n                      (<img className=\"logoempresa\" src={`data:image/png;base64, ${currentUser[\"LogoEmpresa\"]}`} alt=\"LogoEmpresa\" />)\r\n                      : \"\"}\r\n\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n\r\n\r\n            <div className=\"col-xl-8 col-lg-8 col-md-8 d-none d-md-block d-lg-block\">\r\n\r\n              <ul className=\"crypt-heading-menu fright\">\r\n                <li className=\"crypt-box-menu\">\r\n                  <div className=\"profileContainer\">\r\n                    <div className=\"userPicture\">\r\n\r\n                      <Menu menuButton={\r\n                        <MenuButton><i className=\"far fa-user fa-2x\" ></i></MenuButton>}>\r\n                        <MenuItem onClick={openProfileClick} >\r\n                          <i className=\"fas fa-address-card\"></i>Perfil\r\n                        </MenuItem>\r\n                        <MenuItem onClick={logOut}>\r\n                          <i className=\"fas fa-sign-out-alt\"></i>Salir\r\n                        </MenuItem>\r\n\r\n                      </Menu>\r\n                    </div>\r\n\r\n                    <div className=\"userInfo\">\r\n\r\n\r\n                      {userOperadorFuncionality === true || userRegistradorFuncionality === true ?\r\n                        <div>\r\n                          <span>Empresa: </span>{currentUser[\"NombreEmpresa\"].toUpperCase()}\r\n                        </div>\r\n                        :\r\n                        <span></span>}\r\n\r\n                      {userOperadorFuncionality === true || userRegistradorFuncionality === true ?\r\n                        <div>\r\n                          <span>Colegio: </span>\r\n                          {currentUser[\"NombreInstitucion\"].toUpperCase()}\r\n                        </div>\r\n                        : <span></span>}\r\n\r\n\r\n                      <div>\r\n                        <span>Usuario: </span>\r\n                        {currentUser !== null ? currentUser[\"Nombre\"].toUpperCase() : \"\"}\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </li>\r\n\r\n                {listaDatosEvento !== null ?\r\n                  <li className=\"crypt-box-menu\">\r\n                    <div className=\"blockContainer\">\r\n                      <div>\r\n                        <span>Evento: </span>\r\n                        <span>{listaDatosEvento !== null && listaDatosEvento !== undefined ? listaDatosEvento[\"NombreEvento\"] : \"\"}</span>\r\n                      </div>\r\n                      <div className={[datosjuego && datosjuego[\"EstadoEjecucion\"] === \"I\" ? \"color-header\" : \"\"].join(' ')}>\r\n                        <span>Apertura:</span>\r\n                        {listaDatosEvento !== null && listaDatosEvento !== undefined ? formatTime(listaDatosEvento[\"PeriodoInscripcion\"]) : \"\"}\r\n                      </div>\r\n                      <div className={[datosjuego && datosjuego[\"EstadoEjecucion\"] === \"S\" ? \"color-header\" : \"\"].join(' ')}>\r\n                        <span>Subasta:</span>\r\n                        {listaDatosEvento !== null && listaDatosEvento !== undefined ? formatTime(listaDatosEvento[\"PeriodoSubasta\"]) : \"\"}\r\n                      </div>\r\n                      <div className={[datosjuego && datosjuego[\"EstadoEjecucion\"] === \"J\" ? \"color-header\" : \"\"].join(' ')}>\r\n                        <span>Adjudicación:</span>\r\n                        {listaDatosEvento !== null && listaDatosEvento !== undefined ? formatTime(listaDatosEvento[\"PeriodoAdjudicacion\"]) : \"\"}\r\n                      </div>\r\n                    </div>\r\n\r\n                  </li>\r\n                  :\r\n                  <li className=\"crypt-box-menu\">\r\n                    <div className=\"blockContainer\">\r\n                      <div>\r\n\r\n                        <span>Evento:</span>\r\n                      </div>\r\n                      <div>\r\n                        <span>Apertura:</span>\r\n                      </div>\r\n                      <div>\r\n                        <span>Subasta:</span>\r\n                      </div>\r\n                      <div>\r\n                        <span>Adjudicación:</span>\r\n\r\n                      </div>\r\n                    </div>\r\n                  </li>\r\n                }\r\n                <li className=\"crypt-box-menu\">\r\n                  <div className=\"timeContainer\">\r\n                    <div className=\"timeTxt\">\r\n                      <div>Fecha Hora:</div>\r\n                      <div>Tiempo restante:</div>\r\n                    </div>\r\n                    <div className=\"continertime\">\r\n\r\n                      <div id=\"reloj\" className={[\"time\"].join(' ')}></div>\r\n                      <div className={[\"time\", datosjuego && datosjuego[\"EstadoEjecucion\"] === \"F\" ? \"red-color\" : \"\"].join(' ')}>\r\n                        {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"I\" ? secondFormatComplete(secondsApertura) : \"\"}\r\n                        {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"S\" ? secondFormatComplete(secondsSubasta) : \"\"}\r\n                        {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"J\" ? secondFormatComplete(secondsAdj) : \"\"}\r\n                        {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"F\" ? \"FINALIZADO\" : \"\"}\r\n                        {datosjuego && datosjuego[\"EstadoEjecucion\"] === \"\" || datosjuego[\"EstadoEjecucion\"] === null ? \"NO INICIADO\" : \"\"}\r\n                        &nbsp;\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </li>\r\n              </ul>\r\n            </div>\r\n            <i className=\"menu-toggle pe-7s-menu d-xs-block d-sm-block d-md-none d-sm-none\"></i>\r\n          </div>\r\n        </div>\r\n      ) : (\r\n        <div></div>\r\n      )}\r\n\r\n    </div>\r\n  );\r\n};\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n\r\n  segundosApertura: state.juego.segundosApertura,\r\n  segundosSubasta: state.juego.segundosSubasta,\r\n  segundosAdjudicacion: state.juego.segundosAdjudicacion,\r\n});\r\nexport default connect(mapStateToProps, {\r\n})(Header);\r\n\r\n\r\n","import React, { useState,useEffect} from \"react\";\r\nimport { Redirect,useHistory  } from 'react-router-dom';\r\nimport { connect,useDispatch,useSelector } from \"react-redux\";\r\n\r\n\r\nimport audCampana from '../audio/campana.mp3'\r\n\r\nconst AperturaRueda = (props) => {\r\n  const { user: currentUser } = useSelector((state) => state.auth);  \r\n  \r\n  let refLoading = React.createRef();          \r\n  let history = useHistory();\r\n  const dispatch = useDispatch();\r\n\r\n  if (!currentUser) {\r\n    return <Redirect to=\"/login\" />;\r\n  }else{\r\n      setTimeout(()=>{\r\n        //history.push('/juego')\r\n      },5000)\r\n  }\r\n\r\n\r\n  return (\r\n    <div>\r\n        <audio src={audCampana} autoPlay={true} playsInline></audio>\r\n      <div className=\"title-apertura\">\r\n      <div className=\"customBoxAviso\">\r\n      <div className=\"innerShadow\">\r\n      Apertura de rueda bursatil\r\n      </div>\r\n      </div>\r\n      </div>\r\n      <div className='apertura-cont-img'>\r\n          <div className=\"ringing-bell\"><i class=\"fas fa-bell campanaIcon animated faa-ring animated fa-5x\"></i></div>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = state => ({  \r\n});\r\nexport default connect(mapStateToProps, {    \r\n})(AperturaRueda);","import React, { Component} from \"react\";\r\n\r\nclass NoJuego extends Component {    \r\n    constructor(props) {\r\n        super(props);\r\n        this.state = {\r\n        }\r\n    }\r\n   \r\n    render() {         \r\n        return (\r\n            <div className='nojuego'> \r\n                <div className=\"customBoxAviso\">\r\n                <div className=\"innerShadow\">\r\n                No tienes juegos disponibles\r\n            </div>\r\n                </div>\r\n            </div>\r\n        )\r\n    }\r\n}\r\n\r\nexport default NoJuego;","import React, { useState, useRef } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport logojunior from \"../image/investTraderLogo.png\";\r\nimport { sendEmailPassword } from \"../actions/user\";\r\nimport { NotificationContainer, NotificationManager } from \"react-notifications\";\r\nimport Form from \"react-validation/build/form\";\r\nimport Input from \"react-validation/build/input\";\r\n\r\nconst required = (value) => {\r\n  if (!value) {\r\n    return (\r\n      <div className=\"alert alert-danger\" role=\"alert\">\r\n        Campo requerido!\r\n      </div>\r\n    );\r\n\r\n  }\r\n};\r\n\r\nconst Login = (props) => {\r\n  const form = useRef();\r\n  const dispatch = useDispatch();\r\n  let [email, setEmail] = useState(null);\r\n  let [errors] = useState({ \"emailErr\": \"\" });\r\n\r\n  const [loading, setLoading] = useState(false);\r\n\r\n  const onChangeEmail = (e) => {\r\n    const email = e.target.value;\r\n    setEmail(email);\r\n  };\r\n\r\n\r\n\r\n  const recuperarClave = (e) => {\r\n    e.preventDefault();\r\n    let valid = true\r\n\r\n    dispatch(sendEmailPassword(email))\r\n      .then(() => {\r\n\r\n      })\r\n      .catch(() => {\r\n        setLoading(false);\r\n\r\n      });\r\n    setEmail('');\r\n  }\r\n  // if (!valid) {\r\n  // return\r\n  // }\r\n  // }\r\n\r\n  return (\r\n    <div>\r\n      <header>\r\n        <div className=\"container-full-width\">\r\n          <div className=\"crypt-header\">\r\n            <div className=\"row\">\r\n              <div className=\"col-xl-4 col-lg-4 col-md-4 col-sm-5\">\r\n                <div className=\"row\">\r\n                  <div className=\"col-xs-2\">\r\n                    <div className=\"crypt-logo\">\r\n                      <img src={logojunior} alt=\"Logo\" />\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div className=\"col-xl-8 col-lg-8 col-md-8 d-none d-md-block d-lg-block\">\r\n                <ul className=\"crypt-heading-menu fright\">\r\n                  <li className=\"crypt-box-menu menu-green\"><a href=\"/\">Iniciar sesión</a></li>\r\n                  {/*<li className=\"crypt-box-menu menu-red\"><a href=\"register\">Regístrate</a></li>*/}\r\n\r\n                </ul>\r\n              </div>\r\n              <i className=\"menu-toggle pe-7s-menu d-xs-block d-sm-block d-md-none d-sm-none\"></i>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n      </header>\r\n\r\n      <div className=\"container\">\r\n        <div className=\"row\">\r\n          <div className=\"col-md-3\"></div>\r\n          <div className=\"col-md-6\">\r\n            <div className=\"cryptorio-forms cryptorio-forms-dark text-center pt-5 pb-5\">\r\n              <div className=\"logo\">\r\n                <img src={logojunior} alt=\"Logo\" />\r\n              </div>\r\n              <h3 className=\"p-4\">Recuperar contraseña</h3>\r\n              <div className=\"cryptorio-main-form\">\r\n\r\n                <Form onSubmit={recuperarClave} ref={form} className=\"text-left\">\r\n                  <label className=\"label-credenciales\" for=\"email\">Ingrese su correo electrónico</label>\r\n                  <Input\r\n                  \r\n                    type=\"email\"\r\n                    value={email}\r\n                    maxLength={300}\r\n                    required\r\n                    placeholder=\"Correo electrónico\"\r\n                    className=\"input-credenciales\"\r\n                    //validations={[required]}\r\n                    onChange={onChangeEmail}\r\n                  ></Input>\r\n                  <button className=\"inputIniciarSesion crypt-button-red-full\" disabled={loading} >\r\n                    {loading && (\r\n                      <span className=\"spinner-border spinner-border-sm\"></span>\r\n                    )}\r\n                    <span>Enviar</span>\r\n                  </button>\r\n                </Form>\r\n                <p className=\"float-left-recuperar\">\r\n                  <a href=\"/login\">Regresar al Login</a>\r\n                </p>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div className=\"col-md-3\"></div>\r\n        </div>\r\n      </div>\r\n      <NotificationContainer />\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default Login;","import {NotificationManager} from \"react-notifications\";\r\nimport {\r\n   \r\n    SEND_EMAIL_PASSWORD,\r\n    SEND_EMAIL_PASSWORD_FAIL\r\n} from \"./types\";\r\n  \r\nimport UserService from \"../services/user.service\";\r\n\r\nexport const sendEmailPassword = (email) => (dispatch) => {\r\n   \r\n    return UserService.getPassword(email).then(\r\n      (response) => {\r\n        if(response===0){\r\n          \r\n          dispatch({\r\n            type: SEND_EMAIL_PASSWORD,\r\n          });        \r\n          NotificationManager.success(\r\n            \"Se ha enviado una notificación a su correo!\",\r\n            \"Sistema\",\r\n            3000,\r\n            () => {},\r\n            4\r\n          );    \r\n        }else if(response ===-1){        \r\n          dispatch({\r\n            type: SEND_EMAIL_PASSWORD_FAIL,\r\n          });\r\n          NotificationManager.error(\r\n            \"Error, no se encontró el correo\",\r\n            \"Sistema\",\r\n            3000,\r\n            () => {},\r\n            4\r\n          );\r\n        }            \r\n        return Promise.resolve();\r\n      },\r\n      (error) => {\r\n        const message =\r\n          (error.response &&\r\n          error.response.data &&\r\n          error.response.data.message) ||\r\n          error.message ||\r\n          error.toString();\r\n        dispatch({\r\n          type: SEND_EMAIL_PASSWORD_FAIL,\r\n        });\r\n       \r\n        return Promise.reject();\r\n      }\r\n    );\r\n  };\r\n  \r\n  \r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { confirmAlert } from 'react-confirm-alert'; // Import\r\nimport DataGrid, { Column } from '@inovua/reactdatagrid-community';\r\nimport '@inovua/reactdatagrid-community/base.css';\r\nimport '@inovua/reactdatagrid-community/theme/amber-dark.css';\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport { Menu, MenuItem, MenuButton, SubMenu } from '@szhsin/react-menu';\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport { formatDateTime, formatTime } from \"./general/Util\";\r\nimport { getTodoEventoAct } from \"../actions/administracion\";\r\nimport { setStatusByKey } from \"../actions/juego\";\r\n\r\nimport \"../config\";\r\nimport { NotificationContainer, NotificationManager } from \"react-notifications\";\r\n\r\n\r\nconst ElegirEvento = (props) => {\r\n\r\n\r\n    let history = useHistory();\r\n    const dispatch = useDispatch();\r\n    const { user: currentUser } = useSelector((state) => state.auth);\r\n    const { eventoSeleccionado: eventoSeleccionado } = useSelector((state) => state.juego);\r\n    const [eventoSeleccionadoId, setEventoSeleccionadoId] = useState(-1)\r\n\r\n    // nuevo minHeight: '300px', height: \"100%\"\r\n    const [empresaSeleccionada, setEmpresaSeleccionada] = useState();\r\n    //\r\n    const gridStyle = { minHeight: '100vh', height: \"100%\" }\r\n    const { listaTodosLosEventos } = useSelector((state) => state.administracion);\r\n    //console.log(\"listaTodosLosEventos\", listaTodosLosEventos)\r\n    let [loadTodosLosEventos, setLoadTodosLosEventos] = useState(false)\r\n    let [list, setList] = useState([]);\r\n\r\n    if (loadTodosLosEventos === false) {\r\n        setLoadTodosLosEventos(true)\r\n        dispatch(getTodoEventoAct(currentUser[\"userId\"], currentUser[\"role\"]))\r\n            .then(() => {\r\n            })\r\n            .catch(() => {\r\n            });\r\n\r\n    }\r\n\r\n\r\n\r\n\r\n    let [empresaFilter, setEmpresaFilter] = useState(\"\");\r\n    let [gridInfor, setGridInfor] = useState([listaTodosLosEventos !== null ? listaTodosLosEventos : []]);\r\n\r\n    if (listaTodosLosEventos !== null && listaTodosLosEventos != gridInfor && empresaFilter === \"\") {\r\n        setGridInfor(listaTodosLosEventos)\r\n\r\n\r\n        //agg\r\n        if (listaTodosLosEventos.length == 1) {\r\n            //setList(listaTodosLosEventos[0]);\r\n            console.log(listaTodosLosEventos[0])\r\n            setEventoSeleccionadoId(parseInt(listaTodosLosEventos[0][\"EventoId\"]))\r\n            console.log(eventoSeleccionadoId)\r\n\r\n            dispatch(setStatusByKey(\"eventoSeleccionado\",parseInt(listaTodosLosEventos[0][\"EventoId\"])))\r\n\r\n            history.push('/sala')\r\n            window.location.reload();\r\n        }\r\n        // hasta aqui\r\n\r\n    }\r\n    \r\n\r\n    function filterCatalogo(nego, empresaFilter) {\r\n        //value => \r\n        setGridInfor(nego.filter(function (item) {\r\n            if (item[\"NombreEvento\"].toLowerCase().includes(empresaFilter.toLocaleLowerCase()))\r\n                return true;\r\n            return false;\r\n        }))\r\n    }\r\n    function closeEvento() {\r\n        props.closeEventoClick()\r\n    }\r\n\r\n    function formatEstado(estado) {\r\n        switch (estado) {\r\n            case \"A\":\r\n                return \"ACTIVO\"\r\n            case \"\":\r\n                return \"\"\r\n        }\r\n\r\n    }\r\n\r\n    function formatModalidad(modalidad) {\r\n        switch (modalidad) {\r\n            case 1:\r\n                return \"VIRTUAL\"\r\n            case 2:\r\n                return \"SEMIPRESENCIAL\"\r\n            case 3:\r\n                return \"MANUAL\"\r\n\r\n        }\r\n    }\r\n    let columns = [\r\n\r\n        /*{ name: 'EventoId', type: 'number', defaultWidth: 80 },*/\r\n        { name: 'NombreEvento', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>EVENTO</div>), defaultFlex: 1, xdefaultLocked: 'end', minWidth: 500 },\r\n        { name: 'FechaSubasta', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>FECHA SUBASTA</div>), defaultFlex: 1, xdefaultLocked: 'end', render: ({ data }) => formatDateTime(data[\"FechaSubasta\"]) },\r\n        { name: 'ModalidadId', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>MODALIDAD</div>), defaultFlex: 1, xdefaultLocked: 'end', render: ({ data }) => formatModalidad(data[\"ModalidadId\"]) },\r\n        { name: 'Estado', header: () => (<div style={{ textAlign: \"center\", fontSize: \"13px\" }}>ESTADO</div>), defaultFlex: 1, xdefaultLocked: 'end', render: ({ data }) => data != null ? formatEstado(data[\"Estado\"]) : \"\" },\r\n    ]\r\n    const renderRowContextMenu = useCallback((menuProps, { rowProps }) => {\r\n        menuProps.autoDismiss = true\r\n        menuProps.items = [\r\n            {\r\n                label: 'Ir a evento',\r\n                onClick: () => {\r\n                    setEventoSeleccionadoId(rowProps.data[\"EventoId\"])\r\n                    dispatch(setStatusByKey(\"eventoSeleccionado\", parseInt(rowProps.data[\"EventoId\"])))\r\n                    history.push('/sala')\r\n                    window.location.reload();\r\n                }\r\n            },\r\n        ]\r\n    }, [])\r\n\r\n\r\n    if (!currentUser) {\r\n        return <Redirect to=\"/login\" />;\r\n    }\r\n    return (\r\n        <div>\r\n            <div>\r\n                <h6 className=\"crypt-bg-head\">BUSCAR EVENTO\r\n                    <div className='floatright'>\r\n                        <div className=\"filterNeg\"><input type=\"text\" placeholder=\"Filtrar\" value={empresaFilter} onChange={(e) => {\r\n                            setEmpresaFilter(e.target.value);\r\n                            filterCatalogo(listaTodosLosEventos !== null ? listaTodosLosEventos : [], e.target.value)\r\n                        }} /> <i className=\"fas fa-search\"></i>\r\n                        </div>\r\n                    </div>\r\n                </h6>\r\n            </div>\r\n\r\n            <div className=\"tab-content\">\r\n                <DataGrid\r\n                    idProperty=\"EventoId\"\r\n                    style={gridStyle}\r\n                    columns={columns}\r\n                    enableSelection={true}\r\n                    selection={{ mode: \"single\" }}\r\n                    dataSource={gridInfor}\r\n                    renderRowContextMenu={renderRowContextMenu}\r\n                    theme=\"amber-dark\"\r\n                    stickyHeader={true}\r\n\r\n                />\r\n                <div className=\"no-orders text-center\"></div>\r\n            </div>\r\n            <NotificationContainer />\r\n        </div>\r\n    );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(ElegirEvento);\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport ElegirEvento from \"./ElegirEvento\";\r\nimport Sala from \"./Sala\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport { NotificationManager } from \"react-notifications\";\r\nimport \"@szhsin/react-menu/dist/index.css\";\r\nimport '@szhsin/react-menu/dist/index.css';\r\nimport { getTodoEventoAct } from \"../actions/administracion\";\r\nimport { Redirect } from \"react-router-dom\";\r\n\r\nconst SeleccionarEvento = (props) => {\r\n  const dispatch = useDispatch();\r\n  const { user: currentUser } = useSelector((state) => state.auth);\r\n  const { listaTodosLosEventos } = useSelector((state) => state.administracion);\r\n\r\n  \r\n  let [loadTodosLosEventos, setLoadTodosLosEventos] = useState(false)\r\n\r\n  if (loadTodosLosEventos === false) {\r\n    setLoadTodosLosEventos(true)\r\n    dispatch(getTodoEventoAct(currentUser[\"userId\"], currentUser[\"role\"]))\r\n      .then(() => {\r\n      })\r\n      .catch(() => {\r\n      });\r\n\r\n\r\n  }\r\n\r\n  \r\n  \r\n\r\n \r\n\r\n//  if (listaTodosLosEventos===null) {\r\n  //  return <Redirect to=\"/sala\" />;\r\n // }else{\r\n   // return <Redirect to=\"/elegirEvento\" />;\r\n // }\r\n\r\n\r\n  return (\r\n\r\n\r\n    <div className=\"container-fluid\">\r\n      <div className=\"row sm-gutters\">\r\n        <div className=\"col-xl-12\">\r\n          <div className=\"crypt-market-status\">\r\n            {/*{listaTodosLosEventos !== null ? <ElegirEvento/> : <Sala/>}*/}\r\n\r\n\r\n          <ElegirEvento />\r\n          </div>\r\n        </div>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  );\r\n};\r\nconst mapStateToProps = (state) => ({});\r\nexport default connect(mapStateToProps, {})(SeleccionarEvento);\r\n","import { createBrowserHistory } from \"history\";\r\n\r\nexport const history = createBrowserHistory();\r\n","import React, { useState, useEffect } from \"react\";\r\nimport '../config'\r\nimport logojunior from '../image/investTraderLogo.png';\r\n\r\nconst CondicionesLegales = (props) => {\r\n\r\n    let [loadCssClass, setLoadCssClass] = useState(true);\r\n\r\n    if (loadCssClass === true) {\r\n        setLoadCssClass(false)\r\n        document.getElementById('root').classList.add(\"root-fn\");\r\n    }\r\n\r\n    return (\r\n        <div>\r\n            <header>\r\n                <div className=\"container-full-width\">\r\n                    <div className=\"crypt-header\">\r\n                        <div className=\"row\">\r\n                            <div className=\"col-xl-4 col-lg-4 col-md-4 col-sm-5\">\r\n                                <div className=\"row\">\r\n                                    <div className=\"col-xs-2\">\r\n                                        <div className=\"crypt-logo\"><img src={logojunior} alt=\"Logo\" /></div>\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                            <div className=\"col-xl-8 col-lg-8 col-md-8 d-none d-md-block d-lg-block\">\r\n                                <ul className=\"crypt-heading-menu fright\">\r\n\r\n                                    {/*<li className=\"crypt-box-menu menu-red\"><a href=\"register\">Regístrate</a></li>*/}\r\n\r\n                                </ul>\r\n                            </div>\r\n                            <i className=\"menu-toggle pe-7s-menu d-xs-block d-sm-block d-md-none d-sm-none\"></i>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n                <div className=\"crypt-mobile-menu\">\r\n                    <ul className=\"crypt-heading-menu\">\r\n                        <li className=\"crypt-box-menu menu-green\"><a href=\"\">Regístrate</a></li>\r\n                        <li className=\"crypt-box-menu menu-red\"><a href=\"\">Iniciar sesión</a></li>\r\n\r\n                    </ul>\r\n                    <div className=\"crypt-gross-market-cap\">\r\n                        <h5>$34.795.90 <span className=\"crypt-up pl-2\">+3.435 %</span></h5>\r\n                        <h6>0.7925.90 BTC <span className=\"crypt-down pl-2\">+7.435 %</span></h6></div>\r\n                </div>\r\n            </header>\r\n            <div className='fade-in'>\r\n                <div className=\"overlay2\">\r\n                    <div className=\"winContainer-nopos\">\r\n                        <div className=\"borderContent\">\r\n                            <div className=\"innerShadow2 condiciones\">\r\n                                <p className=\"condiciones-titulo\"><b>POLÍTICA EN MATERIA DE PROTECCIÓN DE DATOS PARA SERVICIOS DE CAPACITACIÓN Y EVENTOS</b></p>\r\n                                <p>\r\n                                    La Bolsa de Valores de Quito (En adelante BVQ), con el objetivo de aplicar las\r\n                                    disposiciones, políticas y principios contenidos en la Ley de Protección de Datos\r\n                                    Personales (En adelante LODP), en el tratamiento de la información proporcionada por\r\n                                    usuarios de capacitación o eventos, informa:\r\n                                </p>\r\n                                <ul className=\"custom-list\">\r\n                                    <li>La BVQ reconoce sus obligaciones en calidad de responsable del tratamiento de\r\n                                        datos personales contenidas en la LOPD y normativa secundaria en la materia, al\r\n                                        recopilar datos personales directamente o por medio de la Institución solicitante,\r\n                                        previo consentimiento expreso de sus titulares.</li>\r\n                                    <li>El tratamiento de datos personales se sustenta en el consentimiento expreso de\r\n                                        los usuarios, de una misión realizada en interés público y en el ejercicio de\r\n                                        facultades conferidas a la BVQ por la Ley.</li>\r\n                                    <li>Que la BVQ, para el adecuado desarrollo de sus actividades podrá requerir datos\r\n                                        de sus clientes y cualquier otro Usuario que, de manera directa o indirecta, tenga\r\n                                        relación con la BVQ.</li>\r\n                                    <li>Que la BVQ podrá recoger, recopilar, registrar, organizar, estructurar, conservar,\r\n                                        custodiar, modificar, consultar, utilizar, aprovechar, comunicar o transferir los datos\r\n                                        personales del Titular, con la finalidad de dar cumplimiento a las obligaciones\r\n                                        legales adquiridas.</li>\r\n                                    <li>Tratará los Datos Personales de los Titulares para los propósitos establecidos en\r\n                                        la regulación societaria y tributaria, en estricto apego a la Ley Orgánica de\r\n                                        Protección de Datos Personales.</li>\r\n                                    <li>La BVQ adoptará mecanismos de seguridad para la protección de datos\r\n                                        personales a los que tenga acceso y por ende sujetarse al principio de seguridad\r\n                                        de datos personales y por lo tanto implementará las medidas necesarias y a su\r\n                                        alcance para asegurar la confidencialidad, integridad, seguridad y disponibilidad de\r\n                                        los datos de su Titular.</li>\r\n                                    <li>La BVQ ha implementado mecanismos de verificación, evaluación y valoración\r\n                                        continua y permanente de la eficiencia, eficacia y efectividad de las medidas de\r\n                                        carácter técnico, organizativo, con el objeto de garantizar y mejorar la seguridad\r\n                                        del tratamiento de datos personales.</li>\r\n                                    <li>Que en el ejercicio de sus derechos puede solicitar a la BVQ el acceso,\r\n                                        rectificación, actualización, eliminación, oposición o suspensión del tratamiento de\r\n                                        sus datos personales de conformidad con la ley vigente.</li>\r\n                                    <li>La información y los medios para recopilar la información de los usuarios de\r\n                                        capacitación, será por medio de: Formularios o fichas de inscripción en Excel;\r\n                                        Base de datos puntopagobvq.com; Correo Electrónico; WhatsApp; Formulario de\r\n                                        registro de asistencias a capacitaciones o eventos; Formularios electrónicos en\r\n                                        aplicativos webs o transferencia de sus datos personales por medio de la\r\n                                        Institución en la que labora o estudia y que haya solicitado los servicios y\r\n                                        productos que ofrece la BVQ.</li>\r\n                                </ul>\r\n                                <p className=\"condiciones-titulo\"><b>DECLARACIONES DEL USUARIO DE CAPACITACIONES O EVENTOS</b></p>\r\n                                <p>\r\n                                    En calidad de Titular de los Datos Personales o de responsable de los datos\r\n                                    personales de las personas naturales para las que se solicitan los servicios ofrecidos\r\n                                    por la BVQ, declara lo siguiente:\r\n                                </p>\r\n\r\n                                <ul className=\"custom-list\">\r\n                                    <li>De forma expresa ha consentido en la comunicación de los datos personales a la\r\n                                        BVQ, para sus fines determinados o en su defecto otorga su consentimiento para\r\n                                        el tratamiento de sus datos personales, en caso de ser provistos, para los fines\r\n                                        que la BVQ determine, de conformidad con la Política en la materia; y, reconoce\r\n                                        que dicha manifestación de voluntad es libre, específica, informada e inequívoca.</li>\r\n                                    <li>Que ha consentido para que la BVQ trate bases de datos públicos o privados en\r\n                                        las que se incluya sus Datos Personales, en caso de ser provistos.</li>\r\n                                    <li>Reconoce que la BVQ le ha informado sobre los fines del tratamiento de los datos\r\n                                        personales aquí proporcionados, en aplicación del principio de transparencia; y\r\n                                        sobre los cuales brinda su expresa autorización y que serán utilizados para:\r\n                                        \r\n                                        <ul className=\"sub-list-interno\">\r\n                                            <li>Recopilación de Comunicación de productos y servicios de la BVQ.</li>\r\n                                            <li>Utilización de información para fines estadísticos (elaboración de perfiles) y/o\r\n                                                de investigación.</li>\r\n                                            <li>Recopilación de información en bases o repositorios de datos.</li>\r\n                                            <li>Información promocional respecto a capacitaciones, invitación a eventos\r\n                                                organizados o patrocinados directa o indirectamente por la BVQ; y, demás\r\n                                                fines comerciales acordes con la normativa vigente.</li>\r\n                                            <li>Transferencia de datos a cualquier tercero, incluyendo, pero sin limitarse a\r\n                                                autoridades judiciales, entidades de control, y empresas asociadas o filiales de\r\n                                                BVQ, para el cumplimiento de fines directamente relacionados con las\r\n                                                funciones legítimas de BVQ y del tercero destinatario.</li>\r\n                                            <li>Facturación en el caso de capacitaciones que tienen un costo para el Usuario.</li>\r\n                                            <li>En el caso de información de estudiantes recopilada para el uso de la\r\n                                                herramienta “Juego de Bolsa”, la información únicamente tendrá como fin el\r\n                                                asignar un usuario y contraseña para la utilización del aplicativo tecnológico “el\r\n                                                Juego de Bolsa”.</li>\r\n                                        </ul>\r\n                                    </li>\r\n                                    <li>Reconoce que, en el Titular de sus Datos Personales, podrá hacer efectivos sus\r\n                                        derechos de acceso, eliminación, rectificación y actualización, oposición, anulación\r\n                                        y limitación del tratamiento.</li>\r\n                                    <li>Reconoce que el titular de los datos personales podrá, en cualquier momento y de\r\n                                        forma gratuita, presentar requerimientos, peticiones, quejas o reclamaciones\r\n                                        directamente al Responsable del Tratamiento, a través de la información de\r\n                                        contacto que se encuentra a disposición en el portal web de la BVQ.</li>\r\n\r\n                                </ul>\r\n                                <p className=\"sub-list\"><b>BASE LEGAL</b></p>\r\n                                <p>\r\n                                    El usuario de capacitaciones o eventos reconoce que la base legal que sustenta los\r\n                                    procesos de recopilación de datos personales es la siguiente:\r\n                                </p>\r\n                                <p>\r\n                                    En materia de mercado de valores:\r\n                                </p>\r\n                                <ul className=\"sub-list\">\r\n                                    <li>Libro II del Código Orgánico Monetario y Financiero</li>\r\n                                    <li>Reglamento a la Ley de Mercado de Valores</li>\r\n                                    <li>Codificación de Regulaciones de la Junta de Política y Regulación\r\n                                        Financiera</li>\r\n                                    <li>Reglamento General Conjunto de las Bolsas de Valores de Quito y\r\n                                        Guayaquil</li>\r\n                                    <li>Reglamento General de la Bolsa de Valores de Quito</li>\r\n                                </ul>\r\n                                <p>\r\n                                    En materia de prevención de lavado de activos:\r\n                                </p>\r\n                                <ul className=\"sub-list\">\r\n                                    <li>Artículo 1 de la Ley Orgánica Reformatoria de Prevención detección y\r\n                                        erradicación del Lavado de Activos</li>\r\n                                    <li>Artículo 2 del Reglamento Ley de Lavado de Activos Y del Financiamiento\r\n                                        de Delitos</li>\r\n                                    <li>Artículo 2, y 3 de la Resolución No. JPRF-V-2022-024</li>\r\n                                    <li>Artículo 1 de la Resolución SCVS-DNPLA-006-2022</li>\r\n\r\n                                </ul>\r\n                                <p>\r\n                                    En materia tributaria para procesos de facturación:\r\n                                </p>\r\n                                <ul className=\"sub-list\">\r\n                                    <li>Ley Orgánica de Régimen Tributario Interno</li>\r\n                                    <li>Reglamento de Comprobantes de Venta, Retención y Complementarios</li>\r\n                                </ul>\r\n                                <p className=\"sub-list\"><b>CONSERVACIÓN</b></p>\r\n                                <p>\r\n                                    La información es conservada para el tratamiento durante el tiempo que requiera el\r\n                                    servicio solicitado y podrá ser almacenada de manera ampliada por hasta 10 años,\r\n                                    previo consentimiento de los titulares, para la promoción de productos, servicios y\r\n                                    archivo estadístico de la BVQ.\r\n                                </p>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n}\r\nexport default CondicionesLegales;","import React, { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Router, Switch, Route} from \"react-router-dom\";\r\n\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"./App.css\";\r\nimport 'react-notifications/lib/notifications.css';\r\nimport Login from \"./components/Login\";\r\nimport Register from \"./components/Register\";\r\nimport Sala from \"./components/Sala\";\r\nimport Juego from \"./components/Juego\";\r\nimport BoardUser from \"./components/BoardUser\";\r\nimport BoardModerator from \"./components/BoardModerator\";\r\nimport BoardAdmin from \"./components/BoardAdmin\";\r\nimport Header from \"./components/general/Header\";\r\nimport AperturaRueda from \"./components/AperturaRueda\";\r\nimport NoJuego from \"./components/errors/NoJuego\"\r\nimport Recuperar from \"./components/Recuperar\";\r\nimport SeleccionarEvento from \"./components/SeleccionarEvento\";\r\nimport { clearMessage } from \"./actions/message\";\r\n\r\nimport { history } from \"./helpers/history\";\r\nimport ElegirEvento from \"./components/ElegirEvento\";\r\nimport CondicionesLegales from \"./components/CondicionesLegales\";\r\n\r\nconst App = () => {\r\n\r\n  const dispatch = useDispatch();\r\n\r\n  useEffect(() => {\r\n    history.listen((location) => {\r\n      dispatch(clearMessage()); // clear message when changing location\r\n    });\r\n  }, [dispatch]);\r\n\r\n  return (\r\n    <Router history={history}>\r\n      <div className=\"mainContainer style1\">\r\n        <Header></Header>\r\n        <div>\r\n          <Switch>\r\n            <Route exact path={[\"/\", \"/home\"]} component={Login} />\r\n            <Route exact path=\"/login\" component={Login} />\r\n            <Route exact path=\"/register\" component={Register} />\r\n            <Route exact path=\"/recuperar\" component={Recuperar} />\r\n            <Route exact path=\"/sala\" component={Sala} />\r\n            <Route exact path=\"/juego\" component={Juego} />\r\n            <Route exact path=\"/apertura\" component={AperturaRueda} />\r\n            <Route exact path=\"/nojuegos\" component={NoJuego} />\r\n            <Route exact path=\"/elegirEvento\" component={ElegirEvento} />\r\n            <Route exact path=\"/seleccionarEvento\" component={SeleccionarEvento} />\r\n            <Route path=\"/user\" component={BoardUser} />\r\n            <Route path=\"/mod\" component={BoardModerator} />\r\n            <Route path=\"/admin\" component={BoardAdmin} />\r\n            <Route path=\"/condiciones\" component={CondicionesLegales} />\r\n            \r\n          </Switch>\r\n        </div>\r\n      </div>\r\n    </Router>\r\n  );\r\n};\r\n\r\nexport default App;\r\n","import { SET_MESSAGE, CLEAR_MESSAGE } from \"./types\";\r\n\r\nexport const setMessage = (message) => ({\r\n  type: SET_MESSAGE,\r\n  payload: message,\r\n});\r\n\r\nexport const clearMessage = () => ({\r\n  type: CLEAR_MESSAGE,\r\n});\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n  window.location.hostname === 'localhost' ||\r\n    // [::1] is the IPv6 localhost address.\r\n    window.location.hostname === '[::1]' ||\r\n    // 127.0.0.0/8 are considered localhost for IPv4.\r\n    window.location.hostname.match(\r\n      /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n    )\r\n);\r\n\r\nexport function register(config) {\r\n  if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n    // The URL constructor is available in all browsers that support SW.\r\n    const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n    if (publicUrl.origin !== window.location.origin) {\r\n      // Our service worker won't work if PUBLIC_URL is on a different origin\r\n      // from what our page is served on. This might happen if a CDN is used to\r\n      // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n      return;\r\n    }\r\n\r\n    window.addEventListener('load', () => {\r\n      const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n      if (isLocalhost) {\r\n        // This is running on localhost. Let's check if a service worker still exists or not.\r\n        checkValidServiceWorker(swUrl, config);\r\n\r\n        // Add some additional logging to localhost, pointing developers to the\r\n        // service worker/PWA documentation.\r\n        navigator.serviceWorker.ready.then(() => {\r\n          console.log(\r\n            'This web app is being served cache-first by a service ' +\r\n              'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n          );\r\n        });\r\n      } else {\r\n        // Is not localhost. Just register service worker\r\n        registerValidSW(swUrl, config);\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n  navigator.serviceWorker\r\n    .register(swUrl)\r\n    .then(registration => {\r\n      registration.onupdatefound = () => {\r\n        const installingWorker = registration.installing;\r\n        if (installingWorker == null) {\r\n          return;\r\n        }\r\n        installingWorker.onstatechange = () => {\r\n          if (installingWorker.state === 'installed') {\r\n            if (navigator.serviceWorker.controller) {\r\n              // At this point, the updated precached content has been fetched,\r\n              // but the previous service worker will still serve the older\r\n              // content until all client tabs are closed.\r\n              console.log(\r\n                'New content is available and will be used when all ' +\r\n                  'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n              );\r\n\r\n              // Execute callback\r\n              if (config && config.onUpdate) {\r\n                config.onUpdate(registration);\r\n              }\r\n            } else {\r\n              // At this point, everything has been precached.\r\n              // It's the perfect time to display a\r\n              // \"Content is cached for offline use.\" message.\r\n              console.log('Content is cached for offline use.');\r\n\r\n              // Execute callback\r\n              if (config && config.onSuccess) {\r\n                config.onSuccess(registration);\r\n              }\r\n            }\r\n          }\r\n        };\r\n      };\r\n    })\r\n    .catch(error => {\r\n      console.error('Error during service worker registration:', error);\r\n    });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n  // Check if the service worker can be found. If it can't reload the page.\r\n  fetch(swUrl, {\r\n    headers: { 'Service-Worker': 'script' },\r\n  })\r\n    .then(response => {\r\n      // Ensure service worker exists, and that we really are getting a JS file.\r\n      const contentType = response.headers.get('content-type');\r\n      if (\r\n        response.status === 404 ||\r\n        (contentType != null && contentType.indexOf('javascript') === -1)\r\n      ) {\r\n        // No service worker found. Probably a different app. Reload the page.\r\n        navigator.serviceWorker.ready.then(registration => {\r\n          registration.unregister().then(() => {\r\n            window.location.reload();\r\n          });\r\n        });\r\n      } else {\r\n        // Service worker found. Proceed as normal.\r\n        registerValidSW(swUrl, config);\r\n      }\r\n    })\r\n    .catch(() => {\r\n      console.log(\r\n        'No internet connection found. App is running in offline mode.'\r\n      );\r\n    });\r\n}\r\n\r\nexport function unregister() {\r\n  if ('serviceWorker' in navigator) {\r\n    navigator.serviceWorker.ready\r\n      .then(registration => {\r\n        registration.unregister();\r\n      })\r\n      .catch(error => {\r\n        console.error(error.message);\r\n      });\r\n  }\r\n}\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { Provider } from \"react-redux\";\r\nimport store from \"./store\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\n\r\nReactDOM.render(\r\n  <Provider store={store}>\r\n    <App />\r\n  </Provider>,\r\n  document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can chađinge\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import React, { useState,useEffect} from \"react\";\r\n\r\nconst ProgressBar = (props) => {\r\n  const { bgcolor, completed } = props;\r\n\r\n  const containerStyles = {\r\n    height: 20,\r\n    width: '100%',\r\n    backgroundColor: \"#FFF\",\r\n    borderRadius: 50,\r\n    margin: 50,\r\n    transition: 'width 1s ease-in-out'\r\n  }\r\n\r\n  const fillerStyles = {\r\n    height: '100%',\r\n    width: `${completed}%`,\r\n    //maxWidth:'100%',\r\n    backgroundColor: bgcolor,\r\n    borderRadius: 'inherit',\r\n    textAlign: 'right'\r\n  }\r\n\r\n  const labelStyles = {\r\n    padding: 5,\r\n    color: 'white',\r\n    fontWeight: 'bold'\r\n  }\r\n  return (\r\n    <div style={containerStyles}>\r\n      <div style={fillerStyles}>\r\n        <span style={labelStyles}>{`${completed}%`}</span>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default ProgressBar;","import React, { Component} from \"react\";\r\nimport Loading from \"./ProgressBar\";\r\n\r\nclass LoadingContainer extends Component {    \r\n    constructor(props) {\r\n        super(props);\r\n        this.state = {\r\n            completed:0\r\n        }\r\n        if(this.props.autoplay){\r\n            this.restartLoading()\r\n        }\r\n    }\r\n    restartLoading(){\r\n        this.setState({completed:0})\r\n        setInterval(() => {\r\n            if(this.state.completed<100){\r\n                this.setState({completed:this.state.completed + 1})\r\n            }      \r\n          }, 1000);\r\n    }\r\n\r\n    render() {         \r\n        return (\r\n            <div className='salaloading'> \r\n                <Loading bgcolor={\"#28ba00\"} completed={this.state.completed} autoplay={this.props.autoplay}/>\r\n            </div>\r\n        )\r\n    }\r\n}\r\n\r\nexport default LoadingContainer;","import axios from \"axios\";\r\nimport authHeader from \"./auth-header\";\r\n\r\nrequire('dotenv').config()\r\n \r\n\r\nconst API_URL = process.env.URL_SERVICE;// \"http://localhost:8080/api/test/\";\r\n\r\n// recuperar clave getPassword\r\nconst getPassword =(email) =>{\r\n  const params = {\"strEmail\":email}\r\n    return axios \r\n      .post(global.config.URL_SERVICE + \"RecuperarClave\", params,{headers: {'Content-Type': 'application/json; charset=utf-8',}})\r\n      .then((response) => {\r\n        let itemR = response[\"data\"].split(\"\\\\\\\"\").join(\"\\\"\");          \r\n        const result = JSON.parse(itemR);\r\n        return result;  \r\n    });\r\n}\r\n\r\nconst getPublicContent = () => {\r\n  return axios.get(API_URL + \"all\");\r\n};\r\n\r\nconst getUserBoard = () => {\r\n  return axios.get(API_URL + \"user\", { headers: authHeader() });\r\n};\r\n\r\nconst getModeratorBoard = () => {\r\n  return axios.get(API_URL + \"mod\", { headers: authHeader() });\r\n};\r\n\r\nconst getAdminBoard = () => {\r\n  return axios.get(API_URL + \"admin\", { headers: authHeader() });\r\n};\r\n\r\nexport default {\r\n  getPublicContent,\r\n  getUserBoard,\r\n  getModeratorBoard,\r\n  getAdminBoard,\r\n  getPassword\r\n};","export const toggleValueApertura = () => {\r\n    return {\r\n      type: 'SEND_VALUE_APERTURA'\r\n    };\r\n  };\r\n\r\n  export const toggleValueSubasta = () => {\r\n    return {\r\n      type: 'SEND_VALUE_SUBASTA'\r\n    };\r\n  };\r\n  export const toggleValueAdjudicacion = () => {\r\n    return {\r\n      type: 'SEND_VALUE_ADJUDICACION'\r\n    };\r\n  };\r\n\r\n  export const toggleBotonApertura = () => {\r\n    return {\r\n      type: 'SEND_VALUE_BOTON_APERTURA'\r\n    };\r\n  };\r\n\r\n  export const toggleBotonSubasta = () => {\r\n    return {\r\n      type: 'SEND_VALUE_BOTON_SUBASTA'\r\n    };\r\n  };\r\n\r\n  export const toggleBotonAdjudicacion = () => {\r\n    return {\r\n      type: 'SEND_VALUE_BOTON_ADJUDICACION'\r\n    };\r\n  };\r\n  \r\n  export const toggleBotonVisibleEditarOrden = () => {\r\n    return {\r\n      type: 'SEND_VALUE_BOTON_EDITAR_ORDEN'\r\n    };\r\n  };"],"sourceRoot":""}