{"version":3,"sources":["api/urls.js","api/index.js","helpers/notification.js","containers/App/App.jsx","containers/App/ScrollToTop.jsx","containers/Layout/topbar/TopbarSidebarButton.jsx","containers/Layout/topbar/TopbarMenuLink.jsx","containers/Layout/topbar/TopbarMenuButton.jsx","containers/Layout/topbar/TopbarProfile.jsx","containers/Layout/topbar/Topbar.jsx","containers/Layout/sidebar/SidebarLink.jsx","containers/Layout/sidebar/SidebarCategory.jsx","containers/Layout/sidebar/SidebarContent.jsx","shared/prop-types/ReducerProps.js","containers/Layout/sidebar/Sidebar.jsx","containers/Layout/index.jsx","containers/Layout/bottombar/Bottombar.jsx","containers/App/MainWrapper.jsx","shared/components/form/CheckBox.jsx","helpers/setPropsAsInitialValues.jsx","shared/components/form/TextBox.jsx","shared/components/Confirm.jsx","containers/LogIn/components/validate.js","containers/LogIn/components/LogInForm.jsx","containers/LogIn/index.jsx","containers/FirstLogIn/components/validate.js","containers/FirstLogIn/components/FirstLogInForm.jsx","containers/FirstLogIn/index.jsx","shared/components/pagination/Pagination.jsx","shared/components/form/DatePicker.jsx","shared/components/form/Select.jsx","shared/components/DataTable.jsx","shared/components/TooltipItem.jsx","shared/components/LoadingSpinner.jsx","helpers/dateFormat.js","containers/Users/index.jsx","shared/components/form/RadioButton.jsx","containers/Users/Edit/validate.js","containers/Users/Edit/UserForm.jsx","constants/enums.js","containers/Users/Edit/index.jsx","redux/actions/studentsActions.js","containers/Students/Index.jsx","redux/actions/studentSubjectsActions.js","redux/actions/materiaPeriodoActions.js","containers/Students/Tasks/index.jsx","containers/Profesor/PlaneamientoForm/components/HorariosTable.jsx","redux/actions/assistanceActions.js","containers/Students/Assistance/index.jsx","containers/Students/StudentData.jsx","containers/Students/Dashboard.jsx","containers/Students/Edit/validate.js","containers/Students/Edit/StudentForm.jsx","containers/Students/Edit/index.jsx","containers/StudentSubjects/InscriptionForm/validate.js","containers/StudentSubjects/InscriptionForm/InscriptionForm.jsx","containers/StudentSubjects/InscriptionForm/index.jsx","redux/actions/periodoActions.js","containers/StudentSubjects/index.jsx","containers/StudentSubjects/Inscription/validate.js","containers/StudentSubjects/Inscription/InscriptionForm.jsx","containers/StudentSubjects/Inscription/index.jsx","redux/actions/examActions.js","helpers/storage.js","containers/Exams/index.jsx","redux/actions/inscripcionExamenActions.js","containers/Exams/StudentExams.jsx","containers/Exams/StudentExamInscription.jsx","containers/Exams/ExamForm/InscripcionExamen/validate.js","containers/Exams/ExamForm/InscripcionExamen/InscriptionForm.jsx","containers/Exams/ExamForm/InscripcionExamen/index.jsx","containers/Exams/ExamForm/InscripcionExamen/AddInscriptionForm.jsx","helpers/debounce.js","containers/Exams/ExamForm/InscripcionExamen/AddIndex.jsx","containers/Exams/ExamForm/validate.js","containers/Exams/ExamForm/ExamForm.jsx","containers/Exams/ExamForm/index.jsx","containers/Exams/ExamForm/ShowFinalReport.jsx","containers/Exams/ExamForm/ShowRecuperatorioReport.jsx","containers/Exams/ExamForm/ShowAllReport.jsx","containers/Example/components/ExampleCard.jsx","containers/Example/index.jsx","containers/ExampleTwo/components/ExampleCard.jsx","containers/ExampleTwo/index.jsx","containers/MateriasPeriodo/index.jsx","containers/Profesor/PlaneamientoForm/components/ObjetivosMateriaTable.jsx","containers/Profesor/PlaneamientoForm/components/CronogramaClasesTable.jsx","containers/Profesor/PlaneamientoForm/components/PracticaLaboratorioTable.jsx","containers/Profesor/PlaneamientoForm/components/ProyectoTrabajoPracticoTable.jsx","containers/Profesor/PlaneamientoForm/components/ActividadComplementariaTable.jsx","containers/Profesor/PlaneamientoForm/validate.js","containers/Profesor/PlaneamientoForm/components/form.jsx","containers/Profesor/PlaneamientoForm/index.jsx","redux/actions/planningActions.js","containers/MateriasPeriodo/EditForm/validate.js","containers/MateriasPeriodo/EditForm/MateriaPeriodoForm.jsx","containers/MateriasPeriodo/EditForm/index.jsx","containers/Profesor/Dashboard.jsx","redux/actions/professorActions.js","containers/Profesor/index.jsx","shared/components/form/ToggleButton.jsx","containers/MateriasPeriodo/Homework/HomeworkForm/validate.js","containers/MateriasPeriodo/Homework/HomeworkForm/StudentsScoresTable.jsx","containers/MateriasPeriodo/Homework/HomeworkForm/form.jsx","containers/MateriasPeriodo/Homework/HomeworkForm/index.jsx","containers/MateriasPeriodo/Homework/index.jsx","containers/Assistance/Form/validate.js","containers/Assistance/Form/studentAssistancesTable.jsx","containers/Assistance/Form/form.jsx","containers/Assistance/Form/index.jsx","containers/Assistance/Form/formModal.jsx","containers/Assistance/index.jsx","containers/Profesor/EditarNotasDialog.jsx","containers/Profesor/ProfessorData.jsx","containers/ReporteInscripcion/index.jsx","containers/ReporteAlumnosPorMateria/validate.js","containers/ReporteAlumnosPorMateria/FilterForm.jsx","containers/ReporteAlumnosPorMateria/index.jsx","containers/ReporteAlumnos/FilterForm.jsx","containers/ReporteAlumnos/index.jsx","containers/ReporteAlumnos/AcademicStatus/AcademicStatusForm.jsx","containers/ReporteAlumnos/AcademicStatus/index.jsx","containers/Periodos/index.jsx","containers/Periodos/PeriodoForm/validate.js","containers/Periodos/PeriodoForm/PeriodoForm.jsx","containers/Periodos/PeriodoForm/index.jsx","containers/Periodos/PeriodoForm/EditarMaterias/validate.js","containers/Periodos/PeriodoForm/EditarMaterias/EditarMateriasForm.jsx","containers/Periodos/PeriodoForm/EditarMaterias/index.jsx","containers/Periodos/PeriodoForm/MateriaPeriodo/validate.js","containers/Periodos/PeriodoForm/MateriaPeriodo/MateriaPeriodoForm.jsx","containers/Periodos/PeriodoForm/MateriaPeriodo/index.jsx","containers/Mallas/index.jsx","redux/actions/mallaActions.js","shared/components/form/Modal.jsx","containers/Mallas/MallaForm/validate.js","containers/Mallas/MallaForm/MallaForm.jsx","containers/Mallas/MallaForm/index.jsx","redux/actions/materiaMallaActions.js","containers/AuditLog/index.jsx","containers/App/Router.jsx","index.jsx","redux/actions/userActions.js","redux/actions/loginActions.js","redux/actions/sidebarActions.js","redux/actions/usersActions.js","redux/reducers/themeReducer.js","redux/reducers/sidebarReducer.js","redux/actions/rtlActions.js","redux/reducers/rtlReducer.js","redux/reducers/loginReducer.js","redux/reducers/userReducer.js","redux/reducers/usersReducer.js","containers/App/store.js","redux/actions/themeActions.js"],"names":["__webpack_require__","d","__webpack_exports__","urlUsers","urlStudents","urlAssistances","urlStudentSubjects","urlExams","urlPeriodos","urlMateriasPeriodo","urlPlanning","urlInscripcionExamen","urlMallas","urlProfessors","concat","authParams","method","data","currentUser","JSON","parse","localStorage","getItem","params","body","stringify","headers","Content-Type","Authorization","token","checkResults","result","ok","status","json","then","error","Object","C_DATA_Development_Fiuni_IntegralFull_code_IntegralSolution_Integral_ClientApp_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","checkDownloadResults","blob","apiGet","url","fetch","apiDownload","apiDownloadPost","apiPost","apiPut","id","apiDelete","createSuccessMessage","createWarningMessage","createErrorMessage","react_notifications__WEBPACK_IMPORTED_MODULE_0__","createNotification","type","text","NotificationManager","info","success","warning","App","_this","C_DATA_Development_Fiuni_IntegralFull_code_IntegralSolution_Integral_ClientApp_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","this","C_DATA_Development_Fiuni_IntegralFull_code_IntegralSolution_Integral_ClientApp_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","C_DATA_Development_Fiuni_IntegralFull_code_IntegralSolution_Integral_ClientApp_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","call","state","loading","loaded","_this2","caches","keys","names","forEach","name","delete","console","log","e","window","addEventListener","setState","setTimeout","path","location","pathname","store","dispatch","verifyUserToken","onError","href","_this$state","react__WEBPACK_IMPORTED_MODULE_5___default","a","createElement","react_redux__WEBPACK_IMPORTED_MODULE_7__","react_router_dom__WEBPACK_IMPORTED_MODULE_8__","_ScrollToTop__WEBPACK_IMPORTED_MODULE_19__","react__WEBPACK_IMPORTED_MODULE_5__","className","fill","_Router__WEBPACK_IMPORTED_MODULE_17__","props","react_notifications__WEBPACK_IMPORTED_MODULE_9__","Component","hot","module","ScrollToTop","prevProps","scrollTo","children","PureComponent","withRouter","icon","process","TopbarSidebarButton","_this$props","changeMobileSidebarVisibility","changeSidebarVisibility","react_default","onClick","src","alt","TopbarMenuLinks","title","Link","to","TopbarMenuButton","Ava","TopbarProfile","classCallCheck","possibleConstructorReturn","getPrototypeOf","toggle","prevState","collapse","onLogoutClick","history","changeUserViewAs","logout","push","LoggedUser","fullName","AnonimousUser","isAuthenticated","ChevronDownIcon_default","Collapse","isOpen","TopbarMenuLink_TopbarMenuLinks","TopbarMenuButton_TopbarMenuButton","Topbar","changeUserView","viewPageAs","appEnvironment","topbar_TopbarSidebarButton","roles","length","value","onChange","Number","currentTarget","map","role","key","Alert","color","style","backgroundColor","label","topbar_TopbarProfile","SidebarLink","_ref","newLink","route","NavLink","activeClassName","Badge","defaultProps","SidebarCategory","isNew","categoryClass","classNames","sidebar__category-wrap","sidebar__category-wrap--open","SidebarContent","hideSidebar","showAdminMenu","show","Fragment","SidebarCategory_SidebarCategory","sidebar_SidebarLink","showStudentMenu","showProfessorMenu","showReportMenu","changeToDark","changeToLight","user","isAdminMenu","isProfessorMenu","esProfesor","esFuncionario","esAlumno","esAdmin","isStudentMenu","isReportMenu","string","PropTypes","shape","Sidebar","bool","direction","email","password","sidebar","sidebarClass","sidebar--show","sidebar--collapse","react_smooth_scrollbar_default","sidebar_SidebarContent","Layout","changeThemeToDark","changeThemeToLight","userType","_this$props2","layoutClass","layout","layout--collapse","topbar_Topbar","sidebar_Sidebar","connect","Bottombar","publicSettings","appName","appVersion","MainWrapper","theme","rtl","dir","CheckBoxField","disabled","defaultChecked","labelStyle","CheckboxClass","checkbox-btn","checked","checkedClass","labelClass","htmlFor","background","borderColor","CheckIcon_default","CloseIcon_default","renderCheckBoxField","input","_props$meta","meta","touched","CheckBox_CheckBoxField","assign","setPropsAsInitialValues","WrappedComponent","_PureComponent","_class","apply","arguments","inherits","createClass","initialValues","TextBox","placeholder","maxLength","min","max","step","_ref$meta","readOnly","onKeyPress","objectSpread","autoComplete","model","forceValidation","pattern","Confirm","question","yesLabel","otherLabel","noLabel","onConfirm","onCancel","onOther","confirmAlert","customUI","_ref2","onClose","Modal","size","modalClassName","ButtonToolbar","Button","validate","values","attrs","errors","test","isValid","LogIn","showPassword","preventDefault","handleChange","event","defineProperty","target","resetUserPassword","valid","onSuccess","resetPassword","handleSubmit","showSpinner","Spinner","width","height","showLoging","submitting","pristine","AccountOutlineIcon_default","Field","component","KeyVariantIcon_default","EyeIcon_default","aria-hidden","showResetPassword","loggingIn","onSubmit","reduxForm","form","validateForm","LogInContainer","loginAction","login","changeFormValue","onFirstLogin","components_LogInForm","FacebookIcon_default","GooglePlusIcon_default","bindActionCreators","change","newPassword","newPasswordConfirmation","FirstLogIn","showNewPassword","showNewPasswordConfirmation","tabIndex","FirstLogInContainer","submit","firstLogin","resetForm","components_FirstLogInForm","reset","CustomPagination","setPage","page","itemsCount","itemsToShow","onChangePage","totalPages","Math","ceil","render4Pages","pageOfItems","pages","i","dinamicPages","pagesToShow","from","floor","Pagination","PaginationItem","PaginationLink","ChevronDoubleLeftIcon_default","ChevronLeftIcon_default","active","ChevronRightIcon_default","ChevronDoubleRightIcon_default","render9Pages","_this$props3","React","DatePickerField","bind","assertThisInitialized","date","dateFormat","showTimeInput","react_datepicker_min_default","minDate","Date","getFullYear","selected","placeholderText","timeInputLabel","dropDownMode","showYearDropdown","showTimeSelect","CalendarBlankIcon_default","renderDatePickerField","DatePicker_DatePickerField","SelectField","selectedOption","defaultValue","options","isMulti","isClearable","isSearchable","menuIsOpen","isDisabled","styles","option","base","padding","alignTtems","display","boxSizing","multiValue","isFixed","multiValueLabel","fontWeight","paddingRight","multiValueRemove","menu","css","objectWithoutProperties","react_select_browser_esm","menuPlacement","clearable","classNamePrefix","undefined","renderSelectField","opts","slice","find","o","unshift","Select_SelectField","RenderDataTableInput","column","row","onAutoSave","editable","attributes","isNaN","inputStyle","searchProps","item","changed","onKeyDown","which","onBlur","onFocus","select","RenderSearchField","_props$searchProps","DatePicker","fontSize","DataTable","toggleSearch","showSearch","toggleAutoHide","autoHideSearch","visible","col","columns","items","getGridActions","onClearFilters","pageSize","totalItemsCount","searchable","filter","s","search","showForm","Col","md","lg","Card","CardBody","Row","xs","Form","h","Table","responsive","u","uIndex","hIndex","callback","format","actions","RenderDataTableAction","Pagination_CustomPagination","DataTableForm","TooltipItem","_useState","useState","_useState2","slicedToArray","tooltipOpen","setTooltipOpen","Tooltip","placement","LoadingSpinner","justifyContent","locales","Intl","DateTimeFormat","dateStyle","dateMMFormat","month","substring","dateDDFormat","day","dateTimeFormat","timeStyle","timeFormat","hour","minute","second","dateTimeString","toLocaleDateString","year","split","reverse","join","toLocaleTimeString","UsersContainer","fetchDatasList","fetchFormDatas","updateUserTable","filters","fetchUsers","pageInfo","r","deleteUser","userName","nombre","apellido","editUser","_this$state2","onDataTableSubmit","onDataTableClearFilters","getRoles","getColor","c","categoriasProfesores","rol","components_TooltipItem","some","arancelCero","fechaFinArancelCero","_this$state3","_this$state4","Container","components_LoadingSpinner","components_DataTable","enableReinitialize","RadioButtonField","radioValue","RadioButtonClass","radio-btn","renderRadioButtonField","RadioButton_RadioButtonField","showProfile","numeroDocumento","nacionalidad","domicilioTelefono","trabajoTelefono","emergenciaNumero","emergenciaContacto","materias","removed","materia","_ref$materia","duplicate","mat","index","m","indexOf","_error","escalafon","notas","TrueFalseValues","EditUser","showHideOtherData","showOtherData","showHideCategoriaProfesor","showCategoriaProfesor","categoriaProfesorTable","_ref2$fields","fields","_ref2$meta","submitFailed","onAddItemArray","onDeleteItemArray","onChangeText","onChangeSelect","colSpan","marginBottom","scope","categoriaProfesor","v","outline","provenienteDePuebloOriginario","saludPoseeOtraDiscapacidad","resetPasswordHandler","onBack","genero","grupoSanguineo","estadoCivil","saludPoseeDiscapacidadVisual","saludPoseeDiscapacidadAuditiva","saludPoseeDiscapacidadMotora","saludPoseeDiscapacidadCognitiva","onFilterChanges","age","paises","onRadioChanges","gruposSanguineos","estadosCiviles","generos","fechaNacimiento","_this$props$categoria","otherDataBtnClass","otherDataClass","categoriaProfesorDataClass","editMainInfo","birdDate","moment","requiredNameClass","requiredPhoneClass","g","renderRadioField","FieldArray","GruposSanguineos","Roles","Alumno","Profesor","Funcionario","Admin","EstadosCiviles","Generos","Calificaciones","desciption","InstanciaExamen","Final","Recuperatorio","Invalido","EditUserContainer","escalafonDocente","mapPaises","p","nacionalidadPaisId","domicilioPaisId","trabajoPaisId","saveUser","message","handleOnBack","goBack","handleOnFilterChange","objectKey","idKey","_this$setState","handleAddCategoriasProfesores","toConsumableArray","parentId","handleRemoveCategoriasProfesores","_this$state$categoria","newArray","handleChangeText","newCategoriasProfesores","trim","handleChangeSelect","_data","handleRadioChanges","fetchUser","dto","nacionalidadPais","domicilioPais","trabajoPais","_this$state2$categori","UserForm","reporteAlumnosFormData","res","catch","fetchStudent","StudentsContainer","updateStudentsTable","handleDeleteStudent","student","handleViewAcademicStatusStudent","editStudent","actualizarNotas","inscripcion","obtenerMisDerechos","_ref3","_ref3$pageInfo","get","_ref5","save","obj","remove","_ref12","fetchSubjectsScheduleBySubjectPeriodId","_ref14","subjectId","getSubjectStudents","downloadSubjectStudentsScore","_ref17","URL","createObjectURL","link","document","download","appendChild","click","HomeworkContainer","updateTable","filterMyHomework","materiaPeriodoId","utilizaPorcentajePesoMateria","tareaMateriaId","puntajeObtenido","puntajeTotal","HorariosTable","_ref$items","_ref$profesores","profesores","_ref$codigoClassroom","codigoClassroom","_ref$materiaPeriodo","materiaPeriodo","_ref$esAlumno","_materiaPeriodo$preRe","preRequisitos","horasSemanales","horasTeoriaSemanal","horasPracticaSemanal","horasLaboratorioSemanal","totalHorasSemanal","overflowX","lx","profesor","_ref4","dia","tipoActividadAcademicaHorario","horaInicio","horaFin","canEditarPlaneamiento","gap","semestreNro","updatePresenceStundent","_ref6","assistanceId","payload","AssistanceContainer","refreshTable","criteria","_criteria$page","_criteria$pageSize","_criteria$totalItemsC","_criteria$filters","logContent","fetchTable","subjectPeriodId","_ref2$pageInfo","fetchMy","assists","studentAssists","handleHideForm","nextPage","_this$state3$students","students","currentStudentId","findIndex","studentId","previousPage","_this$state4$students","assistanceButtons","assistanceValue","onPreviousPage","onNextPage","onPresent","onAbsent","pointerStudent","loadingAssists","columnGap","justifyItems","textAlign","description","dataTable","_this$state5","canEditTask","groupByAssistance","reference","assistanceByStudents","present","assistanceLength","attendancePerc","_ref7","reduce","_ref8","assistanceHeaders","flexDirection","_ref9","assistanceByStudent","as","aria-label","_ref10","pill","_ref11","round","loadAssistance","StudentDataContainer","getMateriaPeriodo","fetchMySubject","tab","activeTab","isInteger","paddingLeft","seccion","marginTop","sm","carrera","semestre","anho","components_HorariosTable","horarios","porcentajePP","porcentajeAsistencia","Nav","tabs","NavItem","marginRight","TabContent","TabPane","tabId","Tasks","Assistance","StudentsDashboardContainer","loadFormData","verMateria","handleSubmitCard","colors","es_Form","flexWrap","paddingTop","xl","estado","semestreNroOrden","usuario","malla","numeroLegajo","fechaIngreso","StudentForm","users","mallas","EditStudentContainer","fetchCurrentStudent","mallaId","usuarioId","fetchUserList","fetchAllUsers","fetchMallaList","Edit_StudentForm","perfilAlumnoId","InscriptionForm","subjects","onChangeStudent","onInscriptionChanges","inscripto","InscriptionContainer","fetchStudentData","fetchSubjectList","fetchStudentList","evt","materiasModificadas","subject","_this$state$students","_this$state$subjects","StudentSubjects_InscriptionForm_InscriptionForm","StudentSubjectsContainer","periodos","updateSubjectsTable","getViewPageAs","showStarIcon","viewAsAlumno","showNombre","viewAsAllowedUser","includes","_filters$periodo","periodo","_filters$numeroSemest","numeroSemestre","periodoId","showAll","endpoint","fetchStudentSubjects","enableInscription","handleDeleteSubject","inscription","codigoMateria","nombreMateria","editStudentSubject","adminInscripcion","disabledCss","infoCss","onAddToFavoritesSubmit","newState","mostrarEnTablero","getPeriodos","_this$state$periodos","nombreMalla","nombreCarrera","_ref2$cantidadTareas","cantidadTareas","alumno","_this$props$mallas","_this$props$semesters","semesters","_this$props$subjects","nombreAlumno","apellidoAlumno","_this$props$alumnos","alumnos","SubjectsInscriptionContainer","fetchCurrentStudentSubject","fetchStudentSubject","fetchAllSubjects","studentSubject","mallaNombre","semestreId","semestreNombre","materiaId","materiaCodigo","materiaNombre","fetchFormData","new","viewModel","getInscriptionAllSubjects","_ref$subjects","filterSubjects","_this$state$mallaId","_this$state$semestreI","_this$state2$mallas","_this$state2$semester","_this$state2$students","Inscription_InscriptionForm","fetchExamPrintPreview","deleteExam","anhoLectivoId","downloadAcademicStatusStudent","materiaName","tableFilters","tableKey","sessionStorage","set","setItem","ExamsContainer","periodosExamen","estadoExamen","updateExamsTable","_ref2$page","_ref2$pageSize","_ref2$filters","handleDeleteExam","examen","fecha","dateFormated","handleStampExam","exam","handleShowPreviewExam","nroActa","_materia$replace$repl","replace","it","_materia$replace$repl2","carreraName","confirmData","editExam","addButton","getSubjectColor","getStates","getPeriodosExamen","tblFilters","cantidadInscriptos","showEdit","titleEdit","tbl","_this$state6","_this$state7","getFormData","idExamen","loadStudents","fetchMyExams","loadMisDerechos","derechos","codigo","codMateria","fechaExamen","fechaInscripcion","instancia","calificacion","calificacionObj","_this$state4$derechos","StudentExamInscriptionContainer","inscribirme","examenId","getDate","getInstanciaColor","getParametroColor","_ref2$item","pp","asis","parametro","fechaLimiteInscripcionExamen","fechaInscripcionMateria","motivo","validatePercentage","parseFloat","alumnoObj","porcentajePF","porcentajePC","ca","InscriptionFormContainer","fetchInscriptionExamen","getInscripcionExamen","anioInscripcion","toLocaleString","_values$alumnoObj","handleOnStudentChange","InscripcionExamen_InscriptionForm","onAlumnoChanges","AddInscriptionForm","getShowQuantities","onStudentEnrollmentChanges","handleFilterChangeText","filterValue","Label","paddingBottom","for","doc","debounce","mainFunction","delay","timer","_len","args","Array","_key","clearTimeout","AddInscriptionFormContainer","_ref$loadStudents","_ref$filterValue","_ref2$alumnos","_values$alumnos","inscripcionExamenSaves","alumnosToShow","alignItems","editedStudentEnrollments","newAlumnos","elementsIndex","studentEnrollment","_this$state$alumnos","transformText","normalize","toLowerCase","getAlumnos","_this$state2$filterVa","sortColumn","sortType","_this$state2$alumnos","tma","sort","b","localeCompare","onShowOnlyEnrolledChanges","debouncedHandleFilterChangeText","_this$state3$examen","_examen$materia","InscripcionExamen_AddInscriptionForm","interventor","interventorAuxiliar","ExamForm","showScore","autoguardarNota","trow","inscriptos","_row$key","inscripcionId","handleActualizarNotasProfesor","editExamInscription","addExamInscription","deleteExamInscription","handleDeleteInscription","_this$props$estado","handleShowPreviewRecuperatorioExam","handleDownloadRespaldoDocente","_materia$label$replac","_materia$label$replac3","_materia$label$replac4","printFinalButton","_this$props3$instanci","instanciasExamen","printAllButton","_this$props4","printRecuperatorioButton","_this$props5","_this$props5$instanci","_this$props5$inscript","descargarRespaldoDocenteButton","_this$props6","_this$props6$materia","scoreInputStyle","canEdit","score","_this$props7","_this$props7$profesor","carreras","onSubjectChanges","periodosLectivos","fechaLimiteInscripcion","_this$props7$carrera","_this$props7$periodo","_this$props7$periodoL","periodoLectivo","_this$props7$materia","_this$props7$interven","_this$props7$interven2","ExamFormContainer","fetchCurrentExam","toISOString","fetchExam","interventorId","interventorAuxiliarId","carreraId","periodoLectivoId","aula","newInscriptos","_objectSpread2","_objectSpread3","profesorId","_objectSpread4","filtrarMaterias","handleOnSubjectChange","_objectSpread5","_this$state$carreras","_this$state$instancia","Exams_ExamForm_ExamForm","PreviewFormContainer","instanciaExamen","getCalificacionText","print","fontFamily","align","lineHeight","pageBreakAfter","face","fontSze","toUpperCase","marginLeft","textIndent","fontVariant","lang","cellPadding","cellSpacing","valign","rowSpan","textTransform","getValue","number","ciLabel","ExampleCard","MateriasPage","components_ExampleCard","MallaPage","ExampleTwo_components_ExampleCard","MateriaPeriodoContainer","_ref$pageInfo","handleDeleteAction","record","edit","tieneHorario","UncontrolledPopover","trigger","PopoverHeader","PopoverBody","ObjetivosMateriaTable","_ref$fields","deleted","maxHeight","objetivo","minHeight","autofocus","CronogramaClasesTable","_","newValue","PracticaLaboratorioTable","multiple","sx","ProyectoTrabajoPracticoTable","duracionActividad","ActividadComplementariaTable","val","contribucionMateria","fundamentacionMateria","valoresContemplados","metodologiaEnsenhanza","estrategiasEvauacion","objetivosMaterias","bibliografiaBasica","cronogramaClases","practicasLaboratorios","proyectosTrabajosPracticos","contenidos","profesorMateria","unidad","actividad","descripcion","duracion","evaluacion","actividadesComplementarias","descripcionActividad","beneficiarios","fechas","cantidadHoras","PlaneamientoForm","buttonToolbar","createPlanning","loadingPage","finEditarPlaneamiento","showPlanning","listProfesores","page1","page2","page3","page4","page5","page6","page7","page8","page9","_this$props3$horarios","_this$props3$profesor","_this$props3$preRequi","_this$props7$cronogra","_this$props8","_this$props8$practica","_this$props8$duracion","_this$props9","_this$props9$proyecto","_this$props9$duracion","_this$props10","_this$props10$activid","_this$props11","_this$props12","_this$props12$horario","_this$props12$profeso","onDownload","IndexContainer","handleDownload","planningId","fetchCurrentRecord","getPlanning","planning","setPlanning","DuracionActividad","handleAddItemArray","newIndex","handleDeleteItemArray","_ref5$index","prev","_values$cronogramaCla","paylaod","savePlanning","entries","flatMap","_planning$objetivosMa","_planning$cronogramaC","_planning$practicasLa","_planning$proyectosTr","_planning$actividades","_planning$profesores","oldPlanning","components_form","profesorAuxiliar1","profesorAuxiliar2","profesorAuxiliar3","MateriaPeriodoForm","getOptionsTipoActividadAcademica","tipoActividadAcademica","tipoActividadAcademicaHorarios","taa","onGetAlumnosMateria","getProfesoresMateria","renderHorarios","_ref$tipoActividadAca","_ref$diasSemana","diasSemana","_ref$horarios","onAddSubjectsSchedule","onDeleteSubjectSchedule","profesoresMateria","horario","onInputChange","handleInputChange","planeamientoForm","Profesor_PlaneamientoForm","calculatePPFromTasks","cols","editarNotas","onDownloadAlumnosMateriaNotas","editarAsistencias","loadingAlumnosMateria","inline","showAssistPercentageInScores","downloadAlumnosMateriaNotas","materiaMalla","updateAlumnosMateria","handleAddSubjectsSchedule","_this$state$horarios","handleDeleteSubjectSchedule","_this$state$horarios2","fetchSubjects","meshId","_ref13","fetchSubjectsByMeshId","materiaMallaId","profesorAuxiliar1Id","profesorAuxiliar2Id","profesorAuxiliar3Id","handleOnFilterChanges","updateSubjectsScheduleTable","newHorarios","horarioChanged","getTime","EditForm_MateriaPeriodoForm","ProfesorDashboardContainer","ProfesorSubjectsContainer","viewAsProfesor","viewAsAdmin","getSubjects","editRow","_onError","asyncToGenerator","regenerator_default","mark","_callee","wrap","_context","next","stop","_x","t0","t1","sent","ToggleButtonField","renderToggleButtonField","ToggleButton_ToggleButtonField","_ref$descripcion","_ref$puntajeTotal","_ref$fechaEntrega","fechaEntrega","StudentsScoresTable","onSort","editScore","tarea","HomeworkForm","handleSort","tareaMateriaAlumnos","finCalificarTareas","FormGroup","getHomework","porcentajePesoMateria","tareaId","onHideForm","debouncedAutoSaveScore","getTareaMateriaAlumnos","_this$state$filterVal","_this$state$tarea$tar","autoSaveScore","scoreStudent","inscripcionMateriaId","HomeworkForm_form","filterHomework","recordId","handleChangeChecked","checkBoxLabelStyle","Homework_HomeworkForm","margin","_ref$date","StudentAssistancesTable","onChangeChecked","thStyle","surname","AssistanceForm","logContents","room","AssistanceFormContainer","getAssistance","_ref2$students","assistance","_values$logContent","_values$present","logContentId","_ref3$payload","_ref4$target","debouncedAutoSavePresent","_ref7$target","getStudents","_this$state$assistanc","autoSavePresent","assistanceForm","Form_form","FormModal","_props$onCancel","getState","maxWidth","es","react","AssistValues","OwnerPopover","onGetAssistance","onGetCurrentStudent","_React$useState","_React$useState2","open","setOpen","_React$useState3","_React$useState4","setAssistance","Popover","flip","handlePresent","handleAbsent","_ref7$students","refreshFormDatas","fetchAll","showFormModal","editAssistance","_ref11$id","_this$state5$students","getCurrentStudent","_this$state6$students","studentIndex","rowGap","_students$studentInde","_students$studentInde2","_AssistValues$filter","studentAssistanceForm","_this$state8","Assistance_Form","studentAssistanceFormModal","_this$state9","_this$state10","_ref16","_ref18","_ref19","_ref20","_ref15","_ref21","_ref22","_ref23","_this$state11","EditarNotasDialog","inscripcionMateria","onValueChanges","_inscripcionMateria$p","_inscripcionMateria$p2","persist","getElementById","textContent","noValidate","required","ProfessorDataContainer","refreshTables","updateMateriaPeriodo","handleChangeUtilizaPorcentajePesoMateria","allow","tareas","currentInscription","downloadAlumnosMateria","downloadSubjectStudents","getStutus","stump","_this$state$materiaPe","columnsStudents","scores","t","_ref3$calificaciones","calificaciones","puntaje","Homework","containers_Assistance","periods","getPeriods","downloadAlumnos","downloadStudentsInscriptos","StudentSubjectFilterForm","semestres","onFilter","formData","distinctMaterias","self","x","todasLasMaterias","_this$setState2","handleOnFilter","descargarReporteAlumnosPorMaterias","FilterForm","StudentFilterForm","downloadStudents","ReporteAlumnos_FilterForm","AcademicStatusForm","getScoreName","pop","getScoreSubject","semester","calificacionesMaterias","verticalAlign","getScoreDetails","direccion","calificacionesSemestres","xm","borderless","parseInt","NumberFormat","se","bordered","AcademicStatusContainer","_this$props$id","reporteAcademicStatusStudent","AcademicStatus_AcademicStatusForm","PeriodosContainer","updatePeriodosTable","handleDeletePeriodo","editPeriodo","columnStyle","activo","inicioClases","finClases","inicioPeriodoInscripcion","finPeriodoInscripcion","esSemestrePar","anhoLectivo","PeriodoForm","agregarOquitarMaterias","editMateriaPeriodo","deleteMateriaPeriodo","handleDeleteMateriaPeriodo","onCarreraChanges","filterMaterias","getCarreras","aniosLectivos","PeriodoFormContainer","removeMateriaPeriodo","Periodos_PeriodoForm_PeriodoForm","onMateriaPeriodoChanges","fetchEditSubjectsFormData","EditarMateriasForm","idPeriodo","MateriaPeriodo_MateriaPeriodoForm","MallasContainer","updateMallasTable","handleDeleteMalla","editMalla","fechaVigencia","usarPorDefecto","ModalComponent","getIcon","modal","btn","colored","header","modalClass","modal-dialog--colored","modal-dialog--header","MallaForm","editMateriaMalla","deleteMateriaMalla","handleDeleteMateriaMalla","handleOkModal","handleCancelModal","MallaFormContainer","Mallas_MallaForm_MallaForm","AuditLogContainer","fetchAllUAuditLog","auditTypes","getAuditTypes","showData","tipo","userId","getUrlId","match","getUrlIdDetail","idDetail","Pages","Switch","Route","exact","render","Edit","Students_Edit","StudentSubjects","StudentData","StudentSubjects_InscriptionForm","Inscription","StudentsDashboard","StudentExamInscription","MyExamsContainer","AddIndex","InscripcionExamen","Exams_ExamForm","ShowFinalReport","ShowRecuperatorioReport","ShowAllReport","ExamplePageOne","ExamplePageTwo","MateriasPeriodo","EditForm","PeriodoContainer","Periodos_PeriodoForm","MateriaPeriodo","EditarMaterias","MallaContainer","Mallas_MallaForm","ProfesorDashboard","ProfesorSubjects","ProfessorData","ReporteInscripcion","ReporteAlumnos","AcademicStatus","ReporteAlumnosPorMaterias","wrappedRoutes","containers_Layout","bottombar_Bottombar","Router","App_MainWrapper","innerProps","containers_LogIn","containers_FirstLogIn","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","react_dom__WEBPACK_IMPORTED_MODULE_1__","_containers_App_App__WEBPACK_IMPORTED_MODULE_2__","CREATE_NEW_USER","SET_USER_VALUE","FETCH_USER_LOADING","FETCH_USER_SUCCESS","FETCH_USER_FAILED","POST_USER_LOADING","POST_USER_SUCCESS","POST_USER_FAILED","_api_index__WEBPACK_IMPORTED_MODULE_0__","_api_urls__WEBPACK_IMPORTED_MODULE_1__","currentUserSubject","BehaviorSubject","SET_LOGIN_VALUE","LOGIN_LOADING","LOGIN_SUCCESS","LOGIN_FAILED","LOGOUT","loginLoading","loginSuccess","loginFailed","getLoginData","storeUserLogin","loginData","removeItem","response","CHANGE_SIDEBAR_VISIBILITY","CHANGE_MOBILE_SIDEBAR_VISIBILITY","CHANGE_USER_VIEW_AS","FETCH_USERS_LOADING","FETCH_USERS_SUCCESS","FETCH_USERS_FAILED","initialState","themeReducer","CHANGE_THEME_TO_DARK","CHANGE_THEME_TO_LIGHT","defaultView","sidebarReducer","action","CHANGE_DIRECTION_TO_LTR","CHANGE_DIRECTION_TO_RTL","rtlReducer","loginReducer","initialValue","userReducer","usersReducer","createStore","combineReducers","reducers","composeWithDevTools","applyMiddleware","thunk"],"mappings":"yFAAAA,EAAAC,EAAAC,EAAA,sBAAAC,IAAAH,EAAAC,EAAAC,EAAA,sBAAAE,IAAAJ,EAAAC,EAAAC,EAAA,sBAAAG,IAAAL,EAAAC,EAAAC,EAAA,sBAAAI,IAAAN,EAAAC,EAAAC,EAAA,sBAAAK,IAAAP,EAAAC,EAAAC,EAAA,sBAAAM,IAAAR,EAAAC,EAAAC,EAAA,sBAAAO,IAAAT,EAAAC,EAAAC,EAAA,sBAAAQ,IAAAV,EAAAC,EAAAC,EAAA,sBAAAS,IAAAX,EAAAC,EAAAC,EAAA,sBAAAU,IAAAZ,EAAAC,EAAAC,EAAA,sBAAAW,IAAO,IACMV,EAAQ,GAAAW,OADE,OACF,aACRV,EAAW,GAAAU,OAFD,OAEC,aACXT,EAAc,GAAAS,OAHJ,OAGI,gBACdR,EAAkB,GAAAQ,OAJR,OAIQ,oBAClBP,EAAQ,GAAAO,OALE,OAKF,UACRN,EAAW,GAAAM,OAND,OAMC,aACXL,EAAkB,GAAAK,OAPR,OAOQ,oBAClBJ,EAAW,GAAAI,OARD,OAQC,aACXH,EAAoB,GAAAG,OATV,OASU,sBAIpBF,GAHa,GAAAE,OAVH,OAUG,eACF,GAAAA,OAXD,OAWC,aACA,GAAAA,OAZD,OAYC,aACF,GAAAA,OAbC,OAaD,YACTD,EAAa,GAAAC,OAdH,OAcG,2PCdpBC,EAAa,SAACC,EAAQC,GAC1B,IAAMC,EAAcC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GACjEC,EAAS,CACbP,UAWF,OATIC,IACFM,EAAOC,KAAOL,KAAKM,UAAUR,IAE3BC,IACFK,EAAOG,QAAU,CACfC,eAAgB,mBAChBC,cAAa,UAAAd,OAAYI,EAAYW,SAGlCN,GAGHO,EAAe,SAACC,GACpB,GAAIA,EAAOC,GACT,OAAyB,MAAlBD,EAAOE,OAAiB,GAAKF,EAAOG,OAC3C,GAAsB,MAAlBH,EAAOE,OACX,OAAOF,EAAOG,OAAOC,KAAK,SAACC,GAMzB,MALQC,OAAAC,EAAA,EAAAD,CAAA,GACHD,EADG,CAENH,OAAQF,EAAOE,WAMrB,MAAMF,GAGFQ,EAAuB,SAACR,GAC5B,GAAIA,EAAOC,GACT,OAAOD,EAAOS,OACd,GAAsB,MAAlBT,EAAOE,OACX,OAAOF,EAAOG,OAAOC,KAAK,SAACC,GACzB,MAAMA,IAGV,MAAML,GAGKU,EAAS,SAAAC,GAAG,OAAIC,MAAMD,EAAK3B,EAAW,MAAO,OAAOoB,KAAKL,IACzDc,EAAc,SAAAF,GAAG,OAAIC,MAAMD,EAAK3B,EAAW,MAAO,OAAOoB,KAAKI,IAC9DM,EAAkB,SAACH,EAAKzB,GAAN,OAAe0B,MAAMD,EAAK3B,EAAW,OAAQE,IAAOkB,KAAKI,IAC3EO,EAAU,SAACJ,EAAKzB,GAAN,OAAe0B,MAAMD,EAAK3B,EAAW,OAAQE,IAAOkB,KAAKL,IACnEiB,EAAS,SAACL,EAAKM,EAAI/B,GAAV,OAAmB0B,MAAK,GAAA7B,OAAI4B,EAAJ,KAAA5B,OAAWkC,GAAMjC,EAAW,MAAOE,IAAOkB,KAAKL,IAChFmB,EAAY,SAAAP,GAAG,OAAIC,MAAMD,EAAK3B,EAAW,SAAU,OAAOoB,KAAKL,0DCjD5E9B,EAAAC,EAAAC,EAAA,sBAAAgD,IAAAlD,EAAAC,EAAAC,EAAA,sBAAAiD,IAAAnD,EAAAC,EAAAC,EAAA,sBAAAkD,IAAA,IAAAC,EAAArD,EAAA,IASasD,EAAqB,SAACC,EAAMC,GACvC,OAAQD,GACN,IATuB,OAUrBE,sBAAoBC,KAAK,OAAQF,GAAQ,IACzC,MACF,IAX0B,UAYxBC,sBAAoBE,QAAQ,GAAIH,GAAQ,IACxC,MACF,IAb0B,UAcxBC,sBAAoBG,QAAQ,cAAeJ,GAAQ,IACnD,MACF,IAfwB,QAgBtBC,sBAAoBrB,MAAM,QAASoB,GAAQ,uDAQpCN,EAAuB,SAAAM,GAAI,OAAIF,EA1Bd,UA0BiDE,IAClEL,EAAuB,SAAAK,GAAI,OAAIF,EA1Bd,UA0BiDE,IAClEJ,EAAqB,SAAAI,GAAI,OAAIF,EA1Bd,QA0B+CE,wOCZrEK,cACJ,SAAAA,IAAc,IAAAC,EAAA,OAAAzB,OAAA0B,EAAA,EAAA1B,CAAA2B,KAAAH,IACZC,EAAAzB,OAAA4B,EAAA,EAAA5B,CAAA2B,KAAA3B,OAAA6B,EAAA,EAAA7B,CAAAwB,GAAAM,KAAAH,QACKI,MAAQ,CACXC,SAAS,EACTC,QAAQ,GAJER,mFAQM,IAAAS,EAAAP,KAClB,IACEQ,OAAOC,OAAOtC,KAAK,SAACuC,GAClBA,EAAMC,QAAQ,SAACC,GACbJ,OAAOK,OAAOD,OAIlBE,QAAQC,IAAI,0BACZ,MAAOC,GACPF,QAAQ1C,MAAM4C,GAGhBC,OAAOC,iBAAiB,OAAQ,WAC9BX,EAAKY,SAAS,CAAEd,SAAS,IACzBe,WAAW,kBAAMb,EAAKY,SAAS,CAAEb,QAAQ,KAAS,OAflC,IAiBYe,EAAWJ,OAAjCK,SAAYC,SACL,KAATF,GAAwB,MAATA,GAAyB,YAATA,GACnCG,IAAMC,SAASC,YAAgB,CAC7BC,QAAS,WACPzC,YAAqB,SACrB+B,OAAOK,SAASM,KAAQ,yCAMvB,IAAAC,EACqB7B,KAAKI,MAAzBE,EADDuB,EACCvB,OAAQD,EADTwB,EACSxB,QAChB,OACEyB,EAAAC,EAAAC,cAACC,EAAA,EAAD,CAAUT,MAAOA,KACfM,EAAAC,EAAAC,cAACE,EAAA,EAAD,KACEJ,EAAAC,EAAAC,cAACG,EAAA,EAAD,KACEL,EAAAC,EAAAC,cAACI,EAAA,SAAD,MACI9B,GAEEwB,EAAAC,EAAAC,cAAA,OAAKK,UAAS,OAAAvF,OAASuD,EAAU,GAAK,YACpCyB,EAAAC,EAAAC,cAAA,OAAKK,UAAU,mBACbP,EAAAC,EAAAC,cAAA,OAAKK,UAAU,cACbP,EAAAC,EAAAC,cAAA,QAAMM,KAAK,UAAUrG,EAAE,kDAMjC6F,EAAAC,EAAAC,cAAA,WACEF,EAAAC,EAAAC,cAACO,EAAA,EAAD,CAAQC,MAAOxC,KAAKwC,QACpBV,EAAAC,EAAAC,cAACS,EAAA,sBAAD,kBAzDEC,aAmEHC,kBAAIC,EAAJD,CAAY9C,mHClFrBgD,6LAQeC,GACI9C,KAAKwC,MAAlBlB,SACKC,WAAauB,EAAUxB,SAASC,UAC3CN,OAAO8B,SAAS,EAAG,oCAMrB,OADqB/C,KAAKwC,MAAlBQ,gBAhBcC,iBAqBXC,gBAAWL,kKCtBpBM,EAAI,GAAArG,OAAMsG,GAAN,mBAwBKC,mLAhBJ,IAAAC,EAC4DtD,KAAKwC,MAAhEe,EADDD,EACCC,8BAA+BC,EADhCF,EACgCE,wBAEvC,OACEC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,yCAAyCqB,QAASF,GAChFC,EAAA1B,EAAAC,cAAA,OAAK2B,IAAKR,EAAMS,IAAI,GAAGvB,UAAU,yBAEnCoB,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,wCAAwCqB,QAASH,GAC/EE,EAAA1B,EAAAC,cAAA,OAAK2B,IAAKR,EAAMS,IAAI,GAAGvB,UAAU,iCAfTY,qDCDbY,mLAOV,IAAAP,EACuBtD,KAAKwC,MAA3BsB,EADDR,EACCQ,MAAOX,EADRG,EACQH,KAAM9B,EADdiC,EACcjC,KAErB,OACEoC,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,eAAe2B,GAAI3C,GACjCoC,EAAA1B,EAAAC,cAAA,QAAMK,UAAS,6BAAAvF,OAA+BqG,KAC9CM,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,sBAAsByB,WAbEb,iBCDxBgB,mLAOV,IAAAX,EAC0BtD,KAAKwC,MAA9BsB,EADDR,EACCQ,MAAOX,EADRG,EACQH,KAAMO,EADdJ,EACcI,QAErB,OACED,EAAA1B,EAAAC,cAAA,UAAQK,UAAU,eAAe9C,KAAK,SAASmE,QAASA,GACtDD,EAAA1B,EAAAC,cAAA,QAAMK,UAAS,6BAAAvF,OAA+BqG,KAC9CM,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,sBAAsByB,WAbGb,yCCQxCiB,EAAG,GAAApH,OAAMsG,GAAN,mBAEHe,cAKJ,SAAAA,IAAc,IAAArE,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAmE,IACZrE,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA8F,GAAAhE,KAAAH,QAMFuE,OAAS,WACPzE,EAAKqB,SAAS,SAAAqD,GAAS,MAAK,CAAEC,UAAWD,EAAUC,aARvC3E,EAWd4E,cAAgB,WAAM,IACZC,EAAY7E,EAAK0C,MAAjBmC,QACRnD,IAAMC,SAASmD,YAAiB,IAChCpD,IAAMC,SAASoD,eACfF,EAAQG,KAAK,MAbbhF,EAAKM,MAAQ,CACXqE,UAAU,GAHA3E,wEAkBL,IACC2E,EAAazE,KAAKI,MAAlBqE,SAEFvH,EAAcC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GACjEyH,EACJtB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,uBAAuBnF,EAAY8H,UAE5CC,EACJxB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,uBAAb,sBAGF,OACEoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mBACboB,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,iBAAiBqB,QAAS1D,KAAKuE,QAC7Dd,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qBAAqBsB,IAAKO,EAAKN,IAAI,WACjD1G,EAAYgI,gBAAkBH,EAAaE,EAC5CxB,EAAA1B,EAAAC,cAACmD,EAAApD,EAAD,CAAUM,UAAU,kBAErBoC,GAAYhB,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,eAAeqB,QAAS1D,KAAKuE,SAC1Ed,EAAA1B,EAAAC,cAACoD,EAAA,EAAD,CAAUC,OAAQZ,EAAUpC,UAAU,qBACpCoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,gBACboB,EAAA1B,EAAAC,cAACsD,EAAD,CAAgBxB,MAAM,YAAYX,KAAK,OAAO9B,KAAK,8BACnDoC,EAAA1B,EAAAC,cAACsD,EAAD,CAAgBxB,MAAM,eAAeX,KAAK,OAAO9B,KAAK,4BACtDoC,EAAA1B,EAAAC,cAACsD,EAAD,CAAgBxB,MAAM,WAAWX,KAAK,QAAQ9B,KAAK,eACnDoC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACfoB,EAAA1B,EAAAC,cAACuD,EAAD,CAAkBzB,MAAM,QAAQX,KAAK,OAAOO,QAAS1D,KAAK0E,cAAerD,KAAK,gBAhD9D4B,iBAwDbC,cAAWiB,GCAXqB,mLApDJ,IAAAlC,EAOHtD,KAAKwC,MALPe,EAFKD,EAELC,8BACAC,EAHKF,EAGLE,wBACAiC,EAJKnC,EAILmC,eACAC,EALKpC,EAKLoC,WACAC,EANKrC,EAMLqC,eAGIzI,EAAcC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GAEvE,OACEmG,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,UACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,gBACboB,EAAA1B,EAAAC,cAAC4D,EAAD,CACErC,8BAA+BA,EAC/BC,wBAAyBA,IAE3BC,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,eAAe2B,GAAG,uBAClCP,EAAA1B,EAAAC,cAAA,QAAMK,UAAWnF,EAAY2I,MAAMC,OAAS,EAAI,eAAiB,UAC/DrC,EAAA1B,EAAAC,cAAA,uBACAyB,EAAA1B,EAAAC,cAAA,UACEK,UAAU,6BACV0D,MAAK,GAAAjJ,OAAK4I,GACVM,SAAU,SAAAhF,GAAC,OAAIyE,EAAeQ,OAAOjF,EAAEkF,cAAcH,UAEpD7I,EAAY2I,MAAMM,IAAI,SAAAC,GAAI,OACzB3C,EAAA1B,EAAAC,cAAA,UAAQqE,IAAG,QAAAvJ,OAAUsJ,EAAKA,MAAQL,MAAOK,EAAKA,MAAOA,EAAKtC,YAKhE6B,GAA2C,SAAzBA,EAAeI,OAC/BtC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,kBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,gBACdoB,EAAA1B,EAAAC,cAACsE,EAAA,EAAD,CAAOC,MAAM,SAASC,MAAO,CAAEC,gBAAiB,cAC9ChD,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAcsD,EAAee,UAMrDjD,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAC2E,EAAD,gBArDS1D,qDCHf2D,EAAc,SAAAC,GAAA,IAClB/C,EADkB+C,EAClB/C,MAAOX,EADW0D,EACX1D,KAAM2D,EADKD,EACLC,QAASC,EADJF,EACIE,MAAOrD,EADXmD,EACWnD,QADX,OAGlBD,EAAA1B,EAAAC,cAACgF,EAAA,EAAD,CACEhD,GAAI+C,EACJrD,QAASA,EACTuD,gBAAgB,wBAEhBxD,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACXc,EAAOM,EAAA1B,EAAAC,cAAA,QAAMK,UAAS,8BAAAvF,OAAgCqG,KAAa,GACpEM,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,uBACVyB,EACAgD,EAAUrD,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAO7E,UAAU,uBAAsBoB,EAAA1B,EAAAC,cAAA,oBAA2B,OAcrF4E,EAAYO,aAAe,CACzBhE,KAAM,GACN2D,SAAS,EACTC,MAAO,IACPrD,QAAS,cAGIkD,QCjCMQ,cAiBnB,SAAAA,IAAc,IAAAtH,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAoH,IACZtH,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA+I,GAAAjH,KAAAH,QAMFuE,OAAS,WACPzE,EAAKqB,SAAS,SAAAqD,GAAS,MAAK,CAAEC,UAAWD,EAAUC,aANnD3E,EAAKM,MAAQ,CACXqE,UAAU,GAHA3E,wEAWL,IAAAwD,EAGHtD,KAAKwC,MADPsB,EAFKR,EAELQ,MAAOX,EAFFG,EAEEH,KAAMkE,EAFR/D,EAEQ+D,MAAOrE,EAFfM,EAEeN,SAEdyB,EAAazE,KAAKI,MAAlBqE,SACF6C,EAAgBC,IAAW,CAC/BC,0BAA0B,EAC1BC,+BAAgChD,IAGlC,OACEhB,EAAA1B,EAAAC,cAAA,OAAKK,UAAWiF,GACd7D,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,kCAAkCqB,QAAS1D,KAAKuE,QAC7EpB,EAAOM,EAAA1B,EAAAC,cAAA,QAAMK,UAAS,8BAAAvF,OAAgCqG,KAAa,GACpEM,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,uBAAuByB,EACjCuD,GAAS5D,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,2BAE5BoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,kDAElBoB,EAAA1B,EAAAC,cAACoD,EAAA,EAAD,CAAUC,OAAQZ,EAAUpC,UAAU,yBACpCoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,oBACZoB,EAAA1B,EAAAC,cAAA,WACGgB,aAlD8BN,aAAxB0E,EAYZD,aAAe,CACpBhE,KAAM,GACNkE,OAAO,OC4IIK,6MAlJbC,YAAc,YAEZjE,EADoB5D,EAAK0C,MAAjBkB,cAIVkE,cAAgB,SAAAC,GAAI,OAClBA,EACEpE,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAC+F,EAAD,CAAiBjE,MAAM,oBAAwBX,KAAK,WAClDM,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,WAAWiD,MAAM,eAAerD,QAAS5D,EAAK6H,cACjElE,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,WAAWiD,MAAM,aAAarD,QAAS5D,EAAK6H,cAC/DlE,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,WAAWiD,MAAM,aAAarD,QAAS5D,EAAK6H,cAC/DlE,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,uBAAuBiD,MAAM,0BAA0BrD,QAAS5D,EAAK6H,cACxFlE,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,WAAWiD,MAAM,kBAAkBrD,QAAS5D,EAAK6H,cACpElE,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,SAASiD,MAAM,gBAAgBrD,QAAS5D,EAAK6H,cAChElE,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,eAAmBiD,MAAM,mBAAmBrD,QAAS5D,EAAK6H,eAE/ElE,EAAA1B,EAAAC,cAAC+F,EAAD,CAAiBjE,MAAM,UAAUX,KAAK,WACpCM,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,cAAciD,MAAM,kBAAkBrD,QAAS5D,EAAK6H,cACvElE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,yBACNiD,MAAM,0BACNrD,QAAS5D,EAAK6H,cAEhBlE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,gCACNiD,MAAM,6BACNrD,QAAS5D,EAAK6H,cAEhBlE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,qBACNiD,MAAM,yBACNrD,QAAS5D,EAAK6H,cAEhBlE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,6BACNiD,MAAM,sCACNrD,QAAS5D,EAAK6H,cAEhBlE,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,WAAWiD,MAAM,eAAerD,QAAS5D,EAAK6H,eAEnElE,EAAA1B,EAAAC,cAAC+F,EAAD,CAAiBjE,MAAM,aAAaX,KAAK,WACvCM,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,aAAaiD,MAAM,aAAarD,QAAS5D,EAAK6H,cACjElE,EAAA1B,EAAAC,cAACgG,EAAD,CAAalE,MAAM,qBAAqBiD,MAAM,aAAarD,QAAS5D,EAAK6H,gBAG3E,QAGNM,gBAAkB,SAAAJ,GAAI,OACpBA,EACEpE,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,UACNiD,MAAM,2BACNrD,QAAS5D,EAAK6H,cAEhBlE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,eACNiD,MAAM,0BACNrD,QAAS5D,EAAK6H,cAEhBlE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,eACNiD,MAAM,uBACNrD,QAAS5D,EAAK6H,eAGhB,QAGNO,kBAAoB,SAAAL,GAAI,OACtBA,EACEpE,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,UACNiD,MAAM,4BACNrD,QAAS5D,EAAK6H,cAGhBlE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,eACNiD,MAAM,2BACNrD,QAAS5D,EAAK6H,cAGhBlE,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,eACNiD,MAAM,eACNrD,QAAS5D,EAAK6H,eAGhB,QAGNQ,eAAiB,SAAAN,GAAI,OACnBA,EACEpE,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAC+F,EAAD,CAAiBjE,MAAM,UAAUX,KAAK,WACpCM,EAAA1B,EAAAC,cAACgG,EAAD,CACElE,MAAM,sBACNiD,MAAM,yCACNrD,QAAS5D,EAAK6H,gBAIlB,8EAGG,IAAArE,EAC6CtD,KAAKwC,MAAjD4F,EADD9E,EACC8E,aAAcC,EADf/E,EACe+E,cAAe3C,EAD9BpC,EAC8BoC,WAC/B4C,EAAOnL,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GAE1DiL,EAA6B,IAAf7C,GAAmC,IAAfA,EAElC8C,EAAkBF,EAAKG,aACR,IAAf/C,GAAqB4C,EAAKG,aAAeH,EAAKI,gBAAkBJ,EAAKK,WAAaL,EAAKM,SAEvFC,EAAgBP,EAAKK,WACN,IAAfjD,GAAqB4C,EAAKK,WAAaL,EAAKI,gBAAkBJ,EAAKG,aAAeH,EAAKM,SAEvFE,EAAeD,GAAiBN,EAEtC,OACE9E,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,kBACZoB,EAAA1B,EAAAC,cAAC+F,EAAD,CAAiBjE,MAAM,OAAOX,KAAK,UACjCM,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,gBAAgBqB,QAAS2E,GACvD5E,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,uBAAb,eAEFoB,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,gBAAgBqB,QAAS0E,GACvD3E,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,uBAAb,kBAINoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,kBACXrC,KAAK4H,cAAcW,GACnBvI,KAAKiI,gBAAgBY,GACrB7I,KAAKkI,kBAAkBM,GACvBxI,KAAKmI,eAAeW,YAnJFpG,6BCF3BqG,EACEC,IADFD,OAAQE,EACND,IADMC,MC8CKC,GD3CaD,EAAM,CAChCpB,KAAMmB,IAAUG,KAChB1E,SAAUuE,IAAUG,OAGIF,EAAM,CAC9B5G,UAAW0G,IAGWE,EAAM,CAC5BG,UAAWL,IAGaE,EAAM,CAC9BI,MAAON,EACPO,SAAUP,ICdI,SAAAlC,GAEV,IADJuB,EACIvB,EADJuB,aAAcC,EACVxB,EADUwB,cAAe9E,EACzBsD,EADyBtD,8BAA+BgG,EACxD1C,EADwD0C,QAAS7D,EACjEmB,EADiEnB,WAE/D8D,EAAejC,IAAW,CAC9BgC,SAAS,EACTE,gBAAiBF,EAAQ1B,KACzB6B,oBAAqBH,EAAQ9E,WAG/B,OACEhB,EAAA1B,EAAAC,cAAA,OAAKK,UAAWmH,GACd/F,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,gBAAgBqB,QAASH,IACzDE,EAAA1B,EAAAC,cAAC2H,EAAA5H,EAAD,CAAWM,UAAU,0BACnBoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,8CACboB,EAAA1B,EAAAC,cAAC4H,EAAD,CACElG,QAAS,aACT0E,aAAcA,EACdC,cAAeA,EACf3C,WAAYA,KAGhBjC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,6CACboB,EAAA1B,EAAAC,cAAC4H,EAAD,CACElG,QAASH,EACT6E,aAAcA,EACdC,cAAeA,EACf3C,WAAYA,iBCjBlBmE,6MAQJrG,wBAA0B,YAExB/B,EADqB3B,EAAK0C,MAAlBf,UACC+B,kBAGXD,8BAAgC,YAE9B9B,EADqB3B,EAAK0C,MAAlBf,UACC8B,kBAGX6E,aAAe,YAEb3G,EADqB3B,EAAK0C,MAAlBf,UACCqI,kBAGXzB,cAAgB,YAEd5G,EADqB3B,EAAK0C,MAAlBf,UACCsI,kBAGXtE,eAAiB,SAACuE,GAAa,IAAA1G,EACCxD,EAAK0C,MAA3Bf,EADqB6B,EACrB7B,SAAUkD,EADWrB,EACXqB,QAClBlD,EAASmD,YAAiBoF,IAC1B,IAAM1B,EAAOnL,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GAC/C,IAAb0M,GAAkB1B,EAAKK,SACzBhE,EAAQG,KAAK,4BACS,IAAbkF,GAAkB1B,EAAKG,WAChC9D,EAAQG,KAAK,6BAEbH,EAAQG,KAAK,uFAIR,IAAAmF,EAC6BjK,KAAKwC,MAAjC+G,EADDU,EACCV,QAAS5D,EADVsE,EACUtE,eACTD,EAAe6D,EAAf7D,WACFwE,EAAc3C,IAAW,CAC7B4C,QAAQ,EACRC,mBAAoBb,EAAQ9E,WAE9B,OACEhB,EAAA1B,EAAAC,cAAA,OAAKK,UAAW6H,GACdzG,EAAA1B,EAAAC,cAACqI,EAAD,CACE9G,8BAA+BvD,KAAKuD,8BACpCC,wBAAyBxD,KAAKwD,wBAC9BiC,eAAgBzF,KAAKyF,eACrBC,WAAYA,EACZC,eAAgBA,IAElBlC,EAAA1B,EAAAC,cAACsI,EAAD,CACEf,QAASA,EACTnB,aAAcpI,KAAKoI,aACnBC,cAAerI,KAAKqI,cACpB9E,8BAA+BvD,KAAKuD,8BACpCmC,WAAYA,YA9DDhD,aAqENQ,cAAWqH,YAAQ,SAAAnK,GAAK,MAAK,CAC1CmJ,QAASnJ,EAAMmJ,UADSgB,CAEtBV,IC5DWW,EAvBG,SAAA3D,GAAwB,IAArB4D,EAAqB5D,EAArB4D,eACXC,EAAwBD,EAAxBC,QAASC,EAAeF,EAAfE,WAEjB,OACElH,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,aACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,kBAAkB2B,GAAG,uBACrCP,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mBACdoB,EAAA1B,EAAAC,cAAA,UACG0I,EADH,wBACiCC,QCRvCC,mLAQK,IAAAtH,EAGHtD,KAAKwC,MADPqI,EAFKvH,EAELuH,MAAO7H,EAFFM,EAEEN,SAAU8H,EAFZxH,EAEYwH,IAGb1B,EAAkC,MALjC9F,EAEiBhC,SAGGC,SAAmB,MAAQuJ,EAAI1B,UAE1D,OACE3F,EAAA1B,EAAAC,cAAA,OAAKK,UAAS,GAAAvF,OAAK+N,EAAMxI,UAAX,KAAAvF,OAAwBsM,EAAxB,YAA6C2B,IAAK3B,GAC9D3F,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,WACZW,WAlBeC,iBAyBXC,cAAWqH,YAAQ,SAAAnK,GAAK,MAAK,CAC1CyK,MAAOzK,EAAMyK,MACbC,IAAK1K,EAAM0K,MAFaP,CAGtBK,+NC3BEI,iOAgCK,IAAA1H,EAYHtD,KAAKwC,MAVPyI,EAFK3H,EAEL2H,SACA5I,EAHKiB,EAGLjB,UACAzB,EAJK0C,EAIL1C,KACAmF,EALKzC,EAKLyC,MACAC,EANK1C,EAML0C,SACAU,EAPKpD,EAOLoD,MACAH,EARKjD,EAQLiD,MACA2E,EATK5H,EASL4H,eACA1E,EAVKlD,EAULkD,MACA2E,EAXK7H,EAWL6H,WAGIC,EAAgB7D,IAAW,CAC/B8D,gBAAgB,EAChBJ,aAGIK,EAAoB,KAAVvF,EAAeA,EAAQmF,EACjCK,EAAeD,EAAU,wBAA0B,GACnDE,EAAU,GAAA1O,OAAMsO,EAAN,KAAAtO,OAAuByO,EAAvB,KAAAzO,OAAuCuF,EAAS,iBAAAvF,OAAoBuF,GAAc,IAElG,OACEoB,EAAA1B,EAAAC,cAAA,SACEwE,MAAO2E,EACP9I,UAAWmJ,EACXC,QAAS7K,GAET6C,EAAA1B,EAAAC,cAAA,SACEwE,MAAOA,EACPnE,UAAU,yBACV9C,KAAK,WACLP,GAAI4B,EACJA,KAAMA,EACNoF,SAAUA,EACVsF,QAASA,EACTL,SAAUA,IAEZxH,EAAA1B,EAAAC,cAAA,QACEK,UAAU,gCACVmE,MAAOD,EAAQ,CAAEmF,WAAYnF,EAAOoF,YAAapF,GAAU,IAE3D9C,EAAA1B,EAAAC,cAAC4J,GAAA7J,EAAD,OAEa,WAAdM,EAEGoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,2BACdoB,EAAA1B,EAAAC,cAAC4J,GAAA7J,EAAD,CAAWM,UAAU,8BACrBoB,EAAA1B,EAAAC,cAAC6J,GAAA9J,EAAD,CAAWM,UAAU,iCAErB,GACNoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,uBACbqE,WArFiBzD,iBAAtB+H,GAiBG7D,aAAe,CACpBT,MAAO,GACPwE,gBAAgB,EAChBD,UAAU,EACV5I,UAAW,GACXmE,MAAO,GACP2E,WAAY,GACZ5E,MAAO,IAoEX,IAAMuF,GAAsB,SAACtJ,GAAU,IAEnCuJ,EAWEvJ,EAXFuJ,MACArF,EAUElE,EAVFkE,MACAwE,EASE1I,EATF0I,eACAD,EAQEzI,EARFyI,SACA5I,EAOEG,EAPFH,UACAkE,EAME/D,EANF+D,MACAC,EAKEhE,EALFgE,MACA2E,EAIE3I,EAJF2I,WATmCa,EAajCxJ,EAHFyJ,KACEC,EAXiCF,EAWjCE,QAAS9N,EAXwB4N,EAWxB5N,MAIb,OACEqF,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,kEACboB,EAAA1B,EAAAC,cAACmK,GAAD9N,OAAA+N,OAAA,GACML,EADN,CAEErF,MAAOA,EACPwE,eAAgBA,EAChBD,SAAUA,EACV5I,UAAWA,EACXmE,MAAOA,EACP2E,WAAYA,EACZ5E,MAAOA,KAER2F,GAAW9N,GAASqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAA0BjE,KA2BrE0N,GAAoB3E,aAAe,CACjCT,MAAO,GACPwE,gBAAgB,EAChBD,UAAU,EACVzE,MAAO,GACP2E,WAAY,GACZ9I,UAAW,GACXkE,MAAO,GACP0F,KAAM,IAGOH,UC1JAO,GARiB,SAAAC,GAAgB,gBAAAC,GAAA,SAAAC,IAAA,OAAAnO,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAwM,GAAAnO,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAmO,GAAAC,MAAAzM,KAAA0M,YAAA,OAAArO,OAAAsO,EAAA,EAAAtO,CAAAmO,EAAAD,GAAAlO,OAAAuO,EAAA,EAAAvO,CAAAmO,EAAA,EAAAnG,IAAA,SAAAN,MAAA,WAG1C,OAAOtC,EAAA1B,EAAAC,cAACsK,EAADjO,OAAA+N,OAAA,GAAsBpM,KAAKwC,MAA3B,CAAkCqK,cAAe7M,KAAKwC,aAHnBgK,EAAA,CAChCvJ,kCCAV6J,GAAU,SAAAjG,GAcV,IAbJkF,EAaIlF,EAbJkF,MACAgB,EAYIlG,EAZJkG,YACAxN,EAWIsH,EAXJtH,KACAyN,EAUInG,EAVJmG,UACAC,EASIpG,EATJoG,IACAC,EAQIrG,EARJqG,IACAC,EAOItG,EAPJsG,KAOIC,EAAAvG,EANJoF,KAAQC,EAMJkB,EANIlB,QAAS9N,EAMbgP,EANahP,MACjBiP,EAKIxG,EALJwG,SACApC,EAIIpE,EAJJoE,SACA5I,EAGIwE,EAHJxE,UACAmE,EAEIK,EAFJL,MACA8G,EACIzG,EADJyG,WAEM9K,EAAKnE,OAAAkP,GAAA,EAAAlP,CAAA,GACN0N,GAcL,MAXa,WAATxM,IACFiD,EAAM2K,KAAOA,EAETF,IACFzK,EAAMyK,IAAMA,GAEVC,IACF1K,EAAM0K,IAAMA,GAAO,aAAeA,EAAM,eAI/B,aAAT3N,EAEAkE,EAAA1B,EAAAC,cAAA,OAAKK,UAAS,kEAAAvF,OAAoEuF,IAChFoB,EAAA1B,EAAAC,cAAA,WAAA3D,OAAA+N,OAAA,GACM5J,EADN,CAEEuK,YAAaA,EACbxN,KAAMA,EACNyN,UAAWA,EACXQ,aAAa,MACbH,SAAUA,EACVpC,SAAUA,EACVzE,MAAOA,EACP8G,WAAYA,KAEbpB,GAAW9N,GAASqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAA0BjE,IAMnEqF,EAAA1B,EAAAC,cAAA,OAAKK,UAAS,kEAAAvF,OAAoEuF,IAChFoB,EAAA1B,EAAAC,cAAA,QAAA3D,OAAA+N,OAAA,GACM5J,EADN,CAEEuK,YAAaA,EACbxN,KAAMA,EACNyN,UAAWA,EACXQ,aAAa,MACbH,SAAUA,EACVpC,SAAUA,EACVzE,MAAOA,EACP8G,WAAYA,KAEbpB,GAAW9N,GAASqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAA0BjE,KA2BrE0O,GAAQ3F,aAAe,CACrBX,MAAO,GACPuG,YAAa,GACbd,KAAM,GACN1M,KAAM,OACN0N,IAAK,GACLC,IAAK,GACLC,KAAM,GACNH,UAAW,GACXS,MAAO,GACPC,iBAAiB,EACjBL,UAAU,EACVpC,UAAU,EACV5I,UAAW,GACXsL,QAAS,GACTL,WAAY,kBAAM,IAGLR,uCCTAc,GAhGC,SAAVA,EAAU/G,GAUV,IATJ/C,EASI+C,EATJ/C,MACA+J,EAQIhH,EARJgH,SACAC,EAOIjH,EAPJiH,SACAC,EAMIlH,EANJkH,WACAC,EAKInH,EALJmH,QACAC,EAIIpH,EAJJoH,UACAC,EAGIrH,EAHJqH,SACAC,EAEItH,EAFJsH,QACA5H,EACIM,EADJN,MAgBAqH,EAAQzG,aAAe,CACrB2G,SAAU,KACVE,QAAS,aACTzH,MAAO,UACP2H,SAAU,cA8DZE,wBAAa,CACXC,SA5De,SAAAC,GAAA,IAAGC,EAAHD,EAAGC,QAAH,OACf9K,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAACwM,GAAA,EAAD,CACEC,KAAK,KACLpJ,QAAM,EACNqJ,eAAe,oBACfrM,UAAS,iBAAAvF,OAAmByJ,GAAS,UAA5B,KAAAzJ,OA3BI,yBA6Bb2G,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,4BAA4ByB,IAE5CL,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACZwL,GAEHpK,EAAA1B,EAAAC,cAAC2M,GAAA,EAAD,CAAetM,UAAU,iBACvBoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEvM,UAAU,eACVqB,QAAS,WACHwK,GACFA,IAEFK,MAGDP,GAGDD,GACEtK,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEvM,UAAU,WACVkE,MAAOA,GAAS,UAChB7C,QAAS,WACPyK,IACAI,MAGDR,GAIPtK,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEvM,UAAU,WACVkE,MAAOA,GAAS,UAChB7C,QAAS,WACPuK,IACAM,MAGDT,UCrEEe,GAhBE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GAWf,OAVKD,EAAM1F,MAEC,4CAA4C4F,KAAKF,EAAM1F,SACjE2F,EAAO3F,MAAQ,uCAFf2F,EAAO3F,MAAQ,0CAIZ0F,EAAMzF,WACT0F,EAAO1F,SAAW,kCAEpB0F,EAAOE,QAAyC,IAA/B7Q,OAAOoC,KAAKuO,GAAQlJ,OAE9BkJ,GCEHG,eAQJ,SAAAA,IAAc,IAAArP,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAmP,IACZrP,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA8Q,GAAAhP,KAAAH,QAQFoP,aAAe,SAACpO,GACdA,EAAEqO,iBACFvP,EAAKqB,SAAS,SAAAqD,GAAS,MAAK,CAAE4K,cAAe5K,EAAU4K,iBAX3CtP,EAcdwP,aAAe,SAACC,GACdzP,EAAKqB,SAAL9C,OAAAmR,GAAA,EAAAnR,CAAA,GAAiBkR,EAAME,OAAO7O,KAAO2O,EAAME,OAAO1J,SAftCjG,EAkBd4P,kBAAoB,SAAClN,GAEnB,GADkBA,EAAVmN,MACR,CAF6B,IAMrBtG,EAAUvJ,EAAKM,MAAfiJ,MAERuE,GAAQ,CACN9J,MAAO,4BACP+J,SAAQ,8DAAA/Q,OAAgEuM,EAAhE,KACRyE,SAAU,kBACVE,QAAS,aACTC,UAAW,WACTyB,aAAkBrG,EAAO,CACvBuG,UAAW,WAET1Q,aAAoB,GAAApC,OADR,2CACQ,4DACpBgD,EAAKqB,SAAS,CAAE0O,eAAe,KAEjClO,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,wBAEnBA,aAAmB,uDA1CjBU,EAkDdgQ,aAAe,SAAChB,GAEd,OAAOgB,EADkBhQ,EAAK0C,MAAtBsN,cACYhB,IApDRhP,EAuDdiQ,YAAc,kBACZtM,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,gCACboB,EAAA1B,EAAAC,cAACgO,GAAA,EAAD,CAASzJ,MAAM,UAAUC,MAAO,CAAEyJ,MAAO,OAAQC,OAAQ,YAzD/CpQ,EA6DdqQ,WAAa,SAACf,EAAcgB,EAAYC,GAA3B,OACX5M,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACsO,GAAAvO,EAAD,OAEF0B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,QACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,QACZ/G,SAAUlG,EAAKwP,iBAIrB7L,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACyO,GAAA1O,EAAD,OAEF0B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,WACL4P,UAAW1D,GACXvN,KAAM6P,EAAe,OAAS,WAC9BrC,YAAY,eAEdtJ,EAAA1B,EAAAC,cAAA,UACEK,UAAS,0BAAAvF,OAA4BsS,EAAe,UAAY,IAChE1L,QAAS,SAAA1C,GAAC,OAAIlB,EAAKsP,aAAapO,IAChCzB,KAAK,UACNkE,EAAA1B,EAAAC,cAAC0O,GAAA3O,EAAD,SAIL0B,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,2BACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW1E,GACXpF,MAAM,iBAIZjD,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,mDACV4I,SAAUoF,GAAYD,GAHxB,YAMA3M,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACErI,MAAM,OACNkI,KAAK,KACL/K,QAAS,kBAAM5D,EAAKqB,SAAS,CAAE0O,eAAe,MAE9CpM,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,mBAAmBsO,cAAY,SAL9C,sCAjHU7Q,EA2Hd8Q,kBAAoB,kBAClBnN,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACsO,GAAAvO,EAAD,OAEF0B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,QACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,QACZ/G,SAAUlG,EAAKwP,iBAIrB7L,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,2BACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW1E,GACXpF,MAAM,iBAIZjD,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACVqB,QAAS,kBAAM5D,EAAK4P,kBAAkB5P,EAAK0C,SAH7C,eAMAiB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACErI,MAAM,YACNkI,KAAK,KACL/K,QAAS,kBAAM5D,EAAKqB,SAAS,CAAE0O,eAAe,MAHhD,cAzJF/P,EAAKM,MAAQ,CACXgP,cAAc,EACd/F,OAAO,EACPwG,eAAe,GALL/P,wEAoKL,IAAAS,EAAAP,KAAA6B,EACiC7B,KAAKI,MAArCgP,EADDvN,EACCuN,aAAcS,EADfhO,EACegO,cADfvM,EAEqCtD,KAAKwC,MAAzC4N,EAFD9M,EAEC8M,WAAYC,EAFb/M,EAEa+M,SAAUQ,EAFvBvN,EAEuBuN,UAE9B,OAAIhB,EAEApM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,OAAOyO,SAAU,SAAAhC,GAAM,OAAIvO,EAAKuP,aAAahB,KAEzD9O,KAAK4Q,qBAOXnN,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,OAAOyO,SAAU,SAAAhC,GAAM,OAAIvO,EAAKuP,aAAahB,KAExD+B,EAA4C7Q,KAAK+P,YAAYK,EAAYC,GAA7DrQ,KAAKmQ,WAAWf,WA7LnBnM,iBAyMLoJ,MALG0E,aAAU,CAC1BC,KAAM,YACNnC,SAAUoC,IAFMF,CAGf5B,KCzMG+B,eACJ,SAAAA,IAAc,IAAApR,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAkR,IACZpR,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA6S,GAAA/Q,KAAAH,QAWF8P,aAAe,SAAChB,GACdhP,EAAKqB,SAAS,SAAAqD,GAAS,MAAK,CAAEqM,WAAYrM,EAAUqM,aAD3B,IAAAvN,EAGgCxD,EAAK0C,MAA/C2O,EAHU7N,EAGjB8N,MAAoBzM,EAHHrB,EAGGqB,QAE5B,OADA0M,EAJyB/N,EAGY+N,iBACrB,YAAa,WAAY,mBAClCF,EAAYrC,EAAQ,CACzBc,UAAW,WACT,IAAM1S,EAAcC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GACvE,OAAIJ,EAAYyL,UACd7I,EAAK2F,eAAe,QACpBd,EAAQG,KAAK,6BAIX5H,EAAYuL,YACd3I,EAAK2F,eAAe,QACpBd,EAAQG,KAAK,mCAIfH,EAAQG,KAAK,eAEfwM,aAAc,WACZ3M,EAAQG,KAAK,kBAEfnD,QAAS,WACPxC,aAAqB,wCACrBW,EAAKqB,SAAS,SAAAqD,GAAS,MAAK,CAAEqM,WAAYrM,EAAUqM,iBAvC5C/Q,EA4Cd2F,eAAiB,SAACuE,IAEhBvI,EADqB3B,EAAK0C,MAAlBf,UACCmD,YAAiBoF,KA5C1BlK,EAAKM,MAAQ,CACXyQ,WAAW,GAHD/Q,qHAiDL,IACC+Q,EAAc7Q,KAAKI,MAAnByQ,UAER,OACEpN,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,WACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,kBAAd,eACEoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,iBAAhB,YACEoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBAAhB,WAGJoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,4BAAd,8BAEFoB,EAAA1B,EAAAC,cAACuP,GAAD,CACET,SAAU9Q,KAAK8P,aACfe,UAAWA,IAEbpN,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBACboB,EAAA1B,EAAAC,cAAA,6BAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CACE1B,UAAU,oDACV2B,GAAG,cACJP,EAAA1B,EAAAC,cAACwP,GAAAzP,EAAD,OAED0B,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CACE1B,UAAU,kDACV2B,GAAG,cACJP,EAAA1B,EAAAC,cAACyP,GAAA1P,EAAD,kBAjFckB,iBA2GdC,eAAWqH,YATF,iBAAO,IAEJ,SAAA9I,GAAQ,OAAIiQ,6BAAmB,CACxDN,UACAvM,WACAwM,gBAAiBM,IACjBlQ,YACCA,IAEuB8I,CAGxB2G,KC/FarC,GA5BE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GAuBf,OAtBKD,EAAM1F,MAEC,4CAA4C4F,KAAKF,EAAM1F,SACjE2F,EAAO3F,MAAQ,uCAFf2F,EAAO3F,MAAQ,0CAIZ0F,EAAMzF,WACT0F,EAAO1F,SAAW,yCAEfyF,EAAM6C,cACT5C,EAAO4C,YAAc,wCAEnB7C,EAAM6C,aAAe7C,EAAM8C,0BAA4B9C,EAAMzF,WAC/D0F,EAAO4C,YAAc,uEAElB7C,EAAM8C,0BACT7C,EAAO6C,wBAA0B,yCAE/B9C,EAAM8C,yBAA2B9C,EAAM8C,0BAA4B9C,EAAM6C,cAC3E5C,EAAO6C,wBAA0B,qFAEnC7C,EAAOE,QAAyC,IAA/B7Q,OAAOoC,KAAKuO,GAAQlJ,OAE9BkJ,GCfH8C,eAOJ,SAAAA,IAAc,IAAAhS,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAA8R,IACZhS,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAyT,GAAA3R,KAAAH,QAIFoP,aAAe,SAACpO,GACdA,EAAEqO,iBADkB,IAEKrQ,EAASgC,EAA1BkF,cAAiBlH,GACzBc,EAAKqB,SAAS,SAAAqD,GAAS,OAAAnG,OAAAmR,GAAA,EAAAnR,CAAA,GAAQW,GAAMwF,EAAUxF,OAN/Cc,EAAKM,MAAQ,CAAEgP,cAAc,GAFjBtP,wEAWL,IAAAS,EAAAP,KAAA6B,EACgE7B,KAAKI,MAApEgP,EADDvN,EACCuN,aAAc2C,EADflQ,EACekQ,gBAAiBC,EADhCnQ,EACgCmQ,4BADhC1O,EAEwCtD,KAAKwC,MAA5CsN,EAFDxM,EAECwM,aAAcM,EAFf9M,EAEe8M,WAAYC,EAF3B/M,EAE2B+M,SAC5BnT,EAAcC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GACvE,OACEmG,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACsO,GAAAvO,EAAD,OAEF0B,EAAA1B,EAAAC,cAAA,SACEpB,KAAK,QACLrB,KAAK,OACLwN,YAAY,QACZhH,MAAO7I,EAAYmM,MACnB4B,UAAQ,MAIdxH,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,wBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACyO,GAAA1O,EAAD,OAEF0B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,WACL4P,UAAW1D,GACXvN,KAAM6P,EAAe,OAAS,WAC9BrC,YAAY,yBAEdtJ,EAAA1B,EAAAC,cAAA,UACEhD,GAAG,eACHqD,UAAS,0BAAAvF,OAA4BsS,EAAe,UAAY,IAChE1L,QAAS,SAAA1C,GAAC,OAAIT,EAAK6O,aAAapO,IAChCzB,KAAK,SACL0S,SAAU,GACXxO,EAAA1B,EAAAC,cAAC0O,GAAA3O,EAAD,SAIL0B,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,uBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACyO,GAAA1O,EAAD,OAEF0B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW1D,GACXvN,KAAMwS,EAAkB,OAAS,WACjChF,YAAY,wBAEdtJ,EAAA1B,EAAAC,cAAA,UACEhD,GAAG,kBACHqD,UAAS,0BAAAvF,OAA4BiV,EAAkB,UAAY,IACnErO,QAAS,SAAA1C,GAAC,OAAIT,EAAK6O,aAAapO,IAChCzB,KAAK,SACL0S,SAAU,GACXxO,EAAA1B,EAAAC,cAAC0O,GAAA3O,EAAD,SAIL0B,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,yCACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACyO,GAAA1O,EAAD,OAEF0B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,0BACL4P,UAAW1D,GACXvN,KAAMyS,EAA8B,OAAS,WAC7CjF,YAAY,0CAEdtJ,EAAA1B,EAAAC,cAAA,UACEhD,GAAG,8BACHqD,UAAS,0BAAAvF,OAA4BkV,EAA8B,UAAY,IAC/EtO,QAAS,SAAA1C,GAAC,OAAIT,EAAK6O,aAAapO,IAChCzB,KAAK,UACNkE,EAAA1B,EAAAC,cAAC0O,GAAA3O,EAAD,SAIL0B,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,mDACV4I,SAAUoF,GAAYD,GAHxB,0CAxGiBnN,iBAwHVoJ,MALQ0E,aAAU,CAC/BC,KAAM,YACNnC,aAFqBkC,CAGpBe,KCpHGI,8MACJpC,aAAe,SAAChB,GAAW,IAAAxL,EAC0BxD,EAAK0C,MAApC2P,EADK7O,EACjB8O,WAAoBzN,EADHrB,EACGqB,QAE5B,OADA0N,EAFyB/O,EACY+O,WAC3B,aACHF,EAAOrD,EACZ,CACEc,UAAW,WACT1Q,aAAqB,iDACrByF,EAAQG,KAAK,iBAEfnD,QAAS,WACPxC,aAAqB,oHAM3B,OACEsE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,WACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,kBAAd,mCAEFoB,EAAA1B,EAAAC,cAACsQ,GAAD,CACExB,SAAU9Q,KAAK8P,eAEjBrM,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBACboB,EAAA1B,EAAAC,cAAA,6BAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CACE1B,UAAU,oDACV2B,GAAG,cACJP,EAAA1B,EAAAC,cAACwP,GAAAzP,EAAD,OAED0B,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CACE1B,UAAU,kDACV2B,GAAG,cACJP,EAAA1B,EAAAC,cAACyP,GAAA1P,EAAD,kBAvCmBkB,iBA8DnBsH,eAPS,iBAAO,IAEJ,SAAA9I,GAAQ,OAAIiQ,6BAAmB,CACxDU,eACAC,UAAWE,KACV9Q,IAEY8I,CAGb2H,iNCnEmBM,8MAQnBC,QAAU,SAACC,GAAS,IAAApP,EACgCxD,EAAK0C,MAA/CmQ,EADUrP,EACVqP,WAAYC,EADFtP,EACEsP,YAAaC,EADfvP,EACeuP,aAG3BC,EAAaC,KAAKC,KAAKL,EAAaC,GAEtCF,EAAO,GAAKA,EAAOI,GAKvBD,EAAaH,MAGfO,aAAe,WAAM,IAAAhJ,EAC8BnK,EAAK0C,MAA9CmQ,EADW1I,EACX0I,WAAYC,EADD3I,EACC2I,YAAaM,EADdjJ,EACciJ,YAG3BC,EAAQ,GACRL,EAAaC,KAAKC,KAAKL,EAAaC,GAE1C,GAAIE,GAJgB,EAKlB,IAAK,IAAIM,EAAI,EAAGA,GAAKN,EAAYM,GAAK,EACpCD,EAAMrO,KAAKsO,OAER,CAELD,EAAMrO,KAAK,GACX,IACMuO,EAAeC,GAZH,IAW4CR,EAAa,EAAI,GAE/E,GAAIA,EAAa,EAAII,EAAa,CAChC,IAAMlP,EAAK+O,KAAK9F,IAAIiG,EAAcH,KAAKC,KAAKK,EAAe,GAAIP,EAAa,GACtES,EAAOR,KAAK7F,IAAIgG,GAAeG,GAAgBrP,EAAKkP,IAAe,GACrEK,EAAO,GAAGJ,EAAMrO,KAAK,GACzB,IAAK,IAAIsO,EAAIG,EAAMH,GAAKpP,EAAIoP,GAAK,EAC/BD,EAAMrO,KAAKsO,GAETpP,EAAM8O,EAAa,GAAIK,EAAMrO,KAAK,OACjC,CACL,IAAMyO,EAAOR,KAAK7F,IAAIgG,EAAcH,KAAKS,MAAMH,EAAe,GAAI,GAC5DrP,EAAK+O,KAAK9F,IAAIiG,GAAeG,GAAgBH,EAAcK,IAAQT,EAAa,GAClFS,EAAO,GAAGJ,EAAMrO,KAAK,GACzB,IAAK,IAAIsO,EAAIG,EAAMH,GAAKpP,EAAIoP,GAAK,EAC/BD,EAAMrO,KAAKsO,GAETpP,EAAM8O,EAAa,GAAIK,EAAMrO,KAAK,GAExCqO,EAAMrO,KAAKgO,GAGb,OAAOH,EACLlP,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,4BACXsQ,GAAc,EAAK,GAEjBlP,EAAA1B,EAAAC,cAACyR,GAAA,EAAD,CAAYpR,UAAU,aAAa0I,IAAI,OACrCtH,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CAAgBrR,UAAU,mBAAmB4I,SAA0B,IAAhBiI,GACrDzP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,2CACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQ,KAE5BhP,EAAA1B,EAAAC,cAAC4R,GAAA7R,EAAD,CAAuBM,UAAU,4BAGrCoB,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CAAgBrR,UAAU,mBAAmB4I,SAA0B,IAAhBiI,GACrDzP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,2CACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQS,EAAc,KAE1CzP,EAAA1B,EAAAC,cAAC6R,GAAA9R,EAAD,CAAiBM,UAAU,4BAG9B8Q,EAAMhN,IAAI,SAAAuM,GAAI,OACbA,EAAO,EAEHjP,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CACErR,UAAU,mBACVgE,IAAKqM,EACLoB,OAAQZ,IAAgBR,GAExBjP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,mBACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQC,KAE3BA,IAKLjP,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CACErR,UAAU,mBACVgE,IAAKqM,EACLoB,OAAQZ,IAAgBR,GAExBjP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,mBACV9C,KAAK,UAFP,UAURkE,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CAAgBrR,UAAU,mBAAmB4I,SAAU2H,EAAcM,EAAcP,GACjFlP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,2CACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQS,EAAc,KAE1CzP,EAAA1B,EAAAC,cAAC+R,GAAAhS,EAAD,CAAkBM,UAAU,4BAGhCoB,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CAAgBrR,UAAU,mBAAmB4I,SAAU2H,EAAcM,EAAcP,GACjFlP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,2CACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQM,KAAKC,KAAKL,EAAaC,MAEnDnP,EAAA1B,EAAAC,cAACgS,GAAAjS,EAAD,CAAwBM,UAAU,6BAM5CoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mBACboB,EAAA1B,EAAAC,cAAA,4BAAAlF,OACiB8V,GAAeM,EAAc,GAAM,EADpD,OAGIN,EAAcM,EAAcP,EAAaA,EAAaC,EAAcM,EAHxE,OAAApW,OAKU6V,EALV,iBASFlP,EAAA1B,EAAAC,cAAA,eAGNiS,aAAe,WAAM,IAAAC,EAC8BpU,EAAK0C,MAA9CmQ,EADWuB,EACXvB,WAAYC,EADDsB,EACCtB,YAAaM,EADdgB,EACchB,YAG3BC,EAAQ,GACRL,EAAaC,KAAKC,KAAKL,EAAaC,GAE1C,GAAIE,GAJgB,EAKlB,IAAK,IAAIM,EAAI,EAAGA,GAAKN,EAAYM,GAAK,EACpCD,EAAMrO,KAAKsO,OAER,CAELD,EAAMrO,KAAK,GACX,IACMuO,EAAeC,GAZH,IAW4CR,EAAa,EAAI,GAE/E,GAAIA,EAAa,EAAII,EAAa,CAChC,IAAMlP,EAAK+O,KAAK9F,IAAIiG,EAAcH,KAAKC,KAAKK,EAAe,GAAIP,EAAa,GACtES,EAAOR,KAAK7F,IAAIgG,GAAeG,GAAgBrP,EAAKkP,IAAe,GACrEK,EAAO,GAAGJ,EAAMrO,KAAK,GACzB,IAAK,IAAIsO,EAAIG,EAAMH,GAAKpP,EAAIoP,GAAK,EAC/BD,EAAMrO,KAAKsO,GAETpP,EAAM8O,EAAa,GAAIK,EAAMrO,KAAK,OACjC,CACL,IAAMyO,EAAOR,KAAK7F,IAAIgG,EAAcH,KAAKS,MAAMH,EAAe,GAAI,GAC5DrP,EAAK+O,KAAK9F,IAAIiG,GAAeG,GAAgBH,EAAcK,IAAQT,EAAa,GAClFS,EAAO,GAAGJ,EAAMrO,KAAK,GACzB,IAAK,IAAIsO,EAAIG,EAAMH,GAAKpP,EAAIoP,GAAK,EAC/BD,EAAMrO,KAAKsO,GAETpP,EAAM8O,EAAa,GAAIK,EAAMrO,KAAK,GAExCqO,EAAMrO,KAAKgO,GAGb,OAAOH,EACLlP,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,4BACXsQ,GAAc,EAAK,GAEjBlP,EAAA1B,EAAAC,cAACyR,GAAA,EAAD,CAAYpR,UAAU,aAAa0I,IAAI,OACrCtH,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CAAgBrR,UAAU,mBAAmB4I,SAA0B,IAAhBiI,GACrDzP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,2CACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQ,KAE5BhP,EAAA1B,EAAAC,cAAC4R,GAAA7R,EAAD,CAAuBM,UAAU,4BAGrCoB,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CAAgBrR,UAAU,mBAAmB4I,SAA0B,IAAhBiI,GACrDzP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,2CACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQS,EAAc,KAE1CzP,EAAA1B,EAAAC,cAAC6R,GAAA9R,EAAD,CAAiBM,UAAU,4BAG9B8Q,EAAMhN,IAAI,SAAAuM,GAAI,OACbA,EAAO,EAEHjP,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CACErR,UAAU,mBACVgE,IAAKqM,EACLoB,OAAQZ,IAAgBR,GAExBjP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,mBACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQC,KAE3BA,IAKLjP,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CACErR,UAAU,mBACVgE,IAAKqM,EACLoB,OAAQZ,IAAgBR,GAExBjP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,mBACV9C,KAAK,UAFP,UAURkE,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CAAgBrR,UAAU,mBAAmB4I,SAAU2H,EAAcM,EAAcP,GACjFlP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,2CACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQS,EAAc,KAE1CzP,EAAA1B,EAAAC,cAAC+R,GAAAhS,EAAD,CAAkBM,UAAU,4BAGhCoB,EAAA1B,EAAAC,cAAC0R,GAAA,EAAD,CAAgBrR,UAAU,mBAAmB4I,SAAU2H,EAAcM,EAAcP,GACjFlP,EAAA1B,EAAAC,cAAC2R,GAAA,EAAD,CACEtR,UAAU,2CACV9C,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQM,KAAKC,KAAKL,EAAaC,MAEnDnP,EAAA1B,EAAAC,cAACgS,GAAAjS,EAAD,CAAwBM,UAAU,6BAM5CoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mBACboB,EAAA1B,EAAAC,cAAA,4BAAAlF,OACiB8V,GAAeM,EAAc,GAAM,EADpD,OAGIN,EAAcM,EAAcP,EAAaA,EAAaC,EAAcM,EAHxE,OAAApW,OAKU6V,EALV,iBASFlP,EAAA1B,EAAAC,cAAA,qFAIJ,OACEyB,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACG9H,KAAKiT,eACLjT,KAAKiU,uBAtRgCE,IAAMzR,yCCL9C0R,eAwBJ,SAAAA,EAAY5R,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAoU,IACjBtU,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA+V,GAAAjU,KAAAH,KAAMwC,KACD8M,aAAexP,EAAKwP,aAAa+E,KAAlBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAFHA,4EAKNyU,IAEXvO,EADqBhG,KAAKwC,MAAlBwD,UACCuO,oCAGF,IAAAjR,EAOHtD,KAAKwC,MALPuD,EAFKzC,EAELyC,MACAgH,EAHKzJ,EAGLyJ,YACAd,EAJK3I,EAIL2I,KACAuI,EALKlR,EAKLkR,WACAC,EANKnR,EAMLmR,cAEF,OACEhR,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eAEboB,EAAA1B,EAAAC,cAAC0S,GAAA3S,EAAD,CACE4S,QAAS,IAAIC,MAAK,IAAIA,MAAOC,cAAgB,GAAI,EAAG,GACpDC,SAAU/O,EAAQ,IAAI6O,KAAK7O,GAAS,KACpC1D,UAAU,8BACV0S,gBAAiBhI,EACjB/G,SAAUhG,KAAKsP,aACfkF,WAAU,GAAA1X,OAAK0X,GAAL1X,OAAkB2X,EAAgB,SAAW,IACvDO,eAAe,QACfC,aAAa,SACbC,kBAAgB,EAChBT,cAAeA,EACfU,eAAgBV,KAKpBhR,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACoT,GAAArT,EAAD,OAEDkK,EAAKC,SAAWD,EAAK7N,OAASqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAA0B4J,EAAK7N,eAjExD6E,iBAAxBmR,GAgBGjN,aAAe,CACpBpB,MAAO,GACPgH,YAAa,GACbd,KAAM,KACNuI,WAAY,aACZC,eAAe,GAkDnB,IAceY,GAde,SAAC7S,GAAU,IAC/BuJ,EAAUvJ,EAAVuJ,MACR,OACEtI,EAAA1B,EAAAC,cAACsT,GAADjX,OAAA+N,OAAA,GAAqBL,EAAWvJ,yBC3E9B+S,8MAgDJjG,aAAe,SAACkG,IAEdxP,EADqBlG,EAAK0C,MAAlBwD,UACCwP,4EAGF,IAAAlS,EAOHtD,KAAKwC,MALPuD,EAFKzC,EAELyC,MAAO0P,EAFFnS,EAEEmS,aAAc7U,EAFhB0C,EAEgB1C,KAAMmM,EAFtBzJ,EAEsByJ,YAAa2I,EAFnCpS,EAEmCoS,QAASC,EAF5CrS,EAE4CqS,QACjDC,EAHKtS,EAGLsS,YACAC,EAJKvS,EAILuS,aACAC,EALKxS,EAKLwS,WACAC,EANKzS,EAMLyS,WAGIC,EAAS,CACbC,OAAQ,SAAAC,GAAI,OAAA7X,OAAAkP,GAAA,EAAAlP,CAAA,GACP6X,EADO,CAGVC,QAAS,UACTC,WAAY,UACZC,QAAS,QACTC,UAAW,iBAEbC,WAAY,SAACL,EAAM9V,GAAP,OAAkBA,EAAMnD,KAAKuZ,QAAXnY,OAAAkP,GAAA,EAAAlP,CAAA,GAA0B6X,EAA1B,CAAgCzP,gBAAiB,SAAWyP,GAC1FO,gBAAiB,SAACP,EAAM9V,GAAP,OACfA,EAAMnD,KAAKuZ,QAAXnY,OAAAkP,GAAA,EAAAlP,CAAA,GAEO6X,EAFP,CAGIQ,WAAY,OACZnQ,MAAO,QACPoQ,aAAc,IAEdT,GAENU,iBAAkB,SAACV,EAAM9V,GAAP,OAChBA,EAAMnD,KAAKuZ,QAAXnY,OAAAkP,GAAA,EAAAlP,CAAA,GAA0B6X,EAA1B,CAAgCG,QAAS,SAAWH,GAEtDW,KAAM,SAAAhQ,KAAGoJ,MAAH,IAAa6G,EAAbzY,OAAA0Y,GAAA,EAAA1Y,CAAAwI,EAAA,kBAAAxI,OAAAkP,GAAA,EAAAlP,CAAA,GACDyY,KAKP,OACErT,EAAA1B,EAAAC,cAACgV,GAAA,EAAD,CACEC,cAAc,OACdjB,OAAQA,EACRpV,KAAMA,EACNmF,MAAOA,EACPC,SAAUhG,KAAKsP,aACfoG,QAASA,EACTD,aAAcA,EACdyB,WAAW,EACX7U,UAAU,gBAEV0K,YAAaA,EACboK,gBAAgB,eAChBxB,QAASA,EACTC,YAAaA,EACbC,aAAcA,EACdC,WAAYA,EACZC,WAAYA,WA7GM9S,iBAApBsS,GAqCGpO,aAAe,CACpB4F,YAAa,GACb0I,aAAc,EACdC,QAAS,GACTC,SAAS,EACTC,aAAa,EACbC,aAAc,OACdC,gBAAYsB,EACZrB,YAAY,GAsEhB,IAAMsB,GAAoB,SAAC7U,GAAU,IAEjCuJ,EAKEvJ,EALFuJ,MAAOE,EAKLzJ,EALKyJ,KAAMyJ,EAKXlT,EALWkT,QAAS3I,EAKpBvK,EALoBuK,YAAa0I,EAKjCjT,EALiCiT,aAAcpT,EAK/CG,EAL+CH,UAAWsT,EAK1DnT,EAL0DmT,QAC5DC,EAIEpT,EAJFoT,YACAC,EAGErT,EAHFqT,aACAC,EAEEtT,EAFFsT,WACAC,EACEvT,EADFuT,WAGIuB,GAA2B,oBAAZ5B,EAAyBA,IAAYA,GAAS6B,QAKnE,OAJKD,EAAKE,KAAK,SAAAC,GAAC,OAAgB,IAAZA,EAAE1R,SACpBuR,EAAKI,QAAQ,CAAE3R,MAAO,EAAGW,MAAO,MAIhCjD,EAAA1B,EAAAC,cAAA,OAAKK,UAAS,+BAAAvF,OAAiCuF,IAC7CoB,EAAA1B,EAAAC,cAAC2V,GAADtZ,OAAA+N,OAAA,GACML,EADN,CAEE2J,QAAS4B,EACTvK,YAAaA,EACb0I,aAAcA,EACdE,QAASA,EACTC,YAAaA,EACbC,aAAcA,EACdC,WAAYA,EACZC,WAAYA,KAEb9J,EAAKC,SAAWD,EAAK7N,OAASqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAA0B4J,EAAK7N,SA+BpFiZ,GAAkBlQ,aAAe,CAC/B8E,KAAM,KACNyJ,QAAS,GACT3I,YAAa,GACb0I,aAAc,EACdpT,UAAW,GACXsT,SAAS,EACTC,aAAa,EACbC,aAAc,OACdC,gBAAYsB,EACZrB,YAAY,GAGCsB,UCjITO,GAAuB,SAACC,EAAQC,EAAKC,GACzC,IAAKF,EAAOG,SACV,OAAO,KAGT,IAAMC,EAAa,CACjB5V,UAAW,gBAcb,MAXoB,WAAhBwV,EAAOtY,OACT0Y,EAAW5V,UAAX,GAAAvF,OAA0Bmb,EAAW5V,WAEhC4D,OAAOiS,OAAOL,EAAO3K,OACxB+K,EAAW/K,KAAO2K,EAAO3K,KAEtBjH,OAAOiS,OAAOL,EAAO5K,OACxBgL,EAAWhL,KAAO4K,EAAO5K,MAIT,WAAhB4K,EAAOtY,MACT0Y,EAAW5V,UAAX,GAAAvF,OAA0Bmb,EAAW5V,WAEnCoB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,UAAAvJ,OAAYgb,EAAI9Y,GAAhB,KAAAlC,OAAsB+a,EAAOxR,KAChCzF,KAAI,UAAA9D,OAAYgb,EAAI9Y,GAAhB,KAAAlC,OAAsB+a,EAAOxR,KACjCmK,UAAW6G,GACXc,WAAYN,EAAOM,WACnB5Y,KAAMsY,EAAOtY,KACbmW,QAASmC,EAAOO,YAAY1C,SAAW,GACvCC,QAASkC,EAAOO,YAAYzC,UAAW,EACvCE,aAAa,QACb7P,SAAU,SAACqS,GACTN,EAAWD,EAAKD,EAAOxR,IAAKgS,EAAKtS,WAOvCtC,EAAA1B,EAAAC,cAAA,YACEyB,EAAA1B,EAAAC,cAAA,QAAA3D,OAAA+N,OAAA,GACM6L,EADN,CAEE5R,IAAG,SAAAvJ,OAAWgb,EAAI9Y,GAAf,KAAAlC,OAAqB+a,EAAOxR,KAC/BzF,KAAI,SAAA9D,OAAWgb,EAAI9Y,GAAf,KAAAlC,OAAqB+a,EAAOxR,KAChCoP,aAAcqC,EAAID,EAAOxR,KACzB9G,KAAMsY,EAAOtY,MAAQ,OACrBiH,MAAOqR,EAAOM,WACdnS,SAAU,SAAChF,GACTA,EAAEqO,iBADa,IAGPtJ,EAAU/E,EAAEkF,cAAZH,MACR,GAAoB,WAAhB8R,EAAOtY,QAAuBwG,GAAS8R,EAAO5K,MAAQlH,GAAS8R,EAAO3K,KAGxE,OAFAlM,EAAEqO,sBACFrO,EAAEkF,cAAcH,OAAS+R,EAAID,EAAOxR,MAGtCrF,EAAEkF,cAAcoS,SAAU,GAE5BC,UAAW,SAACvX,GACNA,EAAEkF,cAAcoS,SAAuB,KAAZtX,EAAEwX,QAC/BT,EAAWD,EAAKD,EAAOxR,IAAKrF,EAAEkF,cAAcH,OAC5C/E,EAAEkF,cAAcoS,SAAU,IAG9BG,OAAQ,SAACzX,GACHA,EAAEkF,cAAcoS,UAClBP,EAAWD,EAAKD,EAAOxR,IAAKrF,EAAEkF,cAAcH,OAC5C/E,EAAEkF,cAAcoS,SAAU,IAG9BI,QAAS,SAAA1X,GAAC,OAAIA,EAAEkF,cAAcyS,eAMhCC,GAAoB,SAACpW,GAAU,IAEjC6D,EACE7D,EADF6D,IAAKzF,EACH4B,EADG5B,KAAMrB,EACTiD,EADSjD,KAFsBsZ,EAG/BrW,EADe4V,mBAFgB,IAAAS,EAEF,GAFEA,EAKnC,MAAa,SAATtZ,EAEAkE,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKuJ,EAAL,SACJmK,UAAWsI,GACXhF,QAAQ,EACRtG,aAAa,QACbT,YAAW,GAAAjQ,OAAK8D,EAAL,YAEb6C,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,YACL4P,UAAW1D,GACXvN,KAAK,OACLiO,aAAa,UAEf/J,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACoT,GAAArT,EAAD,OAEF0B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKuJ,EAAL,SACJmK,UAAWsI,GACXhF,QAAQ,EACRtG,aAAa,QACbT,YAAW,GAAAjQ,OAAK8D,EAAL,YAGb6C,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,YACL4P,UAAW1D,GACXvN,KAAK,OACLiO,aAAa,UAEf/J,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBACboB,EAAA1B,EAAAC,cAACoT,GAAArT,EAAD,QAMK,WAATxC,EAEAkE,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAMyF,EACNmK,UAAW1D,GACXvN,KAAMA,EACN0N,IAAKzK,EAAMyK,IACXC,IAAK1K,EAAM0K,IACXH,YAAanM,EACb4M,aAAa,UAKN,WAATjO,EAEAkE,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAMyF,EACNmK,UAAW6G,GACX9X,KAAMA,EACNwN,YAAanM,EACb4M,aAAa,QACbkI,QAAS0C,EAAY1C,SAAW,GAChCC,QAASyC,EAAYzC,UAAW,EAChCE,aAAa,UAMjBpS,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAMyF,EACNmK,UAAW1D,GACXvN,KAAMA,EACNwN,YAAanM,EACb4M,aAAa,QACbR,UAAU,QAyBhB4K,GAAqBzQ,aAAe,CAClC5H,KAAM,OACN0N,IAAK,GACLC,IAAK,GACLiL,WAAY,CAAEY,SAAU,WAU1BH,GAAkBzR,aAAe,CAC/B5H,KAAM,OACN6Y,YAAa,GACbnL,IAAK,GACLC,IAAK,QAQD8L,eACJ,SAAAA,EAAYxW,GAAO,IAAA1C,EAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAgZ,IACjBlZ,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA2a,GAAA7Y,KAAAH,KAAMwC,KAQRyW,aAAe,SAACjY,GACdA,EAAEqO,iBACFvP,EAAKqB,SAAS,SAAAqD,GAAS,MAAK,CAAE0U,YAAa1U,EAAU0U,eAXpCpZ,EAcnBqZ,eAAiB,SAACnY,GAChBA,EAAEqO,iBACFvP,EAAKqB,SAAS,SAAAqD,GAAS,MAAK,CAAE4U,gBAAiB5U,EAAU4U,mBAhBxCtZ,EAmBnBuZ,QAAU,SAACC,GACT,MAA2B,qBAAhBA,EAAID,SACRC,EAAID,SArBM,IAETD,EAAmB5W,EAAnB4W,eAFS,OAGjBtZ,EAAKM,MAAQ,CACX8Y,YAAY,EACZE,kBALetZ,wEAwBV,IAAAS,EAAAP,KAAAsD,EAaHtD,KAAKwC,MAXPsB,EAFKR,EAELQ,MACAyV,EAHKjW,EAGLiW,QACAC,EAJKlW,EAILkW,MACAC,EALKnW,EAKLmW,eACA5G,EANKvP,EAMLuP,aACA/C,EAPKxM,EAOLwM,aACA4J,EARKpW,EAQLoW,eACAhH,EATKpP,EASLoP,KACAiH,EAVKrW,EAULqW,SACAC,EAXKtW,EAWLsW,gBACA7B,EAZKzU,EAYLyU,WAZKlW,EAe4C7B,KAAKI,MAAhD8Y,EAfDrX,EAeCqX,WAAY9I,EAfbvO,EAeauO,WAAYgJ,EAfzBvX,EAeyBuX,eAC1BS,EAAaN,EAAQO,OAAO,SAAAC,GAAC,OAAiB,IAAbA,EAAEC,SAAiBlU,OAAS,EAC7DmU,EAAWf,IAAeE,EAEhC,OACE3V,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKM,GAAI,GAAIL,GAAI,GACf1W,EAAA1B,EAAAC,cAAA,UAAK8B,IAEPL,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKM,GAAI,GAAIL,GAAI,GACdN,GACCpW,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,8CACVqB,QAAS,SAAA1C,GAAC,OAAIT,EAAK0Y,aAAajY,KAEhCyC,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,iBALlB,mBAMEoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAS,iBAAAvF,OAAmBmd,EAAW,KAAO,cAM9DxW,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,wBAAwByO,SAAUhB,GAC/CmK,GAAYV,EAAQpT,IAAI,SAAAuU,GAAC,OAAIA,EAAEV,SAjHpC3T,GADgB7D,EAkH+CkY,GAjH/DrU,IAAKzF,EAAS4B,EAAT5B,KAEX6C,EAAA1B,EAAAC,cAAA,OAAKqE,IAAG,eAAAvJ,OAAiBuJ,GAAOhE,UAAU,oBACxCoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAA0BzB,GAC1C6C,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZuW,GAAkBpW,MANF,IAACA,EAChB6D,EAAKzF,IAkHAqZ,GAEGxW,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,GACX3M,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,iBAJjB,WAMAoB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACV4I,SAAUmF,EACV1M,QAASgW,GACVjW,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,gBALjB,oBAOAoB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,iBACL4P,UAAW1E,GACXpF,MAAM,wBACNX,MAAOqT,EAAiB,UAAY,GACpClO,eAAgBkO,EAChB1V,QAAS,SAAA1C,GAAC,OAAIT,EAAK4Y,eAAenY,UAQhDyC,EAAA1B,EAAAC,cAAC2Y,GAAA,EAAD,CAAOC,YAAU,EAACvY,UAAU,mBAC1BoB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UACGuX,EAAQpT,IAAI,SAAAuU,GAAC,OAAIna,EAAK8Y,QAAQqB,IAC7BjX,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,MAAAvJ,OAAQ4d,EAAErU,KAAO4J,MAAOyK,EAAEzK,MAAQyK,EAAEzK,MAAQ,OAAQ5N,UAAWqY,EAAErY,WAAa,aAClFqY,EAAE9Z,UAKX6C,EAAA1B,EAAAC,cAAA,aACGwX,EAAM1T,OAAS,EACd0T,EAAMrT,IAAI,SAAC0U,EAAGC,GAAJ,OACRrX,EAAA1B,EAAAC,cAAA,MAAIqE,IAAKwU,EAAE7b,IAAM8b,GACdvB,EAAQpT,IAAI,SAACuU,EAAGK,GAAJ,OAAexa,EAAK8Y,QAAQqB,IACvCjX,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,GAAAvJ,OAAK+d,EAAE7b,IAAM8b,EAAb,KAAAhe,OAAuB4d,EAAErU,KAAOhE,UAAWqY,EAAErY,WAAa,cAE5DqY,EAAE1C,UACDvU,EAAA1B,EAAAC,cAAA,aA3VDsX,EA4VwBoB,EA5VnB5C,EA4VsB+C,EA5VjBxU,EA4Va,GAAAvJ,OAAU+d,EAAE7b,IAAM8b,EAAlB,KAAAhe,OAA4B4d,EAAE1b,IAAM+b,GA3VjFzB,EAAInW,KAKPM,EAAA1B,EAAAC,cAAA,QAAMqE,IAAG,QAAAvJ,OAAUuJ,IACjB5C,EAAA1B,EAAAC,cAAA,UACE0B,QAAS,kBAAM4V,EAAInW,KAAK6X,UAAY1B,EAAInW,KAAK6X,SAASlD,IACtDvY,KAAK,SACL8C,UAAU,gBACV4P,SAAS,MAERqH,EAAInW,KAAKqN,UAAUsH,KAXjB,MA2VsB4C,EAAEO,OAASP,EAAEO,OAAOJ,GAAKA,EAAEH,EAAErU,MApXhC,SAAC6U,EAASpD,GACtC,OAAMoD,GAAWA,EAAQpV,OAKvBrC,EAAA1B,EAAAC,cAAA,YACGkZ,EAAQ/U,IAAI,SAAApE,GAAC,OACZ0B,EAAA1B,EAAAC,cAAA,QAAMqE,IAAG,UAAAvJ,OAAYgb,EAAI9Y,GAAhB,KAAAlC,OAAsBiF,EAAEsE,MAC/B5C,EAAA1B,EAAAC,cAAA,UACE0B,QAAS,kBAAM3B,EAAEiZ,UAAYjZ,EAAEiZ,SAASlD,IACxCvY,KAAK,SACL8C,UAAU,gBACV4P,SAAS,MAEU,oBAAXlQ,EAAEoB,KAAsBpB,EAAEoB,KAAK2U,GAAO/V,EAAEoB,UAbjD,KAsXgBgY,CAAsB1B,EAAeiB,EAAErU,IAAKwU,GAAIA,GAChDjD,GAAqB8C,EAAGG,EAAG9C,IAlW1B,IAACuB,EAAKxB,EAAKzR,OAwWnB5C,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,WAAd,oCAOZoB,EAAA1B,EAAAC,cAACoZ,GAAD,CACEzI,WAAYiH,EACZhH,YAAa+G,EACbzG,YAAaR,EACbG,aAAcA,cAjJJ5P,iBAyKxB+V,GAAU7R,aAAe,CACvBrD,MAAO,GACP6V,SAAU,GACVF,eAAgB,iBAAM,IACtB3J,aAAc,kBAAM,MACpB4J,eAAgB,kBAAM,MACtB7G,aAAc,kBAAM,MACpBkF,WAAY,kBAAM,MAClBqB,gBAAgB,EAChBQ,gBAAiB,GAGnB,IAIeyB,GAJOtK,aAAU,CAC9BC,KAAM,kBADcD,CAEnBiI,uBC9bGsC,GAAc,SAAAzU,GAKd,IAJJ7H,EAII6H,EAJJ7H,GACA+G,EAGIc,EAHJd,MACAW,EAEIG,EAFJH,MACAH,EACIM,EADJN,MACIgV,EACkCC,oBAAS,GAD3CC,EAAApd,OAAAqd,GAAA,EAAArd,CAAAkd,EAAA,GACGI,EADHF,EAAA,GACgBG,EADhBH,EAAA,GAKJ,OACEhY,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOlI,GAAE,WAAAlC,OAAakC,GAAMuH,MAAOA,GAChCR,GAGDW,EACEjD,EAAA1B,EAAAC,cAAC6Z,GAAA,EAAD,CACEC,UAAU,MACVzW,OAAQsW,EACRlM,OAAM,WAAA3S,OAAakC,GACnBuF,OAbK,kBAAMqX,GAAgBD,KAe1BjV,GAED,OAcZ4U,GAAYnU,aAAe,CACzBZ,MAAO,WAIM+U,mBC1CAS,GANQ,kBACrBtY,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,mCAAmCmE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,WACzFvY,EAAA1B,EAAAC,cAACgO,GAAA,EAAD,CAASzJ,MAAM,UAAUC,MAAO,CAAEyJ,MAAO,OAAQC,OAAQ,YCLhDsE,GAAa,SAACzO,GAA6B,IAAtBkW,EAAsBvP,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAZ,QAK1C,OAAO,IAAIwP,KAAKC,eAAeF,EAJjB,CACZG,UAAW,UAGkCnB,OAAO,IAAIrG,KAAK7O,KAWpDsW,GAAe,SAACtW,GAA6B,IAAtBkW,EAAsBvP,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAZ,QAK5C,OAAO,IAAIwP,KAAKC,eAAeF,EAJjB,CACZK,MAAO,UAGsCrB,OAAO,IAAIrG,KAAK7O,IAAQwW,UAAU,EAAG,IAGzEC,GAAe,SAACzW,GAA6B,IAAtBkW,EAAsBvP,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAZ,QAK5C,OAAO,IAAIwP,KAAKC,eAAeF,EAJjB,CACZQ,IAAK,YAGwCxB,OAAO,IAAIrG,KAAK7O,KAIpD2W,GAAiB,SAAC3W,GAA6B,IAAtBkW,EAAsBvP,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAZ,QAM9C,OAAO,IAAIwP,KAAKC,eAAeF,EALjB,CACZG,UAAW,QACXO,UAAW,UAGkC1B,OAAO,IAAIrG,KAAK7O,KAGpD6W,GAAa,SAAC7W,GAA6B,IAAtBkW,EAAsBvP,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAZ,QAK1C,OAAO,IAAIwP,KAAKC,eAAeF,EAJjB,CACZY,KAAM,UAAWC,OAAQ,UAAWC,OAAQ,YAGC9B,OAAO,IAAIrG,KAAK7O,KAGpDiX,GAAiB,SAACzI,GAC7B,MAAoB,kBAATA,EACFA,EAGT,GAAAzX,OAAUyX,EAAK0I,mBAAmB,QAAS,CACzCC,KAAM,UACNZ,MAAO,UACPG,IAAK,YACJU,MAAM,KAAKC,UAAUC,KAAK,KAJ7B,KAAAvgB,OAIqCyX,EAAK+I,mBAAmB,WC1CzDC,eAKJ,SAAAA,EAAY/a,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAud,IACjBzd,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAkf,GAAApd,KAAAH,KAAMwC,KAwHRgb,eAAiB,WACfC,aAAe,CACb7N,UAAW,SAAC3T,GACV6D,EAAKqB,SAAS,CACZ0E,MAAO5J,EAAE4J,SAGblE,QAAS,WACPvC,aAAmB,qDAjINU,EAsInB4d,gBAAkB,SAAChL,EAAMiH,EAAUgE,GACjC7d,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,KAGtBC,aAAW,CACTC,SAAU,CACRnL,OACAiH,WACAgE,QAAQtf,OAAAkP,GAAA,EAAAlP,CAAA,GACHsf,EADE,CAEL9X,MAAO8X,IAAYA,EAAQ9X,OAAS,IAAIM,IAAI,SAAA2X,GAAC,OAAIA,EAAE/X,WAGvD6J,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,qDAhKNU,EAqKnBie,WAAa,SAACzV,GACZ,IAAM0V,EAAQ,GAAAlhB,OAAMwL,EAAK2V,OAAX,KAAAnhB,OAAqBwL,EAAK4V,UACxCtQ,GAAQ,CACN9J,MAAO,iBACP+J,SAAQ,yCAAA/Q,OAAwCkhB,EAAxC,KACRlQ,SAAU,qBACVE,QAAS,aACTC,UAAW,WACT8P,aAAWzV,EAAKtJ,GAAI,CAClB4Q,UAAW,WACT1Q,aAAqB,gCADN,IAAA2C,EAEY/B,EAAKM,MAAxBsS,EAFO7Q,EAEP6Q,KAAMiH,EAFC9X,EAED8X,SACd7Z,EAAK4d,gBAAgBhL,EAAMiH,IAE7BhY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,wBAEnBA,aAAmB,8CAvLZU,EA+LnB4P,kBAAoB,SAACpH,GACnB,IAAM0V,EAAQ,GAAAlhB,OAAMwL,EAAK2V,OAAX,KAAAnhB,OAAqBwL,EAAK4V,UACxCtQ,GAAQ,CACN9J,MAAO,4BACP+J,SAAQ,8DAAA/Q,OAA0DkhB,EAA1D,KACRlQ,SAAU,kBACVE,QAAS,aACTC,UAAW,WACTyB,aAAkBpH,EAAKe,MAAO,CAC5BuG,UAAW,WAET1Q,aADY,oGAGdyC,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,wBAEnBA,aAAmB,sDAhNZU,EAwNnBqe,SAAW,SAAC7V,GACUxI,EAAK0C,MAAjBmC,QACAG,KAAR,qBAAAhI,OAAkCwL,EAAKtJ,MA1NtBc,EA6NnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAK4d,gBAAgBhL,EAAMiH,EAAUgE,KAhOtB7d,EAoOnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK4d,gBAAgB,EAAG/D,EAAU7K,KAvOnBhP,EA2OnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK4d,gBAAgB,EAAG/D,EAAU,KA7OjB7Z,EAgPnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IApPEvG,EAuPnBye,SAAW,WAET,OADkBze,EAAKM,MAAfyF,OAxPS/F,EA4PnB0e,SAAW,SAACzY,GAkBV,MAjBe,CACb,CACEA,MAAO,IAAKQ,MAAO,QAErB,CACER,MAAO,IAAKQ,MAAO,WAErB,CACER,MAAO,IAAKQ,MAAO,WAErB,CACER,MAAO,IAAKQ,MAAO,YAIEiR,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUA,IAAvCQ,OAzQRzG,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,IACf6G,MAAO,IAGT/F,EAAKyZ,QAAU,CACb,CAAElT,IAAK,KAAMzF,KAAM,IAAKqP,MAAO,QAC/B,CACE5J,IAAK,kBACLzF,KAAM,yBACNoZ,QAAQ,EACRza,KAAM,SACN0Q,MAAO,QAET,CACE5J,IAAK,QACLzF,KAAM,QACNoZ,QAAQ,EACRza,KAAM,SACN6Y,YAAa,CACX1C,QAAS5V,EAAKye,SACd5I,SAAS,GAEX1F,MAAO,QACPgL,OAAQ,SAACnD,GAAQ,IACP9Y,EAAoC8Y,EAApC9Y,GAAI6G,EAAgCiS,EAAhCjS,MAAO6Y,EAAyB5G,EAAzB4G,qBAEnB,OACEjb,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE6P,QAAS,SAEpBxQ,EAAMM,IAAI,SAAAwY,GAAG,OACXlb,EAAA1B,EAAAC,cAAA,UAAQqE,IAAG,GAAAvJ,OAAKkC,EAAL,KAAAlC,OAAW6hB,EAAI5Y,OAASxG,KAAK,SAAS8C,UAAU,gBAAgB4P,SAAS,MAClFxO,EAAA1B,EAAAC,cAAC4c,GAAD,CACE5f,GAAE,GAAAlC,OAAKkC,EAAL,KAAAlC,OAAW6hB,EAAI5Y,OACjBA,MAAO4Y,EAAI5Y,MACXW,MAAOiY,EAAIjY,MACXL,IAAG,GAAAvJ,OAAKkC,EAAL,KAAAlC,OAAW6hB,EAAI5Y,OAClBQ,MAAOzG,EAAK0e,SAASG,EAAI5Y,YAM/BF,EAAMgZ,KAAK,SAAAF,GAAG,MAAkB,MAAdA,EAAI5Y,QACpBtC,EAAA1B,EAAAC,cAAA,UAAQqE,IAAG,GAAAvJ,OAAKkC,EAAL,yBAAgCO,KAAK,SAAS8C,UAAU,gBAAgB4P,SAAS,MAC1FxO,EAAA1B,EAAAC,cAAC4c,GAAD,CACE5f,GAAE,GAAAlC,OAAKkC,EAAL,yBACF+G,MAAK,iBAAAjJ,OAAgB4hB,EAAqB5Y,QAC1CY,MAAK,GAAA5J,OAAK4hB,EAAqB5Y,QAC/BO,IAAG,GAAAvJ,OAAKkC,EAAL,KAAAlC,OAAW4hB,EAAqB5Y,QACnCS,MAAOmY,EAAqB5Y,OAAS,UAAY,eAGnD,QAMd,CAAEO,IAAK,SAAUzF,KAAM,SAAUoZ,QAAQ,GACzC,CAAE3T,IAAK,WAAYzF,KAAM,WAAYoZ,QAAQ,GAC7C,CAAE3T,IAAK,QAASzF,KAAM,QAASoZ,QAAQ,GACvC,CAAE3T,IAAK,oBAAqBzF,KAAM,sBAAoBoZ,QAAQ,GAC9D,CACE3T,IAAK,cACLzF,KAAM,eACNoZ,QAAQ,EACRiB,OAAQ,SAAApU,GAAA,IAAG7H,EAAH6H,EAAG7H,GAAI8f,EAAPjY,EAAOiY,YAAaC,EAApBlY,EAAoBkY,oBAApB,OACNtb,EAAA1B,EAAAC,cAAC4c,GAAD,CACE3M,SAAS,KACTjT,GAAE,GAAAlC,OAAKkC,EAAL,KAAAlC,OAAWgiB,GACb/Y,MAAO+Y,EAAc,KAAO,KAC5BpY,MAAOoY,EAAW,gBAAAhiB,OAAmB0X,GAAWuK,IAAyB,GACzE1Y,IAAG,GAAAvJ,OAAKkC,EAAL,KAAAlC,OAAWgiB,GACdvY,MAAOuY,EAAc,UAAY,gBAIvC,CAAEzY,IAAK,UAAWzF,KAAM,SAAUqP,MAAO,UAE3CnQ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,mBACzCkX,SAAU,SAAC1S,GACTxI,EAAKqe,SAAS7V,KAGlB,CACEjC,IAAK,iBACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,8BACzCkX,SAAU,SAAC1S,GACTxI,EAAK4P,kBAAkBpH,KAG3B,CACEjC,IAAK,SACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,uBAAuByB,MAAM,qBAzGtChE,mFAmHjBE,KAAKwd,iBADa,IAAAwB,EAGShf,KAAKI,MAAxBsS,EAHUsM,EAGVtM,KAAMiH,EAHIqF,EAGJrF,SACd3Z,KAAK0d,gBAAgBhL,EAAMiH,oCA2JpB,IAAApZ,EAAAP,KAAAif,EAQHjf,KAAKI,MANPC,EAFK4e,EAEL5e,QACAmZ,EAHKyF,EAGLzF,MACA9G,EAJKuM,EAILvM,KACAiH,EALKsF,EAKLtF,SACAC,EANKqF,EAMLrF,gBACA+D,EAPKsB,EAOLtB,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,wBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,kBAAkB2B,GAAG,oBACnCP,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eADf,6BAMNoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EACGoD,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAAI1W,EAAA1B,EAAAC,cAACmd,GAAD,OAEb1b,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,4CACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aA5TLpc,iBAsUdC,eAAWqa,4CChVpB+B,8MA2BJtZ,SAAW,WAAM,IAAA1C,EACkBxD,EAAK0C,OACtCwD,EAFe1C,EACP0C,UADO1C,EACGic,gGARA,IAAAtV,EAC+BjK,KAAKwC,MAA9C0I,EADUjB,EACViB,eAAgBlF,EADNiE,EACMjE,SAAUuZ,EADhBtV,EACgBsV,WAC9BrU,GACFlF,EAASuZ,oCASJ,IAAArL,EAGHlU,KAAKwC,MADPyI,EAFKiJ,EAELjJ,SAAU5I,EAFL6R,EAEK7R,UAAWzB,EAFhBsT,EAEgBtT,KAAM8F,EAFtBwN,EAEsBxN,MAAO6Y,EAF7BrL,EAE6BqL,WAAYxZ,EAFzCmO,EAEyCnO,MAE1CyZ,EAAmBjY,IAAW,CAClCkY,aAAa,EACbxU,aAGF,OAEExH,EAAA1B,EAAAC,cAAA,SACEK,UAAS,GAAAvF,OAAK0iB,GAAL1iB,OAAwBuF,EAAS,eAAAvF,OAAkBuF,GAAc,KAE1EoB,EAAA1B,EAAAC,cAAA,SACEK,UAAU,mBACVzB,KAAMA,EACNrB,KAAK,QACLyG,SAAUhG,KAAKgG,SACfsF,QAASvF,IAAUwZ,EACnBtU,SAAUA,IAEZxH,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,4BACD,WAAdA,EAEGoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBACdoB,EAAA1B,EAAAC,cAAC4J,GAAA7J,EAAD,CAAWM,UAAU,2BACrBoB,EAAA1B,EAAAC,cAAC6J,GAAA9J,EAAD,CAAWM,UAAU,8BAErB,GACNoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,oBAAoBqE,WA9DbzD,iBAAzBqc,GAYGnY,aAAe,CACpBT,MAAO,GACPwE,gBAAgB,EAChBqU,WAAY,GACZtU,UAAU,EACV5I,UAAW,IAmDf,IAAMqd,GAAyB,SAACld,GAAU,IAEtCuJ,EACEvJ,EADFuJ,MAAOrF,EACLlE,EADKkE,MAAOwE,EACZ1I,EADY0I,eAAgBD,EAC5BzI,EAD4ByI,SAAU5I,EACtCG,EADsCH,UAAWkd,EACjD/c,EADiD+c,WAErD,OACE9b,EAAA1B,EAAAC,cAAC2d,GAADthB,OAAA+N,OAAA,GACML,EADN,CAEErF,MAAOA,EACPwE,eAAgBA,EAChBD,SAAUA,EACVsU,WAAYA,EACZld,UAAWA,MAiBjBqd,GAAuBvY,aAAe,CACpCT,MAAO,GACPwE,gBAAgB,EAChBD,UAAU,EACVsU,WAAY,GACZld,UAAW,IAGEqd,UC1BA7Q,GArFE,SAACE,GAChB,IAAMC,EAAS,GAgDf,GA/CKD,EAAM6Q,cACJ7Q,EAAMkP,SACTjP,EAAOiP,OAAS,2BAEblP,EAAMmP,WACTlP,EAAOkP,SAAW,6BAEdnP,EAAM8Q,iBACP9Q,EAAM8Q,gBAAgB/Z,QAAU,GAChC,YAAYmJ,KAAKF,EAAM8Q,mBAC1B7Q,EAAO6Q,gBAAkB,6CAIvB9Q,EAAM+Q,cAAgB/Q,EAAM+Q,aAAa/Z,QAC7CiJ,EAAO8Q,aAAe,4CAGnB/Q,EAAMgR,mBAAqBhR,EAAMgR,kBAAkBja,OAAS,IAC1D,yDAAyDmJ,KAAKF,EAAMgR,sBACzE/Q,EAAO+Q,kBAAoB,+CAGzBhR,EAAMiR,iBACHjR,EAAMiR,gBAAgBla,QAAU,GAChC,yDAAyDmJ,KAAKF,EAAMiR,mBACzEhR,EAAOgR,gBAAkB,8CAGtBjR,EAAM1F,MAEC,4CAA4C4F,KAAKF,EAAM1F,SACjE2F,EAAO3F,MAAQ,uCAFf2F,EAAO3F,MAAQ,0CAKb0F,EAAM6Q,eACH7Q,EAAMkR,kBAAoBlR,EAAMkR,iBAAiBna,OAAS,IACxD,yDAAyDmJ,KAAKF,EAAMkR,qBACzEjR,EAAOiR,iBAAmB,8CAEvBlR,EAAMmR,qBACTlR,EAAOkR,mBAAqB,yCAEnBnR,EAAMnG,SAAWmG,EAAMtG,YAAcsG,EAAMrG,eAAiBqG,EAAMpG,WAC7EqG,EAAOpG,QAAU,oCAGfmG,EAAMtG,YAAcsG,EAAM2P,sBAAwB3P,EAAM2P,qBAAqB5Y,OAAS,EAAG,CAC3F,IAAMqa,EAAWpR,EAAM2P,qBAAqB5E,OAAO,SAAArC,GAAC,OAAKA,EAAE2I,SAAW3I,EAAE4I,QAAQta,MAAQ,IACrFI,IAAI,SAAAU,GAAA,IAAAyZ,EAAAzZ,EAAGwZ,QAAH,MAAoC,CAAEta,MAAtCua,EAAcva,MAA+BW,MAA7C4Z,EAAqB5Z,SAEtB6Z,EAAYJ,EAAS3I,KAAK,SAACgJ,EAAKC,GAAN,OAAgBA,IAAUN,EAASha,IAAI,SAAAua,GAAC,OAAIA,EAAE3a,QAAO4a,QAAQH,EAAIza,SAC7Fwa,EACFvR,EAAO0P,qBAAuB,CAAEkC,OAAM,cAAA9jB,OAAgByjB,EAAU7Z,MAA1B,sBAEtCqI,EAAM2P,qBAAqB5E,OAAO,SAAArC,GAAC,OAAKA,EAAE2I,UAASzf,QAAQ,SAAA2N,EAAgCmS,GAAU,IAAvCJ,EAAuC/R,EAAvC+R,QAASQ,EAA8BvS,EAA9BuS,UAAWC,EAAmBxS,EAAnBwS,MAC1E1iB,EAAQ,GACTiiB,GAAYA,EAAQta,QACvB3H,EAAMiiB,QAAU,6BAEbQ,GAAcA,EAAU9a,QAC3B3H,EAAMyiB,UAAY,iCAEfC,GAAUA,IACb1iB,EAAM0iB,MAAQ,0BAGZziB,OAAOoC,KAAKrC,GAAO0H,SAChBkJ,EAAO0P,uBACV1P,EAAO0P,qBAAuB,IAGhC1P,EAAO0P,qBAAqB+B,GAASriB,KAQ7C,OAFA4Q,EAAOE,QAAyC,IAA/B7Q,OAAOoC,KAAKuO,GAAQlJ,OAE9BkJ,GCjEH+R,GAAkB,CACtB,CAAEhb,OAAO,EAAMW,MAAO,MACtB,CAAEX,OAAO,EAAOW,MAAO,OAGnBsa,eAmEJ,SAAAA,EAAYxe,GAAO,IAAA1C,EAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAghB,IACjBlhB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA2iB,GAAA7gB,KAAAH,KAAMwC,KAeRye,kBAAoB,WAAM,IAChBC,EAAkBphB,EAAKM,MAAvB8gB,cACRphB,EAAKqB,SAAS,CAAE+f,eAAgBA,KAlBfphB,EAqBnBqhB,0BAA4B,SAAAta,GAAgB,IAAb4I,EAAa5I,EAAb4I,OAC7B3P,EAAKqB,SAAS,CAAEigB,sBAAuB3R,EAAOnE,WAtB7BxL,EAyBnBuhB,uBAAyB,SAAA/S,GAAA,IAAAgT,EAAAhT,EACvBiT,cADuB,IAAAD,EACd,GADcA,EAEvB5C,EAFuBpQ,EAEvBoQ,qBAFuB8C,EAAAlT,EAGvBrC,KAAQ7N,EAHeojB,EAGfpjB,MAAOqjB,EAHQD,EAGRC,aACfC,EAJuBpT,EAIvBoT,eACAC,EALuBrT,EAKvBqT,kBACAC,EANuBtT,EAMvBsT,aACAC,EAPuBvT,EAOvBuT,eACA1B,EARuB7R,EAQvB6R,SACAU,EATuBvS,EASvBuS,UATuB,OAWvBpd,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,gCACfoB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,MAAIwE,MAAO,CAAEC,gBAAiB,wBAC5BhD,EAAA1B,EAAAC,cAAA,MAAI8f,QAAS,GACXre,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,kBACboB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GACd3W,EAAA1B,EAAAC,cAAA,mCAEFyB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GACbmH,EAAOzb,QAAU,GAEdrC,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEH,KAAK,KACLlI,MAAM,UACNC,MAAO,CAAEub,aAAc,OACvBre,QAASge,EACTrf,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eACZ,IARH,WAYA,UAOdoB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,KACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,WACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,gBACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,SACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAa,OAG3Bve,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAAC8b,EAAmBxB,GAApB,OACVhd,EAAA1B,EAAAC,cAAA,MACEqE,IAAG,GAAAvJ,OAAKmlB,GACRjjB,GAAE,GAAAlC,OAAKmlB,GACP5f,UAAWqc,EAAqB+B,GAAOL,QAAU,SAAW,IAE5D3c,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,QACboB,EAAA1B,EAAAC,cAAA,UAAKye,EAAQ,GACbhd,EAAA1B,EAAAC,cAAA,SAAOzC,KAAK,SAASqB,KAAI,GAAA9D,OAAKmlB,EAAL,WAG7Bxe,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,QACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mBAAmBmE,MAAO,CAAEub,aAAc,IACvDte,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKmlB,EAAL,YACJzR,UAAW6G,GACXtK,YAAY,UACZ2I,QAASyK,EACTna,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAAE5L,OAAQzT,EAAO5B,KAAM,UAAW6f,aAEtEhd,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAmC,SAM3DoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,QACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mBAAmBmE,MAAO,CAAEub,aAAc,IACvDte,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKmlB,EAAL,cACJzR,UAAW6G,GACXtK,YAAY,eACZ2I,QAASmL,EACT7a,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAAE5L,OAAQzT,EAAO5B,KAAM,YAAa6f,aAExEhd,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAmC,SAM3DoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,QACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mBAAmBmE,MAAO,CAAEub,aAAc,IACvDte,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKmlB,EAAL,UACJzR,UAAW1D,GACXvN,KAAK,OACLyN,UAAU,MACVD,YAAY,QACZ/G,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,EAAGzB,MAEjChd,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAmC,SAM3DoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACElL,QAAS,kBAAMie,EAAkBlB,IACjChS,KAAK,KACL0T,SAAO,EACP5b,MAAM,SACNC,MAAO,CAAEub,aAAc,OACvB1f,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,cAAcsO,cAAY,gBAQjD8Q,GAAgBrjB,GACdqF,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,kEACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,yBAAyBmE,MAAO,CAAEub,aAAc,SAAUhJ,SAAU,SAApF,IAEG3a,MAlKM,IAGfgkB,EAGE5f,EAHF4f,8BACAC,EAEE7f,EAFF6f,2BACA5Z,EACEjG,EADFiG,WALe,OAQjB3I,EAAKM,MAAQ,CACXgiB,gCACAC,6BACAnB,eAAe,EACfE,sBAAuB3Y,GAZR3I,wEA0KV,IAAA+B,EAMH7B,KAAKI,MAJPgiB,EAFKvgB,EAELugB,8BACAC,EAHKxgB,EAGLwgB,2BACAnB,EAJKrf,EAILqf,cACAE,EALKvf,EAKLuf,sBALK9d,EA+CHtD,KAAKwC,MAtCPoG,EATKtF,EASLsF,QACAH,EAVKnF,EAULmF,WACAC,EAXKpF,EAWLoF,cACAC,EAZKrF,EAYLqF,SACAyH,EAbK9M,EAaL8M,WACAN,EAdKxM,EAcLwM,aACAwS,EAfKhf,EAeLgf,qBACAC,EAhBKjf,EAgBLif,OACAC,EAjBKlf,EAiBLkf,OACAC,EAlBKnf,EAkBLmf,eACAC,EAnBKpf,EAmBLof,YACA5D,EApBKxb,EAoBLwb,YACA6D,EArBKrf,EAqBLqf,6BACAC,EAtBKtf,EAsBLsf,+BACAC,EAvBKvf,EAuBLuf,6BACAC,EAxBKxf,EAwBLwf,gCACAC,EAzBKzf,EAyBLyf,gBACAC,EA1BK1f,EA0BL0f,IACAC,EA3BK3f,EA2BL2f,OACApC,EA5BKvd,EA4BLud,UACAV,EA7BK7c,EA6BL6c,SAEAuB,EA/BKpe,EA+BLoe,eACAC,EAhCKre,EAgCLqe,kBACAC,EAjCKte,EAiCLse,aACAC,EAlCKve,EAkCLue,eACAqB,EAnCK5f,EAmCL4f,eAEAC,EArCK7f,EAqCL6f,iBACAC,EAtCK9f,EAsCL8f,eACAC,EAvCK/f,EAuCL+f,QACAzD,EAxCKtc,EAwCLsc,YACA3B,EAzCK3a,EAyCL2a,OACAC,EA1CK5a,EA0CL4a,SACA2B,EA3CKvc,EA2CLuc,gBACAyD,EA5CKhgB,EA4CLggB,gBACAtkB,EA7CKsE,EA6CLtE,GA7CKukB,EAAAjgB,EA8CLob,4BA9CK,IAAA6E,EA8CkB,GA9ClBA,EAiDDC,EAAoBtC,EAAgB,gCAAkC,iCAEtEuC,EAAiB7D,GAAesB,EAAgB,GAAK,SACrDwC,EAA6BtC,EAAwB,GAAK,SAE1DlkB,EAAcC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GACjEqmB,EAAezmB,EAAY0L,SAAW1L,EAAYwL,cAClDkb,EAAWN,EAAkBO,KAAOP,GAAiBrI,OAAO,cAAgB,GAE5E6I,EAAiB,0BAAAhnB,OAA8B8iB,EAA2B,GAAb,YAC7DmE,EAAkB,0BAAAjnB,OAA6B8iB,EAAc,WAAa,IAEhF,OACEnc,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAAA,SAAOpB,KAAK,cAAcmF,MAAK,GAAAjJ,OAAK8iB,GAAergB,KAAK,WACxDkE,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,6BAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAWyhB,GAAjB,UACArgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZshB,EAEGlgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,SACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,SACZS,aAAa,QACbR,UAAU,OAIZvJ,EAAA1B,EAAAC,cAAA,SACE+D,MAAOkY,EACP1e,KAAK,OACLwN,YAAY,SACZ9B,SAAS,eAOnBxH,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAWyhB,GAAjB,YACArgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZshB,EAEGlgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,WACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,WACZC,UAAW,KAIbvJ,EAAA1B,EAAAC,cAAA,SACE+D,MAAOmY,EACP3e,KAAK,OACLwN,YAAY,WACZ9B,SAAS,eAOnBxH,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAWyhB,GAAjB,0BACArgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZshB,EAEGlgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,kBACL4P,UAAW1D,GACXvN,KAAK,SACLwN,YAAY,yBACZC,UAAW,KAIbvJ,EAAA1B,EAAAC,cAAA,SACE+D,MAAO8Z,EACPtgB,KAAK,OACLwN,YAAY,yBACZ9B,SAAS,eAOnBxH,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAWyhB,GAAjB,uBACCH,EAEGlgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,kBACL4P,UAAWsI,GACX/L,YAAY,sBACZS,aAAa,WAKjB/J,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SACE+D,MAAO6d,EACPrkB,KAAK,OACLwN,YAAY,sBACZ9B,SAAS,eAOnBxH,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,uBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,kBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,sBACZC,UAAW,OAKjBvJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,gBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW6G,GACXtK,YAAY,eACZS,aAAa,QACbkI,QAASuN,EACTjd,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,eAAgB,qBAAsBb,QAK3Eze,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,uCAGFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ0e,GAAgB5a,IAAI,SAAA6d,GAAC,OACpBvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,UAAAvJ,OAAYknB,EAAEje,OACjBnF,KAAK,gCACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgBkX,IAAkC4B,EAAEje,MACpDC,SAAU,SAAAkc,GAAC,OAAIgB,EAAe,gCAAiChB,UAMvEze,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,+BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ+f,EAEG3e,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,mBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,8BACZC,UAAW,KAIbvJ,EAAA1B,EAAAC,cAAA,SACEzC,KAAK,OACLwN,YAAY,gCACZ9B,SAAS,gBAQrBxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAEf3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,aACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZghB,EAAQld,IAAI,SAAA6d,GAAC,OACZvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,UAAAvJ,OAAYknB,EAAEje,OACjBnF,KAAK,SACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgBsX,IAAWwB,EAAEje,YAMrCtC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,QACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SACEpB,KAAK,MACLrB,KAAK,OACLwG,MAAOid,EAAM,EAAIA,EAAM,GACvBjW,YAAY,uBACZ9B,SAAS,eAKfxH,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,sBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ8gB,EAAiBhd,IAAI,SAAA6d,GAAC,OACrBvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,mBAAAvJ,OAAqBknB,EAAEje,OAC1BnF,KAAK,iBACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgBuX,IAAmBuB,EAAEje,YAM7CtC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,SACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,QACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,YAKlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,gBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ+gB,EAAejd,IAAI,SAAA6d,GAAC,OACnBvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,gBAAAvJ,OAAkBknB,EAAEje,OACvBnF,KAAK,cACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgBwX,IAAgBsB,EAAEje,YAM1CtC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,gBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ0e,GAAgB5a,IAAI,SAAA6d,GAAC,OACpBvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,gBAAAvJ,OAAkBknB,EAAEje,OACvBnF,KAAK,cACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgB4T,IAAgBkF,EAAEje,MAClCC,SAAU,SAAAD,GAAK,OAAImd,EAAe,cAAend,SAKrD+Y,EACErb,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,QAAMK,UAAWyhB,GAAjB,0BACArgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,sBACL4P,UAAWsI,GACX/L,YAAY,yBACZS,aAAa,YAIjB,OAKV/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,wBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,0BAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,SACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,iBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,YAIlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,aACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,kBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,gBAIlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,aACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,qBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,iBAKpBtJ,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,uBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,oBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,kBAKlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,QACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,gBACL4P,UAAW6G,GACXtK,YAAY,OACZS,aAAa,QACbkI,QAASuN,EACTjd,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,gBAAiB,kBAAmBb,SAO3Eze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI/X,UAAWud,EAAc,SAAW,IACvDnc,EAAA1B,EAAAC,cAAA,KACEuW,UAAWvY,KAAKihB,kBAChBvd,QAAS1D,KAAKihB,kBACd5e,UAAWmhB,EACXpd,KAAK,SACL6L,SAAS,KALX,IAMGiP,EAAgB,UAAY,UAN/B,0BASFzd,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI/X,UAAWohB,GAC9BhgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,wBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,sBAEFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,6BACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,wBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,iBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,4BAKpBtJ,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG/X,UAAWohB,GAC7BhgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,SACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,YAIlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,aACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,gBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,gBAIlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,aACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,mBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,iBAKpBtJ,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG/X,UAAWohB,GAC7BhgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,6BACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,eACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,kBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,kBAKlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,QACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW6G,GACXtK,YAAY,OACZS,aAAa,QACbkI,QAASuN,EACTjd,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,cAAe,gBAAiBb,QAIrEze,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,6BACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,mBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,iBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,uBAOpBtJ,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI/X,UAAWohB,GAC9BhgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,wBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,4BAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG/X,UAAWohB,GAC7BhgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,6BACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,2CACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,kBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,6CAIlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,4CACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,mBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,gDAIlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,oBAIlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAW0hB,GAAjB,iDAGAtgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,mBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,oDAIlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAW0hB,GAAjB,oCACAtgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,qBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,uCAIlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,6BACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,sCACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,+BACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,0CAMpBtJ,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG/X,UAAWohB,GAE7BhgB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,8BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ0e,GAAgB5a,IAAI,SAAA6d,GAAC,OACpBvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,gCAAAvJ,OAAkCknB,EAAEje,OACvCnF,KAAK,+BACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgByX,IAAiCqB,EAAEje,YAM3DtC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,gCACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ0e,GAAgB5a,IAAI,SAAA6d,GAAC,OACpBvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,kCAAAvJ,OAAoCknB,EAAEje,OACzCnF,KAAK,iCACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgB0X,IAAmCoB,EAAEje,YAM7DtC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,8BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ0e,GAAgB5a,IAAI,SAAA6d,GAAC,OACpBvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,gCAAAvJ,OAAkCknB,EAAEje,OACvCnF,KAAK,+BACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgB2X,IAAiCmB,EAAEje,YAM3DtC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,iCACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ0e,GAAgB5a,IAAI,SAAA6d,GAAC,OACpBvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,mCAAAvJ,OAAqCknB,EAAEje,OAC1CnF,KAAK,kCACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgB4X,IAAoCkB,EAAEje,YAM9DtC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,4BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ0e,GAAgB5a,IAAI,SAAA6d,GAAC,OACpBvgB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,8BAAAvJ,OAAgCknB,EAAEje,OACrCnF,KAAK,6BACL4P,UAAWyT,GACXvd,MAAOsd,EAAEtd,MACT6Y,WAAYyE,EAAEje,MACdmF,eAAgBmX,IAA+B2B,EAAEje,MACjDC,SAAU,SAAAkc,GAAC,OAAIgB,EAAe,6BAA8BhB,UAKpEze,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,iCACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZggB,EAEG5e,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,wBACL4P,UAAW1D,GACXvN,KAAK,OACLwN,YAAY,gCACZC,UAAW,KAIbvJ,EAAA1B,EAAAC,cAAA,SACEzC,KAAK,OACLwN,YAAY,gCACZ9B,SAAS,gBASrBxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI/X,UAAWshB,IAAiB/D,EAAc,GAAK,UAClEnc,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,wBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,mBAEFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,WACL4P,UAAW1E,GACXpF,MAAM,aACNX,MAAO4C,EAAW,UAAY,GAC9BuC,eAAgBvC,IAElBlF,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,aACL4P,UAAW1E,GACXpF,MAAM,eACNX,MAAO0C,EAAa,UAAY,GAChCyC,eAAgBzC,EAChBzC,SAAUhG,KAAKmhB,4BAEjB1d,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,gBACL4P,UAAW1E,GACXpF,MAAM,kBACNX,MAAO2C,EAAgB,UAAY,GACnCwC,eAAgBxC,IAElBjF,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW1E,GACXpF,MAAM,oBACN4E,QAAS1C,EAAU,UAAY,GAC/BsC,eAAgBtC,SAU5BnF,EAAA1B,EAAAC,cAAA,OAAKK,UAAS,iBAAAvF,OAAmB4mB,GAA8Bld,MAAO,CAAEub,aAAc,SACpFte,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACEtjB,KAAK,uBACL4P,UAAWxQ,KAAKqhB,uBAChB3C,qBAAsBA,EACtBmC,UAAWA,EACXV,SAAUA,EACVuB,eAAgBA,EAChBC,kBAAmBA,EACnBC,aAAcA,EACdC,eAAgBA,KAInB7iB,EAAK,GAAK2kB,GACTlgB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,eACV4I,SAAUmF,EACV1M,QAAS4e,GAJX,8BASJ7e,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCA//BStf,iBAAjB+d,GA0CG7Z,aAAe,CACpBiJ,YAAY,EACZxH,SAAS,EACTH,YAAY,EACZC,eAAe,EACfC,UAAU,EACVyZ,+BAA+B,EAC/BO,8BAA8B,EAC9BC,gCAAgC,EAChCC,8BAA8B,EAC9BC,iCAAiC,EACjCT,4BAA4B,EAC5BrjB,GAAI,EACJwjB,OAAQ,EACRQ,IAAK,EACLN,YAAa,EACb5D,aAAa,EACb2D,eAAgB,GAChB7C,aAAa,EACb3B,OAAQ,GACRC,SAAU,GACV2B,gBAAiB,GACjByD,gBAAiB,IA68BrB,IAMejX,MANM0E,aAAU,CAC7BC,KAAM,eACNnC,YACAwQ,oBAAoB,GAHDtO,CAIlBiQ,KCviCUmD,GAAmB,CAC9B,CAAEpe,MAAO,KAAMW,MAAO,MACtB,CAAEX,MAAO,KAAMW,MAAO,MACtB,CAAEX,MAAO,KAAMW,MAAO,MACtB,CAAEX,MAAO,KAAMW,MAAO,MACtB,CAAEX,MAAO,KAAMW,MAAO,MACtB,CAAEX,MAAO,KAAMW,MAAO,MACtB,CAAEX,MAAO,MAAOW,MAAO,OACvB,CAAEX,MAAO,MAAOW,MAAO,QAGZ0d,GAAQ,CACnBC,OAAQ,EACRC,SAAU,EACVC,YAAa,EACbC,MAAO,GAGIC,GAAiB,CAC5B,CAAE1e,MAAO,EAAGW,MAAO,WACnB,CAAEX,MAAO,EAAGW,MAAO,UACnB,CAAEX,MAAO,EAAGW,MAAO,eACnB,CAAEX,MAAO,EAAGW,MAAO,UAGRge,GAAU,CACrB,CAAE3e,MAAO,EAAGW,MAAO,kBACnB,CAAEX,MAAO,EAAGW,MAAO,UACnB,CAAEX,MAAO,EAAGW,MAAO,UAGRie,GAAiB,CAC5B,CACE5e,WAAOqR,EAAW1Q,MAAO,IAAKke,WAAY,IAAKre,MAAO,QAExD,CACER,MAAO,KAAMW,MAAO,IAAKke,WAAY,IAAKre,MAAO,QAEnD,CACER,MAAO,EAAGW,MAAO,UAAWke,WAAY,UAAWre,MAAO,QAE5D,CACER,MAAO,EAAGW,MAAO,SAAUke,WAAY,MAAOre,MAAO,WAEvD,CACER,MAAO,EAAGW,MAAO,SAAUke,WAAY,MAAOre,MAAO,aAEvD,CACER,MAAO,EAAGW,MAAO,UAAWke,WAAY,OAAQre,MAAO,QAEzD,CACER,MAAO,EAAGW,MAAO,YAAake,WAAY,SAAUre,MAAO,WAE7D,CACER,MAAO,EAAGW,MAAO,WAAYke,WAAY,QAASre,MAAO,YAIhDse,GAAkB,CAC7BC,MAAO,EACPC,cAAe,EACfC,SAAU,GCnCNC,eACJ,SAAAA,EAAYziB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAilB,IACjBnlB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA4mB,GAAA9kB,KAAAH,KAAMwC,KAiFRgb,eAAiB,WACfC,aAAe,CACb7N,UAAW,SAAA/I,GAA4C,IAAzCoc,EAAyCpc,EAAzCoc,OAAQiC,EAAiCre,EAAjCqe,iBAAkB/E,EAAetZ,EAAfsZ,SAChCgF,EAAYlC,EAAO9c,IAAI,SAAAif,GAAC,MAAK,CACjCrf,MAAOqf,EAAEpmB,GAAI0H,MAAO0e,EAAEnH,UAGxBne,EAAKqB,SAAS,CACZ8hB,OAAQkC,EACRtE,UAAWqE,EACX/E,cAGJxe,QAAS,WACPvC,aAAmB,qDAhGNU,EAqGnBgQ,aAAe,SAAChB,GAAW,IACjBnK,EAAY7E,EAAK0C,MAAjBmC,QADiB9C,EAMrB/B,EAAKM,MAHPilB,EAHuBxjB,EAGvBwjB,mBACAC,EAJuBzjB,EAIvByjB,gBACAC,EALuB1jB,EAKvB0jB,cAGItoB,EAAIoB,OAAAkP,GAAA,EAAAlP,CAAA,GACLyQ,EADK,CAERuW,qBACAC,kBACAC,kBAGFC,aAASvoB,EAAM,CACb2S,UAAW,WACT1Q,aAAqB,iCACGY,EAAK0C,MAArBod,aACUjb,EAAQG,KAAK,iBAEjCnD,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,yDA9HRU,EAoInBwiB,qBAAuB,WAAM,IAEzBha,EACExI,EAAKM,MADPkI,KAEI0V,EAAQ,GAAAlhB,OAAMwL,EAAK2V,OAAX,KAAAnhB,OAAqBwL,EAAK4V,UACxCtQ,GAAQ,CACN9J,MAAO,4BACP+J,SAAQ,gEAAA/Q,OAA4DkhB,EAA5D,KACRlQ,SAAU,gCACVE,QAAS,aACTC,UAAW,WACTyB,aAAkBpH,EAAKe,MACrB,CACEuG,UAAW,WAGT1Q,aAFc,2CACF,qFAGdyC,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,wBAEnBA,aAAmB,yDA1JdU,EAkKnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UApKS7lB,EAuKnB8lB,qBAAuB,SAACC,EAAWC,EAAO/f,GAAU,IAAAggB,EAC1Czd,EAASxI,EAAKM,MAAdkI,KACRxI,EAAKqB,UAAL4kB,EAAA,GAAA1nB,OAAAmR,GAAA,EAAAnR,CAAA0nB,EACGD,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAA0nB,EAAA,OAAA1nB,OAAAkP,GAAA,EAAAlP,CAAA,GAGOiK,EAHPjK,OAAAmR,GAAA,EAAAnR,CAAA,GAIKwnB,EAAY9f,KAJjBggB,KAzKiBjmB,EAkLnBkmB,8BAAgC,WAAM,IAC5BtH,EAAyB5e,EAAKM,MAA9Bse,qBAEF+B,EAAwC,IAAhC/B,EAAqB5Y,OAC/B,EACCiN,KAAK7F,IAALT,MAAAsG,KAAI1U,OAAA4nB,GAAA,EAAA5nB,CAAQqgB,EAAqBvY,IAAI,SAAAkS,GAAI,OAAIA,EAAKoI,UAAU,EAEjE3gB,EAAKqB,SAAS,SAAAqD,GAAS,MAAK,CAC1Bka,qBAAoB,GAAA5hB,OAAAuB,OAAA4nB,GAAA,EAAA5nB,CACfmG,EAAUka,sBADK,CAElB,CACE1f,GAAI,EACJyhB,QACAI,UAAW,CACT9a,MAAO,EACPW,MAAO,IACPwf,SAAU,EACV7N,KAAM,MAERgI,QAAS,CACPta,MAAO,EACPW,MAAO,GACPwf,SAAU,EACV7N,KAAM,MAERyI,MAAO,GACPV,SAAS,SA5MEtgB,EAkNnBqmB,iCAAmC,SAAC1F,GAAU,IAAA2F,EACNtmB,EAAKM,MAAnCse,qBACF2H,QAFsC,IAAAD,EACb,GADaA,GAENjgB,IAAI,SAAAuU,GAAC,OAAArc,OAAAkP,GAAA,EAAAlP,CAAA,GACtCqc,EADsC,CAEzC0F,QAAS1F,EAAE0F,SAAW1F,EAAE+F,QAAUA,MAGpC3gB,EAAKqB,SAAS,CAAEud,qBAAsB2H,KAzNrBvmB,EA4NnBwmB,iBAAmB,SAACtlB,EAAGyf,GAAU,IACvB/B,EAAyB5e,EAAKM,MAA9Bse,qBACF6H,EAAuBloB,OAAA4nB,GAAA,EAAA5nB,CAAOqgB,GAE9B3Y,EAA0B,WAAlB/E,EAAEyO,OAAOlQ,KAAoB0G,OAAOjF,EAAEyO,OAAO1J,OAAS,GAAAjJ,OAAGkE,EAAEyO,OAAO1J,OAAQygB,OAExFD,EAAwB9F,GAAxBpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKkoB,EAAwB9F,GAD7BpiB,OAAAmR,GAAA,EAAAnR,CAAA,GAGK2C,EAAEyO,OAAO7O,KAAKuc,MAAM,KAAK,GAAKpX,IAInCjG,EAAKqB,SAAS,CACZud,qBAAsB6H,KA1OPzmB,EA8OnB2mB,mBAAqB,SAAAnY,GAA6B,IAAAoY,EAA1BzQ,EAA0B3H,EAA1B2H,OAAQrV,EAAkB0N,EAAlB1N,KAAM6f,EAAYnS,EAAZmS,MACpC3gB,EAAKqB,SAAS,CAAEd,SAAS,IADuB,IAGxCqe,EAAyB5e,EAAKM,MAA9Bse,qBACF6H,EAAuBloB,OAAA4nB,GAAA,EAAA5nB,CAAOqgB,GAC9BzhB,GAAIypB,EAAA,GAAAroB,OAAAmR,GAAA,EAAAnR,CAAAqoB,EACP9lB,EAAOqV,GADA5X,OAAAmR,GAAA,EAAAnR,CAAAqoB,EAAA,QAERjG,GAFQiG,GAKVH,EAAwB9F,GAAxBpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKkoB,EAAwB9F,GACxBxjB,GAGL6C,EAAKqB,SAAS,CACZud,qBAAsB6H,EACtBlmB,SAAS,KA/PMP,EAmQnB6mB,mBAAqB,SAACtgB,EAAKN,GACzBjG,EAAKqB,SAAL9C,OAAAmR,GAAA,EAAAnR,CAAA,GAAiBgI,EAAMN,KAlQvBjG,EAAKM,MAAQ,CACXC,SAAS,EACTiI,KAAM,KACNoW,qBAAsB,IAGxB5e,EAAK8lB,qBAAuB9lB,EAAK8lB,qBAAqBvR,KAA1BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KARXA,mFAWC,IAAAS,EAAAP,KAClBA,KAAKwd,iBADa,IAAAla,EAKdtD,KAAKwC,MADPxD,EAJgBsE,EAIhBtE,GAAI2F,EAJYrB,EAIZqB,QAGD3F,GAYLgB,KAAKmB,SAAS,CACZd,SAAS,IAGXumB,aAAU5nB,EAAI,CACZ4Q,UAAW,SAACiX,GAAQ,IAEhB/H,EACE+H,EADF/H,YAAagI,EACXD,EADWC,iBAAkBC,EAC7BF,EAD6BE,cAAeC,EAC5CH,EAD4CG,YAE1CtI,EAAuBmI,EAAInI,qBAAqBvY,IAAI,SAACuU,EAAG+F,GAAJ,OAAApiB,OAAAkP,GAAA,EAAAlP,CAAA,GAAoBqc,EAApB,CAAuB+F,YAE3EnY,EAAIjK,OAAAkP,GAAA,EAAAlP,CAAA,GACLwoB,EADK,CAER/H,cACAgB,aAAc,CACZ/Z,MAAO8gB,EAAIxB,mBACX3e,MAAK,GAAA5J,OAAKgqB,IAEZC,cAAe,CACbhhB,MAAO8gB,EAAIvB,gBACX5e,MAAK,GAAA5J,OAAKiqB,IAEZC,YAAa,CACXjhB,MAAO8gB,EAAItB,cACX7e,MAAK,GAAA5J,OAAKkqB,MAIdzmB,EAAKY,SAAS,CACZd,SAAS,EACTiI,OACAwW,cACAJ,uBACA2G,mBAAoBwB,EAAIxB,mBACxBC,gBAAiBuB,EAAIvB,gBACrBC,cAAesB,EAAItB,iBAGvB5jB,QAAS,SAACvD,GACRmC,EAAKY,SAAS,CACZd,SAAS,IAEPjC,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,wBACnBuF,EAAQG,KAAK,iBAEb1F,aAAmB,sDAzDvBY,KAAKmB,SAAS,CACZmH,KAAM,CACJtJ,GAAI,EACJ8f,aAAa,GAEfJ,qBAAsB,sCA+OnB,IAAAN,EASHpe,KAAKI,MAPPkI,EAFK8V,EAEL9V,KAFK2e,EAAA7I,EAGLM,4BAHK,IAAAuI,EAGkB,GAHlBA,EAILhE,EAJK7E,EAIL6E,OACApC,EALKzC,EAKLyC,UACAV,EANK/B,EAML+B,SACA9f,EAPK+d,EAOL/d,QACAye,EARKV,EAQLU,YARK7U,EAcHjK,KAAKwC,MAHPxD,EAXKiL,EAWLjL,GACA2F,EAZKsF,EAYLtF,QACAib,EAbK3V,EAaL2V,YAGF,OAAIvf,GAAYiI,GAAS2a,EAKvBxf,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,YAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,aAAe,WADvB,mCAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAAT,KACE1W,EAAA1B,EAAAC,cAACklB,GAAD7oB,OAAA+N,OAAA,GACM9D,EADN,CAEEuE,cAAevE,EACfwI,SAAU9Q,KAAK8P,aACfwS,qBAAsBtiB,KAAKsiB,qBAC3BC,OAAQviB,KAAK0lB,aAEbhE,eAAgB1hB,KAAKgmB,8BACrBrE,kBAAmB3hB,KAAKmmB,iCAExBpD,gBAAiB/iB,KAAK4lB,qBACtBhE,aAAc5hB,KAAKsmB,iBACnBzE,eAAgB7hB,KAAKymB,mBAErB3H,YAAaA,EACboE,eAAgBljB,KAAK2mB,mBAErBhiB,QAASA,EAET+Z,qBAAsBA,EAEtBuE,OAAQA,EACRpC,UAAWA,EACXV,SAAUA,EACVgD,iBAAkBgB,GAClBf,eAAgBqB,GAChBpB,QAASqB,GACT9E,YAAaA,QA7Cdnc,EAAA1B,EAAAC,cAACmd,GAAD,aAzRmBlc,iBAoVhCgiB,GAAkB9d,aAAe,CAC/ByY,aAAa,GAGAqF,4BCvUR,SAASkC,GAAuB5pB,GACrC,OAAOkB,aAAM,GAAA3B,OAAIV,KAAJ,qBACV+B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KAqH5C,SAASkpB,GAAatoB,EAAIgc,GAC/B,OAAOvc,aAAM,GAAA3B,OAAIV,KAAJ,KAAAU,OAAmBkC,IAC7Bb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SCvKnDmpB,eAKJ,SAAAA,EAAY/kB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAunB,IACjBznB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAkpB,GAAApnB,KAAAH,KAAMwC,KA4DRglB,oBAAsB,SAAC9U,EAAMiH,EAAUgE,GDvElC,IAAuBpgB,EACtBsgB,ECuEJ/d,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,KD3ElBE,GADsBtgB,EC8EZ,CACZsgB,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,oDD5FE7B,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IAClB7a,aAAO,GAAAhC,OAAIV,KAAJ,QAAuByhB,GAClC1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MCH9B0B,EAwFnB2nB,oBAAsB,SAACC,GACrB,IAAM9mB,EAAI,GAAA9D,OAAM4qB,EAAQzJ,OAAd,KAAAnhB,OAAwB4qB,EAAQxJ,UAC1CtQ,GAAQ,CACN9J,MAAO,gBACP+J,SAAQ,yCAAA/Q,OAAwC8D,EAAxC,KACRkN,SAAU,oBACVE,QAAS,aACTC,UAAW,WDqFV,IAAuBjP,EAAIgc,EAAJhc,ECpFR0oB,EAAQ1oB,GDoFIgc,ECnFxB,CACEpL,UAAW,WACT1Q,aAAqB,+BADN,IAAA2C,EAEY/B,EAAKM,MAAxBsS,EAFO7Q,EAEP6Q,KAAMiH,EAFC9X,EAED8X,SACd7Z,EAAK0nB,oBAAoB9U,EAAMiH,IAEjChY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,uBAEnBA,aAAmB,wCD0E1BH,aAAS,GAAAnC,OAAIV,KAAJ,KAAAU,OAAmBkC,IAChCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SC9LpC0B,EAmHnB6nB,gCAAkC,SAACD,GACb5nB,EAAK0C,MAAjBmC,QACAG,KAAR,0CAAAhI,OAAuD4qB,EAAQ1oB,MArH9Cc,EAwHnB8nB,YAAc,SAACF,GACO5nB,EAAK0C,MAAjBmC,QACAG,KAAR,wBAAAhI,OAAqC4qB,EAAQ1oB,MA1H5Bc,EA6HnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAK0nB,oBAAoB9U,EAAMiH,EAAUgE,KAhI1B7d,EAoInBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK0nB,oBAAoB,EAAG7N,EAAU7K,KAvIvBhP,EA4InBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK0nB,oBAAoB,EAAG7N,EAAU,KA9IrB7Z,EAiJnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAnJfvG,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,KAEjBc,EAAKyZ,QAAU,CACb,CACElT,IAAK,eACLzF,KAAM,WACNqP,MAAO,OACP+J,QAAQ,EACRza,KAAM,UAER,CACE8G,IAAK,kBACLzF,KAAM,cACNoZ,QAAQ,EACRza,KAAM,SACN0Q,MAAO,SAET,CAAE5J,IAAK,SAAUzF,KAAM,SAAUoZ,QAAQ,GACzC,CAAE3T,IAAK,WAAYzF,KAAM,WAAYoZ,QAAQ,GAC7C,CAAE3T,IAAK,QAASzF,KAAM,QAASoZ,QAAQ,GACvC,CAAE3T,IAAK,UAAWzF,KAAM,UAAWoZ,QAAQ,GAC3C,CAAE3T,IAAK,UAAWzF,KAAM,SAAUqP,MAAO,SAE3CnQ,EAAKob,QAAU,CACb,CACE7U,IAAK,qBACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,YAAYyB,MAAM,4BACxCkX,SAAU,SAAC0M,GACT5nB,EAAK6nB,gCAAgCD,KAGzC,CACErhB,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,kBACzCkX,SAAU,SAAC0M,GACT5nB,EAAK8nB,YAAYF,KAGrB,CACErhB,IAAK,SACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,kBAC1CkX,SAAU,SAAC0M,GACT5nB,EAAK2nB,oBAAoBC,MAlDd5nB,mFAwDC,IAAAkf,EACShf,KAAKI,MAAxBsS,EADUsM,EACVtM,KAAMiH,EADIqF,EACJrF,SACd3Z,KAAKwnB,oBAAoB9U,EAAMiH,oCA8FxB,IAAApZ,EAAAP,KAAAif,EAQHjf,KAAKI,MANPC,EAFK4e,EAEL5e,QACAmZ,EAHKyF,EAGLzF,MACA9G,EAJKuM,EAILvM,KACAiH,EALKsF,EAKLtF,SACAC,EANKqF,EAMLrF,gBACA+D,EAPKsB,EAOLtB,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,uBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,kBAAkB2B,GAAG,uBACnCP,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eADf,4BAMNoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EAAUoD,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAAI1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,gBAEpBoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,iDACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aAlMFpc,iBA4MjBC,eAAWqkB,4CCnCnB,SAASM,GAAgBC,EAAa9M,GAC3C,OAAOlc,aAAO,GAAAhC,OAAIR,KAAJ,qBAA2CwrB,GACtD3pB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KAuClD,SAAS2pB,GAATC,GAIJ,IAAAC,EAAAD,EAHDnK,gBAGC,IAAAoK,EAHW,CAAEvV,KAAM,EAAGiH,SAAU,IAGhCsO,EAFDrY,EAECoY,EAFDpY,UACAjO,EACCqmB,EADDrmB,QAEA,OAAO7C,aAAO,GAAAhC,OAAIR,KAAJ,4BAAkDuhB,GAC7D1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KC1KpB,SAAS8pB,GAATC,GAAyC,IAA1BnpB,EAA0BmpB,EAA1BnpB,GAAI4Q,EAAsBuY,EAAtBvY,UAAWjO,EAAWwmB,EAAXxmB,QACnC,OAAOlD,aAAM,GAAA3B,OAAIL,KAAJ,KAAAK,OAA0BkC,IACpCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KAoBpB,SAASgqB,GAAKC,EAAKrN,GACxB,OAAOlc,aAAO,GAAAhC,OAAIL,MAAsB4rB,GACrClqB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KA6FlD,SAASkqB,GAAOtpB,EAAIgc,GACzB,OAAO/b,aAAS,GAAAnC,OAAIL,KAAJ,KAAAK,OAA0BkC,IACvCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KAkBlD,SAASqf,GAAT8K,GAAgD,IAAtB3Y,EAAsB2Y,EAAtB3Y,UAAWjO,EAAW4mB,EAAX5mB,QAC1C,OAAOlD,aAAM,GAAA3B,OAAIL,KAAJ,eACV0B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KAkBpB,SAASoqB,GAATC,GAEJ,IADDC,EACCD,EADDC,UAAW9Y,EACV6Y,EADU7Y,UAAWjO,EACrB8mB,EADqB9mB,QAEtB,OAAOlD,aAAM,GAAA3B,OAAIL,KAAJ,uBAAAK,OAA4C4rB,IACtDvqB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KAkCpB,SAASuqB,GAAmBprB,GACjC,IAAMogB,EAAUpgB,GAASA,EAAOogB,SAAgB,GAChD,OAAO5e,aAAM,GAAAjC,OAAIL,KAAJ,oBAA0Cc,EAAOyB,GAAI2e,GAC/Dxf,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KAsB5C,SAASwqB,GAATC,GAAkE,IAA1B7pB,EAA0B6pB,EAA1B7pB,GAAI4Q,EAAsBiZ,EAAtBjZ,UAAWjO,EAAWknB,EAAXlnB,QAC5D,OAAO/C,aAAW,GAAA9B,OAAIL,KAAJ,oCAAAK,OAAyDkC,IACxEb,KAAK,SAACK,GACL,IAAME,EAAMuC,OAAO6nB,IAAIC,gBAAgBvqB,GACjCwqB,EAAOC,SAASjnB,cAAc,KACpCgnB,EAAKpnB,KAAOlD,EACZsqB,EAAKE,SAAW,eAChBD,SAASzrB,KAAK2rB,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKV,SACD1Y,GAAWA,EAAUpR,KAE1B6oB,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,SCtVrBirB,eAOJ,SAAAA,EAAY7mB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAqpB,IACjBvpB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAgrB,GAAAlpB,KAAAH,KAAMwC,KAiDR8mB,YAAc,SAAC5W,EAAMiH,EAAUgE,GAC7B7d,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,KDlCnB,SAAAqK,GAKJ,IAJDU,EAICV,EAJDU,UAICT,EAAAD,EAHDnK,gBAGC,IAAAoK,EAHU,CAAEvV,KAAM,EAAGiH,SAAU,IAG/BsO,EAFDrY,EAECoY,EAFDpY,UACAjO,EACCqmB,EADDrmB,QAEO7C,aAAO,GAAAhC,OAAIL,KAAJ,KAAAK,OAA0B4rB,EAA1B,gBAAmD7K,GAC9D1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KCsBvBmrB,CAAiB,CACfb,UAFsC5oB,EAAK0C,MAArCgnB,iBAGN3L,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAAA/I,GAAgC,IAA7B2S,EAA6B3S,EAA7B2S,MAAOI,EAAsB/S,EAAtB+S,gBACnB9Z,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,QACAI,qBAGJjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,mDA1ENU,EA+EnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA7Q,EACsB/B,EAAKM,MAA3BuZ,EADA9X,EACA8X,SAAUgE,EADV9b,EACU8b,QAClB7d,EAAKwpB,YAAY5W,EAAMiH,EAAUgE,KAlFlB7d,EAsFnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKwpB,YAAY,EAAG3P,EAAU7K,KAzFfhP,EA6FnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKwpB,YAAY,EAAG3P,EAAU,KA/Fb7Z,EAkGnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAtGEvG,EAyGnBmb,OAAS,SAAAlV,GAAK,OACZtC,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,QAAAvJ,OAAUiJ,GAASS,MAAO,CAAE6P,QAAS,SAC1C5S,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEb,IAAG,QAAAvJ,OAAUiJ,GACbQ,MAAQN,OAAOF,GAAuB,UAAd,aAEvBA,KA7GLjG,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,KAGjBc,EAAKyZ,QAAU,SAAAkQ,GAA4B,MAAI,CAC7C,CACEpjB,IAAK,KACLzF,KAAM,IACNqP,MAAO,OACPgL,OAAQ,SAAA3M,GAAA,IAAGtP,EAAHsP,EAAGtP,GAAI0qB,EAAPpb,EAAOob,eAAP,SAAA5sB,OAA+BkC,GAAM0qB,KAE/C,CACErjB,IAAK,QAASzF,KAAM,QAASqP,MAAO,OAAQ+J,QAAQ,GAEtD,CACE3T,IAAK,kBACLzF,KAAM,mBACNqP,MAAO,OACP5N,UAAW,cACX4Y,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAI6R,mBAExB,CACEtjB,IAAK,eACLzF,KAAM,gBACNqP,MAAO,OACP5N,UAAW,cACX4Y,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAI8R,gBAExB,CACEvjB,IAAK,wBACLgT,QAASoQ,EACT7oB,KAAM,0BACNqP,MAAO,OACP5N,UAAW,iBAxCEvC,mFA6CC,IAAAse,EACSpe,KAAKI,MAAxBsS,EADU0L,EACV1L,KAAMiH,EADIyE,EACJzE,SACd3Z,KAAKspB,YAAY5W,EAAMiH,oCAqEhB,IAAApZ,EAAAP,KAKP,GAFIA,KAAKI,MADPC,QAIA,OAAOoD,EAAA1B,EAAAC,cAACmd,GAAD,MANF,IAULsK,EACEzpB,KAAKwC,MADPinB,6BAVKzK,EAmBHhf,KAAKI,MALPoZ,EAdKwF,EAcLxF,MACA9G,EAfKsM,EAeLtM,KACAiH,EAhBKqF,EAgBLrF,SACAC,EAjBKoF,EAiBLpF,gBACA+D,EAlBKqB,EAkBLrB,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,uCACNyV,QAASvZ,KAAKuZ,QAAQkQ,GACtBjQ,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,YA9JIpc,iBAqKjBC,eAAWmmB,ICvKpBQ,GAAgB,SAAAhjB,GAOhB,IAAAijB,EAAAjjB,EANJ2S,aAMI,IAAAsQ,EANI,GAMJA,EAAAC,EAAAljB,EALJmjB,kBAKI,IAAAD,EALS,GAKTA,EAAAE,EAAApjB,EAJJqjB,uBAII,IAAAD,EAJc,GAIdA,EAHJrI,EAGI/a,EAHJ+a,aAGIuI,EAAAtjB,EAFJujB,sBAEI,IAAAD,EAFa,GAEbA,EAAAE,EAAAxjB,EADJ8B,gBACI,IAAA0hB,KAAAC,EAY2BF,EAAvBG,qBAZJ,IAAAD,EAYoB,GAZpBA,EAaEE,EAAiB,CACrB,CACE5pB,KAAM6C,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,yBAA2B/B,MAAOqkB,EAAeK,oBAEzD,CAAE7pB,KAAM6C,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,2BAA6B/B,MAAOqkB,EAAeM,sBAC3D,CAAE9pB,KAAM6C,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,yBAAuB/B,MAAOqkB,EAAeO,yBACrD,CAAE/pB,KAAM6C,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,eAAa/B,MAAOqkB,EAAeQ,oBAG7C,OACEnnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,gBAAgBmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,SACvEpnB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,+BAA+BmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,SACxFpnB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,YACAoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,kBAGJoB,EAAA1B,EAAAC,cAAA,aACGgoB,EAAW7jB,IAAI,SAAAmI,EAIbmS,GAJa,IACdzhB,EADcsP,EACdtP,GACA+rB,EAFczc,EAEdyc,SACAlK,EAHcvS,EAGduS,UAHc,OAKdpd,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,MAAAvJ,OAAQkC,GAAMA,GAAE,MAAAlC,OAAQkC,IAC7ByE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,eAAAlF,OAAU2jB,EAAQ,EAAlB,OAAA3jB,OAAyBiuB,MAG7BtnB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,YA9CL,SAAA6e,GAAS,OACtBpd,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,QAAAvJ,OAAU+jB,EAAU9a,OAASS,MAAO,CAAE6P,QAAS,SACpD5S,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEb,IAAG,QAAAvJ,OAAU+jB,EAAU9a,OACvBQ,MAA2B,IAApBsa,EAAU9a,MAAc,YAAc,WAExB,IAApB8a,EAAU9a,MAAc,GAAK,SAAU8a,EAAUna,QAwC7BuU,CAAO4F,YAQ5Bpd,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,+BAA+BmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,SACxFpnB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAI8f,QAAQ,IAAIzf,UAAU,0BAA1B,sBAGJoB,EAAA1B,EAAAC,cAAA,aACGwoB,EAAerkB,IAAI,SAAA6hB,EAGjBvH,GAHiB,IAClB7f,EADkBonB,EAClBpnB,KACAmF,EAFkBiiB,EAElBjiB,MAFkB,OAIlBtC,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,MAAAvJ,OAAQiJ,EAAR,KAAAjJ,OAAiB2jB,EAAQ,GAAKzhB,GAAE,MAAAlC,OAAQiJ,EAAR,KAAAjJ,OAAiB2jB,IACtDhd,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,YAAOpB,KAGX6C,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,YAAO+D,WAQrBtC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,+BAA+BmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,SACxFpnB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAYoB,EAAA1B,EAAAC,cAAA,oCAC1ByB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAYoB,EAAA1B,EAAAC,cAAA,8BAG9ByB,EAAA1B,EAAAC,cAAA,aACGwX,EAAMrT,IAAI,SAAA6kB,GAAA,IACThsB,EADSgsB,EACThsB,GACAisB,EAFSD,EAETC,IACAC,EAHSF,EAGTE,8BACAC,EAJSH,EAITG,WACAC,EALSJ,EAKTI,QALS,OAOT3nB,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,MAAAvJ,OAAQkC,GAAMA,GAAE,MAAAlC,OAAQkC,IAC7ByE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,YAAOkpB,EAA8BxkB,SAGzCjD,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,YAAOipB,EAAIvkB,MAAX,KAAoBykB,EAApB,IAAiCC,WAQ/C3nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,+BAA+BmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,SACxFpnB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UAEI2G,IAAayhB,EAAeiB,sBAC1B5nB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,0BACZoB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQiV,IAAK,WAClC7nB,EAAA1B,EAAAC,cAAA,sCACAyB,EAAA1B,EAAAC,cAAA,YAAOkoB,KAIXzmB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mBAAmBmE,MAAO,CAAEub,aAAc,SACvDte,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,yBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,kBACL4P,UAAW1D,GACXvN,KAAK,OACL0L,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,sBAC1Bre,UAAW,GACXD,YAAY,0BACZS,aAAa,QACbiI,aAAcyU,EACdlkB,SAAU4b,QAQxBne,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAYoB,EAAA1B,EAAAC,cAAA,kCAG9ByB,EAAA1B,EAAAC,cAAA,aACGuoB,EAAcpkB,IAAI,SAAAgiB,GAAA,IACjB9H,EADiB8H,EACjB9H,QAASkL,EADQpD,EACRoD,YADQ,OAGjB9nB,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,oBAAAvJ,OAAsByuB,GAAevsB,GAAE,oBAAAlC,OAAsByuB,IAClE9nB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,YAAOqe,cAuB7BwJ,GAAc1iB,aAAe,CAC3B8E,KAAM,GACNie,gBAAiB,GACjBvhB,UAAU,GAGGkhB,UCpKR,SAASlrB,GAATqpB,GAA2C,IAA1BhpB,EAA0BgpB,EAA1BhpB,GAAI4Q,EAAsBoY,EAAtBpY,UAAWjO,EAAWqmB,EAAXrmB,QACrC,OAAOlD,aAAM,GAAA3B,OAAIT,KAAJ,KAAAS,OAAsBkC,IAChCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAKb,OAFIwR,GAAWA,EAAUwX,GAElBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KAkCpB,SAASotB,GAATC,GAEJ,IADDC,EACCD,EADDC,aAAcC,EACbF,EADaE,QAAS/b,EACtB6b,EADsB7b,UAAWjO,EACjC8pB,EADiC9pB,QAElC,OAAO7C,aAAO,GAAAhC,OAAIT,KAAJ,KAAAS,OAAsB4uB,EAAtB,oBAAsDC,GACjExtB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAKb,OAFIwR,GAAWA,EAAUwX,GAElBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,SChFrBwtB,eAMJ,SAAAA,EAAYppB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAA4rB,IACjB9rB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAutB,GAAAzrB,KAAAH,KAAMwC,KAwIRqpB,aAAe,WAAmB,IAAlBC,EAAkBpf,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GAAOqf,EAG5BD,EADFpZ,YAF8B,IAAAqZ,EAEvB,EAFuBA,EAAAC,EAG5BF,EADQnS,gBAFoB,IAAAqS,EAET,GAFSA,EAAAC,EAG5BH,EADuBlS,uBAFK,IAAAqS,EAEa,EAFbA,EAAAC,EAG5BJ,EAD4CnO,QAG1Cvd,EAAQ,CACZud,cAN8B,IAAAuO,EAE0B,GAF1BA,IAMV,CAAEC,WAAY,IAClCzZ,OACAiH,WACAC,mBAGF9Z,EAAKssB,WAAL/tB,OAAAkP,GAAA,EAAAlP,CAAA,GAAqB+B,KArJJN,EAwJnBssB,WAAa,SAAAvlB,GAAiC,IAA9B6L,EAA8B7L,EAA9B6L,KAAMiH,EAAwB9S,EAAxB8S,SAAUgE,EAAc9W,EAAd8W,QAE5B0O,EACEvsB,EAAK0C,MADP6pB,gBAGFvsB,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,KDtKnB,SAAArP,GAKJ,IAJD+d,EAIC/d,EAJD+d,gBAICC,EAAAhe,EAHDuP,gBAGC,IAAAyO,EAHW,CAAE5Z,KAAM,EAAGiH,SAAU,IAGhC2S,EAFD1c,EAECtB,EAFDsB,UACAjO,EACC2M,EADD3M,QAEO7C,aAAO,GAAAhC,OAAIT,KAAJ,KAAAS,OAAsBuvB,EAAtB,OAA4CxO,GACvD1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KC0JvBmuB,CAAQ,CACNF,kBACAxO,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAAAtB,GAA2C,IAAxCuP,EAAwCvP,EAAxCuP,SAAU2O,EAA8Ble,EAA9Bke,QAASC,EAAqBne,EAArBme,eACvBjT,EAA2BqE,EAA3BrE,MAAOI,EAAoBiE,EAApBjE,gBACf9Z,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,QACAI,kBACA4S,UACAC,oBAGJ9qB,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,iEAvLNU,EA4LnB4sB,eAAiB,WACf5sB,EAAKqB,SAAS,CACZ8Y,UAAU,IAGZna,EAAK+rB,gBAjMY/rB,EAoMnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA7Q,EACsB/B,EAAKM,MAA3BuZ,EADA9X,EACA8X,SAAUgE,EADV9b,EACU8b,QAClB7d,EAAK+rB,aAAa,CAAEnZ,OAAMiH,WAAUgE,cAvMrB7d,EA2MnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK+rB,aAAa,CAAEnZ,KAAM,EAAGiH,WAAU7K,aA9MxBhP,EAkNnBwe,wBAA0B,WAAM,IAAAF,EACAte,EAAKM,MAA3BuZ,EADsByE,EACtBzE,SACAP,EAFsBgF,EACZT,QACVvE,eACRtZ,EAAK+rB,aAAa,CAAEnZ,KAAM,EAAGiH,WAAUgE,QAAS,CAAEvE,qBArNjCtZ,EAwNnB6sB,SAAW,WAAM,IAAA3N,EAC6Blf,EAAKM,MADlCwsB,EAAA5N,EACP6N,gBADO,IAAAD,EACI,GADJA,EACQE,EADR9N,EACQ8N,iBAEjBrM,EAAQoM,EAASE,UAAU,SAAAhT,GAAC,OAAIA,EAAEiT,YAAcF,IAGhDpF,EAAUmF,EAFCpM,EAAQ,IAAMoM,EAAS/mB,OAAS,EAAI2a,EAAQ,GAI7D3gB,EAAKqB,SAAS,CAAE2rB,iBAAkBpF,EAAQsF,aAhOzBltB,EAmOnBmtB,aAAe,WAAM,IAAAhO,EACyBnf,EAAKM,MAD9B8sB,EAAAjO,EACX4N,gBADW,IAAAK,EACA,GADAA,EACIJ,EADJ7N,EACI6N,iBAEjBrM,EAAQoM,EAASE,UAAU,SAAAhT,GAAC,OAAIA,EAAEiT,YAAcF,IAC9CE,EAAcH,EAAmB,IAAVpM,EAAcoM,EAAS/mB,OAAS,EAAI2a,EAAQ,GAAnEuM,UAERltB,EAAKqB,SAAS,CAAE2rB,iBAAkBE,KAzOjBltB,EA4OnBqtB,kBAAoB,SAAAnF,GASd,IARJ0D,EAQI1D,EARJ0D,aACAoB,EAOI9E,EAPJ8E,iBACAM,EAMIpF,EANJoF,gBACAC,EAKIrF,EALJqF,eACAC,EAIItF,EAJJsF,WACAC,EAGIvF,EAHJuF,UACAC,EAEIxF,EAFJwF,SACAC,EACIzF,EADJyF,eAGA,OAD2B3tB,EAAKM,MAAxBstB,eAECjqB,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,yBACVmE,MAAO,CAAEmnB,UAAW,SAAU3R,eAAgB,kBAE9CvY,EAAA1B,EAAAC,cAAA,UACEqE,IAAG,qBAAAvJ,OAAuB4uB,EAAvB,KAAA5uB,OAAuCgwB,GAC1CvtB,KAAK,SACL8C,UAAU,gBACVqB,QAAS2pB,GAET5pB,EAAA1B,EAAAC,cAAA,QACEqE,IAAG,kBAAAvJ,OAAoB4uB,EAApB,KAAA5uB,OAAoCgwB,GACvChpB,MAAM,WACNzB,UAAU,mCAGdoB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQ0C,SAAU,SAAU6U,aAAc,WAC/DnqB,EAAA1B,EAAAC,cAAA,WAAMyrB,GACNhqB,EAAA1B,EAAAC,cAAA,QACEK,UAAS,eAAAvF,OAAiBswB,EAAgB7mB,OAC1CC,MAAO,CAAEqnB,UAAW,WAEnBT,EAAgBU,aAEnBrqB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UACEqE,IAAG,aAAAvJ,OAAe4uB,EAAf,KAAA5uB,OAA+BgwB,GAClCvtB,KAAK,SACL8C,UAAU,gBACVqB,QAAS,kBAAM6pB,EAAU,CAAE7B,eAAcsB,UAAWF,MAEpDrpB,EAAA1B,EAAAC,cAAA,QACEqE,IAAG,WAAAvJ,OAAa4uB,EAAb,KAAA5uB,OAA6BgwB,GAChChpB,MAAM,WACNzB,UAAU,uBAGdoB,EAAA1B,EAAAC,cAAA,UACEqE,IAAG,aAAAvJ,OAAe4uB,EAAf,KAAA5uB,OAA+BgwB,GAClCvtB,KAAK,SACL8C,UAAU,gBACVqB,QAAS,kBAAM8pB,EAAS,CAAE9B,eAAcsB,UAAWF,MAEnDrpB,EAAA1B,EAAAC,cAAA,QACEqE,IAAG,WAAAvJ,OAAa4uB,EAAb,KAAA5uB,OAA6BgwB,GAChChpB,MAAM,UACNzB,UAAU,yBAKlBoB,EAAA1B,EAAAC,cAAA,UACEqE,IAAG,sBAAAvJ,OAAwB4uB,EAAxB,KAAA5uB,OAAwCgwB,GAC3CvtB,KAAK,SACL8C,UAAU,gBACVqB,QAAS4pB,GAET7pB,EAAA1B,EAAAC,cAAA,QACEqE,IAAG,oBAAAvJ,OAAsB4uB,EAAtB,KAAA5uB,OAAsCgwB,GACzChpB,MAAM,WACNzB,UAAU,uCAzTHvC,EAiUnBiuB,UAAY,WAAM,IAAAC,EAUZluB,EAAKM,MARP6Z,EAFc+T,EAEd/T,SACAT,EAHcwU,EAGdxU,MACA9G,EAJcsb,EAIdtb,KACAiH,EALcqU,EAKdrU,SACAC,EANcoU,EAMdpU,gBACA+D,EAPcqQ,EAOdrQ,QACA6O,EARcwB,EAQdxB,QACAC,EATcuB,EASdvB,eAGF,OAAIxS,EACK,KAIPxW,EAAA1B,EAAAC,cAACod,GAAD,CACE/Y,IAAI,aACJvC,MAAM,mCACNyV,QAASzZ,EAAKyZ,QAAQ,CAAEiT,UAASC,mBACjCjT,MAAOA,EACP3G,aAAc/S,EAAK+S,aACnB+G,gBAAiBA,EACjB9I,SAAUhR,EAAKue,kBACf3E,eAAgB5Z,EAAKwe,wBAErB1L,YAAa4G,EAAM1T,OACnB4M,KAAMA,EACNiH,SAAUA,EACVP,eAAgBuE,EAAQvE,eACxBvM,cAAe8Q,EACf0B,oBAAkB,KA9VtBvf,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTqtB,gBAAgB,EAChBlU,MAAO,GACPgT,QAAS,GACTC,eAAgB,GAChB9O,QAAS,CAAE3e,GAAI,IACfib,UAAU,EACV4S,SAAU,GACVC,iBAAkB,GAGpBhtB,EAAKyZ,QAAU,SAAAyR,GAA8C,IAA3CwB,EAA2CxB,EAA3CwB,QAASC,EAAkCzB,EAAlCyB,eAAgBwB,EAAkBjD,EAAlBiD,YAGnCC,EAAoB1B,EAAQrmB,IAAI,SAAAgiB,GAAA,MAA8B,CAAEuD,aAAhCvD,EAAGnpB,GAA+CuV,KAAlD4T,EAAO5T,KAAiD4Z,UAAxDhG,EAAagG,aAE7CC,EAAuB3B,EAC1BtmB,IAAI,SAAAslB,GAAA,MAA2C,CAAEC,aAA7CD,EAAGC,aAAwDsB,UAA3DvB,EAAiBuB,UAAqDqB,QAAtE5C,EAA4B4C,WAC7BC,EAAmBJ,EAAkBpoB,OACrCyoB,EAAiB,GAEvB9B,EACGtmB,IAAI,SAAAqoB,GAAA,MAA6B,CAAExB,UAA/BwB,EAAGxB,UAAuCqB,QAA1CG,EAAcH,WAClBI,OAAO,SAACrH,EAADsH,GAAiC,IAAzB1B,EAAyB0B,EAAzB1B,UAAWqB,EAAcK,EAAdL,QAQzB,OAPKjH,EAAI4F,KACP5F,EAAI4F,GAAa,CAAEA,YAAWhvB,GAAI,GAClCuwB,EAAezpB,KAAKsiB,EAAI4F,KAG1B5F,EAAI4F,GAAWhvB,IAAMqwB,EAAU,EAAI,EAE5BjH,GACN,IAEL,IAAMuH,EAAoBT,EAAkB/nB,IAAI,SAAApE,GAAC,MAAK,CACpDsE,IAAG,aAAAvJ,OAAeiF,EAAE2pB,cACpB9qB,KACE6C,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,SAAU4S,cAAe,WACtEnrB,EAAA1B,EAAAC,cAAA,WAAMwa,GAAaza,EAAEwS,MAAOxS,EAAEosB,UAAF,IAAArxB,OAAkBiF,EAAEosB,WAAc,IAC9D1qB,EAAA1B,EAAAC,cAAC4c,GAAD,CACEvY,IAAG,UAAAvJ,OAAYiF,EAAE2pB,cACjB1sB,GAAI+C,EAAE2pB,aACN3lB,MAAOsW,GAAata,EAAEwS,MACtB7N,MAAO3E,EAAEosB,UACT5nB,MAAM,eAIZ0J,MAAO,OACP5N,UAAW,cACX4Y,OAAQ,SAAA4T,GAAmB,IAAhB7B,EAAgB6B,EAAhB7B,UACH8B,EAAsBV,EACzB5W,KAAK,SAAAuX,GAAE,OAAIA,EAAGrD,eAAiB3pB,EAAE2pB,cAAgBqD,EAAG/B,YAAcA,IAErE,OAAK8B,GAAuD,OAAhCA,EAAoBT,SAIZ,IAAhCS,EAAoBT,QAEpB5qB,EAAA1B,EAAAC,cAAA,QAAMoE,KAAK,MAAM4oB,aAAW,WAA5B,gBAKFvrB,EAAA1B,EAAAC,cAAA,QAAMoE,KAAK,MAAM4oB,aAAW,YAA5B,gBAVOvrB,EAAA1B,EAAAC,cAAA,QAAMoE,KAAK,MAAM4oB,aAAW,kBAA5B,oBAeb,SAAAlyB,OA1Da,GA4DR,CACD,CACEuJ,IAAK,aACLzF,KAAM,eACNoX,SAAUiW,EACVhe,MAAO,QACP5N,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB8C,OAAQ,SAAAgU,GAAA,IAAcjwB,EAAdiwB,EAAGjC,UAAH,OACNvpB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAM,UACN2oB,MAAI,EACJ1oB,MAAO,CACLqnB,UAAW,SACXnX,WAAY,WAIZ6X,EAAezU,OAAO,SAAAqV,GAAA,IAAGnC,EAAHmC,EAAGnC,UAAH,OAAmBhuB,IAAOguB,IAC7C7mB,IAAI,SAAAoiB,GAAA,IAAGvqB,EAAHuqB,EAAGvqB,GAAH,OAAY+U,KAAKqc,MAAOpxB,EAAKswB,EAAoB,OAAM,IAC3D,MAtBfjwB,OAAA4nB,GAAA,EAAA5nB,CA4BKswB,KAzGU7uB,mFAiHbE,KAAKwC,MADP6sB,eAUFrvB,KAAK6rB,eANH7rB,KAAKmB,SAAS,CACZd,SAAS,+CAQIyC,GAAW,IACpBusB,EAAmBrvB,KAAKwC,MAAxB6sB,eAEJA,IAAmBvsB,EAAUusB,gBAI7BA,GACFrvB,KAAK6rB,gDAsOP,OAFI7rB,KAAKI,MADPC,QAIOoD,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACGlf,KAAK+tB,oBAvXoB9qB,iBAkYnBoJ,MALkB0E,aAAU,CACzCC,KAAM,sBACNqO,oBAAoB,GAFWtO,CAG9B6a,KC7XG0D,eAMJ,SAAAA,EAAY9sB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAsvB,IACjBxvB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAixB,GAAAnvB,KAAAH,KAAMwC,KAsBR+sB,kBAAoB,WAAM,IAChBvwB,EAAOc,EAAK0C,MAAZxD,GACRc,EAAKqB,SAAS,CAAEd,SAAS,INjCtB,SAAAwG,GAAoD,IAA1B7H,EAA0B6H,EAA1B7H,GAAI4Q,EAAsB/I,EAAtB+I,UAAWjO,EAAWkF,EAAXlF,QACvClD,aAAM,GAAA3B,OAAIR,KAAJ,QAAAQ,OAA6BkC,IACvCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KMwBvBoxB,CAAe,CACbxwB,KACA4Q,UAAW,SAACwa,GACVtqB,EAAKqB,SAAS,CACZipB,iBAAgB/pB,SAAS,KAG7BsB,QAAS,WACP7B,EAAKqB,SAAS,CACZipB,eAAgB,GAAI/pB,SAAS,IAE/BjB,aAAmB,wDArCNU,EA0CnByE,OAAS,SAACkrB,GAER,GADsB3vB,EAAKM,MAAnBsvB,YACUD,EAAK,CACrB,GAAY,MAARA,EAMF,YALA3vB,EAAKqB,SAAS,CACZuuB,UAAWD,EACXJ,gBAAgB,IAMpBvvB,EAAKqB,SAAS,CACZuuB,UAAWD,EACXJ,gBAAgB,MAxDHvvB,EA6DnB6lB,OAAS,WACa7lB,EAAK0C,MAAjBmC,QACAghB,UA/DS7lB,EAkEnBmb,OAAS,SAAAlV,GAAK,OACZtC,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEb,IAAG,QAAAvJ,OAAUiJ,GACbS,MAAO,CAAEuS,SAAU,UACnBxS,MAAQN,OAAO0pB,UAAU5pB,GAAuB,UAAd,aAEjCA,EAAQE,OAAO0pB,UAAU5pB,GAAc,IAAL,KAtErCjG,EAAKM,MAAQ,CACXC,SAAS,EACTqvB,UAAW,IACXtF,eAAgB,KAChBiF,gBAAgB,GAGlBvvB,EAAKqY,WAAa,CAChBY,SAAU,OACV7I,OAAQ,OACR3J,MAAO,cACPsnB,UAAW,SACXnX,WAAY,OACZjQ,gBAAiB,WAfF3G,mFAoBjBE,KAAKuvB,qDAwDE,IAAAhvB,EAAAP,KAAA6B,EAMH7B,KAAKI,MAJPgqB,EAFKvoB,EAELuoB,eACA/pB,EAHKwB,EAGLxB,QACAqvB,EAJK7tB,EAIL6tB,UACAL,EALKxtB,EAKLwtB,eAGF,OAAIhvB,IAAY+pB,EAEZ3mB,EAAA1B,EAAAC,cAACmd,GAAD,MAKF1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI3T,MAAO,CAAEmQ,aAAc,MAAOiZ,YAAa,QACtDnsB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,0BACZoB,EAAA1B,EAAAC,cAAA,YAAOooB,EAAe/J,SACtB5c,EAAA1B,EAAAC,cAAA,UAAKooB,EAAeyF,UAGtBpsB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAEspB,UAAW,WACxCrsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,EAAG5V,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAE6P,QAAS,OAAQsX,UAAW,WAChElqB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,WAAmC,KACnCoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAa+nB,EAAe4F,WAG9CvsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,EAAG5V,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAE6P,QAAS,OAAQsX,UAAW,WAChElqB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,YAAoC,KACpCoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAa+nB,EAAe6F,YAG9CxsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,EAAG5V,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAE6P,QAAS,OAAQsX,UAAW,WAChElqB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,UAA+B,KAC/BoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAa+nB,EAAe8F,QAG9CzsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,EAAG5V,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAE6P,QAAS,OAAQsX,UAAW,WAChElqB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,qBAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,GAAID,GAAI,GAAI2Q,GAAI,IAEvBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,gBAAgBmE,MAAO,CAAEub,aAAc,SACpDte,EAAA1B,EAAAC,cAACmuB,GAAD,CACE9pB,IAAI,gBACJzF,KAAK,gBACL+H,SAAS,OACTuhB,gBAAiBE,EAAeF,gBAChCE,eAAc/rB,OAAAkP,GAAA,EAAAlP,CAAA,GACT+rB,GAELJ,WAAYI,EAAeJ,WAC3BxQ,MAAO4Q,EAAegG,gBASlC3sB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW1Y,MAAO,CAAEub,aAAc,SAChCte,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAK/T,MAAO,CAAE8kB,IAAK,WACjB7nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG4V,GAAI,EAAGvV,GAAI,IAC5B/W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACXrC,KAAKib,OAAO,OAAQ,IACpBjb,KAAKib,OAAOlI,KAAKqc,MAAMhF,EAAeiG,iBAG3C5sB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG4V,GAAI,EAAGvV,GAAI,IAC5B/W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACXrC,KAAKib,OAAO,gBAAiB,IAC7Bjb,KAAKib,OAAOlI,KAAKqc,MAAMhF,EAAekG,6BAOnD7sB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAACuuB,GAAA,EAAD,CAAKC,MAAI,GACP/sB,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,OAAOmE,MAAO,CAAEkqB,YAAa,WAC/B,MAAdhB,EAEGjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,OAAOmE,MAAO,CAAEub,aAAc,SAAzE,UAKAte,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEuT,SAAO,EACP5b,MAAM,YACNlE,UAAU,OACVmE,MAAO,CAAEub,aAAc,QACvBre,QAAS,kBAAMnD,EAAKgE,OAAO,OAL7B,WAYNd,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,OAAOmE,MAAO,CAAEkqB,YAAa,WAC/B,MAAdhB,EAEGjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,OAAOmE,MAAO,CAAEub,aAAc,SAAzE,eAKAte,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEuT,SAAO,EACP5b,MAAM,YACNlE,UAAU,OACVmE,MAAO,CAAEub,aAAc,QACvBre,QAAS,kBAAMnD,EAAKgE,OAAO,OAL7B,iBAaRd,EAAA1B,EAAAC,cAAC2uB,GAAA,EAAD,CAAYjB,UAAWA,GACrBjsB,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAAC8uB,GAADzyB,OAAA+N,OAAA,GACMge,EADN,CAEEZ,iBAAkBY,EAAeprB,QAIvCyE,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAAC+uB,GAAD,CAAY1B,eAAgBA,EAAgBhD,gBAAiBjC,EAAeprB,UAOtFyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS1D,KAAK2lB,OAAOtR,KAAKrU,OAH5B,qBA3OqBiD,iBAyPpBC,eAAWosB,cC/PpB0B,eAKJ,SAAAA,EAAYxuB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAgxB,IACjBlxB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA2yB,GAAA7wB,KAAAH,KAAMwC,KAwBRyuB,aAAe,WNoPV,IAAuC1zB,IMnPZ,CAC5BqS,UAAW,SAAC4J,GACV1Z,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,WAGJ7X,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,mDN2OlBX,aAAM,GAAA3B,OAAIL,KAAJ,6BACV0B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MMvR9B0B,EAwCnBoxB,WAAa,SAAClyB,GACQc,EAAK0C,MAAjBmC,QACAG,KAAR,2BAAAhI,OAAwCkC,KA1CvBc,EA6CnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKmxB,aAAa,EAAGtX,EAAU,KA/Cd7Z,EAkDnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAtDEvG,EAyDnBqxB,iBAAmB,SAACnwB,GAClBA,EAAEqO,kBA1DevP,EA6DnB0e,SAAW,SAAA3X,GAAe,IAAZd,EAAYc,EAAZd,MACNsS,EAAOvY,EAAKsxB,OAAO5Z,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUA,IAC/C,OAAKsS,EAIEA,EAAK9R,MAHHzG,EAAKsxB,OAAO,GAAG7qB,OA9DxBzG,EAAKM,MAAQ,CACXC,SAAS,EACTmZ,MAAO,IAGT1Z,EAAKsxB,OAAS,CACZ,CACErrB,MAAO,EAAGQ,MAAO,aAEnB,CACER,MAAO,EAAGQ,MAAO,QAEnB,CACER,MAAO,EAAGQ,MAAO,YAfJzG,mFAoBC,IAAA+B,EACS7B,KAAKI,MAAxBsS,EADU7Q,EACV6Q,KAAMiH,EADI9X,EACJ8X,SACd3Z,KAAKixB,aAAave,EAAMiH,oCAiDjB,IAAApZ,EAAAP,KAAAoe,EAIHpe,KAAKI,MAFPC,EAFK+d,EAEL/d,QACAmZ,EAHK4E,EAGL5E,MAGF,OAAInZ,EAEAoD,EAAA1B,EAAAC,cAACmd,GAAD,MAKF1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,aAKJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI9X,UAAU,iBAClBmX,IAAUA,EAAM1T,SACjBrC,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACsE,EAAA,EAAD,CAAOC,MAAM,OAAOlE,UAAU,cAAcc,KAAK,QAC/CM,EAAA1B,EAAAC,cAAA,kEAGAyB,EAAA1B,EAAAC,cAAA,yCAC8B,IAC5ByB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,qBAEd,qEAOTmX,GAASA,EAAM1T,QACdrC,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACqvB,GAAA,EAAD,CAAMhvB,UAAU,QACdoB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACX,+BACDoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,iBAIpBoB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,qBACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,MAAMvE,MAAO,CAAEub,aAAc,SACpCte,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,IACPtsB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQib,SAAU,OAAQhG,IAAK,SACpD7nB,EAAA1B,EAAAC,cAAA,MAAIwE,MAAO,CAAEqnB,UAAW,QAAxB,YACApqB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEV,MAAO,CAAEuS,SAAU,UAAWwY,WAAY,WAC1ChrB,MAAM,YACN2oB,MAAI,GAHN,cAOAzrB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEV,MAAO,CAAEuS,SAAU,UAAWwY,WAAY,WAC1ChrB,MAAM,OACN2oB,MAAI,GAHN,aAOAzrB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEV,MAAO,CAAEuS,SAAU,UAAWwY,WAAY,WAC1ChrB,MAAM,UACN2oB,MAAI,GAHN,cAUNzrB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,OACNyO,EAAMrT,IAAI,SAAA6d,GAAC,OACVvgB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CACE7X,UAAU,OACV8X,GAAI,EACJqX,GAAI,EACJzB,GAAI,GACJ1pB,IAAG,WAAAvJ,OAAaknB,EAAEhlB,KAElByE,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,CACE8H,SAAO,EACP5b,MAAM,UACN7C,QAAS,kBAAMnD,EAAK2wB,WAAWlN,EAAEhlB,KACjCqD,UAAU,+BAEVoB,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,CAAUjY,UAAS,8BAAAvF,OAAgCyD,EAAKie,SAASwF,EAAEyN,UACjEhuB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qCACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBACX2hB,EAAE3D,QACH5c,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBACZoB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEV,MAAO,CAAEuS,SAAU,WACnBxS,MAAOhG,EAAKie,SAASwF,EAAEyN,QACvBvC,MAAI,GAEHlL,EAAE6L,WAITpsB,EAAA1B,EAAAC,cAAA,WACAyB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,MAAM1I,UAAU,sBACvBoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OACEwE,MAAO,CACL6P,QAAS,OACTib,SAAU,OACVtV,eAAgB,gBAChBsP,IAAK,SAGP7nB,EAAA1B,EAAAC,cAAA,YACGgiB,EAAEgM,SAELvsB,EAAA1B,EAAAC,cAAA,YACGgiB,EAAE0N,iBAAkB,kBAAgB1N,EAAEkM,SAM/CzsB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,MAAM1I,UAAU,sBACvBoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OACEwE,MAAO,CACL6P,QAAS,OACTib,SAAU,OACVtV,eAAgB,gBAChBsP,IAAK,SAGP7nB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,4BACAyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAOhG,EAAKie,SAASwF,EAAEyN,QACvBvC,MAAI,GAEHnc,KAAKqc,MAAMpL,EAAEsM,sBAJhB,OAOF7sB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,oBACAyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAOhG,EAAKie,SAASwF,EAAEyN,QACvBvC,MAAI,GAEHnc,KAAKqc,MAAMpL,EAAEqM,cAJhB,+BAnODptB,iBAkQ1BC,eAAW8tB,ICpQXniB,GApBE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GAef,OAdKD,EAAM4iB,SAAY5iB,EAAM4iB,QAAQ5rB,QACnCiJ,EAAO2iB,QAAU,8BAEd5iB,EAAM6iB,OAAU7iB,EAAM6iB,MAAM7rB,QAC/BiJ,EAAO4iB,MAAQ,6BAEX7iB,EAAM8iB,cAAgB9iB,EAAM8iB,aAAe,IAC/C7iB,EAAO6iB,aAAe,yCAGnB9iB,EAAM+iB,eACT9iB,EAAO8iB,aAAe,qCAGjB9iB,GCHH+iB,oLAaK,IAAAzuB,EAOHtD,KAAKwC,MALP4N,EAFK9M,EAEL8M,WACAN,EAHKxM,EAGLwM,aACAyS,EAJKjf,EAILif,OACAyP,EALK1uB,EAKL0uB,MACAC,EANK3uB,EAML2uB,OAEF,OACExuB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,qBAGFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,uBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW1D,GACXvN,KAAK,SACLwN,YAAY,0BAKlBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,SACZS,aAAa,QACbkI,QAASsc,MAKfvuB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,mBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,QACL4P,UAAW6G,GACXtK,YAAY,kBACZS,aAAa,QACbkI,QAASuc,MAKfxuB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,oBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW6E,GACXtI,YAAY,wBAMpBtJ,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCAxFYtf,iBAApB8uB,GASG5qB,aAAe,CACpBiJ,YAAY,GA4FhB,IAMe/D,MANS0E,aAAU,CAChCC,KAAM,kBACNnC,YACAwQ,oBAAoB,GAHEtO,CAIrBghB,KC2DYG,eAlKb,SAAAA,EAAY1vB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAkyB,IACjBpyB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA6zB,GAAA/xB,KAAAH,KAAMwC,KAUR2vB,oBAAsB,WAAM,IAAA7uB,EACFxD,EAAK0C,MAArBxD,EADkBsE,EAClBtE,GAAI2F,EADcrB,EACdqB,QACR3F,EACFsoB,GAAatoB,EACX,CACE4Q,UAAW,SAACiX,GAAQ,IAEhBuL,EAMEvL,EANFuL,QACAR,EAKE/K,EALF+K,MACA5B,EAIEnJ,EAJFmJ,QACAqC,EAGExL,EAHFwL,UACApU,EAEE4I,EAFF5I,OACAC,EACE2I,EADF3I,SAEIwJ,EAAOrpB,OAAAkP,GAAA,EAAAlP,CAAA,GACRwoB,EADQ,CAEX+K,MAAO,CACL7rB,MAAOqsB,EACP1rB,MAAK,GAAA5J,OAAK80B,EAAL,OAAA90B,OAAgBkzB,IAEvB2B,QAAS,CACP5rB,MAAOssB,EACP3rB,MAAK,GAAA5J,OAAKmhB,EAAL,KAAAnhB,OAAeohB,MAGxBpe,EAAKqB,SAAS,CAAEumB,UAASpnB,QAAQ,KAEnCqB,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,uBACnBuF,EAAQG,KAAK,oBAEb1F,aAAmB,qDAK3BU,EAAKqB,SAAS,CACZumB,QAAS,CACP1oB,GAAI,EACJ6yB,aAAc,KAGlB/xB,EAAKqB,SAAS,CAAEb,QAAQ,MAtDTR,EA0DnBwyB,cAAgB,WACdC,aAAc,CACZ3iB,UAAW,SAACoiB,GACVlyB,EAAKqB,SAAS,CAAE6wB,WAElBrwB,QAAS,WACPvC,aAAmB,sDAhENU,EAqEnB0yB,eAAiB,WZ8HZ,IAAwBj1B,IY7HZ,CACbqS,UAAW,SAACqiB,GACVnyB,EAAKqB,SAAS,CAAE8wB,YAElBtwB,QAAS,WACPvC,aAAmB,kDZyHlBX,aAAM,GAAA3B,OAAIV,KAAJ,YACV+B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MY7M9B0B,EAgFnBgQ,aAAe,SAAChB,GAAW,IZuFDxG,EAAM0S,EYtFtB4W,EAAiC9iB,EAAjC8iB,MAAOD,EAA0B7iB,EAA1B6iB,QAASE,EAAiB/iB,EAAjB+iB,aACTO,EAAYR,EAAnB7rB,MACOssB,EAAcV,EAArB5rB,MACFxI,EAAMc,OAAAkP,GAAA,EAAAlP,CAAA,GACPyQ,EADO,CAEVujB,YACAD,UACAP,cAAeA,IAETltB,EAAY7E,EAAK0C,MAAjBmC,QZ6EgB2D,EY5EZ/K,EZ4EkByd,EY3E5B,CACEpL,UAAW,WACT1Q,aAAqB,gCACrByF,EAAQG,KAAK,oBAEfnD,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,sDZmEtBN,aAAO,GAAAhC,OAAIV,MAAekM,GAC9BnK,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MYjLpC0B,EA2GnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UA3GR7lB,EAAKM,MAAQ,CAAEE,QAAQ,GAFNR,mFAMjBE,KAAKsyB,gBACLtyB,KAAKwyB,iBACLxyB,KAAKmyB,uDAwGE,IAAAloB,EACiBjK,KAAKwC,MAArBxD,EADDiL,EACCjL,GAAI2F,EADLsF,EACKtF,QADL9C,EAOH7B,KAAKI,MAJPsnB,EAHK7lB,EAGL6lB,QACApnB,EAJKuB,EAILvB,OACA0xB,EALKnwB,EAKLmwB,MACAC,EANKpwB,EAMLowB,OAGF,OACExuB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,WAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,aAAe,WADvB,kCAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACJ7Z,GAAU0xB,GAASC,EAGlBxuB,EAAA1B,EAAAC,cAACywB,GAADp0B,OAAA+N,OAAA,GACMsb,EADN,CAEE5W,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACb7Y,cAAe6a,EACf/iB,QAASA,EACTstB,OAAQA,EACRD,MAAOA,KATRvuB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,yBA1IkBY,iBCNpB4L,GAVE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GAKf,OAJKD,EAAM2Y,SAAY3Y,EAAM2Y,QAAQgL,iBACnC1jB,EAAO2iB,QAAU,8BAGZ3iB,GCYH2jB,oLAqBK,IAAArvB,EAWHtD,KAAKwC,MATP4N,EAFK9M,EAEL8M,WACAN,EAHKxM,EAGLwM,aACAyS,EAJKjf,EAILif,OACAmF,EALKpkB,EAKLokB,QACAmF,EANKvpB,EAMLupB,SACA+F,EAPKtvB,EAOLsvB,SACAC,EARKvvB,EAQLuvB,gBACAC,EATKxvB,EASLwvB,qBACAptB,EAVKpC,EAULoC,WAGF,OACEjC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,8BAGFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,2BACI,IAAfqD,GAAmC,IAAfA,IACpBjC,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,SACZS,aAAa,QACbkI,QAASmX,EACT7mB,SAAU,SAAAkc,GAAC,OAAI2Q,EAAgB3Q,EAAEnc,UAGpB,IAAfL,GACAjC,EAAA1B,EAAAC,cAAA,SACE+D,MAAO2hB,EAAQhhB,MACfuE,UAAQ,MAMhBxH,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,qBACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,OACN6nB,GAAYA,EAASzsB,IAAI,SAAA6d,GAAC,OACzBvgB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,GAAI1pB,IAAG,YAAAvJ,OAAcknB,EAAEhlB,KAC5CyE,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,CAAUjY,UAAU,sCAClBoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qCACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBAAuB2hB,EAAE/F,QACvCxa,EAAA1B,EAAAC,cAAA,WACCgiB,EAAE7D,SAASha,IAAI,SAAAua,GAAC,OACfjd,EAAA1B,EAAAC,cAAA,OAAKqE,IAAG,WAAAvJ,OAAa4jB,EAAE8I,kBAAoBnnB,UAAU,sBACnDoB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,WAAAvJ,OAAa4jB,EAAE8I,kBAClB5oB,KAAI,WAAA9D,OAAa4jB,EAAE8I,kBACnBhZ,UAAW1E,GACXpF,MAAOga,EAAEzC,OACTlY,MAAO2a,EAAEqS,UAAY,UAAY,GACjC7nB,eAAgBwV,EAAEqS,UAClB/sB,SAAU,SAAAkc,GAAC,OAAI4Q,EAAqBpS,EAAE8I,iBAAkBtH,kBAa9Eze,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCAxGgBtf,iBAAxB0vB,GAaGxrB,aAAe,CACpBiJ,YAAY,EACZsX,QAAS,GACTkL,SAAU,GACVltB,WAAY,GAqGhB,IAMe2G,MANa0E,aAAU,CACpCC,KAAM,sBACNnC,YACAwQ,oBAAoB,GAHMtO,CAIzB4hB,KCxHGK,eACJ,SAAAA,EAAYxwB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAgzB,IACjBlzB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA20B,GAAA7yB,KAAAH,KAAMwC,KAYR2vB,oBAAsB,WACpBryB,EAAKmzB,iBAAiB,GACtBnzB,EAAKozB,iBAAiB,IAfLpzB,EAkBnBmzB,iBAAmB,SAACP,GAAmB,IAC7B/tB,EAAY7E,EAAK0C,MAAjBmC,QACR2iB,GAAaoL,EACX,CACE9iB,UAAW,SAACiX,GAAQ,IAEhB7nB,EAIE6nB,EAJF7nB,GACA6yB,EAGEhL,EAHFgL,aACA5T,EAEE4I,EAFF5I,OACAC,EACE2I,EADF3I,SAEIwJ,EAAOrpB,OAAAkP,GAAA,EAAAlP,CAAA,GACRwoB,EADQ,CAEX6L,iBACA3sB,MAAO/G,EACP0H,MAAK,GAAA5J,OAAK+0B,EAAL,MAAA/0B,OAAsBmhB,EAAtB,KAAAnhB,OAAgCohB,KAEvCpe,EAAKqB,SAAS,CAAEumB,UAASpnB,QAAQ,KAEnCqB,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,uBACnBuF,EAAQG,KAAK,4BAEb1F,aAAmB,qDA1CVU,EAgDnBqzB,iBAAmB,WfuEd,IAAkCnY,IetEZ,CACvBpL,UAAW,SAACid,GACV/sB,EAAKqB,SAAS,CAAE0rB,WAAUvsB,QAAQ,KAEpCqB,QAAS,WACPvC,aAAmB,mDfkElBX,aAAM,GAAA3B,OAAIV,KAAJ,mBACV+B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MejIpC0B,EA2DnBozB,iBAAmB,SAACR,GbuFf,IAAqCn1B,IatFZ,CAC1Bm1B,iBACA9iB,UAAW,SAACgjB,GACV9yB,EAAKqB,SAAS,CAAEyxB,cAElBjxB,QAAS,WACPvC,aAAmB,2CbiFlBX,aAAM,GAAA3B,OAAIR,KAAJ,2BAAAQ,OAAgDS,EAAOm1B,iBACjEv0B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,Ma5J9B0B,EAwEnBgzB,qBAAuB,SAAC9zB,EAAIo0B,GAC1B,GAAIA,EAAI3jB,OAAQ,KACN4jB,EAAwBvzB,EAAKM,MAA7BizB,oBACFC,EAAUD,EAAoB7b,KAAK,SAAApE,GAAC,OAAIA,EAAEoW,mBAAqBxqB,IAChEs0B,GAOHA,EAAQP,UAAYK,EAAI3jB,OAAOnE,QAC/BxL,EAAKqB,SAAS,CAAEkyB,0BAPhBA,EAAoBvuB,KAAK,CACvB0kB,iBAAkBxqB,EAClB+zB,UAAWK,EAAI3jB,OAAOnE,UAExBxL,EAAKqB,SAAS,CAAEkyB,2BAjFHvzB,EAyFnBgQ,aAAe,SAAChB,GAAW,Ib5CO7R,EAAM+d,Ea6CZ0X,EAAqB5jB,EAAvC4Y,QAAW3hB,MAEbxI,EAAS,CAAE81B,oBADevzB,EAAKM,MAA7BizB,oBAC8BX,kBAC9B/tB,EAAY7E,EAAK0C,MAAjBmC,QbhDwB1H,EaiDZM,EbjDkByd,EakDpC,CACEpL,UAAW,WACT1Q,aAAqB,wCACrByF,EAAQG,KAAK,4BAEfnD,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,8Db1DtBN,aAAO,GAAAhC,OAAIR,KAAJ,qBAA2CW,GACtDkB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MavDpC0B,EA+GnB+yB,gBAAkB,SAAC7zB,GACjBc,EAAKmzB,iBAAiBj0B,GACtBc,EAAKozB,iBAAiBl0B,IAjHLc,EAoHnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UApHR7lB,EAAKM,MAAQ,CAAEE,QAAQ,EAAO+yB,oBAAqB,IAFlCvzB,mFAMjBE,KAAKmzB,mBAEc,IADiBnzB,KAAKwC,MAAjC+G,QAAW7D,YAEjB1F,KAAKmyB,uDAgHA,IAAA7uB,EACiBtD,KAAKwC,MAArBxD,EADDsE,EACCtE,GAAI2F,EADLrB,EACKqB,QACOe,EAAiB1F,KAAKwC,MAAjC+G,QAAW7D,WAFZ7D,EAQH7B,KAAKI,MAJPsnB,EAJK7lB,EAIL6lB,QACApnB,EALKuB,EAKLvB,OALKizB,EAAA1xB,EAMLgrB,gBANK,IAAA0G,EAMM,GANNA,EAAAC,EAAA3xB,EAOL+wB,gBAPK,IAAAY,EAOM,GAPNA,EAUP,OACE/vB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,6BAGAoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,YAAc,WADtB,8CAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACJ7Z,GAAUonB,GAAWmF,GAAY+F,EAGhCnvB,EAAA1B,EAAAC,cAACyxB,GAADp1B,OAAA+N,OAAA,GACMsb,EADN,CAEEA,QAASA,EACT5W,SAAU9Q,KAAK8P,aACf+iB,gBAAiB7yB,KAAK6yB,gBACtBtQ,OAAQviB,KAAK0lB,aACb7Y,cAAe6a,EACf/iB,QAASA,EACTkoB,SAAUA,EACV+F,SAAUA,EACVltB,WAAYA,EACZotB,qBAAsB9yB,KAAK8yB,wBAb5BrvB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,yBApJkBY,iBAkLpBC,eAAWqH,YAAQ,SAAAnK,GAAK,MAAK,CAC1CmJ,QAASnJ,EAAMmJ,UADSgB,CAEtByoB,KC3IG,SAASvV,GAAelgB,GAC7B,OAAOkB,aAAM,GAAA3B,OAAIN,KAAJ,eACV2B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,SC7C7Cs1B,eAKJ,SAAAA,EAAYlxB,GAAO,IAAA1C,EAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAA0zB,IACjB5zB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAq1B,GAAAvzB,KAAAH,KAAMwC,KA4JRgb,eAAiB,SAACG,GAChB7d,EAAKqB,SAAS,CACZd,SAAS,IAGXod,GAAe,CACb7N,UAAW,SAAA/I,GAAkB,IAAf8sB,EAAe9sB,EAAf8sB,SACZ7zB,EAAKqB,SAAS,CACZwyB,WACAtzB,SAAS,IAHgB,IAAAwB,EAMA/B,EAAKM,MAAxBsS,EANmB7Q,EAMnB6Q,KAAMiH,EANa9X,EAMb8X,SACd7Z,EAAK8zB,oBAAoBlhB,EAAMiH,EAAUgE,IAE3Chc,QAAS,SAACvD,GACR0C,QAAQC,IAAI3C,GACZgB,aAAmB,qDA9KNU,EAmLnB+zB,cAAgB,WAEd,OADoC/zB,EAAK0C,MAAjC+G,QAAW7D,YApLF5F,EAwLnBg0B,aAAe,SAACxrB,GACd,IAAMyrB,EAAej0B,EAAK+zB,kBAAoBzP,GAAMC,OACpD,OAAQ/b,EAAKK,WAAaL,EAAKM,SAAaN,EAAKK,UAAYL,EAAKM,SAAWmrB,GA1L5Dj0B,EA6LnBk0B,WAAa,SAAC1rB,GACZ,IAAM2rB,EAAoB,CAAC7P,GAAMI,MAAOJ,GAAMG,aAAa2P,SAASp0B,EAAK+zB,iBACzE,OAAQvrB,EAAKM,SAAWN,EAAKI,gBAAkBurB,GA/L9Bn0B,EAkMnB8zB,oBAAsB,SAAClhB,EAAMiH,EAAUgE,GAAY,IAAAwW,EAI7CxW,EAFFyW,eAF+C,IAAAD,EAErC,CAAEpuB,MAAO,EAAGW,MAAO,KAFkBytB,EAAAE,EAI7C1W,EADF2W,sBAH+C,IAAAD,EAG9B,EAH8BA,EAM3C92B,EAAMc,OAAAkP,GAAA,EAAAlP,CAAA,GACPsf,EADO,CAEV2W,eAAgBruB,OAAOquB,GACvBC,UAAWH,EAAQruB,QAGrBjG,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASpgB,If1OR,SAA8Bi3B,EAASj3B,GAC5C,IAAMsgB,EAAWtgB,GAAUA,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IACnB8a,EAAWD,EAAU,MAAQ,kBAC5B11B,aAAO,GAAAhC,OAAIR,KAAJ,KAAAQ,OAA0B23B,GAAY5W,GACjD1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KegO/Cs2B,CACiB,IAFmB50B,EAAK0C,MAAjC+G,QAAW7D,WAGjB,CACEmY,SAAU,CACRnL,OACAiH,WACAgE,QAASpgB,GAEXqS,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,gBAC1B+a,kBAAmB9W,EAAS8W,qBAGhChzB,QAAS,SAACvD,GACJA,GAAwB,YAAfA,EAAMmB,KACjBJ,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,iDAGrBU,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,QA7OzBP,EAmPnB80B,oBAAsB,SAACC,GACrB,IAAMj0B,EAAI,GAAA9D,OAAM+3B,EAAYC,cAAlB,MAAAh4B,OAAoC+3B,EAAYE,eAC1DnnB,GAAQ,CACN9J,MAAO,wBACP+J,SAAQ,2DAAA/Q,OAAuD8D,EAAvD,KACRkN,SAAU,4BACVE,QAAS,aACTC,UAAW,WfxMV,IAA8BjP,EAAIgc,EAAJhc,EeyMR61B,EAAY71B,GfzMAgc,Ee0M/B,CACEpL,UAAW,WACT1Q,aAAqB,uCADN,IAAAkf,EAEYte,EAAKM,MAAxBsS,EAFO0L,EAEP1L,KAAMiH,EAFCyE,EAEDzE,SACd7Z,EAAK8zB,oBAAoBlhB,EAAMiH,IAEjChY,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,gDfnN1BH,aAAS,GAAAnC,OAAIR,KAAJ,KAAAQ,OAA0BkC,IACvCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,Se5DpC0B,EA8QnBk1B,mBAAqB,SAACtN,GACA5nB,EAAK0C,MAAjBmC,QACAG,KAAR,gCAAAhI,OAA6C4qB,EAAQ1oB,MAhRpCc,EAmRnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAAsM,EACsBlf,EAAKM,MAA3BuZ,EADAqF,EACArF,SAAUgE,EADVqB,EACUrB,QAClB7d,EAAK8zB,oBAAoBlhB,EAAMiH,EAAUgE,KAtR1B7d,EA0RnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK8zB,oBAAoB,EAAGja,EAAU7K,KA7RvBhP,EAiSnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK8zB,oBAAoB,EAAGja,EAAU,KAnSrB7Z,EAsSnB2Z,eAAiB,SAACpT,EAAKgiB,GAAQ,IACrB4M,EAAqBn1B,EAAKM,MAA1B60B,iBACAN,EAAsBtM,EAAtBsM,kBACR,GAAc,YAARtuB,EAAoB,OAAO,KACjC,IAAMvC,EAAQ6wB,EAAoB,oBAAsB,GACpDO,EAAc,GAEbP,IACHO,EAAcD,EAAmB,gBAAkB,YAGrD,IAAM/Z,EAAU,CACd,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAS,cAAAvF,OAAgBo4B,GAAepxB,MAAK,yBAAAhH,OAAwBgH,KACjFkX,SAAU,SAAC0M,IACLiN,GAAqBM,IAAkBn1B,EAAKk1B,mBAAmBtN,KAGvE,CACErhB,IAAK,SACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAS,eAAAvF,OAAiBo4B,GAAepxB,MAAK,yBAAAhH,OAAwBgH,KAClFkX,SAAU,SAAC0M,IACLiN,GAAqBM,IAAkBn1B,EAAK80B,oBAAoBlN,MAK1E,IAAKiN,EAAmB,CACtB,IAAMQ,EAAUF,EAAmB,gBAAkB,aACrD/Z,EAAQpW,KAAK,CACXuB,IAAK,YACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAS,GAAAvF,OAAKq4B,GAAWrxB,MAAM,yCAC3CkX,SAAU,kBAAM,KAIpB,OAAOE,GA3UUpb,EA8UnBs1B,uBAAyB,SAACP,GfrHrB,IAAwB/M,EAAa9M,EesHpC6Z,IftHuB/M,EeuHV+M,EAAY71B,GfvHWgc,EeuHP,CAC7BpL,UAAW,WAAM,IAGTylB,EAFYv1B,EAAKM,MAAfoZ,MAEerT,IAAI,SAAAkS,GAAI,OAC7BA,EAAKrZ,KAAO61B,EAAY71B,GAAxBX,OAAAkP,GAAA,EAAAlP,CAAA,GAAkCga,EAAlC,CAAwCid,kBAAmBT,EAAYS,mBAAqBjd,IAG9FvY,EAAKqB,SAAS,CACZqY,MAAO6b,IAGTn2B,aAAoB,WAAApC,OACL+3B,EAAYS,iBAAmC,cAAhB,cAD1B,2BAItB3zB,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,sDf1ItBN,aAAO,GAAAhC,OAAIR,KAAJ,0BAAgDwrB,GAC3D3pB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,OenOpC0B,EA2WnBy1B,YAAc,WAAM,IAAAC,EACQ11B,EAAKM,MAAvBuzB,SAER,YAHkB,IAAA6B,EACC,GADDA,GAzWlB,IAAMltB,EAAOnL,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GAE1D23B,EAAmB3sB,EAAKM,QAJb,OAKjB9I,EAAKM,MAAQ,CACX60B,mBACAviB,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,IACf20B,SAAU,IAEZ7zB,EAAKyZ,QAAU,CACb,CACElT,IAAK,mBACLzF,KAAM,UACNqP,MAAO,OACP+J,QAAQ,EACRX,QAASvZ,EAAKg0B,aAAaxrB,GAC3BnF,KAAM,CACJ6X,SAAU,SAAAlD,GAAG,OAAKhY,EAAKs1B,uBAAuBtd,IAC9CtH,UAAW,SAAAsH,GAAG,OACZrU,EAAA1B,EAAAC,cAAA,QACEK,UAAWyV,EAAIwd,iBAAmB,aAAe,eACjDxxB,MAAOgU,EAAIwd,iBAAmB,qBAAuB,6BAK7D,CACEjvB,IAAK,eACLzF,KAAM,SACNoZ,QAAQ,EACRX,QAASvZ,EAAKk0B,WAAW1rB,IAE3B,CACEjC,IAAK,SACLzF,KAAM,oBACNoZ,OAAQla,EAAKk0B,WAAW1rB,GACxB+Q,SAAS,GAEX,CACEhT,IAAK,WACLzF,KAAM,sBACNoZ,OAAQla,EAAKk0B,WAAW1rB,GACxB+Q,SAAS,GAEX,CACEhT,IAAK,gBACLzF,KAAM,iBACNoZ,QAAQ,EACRX,SAAS,GAEX,CACEhT,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,EACRX,SAAS,EACThX,UAAW,cACX4N,MAAO,QACP1Q,KAAM,SACN6Y,YAAa,CACX1C,QAAS5V,EAAKy1B,aAEhBta,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIsc,QAAUtc,EAAIsc,QAAQ1tB,MAAQ,OAEtD,CACEL,IAAK,gBACLzF,KAAM,UACNqa,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIgd,cAAX,OAAAh4B,OAA8Bgb,EAAIid,cAAlC,KAAAj4B,OAAmDgb,EAAI+X,UAClE7V,QAAQ,EACR/J,MAAO,SAET,CACE5J,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,EACRX,SAAS,GAEX,CACEhT,IAAK,QACLzF,KAAM,QACNqP,MAAO,QACP+J,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,OAAIA,EAAI2d,cAErB,CACEpvB,IAAK,UACLzF,KAAM,UACNqP,MAAO,QACP+J,QAAQ,EACRX,SAAS,EACT4B,OAAQ,SAAAnD,GAAG,OAAIA,EAAI4d,gBAErB,CACErvB,IAAK,iBACLzF,KAAM,WACNrB,KAAM,SACNya,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIwc,eAAX,SACXrkB,MAAO,OACP5N,UAAW,eAEb,CACEgE,IAAK,uBACLzF,KAAM,eACNqP,MAAO,QACP5N,UAAW,eAEb,CACEgE,IAAK,eACLzF,KAAM,OACNqP,MAAO,OACP5N,UAAW,eAEb,CACEgE,IAAK,mBACLzF,KAAM,SACNrB,KAAM,SACNya,QAAQ,EACRiB,OAAQ,SAAA3M,GAAgC,IAA7BtP,EAA6BsP,EAA7BtP,GAA6B22B,EAAArnB,EAAzBsnB,sBAAyB,IAAAD,EAAR,EAAQA,EACtC,OAAK32B,EAKHyE,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CACED,MAAM,aACNzB,UAAS,cAAAvF,OAAgB84B,EAAiB,EAAI,UAAY,aAC1D5xB,GAAE,wBAAAlH,OAA0BkC,IAE3B42B,IAVEnyB,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,OAeXmI,MAAO,OACP5N,UAAW,eAEb,CACEgE,IAAK,UACLzF,KAAM,SACNqP,MAAO,OACPoJ,SAAS,EACThX,UAAW,gBApJEvC,mFA0JjBE,KAAKwd,eAAe,CAAE4W,QAAS,sCAuNxB,IAAA7zB,EAAAP,KAAAif,EAUHjf,KAAKI,MARPC,EAFK4e,EAEL5e,QACAmZ,EAHKyF,EAGLzF,MACA9G,EAJKuM,EAILvM,KACAiH,EALKsF,EAKLtF,SACAC,EANKqF,EAMLrF,gBACA+D,EAPKsB,EAOLtB,QACAgX,EARK1V,EAQL0V,kBACAM,EATKhW,EASLgW,iBAEiBvvB,EAAiB1F,KAAKwC,MAAjC+G,QAAW7D,WAEnB,OAAIrF,EAEAoD,EAAA1B,EAAAC,cAACmd,GAAD,MAKF1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,4BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACG,IAAfqD,GAAoBivB,GAEjBlxB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,kBAAkB2B,GAAG,4CAArC,wBAIc,IAAf0B,GAAoBivB,KAAuBt0B,GAAW40B,GAErDxxB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,kBAAkB2B,GAAG,2CAArC,2BAOVP,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,kDACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAACpT,EAAKgiB,GAAN,OAAc9nB,EAAKkZ,eAAepT,EAAKgiB,IACvDvX,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aA3aSpc,iBAubxBC,eAAWqH,YAAQ,SAAAnK,GAAK,MAAK,CAC1CmJ,QAASnJ,EAAMmJ,UADSgB,CAEtBmpB,KChcW7kB,GApBE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GAef,OAbKD,EAAM8mB,QAAW9mB,EAAM8mB,OAAO9vB,QACjCiJ,EAAO6mB,OAAS,8BAEb9mB,EAAM6iB,OAAU7iB,EAAM6iB,MAAM7rB,QAC/BiJ,EAAO4iB,MAAQ,6BAEZ7iB,EAAMkhB,UAAalhB,EAAMkhB,SAASlqB,QACrCiJ,EAAOihB,SAAW,6BAEflhB,EAAMsR,SAAYtR,EAAMsR,QAAQta,QACnCiJ,EAAOqR,QAAU,6BAGZrR,GCLH2jB,oLAuBK,IAAArvB,EAaHtD,KAAKwC,MAXP4N,EAFK9M,EAEL8M,WACAN,EAHKxM,EAGLwM,aACAyS,EAJKjf,EAILif,OAJKuT,EAAAxyB,EAKL2uB,cALK,IAAA6D,EAKI,GALJA,EAAAC,EAAAzyB,EAML0yB,iBANK,IAAAD,EAMO,GANPA,EAAAE,EAAA3yB,EAOLsvB,gBAPK,IAAAqD,EAOM,GAPNA,EAQLlT,EARKzf,EAQLyf,gBACAmT,EATK5yB,EASL4yB,aACAC,EAVK7yB,EAUL6yB,eACAtE,EAXKvuB,EAWLuuB,aAXKuE,EAAA9yB,EAYL+yB,eAZK,IAAAD,EAYK,GAZLA,EAeP,OACE3yB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,+BAEDwvB,EAAe,GAEZpuB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SACE+D,MAAK,GAAAjJ,OAAK+0B,EAAL,MAAA/0B,OAAsBo5B,EAAtB,KAAAp5B,OAAsCq5B,GAC3ClrB,UAAQ,MAMjB4mB,GAAgB,GACfpuB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,SACL4P,UAAW6G,GACXtK,YAAY,SACZS,aAAa,QACbkI,QAAS2gB,EACTrwB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,SAAU,iBAAkBb,QAKnEze,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,SACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,QACL4P,UAAW6G,GACXtK,YAAY,QACZS,aAAa,QACbkI,QAASuc,EACTjsB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,QAAS,UAAWb,QAIzDze,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,YACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,WACL4P,UAAW6G,GACXtK,YAAY,WACZS,aAAa,QACbkI,QAASsgB,EACThwB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,WAAY,aAAcb,QAK/Dze,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAASkd,OAMjBnvB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCA3HgBtf,iBAAxB0vB,GAeGxrB,aAAe,CACpBiJ,YAAY,EACZ8lB,aAAc,GACdC,eAAgB,GAChBtE,aAAc,EACdwE,QAAS,IAqHb,IAMehqB,MANa0E,aAAU,CACpCC,KAAM,sBACNnC,YACAwQ,oBAAoB,GAHMtO,CAIzB4hB,KC+EY2D,eAvNb,SAAAA,EAAY9zB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAs2B,IACjBx2B,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAi4B,GAAAn2B,KAAAH,KAAMwC,KAeR+zB,2BAA6B,WAAM,IAAAjzB,EACTxD,EAAK0C,MAArBxD,EADyBsE,EACzBtE,GAAI2F,EADqBrB,EACrBqB,QACP3F,ElBIF,SAA6BA,EAAIgc,GAC/Bvc,aAAM,GAAA3B,OAAIR,KAAJ,KAAAQ,OAA0BkC,IACpCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KkBTrDo4B,CAAoBx3B,EAAI,CACtB4Q,UAAW,SAACiX,GACV/mB,EAAK22B,iBAAiB5P,EAAIuL,SAE1B,IAAMsE,EAAcr4B,OAAAkP,GAAA,EAAAlP,CAAA,GACfwoB,EADe,CAElB+K,MAAO,CACL7rB,MAAO8gB,EAAIuL,QACX1rB,MAAK,GAAA5J,OAAK+pB,EAAI8P,cAEhB1G,SAAU,CACRlqB,MAAO8gB,EAAI+P,WACXlwB,MAAK,GAAA5J,OAAK+pB,EAAIgQ,iBAEhBxW,QAAS,CACPta,MAAO8gB,EAAIiQ,UACXpwB,MAAK,GAAA5J,OAAK+pB,EAAIkQ,cAAT,OAAAj6B,OAA4B+pB,EAAImQ,gBAEvCnB,OAAQ,CACN9vB,MAAO8gB,EAAI6L,eACXhsB,MAAK,GAAA5J,OAAK+pB,EAAIgL,aAAT,MAAA/0B,OAA0B+pB,EAAIqP,aAA9B,KAAAp5B,OAA8C+pB,EAAIsP,mBAI3Dr2B,EAAKqB,SAAS,CAAEu1B,oBAElB/0B,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,8CACnBuF,EAAQG,KAAK,4BAEb1F,aAAmB,8DAnCvBU,EAAKqB,SAAS,CAAEu1B,eAAgB,CAAE13B,GAAI,MAnBvBc,EA4DnBm3B,cAAgB,WAAM,IlB6DK15B,EACrBP,EkB7DIgC,EAAOc,EAAK0C,MAAZxD,GlB6DJhC,GADqBO,EkB3DZ,CACX25B,MAAOl4B,EAAK,GACZ4Q,UAAW,SAACunB,GACVr3B,EAAKqB,SAAL9C,OAAAkP,GAAA,EAAAlP,CAAA,GAAmB84B,KAErBx1B,QAAS,WACPvC,aAAmB,mDlBsDH83B,IAAM,4BAA8B,wBACnDz4B,aAAM,GAAA3B,OAAIR,KAAJ,KAAAQ,OAA0BE,IACpCmB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MkBpI9B0B,EAyEnB22B,iBAAmB,YlB+Dd,SAAAnoB,GAAoE,IAA/BsB,EAA+BtB,EAA/BsB,UAAWjO,EAAoB2M,EAApB3M,QAASywB,EAAW9jB,EAAX8jB,QACvD3zB,aAAM,GAAA3B,OAAIR,KAAJ,8BAAAQ,OAAmDs1B,IAC7Dj0B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAIb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KkBzEvBg5B,CAA0B,CACxBhF,QAFgC1lB,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAN,EAG1BkD,UAAW,SAAA/I,GAAuB,IAAAwwB,EAAAxwB,EAApB+rB,gBAAoB,IAAAyE,EAAT,GAASA,EAChCv3B,EAAKqB,SAAS,CACZyxB,cAGJjxB,QAAS,WACPvC,aAAmB,oDAlFNU,EAuFnBgQ,aAAe,SAAChB,GAAW,IlBnDM7R,EAAM+d,EkBqDnC4W,EAIE9iB,EAJF8iB,MACA3B,EAGEnhB,EAHFmhB,SACA5P,EAEEvR,EAFFuR,QACAwV,EACE/mB,EADF+mB,OAEazD,EAAYR,EAAnB7rB,MACO6wB,EAAe3G,EAAtBlqB,MACO+wB,EAAczW,EAArBta,MACO2sB,EAAmBmD,EAA1B9vB,MACFxI,EAAMc,OAAAkP,GAAA,EAAAlP,CAAA,GACPyQ,EADO,CAEV8nB,aACAxE,UACA0E,YACApE,mBAEM/tB,EAAY7E,EAAK0C,MAAjBmC,QlBrEuB1H,EkBuE7BM,ElBvEmCyd,EkBwEnC,CACEpL,UAAW,WACT1Q,aAAqB,wCACrByF,EAAQG,KAAK,4BAEfnD,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,8DlBhFtBN,aAAO,GAAAhC,OAAIR,MAAsBW,GACrCkB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MkB9CpC0B,EA4HnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UA9HS7lB,EAiInB8lB,qBAAuB,SAACC,EAAWC,EAAO/f,GAAU,IAAAggB,EAC1C2Q,EAAmB52B,EAAKM,MAAxBs2B,eAEU,UAAd7Q,GACF/lB,EAAK22B,iBAAiB1wB,EAAMA,OAAS,GAGvCjG,EAAKqB,UAAL4kB,EAAA,GAAA1nB,OAAAmR,GAAA,EAAAnR,CAAA0nB,EACGD,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAA0nB,EAAA,iBAAA1nB,OAAAkP,GAAA,EAAAlP,CAAA,GAEuBq4B,EAFvBr4B,OAAAmR,GAAA,EAAAnR,CAAA,GAEwCwnB,EAAY9f,KAFpDggB,KAxIiBjmB,EA8InBw3B,eAAiB,WAAM,IAAAz1B,EAC6B/B,EAAKM,MADlCm3B,EAAA11B,EACbuwB,eADa,IAAAmF,EACH,EADGA,EAAAC,EAAA31B,EACA+0B,kBADA,IAAAY,EACa,EADbA,EACgB5E,EADhB/wB,EACgB+wB,SACrC,OAAKA,EAGEA,EACJ9Y,OAAO,SAAAC,GAAC,OAAIA,EAAEqY,UAAYA,GAAuB,IAAZA,IACrCtY,OAAO,SAAAC,GAAC,OAAIA,EAAE6c,aAAeA,GAA6B,IAAfA,IAC3CzwB,IAAI,SAAAmI,GAAA,IACHwoB,EADGxoB,EACHwoB,UAAWC,EADRzoB,EACQyoB,cAAe1W,EADvB/R,EACuB+R,QAASwP,EADhCvhB,EACgCuhB,QADhC,MAEE,CACL9pB,MAAO+wB,EACPpwB,MAAK,GAAA5J,OAAKi6B,EAAL,OAAAj6B,OAAwBujB,EAAxB,OAAAvjB,OAAqC+yB,MAVxB,IA9ItB/vB,EAAKM,MAAQ,CACX6xB,OAAQ,GACR+D,UAAW,GACXnJ,SAAU,GACV+F,SAAU,IAEZ9yB,EAAKw3B,eAAiBx3B,EAAKw3B,eAAejjB,KAApBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KARLA,mFAYjBE,KAAKi3B,gBACLj3B,KAAKu2B,8DAiJE,IAAAtsB,EACiBjK,KAAKwC,MAArBxD,EADDiL,EACCjL,GAAI2F,EADLsF,EACKtF,QADLyZ,EAQHpe,KAAKI,MAJPs2B,EAJKtY,EAILsY,eAJKe,EAAArZ,EAKL6T,cALK,IAAAwF,EAKI,GALJA,EAAAC,EAAAtZ,EAML4X,iBANK,IAAA0B,EAMO,GANPA,EAAAC,EAAAvZ,EAOLyO,gBAPK,IAAA8K,EAOM,GAPNA,EAUD/E,EAAW5yB,KAAKs3B,iBAEtB,OACE7zB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,mBAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,aAAe,WADvB,4CAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACJ8X,GAAU+D,GAAapD,GAAY8D,EAGlCjzB,EAAA1B,EAAAC,cAAC41B,GAADv5B,OAAA+N,OAAA,GACMsqB,EADN,CAEE5lB,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACb7Y,cAAe6pB,EACf/xB,QAASA,EACTstB,OAAQA,EACR+D,UAAWA,EACXpD,SAAUA,EACV7P,gBAAiB/iB,KAAK4lB,qBACtBvG,oBAAkB,EAClBgX,QAASxJ,KAbVppB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,yBA3L0BY,iBCyBpC,SAAS40B,GAAsB74B,EAAIO,EAAMyb,GAC9C,IAAMtc,EAAe,OAATa,EAAA,GAAAzC,OACLP,KADK,YAAAO,OACckC,GADd,GAAAlC,OAELP,KAFK,YAAAO,OAEckC,EAFd,KAAAlC,OAEoByC,GAEhC,OAAOd,aAAOC,GACXP,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KAkBlD,SAAS05B,GAAW94B,EAAIgc,GAC7B,OAAO/b,aAAS,GAAAnC,OAAIP,KAAJ,KAAAO,OAAgBkC,IAC7Bb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KAkBlD,SAASqf,GAAesa,EAAex6B,GAC5C,OAAOkB,aAAM,GAAA3B,OAAIP,KAAJ,eAAAO,OAA0Bi7B,IACpC55B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KAmB5C,SAAS45B,GAATnxB,EAA4DtJ,GAAQ,IAA3ByB,EAA2B6H,EAA3B7H,GAAIi5B,EAAuBpxB,EAAvBoxB,YAClD,OAAOp5B,aAAe,GAAA/B,OAAIP,KAAJ,2BAAAO,OAAsCkC,IACzDb,KAAK,SAACK,GACL,IAAME,EAAMuC,OAAO6nB,IAAIC,gBAAgBvqB,GACjCwqB,EAAOC,SAASjnB,cAAc,KACpCgnB,EAAKpnB,KAAOlD,EACZsqB,EAAKE,SAAL,GAAApsB,OAAmBm7B,EAAnB,SACAhP,SAASzrB,KAAK2rB,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKV,SACD/qB,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUpR,KAElD6oB,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KC/I5C,IAAM85B,GAAe,SAAAC,GAAQ,MAAK,CACvCjQ,IAAK,kBAAM/qB,KAAKC,MAAMg7B,eAAe96B,QAAQ66B,KAAc,IAC3DE,IAAK,SAAAtyB,GAAK,OAAIqyB,eAAeE,QAAQH,EAAUh7B,KAAKM,UAAUsI,OAGnD7I,GAAcC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GCyBxEi7B,eAKJ,SAAAA,EAAY/1B,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAu4B,IACjBz4B,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAk6B,GAAAp4B,KAAAH,KAAMwC,KA8NRgb,eAAiB,WAAuB,IAAtBua,EAAsBrrB,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAN,EAChC5M,EAAKqB,SAAS,CAAEd,SAAS,IACzBod,GAAesa,EAAe,CAC5BnoB,UAAW,SAAA/I,GAAA,IACT2xB,EADS3xB,EACT2xB,eACAC,EAFS5xB,EAET4xB,aAFS,OAGL34B,EAAKqB,SAAS,CAClBd,SAAS,EACTm4B,iBACAC,kBAEF92B,QAAS,WACP7B,EAAKqB,SAAS,CAAEd,SAAS,IACzBjB,aAAmB,qDA5ONU,EAiPnB44B,iBAAmB,SAAApqB,GAIb,IF9QmB/Q,EACnBsgB,EE6QA8a,EAAArqB,EAHJoE,YAGI,IAAAimB,EAHG,EAGHA,EAAAC,EAAAtqB,EAFJqL,gBAEI,IAAAif,EAFO,GAEPA,EAAAC,EAAAvqB,EADJqP,eACI,IAAAkb,EADM,GACNA,EACJ/4B,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAAQtf,OAAAkP,GAAA,EAAAlP,CAAA,GACHsf,EADE,CAEL8T,OAAQ9T,EAAQ8T,QAAU,GAC1B2C,QAASzW,EAAQyW,SAAW,OFtRT72B,EE0RZ,CACTsgB,SAAU,CACRnL,OACAiH,WACAgE,QAAQtf,OAAAkP,GAAA,EAAAlP,CAAA,GACHsf,EADE,CAEL8T,OAAQ9T,EAAQ8T,QAAU,GAC1B2C,QAASzW,EAAQyW,SAAW,MAGhCxkB,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,sDF5SnBye,EAAWtgB,GAAUA,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IAClB7a,aAAO,GAAAhC,OAAIP,KAAJ,QAAoBshB,GAC/B1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MEY9B0B,EAyRnBg5B,iBAAmB,SAACC,GAAW,IAE3B1Y,EAEE0Y,EAFF1Y,QACA2Y,EACED,EADFC,MAIIC,EAAe,IAAI/c,KAAKC,eAAe,QAD/B,CAAEC,UAAW,UACkCnB,OAAO,IAAIrG,KAAKokB,IAE7EprB,GAAQ,CACN9J,MAAO,gBACP+J,SAAQ,qDAAA/Q,OAAiDujB,EAAjD,SAAAvjB,OAAgEm8B,EAAhE,MACRnrB,SAAU,oBACVE,QAAS,aACTC,UAAW,WACT6pB,GAAWiB,EAAO/5B,GAAI,CACpB4Q,UAAW,WACT1Q,aAAqB,+BADN,IAAA2C,EAEY/B,EAAKM,MAAxBsS,EAFO7Q,EAEP6Q,KAAMiH,EAFC9X,EAED8X,SACd7Z,EAAK44B,iBAAiBhmB,EAAMiH,IAE9BhY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,uBAEnBA,aAAmB,6CAlTZU,EA0TnBo5B,gBAAkB,SAACH,GAAW,IAE1B1Y,EAEE0Y,EAFF1Y,QACA2Y,EACED,EADFC,MAIIC,EAAe,IAAI/c,KAAKC,eAAe,QAD/B,CAAEC,UAAW,UACkCnB,OAAO,IAAIrG,KAAKokB,IAE7EprB,GAAQ,CACN9J,MAAO,gBACP+J,SAAQ,mDAAA/Q,OAA+CujB,EAA/C,SAAAvjB,OAA8Dm8B,EAA9D,8CAERnrB,SAAU,oBACVE,QAAS,aACTzH,MAAO,UACP0H,UAAW,WFtRV,IAAmBjP,EAAIm6B,EAAMne,EAAVhc,EEuRR+5B,EAAO/5B,GFvRKm6B,EEuRDJ,EFvRO/d,EEuRC,CAC3BpL,UAAW,WACT1Q,aAAqB,+BADN,IAAAkf,EAEYte,EAAKM,MAAxBsS,EAFO0L,EAEP1L,KAAMiH,EAFCyE,EAEDzE,SACd7Z,EAAK44B,iBAAiBhmB,EAAMiH,IAE9BhY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,uBACVhB,GAA0B,MAAjBA,EAAMH,OACxBkB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,wCFlSxBL,aAAOxC,KAAUyC,EAAIm6B,GACzBh7B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SE9DpC0B,EA+VnBs5B,sBAAwB,SAACL,GAAW,IAC1Bp0B,EAAY7E,EAAK0C,MAAjBmC,QAEN3F,EAKE+5B,EALF/5B,GACAqhB,EAIE0Y,EAJF1Y,QACA2Y,EAGED,EAHFC,MACAK,EAEEN,EAFFM,QACA5H,EACEsH,EADFtH,OAIIwH,EAAe,IAAI/c,KAAKC,eAAe,QAD/B,CAAEC,UAAW,UACkCnB,OAAO,IAAIrG,KAAKokB,IAX3CM,EAaCjZ,EAChCkZ,QAAQ,IAAK,KACbA,QAAQ,IAAK,IACbpc,MAAM,KACNhX,IAAI,SAAAqzB,GAAE,OAAIA,EAAGhT,SAjBkBiT,EAAAp7B,OAAAqd,GAAA,EAAArd,CAAAi7B,EAAA,GAa3BrB,EAb2BwB,EAAA,GAadC,EAbcD,EAAA,GAmB5BE,EAAc,CAClB71B,MAAK,mBAAAhH,OAAqBm7B,EAArB,KAAAn7B,OAAoC48B,GACzC1rB,QAAS,aACTzH,MAAO,WAGT,GAAqB,IAAjBkrB,EAAO1rB,MAAa,CACtB,IAAM8H,EAAQ,gEAAA/Q,OAAgEujB,EAAhE,SAAAvjB,OAA+Em8B,EAA/E,yBAAAn8B,OACFu8B,EADE,KAGdM,EAAY9rB,SAAWA,EACvB8rB,EAAY7rB,SAAW,gBACvB6rB,EAAY5rB,WAAa,iBAEzB4rB,EAAY1rB,UAAY,WACtBtJ,EAAQG,KAAR,4BAAAhI,OAAyCkC,KAE3C26B,EAAYxrB,QAAU,WACpBrO,EAAKqB,SAAS,CAAEd,SAAS,IACzB23B,GAA8B,CAAEh5B,GAAI+5B,EAAO/5B,GAAIi5B,eAAe,CAC5DroB,UAAW,WACT9P,EAAKqB,SAAS,CAAEd,SAAS,IACzBnB,aAAqB,oCAEvByC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IACrBjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,uBACVhB,GAA0B,MAAjBA,EAAMH,OACxBkB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,4EAO7B,GAAqB,IAAjBqyB,EAAO1rB,MAAa,CACtB,IAAM8H,EAAQ,sDAAA/Q,OAAsDujB,EAAtD,SAAAvjB,OAAqEm8B,EAArE,yBAAAn8B,OACFu8B,EADE,KAGdM,EAAY9rB,SAAWA,EACvB8rB,EAAY7rB,SAAW,iBACvB6rB,EAAY1rB,UAAY,WACtBnO,EAAKqB,SAAS,CAAEd,SAAS,IACzB23B,GAA8B,CAAEh5B,GAAI+5B,EAAO/5B,GAAIi5B,eAAe,CAC5DroB,UAAW,WACT9P,EAAKqB,SAAS,CAAEd,SAAS,IACzBnB,aAAqB,oCAEvByC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IACrBjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,uBACVhB,GAA0B,MAAjBA,EAAMH,OACxBkB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,4EAO7BwO,GAAQ+rB,IAnbS75B,EAsbnB85B,SAAW,SAACT,GACUr5B,EAAK0C,MAAjBmC,QACAG,KAAR,qBAAAhI,OAAkCq8B,EAAKn6B,MAxbtBc,EA2bnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAAsM,EACsBlf,EAAKM,MAA3BuZ,EADAqF,EACArF,SAAUgE,EADVqB,EACUrB,QAClB7d,EAAK44B,iBAAiB,CAAEhmB,OAAMiH,WAAUgE,cA9bzB7d,EAkcnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK44B,iBAAiB,CAAEhmB,KAAM,EAAGiH,WAAUgE,QAAS7O,MArcrChP,EAycnBwe,wBAA0B,WAAM,IAAAW,EACAnf,EAAKM,MAA3BuZ,EADsBsF,EACtBtF,SACAP,EAFsB6F,EACZtB,QACVvE,eAERtZ,EAAK44B,iBAAiB,CACpBhmB,KAAM,EACNiH,WACAgE,QAAS,CACP8T,OAAQ,GACR2C,QAAS,GACThb,qBAndatZ,EAwdnB2Z,eAAiB,SAACpT,EAAKyR,GACrB,GAAY,YAARzR,EAAJ,CAD6B,IAKrBnJ,EAAgB4C,EAAKM,MAArBlD,YAEF28B,EAAY38B,EAAY0L,SAAW1L,EAAYwL,cAMrD,MAJgB,CACdwS,QAASpb,EAAKob,QAAQpD,EAAK+hB,GAAW/f,OAAO,SAAA/X,GAAC,OAAIA,EAAEsE,OAGvCA,KAreEvG,EAwenBg6B,gBAAkB,SAAA9R,GAAuB,IAApBgR,EAAoBhR,EAApBgR,MACnB,OAAe,IADwBhR,EAAbyJ,OAEjB,UAGL,IAAI7c,KAAKokB,GAAS,IAAIpkB,KACjB,OAGF,aAjfU9U,EAofnB0e,SAAW,SAACzY,GAeV,MAde,CACb,CACEA,MAAO,EAAGQ,MAAO,QAEnB,CACER,MAAO,EAAGQ,MAAO,WAEnB,CACER,MAAO,EAAGQ,MAAO,cAIIiR,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUA,IAAvCQ,OAjgBSzG,EAsgBnBi6B,UAAY,WAEV,OADyBj6B,EAAKM,MAAtBq4B,cAvgBS34B,EA2gBnBk6B,kBAAoB,WAElB,OAD2Bl6B,EAAKM,MAAxBo4B,gBAzgBR14B,EAAKm6B,WAAa/B,GAAa,aAE/Bp4B,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjB+D,QAAS,CACP8T,OAAQ,GACR2C,QAAS,IAEX/zB,SAAS,EACTmZ,MAAO,GACPtc,YAAaoL,GACbmwB,aAAc,GACdD,eAAgB,IAGlB14B,EAAKyZ,QAAU,iBAAM,CACnB,CACElT,IAAK,QACLzF,KAAM,QACNoZ,QAAQ,EACRza,KAAM,OACN0Q,MAAO,QACPgL,OAAQ,SAAAnD,GAAG,OAAI4E,GAAe5E,EAAIkhB,SAEpC,CACE3yB,IAAK,UACLzF,KAAM,UACNyB,UAAW,YACX2X,QAAQ,EACRiB,OAAQ,SAAA+P,GAAA,IACNhsB,EADMgsB,EACNhsB,GACAqhB,EAFM2K,EAEN3K,QACA2Y,EAHMhO,EAGNgO,MACAvH,EAJMzG,EAINyG,OAJM,OAMNhuB,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,QAASjD,SAAU,SAE/DtV,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,gBAAgB4P,SAAS,MACvDxO,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACElI,GAAE,SAAAlC,OAAWkC,GACbuH,MAAOzG,EAAKg6B,gBAAgB,CAC1Bd,QACAvH,OAAQA,EAAO1rB,SAGhBsa,QASf,CACEha,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,EACRza,KAAM,SACN6Y,YAAa,CACX1C,QAAS5V,EAAKk6B,kBACdrkB,SAAS,GAEXtT,UAAW,eAEb,CACEgE,IAAK,WACLzF,KAAM,WACNoZ,QAAQ,GAEV,CACE3T,IAAK,qBACLzF,KAAM,aACNoZ,QAAQ,EACR3X,UAAW,cACX4Y,OAAQ,SAAAkN,GAAA,IAAGnpB,EAAHmpB,EAAGnpB,GAAIk7B,EAAP/R,EAAO+R,mBAAP,OACNz2B,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,WAE5CvY,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,gBAAgB4P,SAAS,MACvDxO,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOlI,GAAE,SAAAlC,OAAWkC,GAAMuH,MAAO2zB,EAAqB,OAAS,aAC5DA,QASf,CACE7zB,IAAK,SACLzF,KAAM,SACNoZ,QAAQ,EACRza,KAAM,SACN6Y,YAAa,CACX1C,QAAS5V,EAAKi6B,UACdpkB,SAAS,GAEXtT,UAAW,cACX4Y,OAAQ,SAAAwQ,GAAA,IAAGzsB,EAAHysB,EAAGzsB,GAAIyyB,EAAPhG,EAAOgG,OAAP,OACNhuB,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,WAE5CvY,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,gBAAgB4P,SAAS,MACvDxO,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOlI,GAAE,SAAAlC,OAAWkC,GAAMuH,MAAOzG,EAAK0e,SAASiT,EAAO1rB,QACnD0rB,EAAO/qB,YAStB,CACEL,IAAK,UACLzF,KAAM,SACNqP,MAAO,WAIXnQ,EAAKob,QAAU,SAACpD,EAAK+hB,GACnB,IAAM5uB,EAAgC,IAArB6M,EAAI2Z,OAAO1rB,MAAc,GAAK,WACzCo0B,EAAWN,EAAY,OAAS,iBAChCO,EAAYP,EAAY,SAAW,cAEzC,MAAO,CACL,CACExzB,IAAG,GAAAvJ,OAAKmO,EAAW,MAAQ,QAC3B9H,KACEM,EAAA1B,EAAAC,cAAA,QACEK,UAAS,SAAAvF,OAAWmO,EAAW,MAAQkvB,GACvCr2B,MAAK,GAAAhH,OAAKmO,EAAW,MAAQmvB,EAAxB,aAGTpf,SAA+B,IAArBlD,EAAI2Z,OAAO1rB,OAAoC,IAArB+R,EAAI2Z,OAAO1rB,MAAc,KAAO,SAACozB,GACzC,IAAtBA,EAAK1H,OAAO1rB,OAAqC,IAAtBozB,EAAK1H,OAAO1rB,OACzCjG,EAAK85B,SAAST,KAIpB,CACE9yB,IAAK4E,IAAa4uB,EAAY,GAAK,QACnC12B,KAAMM,EAAA1B,EAAAC,cAAA,QACJK,UAAU,eACVyB,MAAM,kBAERkX,SAAU/P,EAAW,KAAO,SAACkuB,GACD,IAAtBA,EAAK1H,OAAO1rB,OACdjG,EAAKo5B,gBAAgBC,KAI3B,CACE9yB,IAAKyR,EAAI2Z,OAAO1rB,OAAS,GAAK8zB,EAAY,QAAU,GACpD12B,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,kBAC1CkX,SAAU,SAACme,GACLA,EAAK1H,OAAO1rB,OAAS,GACvBjG,EAAKs5B,sBAAsBD,KAIjC,CACE9yB,IAAK4E,IAAa4uB,EAAY,GAAK,SACnC12B,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,kBAC1CkX,SAAU/P,EAAW,KAAO,SAACkuB,GACD,IAAtBA,EAAK1H,OAAO1rB,OACdjG,EAAKg5B,iBAAiBK,OA9Kfr5B,mFAuLjB,IAAMu6B,EAAMr6B,KAAKi6B,WAAW/R,IAAI,aADd8F,EAKdhuB,KAAKI,MADPsS,EAJgBsb,EAIhBtb,KAAMiH,EAJUqU,EAIVrU,SAAUC,EAJAoU,EAIApU,gBAGZxZ,EAAQ,CACZud,QAAS0c,EAAI1c,SAAW,GACxBjL,KAAM2nB,EAAI3nB,MAAQA,EAClBiH,SAAU0gB,EAAI1gB,UAAYA,EAC1BC,gBAAiBygB,EAAIzgB,iBAAmBA,GAG1C5Z,KAAKwd,iBAELxd,KAAK04B,iBAALr6B,OAAAkP,GAAA,EAAAlP,CAAA,GAA2B+B,+CAGV0C,EAAW0B,GAAW,IAAA81B,EAGnCt6B,KAAKI,MADPsS,EAFqC4nB,EAErC5nB,KAAMiH,EAF+B2gB,EAE/B3gB,SAAUC,EAFqB0gB,EAErB1gB,gBAEZxZ,EAAQ,CAAEud,QAJuB2c,EAEJ3c,SAK/BjL,IAASlO,EAAUkO,OACrBtS,EAAMsS,KAAOA,GAGXiH,IAAanV,EAAUmV,WACzBvZ,EAAMuZ,SAAWA,GAGfC,IAAoBpV,EAAUoV,kBAChCxZ,EAAMwZ,gBAAkBA,GAG1B5Z,KAAKi6B,WAAW5B,IAAIj4B,oCAoTb,IAAAG,EAAAP,KAAAu6B,EASHv6B,KAAKI,MAPPC,EAFKk6B,EAELl6B,QACAmZ,EAHK+gB,EAGL/gB,MACA9G,EAJK6nB,EAIL7nB,KACAiH,EALK4gB,EAKL5gB,SACAC,EANK2gB,EAML3gB,gBACA+D,EAPK4c,EAOL5c,QACAzgB,EARKq9B,EAQLr9B,YAGI28B,EAAY38B,EAAY0L,SAAW1L,EAAYwL,cAErD,OACEjF,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACG2a,EACCp2B,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,wBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,kBAAkB2B,GAAG,oBACnCP,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eADf,4BAMJ,KAEJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EAAUoD,EAAA1B,EAAAC,cAACmd,GAAD,MAEP1b,EAAA1B,EAAAC,cAACod,GAAD,CACE/Y,IAAI,WACJvC,MAAM,mCACNyV,QAASvZ,KAAKuZ,UACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnB+G,gBAAiBA,EACjB9I,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrB7E,eAAgB,SAACpT,EAAKyR,GAAN,OAAcvX,EAAKkZ,eAAepT,EAAKyR,IACvDlF,YAAa4G,EAAM1T,OACnB4M,KAAMA,EACNiH,SAAUA,EACVP,eAAgBuE,EAAQvE,eACxBvM,cAAe8Q,EACf0B,oBAAkB,aAnkBLpc,iBA6kBdC,eAAWq1B,ICvmBnB,SAASiC,GAAT3zB,GAKJ,IAJD4zB,EAIC5zB,EAJD4zB,SACAC,EAGC7zB,EAHD6zB,aACA9qB,EAEC/I,EAFD+I,UACAjO,EACCkF,EADDlF,QAEA,OAAOlD,aAAM,GAAA3B,OAAIH,KAAJ,eAAAG,OAAsC29B,EAAtC,KAAA39B,OAAkD49B,IAC5Dv8B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,SCIrBm6B,eAKJ,SAAAA,EAAY/1B,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAu4B,IACjBz4B,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAk6B,GAAAp4B,KAAAH,KAAMwC,KA+FRm4B,aAAe,SAACjoB,EAAMiH,EAAUgE,GDf3B,IAAsBpgB,EACrBsgB,ECeJ/d,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,KDnBlBE,GADqBtgB,ECsBZ,CACXsgB,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAAA/I,GAAgC,IAA7B2S,EAA6B3S,EAA7B2S,MAAOI,EAAsB/S,EAAtB+S,gBACnB9Z,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,QACAI,qBAGJjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,wDDpCE7B,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IAClB7a,aAAO,GAAAhC,OAAIH,KAAJ,aAAqCkhB,GAChD1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MC9F9B0B,EA2HnB86B,gBAAkB,WAChB96B,EAAKqB,SAAS,CAAEd,SAAS,IACzB0nB,GAAmB,CACjBlK,SAAU,CACRnL,KAAM,EACNiH,SAAU,GAEZ/J,UAAW,SAAAtB,GAAe,IAAZkL,EAAYlL,EAAZkL,MACZ1Z,EAAKqB,SAAS,CACZd,SAAS,EACTw6B,SAAUrhB,KAGd7X,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,oEA1INU,EA+InBg5B,iBAAmB,SAACC,GAClB,IAAMn4B,EAAI,GAAA9D,OAAMi8B,EAAO1Y,QAAQya,OAArB,MAAAh+B,OAAgCi8B,EAAO1Y,QAAQpC,QACzDrQ,GAAQ,CACN9J,MAAO,gBACP+J,SAAQ,iDAAA/Q,OAAgD8D,EAAhD,KACRkN,SAAU,oBACVE,QAAS,aACTC,UAAW,WACTnO,EAAKqB,SAAS,CAAEd,SAAS,IAEzBy3B,GAAWiB,EAAO/5B,GAAI,CACpB4Q,UAAW,WACT9P,EAAKqB,SAAS,CAAEd,SAAS,IACzBnB,aAAqB,+BAFN,IAAA2C,EAGY/B,EAAKM,MAAxBsS,EAHO7Q,EAGP6Q,KAAMiH,EAHC9X,EAGD8X,SACd7Z,EAAK66B,aAAajoB,EAAMiH,IAE1BhY,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IACrBjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,uBAEnBA,aAAmB,6CArKZU,EA6KnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAK66B,aAAajoB,EAAMiH,EAAUgE,KAhLnB7d,EAoLnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK66B,aAAa,EAAGhhB,EAAU7K,KAvLhBhP,EA2LnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK66B,aAAa,EAAGhhB,EAAU,KA7Ld7Z,EAgMnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAlMfvG,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,IACVC,gBAAiB,EACjBJ,MAAO,GACPqhB,SAAU,GACVld,QAAS,CAAE3e,GAAI,KAEjBc,EAAKyZ,QAAU,CACb,CACElT,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIijB,WAAX,KAAAj+B,OAAyBgb,EAAIuI,WAE1C,CAAEha,IAAK,UAAWzF,KAAM,UAAWoZ,QAAQ,GAC3C,CACE3T,IAAK,WACLzF,KAAM,WACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAImY,SAAX,UAEb,CACE5pB,IAAK,cACLzF,KAAM,eACNoZ,QAAQ,EACRza,KAAM,OACN0Q,MAAO,QACPgL,OAAQ,SAAAnD,GAAG,OAAI,IAAIlD,KAAKkD,EAAIkjB,aAAa/d,uBAE3C,CACE5W,IAAK,mBACLzF,KAAM,iBACNoZ,QAAQ,EACRza,KAAM,OACN0Q,MAAO,QACPgL,OAAQ,SAAAnD,GAAG,OAAI,IAAIlD,KAAKkD,EAAImjB,kBAAkBhe,uBAEhD,CACE5W,IAAK,kBACLzF,KAAM,YACNoZ,QAAQ,EACR3X,UAAW,cACX4Y,OAAQ,SAAA+M,GAAuB,IAApBhpB,EAAoBgpB,EAApBhpB,GAAIk8B,EAAgBlT,EAAhBkT,UACT30B,EAAQ,SASZ,OARwB,IAApB20B,EAAUn1B,QACZQ,EAAQ,QAGc,IAApB20B,EAAUn1B,QACZQ,EAAQ,WAIR9C,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,WAE5CvY,EAAA1B,EAAAC,cAAA,UAAQqE,IAAG,GAAAvJ,OAAKkC,EAAL,KAAAlC,OAAWo+B,EAAUn1B,OAASxG,KAAK,SAAS8C,UAAU,gBAAgB4P,SAAS,MACxFxO,EAAA1B,EAAAC,cAAC4c,GAAD,CACE5f,GAAE,aAAAlC,OAAekC,EAAf,KAAAlC,OAAqBo+B,EAAUn1B,OACjCA,MAAOm1B,EAAUx0B,MACjBA,MAAOw0B,EAAUx0B,MACjBL,IAAG,aAAAvJ,OAAekC,EAAf,KAAAlC,OAAqBo+B,EAAUn1B,OAClCQ,MAAOA,QAQrB,CAAEF,IAAK,eAAgBzF,KAAM,gBAAiBoZ,QAAQ,GACtD,CAAE3T,IAAK,eAAgBzF,KAAM,gBAAiBoZ,QAAQ,GACtD,CAAE3T,IAAK,eAAgBzF,KAAM,gBAAiBoZ,QAAQ,GACtD,CACE3T,IAAK,eACLzF,KAAM,eACNoZ,QAAQ,EACRiB,OAAQ,SAACnD,GACP,IAAKA,EAAIqjB,aAAc,MAAO,IAC9B,IAAMC,EAAkBzW,GAAenN,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAU+R,EAAIqjB,gBAAiB,GAClF,SAAAr+B,OAAUs+B,EAAgB10B,UAKhC5G,EAAKob,QAAU,GAvFEpb,mFA0FC,IAAAkf,EACShf,KAAKI,MAAxBsS,EADUsM,EACVtM,KAAMiH,EADIqF,EACJrF,SACd3Z,KAAK26B,aAAajoB,EAAMiH,GACxB3Z,KAAK46B,mDA0GE,IAAAr6B,EAAAP,KAAAif,EASHjf,KAAKI,MAPPC,EAFK4e,EAEL5e,QACAmZ,EAHKyF,EAGLzF,MAHK6hB,EAAApc,EAIL4b,gBAJK,IAAAQ,EAIM,GAJNA,EAKL3oB,EALKuM,EAKLvM,KACAiH,EANKsF,EAMLtF,SACAC,EAPKqF,EAOLrF,gBACA+D,EARKsB,EAQLtB,QAGF,OAAItd,EAEAoD,EAAA1B,EAAAC,cAACmd,GAAD,MAKF1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,mBAEEw4B,EAAS/0B,OAAS,GAChBrC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,kBAAkB2B,GAAG,oCACnCP,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eADf,+BAQVoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,2BACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aA1PDpc,iBAkQdC,eAAWq1B,IC9PpB+C,eAKJ,SAAAA,EAAY94B,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAs7B,IACjBx7B,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAi9B,GAAAn7B,KAAAH,KAAMwC,KAYRyuB,aAAe,WACbnxB,EAAKqB,SAAS,CAAEd,SAAS,IACzB0nB,GAAmB,CACjBnY,UAAW,SAAC7R,GACV+B,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOzb,EAAOyb,SAGlB7X,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,oEAxBNU,EA6BnBy7B,YAAc,SAACxC,GAAW,IAChB1Y,EAAuB0Y,EAAvB1Y,QAAuB0Y,EAAdhG,WAEjBnlB,GAAQ,CACN9J,MAAO,0BACP+J,SAAQ,wDAAA/Q,OAAuDujB,EAAvD,MACRvS,SAAU,kBACVE,QAAS,aACTC,UAAW,WACTnO,EAAKqB,SAAS,CAAEd,SAAS,IADV,IFHWynB,EAAa9M,EEM/BwgB,EAAwBzC,EAAxByC,SAAUxO,EAAc+L,EAAd/L,UFNQlF,EEOX,CACb0T,WACAx8B,GAAI,EACJ0zB,eAAgB1F,EAChBmO,aAAc,GFXuBngB,EEcb,CACxBpL,UAAW,WACT1Q,aAAqB,yCACrBY,EAAKmxB,gBAEPtvB,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IACrBjC,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,6CFvBxBN,aAAO,GAAAhC,OAAIH,KAAJ,gBAAwCmrB,GACnD3pB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SE5CpC0B,EAkEnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKmxB,aAAa,EAAGtX,EAAU,KApEd7Z,EAuEnByiB,OAAS,WACaziB,EAAK0C,MAAjBmC,QACAG,KAAK,yBAzEIhF,EA4EnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAhFEvG,EAmFnB27B,QAAU,SAAAlnB,GAAI,OAAI,IAAIK,KAAKL,GAAM0I,mBAAmB,UAnFjCnd,EAqFnB47B,kBAAoB,SAAA70B,GAAe,IAAZd,EAAYc,EAAZd,MACrB,OAAc,IAAVA,EACK,OAGK,IAAVA,EACK,UAGF,UA9FUjG,EAiGnB67B,kBAAoB,SAAArtB,GAId,IAHJvI,EAGIuI,EAHJvI,MAGI61B,EAAAttB,EAFJ+J,KAAQwjB,EAEJD,EAFIC,GAAIC,EAERF,EAFQE,KACZC,EACIztB,EADJytB,UAEA,OAAc,IAAVh2B,GAA6B,OAAdg2B,GAAsBF,EAChC,SAGK,IAAV91B,GAA6B,eAAdg2B,GAA8BD,EACxC,SAGF,WA5GPh8B,EAAKM,MAAQ,CACXC,SAAS,EACTmZ,MAAO,IAJQ1Z,mFAQC,IAAA+B,EACS7B,KAAKI,MAAxBsS,EADU7Q,EACV6Q,KAAMiH,EADI9X,EACJ8X,SACd3Z,KAAKixB,aAAave,EAAMiH,oCAuGjB,IAAApZ,EAAAP,KAAAoe,EAIHpe,KAAKI,MAFPC,EAFK+d,EAEL/d,QACAmZ,EAHK4E,EAGL5E,MAGF,OAAInZ,EACKoD,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAEL9Z,GAAYoD,EAAA1B,EAAAC,cAACmd,GAAD,OAGX9e,GACCoD,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACqvB,GAAA,EAAD,CAAMhvB,UAAU,QACdoB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,6BAEFoB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,qBACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,OACNyO,EAAM1T,QAAU0T,EAAMrT,IAAI,SAAA6d,GAAC,OAC1BvgB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,GAAI1pB,IAAG,WAAAvJ,OAAaknB,EAAEhlB,GAAf,KAAAlC,OAAqBknB,EAAEwX,WACnD/3B,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,CACE3W,QAAS,kBAAMnD,EAAKg7B,YAAYvX,IAChC3hB,UAAS,aAAAvF,OAAeknB,EAAE+O,UAAY,WAAa,KAEnDtvB,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,CACEjY,UAAS,8BAAAvF,OAAgCyD,EAAKm7B,kBAAkB1X,EAAEkX,aAElEz3B,EAAA1B,EAAAC,cAAA,OACEK,UAAU,oCACVmE,MAAO,CAAE6P,QAAS,OAAQuY,cAAe,WAEzCnrB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBACZoB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOb,IAAG,SAAAvJ,OAAWknB,EAAEwX,UAAYj1B,MAAM,WAAzC,KACKyd,EAAEwX,UAFT,IAAA1+B,OAIOknB,EAAE3D,UAET5c,EAAA1B,EAAAC,cAAA,WACAyB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,qBACVmE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,kBAE1CvY,EAAA1B,EAAAC,cAAA,YAAOgiB,EAAE4N,OACTnuB,EAAA1B,EAAAC,cAAA,YAAOgiB,EAAEiM,SAAT,kBAEFxsB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,qBACVmE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,kBAE1CvY,EAAA1B,EAAAC,cAAA,oBAEG,KACDyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOb,IAAG,WAAAvJ,OAAaknB,EAAEwX,UAAYj1B,MAAM,WACxC,IAAIqO,KAAKoP,EAAEgX,aAAa/d,mBAAmB,WAGhDxZ,EAAA1B,EAAAC,cAAA,wBAEG,KACDyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOb,IAAG,WAAAvJ,OAAaknB,EAAEwX,UAAYj1B,MAAM,UACxCmW,GAAesH,EAAEgY,iCAIxBv4B,EAAA1B,EAAAC,cAAA,OACEK,UAAU,qBACVmE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,kBAE1CvY,EAAA1B,EAAAC,cAAA,YAAO,KACPyB,EAAA1B,EAAAC,cAAA,sBACU,IACRyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEb,IAAG,SAAAvJ,OAAWknB,EAAEwX,SAAb,KAAA1+B,OAAyBknB,EAAEkX,UAAUn1B,OACxCQ,MAAOhG,EAAKm7B,kBAAkB1X,EAAEkX,YAE/BlX,EAAEkX,UAAUx0B,SAInBjD,EAAA1B,EAAAC,cAAA,OACEK,UAAU,qBACVmE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,kBAE1CvY,EAAA1B,EAAAC,cAAA,0BACc,IACZyB,EAAA1B,EAAAC,cAAA,YACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEb,IAAG,SAAAvJ,OAAWknB,EAAEwX,SAAb,KAAA1+B,OAAyBknB,EAAEsM,sBAC9B/pB,MAAOhG,EAAKo7B,kBAALt9B,OAAAkP,GAAA,EAAAlP,CAAA,GAA4B2lB,EAAEkX,UAA9B,CAAyCa,UAAW,gBAC3Dv1B,MAAO,CAAEuS,SAAU,SAElB,IAAKiL,EAAEsM,sBANZ,MAWF7sB,EAAA1B,EAAAC,cAAA,YACEyB,EAAA1B,EAAAC,cAAA,kBACM,IACJyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEb,IAAG,SAAAvJ,OAAWknB,EAAEwX,SAAb,KAAA1+B,OAAyBknB,EAAEqM,cAC9B9pB,MAAOhG,EAAKo7B,kBAALt9B,OAAAkP,GAAA,EAAAlP,CAAA,GAA4B2lB,EAAEkX,UAA9B,CAAyCa,UAAW,QAC3Dv1B,MAAO,CAAEuS,SAAU,SAElB,IAAKiL,EAAEqM,cAPZ,OAaJ5sB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,qBACVmE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,gBAAiBjD,SAAU,SAErEtV,EAAA1B,EAAAC,cAAA,kCAAAlF,OAE0ByD,EAAKk7B,QAAQzX,EAAEiY,2BAGzCx4B,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,QACb2hB,EAAE+O,UAAF,qBAAAj2B,OACwByD,EAAKk7B,QAAQzX,EAAEiX,mBACpC,KAKgB,IAAtBjX,EAAEkX,UAAUn1B,MACVtC,EAAA1B,EAAAC,cAAA,OACEK,UAAU,qBACVmE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,gBAAiBjD,SAAU,SAErEtV,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,WAAWyd,EAAEkX,UAAU7iB,KAAK6jB,SAEzC,YAQd1iB,EAAM1T,QACNrC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKM,GAAI,IACP/W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,gBAAd,wCAQVoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS1D,KAAKuiB,QAHhB,kCAxRwBtf,iBA0S/BC,eAAWo4B,ICnUpBa,GAAqB,eAACp2B,EAAD2G,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAS,EAAT,OAAe0vB,WAAWr2B,GAAS,GAAKq2B,WAAWr2B,GAAS,KAmCxE8I,GAjCE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GA4Bf,OA1BKD,EAAMstB,WAActtB,EAAMstB,UAAUt2B,QACvCiJ,EAAOqtB,UAAY,8BAEhBttB,EAAMksB,mBACTjsB,EAAOisB,iBAAmB,0BAGxBkB,GAAmBptB,EAAMuhB,wBAC3BthB,EAAOshB,qBAAuB,2CAE5B6L,GAAmBptB,EAAMshB,gBAC3BrhB,EAAOqhB,aAAe,2CAEpB8L,GAAmBptB,EAAMutB,gBAC3BttB,EAAOstB,aAAe,2CAEpBH,GAAmBptB,EAAMwtB,gBAC3BvtB,EAAOutB,aAAe,2CAIrBxtB,EAAMqsB,iBACHn1B,OAAO0pB,UAAU5gB,EAAMqsB,gBAAgBr1B,QACvC4e,GAAe9F,KAAK,SAAA2d,GAAE,OAAIA,EAAGz2B,QAAUgJ,EAAMqsB,gBAAgBr1B,UACjEiJ,EAAOosB,gBAAkB,mBAEpBpsB,GCnBH2jB,oLAiBK,IAAArvB,EASHtD,KAAKwC,MAPPxD,EAFKsE,EAELtE,GACAoR,EAHK9M,EAGL8M,WACAN,EAJKxM,EAILwM,aACAyS,EALKjf,EAKLif,OACAwW,EANKz1B,EAMLy1B,OACAsD,EAPK/4B,EAOL+4B,UACAhG,EARK/yB,EAQL+yB,QAGaH,EAAiBmG,EAAxB31B,MACA2Z,EAAY0Y,EAAZ1Y,QAER,OACE5c,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAage,EAA3B,oDAGJ5c,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,GAAIC,GAAI,IACtBpb,GAAM,GACLyE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,YACL4P,UAAW6G,GACXtK,YAAY,SACZS,aAAa,QACbkI,QAAS2gB,OAMnB5yB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,GAAIC,GAAI,IACtBpb,GACCyE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SAAOzC,KAAK,OAAOwG,MAAOmwB,EAAcjrB,UAAQ,OAKxDxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,GACtB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,wBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,mBACL4P,UAAWsI,GACX/L,YAAY,uBACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,GACtB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,4BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,uBACL4P,UAAW1D,GACXvN,KAAK,SACL0N,IAAI,IACJC,IAAI,MACJC,KAAK,IACLJ,YAAY,2BACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,GACtB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW1D,GACXvN,KAAK,SACL0N,IAAI,IACJC,IAAI,MACJC,KAAK,IACLJ,YAAY,gBACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,GACtB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW1D,GACXvN,KAAK,SACL0N,IAAI,IACJC,IAAI,MACJC,KAAK,IACLJ,YAAY,gBACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,GACtB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW1D,GACXvN,KAAK,SACL0N,IAAI,IACJC,IAAI,MACJC,KAAK,IACLJ,YAAY,gBACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,GACtB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,mBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,kBACL4P,UAAW6G,GACXtK,YAAY,kBACZS,aAAa,QACbkI,QAASiP,SAOnBlhB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCA5KgBtf,iBAAxB0vB,GAWGxrB,aAAe,CACpBnI,GAAI,EACJoR,YAAY,EACZisB,UAAW,IA4Kf,IAMehwB,MANc0E,aAAU,CACrCC,KAAM,kBACNnC,YACAwQ,oBAAoB,GAHOtO,CAI1B4hB,KCOY8J,eAlMb,SAAAA,EAAYj6B,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAy8B,IACjB38B,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAo+B,GAAAt8B,KAAAH,KAAMwC,KASRib,eAAiB,WAGf+c,GAAY,CACVC,SAHmB36B,EAAK0C,MAAlBi4B,SAINC,cAAc,EACd9qB,UAAW,SAAA/I,GAAyB,IAAtBkyB,EAAsBlyB,EAAtBkyB,OAAQ1C,EAAcxvB,EAAdwvB,QACpBv2B,EAAKqB,SAAS,CACZ43B,SAAQ1C,YAGVv2B,EAAK48B,0BAEP/6B,QAAS,WACPvC,aAAmB,qDAxBNU,EA6BnB48B,uBAAyB,WAAM,IAAAp5B,EACLxD,EAAK0C,MAArBxD,EADqBsE,EACrBtE,GAAI2F,EADiBrB,EACjBqB,QACZ,GAAK3F,GL1BF,SAA8BA,EAAIgc,GAChCvc,aAAM,GAAA3B,OAAIH,KAAJ,KAAAG,OAA4BkC,IACtCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KKgCrDu+B,CAAqB39B,EAAI,CACvB4Q,UAAW,SAACiX,GAAQ,IAEhBwL,EAMExL,EANFwL,UACArF,EAKEnG,EALFmG,UACA/O,EAIE4I,EAJF5I,OACAC,EAGE2I,EAHF3I,SACA0e,EAEE/V,EAFF+V,gBACAzB,EACEtU,EADFsU,aAGIC,EAAkBzW,GAAenN,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUo1B,KAAiB,GAExErT,EAAWzpB,OAAAkP,GAAA,EAAAlP,CAAA,GACZwoB,EADY,CAEfwV,UAAW,CACTt2B,MAAOinB,EACP9G,SAAUmM,EACV3rB,MAAK,GAAA5J,OAAKu1B,EAAL,KAAAv1B,OAAkB8/B,EAAlB,MAAA9/B,OAAsCmhB,EAAtC,KAAAnhB,OAAgDohB,IAEvDkd,oBAEFt7B,EAAKqB,SAAS,CAAE2mB,iBAElBnmB,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,wCACnBuF,EAAQghB,UAERvmB,aAAmB,mEA7CzB,CAAS,IACW45B,EAAYl5B,EAAKM,MAA3B24B,OAAUC,MAClBl5B,EAAKqB,SAAS,CACZ2mB,YAAa,CACX9oB,GAAI,EACJi8B,iBAAkBjC,EAAM6D,iBACxBvM,qBAAsB,EACtBD,aAAc,EACdiM,aAAc,EACdC,aAAc,OAxCHz8B,EAkFnBgQ,aAAe,SAAChB,GAAW,IL9DSgZ,EAAa9M,EKgE7Chc,EAQE8P,EARF9P,GAFuB89B,EAUrBhuB,EAPFutB,UAAoB3J,EAHGoK,EAGV/2B,MAAiCssB,EAHvByK,EAGa5W,SACpC+U,EAMEnsB,EANFmsB,iBACA3K,EAKExhB,EALFwhB,qBACAD,EAIEvhB,EAJFuhB,aACAiM,EAGExtB,EAHFwtB,aACAC,EAEEztB,EAFFytB,aAC0BpB,EACxBrsB,EADFssB,gBAAmBr1B,MAGCy1B,EAAe17B,EAAKM,MAAlC24B,OAAU/5B,GL1EgB8oB,EK4EnB,CACb9oB,KACAw8B,WACAnJ,YACAK,iBACAuI,mBACA3K,sBAAuBA,EACvBD,cAAeA,EACfiM,cAAeA,EACfC,cAAeA,EACfpB,gBLtF6CngB,EKyFjB,CAC5BpL,UAAW,WAAM,IACPjL,EAAY7E,EAAK0C,MAAjBmC,QACRzF,aAAqB,iDACrByF,EAAQghB,UAEVhkB,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,qELlGpBN,aAAO,GAAAhC,OAAIH,KAAJ,cAAsCmrB,GACjD3pB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MK9BpC0B,EA6HnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UA/HS7lB,EAkInBi9B,sBAAwB,SAACh3B,GAAU,IACzB+hB,EAAgBhoB,EAAKM,MAArB0nB,YACRhoB,EAAKqB,SAAS,CACZ2mB,YAAYzpB,OAAAkP,GAAA,EAAAlP,CAAA,GACPypB,EADM,CAET+N,OAAQ9vB,EACRssB,UAAWtsB,EAAMmgB,SACjBwM,eAAgB3sB,EAAM/G,QAvI1Bc,EAAKM,MAAQ,GACbN,EAAKi9B,sBAAwBj9B,EAAKi9B,sBAAsB1oB,KAA3BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAHZA,mFAOjBE,KAAKyd,kDAuIE,IAAAxT,EACiBjK,KAAKwC,MAArBxD,EADDiL,EACCjL,GAAI2F,EADLsF,EACKtF,QADL9C,EAMH7B,KAAKI,MAHP24B,EAHKl3B,EAGLk3B,OACAjR,EAJKjmB,EAILimB,YACAuO,EALKx0B,EAKLw0B,QAGF,OACE5yB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,4BAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,+EAKJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACJkc,EAGC5yB,EAAA1B,EAAAC,cAACg7B,GAAD3+B,OAAA+N,OAAA,GACM0b,EADN,CAEEhX,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACb7Y,cAAeib,EACfA,YAAaA,EACbnjB,QAASA,EACT0xB,QAASA,EACT0C,OAAQA,EACRkE,gBAAiBj9B,KAAK+8B,sBACtB1d,oBAAkB,KAZnB5b,EAAA1B,EAAAC,cAACmd,GAAD,gBAtKsBlc,2BCDjCi6B,8MAqBJC,kBAAoB,iBAClB,CAAC,CACCp3B,MAAO,EACP+nB,YAAa,WACbxiB,SAAS,6EAIJ,IAAAhI,EAUHtD,KAAKwC,MARP4N,EAFK9M,EAEL8M,WACAN,EAHKxM,EAGLwM,aACAzP,EAJKiD,EAILjD,QACA+8B,EALK95B,EAKL85B,2BACAC,EANK/5B,EAML+5B,uBACA9a,EAPKjf,EAOLif,OAPK6T,EAAA9yB,EAQL+yB,eARK,IAAAD,EAQK,GARLA,EASLkH,EATKh6B,EASLg6B,YAGF,OACE75B,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,sBAQA9e,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAEub,aAAc,QAClDte,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,YAAYmE,MAAO,CAAEuS,SAAU,KAA7C,iBAEEtV,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEV,MAAO,CAAE2P,QAAS,SAAU4C,SAAU,IACtCxS,MAAM,YACN2oB,MAAI,GAEHmH,EAAQvc,OAAO,SAAA/X,GAAC,OAAKA,EAAE+S,WAAUhP,YAQ9CrC,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,OACPtH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIqX,GAAI,GAAIzB,GAAI,IACvBtsB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,gCACVmE,MAAO,CACLuS,SAAU,GACV1C,QAAS,OACTK,WAAY,SAGdjT,EAAA1B,EAAAC,cAACu7B,GAAA,EAAD,CACE/2B,MAAO,CAAE+qB,WAAY,EAAGiM,cAAe,GACvCC,IAAI,cACJ1N,GAAI,EACJ1tB,UAAU,qCAJZ,oBAQAoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,GACPtsB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW1D,GACXC,YAAY,iBACZS,aAAa,QACbjO,KAAK,OACLyG,SAAUq3B,EACVrwB,UAAW,GACXyI,aAAc6nB,SAQxBj9B,EACIoD,EAAA1B,EAAAC,cAACmd,GAAD,MAEA1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,qBACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,OACNsrB,EAAQlwB,IAAI,SAAA4T,GAAC,OACZtW,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,GAAI1pB,IAAG,eAAAvJ,OAAiBid,EAAE2N,UAC/CjkB,EAAA1B,EAAAC,cAAA,OACEqE,IAAG,eAAAvJ,OAAiBid,EAAEhU,OACtB1D,UAAU,2BACVmE,MAAO,CACLuS,SAAU,GACV1C,QAAS,OACTyZ,UAAW,SAGbrsB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,WAAAvJ,OAAaid,EAAE2N,SAClB9mB,KAAI,WAAA9D,OAAaid,EAAE2N,SACnBlX,UAAW1E,GACXpF,MAAK,GAAA5J,OAAKid,EAAE2jB,IAAP,KAAA5gC,OAAcid,EAAEmD,KAAhB,MAAApgB,OAAyBid,EAAEnZ,MAChCyB,UAAW0X,EAAEjF,SAAW,UAAY,GACpC/O,MAAOgU,EAAEjF,SACT5J,eAAgB6O,EAAEjF,SAClB9O,SAAU,SAAAkc,GAAC,OAAIkb,EAA2Blb,EAAGnI,uBA5I5C9W,iBAA3Bi6B,GAcG/1B,aAAe,CACpBiJ,YAAY,EACZ/P,SAAS,EACTg8B,UAAW,GACXiB,YAAa,KA2IjB,IAMejxB,MANiB0E,aAAU,CACxCC,KAAM,qBACNnC,YACAwQ,oBAAoB,GAHUtO,CAI7BmsB,KCjKYS,GAhBE,SAACC,EAAcC,GAE9B,IAAIC,EAGJ,OAAO,WAAa,QAAAC,EAAArxB,UAAA5G,OAATk4B,EAAS,IAAAC,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAATF,EAASE,GAAAxxB,UAAAwxB,GAElBC,aAAaL,GAGbA,EAAQ18B,WAAW,WACjBw8B,EAAYnxB,WAAZ,EAAgBuxB,IACfH,KCyTQO,eAjTb,SAAAA,EAAY57B,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAo+B,IACjBt+B,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA+/B,GAAAj+B,KAAAH,KAAMwC,KAmBRib,eAAiB,SAAA5W,GAAgD,IAAAw3B,EAAAx3B,EAA7C6zB,oBAA6C,IAAA2D,KAAAC,EAAAz3B,EAAvBy2B,mBAAuB,IAAAgB,EAAT,GAASA,EAE/D9D,GAAY,CACVC,SAFmB36B,EAAK0C,MAAlBi4B,SAGNC,eACA9qB,UAAW,SAAAtB,GAA8B,IAA3ByqB,EAA2BzqB,EAA3ByqB,OAA2BwF,EAAAjwB,EAAnB+nB,eAAmB,IAAAkI,EAAT,GAASA,EAErCz+B,EAAKqB,SAAS,CACZ43B,SACA1C,UACAh2B,SAAS,EACTi9B,iBAaN37B,QAAS,WACP7B,EAAKqB,SAAS,CACZd,SAAS,IAEXjB,aAAmB,qDAhDNU,EAqDnBgQ,aAAe,SAAChB,GAAW,IACH0sB,EAAe17B,EAAKM,MAAlC24B,OAAU/5B,GADOw/B,EAGA1vB,EAAjBunB,eAHiB,IAAAmI,EAGP,GAHOA,EAKnBC,EAAyBpI,EAC5Bvc,OAAO,SAAA/X,GAAC,OAAIA,EAAE+S,WACd3O,IAAI,SAAApE,GAAC,MAAK,CACTy5B,WACAx8B,GAAI,EACJ8V,SAAU/S,EAAE+S,SACZ4d,eAAgB3wB,EAAE2lB,QAClB2K,UAAWtwB,EAAEuG,QAGXo2B,EAAgBrI,EACnBvc,OAAO,SAAA/X,GAAC,OAAIA,EAAE+S,WACd3O,IAAI,SAAA6hB,GAAA,IAAG0V,EAAH1V,EAAG0V,IAAK98B,EAARonB,EAAQpnB,KAAR,OACH6C,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CACVyJ,MAAO,MACPoG,QAAS,OACTuY,cAAe,MACf0C,SAAU,SACVtV,eAAgB,aAChB2iB,WAAY,aAGZl7B,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACElI,GAAE,SAAAlC,OAAW0+B,EAAX,KAAA1+B,OAAuB4gC,GACzBn3B,MAAM,UACNC,MAAO,CAAEuS,SAAU,OAAQrC,WAAY,QAEtCgnB,GAEHj6B,EAAA1B,EAAAC,cAAA,YAAO,IAAKpB,MAIoB,IAAlC69B,EAAuB34B,QAI3B8H,GAAQ,CACN9J,MAAO,2BACP+J,SACEpK,EAAA1B,EAAAC,cAAA,oEAAAlF,OACqD2hC,EAAuB34B,OAD5E,iBAEErC,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CACV6P,QAAS,OACTuY,cAAe,MACf0C,SAAU,OACVtV,eAAgB,kBAGf0iB,IAGP5wB,SAAU,sBACVE,QAAS,aACTC,UAAW,WRhFV,IAAiC6Z,EAAa9M,EAAb8M,EQiFR,CACtB0T,WACAiD,0BRnF2CzjB,EQoF1C,CACDpL,UAAW,WAAM,IACPjL,EAAY7E,EAAK0C,MAAjBmC,QACRzF,aAAqB,gDAErByF,EAAQG,KAAR,qBAAAhI,OAAkC0+B,KAEpC75B,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,qER9FxBN,aAAO,GAAAhC,OAAIH,MAAwBmrB,GACvC3pB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SQ1CpC0B,EAuInB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UAzIS7lB,EA4InBi9B,sBAAwB,SAACh3B,GAAU,IACzB+hB,EAAgBhoB,EAAKM,MAArB0nB,YACRhoB,EAAKqB,SAAS,CACZ2mB,YAAYzpB,OAAAkP,GAAA,EAAAlP,CAAA,GACPypB,EADM,CAET+N,OAAQ9vB,EACRssB,UAAWtsB,EAAMuC,KACjBoqB,eAAgB3sB,EAAM2hB,aAnJT5nB,EAwJnBs9B,2BAA6B,SAAChK,EAAK1L,GACjC,IAAK0L,EAAIltB,cACP,OAAO,EAGT,IAAMlH,EAAK0oB,EAAQA,QAL0B7lB,EAUzC/B,EAAKM,MAFPw+B,EAR2C/8B,EAQ3C+8B,yBACAvI,EAT2Cx0B,EAS3Cw0B,QAGIwI,EAAUxgC,OAAA4nB,GAAA,EAAA5nB,CAAOg4B,GAEjByI,EAAgBD,EAAW9R,UAAU,SAAAhT,GAAC,OAAIA,EAAE2N,UAAY1oB,IAC9D6/B,EAAWC,GAAXzgC,OAAAkP,GAAA,EAAAlP,CAAA,GACKwgC,EAAWC,GADhB,CAEEhqB,UAAW+pB,EAAWC,GAAehqB,SACrCwD,SAAS,IAGX,IAAMymB,EAAoBH,EAAyBpnB,KAAK,SAAApE,GAAC,OAAIA,EAAE4Z,YAAchuB,IAmB7E,OAlBK+/B,GAWHA,EAAkBjqB,SAAWse,EAAI3jB,OAAOnE,QACxCxL,EAAKqB,SAAS,CACZk1B,QAASwI,EACTD,8BAbF9+B,EAAKqB,SAAS,CACZk1B,QAASwI,EACTD,yBAAwB,GAAA9hC,OAAAuB,OAAA4nB,GAAA,EAAA5nB,CACnBugC,GADmB,CACO,CAC3B5R,UAAWhuB,EACX8V,SAAUse,EAAI3jB,OAAOnE,cAYtB,GAhMUxL,EAmMnBu9B,uBAAyB,SAAArS,GAA2B,IAAdjlB,EAAcilB,EAAxBvb,OAAU1J,MAEpC,GADoBjG,EAAKM,MAAjBC,QAENP,EAAKqB,SAAS,CACZm8B,YAAav3B,QAFjB,CAFkD,IAAAi5B,EASzBl/B,EAAKM,MAAtBi2B,QACe,UAV2B,IAAA2I,EAShC,GATgCA,GAUtCl5B,QAAgBC,EAC1BjG,EAAK2d,eAAe,CAAEid,cAAc,EAAM4C,YAAav3B,IAIzDjG,EAAKqB,SAAS,CACZm8B,YAAav3B,MAnNEjG,EAuNnBm/B,cAAgB,kBAAAvyB,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAS,IAAawyB,UAAU,OAAO3F,QAAQ,mBAAoB,IAAI4F,eAvNpEr/B,EAyNnBs/B,WAAa,WAAM,IAAAhhB,EAMbte,EAAKM,MANQi/B,EAAAjhB,EAEfkf,mBAFe,IAAA+B,EAED,GAFCA,EAGfC,EAHelhB,EAGfkhB,WACAC,EAJenhB,EAIfmhB,SAJeC,EAAAphB,EAKfiY,eALe,IAAAmJ,EAKL,GALKA,EAQX1lB,EAASha,EAAKm/B,cAAc3B,GAYlC,OAVejH,EACZvc,OAAO,SAAA2lB,GAAG,OACT3/B,EAAKm/B,cAAcQ,EAAI/B,KAAKxJ,SAASpa,IAClCha,EAAKm/B,cAAcQ,EAAI7+B,MAAMszB,SAASpa,IACtCha,EAAKm/B,cAAcQ,EAAIp2B,OAAO6qB,SAASpa,KAE3C4lB,KAAK,SAAC39B,EAAG49B,GAAJ,MACS,QAAbJ,EAAqBx9B,EAAEu9B,GAAYM,cAAcD,EAAEL,IAAeK,EAAEL,GAAYM,cAAc79B,EAAEu9B,OA1OnFx/B,EAgPnB+/B,0BAA4B,SAACzM,GAC3B,QAAKA,EAAIltB,gBAITpG,EAAK2d,kBAEE,IArPP3d,EAAKM,MAAQ,CACXC,SAAS,EACTi9B,YAAa,GACbgC,WAAY,OACZC,SAAU,OACVzX,YAAa,KACbuO,QAAS,GACTuI,yBAA0B,IAG5B9+B,EAAKi9B,sBAAwBj9B,EAAKi9B,sBAAsB1oB,KAA3BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC7BA,EAAKggC,gCAAkCnC,GAAS79B,EAAKu9B,uBAAwB,KAb5Dv9B,mFAiBjBE,KAAKyd,eAAe,qCAyOb,IACC9Y,EAAY3E,KAAKwC,MAAjBmC,QADDqa,EAOHhf,KAAKI,MAPF2/B,EAAA/gB,EAGL+Z,cAHK,IAAAgH,EAGI,GAHJA,EAILjY,EAJK9I,EAIL8I,YACAznB,EALK2e,EAKL3e,QACAi9B,EANKte,EAMLse,YANK0C,EASkBjH,EAAjB1Y,eATD,IAAA2f,EASW,GATXA,EAWP,OAAI3/B,EACKoD,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,sDACsDge,KAI1D5c,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,KACLkG,GAAW5c,EAAA1B,EAAAC,cAACmd,GAAD,MACZkB,GACC5c,EAAA1B,EAAAC,cAACi+B,GAAD5hC,OAAA+N,OAAA,GACM0b,EADN,CAEEhX,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACbuX,gBAAiBj9B,KAAK+8B,sBACtBK,2BAA4Bp9B,KAAKo9B,2BACjCC,uBAAwBr9B,KAAK8/B,gCAC7BjzB,cAAeib,EACfnjB,QAASA,EACT0xB,QAASr2B,KAAKo/B,aACdrG,OAAQA,EACRuE,YAAaA,EACbje,oBAAkB,eAnSQpc,iBCW3B4L,GA9BE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GAyBf,OAxBKD,EAAMsR,SAAYtR,EAAMsR,QAAQta,QACnCiJ,EAAOqR,QAAU,gCAGdtR,EAAMmxB,aAAgBnxB,EAAMmxB,YAAYn6B,QAC3CiJ,EAAOkxB,YAAc,mCAGnBnxB,EAAMoxB,sBAAuBpxB,EAAMoxB,oBAAoBp6B,MAAUgJ,EAAMmxB,YAAYn6B,OAIlFgJ,EAAMiqB,QACThqB,EAAOgqB,MAAQ,qCAGZjqB,EAAMqlB,SAAYrlB,EAAMqlB,QAAQruB,QACnCiJ,EAAOolB,QAAU,4BAGdrlB,EAAMsqB,UACTrqB,EAAOqqB,QAAU,sCAGZrqB,GCQHoxB,eA8CJ,SAAAA,EAAY59B,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAogC,IACjBtgC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA+hC,GAAAjgC,KAAAH,KAAMwC,KA4LR69B,UAAY,SAAAx5B,GAAA,IAAG7H,EAAH6H,EAAG7H,GAAIm8B,EAAPt0B,EAAOs0B,aAAP,OACV13B,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,WAE5CvY,EAAA1B,EAAAC,cAAA,UAAQqE,IAAG,GAAAvJ,OAAKkC,EAAL,KAAAlC,OAAWq+B,EAAap1B,OAASxG,KAAK,SAAS8C,UAAU,gBAAgB4P,SAAS,MAC3FxO,EAAA1B,EAAAC,cAAC4c,GAAD,CACE5f,GAAE,GAAAlC,OAAKkC,EAAL,KAAAlC,OAAWq+B,EAAap1B,OAC1BA,MAAOo1B,EAAaz0B,MACpBA,MAAOy0B,EAAaz0B,MACpBL,IAAG,GAAAvJ,OAAKkC,EAAL,KAAAlC,OAAWq+B,EAAap1B,OAC3BQ,MAAO40B,EAAa50B,WAtMXzG,EA6MnBwgC,gBAAkB,SAACxoB,EAAKzR,EAAKN,GAAU,IAE/Bw6B,EADiBzgC,EAAKM,MAApBogC,WACgBhpB,KAAK,SAAAsG,GAAC,OAAIA,EAAE9e,KAAO8Y,EAAI9Y,KAE/C,GAAKuhC,EAAL,CACAA,EAAKl6B,IAAQN,EALwB,IAAA06B,EAAApiC,OAAAkP,GAAA,EAAAlP,CAAA,GAUhCyZ,EAVgCzZ,OAAAmR,GAAA,EAAAnR,CAAA,GAWlCgI,GAAON,IAHJ26B,EAR+BD,EAQnCzhC,GAAmBsxB,EARgBmQ,EAQhBnQ,qBAAsBiM,EARNkE,EAQMlE,aAAcD,EARpBmE,EAQoBnE,aAAcjM,EARlCoQ,EAQkCpQ,aAAc8K,EARhDsF,EAQgDtF,cAQrFwF,EAF0C7gC,EAAK0C,MAAvCm+B,+BAEsB,CAC5BD,gBAAepQ,uBAAsBiM,eAAcD,eAAcjM,eAAc8K,mBA9NhEr7B,EAkOnB8gC,oBAAsB,SAAC/L,GACrB,GAAIA,EAAa,KAAAvxB,EACSxD,EAAK0C,MAArBxD,EADOsE,EACPtE,GADOsE,EACHqB,QACJG,KAAR,4BAAAhI,OAAyCkC,EAAzC,KAAAlC,OAA+C+3B,EAAY71B,OArO5Cc,EAyOnB+gC,mBAAqB,WAAM,IAAA52B,EACDnK,EAAK0C,MAArBxD,EADiBiL,EACjBjL,GADiBiL,EACbtF,QACJG,KAAR,4BAAAhI,OAAyCkC,KA3OxBc,EA8OnBghC,sBAAwB,SAACjM,GACnBA,IAEFkM,EADoCjhC,EAAK0C,MAAjCu+B,yBACgBlM,IAjPT/0B,EAqPnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK44B,iBAAiB,EAAG/e,EAAU7K,KAxPpBhP,EA4PnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK44B,iBAAiB,EAAG/e,EAAU,KA9PlB7Z,EAiQnB2Z,eAAiB,SAACpT,GAAQ,IAAA26B,EACUlhC,EAAK0C,MAA/BivB,cADgB,IAAAuP,EACP,CAAEj7B,MAAO,GADFi7B,EAEhB9jC,EAAgB4C,EAAKM,MAArBlD,YACF28B,EAAY38B,EAAY0L,SAAW1L,EAAYwL,cAE/CwS,EAAU,CACdA,QAASpb,EAAKob,QAAQ,CAAE2e,YAAWpxB,WAAYvL,EAAYuL,aAAcqR,OAAO,SAAA/X,GAAC,OAAIA,EAAEsE,OAGzF,OAAwB,IAAjBorB,EAAO1rB,OAAemV,EAAQ7U,IA1QpBvG,EA6QnBmhC,mCAAqC,SAAA3yB,GAAoB,IAAjBtP,EAAiBsP,EAAjBtP,GAAIyyB,EAAanjB,EAAbmjB,OAClC9sB,EAAY7E,EAAK0C,MAAjBmC,QACa,IAAjB8sB,EAAO1rB,OACTpB,EAAQG,KAAR,0CAAAhI,OAAuDkC,KAhRxCc,EAoRnBohC,8BAAgC,SAAAlZ,GAAqB,IAAlBhpB,EAAkBgpB,EAAlBhpB,GAAkBmiC,EAAAnZ,EAAd3H,QACP3Z,MAC3B6yB,QAAQ,IAAK,KACbA,QAAQ,IAAK,IACbpc,MAAM,KACNhX,IAAI,SAAAqzB,GAAE,OAAIA,EAAGhT,SAJTyR,EAD4C55B,OAAAqd,GAAA,EAAArd,CAAA8iC,EAAA,MAQnDrhC,EAAKqB,SAAS,CAAEd,SAAS,IACzB23B,GAA8B,CAAEh5B,KAAIi5B,eAAe,CACjDroB,UAAW,WACT9P,EAAKqB,SAAS,CAAEd,SAAS,IACzBnB,aAAqB,oCAEvByC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IACrBjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,uBACVhB,GAA0B,MAAjBA,EAAMH,OACxBkB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,4EAzSRU,EA+SnBs5B,sBAAwB,SAACL,GAAW,IAC1Bp0B,EAAY7E,EAAK0C,MAAjBmC,QAEN3F,EAKE+5B,EALF/5B,GACAqhB,EAIE0Y,EAJF1Y,QACA2Y,EAGED,EAHFC,MACAK,EAEEN,EAFFM,QACA5H,EACEsH,EADFtH,OAIIwH,EAAe,IAAI/c,KAAKC,eAAe,QAD/B,CAAEC,UAAW,UACkCnB,OAAO,IAAIrG,KAAKokB,IAX3CoI,EAYC/gB,EAAQ3Z,MACxC6yB,QAAQ,IAAK,KACbA,QAAQ,IAAK,IACbpc,MAAM,KACNhX,IAAI,SAAAqzB,GAAE,OAAIA,EAAGhT,SAhBkB6a,EAAAhjC,OAAAqd,GAAA,EAAArd,CAAA+iC,EAAA,GAY3BnJ,EAZ2BoJ,EAAA,GAYd3H,EAZc2H,EAAA,GAmB5B1H,EAAc,CAClB71B,MAAK,mBAAAhH,OAAqBm7B,EAArB,KAAAn7B,OAAoC48B,GACzC1rB,QAAS,aACTzH,MAAO,WAGT,GAAqB,IAAjBkrB,EAAO1rB,MAAa,CACtB,IAAM8H,EACJpK,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,gFAAAhL,OAEAujB,EAAQ3Z,MAFR,SAAA5J,OAEqBm8B,EAFrB,sBAAAn8B,OAEsDu8B,EAFtD,MAOFM,EAAY9rB,SAAWA,EACvB8rB,EAAY7rB,SAAW,gBACvB6rB,EAAY5rB,WAAa,iBAEzB4rB,EAAY1rB,UAAY,WACtBtJ,EAAQG,KAAR,4BAAAhI,OAAyCkC,KAE3C26B,EAAYxrB,QAAU,WACpBrO,EAAKqB,SAAS,CAAEd,SAAS,IACzB23B,GAA8B,CAAEh5B,GAAI+5B,EAAO/5B,GAAIi5B,eAAe,CAC5DroB,UAAW,WACT9P,EAAKqB,SAAS,CAAEd,SAAS,IACzBnB,aAAqB,oCAEvByC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IACrBjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,uBACVhB,GAA0B,MAAjBA,EAAMH,OACxBkB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,4EAO7B,GAAqB,IAAjBqyB,EAAO1rB,MAAa,CACtB,IAAM8H,EACJpK,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,qEAAAhL,OAEAujB,EAAQ3Z,MAFR,SAAA5J,OAEqBm8B,EAFrB,sBAAAn8B,OAEsDu8B,EAFtD,MAOFM,EAAY9rB,SAAWA,EACvB8rB,EAAY7rB,SAAW,iBACvB6rB,EAAY1rB,UAAY,WACtBnO,EAAKqB,SAAS,CAAEd,SAAS,IACzB23B,GAA8B,CAAEh5B,GAAI+5B,EAAO/5B,GAAIi5B,eAAe,CAC5DroB,UAAW,WACT9P,EAAKqB,SAAS,CAAEd,SAAS,IACzBnB,aAAqB,oCAEvByC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IACrBjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,uBACVhB,GAA0B,MAAjBA,EAAMH,OACxBkB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,4EAO7BwO,GAAQ+rB,IA7YS75B,EAgZnBwhC,iBAAmB,WAAM,IAAAptB,EAMnBpU,EAAK0C,MAJPxD,EAFqBkV,EAErBlV,GACAyyB,EAHqBvd,EAGrBud,OACA9sB,EAJqBuP,EAIrBvP,QAJqB48B,EAAArtB,EAKrBstB,wBALqB,IAAAD,EAKF,GALEA,EAQvB,OAAKviC,GAAuB,IAAjByyB,EAAO1rB,MAIXy7B,EAAiB1nB,OAAO,SAAA1G,GAAC,OAAIA,EAAErN,QAAU8e,GAAgBC,QAC7D3e,IAAI,SAAAiN,GAAC,OACJ3P,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,uBACVqB,QAAS,kBAAMiB,EAAQG,KAAR,kCAAAhI,OAA+CkC,MAE9DyE,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,kBACnC,IANH,iBAOiBsP,EAAE1M,SAZd,MAzZQ5G,EA0anB2hC,eAAiB,WAAM,IAAAC,EAIjB5hC,EAAK0C,MAFPxD,EAFmB0iC,EAEnB1iC,GACA2F,EAHmB+8B,EAGnB/8B,QAGF,OAAK3F,EAKHyE,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,uBACVqB,QAAS,kBAAMiB,EAAQG,KAAR,gCAAAhI,OAA6CkC,MAE5DyE,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,8BACnC,IANH,6BAJO,MAjbQhE,EAicnB6hC,yBAA2B,WAAM,IAAAC,EAO3B9hC,EAAK0C,MALPxD,EAF6B4iC,EAE7B5iC,GACAyyB,EAH6BmQ,EAG7BnQ,OACA9sB,EAJ6Bi9B,EAI7Bj9B,QAJ6Bk9B,EAAAD,EAK7BJ,wBAL6B,IAAAK,EAKV,GALUA,EAAAC,EAAAF,EAM7BpB,kBAN6B,IAAAsB,EAMhB,GANgBA,EAS/B,OAAK9iC,GAAuB,IAAjByyB,EAAO1rB,OAIUy6B,EAAW3hB,KAAK,SAAAmM,GAAA,OAAAA,EAAGkQ,UAA0Bn1B,QAAU8e,GAAgBE,gBAK5Fyc,EAAiB1nB,OAAO,SAAA1G,GAAC,OAAIA,EAAErN,QAAU8e,GAAgBE,gBAC7D5e,IAAI,SAAAiN,GAAC,OACJ3P,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,uBACVqB,QAAS,kBAAMiB,EAAQG,KAAR,0CAAAhI,OAAuDkC,MAEtEyE,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,kBACnC,IANH,iBAOiBsP,EAAE1M,SAjBd,MA3cQ5G,EAienBiiC,+BAAiC,WAAM,IAAAC,EAOjCliC,EAAK0C,MALPxD,EAFmCgjC,EAEnChjC,GACAyyB,EAHmCuQ,EAGnCvQ,OACA4H,EAJmC2I,EAInC3I,QACAL,EALmCgJ,EAKnChJ,MALmCiJ,EAAAD,EAMnC3hB,eANmC,IAAA4hB,EAMzB,GANyBA,EASrC,OAAKjjC,EAKHyE,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,uBACVqB,QAAS,kBAAM5D,EAAKohC,8BAA8B,CAChDliC,KACAqhB,UACA2Y,QACAK,UACA5H,aAGFhuB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,+BACnC,IAZH,8BAJO,MAzeThE,EAAK8gC,oBAAsB9gC,EAAK8gC,oBAAoBvsB,KAAzBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC3BA,EAAK+gC,mBAAqB/gC,EAAK+gC,mBAAmBxsB,KAAxBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC1BA,EAAKghC,sBAAwBhhC,EAAKghC,sBAAsBzsB,KAA3BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAE7BA,EAAKM,MAAQ,CACXC,SAAS,EACTqS,KAAM,EACNiH,SAAU,IACVC,gBAAiB,EACjB+D,QAAS,CAAE3e,GAAI,IACf9B,YAAaC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GAChEkjC,WAAYh+B,EAAMg+B,YAGpB1gC,EAAKqY,WAAa,CAChBY,SAAU,OACV9I,MAAO,QACPC,OAAQ,OACR3J,MAAO,cACPsnB,UAAW,SACXnX,WAAY,OACZjQ,gBAAiB,WAGnB3G,EAAKoiC,gBAAkB,CACrBnpB,SAAU,OACV7I,OAAQ,OACR3J,MAAO,OACPsnB,UAAW,SACXnX,WAAY,OACZjQ,gBAAiB,WAGnB3G,EAAKyZ,QAAU,SAAA4O,GAAA,IAAGga,EAAHha,EAAGga,QAAStI,EAAZ1R,EAAY0R,UAAZ,MAA4B,CAQzC,CACExzB,IAAK,kBACLzF,KAAM,cACNoZ,QAAQ,EACRza,KAAM,SACN0Q,MAAO,SAET,CACE5J,IAAK,SACLzF,KAAM,SACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,MAAK,GAAAhb,OAAGgb,EAAIoG,SAAP,MAAAphB,OAAoBgb,EAAImG,QAASuI,SAEnD,CACEngB,IAAK,kBACLzF,KAAM,YACNoZ,QAAQ,EACR3X,UAAW,cACX4Y,OAAQ,SAAAwQ,GAAuB,IAApBzsB,EAAoBysB,EAApBzsB,GAAIk8B,EAAgBzP,EAAhByP,UACT30B,EAAQ,SASZ,OARwB,IAApB20B,EAAUn1B,QACZQ,EAAQ,QAGc,IAApB20B,EAAUn1B,QACZQ,EAAQ,WAIR9C,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,WAE5CvY,EAAA1B,EAAAC,cAAA,UAAQqE,IAAG,GAAAvJ,OAAKkC,EAAL,KAAAlC,OAAWo+B,EAAUn1B,OAASxG,KAAK,SAAS8C,UAAU,gBAAgB4P,SAAS,MACxFxO,EAAA1B,EAAAC,cAAC4c,GAAD,CACE5f,GAAE,aAAAlC,OAAekC,EAAf,KAAAlC,OAAqBo+B,EAAUn1B,OACjCA,MAAOm1B,EAAUx0B,MACjBA,MAAOw0B,EAAUx0B,MACjBL,IAAG,aAAAvJ,OAAekC,EAAf,KAAAlC,OAAqBo+B,EAAUn1B,OAClCQ,MAAOA,QAQrB,CACEF,IAAK,uBACLzF,KAAM,wBACNoZ,QAAQ,EACRhC,SAAUmqB,EACV9/B,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB5Y,KAAM,SACN0N,IAAK,IACLC,IAAK,OAEP,CACE7G,IAAK,eACLzF,KAAM,gBACNoZ,QAAQ,EACRhC,SAAUmqB,EACV9/B,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB5Y,KAAM,SACN0N,IAAK,IACLC,IAAK,OAEP,CACE7G,IAAK,eACLzF,KAAM,gBACNoZ,QAAQ,EACRhC,SAAUmqB,EACV9/B,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB5Y,KAAM,SACN0N,IAAK,IACLC,IAAK,OAEP,CACE7G,IAAK,eACLzF,KAAM,gBACNoZ,QAAQ,EACRhC,UAAU,EACV3V,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB5Y,KAAM,SACN0N,IAAK,IACLC,IAAK,MACL+N,OAAQ,SAAAuT,GAAwC,IAArCxvB,EAAqCwvB,EAArCxvB,GAAIu9B,EAAiC/N,EAAjC+N,aAAcpB,EAAmB3M,EAAnB2M,aACrBiH,EAAQzd,GAAenN,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUo1B,KAAiB,GACpE,OACE13B,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,WAC9CvY,EAAA1B,EAAAC,cAAA,UAAQqE,IAAG,MAAAvJ,OAAQkC,EAAR,KAAAlC,OAAcy/B,GAAgBh9B,KAAK,SAAS8C,UAAU,gBAAgB4P,SAAS,MACxFxO,EAAA1B,EAAAC,cAAC4c,GAAD,CACE5f,GAAE,cAAAlC,OAAgBkC,GAClB+G,MAAK,GAAAjJ,OAAKy/B,GACV71B,MAAK,GAAA5J,OAAKy/B,GACVl2B,IAAG,MAAAvJ,OAAQkC,EAAR,KAAAlC,OAAcy/B,GACjBh2B,MAAO67B,EAAM77B,YAOzB,CACEF,IAAK,eACLzF,KAAM6C,EAAA1B,EAAAC,cAAA,+BACNgY,QAAQ,EACRhC,UAAU,EACVzY,KAAM,SACN8C,UAAW,cACX8V,WAAYrY,EAAKoiC,gBACjBj1B,IAAK,IACLC,IAAK,IACLC,KAAM,IACN8N,OAAQ,SAAAyT,GAAA,IAAG1vB,EAAH0vB,EAAG1vB,GAAIm8B,EAAPzM,EAAOyM,aAAP,OAA0Br7B,EAAKugC,UAAU,CAC/CrhC,KACAm8B,aAAcxW,GAAenN,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUo1B,KAAiB,OAGxE,CACE90B,IAAK,UACLzF,KAAM,SACNqP,MAAO,OACPoJ,QAASwgB,GAAasI,KAG1BriC,EAAKob,QAAU,SAAA2T,GAAA,IAAGgL,EAAHhL,EAAGgL,UAAH,MAAmB,CAChC,CACExzB,IAAKwzB,EAAY,OAAS,GAC1B12B,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,gBACzCkX,SAAU,SAAC6Z,GACT/0B,EAAK8gC,oBAAoB/L,KAG7B,CACExuB,IAAKwzB,EAAY,SAAW,GAC5B12B,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,gBAC1CkX,SAAU,SAAC6Z,GACT/0B,EAAKghC,sBAAsBjM,OAvLhB/0B,wEAigBV,IAAAS,EAAAP,KAAA6B,EAQH7B,KAAKI,MANPsS,EAFK7Q,EAEL6Q,KACAiH,EAHK9X,EAGL8X,SACAC,EAJK/X,EAIL+X,gBACA+D,EALK9b,EAKL8b,QACAzgB,EANK2E,EAML3E,YAIF,GAVO2E,EAOLxB,QAIA,OAAOoD,EAAA1B,EAAAC,cAACmd,GAAD,MAXF,IAAAkjB,EAsCHriC,KAAKwC,MAvBPxD,EAfKqjC,EAeLrjC,GACAoR,EAhBKiyB,EAgBLjyB,WACAN,EAjBKuyB,EAiBLvyB,aACAyS,EAlBK8f,EAkBL9f,OAlBK+f,EAAAD,EAmBLrY,kBAnBK,IAAAsY,EAmBQ,GAnBRA,EAoBLniB,EApBKkiB,EAoBLliB,SACAoiB,EArBKF,EAqBLE,SACAxX,EAtBKsX,EAsBLtX,SACAhI,EAvBKsf,EAuBLtf,gBACAyf,EAxBKH,EAwBLG,iBACAC,EAzBKJ,EAyBLI,iBACAjK,EA1BK6J,EA0BL7J,eACA/G,EA3BK4Q,EA2BL5Q,OACA4H,EA5BKgJ,EA4BLhJ,QACAL,EA7BKqJ,EA6BLrJ,MACA0J,EA9BKL,EA8BLK,uBA9BKC,EAAAN,EA+BLrS,eA/BK,IAAA2S,EA+BK,GA/BLA,EAAAC,EAAAP,EAgCLjO,eAhCK,IAAAwO,EAgCK,GAhCLA,EAAAC,EAAAR,EAiCLS,sBAjCK,IAAAD,EAiCY,GAjCZA,EAAAE,EAAAV,EAkCLhiB,eAlCK,IAAA0iB,EAkCK,GAlCLA,EAAAC,EAAAX,EAmCLnC,mBAnCK,IAAA8C,EAmCS,GAnCTA,EAAAC,EAAAZ,EAoCLlC,2BApCK,IAAA8C,EAoCiB,GApCjBA,EAqCLzC,EArCK6B,EAqCL7B,WAGI3G,EAAY38B,EAAY0L,SAAW1L,EAAYwL,cAE/Cy5B,EAA2B,IAAjB1Q,EAAO1rB,OAAe8zB,EAEtC,OACEp2B,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI2Q,GAAI,IACfrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,sBAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BAEX8/B,EAEI1+B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAAS6sB,EACTv8B,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,UAAW,YAAab,MAGzDze,EAAA1B,EAAAC,cAAA,SAAOpB,KAAK,UAAUrB,KAAK,OAAOwG,MAAOiqB,EAAQtpB,MAAOuE,UAAQ,OAK5ExH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,mBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ8/B,EAEG1+B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,iBACL4P,UAAW6G,GACXtK,YAAY,kBACZS,aAAa,QACbkI,QAAS+sB,EACTz8B,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,iBAAkB,mBAAoBb,MAGvEze,EAAA1B,EAAAC,cAAA,SAAOpB,KAAK,iBAAiBrB,KAAK,OAAOwG,MAAO+8B,EAAep8B,MAAOuE,UAAQ,OAKxFxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ8/B,EAEG1+B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAASyK,EACTna,SAAU,SAAAkc,GAAC,OAAIsgB,EAAiB,UAAW,mBAAoBtgB,MAGjEze,EAAA1B,EAAAC,cAAA,SAAOpB,KAAK,UAAUrB,KAAK,OAAOwG,MAAOsa,EAAQ3Z,MAAOuE,UAAQ,OAK1ExH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ8/B,EAEG1+B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW6G,GACXtK,YAAY,gBACZS,aAAa,QACbkI,QAASsU,IAGXvmB,EAAA1B,EAAAC,cAAA,SAAOpB,KAAK,cAAcrB,KAAK,OAAOwG,MAAOm6B,EAAYx5B,MAAOuE,UAAQ,OAKlFxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,oBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SAAOzC,KAAK,OAAOwG,MAAOglB,EAAU9f,UAAQ,OAIlDxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACZ8/B,EAEG1+B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,sBACL4P,UAAW6G,GACXtK,YAAY,gBACZS,aAAa,QACbkI,QAASsU,IAGXvmB,EAAA1B,EAAAC,cAAA,SAAOpB,KAAK,sBAAsBrB,KAAK,OAAOwG,MAAOo6B,EAAoBz5B,MAAOuE,UAAQ,OAKlGxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IAErBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,mBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BAEX8/B,EAEI1+B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,QACL4P,UAAWsI,GACX/L,YAAY,kBACZS,aAAa,QACbiH,cAAc,SAGhBhR,EAAA1B,EAAAC,cAAA,SAAOpB,KAAK,QAAQrB,KAAK,OAAOwG,MAAOyO,GAAWwkB,GAAQ/tB,UAAQ,OAK9ExH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IAErBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,kCACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BAEX8/B,EAEI1+B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,yBACL4P,UAAWsI,GACX/L,YAAY,iCACZS,aAAa,QACbiH,cAAc,SAIhBhR,EAAA1B,EAAAC,cAAA,SACEpB,KAAK,yBACLrB,KAAK,OACLwG,MAAOyO,GAAWkuB,GAClBz3B,UAAQ,OAOtBxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,sBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BAEX8/B,EAEI1+B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,qBACZS,aAAa,QACbkI,QAAS8iB,IAGX/0B,EAAA1B,EAAAC,cAAA,SAAOpB,KAAK,UAAUrB,KAAK,OAAOwG,MAAOquB,EAAQ1tB,MAAOuE,UAAQ,OAK5ExH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BAEX8/B,EAEI1+B,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW1D,GACXvN,KAAK,OACLyN,UAAW,IACXD,YAAY,oBACZS,aAAa,UAGf/J,EAAA1B,EAAAC,cAAA,SAAOpB,KAAK,UAAUrB,KAAK,OAAOwG,MAAOszB,EAASpuB,UAAQ,QAMxExH,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,IACZ8/B,GACC1+B,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAQFrM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,qBAMCviB,KAAKshC,mBACLthC,KAAK2hC,2BACL3hC,KAAK+hC,iCACL/hC,KAAKyhC,kBAERh+B,EAAA1B,EAAAC,cAAA,WACChD,GACCyE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACZ8/B,GACC1+B,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACVqB,QAAS,kBAAMnD,EAAKsgC,uBAEpBp9B,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,+BALf,4BASJoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,wCACNyV,QAASvZ,KAAKuZ,QAAQ,CACpB4oB,QAA0B,IAAjB1Q,EAAO1rB,MAChB8zB,cAEFrgB,MAAOgnB,EACP3tB,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3C0R,WAAY/X,KAAKsgC,gBACjBxvB,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,KAIxB5b,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACZ8/B,GACC1+B,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAQFrM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCA52BStf,iBAAjBm9B,GA+BGj5B,aAAe,CACpBnI,GAAI,EACJoR,YAAY,EACZ2a,SAAU,GACVsO,QAAS,GACTyJ,eAAgB,GAChBrR,OAAQ,GACR2C,QAAS,GACT+L,oBAAqB,GACrBD,YAAa,GACb7f,QAAS,GACT2P,QAAS,GACTwQ,WAAY,IA+0BhB,IAMen0B,MANO0E,aAAU,CAC9BC,KAAM,WACNnC,YACAwQ,oBAAoB,GAHAtO,CAInBqvB,KC5dY8C,eA9ab,SAAAA,EAAY1gC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAkjC,IACjBpjC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA6kC,GAAA/iC,KAAAH,KAAMwC,KAiBR2gC,iBAAmB,WAAM,IAAA7/B,EACCxD,EAAK0C,MAArBxD,EADesE,EACftE,GAAI2F,EADWrB,EACXqB,QAEZ,IAAK3F,EAaH,OAZAc,EAAKqB,SAAS,CACZg4B,KAAM,CACJn6B,GAAI,EACJg6B,OAAO,IAAIpkB,MAAOwuB,cAClBV,wBAAwB,IAAI9tB,MAAOwuB,cACnC3R,OAAQ,CAAE1rB,MAAO,IAEnBy6B,WAAY,UAGd1gC,EAAK0d,iBAKP1d,EAAKqB,SAAS,CACZd,SAAS,IdlCR,SAAmBrB,EAAIgc,GACrBvc,aAAM,GAAA3B,OAAIP,KAAJ,KAAAO,OAAgBkC,IAC1Bb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,Kc2BrDilC,CAAUrkC,EAAI,CACZ4Q,UAAW,SAACiX,GAAQ,IACVxG,EAAYwG,EAAZxG,QACA6f,EAAqCrZ,EAArCqZ,YAAaC,EAAwBtZ,EAAxBsZ,oBACfhH,EAAI96B,OAAAkP,GAAA,EAAAlP,CAAA,GACLwoB,EADK,CAERqZ,YAAa,CACXn6B,MAAO8gB,EAAIyc,cACX58B,MAAK,GAAA5J,OAAKojC,IAEZC,oBAAqB,CACnBp6B,MAAO8gB,EAAI0c,sBACX78B,MAAK,GAAA5J,OAAKqjC,IAEZ9f,QAAS,CACPta,MAAO8gB,EAAI2C,iBACX9iB,MAAK,GAAA5J,OAAKujB,IAEZ2P,QAAS,CACPjqB,MAAO8gB,EAAI2c,UACX98B,MAAOmgB,EAAImJ,SAEboE,QAAS,CACPruB,MAAO8gB,EAAIuN,QACX1tB,MAAOmgB,EAAIuN,SAEb0O,eAAgB,CACd/8B,MAAO8gB,EAAI4c,iBACX/8B,MAAOmgB,EAAIic,kBAIPtC,EAAe3Z,EAAf2Z,WACJrH,EAAKqH,mBACArH,EAAKqH,WAGd1gC,EAAKqB,SAAS,CACZg4B,OACAqH,aACAngC,SAAS,IAGXP,EAAK0d,eAAeqJ,EAAI4c,mBAE1B9hC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CACZd,SAAS,IAGPjC,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,uBACnBuF,EAAQG,KAAK,iBAEb1F,aAAmB,qDA/FRU,EAqGnB0d,eAAiB,WAAuB,IAAtBua,EAAsBrrB,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAN,EAChC5M,EAAKqB,SAAS,CACZd,SAAS,IAGXod,GAAesa,EAAe,CAC5BnoB,UAAW,SAAA/I,GAAA,IACT07B,EADS17B,EACT07B,SACApiB,EAFStZ,EAETsZ,SACA6J,EAHSnjB,EAGTmjB,WACAyY,EAJS57B,EAIT47B,iBACAjK,EALS3xB,EAKT2xB,eACAgJ,EANS36B,EAMT26B,iBANS,OAOL1hC,EAAKqB,SAAS,CAClBohC,WACApiB,WACA6J,aACAyY,mBACAjK,iBACAgJ,mBACAnhC,SAAS,KAEXsB,QAAS,WACP7B,EAAKqB,SAAS,CACZd,SAAS,IAEXjB,aAAmB,qDA/HNU,EAoInBgQ,aAAe,SAAChB,GAAW,IdhGJqqB,EAAMne,EckGzBhc,EAQE8P,EARF9P,GACAqhB,EAOEvR,EAPFuR,QACA6f,EAMEpxB,EANFoxB,YACAC,EAKErxB,EALFqxB,oBACAnH,EAIElqB,EAJFkqB,MACA0J,EAGE5zB,EAHF4zB,uBACAgB,EAEE50B,EAFF40B,KACArK,EACEvqB,EADFuqB,QAEa7P,EAAqBnJ,EAA5Bta,MACOu9B,EAAkBpD,EAAzBn6B,MACkBquB,EAActlB,EAAhCslB,QAAW1tB,MACJ68B,GAA2BpD,GAAuB,IAAzDp6B,MAEFxI,EAAS,CACbyB,KACAg6B,MAAOhc,GAAegc,GACtB0J,uBAAwB1lB,GAAe0lB,GACvClZ,mBACA8Z,gBACAC,wBACAnP,UACAsP,OACArK,WAGM10B,EAAY7E,EAAK0C,MAAjBmC,QAER7E,EAAKqB,SAAS,CACZd,SAAS,Id/HU84B,EckIZ57B,EdlIkByd,EckIV,CACfpL,UAAW,WACT1Q,aAAqB,gCACrByF,EAAQG,KAAK,iBAEfnD,QAAS,WAAgB,IAAfvD,EAAesO,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GAChB5M,EAAKqB,SAAS,CACZd,SAAS,IAEPjC,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,sDd7IpBN,aAAO,GAAAhC,OAAIP,MAAY48B,GAC3Bh7B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,Mc9CpC0B,EAwLnBihC,wBAA0B,SAAClM,GACzB,IAAMj0B,EAAI,GAAA9D,OAAM+3B,EAAY5W,OAAlB,KAAAnhB,OAA4B+3B,EAAY3W,UAClDtQ,GAAQ,CACN9J,MAAO,kCACP+J,SAAQ,4DAAA/Q,OAAwD8D,EAAxD,KACRkN,SAAU,aACVE,QAAS,aACTC,UAAW,WXvHV,IAAiCjP,EAAIgc,EWwHpClb,EAAKqB,SAAS,CACZd,SAAS,IXzHqBrB,EW2HR61B,EAAY71B,GX3HAgc,EW2HI,CACtCpL,UAAW,WACT9P,EAAKqB,SAAS,CACZd,SAAS,IAEXnB,aAAqB,+BACrBY,EAAKqjC,oBAEPxhC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CACZd,SAAS,IAEPjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,yCAEnBA,aAAmB,uDXzIxBH,aAAS,GAAAnC,OAAIH,KAAJ,KAAAG,OAA4BkC,IACzCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SWlFpC0B,EA0NnB6gC,8BAAgC,SAAA3Y,GAE1B,IXnKgCF,EAAa9M,EWkKjD0lB,EACI1Y,EADJ0Y,cAAepQ,EACXtI,EADWsI,qBAAsBiM,EACjCvU,EADiCuU,aAAcD,EAC/CtU,EAD+CsU,aAAcjM,EAC7DrI,EAD6DqI,aAAc8K,EAC3EnT,EAD2EmT,aXlK3CrT,EWoKZ,CACtB4Y,gBAAepQ,uBAAsBiM,eAAcD,eAAcjM,eAAc8K,gBXrKhCngB,EWsK9C,CACDpL,UAAW,SAACilB,GAAgB,IAClB2L,EAAe1gC,EAAKM,MAApBogC,WAEFmD,EAAatlC,OAAA4nB,GAAA,EAAA5nB,CAAOmiC,GACpB1B,EAAgB6E,EAAc5W,UAAU,SAAAhT,GAAC,OAAIA,EAAE/a,KAAO61B,EAAY71B,KAExE2kC,EAAc7E,GAAiBjK,EAE/B/0B,EAAKqB,SAAS,CACZq/B,WAAYmD,IAGdzkC,aAAqB,mDAEvByC,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,oEXxLpBN,aAAO,GAAAhC,OAAIH,KAAJ,iBAAyCmrB,GACpD3pB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MWnEpC0B,EAwPnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UA1PS7lB,EA6PnB8lB,qBAAuB,SAACC,EAAWC,EAAO/f,GAAU,IAEvB69B,EADnBzK,EAASr5B,EAAKM,MAAd+4B,KACR,GAAc,cAAVrT,EACFhmB,EAAKqB,SAAS,CACZg4B,KAAK96B,OAAAkP,GAAA,EAAAlP,CAAA,GACA86B,GADDyK,EAAA,GAAAvlC,OAAAmR,GAAA,EAAAnR,CAAAulC,EAED9d,EAAQ/f,EAAMA,OAFb1H,OAAAmR,GAAA,EAAAnR,CAAAulC,EAGD/d,EAAY9f,GAHX1H,OAAAmR,GAAA,EAAAnR,CAAAulC,EAAA,mBAKgB,GALhBvlC,OAAAmR,GAAA,EAAAnR,CAAAulC,EAAA,UAMO,CAAE79B,MAAO,EAAGW,MAAO,MAN1BrI,OAAAmR,GAAA,EAAAnR,CAAAulC,EAAA,mBAQgB,GARhBvlC,OAAAmR,GAAA,EAAAnR,CAAAulC,EAAA,iBASc,CAAE79B,MAAO,EAAGW,MAAO,MATjCrI,OAAAmR,GAAA,EAAAnR,CAAAulC,EAAA,gBAWa,GAXbvlC,OAAAmR,GAAA,EAAAnR,CAAAulC,EAAA,cAYW,CAAE79B,MAAO,EAAGW,MAAO,MAZ9BrI,OAAAmR,GAAA,EAAAnR,CAAAulC,EAAA,aAcU,GAdVvlC,OAAAmR,GAAA,EAAAnR,CAAAulC,EAAA,WAeQ,IAfRA,WAkBD,GAAc,qBAAV9d,EAA8B,CAClB,IAAA+d,EAArB,GAAI99B,EAAMA,MAAQ,EAChBjG,EAAKqB,SAAS,CACZg4B,KAAK96B,OAAAkP,GAAA,EAAAlP,CAAA,GACA86B,GADD0K,EAAA,GAAAxlC,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAED/d,EAAQ/f,EAAMA,OAFb1H,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAGDhe,EAAY9f,GAHX1H,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,mBAKgB,GALhBxlC,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,UAMO,CAAE99B,MAAO,EAAGW,MAAO,MAN1BrI,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,gBAQa,GARbxlC,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,cASW,CAAE99B,MAAO,EAAGW,MAAO,MAT9BrI,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,aAWU,GAXVxlC,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,WAYQ,IAZRA,MAgBN/jC,EAAK0d,eAAezX,EAAMA,YAE1BjG,EAAKqB,SAAS,CACZg4B,KAAK96B,OAAAkP,GAAA,EAAAlP,CAAA,GACA86B,EADD,CAEF3P,iBAAkB,EAClBnJ,QAAS,CAAEta,MAAO,EAAGW,MAAO,KAE5B+8B,iBAAkB,EAClBX,eAAgB,CAAE/8B,MAAO,EAAGW,MAAO,KAEnC48B,cAAe,EACfpD,YAAa,CAAEn6B,MAAO,EAAGW,MAAO,KAEhCo9B,WAAY,EACZ/Y,SAAU,WAIX,KAAAgZ,EACLjkC,EAAKqB,SAAS,CACZg4B,KAAK96B,OAAAkP,GAAA,EAAAlP,CAAA,GACA86B,GADD4K,EAAA,GAAA1lC,OAAAmR,GAAA,EAAAnR,CAAA0lC,EAEDje,EAAQ/f,EAAMA,OAFb1H,OAAAmR,GAAA,EAAAnR,CAAA0lC,EAGDle,EAAY9f,GAHXg+B,QA3TSjkC,EAoUnBkkC,gBAAkB,SAACR,GAAc,IACvBrjB,EAAargB,EAAKM,MAAlB+f,SACR,OAAKA,GAAaqjB,EAIXrjB,EAASrG,OAAO,SAAA4G,GAAC,OAAIA,EAAEwF,WAAasd,IAHlC,IAvUQ1jC,EA6UnBmkC,sBAAwB,SAACpe,EAAWC,EAAO/f,GAAU,IAAAm+B,EAC3C/K,EAASr5B,EAAKM,MAAd+4B,KACFpO,EAAWhlB,EAAMkY,OAAN,GAAAnhB,OAAkBiJ,EAAMkY,OAAxB,KAAAnhB,OAAkCiJ,EAAMmY,UAAa,GAChEolB,EAA+BnK,EAA/BmK,cAAepD,EAAgB/G,EAAhB+G,YAOnBA,EALGoD,EAKW,CAAEv9B,MADhBu9B,EAAgB,EACsB58B,MAAOqkB,GAH/B,CAAEhlB,MADhBu9B,EAAgBv9B,EAAMssB,UACgB3rB,MAAOqkB,GAM/CjrB,EAAKqB,SAAS,CACZg4B,KAAK96B,OAAAkP,GAAA,EAAAlP,CAAA,GACA86B,GADD+K,EAAA,GAAA7lC,OAAAmR,GAAA,EAAAnR,CAAA6lC,EAEDpe,EAAQ/f,EAAMA,OAFb1H,OAAAmR,GAAA,EAAAnR,CAAA6lC,EAGDre,EAAY9f,GAHX1H,OAAAmR,GAAA,EAAAnR,CAAA6lC,EAAA,WAIFnZ,GAJE1sB,OAAAmR,GAAA,EAAAnR,CAAA6lC,EAAA,cAKFhE,GALE7hC,OAAAmR,GAAA,EAAAnR,CAAA6lC,EAAA,gBAMFZ,GANEY,OAzVNpkC,EAAKM,MAAQ,CACX+4B,KAAM,GACNqH,WAAY,GACZgB,iBAAkB,GAClBnhC,SAAS,GAGXP,EAAK8lB,qBAAuB9lB,EAAK8lB,qBAAqBvR,KAA1BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC5BA,EAAKmkC,sBAAwBnkC,EAAKmkC,sBAAsB5vB,KAA3BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC7BA,EAAKihC,wBAA0BjhC,EAAKihC,wBAAwB1sB,KAA7BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAXdA,mFAejBE,KAAKmjC,oDAuVE,IAAAl5B,EACiBjK,KAAKwC,MAArBxD,EADDiL,EACCjL,GAAI2F,EADLsF,EACKtF,QADL9C,EAWH7B,KAAKI,MARP+4B,EAHKt3B,EAGLs3B,KACAnP,EAJKnoB,EAILmoB,WAJKma,EAAAtiC,EAKL0gC,gBALK,IAAA4B,EAKM,GALNA,EAML1B,EANK5gC,EAML4gC,iBACAjK,EAPK32B,EAOL22B,eAPK4L,EAAAviC,EAQL2/B,wBARK,IAAA4C,EAQc,GARdA,EASL5D,EATK3+B,EASL2+B,WACAngC,EAVKwB,EAULxB,QAGF,IAAK84B,GAA4B,IAApBoJ,EAASz8B,QAAgBzF,EACpC,OAAOoD,EAAA1B,EAAAC,cAACmd,GAAD,MAGT,IAAMgB,EAAWngB,KAAKgkC,gBAAgB7K,EAAKqK,WACnC/R,EAAW0H,EAAX1H,OAER,OACEhuB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,GAAuB,IAAjByyB,EAAO1rB,OAAe,UAAW/G,GAAM,QAASA,GAAuB,IAAjByyB,EAAO1rB,OAAe,MADrF,WAGAtC,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACN,GACLrD,GAAuB,IAAjByyB,EAAO1rB,OAAe,cAAe/G,GAAM,WAAYA,GAAuB,IAAjByyB,EAAO1rB,OAAe,OAF5F,kCAOJtC,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACJ6P,GAAcuY,EAGb9+B,EAAA1B,EAAAC,cAACqiC,GAADhmC,OAAA+N,OAAA,GACM+sB,EADN,CAEEroB,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACb7Y,cAAessB,EACfqH,WAAYA,EACZ77B,QAASA,EACTqlB,WAAYA,EACZ7J,SAAUA,EACVoiB,SAAUA,EACVE,iBAAkBA,EAClBjK,eAAgBA,EAChBgJ,iBAAkBA,EAClBze,gBAAiB/iB,KAAK4lB,qBACtB4c,iBAAkBxiC,KAAKikC,sBACvBlD,wBAAyB/gC,KAAK+gC,wBAC9BJ,8BAA+B3gC,KAAK2gC,8BACpCthB,oBAAkB,KAnBnB5b,EAAA1B,EAAAC,cAACmd,GAAD,gBA5Yelc,iBCgYjBqhC,uBAxYb,SAAAA,EAAY9hC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAskC,IACjBxkC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAimC,GAAAnkC,KAAAH,KAAMwC,KAQR2gC,iBAAmB,SAACoB,GAAoB,IAAAjhC,EACdxD,EAAK0C,MAArBxD,EAD8BsE,EAC9BtE,GAAI2F,EAD0BrB,EAC1BqB,QACZ,IAAK3F,EASH,OARAc,EAAKqB,SAAS,CACZg4B,KAAM,CACJn6B,GAAI,EACJg6B,OAAO,IAAIpkB,MAAOwuB,sBAItBtjC,EAAK0d,iBAIPqa,GAAsB74B,EAAIulC,EAAiB,CACzC30B,UAAW,SAACupB,GACVr5B,EAAKqB,SAAS,CAAEg4B,UAElBx3B,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,uBACnBuF,EAAQG,KAAK,iBAEb1F,aAAmB,qDAhCRU,EAsCnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UAxCS7lB,EA2CnB0kC,oBAAsB,SAACrJ,GAErB,OADwBxW,GAAenN,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUo1B,KAAiB,IACvDvW,YA3CvB9kB,EAAKM,MAAQ,GAFIN,mFAMjBE,KAAKmjC,iBAAiBte,GAAgBC,wCA0C/B,IAAAvkB,EAAAP,KACCm5B,EAASn5B,KAAKI,MAAd+4B,KACR,OAAKA,EAKH11B,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,kBAAkBqB,QAAS,kBAAMzC,OAAOwjC,UACtEhhC,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,gBADf,aAGAoB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS1D,KAAK0lB,cAHhB,sBAOFjiB,EAAA1B,EAAAC,cAAA,OACEhD,GAAG,mBACHqD,UAAU,8BACVmE,MAAO,CACLk+B,WAAY,cACZruB,QAAS,OACT2F,eAAgB,WAGlBvY,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQpG,MAAO,UACpCxM,EAAA1B,EAAAC,cAAA,OACE4B,IAAI,sBACJvB,UAAU,sBAGZoB,EAAA1B,EAAAC,cAAA,KACE2iC,MAAM,SACNn+B,MAAO,CACLub,aAAc,MAAO+N,UAAW,OAAQ8U,WAAY,OAAQC,eAAgB,UAG9EphC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,SACEyB,EAAA1B,EAAAC,cAAA,SAAI,UAAAlF,OAAUq8B,EAAK/E,SAAU4Q,cAA7B,SAKRvhC,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,UAAUsiC,MAAM,SAASn+B,MAAO,CAAEub,aAAc,MAAO6iB,WAAY,SAC9EnhC,EAAA1B,EAAAC,cAAA,YAEFyB,EAAA1B,EAAAC,cAAA,KACEK,UAAU,UACVmE,MAAO,CACLy+B,WAAY,SACZC,WAAY,UACZnjB,aAAc,MACd6iB,WAAY,OACZ/W,UAAW,QACXxX,QAAS,OACT2F,eAAgB,kBAGlBvY,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,cAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACT3hC,EAAA1B,EAAAC,cAAA,4BAKRyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACR,IAAAtoC,OAAIq8B,EAAK9Y,SAAU2kB,mBAM9BvhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,cAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACT3hC,EAAA1B,EAAAC,cAAA,0BAORyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACR,IAAAtoC,OAAIq8B,EAAKlJ,UAAW+U,oBAOjCvhC,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACT3hC,EAAA1B,EAAAC,cAAA,yBAMNyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACR,IAAAtoC,OAAIq8B,EAAKpO,UAAWia,kBAK7BvhC,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACT3hC,EAAA1B,EAAAC,cAAA,4BAINyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACR,IAAAtoC,OAAIq8B,EAAK+G,aAAc8E,kBAKhCvhC,EAAA1B,EAAAC,cAAA,MACEojC,KAAK,kBACL/iC,UAAU,UACVmE,MAAO,CACLo+B,WAAY,OAAQvuB,QAAS,OAAQ2F,eAAgB,gBAAiB+F,aAAc,WAGtFte,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,eAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,sBAINyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SAAnC,IAAAjoC,OACO0X,GAAW2kB,EAAKH,YAK7Bv1B,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,eAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,qBAMNyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SAAnC,IAAAjoC,OACO8f,GAAWuc,EAAKH,aAM/Bv1B,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,SAAOqjC,YAAY,IAAIC,YAAY,IAAI9+B,MAAO,CAAEyJ,MAAO,SACrDxM,EAAA1B,EAAAC,cAAA,gBACEyB,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,QACXxM,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,OACXxM,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,OACXxM,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,SAEbxM,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,MAAIujC,OAAO,OACT9hC,EAAA1B,EAAAC,cAAA,MACEwjC,QAAQ,IACRv1B,MAAM,MACNC,OAAO,KACP1J,MAAO,CAAE2P,QAAS,eAElB1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,YAEFyB,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,cAMNthC,EAAA1B,EAAAC,cAAA,MAAI8f,QAAQ,IAAI7R,MAAM,MAAMzJ,MAAO,CAAE2P,QAAS,eAC5C1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBAAX,qBAGJrhC,EAAA1B,EAAAC,cAAA,MAAIwjC,QAAQ,IAAIv1B,MAAM,MAAMzJ,MAAO,CAAE2P,QAAS,eAC5C1S,EAAA1B,EAAAC,cAAA,KACEojC,KAAK,kBACL/iC,UAAU,UACVsiC,MAAM,SACNn+B,MAAO,CAAEub,aAAc,MAAO0jB,cAAe,cAE7ChiC,EAAA1B,EAAAC,cAAA,YAEFyB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,UAAUsiC,MAAM,UAC3BlhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAEi/B,cAAe,cAC5BhiC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBAAX,wBASZ3hC,EAAA1B,EAAAC,cAAA,MAAIujC,OAAO,OACT9hC,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAqC2P,QAAS,eAClE1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBAAX,aAGJrhC,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAqC2P,QAAS,eAClE1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBAAX,aAIL3L,EAAKqH,WAAWr6B,IAAI,SAACkS,EAAMoI,GAAP,OACnBhd,EAAA1B,EAAAC,cAAA,MAAIqE,IAAKgS,EAAKrZ,IACZyE,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,MAAMC,OAAO,IAAI1J,MAAO,CAAE2P,QAAS,eAC3C1S,EAAA1B,EAAAC,cAAA,SACEyB,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAEopB,YAAa,QAAUwV,KAAK,SACzC3hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,GAAAjoC,OAA+C2jB,EAAQ,EAAvD,QAGJhd,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAEopB,YAAa,QAAUwV,KAAK,SACzC3hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,GAAAjoC,OACMub,EAAK6F,SADX,MAAAphB,OACwBub,EAAK4F,cAQvCxa,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAE2P,QAAS,eAC/B1S,EAAA1B,EAAAC,cAAA,MACEojC,KAAK,kBACL/iC,UAAU,UACVsiC,MAAM,OACNn+B,MAAO,CAAEy+B,WAAY,WAErBxhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,WAC1B1hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,IAAAjoC,OAAgDub,EAAK8iB,cAAgB,UAK7E13B,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAE2P,QAAS,eAC/B1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,WAC1B1hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SAAX,IAAAtoC,OAAwByD,EAAKikC,oBAAoBnsB,EAAK8iB,qBAOhE13B,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,MAAMzJ,MAAO,CAAE2P,QAAS,eAChC1S,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,WACXoB,EAAA1B,EAAAC,cAAA,mBAQdyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qBAAqBmE,MAAO,CAAEyJ,MAAO,UAClDxM,EAAA1B,EAAAC,cAAA,mCAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,YAAYmE,MAAO,CAAEyJ,MAAO,UACzCxM,EAAA1B,EAAAC,cAAA,mCAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBAAsBmE,MAAO,CAAEyJ,MAAO,UACnDxM,EAAA1B,EAAAC,cAAA,mCAGFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qBAAqBmE,MAAO,CAAEyJ,MAAO,UAClDxM,EAAA1B,EAAAC,cAAA,yBAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,YAAYmE,MAAO,CAAEyJ,MAAO,UACzCxM,EAAA1B,EAAAC,cAAA,oBAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBAAsBmE,MAAO,CAAEyJ,MAAO,UACnDxM,EAAA1B,EAAAC,cAAA,6BAnUTyB,EAAA1B,EAAAC,cAACmd,GAAD,aApDsBlc,kBCmXpBqhC,eAlXb,SAAAA,EAAY9hC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAskC,IACjBxkC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAimC,GAAAnkC,KAAAH,KAAMwC,KAQR2gC,iBAAmB,SAACoB,GAAoB,IAAAjhC,EACdxD,EAAK0C,MAArBxD,EAD8BsE,EAC9BtE,GAAI2F,EAD0BrB,EAC1BqB,QACZ,IAAK3F,EASH,OARAc,EAAKqB,SAAS,CACZg4B,KAAM,CACJn6B,GAAI,EACJg6B,OAAO,IAAIpkB,MAAOwuB,sBAItBtjC,EAAK0d,iBAIPqa,GAAsB74B,EAAIulC,EAAiB,CACzC30B,UAAW,SAACupB,GACVr5B,EAAKqB,SAAS,CAAEg4B,UAElBx3B,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,uBACnBuF,EAAQG,KAAK,iBAEb1F,aAAmB,qDAhCRU,EAsCnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UAxCS7lB,EA2CnB0kC,oBAAsB,SAACrJ,GAErB,OADwBxW,GAAenN,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUo1B,KAAiB,IACvDvW,YA7CN9kB,EAgDnB4lC,SAAW,SAAC3/B,GACV,IAAM4/B,EAAS1/B,OAAOF,GACtB,OAAe,IAAX4/B,EACK,EAGJA,GACI,KArDT7lC,EAAKM,MAAQ,GAFIN,mFAMjBE,KAAKmjC,iBAAiBte,GAAgBE,gDAuD/B,IAAAxkB,EAAAP,KACCm5B,EAASn5B,KAAKI,MAAd+4B,KACR,OAAKA,EAKH11B,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,kBAAkBqB,QAAS,kBAAMzC,OAAOwjC,UACtEhhC,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,gBADf,aAGAoB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS1D,KAAK0lB,cAHhB,sBAOFjiB,EAAA1B,EAAAC,cAAA,OACEhD,GAAG,mBACHqD,UAAU,8BACVmE,MAAO,CACLk+B,WAAY,cACZruB,QAAS,OACT2F,eAAgB,WAGlBvY,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQpG,MAAO,UACpCxM,EAAA1B,EAAAC,cAAA,OACE4B,IAAI,sBACJvB,UAAU,sBAGZoB,EAAA1B,EAAAC,cAAA,KACE2iC,MAAM,SACNn+B,MAAO,CACLub,aAAc,MAAO+N,UAAW,OAAQ8U,WAAY,OAAQC,eAAgB,UAG9EphC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,SACEyB,EAAA1B,EAAAC,cAAA,SAAI,UAAAlF,OAAUq8B,EAAK/E,SAAU4Q,cAA7B,SAKRvhC,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,UAAUsiC,MAAM,SAASn+B,MAAO,CAAEub,aAAc,MAAO6iB,WAAY,SAC9EnhC,EAAA1B,EAAAC,cAAA,YAEFyB,EAAA1B,EAAAC,cAAA,KACEK,UAAU,UACVmE,MAAO,CACLy+B,WAAY,SACZC,WAAY,UACZnjB,aAAc,MACd6iB,WAAY,OACZ/W,UAAW,QACXxX,QAAS,OACT2F,eAAgB,kBAGlBvY,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,cAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACT3hC,EAAA1B,EAAAC,cAAA,4BAKRyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACR,IAAAtoC,OAAIq8B,EAAK9Y,SAAU2kB,mBAM9BvhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,cAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACT3hC,EAAA1B,EAAAC,cAAA,0BAORyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACR,IAAAtoC,OAAIq8B,EAAKlJ,UAAW+U,oBAOjCvhC,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACT3hC,EAAA1B,EAAAC,cAAA,yBAMNyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACR,IAAAtoC,OAAIq8B,EAAKpO,UAAWia,kBAK7BvhC,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACT3hC,EAAA1B,EAAAC,cAAA,4BAINyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACR,IAAAtoC,OAAIq8B,EAAK+G,aAAc8E,kBAKhCvhC,EAAA1B,EAAAC,cAAA,MACEojC,KAAK,kBACL/iC,UAAU,UACVmE,MAAO,CACLo+B,WAAY,OAAQvuB,QAAS,OAAQ2F,eAAgB,gBAAiB+F,aAAc,WAGtFte,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,eAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,sBAINyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SAAnC,IAAAjoC,OACO0X,GAAW2kB,EAAKH,YAK7Bv1B,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,eAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,qBAMNyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SAAnC,IAAAjoC,OACO8f,GAAWuc,EAAKH,aAM/Bv1B,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,SAAOqjC,YAAY,IAAIC,YAAY,IAAI9+B,MAAO,CAAEyJ,MAAO,SACrDxM,EAAA1B,EAAAC,cAAA,gBACEyB,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,QACXxM,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,OACXxM,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,OACXxM,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,SAEbxM,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,MAAIujC,OAAO,OACT9hC,EAAA1B,EAAAC,cAAA,MACEiO,MAAM,MACNzJ,MAAO,CAAE2P,QAAS,eAElB1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,cAMNthC,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,MAAMzJ,MAAO,CAAE2P,QAAS,eAChC1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBAAX,QAGJrhC,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,MAAM6R,QAAQ,IAAItb,MAAO,CAAE2P,QAAS,eAC5C1S,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,UAAUsiC,MAAM,UAC3BlhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAEi/B,cAAe,cAC5BhiC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBAAX,wBASXjM,EAAKqH,WAAWr6B,IAAI,SAACkS,EAAMoI,GAAP,OACnBhd,EAAA1B,EAAAC,cAAA,MAAIqE,IAAKgS,EAAKrZ,IACZyE,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,MAAMC,OAAO,IAAI1J,MAAO,CAAE2P,QAAS,eAC3C1S,EAAA1B,EAAAC,cAAA,SACEyB,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAEopB,YAAa,QAAUwV,KAAK,SACzC3hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,GAAAjoC,OAA+C2jB,EAAQ,EAAvD,QAGJhd,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAEopB,YAAa,QAAUwV,KAAK,SACzC3hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,GAAAjoC,OACMub,EAAK6F,SADX,MAAAphB,OACwBub,EAAK4F,cAQvCxa,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAE2P,QAAS,eAC/B1S,EAAA1B,EAAAC,cAAA,MACEojC,KAAK,kBACL/iC,UAAU,UACVsiC,MAAM,OACNn+B,MAAO,CAAEy+B,WAAY,WAErBxhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,WAC1B1hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,IAAAjoC,OACOyD,EAAKmlC,SAASrtB,EAAKikB,oBAMlC74B,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,MAAM6R,QAAQ,IAAItb,MAAO,CAAE2P,QAAS,eAC5C1S,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,WACXoB,EAAA1B,EAAAC,cAAA,mBAQdyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qBAAqBmE,MAAO,CAAEyJ,MAAO,UAClDxM,EAAA1B,EAAAC,cAAA,mCAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,YAAYmE,MAAO,CAAEyJ,MAAO,UACzCxM,EAAA1B,EAAAC,cAAA,mCAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBAAsBmE,MAAO,CAAEyJ,MAAO,UACnDxM,EAAA1B,EAAAC,cAAA,mCAGFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qBAAqBmE,MAAO,CAAEyJ,MAAO,UAClDxM,EAAA1B,EAAAC,cAAA,yBAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,YAAYmE,MAAO,CAAEyJ,MAAO,UACzCxM,EAAA1B,EAAAC,cAAA,oBAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBAAsBmE,MAAO,CAAEyJ,MAAO,UACnDxM,EAAA1B,EAAAC,cAAA,6BAhSTyB,EAAA1B,EAAAC,cAACmd,GAAD,aAjEsBlc,iBCkZpBqhC,eAjZb,SAAAA,EAAY9hC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAskC,IACjBxkC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAimC,GAAAnkC,KAAAH,KAAMwC,KAQR2gC,iBAAmB,WAAM,IAAA7/B,EACCxD,EAAK0C,MAArBxD,EADesE,EACftE,GAAI2F,EADWrB,EACXqB,QACZ,IAAK3F,EASH,OARAc,EAAKqB,SAAS,CACZg4B,KAAM,CACJn6B,GAAI,EACJg6B,OAAO,IAAIpkB,MAAOwuB,sBAItBtjC,EAAK0d,iBAIPqa,GAAsB74B,EAAI,KAAM,CAC9B4Q,UAAW,SAACupB,GACVr5B,EAAKqB,SAAS,CAAEg4B,UAElBx3B,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,uBACnBuF,EAAQG,KAAK,iBAEb1F,aAAmB,qDAhCRU,EAsCnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UAxCS7lB,EA2CnB0kC,oBAAsB,SAACrJ,GAErB,OADwBxW,GAAenN,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUo1B,KAAiB,IACvDvW,YA3CvB9kB,EAAKM,MAAQ,GAFIN,mFAMjBE,KAAKmjC,oDA0CE,IACChK,EAASn5B,KAAKI,MAAd+4B,KACR,IAAKA,EACH,OAAO11B,EAAA1B,EAAAC,cAACmd,GAAD,MAGT,IAAMymB,EAAUniC,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,mBAEhB,OACErE,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UAAQzC,KAAK,SAAS8C,UAAU,kBAAkBqB,QAAS,kBAAMzC,OAAOwjC,UACtEhhC,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,gBADf,aAGAoB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS1D,KAAK0lB,cAHhB,sBAOFjiB,EAAA1B,EAAAC,cAAA,OACEhD,GAAG,mBACHqD,UAAU,8BACVmE,MAAO,CACLk+B,WAAY,cACZruB,QAAS,OACT2F,eAAgB,WAGlBvY,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQpG,MAAO,SACpCxM,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,UAAUsiC,MAAM,SAASn+B,MAAO,CAAEub,aAAc,MAAO6iB,WAAY,SAC9EnhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,oCAAgC,IAAAlF,OAAIq8B,EAAKnJ,SAAUgV,iBAGvDvhC,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,UAAUmE,MAAO,CAAEub,aAAc,MAAO6iB,WAAY,SAC/DnhC,EAAA1B,EAAAC,cAAA,YAEFyB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,UAAUmE,MAAO,CAAEub,aAAc,MAAO6iB,WAAY,SAC/DnhC,EAAA1B,EAAAC,cAAA,YAEFyB,EAAA1B,EAAAC,cAAA,KAAG2iC,MAAM,SAASn+B,MAAO,CAAEub,aAAc,MAAO6iB,WAAY,OAAQC,eAAgB,UAClFphC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,SACEyB,EAAA1B,EAAAC,cAAA,oCAKRyB,EAAA1B,EAAAC,cAAA,KAAG2iC,MAAM,SAASn+B,MAAO,CAAEub,aAAc,MAAO6iB,WAAY,OAAQC,eAAgB,UAClFphC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,SACEyB,EAAA1B,EAAAC,cAAA,SAAI,UAAAlF,OAAUq8B,EAAK/E,SAAU4Q,cAA7B,SAKRvhC,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,UAAUsiC,MAAM,SAASn+B,MAAO,CAAEub,aAAc,MAAO6iB,WAAY,SAC9EnhC,EAAA1B,EAAAC,cAAA,YAEFyB,EAAA1B,EAAAC,cAAA,KACEK,UAAU,UACVmE,MAAO,CACLy+B,WAAY,SACZC,WAAY,UACZnjB,aAAc,MACd6iB,WAAY,OACZ/W,UAAW,QACXxX,QAAS,OACT2F,eAAgB,kBAGlBvY,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,cAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACT3hC,EAAA1B,EAAAC,cAAA,4BAKRyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACR,IAAAtoC,OAAIq8B,EAAK9Y,SAAU2kB,mBAM9BvhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,cAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACT3hC,EAAA1B,EAAAC,cAAA,0BAORyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,mBACR,IAAAtoC,OAAIq8B,EAAKlJ,UAAW+U,oBAOjCvhC,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACT3hC,EAAA1B,EAAAC,cAAA,yBAMNyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACR,IAAAtoC,OAAIq8B,EAAKpO,UAAWia,kBAK7BvhC,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACT3hC,EAAA1B,EAAAC,cAAA,4BAINyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,QAAMojC,KAAK,SACR,IAAAtoC,OAAIq8B,EAAK+G,aAAc8E,kBAKhCvhC,EAAA1B,EAAAC,cAAA,MACEojC,KAAK,kBACL/iC,UAAU,UACVmE,MAAO,CACLo+B,WAAY,OAAQvuB,QAAS,OAAQ2F,eAAgB,gBAAiB+F,aAAc,WAGtFte,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,eAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,sBAINyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SAAnC,IAAAjoC,OACO0X,GAAW2kB,EAAKH,YAK7Bv1B,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,eAC1B1hC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SACjCthC,EAAA1B,EAAAC,cAAA,qBAMNyB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,MAAMjI,MAAO,CAAEu+B,QAAS,SAAnC,IAAAjoC,OACO8f,GAAWuc,EAAKH,aAM/Bv1B,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,SAAOqjC,YAAY,IAAIC,YAAY,IAAI9+B,MAAO,CAAEyJ,MAAO,SACrDxM,EAAA1B,EAAAC,cAAA,gBACEyB,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,QACXxM,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,OACXxM,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,OACXxM,EAAA1B,EAAAC,cAAA,OAAKiO,MAAM,SAEbxM,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,MAAIujC,OAAO,OACT9hC,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAqC2P,QAAS,eAClE1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBAAX,aAGJrhC,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAqC2P,QAAS,eAClE1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBAAgBc,KAG/BniC,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAqC2P,QAAS,eAClE1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBAAX,gBAGJrhC,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAqC2P,QAAS,eAClE1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBAAX,QAGJrhC,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAqC2P,QAAS,eAClE1S,EAAA1B,EAAAC,cAAA,MAAIojC,KAAK,kBAAkB/iC,UAAU,WACnCoB,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,gBAAX,gBAIL3L,EAAKqH,WAAWr6B,IAAI,SAACkS,EAAMoI,GAAP,OACnBhd,EAAA1B,EAAAC,cAAA,MAAIqE,IAAKgS,EAAKrZ,IACZyE,EAAA1B,EAAAC,cAAA,MAAIkO,OAAO,IAAI1J,MAAO,CAAE2P,QAAS,aAAclG,MAAO,QACpDxM,EAAA1B,EAAAC,cAAA,SACEyB,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC/BthC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAEopB,YAAa,QAAUwV,KAAK,SACzC3hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,GAAAjoC,OAA+C2jB,EAAQ,EAAvD,QAGJhd,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAEopB,YAAa,OAASwV,KAAK,SACxC3hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,GAAAjoC,OACMub,EAAK6F,SADX,MAAAphB,OACwBub,EAAK4F,cAQvCxa,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAE2P,QAAS,eAC/B1S,EAAA1B,EAAAC,cAAA,MACEojC,KAAK,kBACL/iC,UAAU,UACVsiC,MAAM,QAENlhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,WAC1B1hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAC9B1sB,EAAKwH,qBAMhBpc,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAE2P,QAAS,eAC/B1S,EAAA1B,EAAAC,cAAA,MACEojC,KAAK,kBACL/iC,UAAU,UACVsiC,MAAM,QAENlhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,WAC1B1hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,IAAAjoC,OACOub,EAAKiY,sBAAwB,QAM5C7sB,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAE2P,QAAS,eAC/B1S,EAAA1B,EAAAC,cAAA,MACEojC,KAAK,kBACL/iC,UAAU,UACVsiC,MAAM,QAENlhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,WAC1B1hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,IAAAjoC,OACOub,EAAKgY,cAAgB,QAMpC5sB,EAAA1B,EAAAC,cAAA,MAAIiO,MAAM,KAAKzJ,MAAO,CAAE2P,QAAS,eAC/B1S,EAAA1B,EAAAC,cAAA,MACEojC,KAAK,kBACL/iC,UAAU,UACVsiC,MAAM,QAENlhC,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAE2+B,YAAa,WAC1B1hC,EAAA1B,EAAAC,cAAA,QAAM8iC,KAAK,0BACTrhC,EAAA1B,EAAAC,cAAA,QAAMyM,KAAK,IAAIjI,MAAO,CAAEu+B,QAAS,SAAjC,IAAAjoC,OAAgDub,EAAK6iB,UAAUx0B,OAAS,gBAU1FjD,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qBAAqBmE,MAAO,CAAEyJ,MAAO,UAClDxM,EAAA1B,EAAAC,cAAA,mCAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,YAAYmE,MAAO,CAAEyJ,MAAO,UACzCxM,EAAA1B,EAAAC,cAAA,mCAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBAAsBmE,MAAO,CAAEyJ,MAAO,UACnDxM,EAAA1B,EAAAC,cAAA,mCAGFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qBAAqBmE,MAAO,CAAEyJ,MAAO,UAClDxM,EAAA1B,EAAAC,cAAA,yBAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,YAAYmE,MAAO,CAAEyJ,MAAO,UACzCxM,EAAA1B,EAAAC,cAAA,oBAEFyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBAAsBmE,MAAO,CAAEyJ,MAAO,UACnDxM,EAAA1B,EAAAC,cAAA,oCAhYaiB,iBCIpB4iC,GAdK,kBAClBpiC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,8BACAoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,WAAd,2BAEFoB,EAAA1B,EAAAC,cAAA,4BCSO8jC,GAhBM,kBACnBriC,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,aACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,cAGJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAAC+jC,GAAD,OAEFtiC,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAAC+jC,GAAD,SCESF,GAdK,kBAClBpiC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,SACAoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,WAAd,2BAEFoB,EAAA1B,EAAAC,cAAA,8CCMOgkC,GAbG,kBAChBviC,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,aACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,YAGJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACikC,GAAD,uCCSAC,eAKJ,SAAAA,EAAY1jC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAkmC,IACjBpmC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA6nC,GAAA/lC,KAAAH,KAAMwC,KAwGRk2B,iBAAmB,SAAChmB,EAAMiH,EAAUgE,GxC1H/B,IAAA9W,EAA8Es/B,EAA5DtoB,EAAsCjO,EAAWjO,EwC2HtE7B,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,KxC/H2DwoB,GAA9Et/B,EwCiII,CACLgX,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAAA/I,GAAgC,IAA7B2S,EAA6B3S,EAA7B2S,MAAOI,EAAsB/S,EAAtB+S,gBACnB9Z,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,QACAI,qBAGJjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,gExChJFye,gBAA4D,IAAAsoB,EAAjD,CAAEzzB,KAAM,EAAGiH,SAAU,IAA4BwsB,EAAtBv2B,EAAsB/I,EAAtB+I,UAAWjO,EAAWkF,EAAXlF,QACjE7C,aAAO,GAAAhC,OAAIL,KAAJ,QAA8BohB,GACzC1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,MwCON0B,EAoInBsmC,mBAAqB,SAACC,GACpB,IAAMzlC,EAAI,GAAA9D,OAAMupC,EAAOhmB,SACvBzS,GAAQ,CACN9J,MAAO,6BACP+J,SAAQ,qDAAA/Q,OAAoD8D,EAApD,kBACRkN,SAAU,aACVE,QAAS,aACTC,UAAW,WACTqa,GAAO+d,EAAOrnC,GACZ,CACE4Q,UAAW,WACT1Q,aAAqB,gCADN,IAAA2C,EAEY/B,EAAKM,MAAxBsS,EAFO7Q,EAEP6Q,KAAMiH,EAFC9X,EAED8X,SACd7Z,EAAK44B,iBAAiBhmB,EAAMiH,IAE9BhY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,yCAEnBA,aAAmB,uDAvJdU,EA+JnBwmC,KAAO,SAACD,GACcvmC,EAAK0C,MAAjBmC,QACAG,KAAR,gCAAAhI,OAA6CupC,EAAOrnC,MAjKnCc,EAoKnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAK44B,iBAAiBhmB,EAAMiH,EAAUgE,KAvKvB7d,EA2KnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK44B,iBAAiB,EAAG/e,EAAU7K,KA9KpBhP,EAkLnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK44B,iBAAiB,EAAG/e,EAAU,KApLlB7Z,EAuLnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAzLfvG,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,KAEjBc,EAAKyZ,QAAU,CACb,CAAElT,IAAK,KAAMzF,KAAM,IAAKqP,MAAO,QAC/B,CAAE5J,IAAK,OAAQzF,KAAM,UAAWqP,MAAO,QACvC,CAAE5J,IAAK,QAASzF,KAAM,QAASoZ,QAAQ,GACvC,CACE3T,IAAK,mBACLzF,KAAM,WACNqP,MAAO,OACPgL,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAI4Z,iBAAX,UAEb,CACErrB,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,EACRiB,OAAQ,SAAA3M,GAAA,IAAGwmB,EAAHxmB,EAAGwmB,cAAezU,EAAlB/R,EAAkB+R,QAASwP,EAA3BvhB,EAA2BuhB,QAA3B,OACNpsB,EAAA1B,EAAAC,cAAA,UAAIyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,QAAQuuB,GAAzB,IAAAh4B,OAAoDujB,EAApD,KAAAvjB,OAA+D+yB,MAGnE,CACExpB,IAAK,gBAAiBzF,KAAM,oBAAkBoZ,QAAQ,EAAMX,SAAS,GAEvE,CACEhT,IAAK,aACLzF,KAAM,eACNqa,OAAQ,SAAAnD,GAAG,OAAIA,EAAIkS,WAAW7jB,IAAI,SAAAua,GAAC,OACjCjd,EAAA1B,EAAAC,cAAA,OAAKqE,IAAG,QAAAvJ,OAAUgb,EAAI9Y,GAAd,KAAAlC,OAAoB4jB,EAAE1hB,KAChB,cAAX0hB,EAAEta,KAAuB,OAAS,OADrC,IAC8Csa,EAAEzC,OADhD,IACyDyC,EAAExC,cAI/D,CACE7X,IAAK,qBACLzF,KAAM,qBACNoZ,QAAQ,EACR3X,UAAW,cACX4N,MAAO,QACPgL,OAAQ,SAAAnD,GAAG,OAAKrU,EAAA1B,EAAAC,cAAA,UAAIyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,QAAQuR,EAAIoiB,uBAE/C,CACE7zB,IAAK,eACLzF,KAAM,UACNoZ,QAAQ,EACR3X,UAAW,cACX4N,MAAO,QACPgL,OAAQ,SAAAnD,GAAG,OACTrU,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAOuR,EAAIyuB,aAAe,UAAY,WAErCzuB,EAAIyuB,aAAe,KAAO,SAKnC,CAAElgC,IAAK,UAAWzF,KAAM,SAAUqP,MAAO,SAE3CnQ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,WACzCkX,SAAU,SAACqrB,GACTvmC,EAAKwmC,KAAKD,KAGd,CACEhgC,IAAK,SACLlD,KAAM,SAAA2U,GAAG,OACPrU,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,QAAMhD,GAAE,sBAAAlC,OAAwBgb,EAAI9Y,IAAMqD,UAAU,cAAcyB,MAAM,WACxEL,EAAA1B,EAAAC,cAACwkC,GAAA,EAAD,CACEC,QAAQ,SACR3qB,UAAU,OACVrM,OAAM,sBAAA3S,OAAwBgb,EAAI9Y,IAClCqD,UAAU,OACV4I,UAAW6M,EAAIoiB,oBAEfz2B,EAAA1B,EAAAC,cAAC0kC,GAAA,EAAD,sCACAjjC,EAAA1B,EAAAC,cAAC2kC,GAAA,EAAD,iDAIN3rB,SAAU,SAACqrB,GACJA,EAAOnM,oBACVp6B,EAAKsmC,mBAAmBC,MA7FfvmC,mFAoGC,IAAAkf,EACShf,KAAKI,MAAxBsS,EADUsM,EACVtM,KAAMiH,EADIqF,EACJrF,SACd3Z,KAAK04B,iBAAiBhmB,EAAMiH,oCAwFrB,IAAApZ,EAAAP,KAAAif,EAQHjf,KAAKI,MANPC,EAFK4e,EAEL5e,QACAmZ,EAHKyF,EAGLzF,MACA9G,EAJKuM,EAILvM,KACAiH,EALKsF,EAKLtF,SACAC,EANKqF,EAMLrF,gBACA+D,EAPKsB,EAOLtB,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,iCACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,kBAAkB2B,GAAG,+BACnCP,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eADf,uCAMNoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EAAUoD,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAAI1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,gBAEpBoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,4CACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aAxOIpc,iBAkPvBC,eAAWgjC,ICzPpBU,GAAwB,SAAA//B,GAQxB,IAPJujB,EAOIvjB,EAPJujB,eAOIyc,EAAAhgC,EANJ0a,cAMI,IAAAslB,EANK,GAMLA,EAAAz5B,EAAAvG,EALJoF,KAAQ7N,EAKJgP,EALIhP,MAAOqjB,EAKXrU,EALWqU,aACfC,EAII7a,EAJJ6a,eACAC,EAGI9a,EAHJ8a,kBACAC,EAEI/a,EAFJ+a,aACApI,EACI3S,EADJ2S,MAEMnS,EAAQmS,EAAMqF,KAAK,SAAApH,GAAC,OAAKA,EAAEqvB,SAAoB,IAATrvB,EAAEzY,KAC9C,OACEyE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBAAyBmE,MAAO,CAAEooB,cAAe,WAE5DxE,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAEC,gBAAiB,wBAC7BhD,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GACd3W,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEH,KAAK,KACLlI,MAAM,UACNC,MAAO,CAAEub,aAAc,OACvBre,QAAS,kBAAMge,EAAe,CAAE9gB,KAAM2gB,EAAO3gB,QAC7CyB,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eACZ,IARH,cAcJ,KAENoB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,gBACVmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,OAAQkc,UAAW,UAE7DtjC,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,+BAA+BmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,WACxFpnB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,KACAoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,YACAoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAa,OAG/BoB,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAAC6gC,EAAUvmB,GACrB,OAAKjH,EAAMiH,GAIThd,EAAA1B,EAAAC,cAAA,MACEqE,IAAG,GAAAvJ,OAAKkqC,GACRhoC,GAAE,GAAAlC,OAAKkqC,GACP3kC,UAAYmX,EAAMiH,GAAOqmB,SAAYttB,EAAMiH,GAAOzhB,GAAK,GAAKqI,EAAU,SAAW,IAEjF5D,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,QACboB,EAAA1B,EAAAC,cAAA,UAAKwX,EAAMiH,GAAOA,MAAQ,KAI9Bhd,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mEACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,aACJj6B,YAAY,WACZxN,KAAK,WACLiH,MAAO,CAAEygC,UAAW,SACpBj6B,UAAU,OACVk6B,UAA+B,IAApB1tB,EAAMiH,GAAOzhB,GACxBiM,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,sBAC1B7a,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAsI,GAAA,IAAGmB,EAAHnB,EAAGmB,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,gBAM1E2J,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACElL,QAAS,kBAAMie,EAAkB,CAAE/gB,KAAM2gB,EAAO3gB,KAAM6f,WACtDhS,KAAK,KACL0T,SAAO,EACP5b,MAAM,SACNC,MAAO,CAAEub,aAAc,OACvB1f,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,cAAcsO,cAAY,WAGzC,MA/CD,SAwDb8Q,GAAgBrjB,GACdqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,yBAAyBmE,MAAO,CAAEub,aAAc,WAC7D3jB,MAmBfwoC,GAAsBz/B,aAAe,CACnC8E,KAAM,IAGO26B,UC/HTO,GAAwB,SAAAtgC,GAUxB,IATJujB,EASIvjB,EATJujB,eASIyc,EAAAhgC,EARJ0a,cAQI,IAAAslB,EARK,GAQLA,EAAAz5B,EAAAvG,EAPJoF,KAAQ7N,EAOJgP,EAPIhP,MAAOqjB,EAOXrU,EAPWqU,aACfC,EAMI7a,EANJ6a,eACAC,EAKI9a,EALJ8a,kBACAC,EAII/a,EAJJ+a,aACAC,EAGIhb,EAHJgb,eACArI,EAEI3S,EAFJ2S,MACAwQ,EACInjB,EADJmjB,WAEM3iB,EAAQmS,EAAMqF,KAAK,SAAApH,GAAC,OAAKA,EAAEqvB,SAAoB,IAATrvB,EAAEzY,KAC9C,OACEyE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBAAyBmE,MAAO,CAAEooB,cAAe,WAC9DnrB,EAAA1B,EAAAC,cAAA,aAEIooB,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAEC,gBAAiB,wBAC7BhD,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GACd3W,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEH,KAAK,KACLlI,MAAM,UACNC,MAAO,CAAEub,aAAc,OACvBre,QAAS,kBAAMge,EAAe,CAAE9gB,KAAM2gB,EAAO3gB,QAC7CyB,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eACZ,IARH,cAcJ,MAGRoB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,gBACVmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,OAAQkc,UAAW,UAE7DtjC,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,+BAA+BmE,MAAO,CAAEub,aAAc,SACrEte,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAAC6gC,EAAUvmB,GACrB,OAAKjH,EAAMiH,GAKThd,EAAA1B,EAAAC,cAAA,MACEqE,IAAG,GAAAvJ,OAAKkqC,GACRhoC,GAAE,GAAAlC,OAAKkqC,GACP3kC,UAAYmX,EAAMiH,GAAOqmB,SAAYttB,EAAMiH,GAAOzhB,GAAK,GAAKqI,EAAU,SAAW,IAEjF5D,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CACV6P,QAAS,OACTiV,IAAK,OACLsC,aAAc,SACd5R,eAAgB,aAChB2iB,WAAY,WACZ5c,aAAc,OACd5L,QAAS,SACT1P,gBAAiB,YAGjBhD,EAAA1B,EAAAC,cAAA,UAAIyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,WAAb,IAAyBka,EAAQ,IAEnC2J,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEvI,IAAG,cAAAvJ,OAAgBkqC,GACnBtjC,QAAS,kBAAMie,EAAkB,CAAE/gB,KAAM2gB,EAAO3gB,KAAM6f,WACtDhS,KAAK,KACL0T,SAAO,EACP5b,MAAM,SACNC,MAAO,CAAEub,aAAc,OACvB1f,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,cAAcsO,cAAY,UAEvC,OAKVlN,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBACboB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAEub,aAAc,SAA5B,SAEEte,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,OACEK,UAAU,kEACVmE,MAAO,CAAE6P,QAAS,SAElB5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,GAAAvJ,OAAKkqC,EAAL,UACHpmC,KAAI,GAAA9D,OAAKkqC,EAAL,UACJj6B,YAAY,QACZyD,UAAW1D,GACXU,aAAa,QACbjO,KAAK,OACLyG,SAAU,SAACohC,EAAGC,GAAJ,OAAiBzlB,EAAa,CACtCnS,OAAQ,CAAE7O,KAAI,GAAA9D,OAAKkqC,EAAL,UAAuBjhC,MAAOshC,GAAYzmC,KAAM2gB,EAAO3gB,KAAM6f,WAE7ExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,2BAMlC5nB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAEub,aAAc,SAA5B,YAEEte,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,OAAQib,SAAU,WACxD7tB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,GAAAvJ,OAAKkqC,EAAL,oBACHpmC,KAAI,GAAA9D,OAAKkqC,EAAL,oBACJj6B,YAAY,WACZ/G,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAChC5L,OAAQzT,EACR5B,KAAM2gB,EAAO3gB,KACb6O,OAAQ,CAAE7O,KAAI,GAAA9D,OAAKkqC,EAAL,qBACdvmB,WAEF/K,QAASsU,EACTxZ,UAAW6G,GACXtB,YAAaqU,EAAeiB,0BAIlC5nB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAEub,aAAc,SAA5B,UAEEte,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,OAAQib,SAAU,WACxD7tB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mEACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,GAAAvJ,OAAKkqC,EAAL,WACHpmC,KAAI,GAAA9D,OAAKkqC,EAAL,WACJj6B,YAAY,SACZxN,KAAK,OACLyN,UAAU,OACVwD,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAsI,GAAA,IAAGmB,EAAHnB,EAAGmB,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,4BAOpC5nB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SAAxC,aAEE5S,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mEACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,GAAAvJ,OAAKkqC,EAAL,eACHpmC,KAAI,GAAA9D,OAAKkqC,EAAL,eACJj6B,YAAY,aACZxN,KAAK,WACLiH,MAAO,CAAEygC,UAAW,SACpBj6B,UAAU,OACVwD,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAgiB,GAAA,IAAGvY,EAAHuY,EAAGvY,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,8BA1HjC,SAuIb5J,GAAgBrjB,GACdqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,yBAAyBmE,MAAO,CAAEub,aAAc,WAC7D3jB,MAqBf+oC,GAAsBhgC,aAAe,CACnC8E,KAAM,IAGOk7B,UC/MTG,GAA2B,SAAAzgC,GAU3B,IATJujB,EASIvjB,EATJujB,eASIyc,EAAAhgC,EARJ0a,cAQI,IAAAslB,EARK,GAQLA,EAAAz5B,EAAAvG,EAPJoF,KAAQ7N,EAOJgP,EAPIhP,MAAOqjB,EAOXrU,EAPWqU,aACfC,EAMI7a,EANJ6a,eACAC,EAKI9a,EALJ8a,kBACAC,EAII/a,EAJJ+a,aACAC,EAGIhb,EAHJgb,eACArI,EAEI3S,EAFJ2S,MACAwQ,EACInjB,EADJmjB,WAEM3iB,EAAQmS,EAAMqF,KAAK,SAAApH,GAAC,OAAKA,EAAEqvB,SAAoB,IAATrvB,EAAEzY,KAC9C,OACEyE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBAAyBmE,MAAO,CAAEooB,cAAe,WAC9DnrB,EAAA1B,EAAAC,cAAA,aAEIooB,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAA,MAAIwE,MAAO,CAAEC,gBAAiB,wBAC5BhD,EAAA1B,EAAAC,cAAA,MAAI8f,QAAS,GACXre,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,kBACboB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEH,KAAK,KACLlI,MAAM,UACNC,MAAO,CAAEub,aAAc,OACvBre,QAAS,kBAAMge,EAAe,CAAE9gB,KAAM2gB,EAAO3gB,QAC7CyB,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eACZ,IARH,gBAgBR,MAGRoB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,gBACVmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,OAAQkc,UAAW,UAE7DtjC,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,+BAA+BmE,MAAO,CAAEub,aAAc,SACrEte,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAAC6gC,EAAUvmB,GACrB,OAAKjH,EAAMiH,GAKThd,EAAA1B,EAAAC,cAAA,MACEqE,IAAG,GAAAvJ,OAAKkqC,GACRhoC,GAAE,GAAAlC,OAAKkqC,GACP3kC,UAAYmX,EAAMiH,GAAOqmB,SAAYttB,EAAMiH,GAAOzhB,GAAK,GAAKqI,EAAU,SAAW,IAEjF5D,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CACV6P,QAAS,OACTiV,IAAK,OACLsC,aAAc,SACd5R,eAAgB,aAChB2iB,WAAY,WACZ5c,aAAc,OACd5L,QAAS,SACT1P,gBAAiB,YAGjBhD,EAAA1B,EAAAC,cAAA,UAAIyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,WAAb,IAAyBka,EAAQ,IAEnC2J,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEvI,IAAG,cAAAvJ,OAAgBkqC,GACnBtjC,QAAS,kBAAMie,EAAkB,CAAE/gB,KAAM2gB,EAAO3gB,KAAM6f,WACtDhS,KAAK,KACL0T,SAAO,EACP5b,MAAM,SACNC,MAAO,CAAEub,aAAc,OACvB1f,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,cAAcsO,cAAY,UAEvC,OAIVlN,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAEP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,YACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,GAAAvJ,OAAKkqC,EAAL,oBACHpmC,KAAI,GAAA9D,OAAKkqC,EAAL,oBACJj6B,YAAY,WACZ/G,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAChC5L,OAAQzT,EACR5B,KAAM2gB,EAAO3gB,KACb6O,OAAQ,CAAE7O,KAAI,GAAA9D,OAAKkqC,EAAL,qBACdvmB,WAEF/K,QAASsU,EACTxZ,UAAW6G,GACXtB,YAAaqU,EAAeiB,2BAKpC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,eACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,GAAAvJ,OAAKkqC,EAAL,aACHpmC,KAAI,GAAA9D,OAAKkqC,EAAL,aACJj6B,YAAY,cACZxN,KAAK,OACLyN,UAAU,KACVwD,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAsI,GAAA,IAAGmB,EAAHnB,EAAGmB,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,6BAOtC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,aACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,GAAAvJ,OAAKkqC,EAAL,cACHpmC,KAAI,GAAA9D,OAAKkqC,EAAL,cACJj6B,YAAY,YACZw6B,UAAQ,EACRhoC,KAAK,WACLyN,UAAU,OACVxG,MAAO,CAAEygC,UAAW,SACpBz2B,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAgiB,GAAA,IAAGvY,EAAHuY,EAAGvY,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,2BAKlC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAGqtB,GAAI,IACrB/jC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,kBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,GAAAvJ,OAAKkqC,EAAL,gBACHpmC,KAAI,GAAA9D,OAAKkqC,EAAL,gBACJj6B,YAAY,iBACZw6B,UAAQ,EACRhoC,KAAK,WACLyN,UAAU,OACVwD,UAAW1D,GACXtG,MAAO,CAAEygC,UAAW,SACpBz5B,aAAa,QACbxH,SAAU,SAAAglB,GAAA,IAAGvb,EAAHub,EAAGvb,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,2BAKlC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAGqtB,GAAI,IACrB/jC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,GAAAvJ,OAAKkqC,EAAL,kBACHpmC,KAAI,GAAA9D,OAAKkqC,EAAL,kBACJj6B,YAAY,oBACZw6B,UAAQ,EACRhoC,KAAK,WACLyN,UAAU,OACVwD,UAAW1D,GACXtG,MAAO,CAAEygC,UAAW,SACpBz5B,aAAa,QACbxH,SAAU,SAAAmiB,GAAA,IAAG1Y,EAAH0Y,EAAG1Y,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,8BAhJjC,SA6Jb5J,GAAgBrjB,GACdqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,yBAAyBmE,MAAO,CAAEub,aAAc,WAC7D3jB,MAqBfkpC,GAAyBngC,aAAe,CACtC8E,KAAM,IAGOq7B,UCzOTG,GAA+B,SAAA5gC,GAW/B,IAVJujB,EAUIvjB,EAVJujB,eAUIyc,EAAAhgC,EATJ0a,cASI,IAAAslB,EATK,GASLA,EAAAz5B,EAAAvG,EARJoF,KAAQ7N,EAQJgP,EARIhP,MAAOqjB,EAQXrU,EARWqU,aACfC,EAOI7a,EAPJ6a,eACAC,EAMI9a,EANJ8a,kBACAC,EAKI/a,EALJ+a,aACAC,EAIIhb,EAJJgb,eACArI,EAGI3S,EAHJ2S,MACAwQ,EAEInjB,EAFJmjB,WACA0d,EACI7gC,EADJ6gC,kBAEMrgC,EAAQmS,EAAMqF,KAAK,SAAApH,GAAC,OAAKA,EAAEqvB,SAAoB,IAATrvB,EAAEzY,KAC9C,OACEyE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBAAyBmE,MAAO,CAAEooB,cAAe,WAE5DxE,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAA,MAAIwE,MAAO,CAAEC,gBAAiB,wBAC5BhD,EAAA1B,EAAAC,cAAA,MAAI8f,QAAS,GACXre,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,kBACboB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEH,KAAK,KACLlI,MAAM,UACNC,MAAO,CAAEub,aAAc,OACvBre,QAAS,kBAAMge,EAAe,CAAE9gB,KAAM2gB,EAAO3gB,QAC7CyB,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eACZ,IARH,gBAgBR,KAENoB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,gBACVmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,OAAQkc,UAAW,UAE7DtjC,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,+BAA+BmE,MAAO,CAAEub,aAAc,SACrEte,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAAC6gC,EAAUvmB,GACrB,OAAKjH,EAAMiH,GAKThd,EAAA1B,EAAAC,cAAA,MACEqE,IAAG,GAAAvJ,OAAKkqC,GACRhoC,GAAE,GAAAlC,OAAKkqC,GACP3kC,UAAYmX,EAAMiH,GAAOqmB,SAAYttB,EAAMiH,GAAOzhB,GAAK,GAAKqI,EAAU,SAAW,IAEjF5D,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CACV6P,QAAS,OACTiV,IAAK,OACLsC,aAAc,SACd5R,eAAgB,aAChB2iB,WAAY,WACZ5c,aAAc,OACd5L,QAAS,SACT1P,gBAAiB,YAGjBhD,EAAA1B,EAAAC,cAAA,UAAIyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,WAAb,IAAyBka,EAAQ,IAEnC2J,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEvI,IAAG,cAAAvJ,OAAgBkqC,GACnBtjC,QAAS,kBAAMie,EAAkB,CAAE/gB,KAAM2gB,EAAO3gB,KAAM6f,WACtDhS,KAAK,KACL0T,SAAO,EACP5b,MAAM,SACNC,MAAO,CAAEub,aAAc,OACvB1f,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,cAAcsO,cAAY,UAEvC,OAIVlN,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KAEE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,YACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,oBACJj6B,YAAY,WACZ/G,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAChC5L,OAAQzT,EACR5B,KAAM2gB,EAAO3gB,KACb6O,OAAQ,CAAE7O,KAAI,GAAA9D,OAAKkqC,EAAL,qBACdvmB,WAEF/K,QAASsU,EACTxZ,UAAW6G,GACXtB,YAAaqU,EAAeiB,2BAMpC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,eACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,aACJj6B,YAAY,cACZ/G,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAChC5L,OAAQzT,EAAO5B,KAAM2gB,EAAO3gB,KAAM6O,OAAQ,CAAE7O,KAAI,GAAA9D,OAAKkqC,EAAL,cAA4BvmB,WAE9E/K,QAASgyB,EACTl3B,UAAW6G,GACXtB,YAAaqU,EAAeiB,6BAQxC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,aACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,cACJj6B,YAAY,YACZw6B,UAAQ,EACRhoC,KAAK,WACLyN,UAAU,OACVwD,UAAW1D,GACXtG,MAAO,CAAEygC,UAAW,SACpBz5B,aAAa,QACbxH,SAAU,SAAAsI,GAAA,IAAGmB,EAAHnB,EAAGmB,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,2BAMlC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,kBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,gBACJj6B,YAAY,iBACZw6B,UAAQ,EACRhoC,KAAK,WACLyN,UAAU,OACVwD,UAAW1D,GACXtG,MAAO,CAAEygC,UAAW,SACpBz5B,aAAa,QACbxH,SAAU,SAAAgiB,GAAA,IAAGvY,EAAHuY,EAAGvY,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,2BAMlC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,eACJj6B,YAAY,gBACZw6B,UAAQ,EACRhoC,KAAK,WACLyN,UAAU,OACVwD,UAAW1D,GACXtG,MAAO,CAAEygC,UAAW,SACpBz5B,aAAa,QACbxH,SAAU,SAAAglB,GAAA,IAAGvb,EAAHub,EAAGvb,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,8BA9IjC,SA6Jb5J,GAAgBrjB,GACdqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,yBAAyBmE,MAAO,CAAEub,aAAc,WAC7D3jB,MAsBfqpC,GAA6BtgC,aAAe,CAC1C8E,KAAM,IAGOw7B,UC1OTE,GAA+B,SAAA9gC,GAQ/B,IAPJujB,EAOIvjB,EAPJujB,eAOIyc,EAAAhgC,EANJ0a,cAMI,IAAAslB,EANK,GAMLA,EAAAz5B,EAAAvG,EALJoF,KAAQ7N,EAKJgP,EALIhP,MAAOqjB,EAKXrU,EALWqU,aACfC,EAII7a,EAJJ6a,eACAC,EAGI9a,EAHJ8a,kBACAC,EAEI/a,EAFJ+a,aACApI,EACI3S,EADJ2S,MAEMnS,EAAQmS,EAAMqF,KAAK,SAAApH,GAAC,OAAKA,EAAEqvB,SAAoB,IAATrvB,EAAEzY,KAC9C,OACEyE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBAAyBmE,MAAO,CAAEooB,cAAe,WAE5DxE,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAA,MAAIwE,MAAO,CAAEC,gBAAiB,wBAC5BhD,EAAA1B,EAAAC,cAAA,MAAI8f,QAAS,GACXre,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,kBACboB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEH,KAAK,KACLlI,MAAM,UACNC,MAAO,CAAEub,aAAc,OACvBre,QAAS,kBAAMge,EAAe,CAAE9gB,KAAM2gB,EAAO3gB,QAC7CyB,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eACZ,IARH,gBAgBR,KAENoB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,gBACVmE,MAAO,CAAEub,aAAc,OAAQ8I,UAAW,OAAQkc,UAAW,UAE7DtjC,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,+BAA+BmE,MAAO,CAAEub,aAAc,SACrEte,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAAC6gC,EAAUvmB,GACrB,OAAKjH,EAAMiH,GAKThd,EAAA1B,EAAAC,cAAA,MACEqE,IAAG,GAAAvJ,OAAKkqC,GACRhoC,GAAE,GAAAlC,OAAKkqC,GACP3kC,UAAYmX,EAAMiH,GAAOqmB,SAAYttB,EAAMiH,GAAOzhB,GAAK,GAAKqI,EAAU,SAAW,IAEjF5D,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CACV6P,QAAS,OACTiV,IAAK,OACLsC,aAAc,SACd5R,eAAgB,aAChB2iB,WAAY,WACZ5c,aAAc,OACd5L,QAAS,SACT1P,gBAAiB,YAGjBhD,EAAA1B,EAAAC,cAAA,UAAIyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,WAAb,IAAyBka,EAAQ,IAEnC2J,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEvI,IAAG,cAAAvJ,OAAgBkqC,GACnBtjC,QAAS,kBAAMie,EAAkB,CAAE/gB,KAAM2gB,EAAO3gB,KAAM6f,WACtDhS,KAAK,KACL0T,SAAO,EACP5b,MAAM,SACNC,MAAO,CAAEub,aAAc,OACvB1f,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,cAAcsO,cAAY,UAEvC,OAIVlN,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,kCACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,yBACJj6B,YAAY,iBACZw6B,UAAQ,EACRhoC,KAAK,WACLyN,UAAU,OACVwD,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAsI,GAAA,IAAGmB,EAAHnB,EAAGmB,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,2BAKlC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,kBACJj6B,YAAY,gBACZw6B,UAAQ,EACRhoC,KAAK,WACLyN,UAAU,OACVwD,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAgiB,GAAA,IAAGvY,EAAHuY,EAAGvY,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,2BAKlC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,WACJj6B,YAAY,SACZw6B,UAAQ,EACRhoC,KAAK,WACLyN,UAAU,OACVwD,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAglB,GAAA,IAAGvb,EAAHub,EAAGvb,OAAH,OAAgBmS,EAAa,CAAEnS,SAAQ7O,KAAM2gB,EAAO3gB,KAAM6f,WACpExV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,2BAKlC5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACd1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkqC,EAAL,kBACJj6B,YAAY,oBACZxN,KAAK,SACL0N,IAAK,EACLC,IAAK,IACLsD,UAAW1D,GACXU,aAAa,QACbpQ,MAAO,SAAAwqC,GAAG,OAAI3hC,OAAO2hC,IACrB5hC,SAAU,SAAAmiB,GAAA,IAAG1Y,EAAH0Y,EAAG1Y,OAAH,OAAgBmS,EAAa,CACrCnS,OAAQ,CACNlQ,KAAMkQ,EAAOlQ,KACbwG,MAAOE,OAAOwJ,EAAO1J,OACrBnF,KAAM6O,EAAO7O,MAEfA,KAAM2gB,EAAO3gB,KACb6f,WAEFxV,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,6BAUpCjB,EAAeiB,sBACb5nB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACElL,QAAS,kBAAMie,EAAkB,CAAE/gB,KAAM2gB,EAAO3gB,KAAM6f,WACtDhS,KAAK,KACL0T,SAAO,EACP5b,MAAM,SACNC,MAAO,CAAEub,aAAc,OACvB1f,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,cAAcsO,cAAY,WAGzC,MAhJD,SAwJb8Q,GAAgBrjB,GACdqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,yBAAyBmE,MAAO,CAAEub,aAAc,WAC7D3jB,MAmBfupC,GAA6BxgC,aAAe,CAC1C8E,KAAM,IAGO07B,UC3DA94B,GAlLE,WAaX,IAbYE,EAaZrC,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAboB,CACxB0d,eAAgB,GAChByd,oBAAqB,GACrBC,sBAAuB,GACvBC,oBAAqB,GACrBC,sBAAuB,GACvBC,qBAAsB,GACtBC,kBAAmB,GACnBC,mBAAoB,GACpBC,iBAAkB,GAClBC,sBAAuB,GACvBC,2BAA4B,GAC5Bte,WAAY,IAENhb,EAAS,GAEf,OAAID,EAAMqb,iBAAmBrb,EAAMqb,eAAeiB,sBACzCrc,GAGJD,EAAM84B,sBACT74B,EAAO64B,oBAAsB,0BAG1B94B,EAAM+4B,wBACT94B,EAAO84B,sBAAwB,0BAG5B/4B,EAAMg5B,sBACT/4B,EAAO+4B,oBAAsB,0BAG1Bh5B,EAAMi5B,wBACTh5B,EAAOg5B,sBAAwB,0BAG5Bj5B,EAAMk5B,uBACTj5B,EAAOi5B,qBAAuB,0BAG3Bl5B,EAAMo5B,qBACTn5B,EAAOm5B,mBAAqB,0BAGzBp5B,EAAMm5B,mBAAsBn5B,EAAMm5B,kBAAkBpiC,QAGvDkJ,EAAOk5B,kBAAoB,GAC3Bn5B,EAAMm5B,kBAAkBpuB,OAAO,SAAArC,GAAC,OAAKA,EAAEqvB,UAASnmC,QAAQ,SAAC0nB,EAAK5H,GAC5D,IAAMriB,EAAQ,GAETiqB,EAAI2e,WACP5oC,EAAM4oC,SAAW,6BAGf3oC,OAAOoC,KAAKrC,GAAO0H,SACrBkJ,EAAOk5B,kBAAkBznB,GAASriB,MAXtC4Q,EAAOk5B,kBAAoB,CAAEtnB,OAAQ,4BAgBlC7R,EAAMq5B,kBAAqBr5B,EAAMq5B,iBAAiBtiC,QAGrDkJ,EAAOo5B,iBAAmB,GAC1Br5B,EAAMq5B,iBAAiBtuB,OAAO,SAAArC,GAAC,OAAKA,EAAEqvB,UAASnmC,QAAQ,SAAC0nB,EAAK5H,GAC3D,IAAMriB,EAAQ,GAETiqB,EAAIkgB,aACPnqC,EAAMmqC,WAAa,gCAEhBlgB,EAAI2Q,QACP56B,EAAM46B,MAAQ,kCAGX3Q,EAAImgB,iBAAoBngB,EAAImgB,gBAAgBziC,MAErCgJ,EAAMib,WAAWnL,KAAK,SAAAuG,GAAC,OAAIA,EAAEpmB,KAAOqpB,EAAImgB,gBAAgBziC,UAClE3H,EAAMoqC,gBAAkB,sDAFxBpqC,EAAMoqC,gBAAkB,+BAKrBngB,EAAIogB,SACPrqC,EAAMqqC,OAAS,2BAGbpqC,OAAOoC,KAAKrC,GAAO0H,SACrBkJ,EAAOo5B,iBAAiB3nB,GAASriB,MAxBrC4Q,EAAOo5B,iBAAmB,CAAExnB,OAAQ,8BA6BlC7R,EAAMs5B,uBAAyBt5B,EAAMs5B,sBAAsBviC,SAC7DkJ,EAAOq5B,sBAAwB,GAC/Bt5B,EAAMs5B,sBAAsBvuB,OAAO,SAAArC,GAAC,OAAKA,EAAEqvB,UAASnmC,QAAQ,SAAC0nB,EAAK5H,GAChE,IAAMriB,EAAQ,GACTiqB,EAAIqgB,YACPtqC,EAAMsqC,UAAY,8BAEfrgB,EAAIsgB,cACPvqC,EAAMuqC,YAAc,gCAGjBtgB,EAAImgB,iBAAoBngB,EAAImgB,gBAAgBziC,MAErCgJ,EAAMib,WAAWnL,KAAK,SAAAuG,GAAC,OAAIA,EAAEpmB,KAAOqpB,EAAImgB,gBAAgBziC,UAClE3H,EAAMoqC,gBAAkB,sDAFxBpqC,EAAMoqC,gBAAkB,+BAKrBngB,EAAIugB,WACPxqC,EAAMwqC,SAAW,iCAGfvqC,OAAOoC,KAAKrC,GAAO0H,SACrBkJ,EAAOq5B,sBAAsB5nB,GAASriB,MAKxC2Q,EAAMu5B,4BAA8Bv5B,EAAMu5B,2BAA2BxiC,SACvEkJ,EAAOs5B,2BAA6B,GACpCv5B,EAAMu5B,2BAA2BxuB,OAAO,SAAArC,GAAC,OAAKA,EAAEqvB,UAASnmC,QAAQ,SAAC0nB,EAAK5H,GACrE,IAAMriB,EAAQ,GACTiqB,EAAIqgB,YACPtqC,EAAMsqC,UAAY,8BAEfrgB,EAAIsgB,cACPvqC,EAAMuqC,YAAc,gCAEjBtgB,EAAIwgB,aACPzqC,EAAMyqC,WAAa,kCAGhBxgB,EAAImgB,iBAAoBngB,EAAImgB,gBAAgBziC,MAErCgJ,EAAMib,WAAWnL,KAAK,SAAAuG,GAAC,OAAIA,EAAEpmB,KAAOqpB,EAAImgB,gBAAgBziC,UAClE3H,EAAMoqC,gBAAkB,sDAFxBpqC,EAAMoqC,gBAAkB,+BAKrBngB,EAAIugB,UAAavgB,EAAIugB,SAAS7iC,QACjC3H,EAAMwqC,SAAW,iCAGfvqC,OAAOoC,KAAKrC,GAAO0H,SACrBkJ,EAAOs5B,2BAA2B7nB,GAASriB,MAK7C2Q,EAAM+5B,4BAA8B/5B,EAAM+5B,2BAA2BhjC,SACvEkJ,EAAO85B,2BAA6B,GACpC/5B,EAAM+5B,2BAA2BhvB,OAAO,SAAArC,GAAC,OAAKA,EAAEqvB,UAASnmC,QAAQ,SAAC0nB,EAAK5H,GACrE,IAAMriB,EAAQ,GACTiqB,EAAI0gB,uBACP3qC,EAAM2qC,qBAAuB,8BAE1B1gB,EAAI2gB,gBACP5qC,EAAM4qC,cAAgB,mCAEnB3gB,EAAI4gB,SACP7qC,EAAM6qC,OAAS,4BAEZ5gB,EAAI6gB,gBACP9qC,EAAM8qC,cAAgB,sCAGpB7qC,OAAOoC,KAAKrC,GAAO0H,SACrBkJ,EAAO85B,2BAA2BroB,GAASriB,MAK7CC,OAAOoC,KAAKuO,GAAQlJ,OAIjBkJ,IC/IHm6B,eA+DJ,SAAAA,EAAY3mC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAmpC,IACjBrpC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA8qC,GAAAhpC,KAAAH,KAAMwC,KAKR4mC,cAAgB,SAAAviC,GAA4C,IAAzComB,EAAyCpmB,EAAzComB,aAAcN,EAA2B9lB,EAA3B8lB,SAAUvc,EAAiBvJ,EAAjBuJ,WACzC,OAAIuc,EAEAlpB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,GAAID,GAAI,GAAI2Q,GAAI,IACvBrnB,EAAA1B,EAAAC,cAAC2M,GAAA,EAAD,CAAetM,UAAU,wCACvBoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQrI,MAAM,UAAUhH,KAAK,SAASmE,QAASupB,EAAc5qB,UAAU,YAAvE,YACAoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQrI,MAAM,UAAUhH,KAAK,SAASmE,QAASipB,EAAU1hB,SAAUmF,EAAY/N,UAAU,QAAzF,eASNoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,GAAID,GAAI,GAAI2Q,GAAI,IACvBrnB,EAAA1B,EAAAC,cAAC2M,GAAA,EAAD,CAAetM,UAAU,wCACvBoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQrI,MAAM,UAAUhH,KAAK,SAASmE,QAASupB,EAAc5qB,UAAU,YAAvE,YACAoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQrI,MAAM,UAAUhH,KAAK,SAAS0L,SAAUmF,EAAY/N,UAAU,QAAtE,gBAxBWvC,EA8BnB2S,QAAU,SAACtF,GAAS,IAAA7J,EAGdxD,EAAK0C,MADP8V,EAFgBhV,EAEhBgV,QAAS5F,EAFOpP,EAEPoP,KAAMD,EAFCnP,EAEDmP,QAAS3B,EAFRxN,EAEQwN,SAGtB4B,IAASvF,IAITmL,EACF1K,GAAQ,CACN9J,MAAO,0BACP+J,SAAWpK,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,4DACXgG,SAAU,cACVE,QAAS,gBACTC,UAAW,WACT6C,EAAShR,EAAK0C,QAEhB0L,SAAU,WACRuE,EAAQtF,MAOdsF,EAAQtF,KAxDSrN,EA2DnBqN,KAAO,SAAAmB,GAAqB,IAAlBnB,EAAkBmB,EAAlBnB,KAAMrJ,EAAYwK,EAAZxK,MACN4O,EAAS5S,EAAK0C,MAAdkQ,KACR,OACEjP,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACLmE,QAAS,kBAAM5D,EAAK2S,QAAQtF,IAC5B9K,UAAS,eAAAvF,OACQ4V,IAASvF,EAAO,wBAA0B,KAG3D1J,EAAA1B,EAAAC,cAAA,SAAI8B,KArEShE,EA0EnBupC,eAAiB,WAAM,IAAAp/B,EAOjBnK,EAAK0C,MALP6mC,EAFmBp/B,EAEnBo/B,eACAC,EAHmBr/B,EAGnBq/B,YACAje,EAJmBphB,EAInBohB,sBACAke,EALmBt/B,EAKnBs/B,sBACAz5B,EANmB7F,EAMnB6F,aAIF,OAAIw5B,EACK7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,KACEzW,EAAA1B,EAAAC,cAAA,MAAIwE,MAAO,CAAEub,aAAc,WACzBte,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAO8kB,EAAwB,UAAY,WAChD5nB,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,6CAED,IACDrE,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAO8kB,EAAwB,UAAY,WAChD5nB,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KAAGyhC,GAAyB7sB,GAAe6sB,OAK/CF,GAAkBhe,EAChB5nB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,KACEzW,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAM3J,SAAUhB,GACdrM,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,mBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eAJf,gCASJ,OAnHOvC,EAyHnB0pC,aAAe,SAAAxhB,GAA8C,IAA3CtV,EAA2CsV,EAA3CtV,KAAM22B,EAAqCrhB,EAArCqhB,eAAgBI,EAAqBzhB,EAArByhB,eACtC,OAAIJ,EACK,KAIP5lC,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,GAAI5V,GAAI,GAAIC,GAAI,GACvB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACZvC,EAAKqN,KAAK,CAAEA,KAAM,EAAGrJ,MAAOL,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,4BAC5BhI,EAAKqN,KAAK,CACTA,KAAM,EAAGrJ,MAAOL,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,8CAEjBhI,EAAKqN,KAAK,CAAEA,KAAM,EAAGrJ,MAAOL,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,oBAE5BhI,EAAKqN,KAAK,CACTA,KAAM,EACNrJ,MAAOL,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KAAErE,EAAA1B,EAAAC,cAAA,uBAAF,MAAyByB,EAAA1B,EAAAC,cAAA,8BAAzB,MAA2DyB,EAAA1B,EAAAC,cAAA,8BAEnElC,EAAKqN,KAAK,CAAEA,KAAM,EAAGrJ,MAAOL,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,+BAC5BhI,EAAKqN,KAAK,CAAEA,KAAM,EAAGrJ,MAAOL,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,iDAE5BhI,EAAKqN,KAAK,CAAEA,KAAM,EAAGrJ,MAAOL,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,8CAC5BhI,EAAKqN,KAAK,CAAEA,KAAM,EAAGrJ,MAAOL,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,sCAC5BhI,EAAKqN,KAAK,CACTA,KAAM,EACNrJ,MAAOL,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KAAErE,EAAA1B,EAAAC,cAAA,yCAAF,MAAiDyB,EAAA1B,EAAAC,cAAA,mCAI9DyB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,GAAI5V,GAAI,GAAIC,GAAI,GACvB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,wBACZvC,EAAK4pC,MAAMh3B,GACX5S,EAAK6pC,MAAMj3B,GACX5S,EAAK8pC,MAAMl3B,GACX5S,EAAK+pC,MAAMn3B,GAEX5S,EAAKgqC,MAAMp3B,EAAM+2B,GACjB3pC,EAAKiqC,MAAMr3B,EAAM+2B,GACjB3pC,EAAKkqC,MAAMt3B,EAAM+2B,GAEjB3pC,EAAKmqC,MAAMv3B,GACX5S,EAAKoqC,MAAMx3B,OAnKH5S,EA0KnB4pC,MAAQ,SAACh3B,GACP,GAAa,IAATA,EACF,OAAO,KAFO,IAAAwB,EAoBZpU,EAAK0C,MAdP4nB,EANclW,EAMdkW,eACAF,EAPchW,EAOdgW,gBAPcigB,EAAAj2B,EAQdkc,gBARc,IAAA+Z,EAQH,GARGA,EAAAC,EAAAl2B,EASd8V,kBATc,IAAAogB,EASD,GATCA,EAUdt6B,EAVcoE,EAUdpE,aACAmd,EAXc/Y,EAWd+Y,aACA7c,EAZc8D,EAYd9D,WACAk5B,EAbcp1B,EAado1B,YACA1nB,EAdc1N,EAcd0N,aACA+I,EAfczW,EAedyW,wBACAD,EAhBcxW,EAgBdwW,qBACAD,EAjBcvW,EAiBduW,mBACAG,EAlBc1W,EAkBd0W,kBAlBcyf,EAAAn2B,EAmBdqW,qBAnBc,IAAA8f,EAmBE,GAnBFA,EAsBhB,OAAIf,EACK7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,oBAAoByO,SAAUhB,GAC5CrM,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACmuB,GAAD,CACE9pB,IAAI,gBACJzF,KAAK,gBACLspB,gBAAiBA,EACjBE,eAAc/rB,OAAAkP,GAAA,EAAAlP,CAAA,GACT+rB,EADS,CAEZO,0BACAD,uBACAD,qBACAG,oBACAL,kBAEFP,WAAYA,EACZxQ,MAAO4W,EACPxO,aAAcA,MAInB9hB,EAAKspC,cAAc,CAAEnc,eAAc7c,iBA1NvBtQ,EA+NnB6pC,MAAQ,SAACj3B,GACP,GAAa,IAATA,EACF,OAAO,KAFO,IAAAgvB,EAYZ5hC,EAAK0C,MANPof,EANc8f,EAMd9f,aACAxR,EAPcsxB,EAOdtxB,WACAN,EARc4xB,EAQd5xB,aACAmd,EATcyU,EASdzU,aACAqc,EAVc5H,EAUd4H,YACAlf,EAXcsX,EAWdtX,eAGF,OAAIkf,EACK7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAGP1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,oBAAoByO,SAAUhB,GAC5CrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG4V,GAAI,IACrBtsB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,0CAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,wBACL4P,UAAW1D,GACXy6B,UAAQ,EACR/gC,MAAO,CAAEygC,UAAW,SACpB1nC,KAAK,WACL0L,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,sBAC1Bre,UAAW,KACXD,YAAY,kCACZS,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,SAKpCze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG4V,GAAI,IACrBtsB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,sDAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,sBACL4P,UAAW1D,GACXy6B,UAAQ,EACRhoC,KAAK,WACLiH,MAAO,CAAEygC,UAAW,SACpBh8B,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,sBAC1Bre,UAAW,KACXD,YAAY,6CACZS,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,SAKnCpiB,EAAKspC,cAAc,CAAEnc,eAAc7c,iBAlSvBtQ,EAuSnB8pC,MAAQ,SAACl3B,GACP,GAAa,IAATA,EACF,OAAO,KAFO,IAAAkvB,EAeZ9hC,EAAK0C,MATPof,EANcggB,EAMdhgB,aACAF,EAPckgB,EAOdlgB,eACAC,EARcigB,EAQdjgB,kBACAyI,EATcwX,EASdxX,eACA8d,EAVctG,EAUdsG,kBACAp4B,EAXc8xB,EAWd9xB,aACAmd,EAZc2U,EAYd3U,aACA7c,EAbcwxB,EAadxxB,WAIF,OAjBgBwxB,EAcd0H,YAIO7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAGP1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,oBAAoByO,SAAUhB,GAC5CrM,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,gCAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACE7d,IAAI,oBACJzF,KAAK,oBACL4P,UAAWo2B,GACXxc,eAAgBA,EAChB5Q,MAAO0uB,EACPxmB,eAAgBA,EAChBC,kBAAmBA,EACnBC,aAAcA,KAGjB9hB,EAAKspC,cAAc,CAAEnc,eAAc7c,iBA9UvBtQ,EAmVnB+pC,MAAQ,SAACn3B,GACP,GAAa,IAATA,EACF,OAAO,KAFO,IAAAsvB,EAYZliC,EAAK0C,MANPof,EANcogB,EAMdpgB,aACA0nB,EAPctH,EAOdsH,YACAx5B,EARckyB,EAQdlyB,aACAmd,EATc+U,EASd/U,aACA7c,EAVc4xB,EAUd5xB,WACAga,EAXc4X,EAWd5X,eAGF,OAAIkf,EACK7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAGP1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,oBAAoByO,SAAUhB,GAC5CrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAAIiF,GAAI,IACtBtsB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,6BAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,sBACL4P,UAAW1D,GACXy6B,UAAQ,EACRhoC,KAAK,WACLiH,MAAO,CAAEygC,UAAW,SACpBh8B,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,sBAC1Bre,UAAW,KACXD,YAAY,uBACZS,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,SAKpCze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAAIiF,GAAI,IACtBtsB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,2CAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,wBACL4P,UAAW1D,GACXy6B,UAAQ,EACRhoC,KAAK,WACLiH,MAAO,CAAEygC,UAAW,SACpBh8B,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,sBAC1Bre,UAAW,KACXD,YAAY,oCACZS,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,SAKpCze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAAIiF,GAAI,IACtBtsB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,sCAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,uBACL4P,UAAW1D,GACXy6B,UAAQ,EACRhoC,KAAK,WACLiH,MAAO,CAAEygC,UAAW,SACpBh8B,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,sBAC1Bre,UAAW,KACXD,YAAY,8BACZS,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,SAKnCpiB,EAAKspC,cAAc,CAAEnc,eAAc7c,iBA9avBtQ,EAmbnBgqC,MAAQ,SAACp3B,EAAM+2B,GACb,GAAa,IAAT/2B,EACF,OAAO,KAFuB,IAAA2vB,EAgB5BviC,EAAK0C,MAVPof,EAN8BygB,EAM9BzgB,aACAC,EAP8BwgB,EAO9BxgB,eACAH,EAR8B2gB,EAQ9B3gB,eACAC,EAT8B0gB,EAS9B1gB,kBACAyI,EAV8BiY,EAU9BjY,eAV8BkgB,EAAAjI,EAW9B+F,wBAX8B,IAAAkC,EAWX,GAXWA,EAY9BhB,EAZ8BjH,EAY9BiH,YACAx5B,EAb8BuyB,EAa9BvyB,aACAmd,EAd8BoV,EAc9BpV,aACA7c,EAf8BiyB,EAe9BjyB,WAGF,OAAIk5B,EACK7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,oBAAoByO,SAAUhB,GAC5CrM,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,2DAIFoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,GAAID,GAAI,GAAI2Q,GAAI,IACvBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACE7d,IAAI,mBACJzF,KAAK,mBACL4P,UAAW22B,GACX3tB,MAAO4uB,EACPhe,eAAgBA,EAChBJ,WAAYyf,EACZ/nB,eAAgBA,EAChBC,kBAAmBA,EACnBC,aAAcA,EACdC,eAAgBA,KAGnB/hB,EAAKspC,cAAc,CAAEnc,eAAc7c,kBA/dzBtQ,EAqenBiqC,MAAQ,SAACr3B,EAAM+2B,GACb,GAAa,IAAT/2B,EACF,OAAO,KAFuB,IAAA63B,EAkB5BzqC,EAAK0C,MAZPof,EAN8B2oB,EAM9B3oB,aACAC,EAP8B0oB,EAO9B1oB,eACAH,EAR8B6oB,EAQ9B7oB,eACAC,EAT8B4oB,EAS9B5oB,kBACAyI,EAV8BmgB,EAU9BngB,eAV8BogB,EAAAD,EAY9BlC,6BAZ8B,IAAAmC,EAYN,GAZMA,EAAAC,EAAAF,EAa9B7C,yBAb8B,IAAA+C,EAaV,GAbUA,EAc9BnB,EAd8BiB,EAc9BjB,YACArc,EAf8Bsd,EAe9Btd,aACA7c,EAhB8Bm6B,EAgB9Bn6B,WACAN,EAjB8By6B,EAiB9Bz6B,aAGF,OAAIw5B,EACK7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAGP1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,oBAAoByO,SAAUhB,GAC5CrM,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,gDAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACE7d,IAAI,wBACJzF,KAAK,wBACL4P,UAAW82B,GACX9tB,MAAO6uB,EACPje,eAAgBA,EAChBsd,kBAAmBA,EACnB1d,WAAYyf,EACZ/nB,eAAgBA,EAChBC,kBAAmBA,EACnBC,aAAcA,EACdC,eAAgBA,KAGnB/hB,EAAKspC,cAAc,CAAEnc,eAAc7c,iBAlhBvBtQ,EAuhBnBkqC,MAAQ,SAACt3B,EAAM+2B,GACb,GAAa,IAAT/2B,EACF,OAAO,KAFuB,IAAAg4B,EAkB5B5qC,EAAK0C,MAZPof,EAN8B8oB,EAM9B9oB,aACAC,EAP8B6oB,EAO9B7oB,eACAH,EAR8BgpB,EAQ9BhpB,eACAC,EAT8B+oB,EAS9B/oB,kBACAyI,EAV8BsgB,EAU9BtgB,eAV8BugB,EAAAD,EAY9BpC,kCAZ8B,IAAAqC,EAYD,GAZCA,EAAAC,EAAAF,EAa9BhD,yBAb8B,IAAAkD,EAaV,GAbUA,EAc9BtB,EAd8BoB,EAc9BpB,YACArc,EAf8Byd,EAe9Bzd,aACA7c,EAhB8Bs6B,EAgB9Bt6B,WACAN,EAjB8B46B,EAiB9B56B,aAGF,OAAIw5B,EACK7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,oBAAoByO,SAAUhB,GAC5CrM,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,8DAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACE7d,IAAI,6BACJzF,KAAK,6BACL4P,UAAWi3B,GACXjuB,MAAO8uB,EACPle,eAAgBA,EAChBsd,kBAAmBA,EACnB1d,WAAYyf,EACZ/nB,eAAgBA,EAChBC,kBAAmBA,EACnBC,aAAcA,EACdC,eAAgBA,KAGnB/hB,EAAKspC,cAAc,CAAEnc,eAAc7c,iBArkBvBtQ,EA0kBnBmqC,MAAQ,SAACv3B,GACP,GAAa,IAATA,EACF,OAAO,KAFO,IAAAm4B,EAiBZ/qC,EAAK0C,MAXPof,EANcipB,EAMdjpB,aACAC,EAPcgpB,EAOdhpB,eACAH,EARcmpB,EAQdnpB,eACAC,EATckpB,EASdlpB,kBACAyI,EAVcygB,EAUdzgB,eAVc0gB,EAAAD,EAYd/B,kCAZc,IAAAgC,EAYe,GAZfA,EAadxB,EAbcuB,EAadvB,YACArc,EAdc4d,EAcd5d,aACA7c,EAfcy6B,EAedz6B,WACAN,EAhBc+6B,EAgBd/6B,aAGF,OAAIw5B,EACK7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,oBAAoByO,SAAUhB,GAC5CrM,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,qEAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACE7d,IAAI,6BACJzF,KAAK,6BACL4P,UAAWm3B,GACXnuB,MAAOsvB,EACP1e,eAAgBA,EAChB1I,eAAgBA,EAChBC,kBAAmBA,EACnBC,aAAcA,EACdC,eAAgBA,KAGnB/hB,EAAKspC,cAAc,CAAEnc,eAAc7c,iBArnBvBtQ,EA0nBnBoqC,MAAQ,SAACx3B,GACP,GAAa,IAATA,EACF,OAAO,KAFO,IAAAq4B,EAYZjrC,EAAK0C,MANPof,EANcmpB,EAMdnpB,aACA0nB,EAPcyB,EAOdzB,YACArc,EARc8d,EAQd9d,aACA7c,EATc26B,EASd36B,WACAN,EAVci7B,EAUdj7B,aACAsa,EAXc2gB,EAWd3gB,eAGF,OAAIkf,EACK7lC,EAAA1B,EAAAC,cAACmd,GAAD,MAGP1b,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,oBAAoByO,SAAUhB,GAC5CrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,oCAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAI,qBACJzF,KAAK,qBACL4P,UAAW1D,GACXy6B,UAAQ,EACRhoC,KAAK,WACLiH,MAAO,CAAEygC,UAAW,SACpBh8B,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,sBAC1Bre,UAAW,KACXD,YAAY,yBACZS,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,SAKpCze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,iBACZoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,0CAIFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,6BACL4P,UAAW1D,GACXy6B,UAAQ,EACRhoC,KAAK,WACLiH,MAAO,CAAEygC,UAAW,SACpBh8B,UAAWmf,EAAeiB,sBAC1Bhe,UAAW+c,EAAeiB,sBAC1Bre,UAAW,KACXD,YAAY,iCACZS,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,SAKnCpiB,EAAKspC,cAAc,CAAEnc,eAAc7c,iBA5rBxCtQ,EAAKM,MAAQ,GAFIN,wEAmsBV,IAAAkrC,EAQHhrC,KAAKwC,MANPnC,EAFK2qC,EAEL3qC,QAFK4qC,EAAAD,EAGL5a,gBAHK,IAAA6a,EAGM,GAHNA,EAAAC,EAAAF,EAILhhB,kBAJK,IAAAkhB,EAIQ,GAJRA,EAKLx4B,EALKs4B,EAKLt4B,KACA22B,EANK2B,EAML3B,eACA8B,EAPKH,EAOLG,WAGF,GAAI9qC,IAAgC,IAArB+vB,EAAStqB,OACtB,OAAOrC,EAAA1B,EAAAC,cAACmd,GAAD,MAGT,IAAMsqB,EAAiBzf,EAAW7jB,IAAI,SAAA6kB,GAAA,MAAuB,CAC3DjlB,MADoCilB,EAAGhsB,GAEvC0H,MAFoCskB,EAAOD,YAK7C,OACEtnB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQsX,UAAW,OAAQ5L,aAAc,MAC9Dte,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,0BAIGgnC,EASG,KARF5lC,EAAA1B,EAAAC,cAAA,UACEK,UAAU,sBACV9C,KAAK,SACLmE,QAASynC,GAET1nC,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBAAhB,QALF,2BAWNoB,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,CAAUjY,UAAU,UACjBrC,KAAKqpC,iBACLrpC,KAAKwpC,aAAa,CAAE92B,OAAM22B,iBAAgBI,6BA3yBxBxmC,iBAAzBkmC,GA+CGhiC,aAAe,CACpBiJ,YAAY,EACZnE,KAAM,GACN0R,QAAS,GACTuqB,kBAAmB,GACnBE,iBAAkB,GAClBC,sBAAuB,GACvBC,2BAA4B,GAC5BQ,2BAA4B,GAC5BpB,kBAAmB,GAEnBxd,gBAAiB,GACjBkG,SAAU,GACVpG,WAAY,IAuvBhB,IAMe3d,MANe0E,aAAU,CACtCC,KAAM,mBACNnC,YACAwQ,oBAAoB,GAHQtO,CAI3Bo4B,SCrbYiC,eA7Yb,SAAAA,EAAY5oC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAorC,IACjBtrC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA+sC,GAAAjrC,KAAAH,KAAMwC,KAqDR6oC,eAAiB,WACfvrC,EAAKqB,SAAS,CACZd,SAAS,IAFU,ICtBlB2qB,EAAoBhsB,EAAI4Q,EAAWjO,ED2B9B2pC,EAAexrC,EAAK0C,MAApB8oC,WC3BetsC,GAApBgsB,ED6BM,CACPhsB,GAAIssC,EACJ17B,UAAW,kBAAM9P,EAAKqB,SAAS,CAC7Bd,SAAS,KAEXsB,QAAS,WACP7B,EAAKqB,SAAS,CACZd,SAAS,IAGXjB,aAAmB,kDCvCAJ,GAAI4Q,EAAsBob,EAAtBpb,UAAWjO,EAAWqpB,EAAXrpB,QACjC/C,aAAW,GAAA9B,OAAIJ,KAAJ,cAAAI,OAA4BkC,IAC3Cb,KAAK,SAACK,GACL,IAAME,EAAMuC,OAAO6nB,IAAIC,gBAAgBvqB,GACjCwqB,EAAOC,SAASjnB,cAAc,KACpCgnB,EAAKpnB,KAAOlD,EACZsqB,EAAKE,SAAW,oBAChBD,SAASzrB,KAAK2rB,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKV,SACD1Y,GAAWA,EAAUpR,KAE1B6oB,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,MD7CN0B,EA4EnByrC,mBAAqB,SAAC74B,GAAS,IACrB44B,EAAexrC,EAAK0C,MAApB8oC,WAEHA,GAkBLxrC,EAAKqB,SAAS,CACZd,SAAS,IChHR,SAAAwG,GAEJ,IADD7H,EACC6H,EADD7H,GAAI0T,EACH7L,EADG6L,KAAM9C,EACT/I,EADS+I,UAAWjO,EACpBkF,EADoBlF,QAEdlD,aAAM,GAAA3B,OAAIJ,KAAJ,KAAAI,OAAmBkC,EAAnB,UAAAlC,OAA8B4V,IACxCvU,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KDuGvBotC,CAAY,CACVxsC,GAAIssC,EACJ54B,OACA9C,UAAW,SAAC67B,GACV,IAAMpC,EAAkD,IAAjChrC,OAAOoC,KAAKgrC,GAAU3lC,OAE7ChG,EAAK4rC,YAAYD,GACjB3rC,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACA22B,iBACA/wB,SAAS,KAGb3W,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CACZd,SAAS,EACTqS,SAGEtU,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,6BAEnBA,aAAmB,2DA5CvBU,EAAKqB,SAAS,CACZsqC,SAAU,CACRjiB,iBAAkB,EAClB0e,kBAAmB,GACnBE,iBAAkB,GAClBC,sBAAuB,GACvBC,2BAA4B,GAC5BQ,2BAA4B,GAC5B1Y,SAAU,GACVpG,WAAY,IAEd1R,SAAS,KA3FIxY,EAkInBm3B,cAAgB,WChHX,IAAAjP,EAAiCpY,EAAWjO,EDiH/C7B,EAAKqB,SAAS,CACZd,SAAS,IClHyBuP,GAAjCoY,EDoHmB,CACpBpY,UAAW,SAAA/I,GAA2B,IAAxB8kC,EAAwB9kC,EAAxB8kC,kBACZ7rC,EAAKqB,SAAS,CACZumC,kBAAmBiE,EACnBtrC,SAAS,KAGbsB,QAAS,WACP7B,EAAKqB,SAAS,CACZd,SAAS,IAGXjB,aAAmB,oDChIawQ,UAAWjO,EAAWqmB,EAAXrmB,QAC1ClD,aAAM,GAAA3B,OAAIJ,KAAJ,eACVyB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,MD5BN0B,EAuJnB8rC,mBAAqB,SAAAt9B,GAAc,IAAX1N,EAAW0N,EAAX1N,KACd6qC,EAAa3rC,EAAKM,MAAlBqrC,SACFjyB,EAAQiyB,EAAS7qC,GAEjBirC,EAA4B,IAAjBryB,EAAM1T,OACnB,EACCiN,KAAK7F,IAALT,MAAAsG,KAAI1U,OAAA4nB,GAAA,EAAA5nB,CAAQmb,EAAMrT,IAAI,SAAA6hB,GAAA,OAAAA,EAAGvH,UAAsB,EAEpD3gB,EAAKqB,SAAS,CACZmX,SAAS,EACTmzB,SAASptC,OAAAkP,GAAA,EAAAlP,CAAA,GACJotC,EADGptC,OAAAmR,GAAA,EAAAnR,CAAA,GAELuC,EAFK,GAAA9D,OAAAuB,OAAA4nB,GAAA,EAAA5nB,CAGDmb,GAHC,CAIJ,CACExa,GAAI,EACJyhB,MAAOorB,UAvKE/rC,EA8KnBgsC,sBAAwB,SAAA9gB,GAAqB,IAAlBpqB,EAAkBoqB,EAAlBpqB,KAAM6f,EAAYuK,EAAZvK,MACvBgrB,EAAa3rC,EAAKM,MAAlBqrC,SAGFplB,EAFQolB,EAAS7qC,GAEAuF,IAAI,SAAAuU,GAAC,OAAArc,OAAAkP,GAAA,EAAAlP,CAAA,GACvBqc,EADuB,CAE1BosB,QAASpsB,EAAEosB,SAAWpsB,EAAE+F,QAAUA,MAGpC3gB,EAAKqB,SAAS,CACZmX,SAAS,EACTmzB,SAASptC,OAAAkP,GAAA,EAAAlP,CAAA,GACJotC,EADGptC,OAAAmR,GAAA,EAAAnR,CAAA,GAELuC,EAAOylB,OA3LKvmB,EAgMnBwmB,iBAAmB,SAAA6B,GAAoC,IAAjCvnB,EAAiCunB,EAAjCvnB,KAAM6O,EAA2B0Y,EAA3B1Y,OAA2Bs8B,EAAA5jB,EAAnB1H,aAAmB,IAAAsrB,EAAX,KAAWA,EAC/ChmC,EAAwB,WAAhB0J,EAAOlQ,KACjB0G,OAAOwJ,EAAO1J,OACd,GAAAjJ,OAAG2S,EAAO1J,OAAQygB,OAEtB,GAAIvgB,OAAO0pB,UAAUlP,GAAQ,KACnBgrB,EAAa3rC,EAAKM,MAAlBqrC,SACFjyB,EAAQiyB,EAAS7qC,GAEjBylB,EAAQhoB,OAAA4nB,GAAA,EAAA5nB,CAAOmb,GAgBrB,OAfA6M,EAAS5F,GAATpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKgoB,EAAS5F,GADdpiB,OAAAmR,GAAA,EAAAnR,CAAA,GAGKoR,EAAO7O,KAAKuc,MAAM,KAAK,GAAKpX,SAIjCjG,EAAKqB,SAAS,CACZmX,SAAS,EACTmzB,SAASptC,OAAAkP,GAAA,EAAAlP,CAAA,GACJotC,EADGptC,OAAAmR,GAAA,EAAAnR,CAAA,GAELuC,EAAOylB,MAOdvmB,EAAKqB,SAAS,SAAA6qC,GAAI,MAAK,CACrB1zB,SAAS,EACTmzB,SAASptC,OAAAkP,GAAA,EAAAlP,CAAA,GACJ2tC,EAAKP,SADFptC,OAAAmR,GAAA,EAAAnR,CAAA,GAGHoR,EAAO7O,KAAOmF,QAjOJjG,EAuOnB2mB,mBAAqB,SAAAgF,GAEf,IAAA/E,EADJzQ,EACIwV,EADJxV,OAAQrV,EACJ6qB,EADI7qB,KAAM6O,EACVgc,EADUhc,OAAQgR,EAClBgL,EADkBhL,MAGhBjH,EADe1Z,EAAKM,MAAlBqrC,SACe7qC,GAEjBylB,EAAQhoB,OAAA4nB,GAAA,EAAA5nB,CAAOmb,GACfvc,GAAIypB,EAAA,GAAAroB,OAAAmR,GAAA,EAAAnR,CAAAqoB,EACPjX,EAAO7O,KAAKuc,MAAM,KAAK,GAAKlH,GADrB5X,OAAAmR,GAAA,EAAAnR,CAAAqoB,EAAA,QAERjG,GAFQiG,GAKVL,EAAS5F,GAATpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKgoB,EAAS5F,GACTxjB,GAGL6C,EAAKqB,SAAS,SAAA6qC,GAAI,MAAK,CACrB1zB,SAAS,EACTmzB,SAASptC,OAAAkP,GAAA,EAAAlP,CAAA,GACJ2tC,EAAKP,SADFptC,OAAAmR,GAAA,EAAAnR,CAAA,GAGHuC,EAAOylB,QA7PGvmB,EAmQnB2S,QAAU,SAACC,GACT5S,EAAKyrC,mBAAmB74B,IApQP5S,EAuQnB6sB,SAAW,WAAM,IACPja,EAAS5S,EAAKM,MAAdsS,KACR5S,EAAK2S,QAAQC,EAAO,EAAI,GAAKA,EAAO,EAAI,IAzQvB5S,EA4QnBmtB,aAAe,WAAM,IACXva,EAAS5S,EAAKM,MAAdsS,KACR5S,EAAK2S,QAAQC,EAAO,EAAI,EAAIA,EAAO,EAAI,IA9QtB5S,EAiRnBgQ,aAAe,SAAChB,GACd,GAAKA,EAAL,CADyB,IAGjBsb,EAAmBtqB,EAAK0C,MAAxB4nB,eAHiBvoB,EAIW/B,EAAKM,MAAjCkY,EAJiBzW,EAIjByW,QAAS+wB,EAJQxnC,EAIRwnC,eAEjB,GAAKA,GAAoBjf,EAAeiB,uBAA0B/S,EAAlE,CAKAxY,EAAKqB,SAAS,CACZmoC,aAAa,IAZU,IAgBvB52B,EAEE5D,EAFF4D,KAhBuBu5B,EAkBrBn9B,EADFs5B,wBAjBuB,IAAA6D,EAiBJ,GAjBIA,EAoBLziB,EAAqB1pB,EAAK0C,MAAtC8oC,YCnSL,SAAAh9B,GAEJ,IADDoE,EACCpE,EADDoE,KAAMw5B,EACL59B,EADK49B,QAASt8B,EACdtB,EADcsB,UAAWjO,EACzB2M,EADyB3M,QAEnB7C,aAAO,GAAAhC,OAAIJ,KAAJ,KAAAI,OAAmB4V,GAAQw5B,GACtC/tC,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KDyRvB+tC,CAAa,CACXz5B,KAAI,OAAA5V,OAASusC,EAAiB,EAAI32B,GAClCw5B,QAAQ7tC,OAAAkP,GAAA,EAAAlP,CAAA,GACHyQ,EADE,CAEL0a,mBACA4e,iBAAkBA,EAAiBjiC,IAAI,SAAAqoB,GAAA,IACrC+Z,EADqC/Z,EACrC+Z,WACAzB,EAFqCtY,EAErCsY,QACA9N,EAHqCxK,EAGrCwK,MACAh6B,EAJqCwvB,EAIrCxvB,GACAwpC,EALqCha,EAKrCga,gBACAC,EANqCja,EAMrCia,OANqC,MAOhC,CACLjf,mBACA+e,aACAzB,UACA9N,MAAQA,GAAmB,eAAVA,EAAgCA,EAAP,KAC1Ch6B,KACAwpC,kBACAC,cAGJ74B,UAAW,WACT9P,EAAK6sB,WAELztB,aAAqB,gDAEvByC,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAClBrnB,EAAM4Q,OACf3Q,OAAO+tC,QAAQhuC,EAAM4Q,QAAQq9B,QAAQ,SAAA3d,GAAA,IAAIjJ,EAAJpnB,OAAAqd,GAAA,EAAArd,CAAAqwB,EAAA,aAAiBvvB,aAAqBsmB,KAE3ErmB,aAAmB,0DAGrBU,EAAKqB,SAAS,CACZmoC,aAAa,YApDjBxpC,EAAK6sB,aArRP7sB,EAAKurC,eAAeh3B,KAApBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAEAA,EAAKM,MAAQ,CACXsS,KAAM,EACN4F,SAAS,EACTjY,SAAS,EACTipC,aAAa,EACb5B,kBAAmB,GACnB2B,gBAAgB,EAChBoC,SAAU,CACRvD,kBAAmB,GACnBE,iBAAkB,GAClBC,sBAAuB,GACvBC,2BAA4B,GAC5BQ,2BAA4B,KAjBfhpC,mFAuBjBE,KAAKi3B,gBACLj3B,KAAKurC,mBAAmB,uCAGdE,GAAU,IAAAa,EAQhBb,EANFvD,yBAFkB,IAAAoE,EAEE,GAFFA,EAAAC,EAQhBd,EALFrD,wBAHkB,IAAAmE,EAGC,GAHDA,EAAAC,EAQhBf,EAJFpD,6BAJkB,IAAAmE,EAIM,GAJNA,EAAAC,EAQhBhB,EAHFnD,kCALkB,IAAAmE,EAKW,GALXA,EAAAC,EAQhBjB,EAFF3C,kCANkB,IAAA4D,EAMW,GANXA,EAAAC,EAQhBlB,EADFzhB,kBAPkB,IAAA2iB,EAOL,GAPKA,EAUFC,EAAgB5sC,KAAKI,MAA/BqrC,SAERzrC,KAAKmB,SAAS,CACZsqC,SAASptC,OAAAkP,GAAA,EAAAlP,CAAA,GACJotC,EADG,CAENzhB,WAAkC,IAAtBA,EAAWlkB,OAAe8mC,EAAY5iB,WAAaA,EAC/Dke,kBAAmBA,EAAkB/hC,IAAI,SAACuU,EAAG+F,GAAJ,OAAApiB,OAAAkP,GAAA,EAAAlP,CAAA,GAAoBqc,EAApB,CAAuB+F,YAChE2nB,iBAAkBA,EAAiBjiC,IAAI,SAACuU,EAAG+F,GAAJ,OAAApiB,OAAAkP,GAAA,EAAAlP,CAAA,GAAoBqc,EAApB,CAAuB+F,YAC9D4nB,sBAAuBA,EAAsBliC,IAAI,SAACuU,EAAG+F,GAAJ,OAAApiB,OAAAkP,GAAA,EAAAlP,CAAA,GAAoBqc,EAApB,CAAuB+F,YACxE6nB,2BAA4BA,EAA2BniC,IAAI,SAACuU,EAAG+F,GAAJ,OAAApiB,OAAAkP,GAAA,EAAAlP,CAAA,GAAoBqc,EAApB,CAAuB+F,YAClFqoB,2BAA4BA,EAA2B3iC,IAAI,SAACuU,EAAG+F,GAAJ,OAAApiB,OAAAkP,GAAA,EAAAlP,CAAA,GAAoBqc,EAApB,CAAuB+F,cAEpF6oB,aAAa,EACbhxB,SAAS,qCAgSJ,IAEL8R,EACEpqB,KAAKwC,MADP4nB,eAFKhM,EAaHpe,KAAKI,MAPPqrC,EANKrtB,EAMLqtB,SACAprC,EAPK+d,EAOL/d,QACAipC,EARKlrB,EAQLkrB,YACA5B,EATKtpB,EASLspB,kBACAh1B,EAVK0L,EAUL1L,KACA4F,EAXK8F,EAWL9F,QACA+wB,EAZKjrB,EAYLirB,eAGF,OAAIhpC,GAAYorC,GAAarhB,GAA+C,IAA7Bsd,EAAkB5hC,OAO/DrC,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAAC6qC,GAADxuC,OAAA+N,OAAA,GACMq/B,EADN,CAEErhB,eAAgBA,EAChBsd,kBAAmBA,EACnB2B,eAAgBA,EAChBv4B,SAAU9Q,KAAK8P,aACfzP,QAASA,EACTipC,YAAaA,EACbz8B,cAAe4+B,EAEf/pB,eAAgB1hB,KAAK4rC,mBACrBjqB,kBAAmB3hB,KAAK8rC,sBACxBlqB,aAAc5hB,KAAKsmB,iBACnBzE,eAAgB7hB,KAAKymB,mBACrB0kB,WAAYnrC,KAAKqrC,eAEjB/yB,QAASA,EACT5F,KAAMA,EACND,QAASzS,KAAKyS,QACdwa,aAAcjtB,KAAKitB,aACnBN,SAAU3sB,KAAK2sB,SAEftN,oBAAkB,OA7BtB5b,EAAA1B,EAAAC,cAACmd,GAAD,aApWqBlc,iBEiDd4L,GArEE,WAEX,IAFYE,EAEZrC,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAFoB,CACxB0jB,SAAU,IAEJphB,EAAS,GA+Df,OA7DKD,EAAM6iB,OAAU7iB,EAAM6iB,MAAM7rB,QAC/BiJ,EAAO4iB,MAAQ,8BAGZ7iB,EAAMqlB,SAAYrlB,EAAMqlB,QAAQruB,QACnCiJ,EAAOolB,QAAU,+BAGdrlB,EAAMsR,SAAYtR,EAAMsR,QAAQta,QACnCiJ,EAAOqR,QAAU,gCAGdtR,EAAMgc,UAAahc,EAAMgc,SAAShlB,QACrCiJ,EAAO+b,SAAW,gCAGhBhc,EAAMqhB,UAAYrhB,EAAMqhB,SAAStqB,SACnCkJ,EAAOohB,SAAW,GAClBrhB,EAAMqhB,SAAStW,OAAO,SAAArC,GAAC,OAAKA,EAAEqvB,UAASnmC,QAAQ,SAAC0nB,EAAK5H,GACnD,IAAMriB,EAAQ,GAETiqB,EAAI6C,+BAAkC7C,EAAI6C,8BAA8BnlB,QAC3E3H,EAAM8sB,8BAAgC,gDAEnC7C,EAAI0C,UAAa1C,EAAI0C,SAAShlB,MAMN,CADvBgJ,EADFgc,UAGY,GAFVhc,EADQ+9B,mBAIW,GAHnB/9B,EAD2Bg+B,mBAKR,GAJnBh+B,EAD8Ci+B,mBAM3B,IAGCnuB,KAAK,SAAAuG,GAAC,OAAIA,EAAErf,OAASqf,EAAErf,QAAUsiB,EAAI0C,SAAShlB,UACpE3H,EAAM2sB,SAAW,sDAbnB3sB,EAAM2sB,SAAW,+BAgBd1C,EAAI4C,KAAQ5C,EAAI4C,IAAIllB,QACvB3H,EAAM6sB,IAAM,2BAET5C,EAAI8C,aACP/sB,EAAM+sB,WAAa,yBAEhB9C,EAAI+C,UACPhtB,EAAMgtB,QAAU,yBAGd/sB,OAAOoC,KAAKrC,GAAO0H,SACrBkJ,EAAOohB,SAAS3P,GAASriB,MAK3BC,OAAOoC,KAAKuO,GAAQlJ,QACtBhF,QAAQ1C,MAAM4Q,GAGTA,GCpCHi+B,eAmEJ,SAAAA,EAAYzqC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAitC,IACjBntC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA4uC,GAAA9sC,KAAAH,KAAMwC,KAsGR0qC,iCAAmC,SAACC,GAGlC,OAF2CrtC,EAAK0C,MAAxC4qC,+BAE8BtzB,OAAO,SAAAuzB,GAAG,OAAIA,EAAItnC,QAAUonC,KA1GjDrtC,EA6GnByE,OAAS,SAACkrB,GAAQ,IACR6d,EAAwBxtC,EAAK0C,MAA7B8qC,oBACcxtC,EAAKM,MAAnBsvB,YACUD,IAChB3vB,EAAKqB,SAAS,CAAEuuB,UAAWD,IACf,MAARA,GACF6d,MAnHaxtC,EAwHnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IA5HEvG,EA+HnBytC,qBAAuB,WAAM,IAAAjqC,EAGvBxD,EAAK0C,MAET,MAAO,CALoBc,EAEzBynB,UAIY,GANaznB,EAEfwpC,mBAKW,GAPIxpC,EAEIypC,mBAMR,GARIzpC,EAEuB0pC,mBAO3B,IACrBlzB,OAAO,SAAAsL,GAAC,OAAIA,EAAErf,SAzICjG,EA4InB0tC,eAAiB,SAAA3mC,GAKX,IAAAggC,EAAAhgC,EAJJ0a,cAII,IAAAslB,EAJK,GAILA,EAAA4G,EAAA5mC,EAHJumC,sCAGI,IAAAK,EAH6B,GAG7BA,EAAAC,EAAA7mC,EAFJ8mC,kBAEI,IAAAD,EAFS,GAETA,EAAAE,EAAA/mC,EADJupB,gBACI,IAAAwd,EADO,GACPA,EAAA3jC,EAGAnK,EAAK0C,MADPqrC,EAFE5jC,EAEF4jC,sBAAuBC,EAFrB7jC,EAEqB6jC,wBAAyBlsB,EAF9C3X,EAE8C2X,aAAcC,EAF5D5X,EAE4D4X,eAG1DksB,EAAoBjuC,EAAKytC,uBAkC/B,OACE9pC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,gCACfoB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,MAAIwE,MAAO,CAAEC,gBAAiB,wBAC5BhD,EAAA1B,EAAAC,cAAA,MAAI8f,QAAS,GACXre,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,kBACboB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,EAAG0Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,gCAxCiB,IAA7B+rC,EAAkBjoC,OAElBrC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,WAAb,qFAUR9C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,EAAG0Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEH,KAAK,KACLlI,MAAM,UACNC,MAAO,CAAEub,aAAc,OACvBre,QAAS,kBAAMmqC,KACfxrC,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eACZ,IARH,gBA+BEoB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,KACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,kBACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,YACAve,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAc2f,MAAM,aAAlC,UACAve,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAc2f,MAAM,aAAlC,QACAve,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAc2f,MAAM,aAAlC,eACAve,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAc2f,MAAM,aAAlC,YACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAa,OAG3Bve,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAAC6nC,EAASvtB,GACpB,OAAK2P,EAAS3P,GAKZhd,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,GAAAvJ,OAAKkxC,GAAW3rC,UAAW+tB,EAAS3P,GAAOqmB,QAAU,SAAW,IACrErjC,EAAA1B,EAAAC,cAAA,MAAI8f,QAAQ,IAAIzf,UAAU,wBACxBoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE8qB,SAAU,SAAUqN,WAAY,SAAUhR,UAAW,SAClFlqB,EAAA1B,EAAAC,cAAA,UAAKye,EAAQ,GACbhd,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,kCACJjhC,YAAY,iBACZ/G,SACE,SAAAxD,GAAK,OAAIqf,EAAe,CAAE5L,OAAQzT,EAAO5B,KAAM,gCAAiC6f,WAElF/K,QAAS03B,EACT58B,UAAW6G,OAIjB5T,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,aACJjhC,YAAY,WACZ/G,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAAE5L,OAAQzT,EAAO5B,KAAM,WAAY6f,WACrE/K,QAASq4B,EACTv9B,UAAW6G,OAIjB5T,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,QACJjhC,YAAY,SACZ/G,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAAE5L,OAAQzT,EAAO5B,KAAM,MAAO6f,WAChE/K,QAASi4B,EACTn9B,UAAW6G,OAIjB5T,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,yBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mEACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,SACJjhC,YAAY,OACZxN,KAAK,OACLyN,UAAU,KACVwD,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,EAAGzB,SAKvChd,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,yBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,eACJjhC,YAAY,cACZxN,KAAK,OACLiR,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,EAAGzB,QAIrChd,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,yBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,YACJjhC,YAAY,WACZkhC,cAAenuC,EAAKouC,kBACpB3uC,KAAK,OACLiR,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,EAAGzB,QAIrChd,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACElL,QAAS,kBAAMoqC,EAAwB,CAAErtB,WACzChS,KAAK,KACL0T,SAAO,EACP5b,MAAM,SACNC,MAAO,CAAEub,aAAc,OACvB1f,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,cAAcsO,cAAY,YA1FtC,WAtNF7Q,EA4TnBquC,iBAAmB,WAAM,IACf/jB,EAAmBtqB,EAAK0C,MAAxB4nB,eACR,OACE3mB,EAAA1B,EAAAC,cAACosC,GAAD,CACE9C,WAAYlhB,EAAeprB,GAC3BorB,eAAc/rB,OAAAkP,GAAA,EAAAlP,CAAA,GACT+rB,EADS,CAEZiB,uBAAuB,OAjU7BvrB,EAAKM,MAAQ,CACXsvB,UAAW,KAGb5vB,EAAKyZ,QAAU,SAAAjL,GAGT,IAFJ+/B,EAEI//B,EAFJ+/B,qBACApgB,EACI3f,EADJ2f,YAEMqgB,EAAO,CACX,CACEjoC,IAAK,kBACLzF,KAAM6C,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,wBACNmI,MAAO,QACP+J,QAAQ,GAEV,CACE3T,IAAK,iBACLzF,KAAM,WACNyY,SAAS,EACTW,QAAQ,GAEV,CACE3T,IAAK,eACLzF,KAAM,SACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,MAAI,GAAAhb,OAAGgb,EAAIqe,eAAP,MAAAr5B,OAA0Bgb,EAAIoe,cAAe1P,SAE9D,CAAEngB,IAAK,QAASzF,KAAM,WAGxB,SAAA9D,OACKwxC,EACA,CACD,CACEjoC,IAAK,eACLzF,KAAM,OACNoX,UAAWq2B,GAAwBpgB,EACnC1uB,KAAM,SACN0N,IAAK,EACLC,IAAK,IACL+C,MAAO,QACP5N,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB8C,OAAQ,SAAA+M,GAAA,IAAGqI,EAAHrI,EAAGqI,aAAH,OACN5sB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAM,UACN2oB,MAAI,EACJ1oB,MAAO,CACLuS,SAAU,OACV8U,UAAW,SACXnX,WAAY,WAGb2Z,KAIP,CACEhqB,IAAK,uBACLzF,KAAM,eACNrB,KAAM,SACN0N,IAAK,IACLC,IAAK,MACL+C,MAAO,QACP5N,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB8C,OAAQ,SAAA+P,GAAA,IAAGsF,EAAHtF,EAAGsF,qBAAH,OACN7sB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAM,UACN2oB,MAAI,EACJ1oB,MAAO,CACLuS,SAAU,OACV8U,UAAW,SACXnX,WAAY,WAGb3D,KAAKqc,MAAMkB,MAIlB,CACEjqB,IAAK,UACLzF,KAAM,SACNqP,MAAO,QACPoJ,SAAS,MAMjBvZ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,iBACzCkX,SAAU,SAAC6Z,GACT/0B,EAAKyuC,YAAY1Z,MAjGN/0B,wEAyUV,IAAAS,EAAAP,KAKP,GAFIA,KAAKwC,MADPnC,QAIA,OAAOoD,EAAA1B,EAAAC,cAACmd,GAAD,MANF,IAAAjL,EA4BHlU,KAAKwC,MAlBP4N,EAVK8D,EAUL9D,WACAN,EAXKoE,EAWLpE,aACAiT,EAZK7O,EAYL6O,gBACAR,EAbKrO,EAaLqO,OACAisB,EAdKt6B,EAcLs6B,8BACAxkB,EAfK9V,EAeL8V,WACA7J,EAhBKjM,EAgBLiM,SACAwT,EAjBKzf,EAiBLyf,SACA1B,EAlBK/d,EAkBL+d,OACA0b,EAnBKz5B,EAmBLy5B,WACAvd,EApBKlc,EAoBLkc,SACAgd,EArBKl5B,EAqBLk5B,+BACAqB,EAtBKv6B,EAsBLu6B,kBACArkB,EAvBKlW,EAuBLkW,eACAskB,EAxBKx6B,EAwBLw6B,sBACAl1B,EAzBKtF,EAyBLsF,MACAI,EA1BK1F,EA0BL0F,gBACA+D,EA3BKzJ,EA2BLyJ,QAIA+R,EACE1vB,KAAKI,MADPsvB,UAGF,OACEjsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAEspB,UAAW,SAC/CrsB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,sBAOF9e,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMk0B,QAAM,EAACtsC,UAAU,OAAOyO,SAAUhB,GACtCrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI2Q,GAAI,IACfrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,qCAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,SACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,QACL4P,UAAW6G,GACXtK,YAAY,QACZS,aAAa,QACbkI,QAASuc,EACTjsB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,QAAS,UAAWb,SAK3Dze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAASie,OAKjBlwB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAASyK,OAKjB1c,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,sBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,WACL4P,UAAW6G,GACXtK,YAAY,WACZS,aAAa,QACbkI,QAASsU,EACThkB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,WAAY,aAAcb,SAKjEze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,oBACL4P,UAAW6G,GACXtK,YAAY,oBACZS,aAAa,QACbkI,QAASsU,EACThkB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,oBAAqB,sBAAuBb,SAMnFze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,oBACL4P,UAAW6G,GACXtK,YAAY,oBACZS,aAAa,QACbkI,QAASsU,EACThkB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,oBAAqB,sBAAuBb,SAMnFze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,oBACL4P,UAAW6G,GACXtK,YAAY,oBACZS,aAAa,QACbkI,QAASsU,EACThkB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,oBAAqB,sBAAuBb,SAKnFze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAA0B,KAC1CoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,oBACL4P,UAAW1E,GACXpF,MAAM,wBACNX,MAAO0oC,EAAoB,UAAY,GACvCvjC,eAAgBujC,OAMxBhrC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,cACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACLmM,YAAY,aACZxN,KAAK,OACLyN,UAAU,KACVwD,UAAW1D,GACXU,aAAa,cAQvB/J,EAAA1B,EAAAC,cAAA,WAEAyB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuuB,GAAA,EAAD,CAAKC,MAAI,EAAChqB,MAAO,CAAE8kB,IAAK,WACtB7nB,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EACIjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,QAA3C,qBAEDoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEuT,SAAO,EACP5b,MAAM,YACNlE,UAAU,OACVqB,QAAS,kBAAMnD,EAAKgE,OAAO,OAJ7B,sBAWNd,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EACIjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,QAA3C,kBAEDoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQuT,SAAO,EAAC5b,MAAM,YAAYlE,UAAU,OAAOqB,QAAS,kBAAMnD,EAAKgE,OAAO,OAA9E,mBAMNd,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EAEGjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,OAAOmE,MAAO,CAAEub,aAAc,SAAzE,gBAKAte,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEuT,SAAO,EACP5b,MAAM,YACNlE,UAAU,OACVmE,MAAO,CAAEub,aAAc,QACvBre,QAAS,kBAAMnD,EAAKgE,OAAO,OAL7B,kBAaRd,EAAA1B,EAAAC,cAAC2uB,GAAA,EAAD,CAAYjB,UAAWA,GACrBjsB,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASvuB,UAAU,qBAAqBwuB,MAAM,KAC5CptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACEtjB,KAAK,WACL4P,UAAWxQ,KAAKwtC,eAChBpd,SAAUA,EACVud,WAAYA,EACZP,+BAAgCA,EAChC1d,UAAWA,MAIjBjsB,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KAEIm0B,EACEjrC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI9X,UAAU,eACrBoB,EAAA1B,EAAAC,cAACmd,GAAD,OAIA1b,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,aACboB,EAAA1B,EAAAC,cAAA,UACEwE,MAAO,CAAE0J,OAAQ,QACjB7N,UAAU,kCACV9C,KAAK,SACLmE,QAAS8qC,GAET/qC,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBAAhB,QANF,qBAWJoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,6BACNyV,QAASvZ,KAAKuZ,QAAQ,CACpB0U,YAAa7D,EAAe6D,YAC5BogB,qBAAsBjkB,EAAeikB,qBACrCO,6BAA8BxkB,EAAewkB,+BAE/Cp1B,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnB+G,gBAAiBA,EACjB9I,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrB7E,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3C0R,WAAY/X,KAAKsgC,gBACjB1tB,YAAa4G,EAAM1T,OACnB4M,KAAM,EACNiH,SAAUC,EACVR,eAAgBuE,EAAQvE,eACxBvM,cAAe8Q,EACf0B,oBAAkB,OAOhC5b,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGva,KAAKmuC,uBAMd1qC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAEspB,UAAW,SAC/CrsB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCAjtBmBtf,iBAA3BgqC,GA+DG9lC,aAAe,CACpBiJ,YAAY,GA+pBhB,IAMe/D,MANiB0E,aAAU,CACxCC,KAAM,qBACNnC,YACAwQ,oBAAoB,GAHUtO,CAI7Bk8B,KCxSY/G,eA/bb,SAAAA,EAAY1jC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAkmC,IACjBpmC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA6nC,GAAA/lC,KAAAH,KAAMwC,KAkCRqsC,4BAA8B,WAAM,IAC1B7vC,EAAOc,EAAK0C,MAAZxD,GACRc,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvC9lB,GAA6B,CAC3B5pB,KACA4Q,UAAW,WACT9P,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvCxvC,aAAqB,kCAEvByC,QAAS,WACP7B,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvCtvC,aAAmB,sEA9CNU,EAmDnByrC,mBAAqB,WAAM,IAAAjoC,EACDxD,EAAK0C,MAArBxD,EADiBsE,EACjBtE,GAAI2F,EADarB,EACbqB,QACNvE,EAAQ,GAETpB,EAsBLkpB,GAAI,CACFlpB,KACA4Q,UAAW,SAACwa,GACVtqB,EAAKqB,SAAS,CACZipB,eAAe/rB,OAAAkP,GAAA,EAAAlP,CAAA,GACV+rB,EACAhqB,MAITuB,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,gCACnBuF,EAAQG,KAAK,4BAEb1F,aAAmB,+DApCvBU,EAAKqB,SAAS,CACZipB,eAAe/rB,OAAAkP,GAAA,EAAAlP,CAAA,CACbW,GAAI,EACJuV,MAAM,IAAIK,MAAOwuB,cACjBhR,QAAS,KACTR,MAAO,CAAE7rB,MAAO,EAAGW,MAAO,KAC1B6tB,UAAW,KACXH,QAAS,CAAEruB,MAAO,EAAGW,MAAO,KAC5B2Z,QAAS,CAAEta,MAAO,EAAGW,MAAO,KAC5BooC,aAAc,CAAE/oC,MAAO,EAAGW,MAAO,KACjComC,kBAAmB,CAAE/mC,MAAO,EAAGW,MAAO,KACtCqmC,kBAAmB,CAAEhnC,MAAO,EAAGW,MAAO,KACtCsmC,kBAAmB,CAAEjnC,MAAO,EAAGW,MAAO,KACtC+iB,8BAA8B,GAC3BrpB,MAtEQN,EAkGnB0d,eAAiB,WACfC,GAAe,CACb7N,UAAW,SAAA/I,GAML,IACEzG,EAAQ,CACZ6xB,OAFEprB,EALJorB,OAQE0B,SAHE9sB,EAJJ8sB,SAQE3J,WAJEnjB,EAHJmjB,WAQEojB,+BALEvmC,EAFJumC,+BAQEO,WANE9mC,EADJ8mC,YAUA7tC,EAAKqB,SAASf,GACdN,EAAKyrC,sBAEP5pC,QAAS,kBAAMvC,aAAmB,qDAtHnBU,EA0HnBivC,qBAAuB,SAACr8B,EAAMiH,EAAUgE,GAAY,IAC1C3e,EAAOc,EAAK0C,MAAZxD,GAERc,EAAKqB,SAAS,CACZutC,uBAAuB,EACvB/wB,QAASA,GAAW,KAGtBgL,GAAmB,CACjBhL,UACA3e,KACA4Q,UAAW,SAAAtB,GAAyB,IAAZkL,EAAYlL,EAAtB6R,SACZrgB,EAAKqB,SAAS,CACZutC,uBAAuB,EACvBl1B,QACAI,gBAAiBJ,EAAM1T,UAG3BnE,QAAS,WACP7B,EAAKqB,SAAS,CACZqY,MAAO,GACPk1B,uBAAuB,IAEzBtvC,aAAmB,oDAjJNU,EAsJnBkvC,0BAA4B,WAAM,IAAAC,EACNnvC,EAAKM,MAAvBgwB,gBADwB,IAAA6e,EACb,GADaA,EAG1BpD,EAA+B,IAApBzb,EAAStqB,OAAe,EAAKiN,KAAK7F,IAALT,MAAAsG,KAAI1U,OAAA4nB,GAAA,EAAA5nB,CAAQ+xB,EAASjqB,IAAI,SAAA6hB,GAAA,OAAAA,EAAGvH,UAAsB,EAEhG3gB,EAAKqB,SAAS,CACZivB,SAAQ,GAAAtzB,OAAAuB,OAAA4nB,GAAA,EAAA5nB,CACH+xB,GADG,CAEN,CACEpxB,GAAI,EACJyhB,MAAOorB,EACPzhB,eAAgB,GAChBW,SAAU,CACRhlB,MAAO,EACPW,MAAO,IACPwf,SAAU,EACV7N,KAAM,MAER4S,IAAK,CACHllB,MAAO,EACPW,MAAO,IACPwf,SAAU,EACV7N,KAAM,MAER8S,WAAY,QACZC,QAAS,QACTsY,KAAM,GACNxY,8BAA+B,CAC7BnlB,MAAO,EACPW,MAAO,IACPwf,SAAU,EACV7N,KAAM,YArLGvY,EA4LnBovC,4BAA8B,SAAAlkB,GAAe,IAAZvK,EAAYuK,EAAZvK,MAAY0uB,EACjBrvC,EAAKM,MAAvBgwB,SACF/J,QAFqC,IAAA8oB,EACxB,GADwBA,GAEjBhpC,IAAI,SAAAuU,GAAC,OAAArc,OAAAkP,GAAA,EAAAlP,CAAA,GAC1Bqc,EAD0B,CAE7BosB,QAASpsB,EAAEosB,SAAWpsB,EAAE+F,QAAUA,MAGpC3gB,EAAKqB,SAAS,CAAEivB,SAAU/J,KAnMTvmB,EAsMnBsvC,cAAgB,SAACC,IpD0BZ,SAAAC,GAA+D,IAA9BD,EAA8BC,EAA9BD,OAAQz/B,EAAsB0/B,EAAtB1/B,UAAWjO,EAAW2tC,EAAX3tC,QAClDlD,aAAM,GAAA3B,OAAIL,KAAJ,cAAAK,OAAmCuyC,IAC7ClxC,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KoDnCvBmxC,CAAsB,CACpBF,SACAz/B,UAAW,SAACuQ,GACVrgB,EAAKqB,SAAS,CAAEgf,cAElBxe,QAAS,kBAAMvC,aAAmB,6CA5MnBU,EAgNnBgQ,aAAe,SAAChB,GACd,GAAKA,EAAL,CADyB,IAIvB9P,EAaE8P,EAbF9P,GACkB83B,EAYhBhoB,EAZFuR,QAAWta,MACQ+9B,EAWjBh1B,EAXFic,SAAYhlB,MACIqsB,EAUdtjB,EAVF8iB,MAAS7rB,MACcypC,EASrB1gC,EATFggC,aAAgB/oC,MACEwuB,EAQhBzlB,EARFslB,QAAWruB,MACX+mC,EAOEh+B,EAPFg+B,kBACAC,EAMEj+B,EANFi+B,kBACAC,EAKEl+B,EALFk+B,kBACA5c,EAIEthB,EAJFshB,SACA3G,EAGE3a,EAHF2a,6BACAglB,EAEE3/B,EAFF2/B,kBACA5e,EACE/gB,EADF+gB,QAmBFzH,GAhBe,CACbppB,KACAozB,UACAod,iBACA1Y,YACAgN,aACAvP,YACAkb,oBAAqB3C,EAAoBA,EAAkB/mC,MAAQ,EACnE2pC,oBAAqB3C,EAAoBA,EAAkBhnC,MAAQ,EACnE4pC,oBAAqB3C,EAAoBA,EAAkBjnC,MAAQ,EACnEqqB,WACA3G,+BACAglB,oBACA5e,WAGW,CACXjgB,UAAW,WACT1Q,aAAqB,6CAEDY,EAAK0C,MAAjBmC,QACAG,KAAK,4BAEfnD,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,kEA9PRU,EAoQnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UAtQS7lB,EAyQnB8vC,sBAAwB,SAAC/pB,EAAWC,EAAOzN,GAAS,IAAAurB,EAC5CxZ,EAAmBtqB,EAAKM,MAAxBgqB,eASYgI,GAPlBhI,EAAc/rB,OAAAkP,GAAA,EAAAlP,CAAA,GACT+rB,GADSwZ,EAAA,GAAAvlC,OAAAmR,GAAA,EAAAnR,CAAAulC,EAEX9d,EAAQzN,EAAKtS,OAFF1H,OAAAmR,GAAA,EAAAnR,CAAAulC,EAGX/d,EAAYxN,GAHDurB,KAOZhS,MAAS7rB,MAGXjG,EAAKqB,SAAS,CAAEipB,mBAEZgI,GACFtyB,EAAKsvC,cAAchd,IAzRJtyB,EA6RnB+vC,4BAA8B,WAAM,IAC1B7wC,EAAOc,EAAK0C,MAAZxD,GAEHA,GAQLc,EAAKqB,SAAS,CACZd,SAAS,IAGXmoB,GAAuC,CACrCE,UAAW1pB,EACX4Q,UAAW,SAACwgB,GACVtwB,EAAKqB,SAAS,CACZd,SAAS,EACT+vB,SAAUA,EAASjqB,IAAI,SAACuU,EAAG+F,GAAJ,OAAApiB,OAAAkP,GAAA,EAAAlP,CAAA,GAAoBqc,EAApB,CAAuB+F,eAGlD9e,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEivB,SAAU,GAAI/vB,SAAS,IACnCjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,kCAEnBA,aAAmB,gEAxBvBU,EAAKqB,SAAS,CACZivB,SAAU,MAlSGtwB,EA+TnBwmB,iBAAmB,SAACtlB,EAAGyf,GAAU,IACvB2P,EAAatwB,EAAKM,MAAlBgwB,SAEFrqB,EAA0B,WAAlB/E,EAAEyO,OAAOlQ,KAAoB0G,OAAOjF,EAAEyO,OAAO1J,OAAS,GAAAjJ,OAAGkE,EAAEyO,OAAO1J,OAAQygB,OAElFspB,EAAWzxC,OAAA4nB,GAAA,EAAA5nB,CAAO+xB,GACxB0f,EAAYrvB,GAAZpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKyxC,EAAYrvB,GADjBpiB,OAAAmR,GAAA,EAAAnR,CAAA,GAGK2C,EAAEyO,OAAO7O,KAAKuc,MAAM,KAAK,GAAKpX,IAInCjG,EAAKqB,SAAS,CAAEivB,SAAU0f,KA5UThwC,EA+UnB2mB,mBAAqB,SAAA0B,GAA6B,IAAAzB,EAA1BzQ,EAA0BkS,EAA1BlS,OAAQrV,EAAkBunB,EAAlBvnB,KAAM6f,EAAY0H,EAAZ1H,MACpC3gB,EAAKqB,SAAS,CAAEd,SAAS,IADuB,IAGxC+vB,EAAatwB,EAAKM,MAAlBgwB,SACF0f,EAAWzxC,OAAA4nB,GAAA,EAAA5nB,CAAO+xB,GAClBnzB,GAAIypB,EAAA,GAAAroB,OAAAmR,GAAA,EAAAnR,CAAAqoB,EACP9lB,EAAOqV,GADA5X,OAAAmR,GAAA,EAAAnR,CAAAqoB,EAAA,QAERjG,GAFQiG,GAKVopB,EAAYrvB,GAAZpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKyxC,EAAYrvB,GACZxjB,GAGL6C,EAAKqB,SAAS,CACZivB,SAAU0f,EACVzvC,SAAS,EACT0vC,gBAAgB,IAAIn7B,MAAOo7B,aA9V7BlwC,EAAKM,MAAQ,CACX6xB,OAAQ,GACR9R,SAAU,GACVwT,SAAU,GACV3J,WAAY,GACZojB,+BAAgC,GAChCO,WAAY,GACZvjB,eAAgB,KAChB/pB,SAAS,EACT+vB,SAAU,GACV2f,eAAgB,EAEhBrB,uBAAuB,EACvBl1B,MAAO,GACPI,gBAAiB,EACjB+D,QAAS,CACPjL,KAAM,EACNiH,SAAU,GACVkG,gBAAiB,GACjBqW,aAAc,GACdC,eAAgB,KAIpBr2B,EAAK+uC,4BAA4Bx6B,KAAjChW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KA3BiBA,mFA+BjBE,KAAKwd,iBACLxd,KAAK6vC,+DAqUE,IAAA5lC,EACiBjK,KAAKwC,MAArBxD,EADDiL,EACCjL,GAAI2F,EADLsF,EACKtF,QADL9C,EAkBH7B,KAAKI,MAdPgqB,EAJKvoB,EAILuoB,eACAjK,EALKte,EAKLse,SACA6J,EANKnoB,EAMLmoB,WACAiI,EAPKpwB,EAOLowB,OACA0B,EARK9xB,EAQL8xB,SACAyZ,EATKvrC,EASLurC,+BACAO,EAVK9rC,EAUL8rC,WACAttC,EAXKwB,EAWLxB,QACA+vB,EAZKvuB,EAYLuuB,SACA2f,EAbKluC,EAaLkuC,eACArB,EAdK7sC,EAcL6sC,sBACAl1B,EAfK3X,EAeL2X,MACAmE,EAhBK9b,EAgBL8b,QACA/D,EAjBK/X,EAiBL+X,gBAGIK,EAAW+P,GAAciI,GAAU7H,GAAkBgjB,EAA+BtnC,OAE1F,OACErC,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,oBAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,aAAe,WADvB,wBAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,KAEJF,GAAY5Z,EACRoD,EAAA1B,EAAAC,cAACmd,GAAD,MAED1b,EAAA1B,EAAAC,cAACiuC,GAAD5xC,OAAA+N,OAAA,GACMge,EADN,CAEEtZ,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACbrlB,QAASA,EACTwM,cAAeud,EACfA,eAAgBA,EAChBzlB,QAASA,EACTqlB,WAAYA,EACZ7J,SAAUA,EACV8R,OAAQA,EACR0B,SAAUA,EACVyZ,+BAAgCA,EAChCO,WAAYA,EACZjlB,UAAWziB,OAAOjH,GAElB+wC,eAAgBA,EAEhBnuB,aAAc5hB,KAAKsmB,iBACnBzE,eAAgB7hB,KAAKymB,mBAErB1D,gBAAiB/iB,KAAK4vC,sBACtB/B,sBAAuB7tC,KAAKgvC,0BAC5BlB,wBAAyB9tC,KAAKkvC,4BAC9B5B,oBAAqBttC,KAAK+uC,qBAC1BP,8BAA+BxuC,KAAK6uC,4BAEpCze,SAAUA,EAEVse,sBAAuBA,EACvBl1B,MAAOA,EACPI,gBAAiBA,EACjB+D,QAASA,EACT0B,oBAAkB,eAhbApc,mDCRhCitC,eAKJ,SAAAA,EAAY1tC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAkwC,IACjBpwC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA6xC,GAAA/vC,KAAAH,KAAMwC,KAWRyuB,aAAe,WCdV,IAAiC1zB,IDeZ,CACtBqS,UAAW,SAAC4J,GACV1Z,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,WAGJ7X,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,mDCvBlBX,aAAM,GAAA3B,OAAID,KAAJ,4BACVsB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MDR9B0B,EA2BnBoxB,WAAa,SAAClyB,GACQc,EAAK0C,MAAjBmC,QACAG,KAAR,4BAAAhI,OAAyCkC,KA7BxBc,EAgCnBwe,wBAA0B,WACxBxe,EAAKmxB,gBAjCYnxB,EAoCnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAtCfvG,EAAKM,MAAQ,CACXC,SAAS,EACTmZ,MAAO,IAJQ1Z,mFASjBE,KAAKixB,gDAkCE,IAAA1wB,EAAAP,KAAA6B,EAIH7B,KAAKI,MAFPC,EAFKwB,EAELxB,QACAmZ,EAHK3X,EAGL2X,MAGF,OAAInZ,EAEAoD,EAAA1B,EAAAC,cAACmd,GAAD,MAKF1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,aAKJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI9X,UAAU,iBAClBmX,IAAUA,EAAM1T,SACjBrC,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACsE,EAAA,EAAD,CAAOC,MAAM,OAAOlE,UAAU,cAAcc,MAAI,GAC9CM,EAAA1B,EAAAC,cAAA,kEAGAyB,EAAA1B,EAAAC,cAAA,yCAC8B,IAC5ByB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,qBAEd,qEAOTmX,GAASA,EAAM1T,QACdrC,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACqvB,GAAA,EAAD,CAAMhvB,UAAU,QACdoB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACX,+BACDoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,iBAGpBoB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,qBACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,OACNyO,EAAMrT,IAAI,SAAA6d,GAAC,OACVvgB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CACE7X,UAAU,OACV8X,GAAI,EACJqX,GAAI,EACJzB,GAAI,GACJ1pB,IAAG,WAAAvJ,OAAaknB,EAAEhlB,KAElByE,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,CACE8H,SAAO,EACP5b,MAAM,UACN7C,QAAS,kBAAMnD,EAAK2wB,WAAWlN,EAAEhlB,KACjCqD,UAAU,+BAEVoB,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,CAAUjY,UAAU,sCAClBoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qCACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBACZoB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAM,UACN2oB,MAAI,GAFN,IAIIlL,EAAEhlB,IAELglB,EAAE3D,QACH5c,EAAA1B,EAAAC,cAAA,UAAKgiB,EAAE6L,UAETpsB,EAAA1B,EAAAC,cAAA,WACAyB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,sBACZ2hB,EAAE4N,OAGLnuB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,MAAM1I,UAAU,sBACvBoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,IACpB/L,EAAE0N,iBADL,kBAGAjuB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,IAAvB,UACc/L,EAAEkM,OAGlBzsB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,MAAM1I,UAAU,sBACvBoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,IAAvB,KACAtsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,IACrBtsB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAOyd,EAAEkW,mBAAqB,EAAI,UAAY,YAC9ChL,MAAI,GAEHlL,EAAEkW,oBAEqB,IAAzBlW,EAAEkW,mBAA2B,UAAY,mCArJzCj3B,iBA4K1BC,eAAWgtC,IElKpBC,eAKJ,SAAAA,EAAY3tC,GAAO,IAAA1C,EAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAmwC,IACjBrwC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA8xC,GAAAhwC,KAAAH,KAAMwC,KAuHRqxB,cAAgB,WAEd,OADoC/zB,EAAK0C,MAAjC+G,QAAW7D,YAzHF5F,EA6HnBg0B,aAAe,SAACxrB,GACd,IAAM8nC,EAAiBtwC,EAAK+zB,kBAAoBzP,GAAME,SACtD,OAAQhc,EAAKG,aAAeH,EAAKM,SAAaN,EAAKG,YAAcH,EAAKM,SAAWwnC,GA/HhEtwC,EAkInBk0B,WAAa,SAAC1rB,GACZ,IAAM+nC,EAAcvwC,EAAK+zB,kBAAoBzP,GAAMI,MACnD,OAAOlc,EAAKM,SAAWynC,GApINvwC,EAuInB8zB,oBAAsB,SAAClhB,EAAMiH,GAA2B,IAAjBgE,EAAiBjR,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GAAOynB,EAIlDxW,EAFFyW,eAFoD,IAAAD,EAE1C,CAAEpuB,MAAO,EAAGW,MAAO,KAFuBytB,EAAAE,EAIlD1W,EADF2W,sBAHoD,IAAAD,EAGnC,EAHmCA,EAMhD92B,EAAMc,OAAAkP,GAAA,EAAAlP,CAAA,GACPsf,EADO,CAEV2W,eAAgBruB,OAAOquB,GACvBC,UAAWH,EAAQruB,QAGrBjG,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASpgB,IDjLR,SAAqBi3B,EAASj3B,GAC5BuB,aAAO,GAAAhC,OAAID,KAAJ,cAAAC,OAA8B03B,GAAWj3B,EAAOsgB,UAC3D1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KC4K/CkyC,CACiB,IAHmBxwC,EAAK0C,MAAjC+G,QAAW7D,WAIjB,CACEmY,SAAU,CACRnL,OACAiH,WACAgE,QAASpgB,GAEXqS,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,qDA7KRU,EAmLnB0d,eAAiB,WACf1d,EAAKqB,SAAS,CACZd,SAAS,IAGXod,GAAe,CACb7N,UAAW,SAAA/I,GAAkB,IAAf8sB,EAAe9sB,EAAf8sB,SACZ7zB,EAAKqB,SAAS,CACZwyB,WACAtzB,SAAS,IAHgB,IAAAwB,EAMA/B,EAAKM,MAAxBsS,EANmB7Q,EAMnB6Q,KAAMiH,EANa9X,EAMb8X,SACd7Z,EAAK8zB,oBAAoBlhB,EAAMiH,IAEjChY,QAAS,SAACvD,GACR0C,QAAQC,IAAI3C,GACZgB,aAAmB,qDApMNU,EAyMnBywC,QAAU,SAACz4B,GACWhY,EAAK0C,MAAjBmC,QACAG,KAAR,4BAAAhI,OAAyCgb,EAAI9Y,MA3M5Bc,EA8MnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAK8zB,oBAAoBlhB,EAAMiH,EAAUgE,KAjN1B7d,EAqNnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK8zB,oBAAoB,EAAGja,EAAU7K,KAxNvBhP,EA4NnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK8zB,oBAAoB,EAAGja,EAAU,KA9NrB7Z,EAiOnBs1B,uBAAyB,SAACtd,GD/NrB,IAAwBgQ,EAAa9M,EACnCnU,EC+NDiR,IDhOuBgQ,ECiOVhQ,EAAI9Y,GDjOmBgc,ECiOf,CACrBpL,UAAW,WAAM,IAGTylB,EAFYv1B,EAAKM,MAAfoZ,MAEerT,IAAI,SAAAkS,GAAI,OAC7BA,EAAKrZ,KAAO8Y,EAAI9Y,GAAhBX,OAAAkP,GAAA,EAAAlP,CAAA,GAA0Bga,EAA1B,CAAgCid,kBAAmBxd,EAAIwd,mBAAqBjd,IAG9EvY,EAAKqB,SAAS,CACZqY,MAAO6b,IAGTn2B,aAAoB,WAAApC,OACLgb,EAAIwd,iBAAmC,cAAhB,cADlB,2BAItB3zB,QAAO,eAAA6uC,EAAAnyC,OAAAoyC,GAAA,EAAApyC,CAAAqyC,GAAA3uC,EAAA4uC,KAAE,SAAAC,EAAOxyC,GAAP,OAAAsyC,GAAA3uC,EAAA8uC,KAAA,SAAAC,GAAA,cAAAA,EAAA9E,KAAA8E,EAAAC,MAAA,OACH3yC,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,oDAJd,wBAAA0xC,EAAAE,SAAAJ,MAAF,gBAAAK,GAAA,OAAAT,EAAA/jC,MAAAzM,KAAA0M,YAAA,IDhPN5N,aAAO,GAAAhC,OAAID,KAAJ,0BAA2CirB,GACtD3pB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,OARIxgB,EAAAxI,OAAAoyC,GAAA,EAAApyC,CAAAqyC,GAAA3uC,EAAA4uC,KAQE,SAAAC,EAAOxyC,GAAP,OAAAsyC,GAAA3uC,EAAA8uC,KAAA,SAAAC,GAAA,cAAAA,EAAA9E,KAAA8E,EAAAC,MAAA,WACD/1B,IAAYA,EAASrZ,QADpB,CAAAmvC,EAAAC,KAAA,eAAAD,EAAAI,GAC6Bl2B,EAD7B81B,EAAAC,KAAA,EACoD3yC,EAAMF,OAD1D,OAAA4yC,EAAAK,GAAAL,EAAAM,KAAAN,EAAAI,GACsCvvC,QADtCxB,KAAA2wC,EAAAI,GAAAJ,EAAAK,IAAA,wBAAAL,EAAAE,SAAAJ,MARF,SAAAK,GAAA,OAAApqC,EAAA4F,MAAAzM,KAAA0M,gBCHY5M,EA8PnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAlQEvG,EAqQnBy1B,YAAc,WAAM,IAAAC,EACQ11B,EAAKM,MAAvBuzB,SAER,YAHkB,IAAA6B,EACC,GADDA,GAnQlB,IAAMltB,EAAOnL,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GAF/C,OAIjBwC,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,IACf20B,SAAU,IAEZ7zB,EAAKyZ,QAAU,CACb,CACElT,IAAK,mBACLzF,KAAM,UACNqP,MAAO,OACP+J,QAAQ,EACRX,QAASvZ,EAAKg0B,aAAaxrB,GAC3BnF,KAAM,CACJ6X,SAAU,SAAAlD,GAAG,OAAKhY,EAAKs1B,uBAAuBtd,IAC9CtH,UAAW,SAAAsH,GAAG,OACZrU,EAAA1B,EAAAC,cAAA,QACEK,UAAWyV,EAAIwd,iBAAmB,aAAe,eACjDxxB,MAAOgU,EAAIwd,iBAAmB,qBAAuB,6BAK7D,CACEjvB,IAAK,WACLzF,KAAM,WACNoZ,OAAQla,EAAKk0B,WAAW1rB,GACxB+Q,QAASvZ,EAAKk0B,WAAW1rB,IAE3B,CACEjC,IAAK,gBACLzF,KAAM,iBACNoZ,QAAQ,EACRX,SAAS,GAEX,CACEhT,IAAK,UACLzF,KAAM,UACNqa,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIgd,cAAX,OAAAh4B,OAA8Bgb,EAAIuI,QAAlC,OAAAvjB,OAA+Cgb,EAAI+X,UAC9D7V,QAAQ,EACR/J,MAAO,SAET,CACE5J,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,EACRX,SAAS,EACThX,UAAW,cACX4N,MAAO,QACP1Q,KAAM,SACN6Y,YAAa,CACX1C,QAAS5V,EAAKy1B,aAEhBta,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIsc,QAAUtc,EAAIsc,QAAU,OAEhD,CACE/tB,IAAK,QACLzF,KAAM,QACNqP,MAAO,QACP5N,UAAW,cACX2X,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,OAAIA,EAAI8Z,QAErB,CACEvrB,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,OAAIA,EAAIkY,UAErB,CACE3pB,IAAK,iBACLzF,KAAM,WACNrB,KAAM,SACNya,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAI4Z,iBAAX,SACXzhB,MAAO,OACP5N,UAAW,eAEb,CACEgE,IAAK,qBACLzF,KAAM,UACNrB,KAAM,SACNya,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,OACTrU,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAOuR,EAAIoiB,mBAAqB,EAAI,UAAY,YAChDhL,MAAI,GAEHpX,EAAIoiB,sBAIXjqB,MAAO,OACP5N,UAAW,eAEb,CAAEgE,IAAK,UAAWzF,KAAM,YAAUqP,MAAO,SAE3CnQ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,gBACzCkX,SAAU,SAAClD,GACThY,EAAKywC,QAAQz4B,MA9GFhY,mFAqHjBE,KAAKwd,kDAsJE,IAAAjd,EAAAP,KAAAgf,EAQHhf,KAAKI,MANPC,EAFK2e,EAEL3e,QACAmZ,EAHKwF,EAGLxF,MACA9G,EAJKsM,EAILtM,KACAiH,EALKqF,EAKLrF,SACAC,EANKoF,EAMLpF,gBACA+D,EAPKqB,EAOLrB,QAEF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,wBAGJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EAAUoD,EAAA1B,EAAAC,cAACmd,GAAD,MAEP1b,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,6CACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aA/SMpc,iBA6TzBC,eAAWqH,YAAQ,SAAAnK,GAAK,MAAK,CAC1CmJ,QAASnJ,EAAMmJ,UADSgB,CAEtB4lC,KCvVEkB,iOAsBK,IAAA/tC,EAGHtD,KAAKwC,MADP5B,EAFK0C,EAEL1C,KAAMqK,EAFD3H,EAEC2H,SAAUlF,EAFXzC,EAEWyC,MAAOC,EAFlB1C,EAEkB0C,SAGzB,OACEvC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cACboB,EAAA1B,EAAAC,cAAA,SACEK,UAAS,oBAAAvF,OAAgC,KAAViJ,EAAe,WAAa,IAC3DxG,KAAK,WACLqB,KAAMA,EACNoF,SAAUA,EACVsF,QAASvF,EACTkF,SAAUA,IAEZxH,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,0BACVqB,QAAS,kBAAMsC,GAAUD,KAH3B,kBArCwB9C,iBAA1BouC,GAYGlqC,aAAe,CAEpB8D,UAAU,GAkCd,IAAMqmC,GAA0B,SAAC9uC,GAAU,IACjCuJ,EAAoCvJ,EAApCuJ,MAAOb,EAA6B1I,EAA7B0I,eAAgBD,EAAazI,EAAbyI,SAE/B,OACExH,EAAA1B,EAAAC,cAACuvC,GAADlzC,OAAA+N,OAAA,GACML,EADN,CAEEb,eAAgBA,EAChBD,SAAUA,MAchBqmC,GAAwBnqC,aAAe,CACrC+D,eAAgB,KAChBD,UAAU,GAGGqmC,oBCzDAziC,GApBE,SAAAhI,GAEX,IAAA2qC,EAAA3qC,EADJ8hC,mBACI,IAAA6I,EADU,GACVA,EAAAC,EAAA5qC,EADc+iB,oBACd,IAAA6nB,EAD6B,EAC7BA,EAAAC,EAAA7qC,EADgC8qC,oBAChC,IAAAD,EAD+C,GAC/CA,EACE1iC,EAAS,GAcf,OAZK25B,IACH35B,EAAO25B,YAAc,4BAGlB/e,GAAgBA,GAAgB,KACnC5a,EAAO4a,aAAe,0BAGnB+nB,IACH3iC,EAAO2iC,aAAe,2BAGjB3iC,GCRH4iC,GAAsB,SAAA/qC,GAUtB,IAAAggC,EAAAhgC,EATJ0a,cASI,IAAAslB,EATK,GASLA,EAAAz5B,EAAAvG,EARJoF,KAAQ7N,EAQJgP,EARIhP,MAAOqjB,EAQXrU,EARWqU,aACfG,EAOI/a,EAPJ+a,aACAiwB,EAMIhrC,EANJgrC,OACAr4B,EAKI3S,EALJ2S,MACAoQ,EAII/iB,EAJJ+iB,aACAkoB,EAGIjrC,EAHJirC,UACAxS,EAEIz4B,EAFJy4B,WACAC,EACI14B,EADJ04B,SAEMpnB,EAAa,CACjBY,SAAU,OACV7I,OAAQ,OACR3J,MAAO,cACPsnB,UAAW,SACXnX,WAAY,QAKd,OACEjT,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,gCACfoB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,0BACAve,EAAA1B,EAAAC,cAAA,MACE0B,QAAS,kBAAMmuC,EAAO,CAAEvS,WAAY,SAAUC,cAC9Cvd,MAAM,aAFR,SAIS,IACPve,EAAA1B,EAAAC,cAAA,KACEK,UAAS,oBAAAvF,OAC4B,WAAfwiC,GAAwC,SAAbC,EAAsBA,EAAW,OAElF5uB,cAAY,UAGhBlN,EAAA1B,EAAAC,cAAA,MACE0B,QAAS,kBAAMmuC,EAAO,CAAEvS,WAAY,WAAYC,cAChDvd,MAAM,aAFR,WAIW,IACTve,EAAA1B,EAAAC,cAAA,KACEK,UAAS,oBAAAvF,OAAqC,aAAfwiC,GAA0C,SAAbC,EAAsBA,EAAW,OAC7F5uB,cAAY,UAGhBlN,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,sBAGJve,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAAC4rC,EAAOtxB,GAAR,OACVhd,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,GAAAvJ,OAAKi1C,GAAS/yC,GAAE,GAAAlC,OAAKi1C,GAAS1vC,UAAWmX,EAAMiH,IAAUjH,EAAMiH,GAAOqmB,QAAU,SAAW,IAChGrjC,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,OACEK,UAAU,kEACVmE,MAAO,CAAE6P,QAAS,SAElB5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKi1C,EAAL,oBACJvhC,UAAU,QACVhD,aAAa,QACbjO,KAAK,OACL8N,UA/CG,EAgDHpC,UAhDG,OAsDXxH,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mEACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKi1C,EAAL,WACJvhC,UAAU,QACVhD,aAAa,QACbjO,KAAK,OACL8N,UA9DG,EA+DHpC,UA/DG,OAoEXxH,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mEACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKi1C,EAAL,aACJvhC,UAAU,QACVhD,aAAa,QACbjO,KAAK,OACL8N,UA5EG,EA6EHpC,UA7EG,OAmFXxH,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mEACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE/J,MAAO2R,EACPvX,KAAI,GAAA9D,OAAKi1C,EAAL,oBACJxyC,KAAK,SACL2N,IAAK0c,EACL3c,IAAI,IACJuD,UAAW1D,GACXU,aAAa,QACbiL,OAAQ,SAAAnK,GAAgB,IAAbmB,EAAanB,EAAbmB,OACHka,EAAkBnQ,EAAMiH,IAAUjH,EAAMiH,GAAOkJ,gBACvC1jB,OAAOwJ,EAAO1J,SAEd4jB,GACZ/H,EAAa,CACXnS,SACA7O,KAAM2gB,EAAO3gB,KACbif,gBAAiBrG,EAAMiH,IAAUjH,EAAMiH,GAAOZ,mBAIpDziB,MAAO,SAAA2I,GAAK,OAAIE,OAAOF,IACvBsH,SAAUykC,EACV7mC,SAAU6mC,YAWxBrwB,GAAgBrjB,GACdqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,yBAAyBmE,MAAO,CAAEub,aAAc,WAC7D3jB,KAoBbwzC,GAAoBzqC,aAAe,CACjC8E,KAAM,GACN2d,aAAc,EACd0V,WAAY,SACZC,SAAU,OAGGqS,UCtJTI,eA4BJ,SAAAA,EAAYxvC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAgyC,IACjBlyC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA2zC,GAAA7xC,KAAAH,KAAMwC,KAIRyY,OAAS,WAAe,IAAd1G,EAAc7H,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GACf,OAAI6H,EACKC,GAAWD,EAAK4I,MAAM,KAAK,IAG7B,IARPrd,EAAKM,MAAQ,GAFIN,wEAaV,IAAAS,EAAAP,KAAAsD,EAIHtD,KAAKwC,MAFPnC,EAFKiD,EAELjD,QACA0P,EAHKzM,EAGLyM,YAGF,GAAI1P,EACF,OAAO0P,IAPF,IAAA9F,EAyBHjK,KAAKwC,MAdPsN,EAXK7F,EAWL6F,aACAwW,EAZKrc,EAYLqc,iBACA2rB,EAbKhoC,EAaLgoC,WACA5U,EAdKpzB,EAcLozB,uBACAjtB,EAfKnG,EAeLmG,WACAmS,EAhBKtY,EAgBLsY,OACAqH,EAjBK3f,EAiBL2f,aACAuY,EAlBKl4B,EAkBLk4B,QACA+P,EAnBKjoC,EAmBLioC,oBACA5U,EApBKrzB,EAoBLqzB,YACA7T,EArBKxf,EAqBLwf,6BACA0oB,EAtBKloC,EAsBLkoC,mBACA7S,EAvBKr1B,EAuBLq1B,WACAC,EAxBKt1B,EAwBLs1B,SAGF,OACE97B,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAEspB,UAAW,SAC9CqS,EACC1+B,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOE,KAEJrM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,sBAOF9e,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMk0B,QAAM,EAACtsC,UAAU,OAAOyO,SAAUhB,GACtCrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAIgoB,EAAU,GAAK,EAAGrX,GAAI,IAC7BrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,wBAGF8/B,GAAWgQ,EACX1uC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI2Q,GAAI,IACfrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,WAAb,oCACwCmW,GAAey1B,OAK3D,KAEJ1uC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,SACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW1D,GACXC,YAAY,QACZS,aAAa,QACb+5B,UAAQ,EACRhoC,KAAK,OACLyN,UAAU,MACV/B,UAAWk3B,OAKnB1+B,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW1D,GACXG,IAAI,IACJC,IAAI,OACJH,YAAY,gBACZS,aAAa,QACbjO,KAAK,SACL0L,UAAWk3B,EACX/kC,MAAO,SAAAwqC,GAAG,OAAI3hC,OAAO2hC,SAK7BnkC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,2BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,wBACL4P,UAAW1D,GACXG,IAAI,IACJC,IAAI,MACJH,YAAa0c,EAA+B,0BAA4B,mBACxEjc,aAAa,QACbjO,KAAK,SACL0L,UAAWwe,IAAiC0Y,EAC5ClnB,OAAQ,SAAAlV,GAAK,OAAK0jB,EAA+B1jB,EAAQ,IACzD3I,MAAO,SAAAwqC,GAAG,OAAI3hC,OAAO2hC,SAK7BnkC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAW1D,GACXC,YAAY,gBACZS,aAAa,QACbjO,KAAM4iC,EAAU,OAAS,OACzBl3B,UAAWk3B,EACXlnB,OAAQ,SAAAlV,GAAK,OAAKo8B,EAAUp8B,EAAQxF,EAAK0a,OAAOlV,UAO1DtC,EAAA1B,EAAAC,cAAA,WACAyB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GACd3W,EAAA1B,EAAAC,cAACowC,GAAA,EAAD,CAAWt6B,KAAG,EAACzV,UAAU,QACvBoB,EAAA1B,EAAAC,cAACu7B,GAAA,EAAD,CAAOE,IAAI,UAAU1N,GAAI,EAAG1tB,UAAU,qCAAtC,oBACAoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,GACPtsB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW1D,GACXC,YAAY,iBACZS,aAAa,QACbjO,KAAK,OACLyG,SAAUq3B,EACVrwB,UAAW,GACXyI,aAAc6nB,SAQ1B75B,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACE7d,IAAI,sBACJzF,KAAK,sBACL4P,UAAWohC,GACXp4B,MAAO04B,EACPtoB,aAAcA,EACdkoB,WAAY3P,EACZ7C,WAAYA,EACZC,SAAUA,EACV3d,aAAc0E,EACdurB,OAAQI,IAGVxuC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAEspB,UAAW,SAC9CqS,EACC1+B,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOE,KAEJrM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCAnOatf,iBAArB+uC,GAsBG7qC,aAAe,CACpBiJ,YAAY,EACZ+xB,SAAS,EACT7E,YAAa,IAwNjB,IAMejxB,MANW0E,aAAU,CAClCC,KAAM,eACNnC,YACAwQ,oBAAoB,GAHItO,CAIvBihC,KC2CY3oB,eApSb,SAAAA,EAAY7mB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAqpB,IACjBvpB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAgrB,GAAAlpB,KAAAH,KAAMwC,KAoBR+oC,mBAAqB,SAACvsC,GACpBc,EAAKqB,SAAS,CAAEd,SAAS,IAEpBrB,E5DeF,SAAAgsB,GAAiD,IAA1BhsB,EAA0BgsB,EAA1BhsB,GAAI4Q,EAAsBob,EAAtBpb,UAAWjO,EAAWqpB,EAAXrpB,QACpClD,aAAM,GAAA3B,OAAIL,KAAJ,cAAAK,OAAmCkC,IAC7Cb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,K4DbvBi0C,CAAY,CACVrzC,KACA4Q,UAAW,SAACmiC,GAAU,IACZJ,EAAiBI,EAAjBJ,aACR7xC,EAAKqB,SAAS,CACZd,SAAS,EACT0xC,MAAM1zC,OAAAkP,GAAA,EAAAlP,CAAA,GACD0zC,EACA,CACDJ,aAAcA,EAAax0B,MAAM,KAAK,QAK9Cxb,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IAErBjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,+BAEnBA,aAAmB,8DA/BvBU,EAAKqB,SAAS,CACZd,SAAS,EACT0xC,MAAO,CACL/yC,GAAI,EACJ2pC,YAAa,OA7BF7oC,EA8DnBgQ,aAAe,SAAChB,GACd,GAAKA,EAAL,CAEAhP,EAAKqB,SAAS,CAAEd,SAAS,IAHA,I5DmCtBmuB,EAAwB0d,EAASt8B,EAAWjO,E4D7B7C3C,EAOE8P,EAPF9P,GACAwqB,EAME1a,EANF0a,iBACAmf,EAKE75B,EALF65B,YACAgJ,EAIE7iC,EAJF6iC,aACA/nB,EAGE9a,EAHF8a,aACA0oB,EAEExjC,EAFFwjC,sBACAxL,EACEh4B,EADFg4B,QAGMrd,EAAiC3pB,EAAK0C,MAAtCinB,6B5DoBmByiB,GAAxB1d,E4DlBU,CACX0d,QAAS,CACPltC,KACAwqB,mBACAmf,cACAgJ,eACA/nB,eACA0oB,sBAAuB7oB,EAA+B6oB,EAAwB,EAC9ExL,WAEFl3B,UAAW,SAAC2iC,GACVzyC,EAAKqB,SAAS,CAAEd,SAAS,IAEzBP,EAAKyrC,mBAAmBgH,GACxBrzC,aAAqB,yCAEvByC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IAErBjC,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,+D5DJE8sC,QAASt8B,EAAsB4e,EAAtB5e,UAAWjO,EAAW6sB,EAAX7sB,QAC1C7C,aAAO,GAAAhC,OAAIL,KAAJ,aAAmCyvC,GAC9C/tC,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,O4D3GN0B,EA2GnB4lB,aAAe,YAEb8sB,EADuB1yC,EAAK0C,MAApBgwC,eA5GS1yC,EAgHnBwmB,iBAAmB,SAAAzf,GAIb,IAHJjG,EAGIiG,EAHJjG,KACA6O,EAEI5I,EAFJ4I,OACAoQ,EACIhZ,EADJgZ,gBAEM9Z,EAAwB,WAAhB0J,EAAOlQ,KACjB0G,OAAOwJ,EAAO1J,OACd,GAAAjJ,OAAG2S,EAAO1J,OAAQygB,OAEtB,GAAI3G,EAAiB,KACXkyB,EAAUjyC,EAAKM,MAAf2xC,MACFv4B,EAAQu4B,EAAMnxC,GAEdylB,EAAQhoB,OAAA4nB,GAAA,EAAA5nB,CAAOmb,GACfiH,EAAQ4F,EAAS0G,UAAU,SAAA1U,GAAI,OAAIA,EAAKwH,kBAAoBA,IAkBlE,OAhBAwG,EAAS5F,GAATpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKgoB,EAAS5F,GADdpiB,OAAAmR,GAAA,EAAAnR,CAAA,GAGKoR,EAAO7O,KAAKuc,MAAM,KAAK,GAAKpX,IAIjCjG,EAAKqB,SAAS,CACZ4wC,MAAM1zC,OAAAkP,GAAA,EAAAlP,CAAA,GACD0zC,EADA1zC,OAAAmR,GAAA,EAAAnR,CAAA,GAEFuC,EAAOylB,WAIZvmB,EAAK2yC,uBAAuBpsB,EAAS5F,IAKvC3gB,EAAKqB,SAAS,SAAA6qC,GAAI,MAAK,CACrB+F,MAAM1zC,OAAAkP,GAAA,EAAAlP,CAAA,GACD2tC,EAAK+F,MADL1zC,OAAAmR,GAAA,EAAAnR,CAAA,GAGAoR,EAAO7O,KAAOmF,QAvJJjG,EA6JnBmyC,WAAa,SAAA3jC,GAA8B,IAA3BgxB,EAA2BhxB,EAA3BgxB,WAAYC,EAAejxB,EAAfixB,SAC1Bz/B,EAAKqB,SAAS,CACZm+B,aACAC,SAAuB,SAAbA,EAAsB,MAAQ,UAhKzBz/B,EAoKnBu9B,uBAAyB,SAAArV,GAA2B,IAAdjiB,EAAciiB,EAAxBvY,OAAU1J,MACpCjG,EAAKqB,SAAS,CAAEm8B,YAAav3B,KArKZjG,EAwKnBm/B,cAAgB,kBAAAvyB,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAS,IAAawyB,UAAU,OAAO3F,QAAQ,mBAAoB,IAAI4F,eAxKpEr/B,EA0KnB4yC,uBAAyB,WAAM,IAAA7wC,EAMzB/B,EAAKM,MANoBuyC,EAAA9wC,EAE3By7B,mBAF2B,IAAAqV,EAEb,GAFaA,EAG3BrT,EAH2Bz9B,EAG3By9B,WACAC,EAJ2B19B,EAI3B09B,SAJ2BqT,EAAA/wC,EAK3BkwC,MAASG,2BALkB,IAAAU,EAKI,GALJA,EAQvB94B,EAASha,EAAKm/B,cAAc3B,GAYlC,OAVe4U,EACZp4B,OAAO,SAAA2lB,GAAG,OACT3/B,EAAKm/B,cAAcQ,EAAI5f,iBAAiBqU,SAASpa,IAC9Cha,EAAKm/B,cAAcQ,EAAIxhB,QAAQiW,SAASpa,IACxCha,EAAKm/B,cAAcQ,EAAIvhB,UAAUgW,SAASpa,KAE9C4lB,KAAK,SAAC39B,EAAG49B,GAAJ,MACS,QAAbJ,EAAqBx9B,EAAEu9B,GAAYM,cAAcD,EAAEL,IAAeK,EAAEL,GAAYM,cAAc79B,EAAEu9B,OA3LnFx/B,EAiMnB+yC,cAAgB,SAAC/6B,GACf,GAAKA,EAAL,CADuB,I5DnDSg7B,EAAc93B,E4DuD5Chc,EAIE8Y,EAJF9Y,GACA+zC,EAGEj7B,EAHFi7B,qBACAppB,EAEE7R,EAFF6R,gBACAD,EACE5R,EADF4R,e5D1D8BopB,E4D6DZ,CAClB9zC,KACA+zC,uBACAppB,kBACAD,kB5DjE4C1O,E4DkE3C,CACDpL,UAAW,WACT1Q,aAAqB,sCAEvByC,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,wD5DzEpBN,aAAO,GAAAhC,OAAIL,KAAJ,0BAAgDq2C,GAC3D30C,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,O4DrJrD0B,EAAKM,MAAQ,CACX2xC,MAAO,CACLG,oBAAqB,IAEvB7xC,SAAS,EACTi9B,YAAa,GACbgC,WAAY,WACZC,SAAU,QAGZz/B,EAAK2yC,uBAAyB9U,GAAS79B,EAAK+yC,cAAe,KAb1C/yC,mFAgBC,IACVd,EAAOgB,KAAKwC,MAAZxD,GACRgB,KAAKurC,mBAAmBvsC,oCA4MjB,IAAAsE,EAKHtD,KAAKwC,MAHPxD,EAFKsE,EAELtE,GACAwqB,EAHKlmB,EAGLkmB,iBACAC,EAJKnmB,EAILmmB,6BAJKrL,EAaHpe,KAAKI,MALP2xC,EARK3zB,EAQL2zB,MACA1xC,EATK+d,EASL/d,QACAi9B,EAVKlf,EAULkf,YACAgC,EAXKlhB,EAWLkhB,WACAC,EAZKnhB,EAYLmhB,SAGF,OACE97B,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,mBAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,aAAe,WADvB,oBAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAEL9Z,EAAUoD,EAAA1B,EAAAC,cAACmd,GAAD,MAEN1b,EAAA1B,EAAAC,cAACgxC,GAAD30C,OAAA+N,OAAA,GACM2lC,EADN,CAEEvoB,iBAAkBA,EAClBC,6BAA8BA,EAC9ByoB,oBAAqBlyC,KAAK0yC,yBAC1BpV,YAAaA,EACbxsB,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACbrlB,QAASA,EACTwM,cAAeklC,EACfzS,WAAYA,EACZC,SAAUA,EAEVjZ,iBAAkBtmB,KAAKsmB,iBACvB2rB,WAAYjyC,KAAKiyC,WACjB5U,uBAAwBr9B,KAAKq9B,uBAE7BttB,YAAa/P,KAAK+P,YAClBsP,oBAAkB,eAlRNpc,iBCY1BomB,eASJ,SAAAA,EAAY7mB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAqpB,IACjBvpB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAgrB,GAAAlpB,KAAAH,KAAMwC,KA8FR8mB,YAAc,SAAC5W,EAAMiH,EAAUgE,GAAY,IAEvC6L,EACE1pB,EAAK0C,MADPgnB,iBAGF1pB,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,K7D3HnB,SAAArP,GAKJ,IAJDkb,EAIClb,EAJDkb,iBAIC8C,EAAAhe,EAHDuP,gBAGC,IAAAyO,EAHU,CAAE5Z,KAAM,EAAGiH,SAAU,IAG/B2S,EAFD1c,EAECtB,EAFDsB,UACAjO,EACC2M,EADD3M,QAEO7C,aAAO,GAAAhC,OAAIL,KAAJ,KAAAK,OAA0B0sB,EAA1B,iBAA2D3L,GACtE1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,K6D+GvB60C,CAAe,CACbzpB,mBACA3L,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAAA/I,GAAgC,IAA7B2S,EAA6B3S,EAA7B2S,MAAOI,EAAsB/S,EAAtB+S,gBACnB9Z,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,QACAI,qBAGJjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,iEA3HNU,EAgInBsmC,mBAAqB,SAACC,GACpB,IAAMzlC,EAAI,GAAA9D,OAAMupC,EAAOsC,aACvB/6B,GAAQ,CACN9J,MAAO,wBACP+J,SAAQ,mDAAA/Q,OAAkD8D,EAAlD,MACRkN,SAAU,aACVE,QAAS,aACTC,UAAW,W7D6CV,IAAwBjP,EAAIgc,EAAJhc,E6D5CRqnC,EAAOrnC,G7D4CKgc,E6D5CD,CACxBpL,UAAW,WACT1Q,aAAqB,8BADN,IAAA2C,EAEY/B,EAAKM,MAAxBsS,EAFO7Q,EAEP6Q,KAAMiH,EAFC9X,EAED8X,SACd7Z,EAAKwpB,YAAY5W,EAAMiH,IAEzBhY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,sBAEnBA,aAAmB,oC7DmCxBH,aAAS,GAAAnC,OAAIL,KAAJ,cAAAK,OAAmCkC,IAChDb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,S6D9LpC0B,EA0JnB4sB,eAAiB,WACf5sB,EAAKqB,SAAS,CACZ8Y,UAAU,EACVi5B,SAAU,IAGZpzC,EAAKwe,2BAhKYxe,EAmKnBwmC,KAAO,SAACD,GACNvmC,EAAKqB,SAAS,CACZ8Y,UAAU,EACVi5B,SAAU7M,EAAOrnC,MAtKFc,EA0KnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAKwpB,YAAY5W,EAAMiH,EAAUgE,KA7KlB7d,EAiLnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKwpB,YAAY,EAAG3P,EAAU7K,KApLfhP,EAwLnBwe,wBAA0B,WAAM,IAAAU,EACAlf,EAAKM,MAA3BuZ,EADsBqF,EACtBrF,SACAP,EAFsB4F,EACZrB,QACVvE,eACRtZ,EAAKwpB,YAAY,EAAG3P,EAAU,CAAEP,oBA3LftZ,EA8LnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAlMEvG,EAqMnBgQ,aAAe,YAIbA,EAHyBhQ,EAAK0C,MAAtBsN,cAGK,CAAE2Z,6BAF0B3pB,EAAKM,MAAtCqpB,gCAvMS3pB,EA4MnBqzC,oBAAsB,SAAC1pB,QACgBrS,IAAjCqS,IAIJ3pB,EAAKqB,SAAS,CAAEsoB,kCAIhB3Z,EAFyBhQ,EAAK0C,MAAtBsN,cAEK,CAAE2Z,mCAnNf3pB,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,IACfib,UAAU,EACVi5B,SAAU,GAGZpzC,EAAKgQ,aAAauE,KAAlBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAEAA,EAAKszC,mBAAqB,CACxBtjB,UAAW,MACXzZ,QAAS,OACT2F,eAAgB,UAGlBlc,EAAKyZ,QAAU,SAAAkQ,GAA4B,MAAI,CAC7C,CAAEpjB,IAAK,KAAMzF,KAAM,IAAKqP,MAAO,QAC/B,CACE5J,IAAK,cAAezF,KAAM,QAASqP,MAAO,OAAQ+J,QAAQ,GAE5D,CACE3T,IAAK,eACLzF,KAAM,gBACNqP,MAAO,OACP5N,UAAW,cACX4Y,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAI8R,gBAExB,CACEvjB,IAAK,wBACLzF,KAAM,0BACNqP,MAAO,OACP5N,UAAW,cACX4Y,OAAQ,SAAAnD,GAAG,SAAAhb,OAAO2sB,EAA+B3R,EAAIw6B,sBAAwB,cAE/E,CACEjsC,IAAK,eACLzF,KAAM,gBACNoZ,QAAQ,EACR3X,UAAW,cACX4N,MAAO,QACPgL,OAAQ,SAAAnD,GAAG,OAAItD,GAAWsD,EAAI65B,gBAEhC,CACEtrC,IAAK,UACLzF,KAAM,SACNqP,MAAO,OACP5N,UAAW,iBAGfvC,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,WACzCkX,SAAU,SAACqrB,GACTvmC,EAAKwmC,KAAKD,KAGd,CACEhgC,IAAK,SACLgT,SAAS,EACTlW,KAAM,SAAA2U,GAAG,OACPrU,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,QAAMhD,GAAE,sBAAAlC,OAAwBgb,EAAI9Y,IAAMqD,UAAU,cAAcyB,MAAM,WACxEL,EAAA1B,EAAAC,cAACwkC,GAAA,EAAD,CACEC,QAAQ,SACR3qB,UAAU,OACVrM,OAAM,sBAAA3S,OAAwBgb,EAAI9Y,IAClCqD,UAAU,OACV4I,UAAW6M,EAAIoiB,oBAEfz2B,EAAA1B,EAAAC,cAAC0kC,GAAA,EAAD,oCACAjjC,EAAA1B,EAAAC,cAAC2kC,GAAA,EAAD,gDAIN3rB,SAAU,SAACqrB,GACJA,EAAOnM,oBACVp6B,EAAKsmC,mBAAmBC,MAnFfvmC,mFA0FC,IAAAmf,EACSjf,KAAKI,MAAxBsS,EADUuM,EACVvM,KAAMiH,EADIsF,EACJtF,SACd3Z,KAAKspB,YAAY5W,EAAMiH,oCA4HhB,IAAApZ,EAAAP,KAELK,EACEL,KAAKI,MADPC,QAIA8xC,EACEnyC,KAAKwC,MADP2vC,mBAGF,GAAI9xC,IAAY8xC,EACd,OAAO1uC,EAAA1B,EAAAC,cAACmd,GAAD,MAVF,IAAA7b,EAiBHtD,KAAKwC,MAHPgnB,EAdKlmB,EAcLkmB,iBACAC,EAfKnmB,EAeLmmB,6BACA0Y,EAhBK7+B,EAgBL6+B,QAhBKnU,EAsBHhuB,KAAKI,MAFP6Z,EApBK+T,EAoBL/T,SACAi5B,EArBKllB,EAqBLklB,SAGF,GAAIj5B,EACF,OACExW,EAAA1B,EAAAC,cAACqxC,GAAD,CACEr0C,GAAIk0C,EACJ1pB,iBAAkBA,EAClBC,6BAA8BA,EAC9B0oB,mBAAoBA,EACpBK,WAAYxyC,KAAK0sB,iBA/BhB,IAAA4N,EA0CHt6B,KAAKI,MALPoZ,EArCK8gB,EAqCL9gB,MACA9G,EAtCK4nB,EAsCL5nB,KACAiH,EAvCK2gB,EAuCL3gB,SACAC,EAxCK0gB,EAwCL1gB,gBACA+D,EAzCK2c,EAyCL3c,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,4BAEAoB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAO47B,EAAU,UAAY,WAApC,oCACiCzlB,GAAey1B,KAGjDhQ,EACC1+B,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACVqB,QAAS,kBAAMnD,EAAK+lC,KAAK,CAAEtnC,GAAI,MAE/ByE,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eALf,yBAQA,MAGNoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GACP1W,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQsoB,WAAY,WAAY7O,UAAW,SAE9DqS,EACE1+B,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CACEk0B,QAAM,EACNtsC,UAAU,OACVzB,KAAK,oBACLkQ,SAAU9Q,KAAK8P,cAEfrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI2Q,GAAI,GACfrnB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,mBACVmE,MAAO,CACL6P,QAAS,OACT0L,aAAc,MACd6M,cAAe,SACf+P,WAAY,WAGdl7B,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,2BAAhB,2BACAoB,EAAA1B,EAAAC,cAAA,OACEwE,MAAO,CACL6P,QAAS,OACTsoB,WAAY,WAGdl7B,EAAA1B,EAAAC,cAAA,UAAIyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAOkjB,EAA+B,YAAc,WAA3D,OACJhmB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,yBAAyBmE,MAAO,CAAEyJ,MAAO,OAAQqjC,OAAQ,eACtE7vC,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACEpF,WAAYnL,KAAKozC,mBACjBxyC,KAAK,+BACL4P,UAAW8gC,GACXvrC,MAAO0jB,EACPzjB,SAAUhG,KAAKmzC,uBAGnB1vC,EAAA1B,EAAAC,cAAA,UAAIyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAQkjB,EAA6C,UAAd,aAA9C,WAKV,QAMZhmB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,uCACNyV,QAASvZ,KAAKuZ,QAAQkQ,GACtBjQ,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnB+G,gBAAiBA,EACjB9I,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrB7E,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3C0R,WAAY/X,KAAKsgC,gBACjB1tB,YAAa4G,EAAM1T,OACnB4M,KAAMA,EACNiH,SAAUA,EACVP,eAAgBuE,EAAQvE,eACxBvM,cAAe8Q,EACf0B,oBAAkB,aArWEpc,iBAmXjBoJ,MANgB0E,aAAU,CACvCC,KAAM,oBAENqO,oBAAoB,GAHStO,CAI5BsY,eCxYYxa,GAVE,SAAAhI,GAAmB,IAAA0sC,EAAA1sC,EAAhB0N,KACZvF,EAAS,GAMf,YAPkC,IAAAukC,EAAT,GAASA,KAIhCvkC,EAAOuF,KAAO,2BAGTvF,GCEHwkC,GAA0B,SAAA3sC,GAU1B,IAAAggC,EAAAhgC,EATJ0a,cASI,IAAAslB,EATK,GASLA,EAAAz5B,EAAAvG,EARJoF,KAAQ7N,EAQJgP,EARIhP,MAAOqjB,EAQXrU,EARWqU,aACfgyB,EAOI5sC,EAPJ4sC,gBACA5B,EAMIhrC,EANJgrC,OACAr4B,EAKI3S,EALJ2S,MACA6U,EAIIxnB,EAJJwnB,QACAyjB,EAGIjrC,EAHJirC,UACAxS,EAEIz4B,EAFJy4B,WACAC,EACI14B,EADJ04B,SAEM6T,EAAqB,CACzBtjB,UAAW,MACXzZ,QAAS,OACT2F,eAAgB,UAGZ03B,EAAU,CACdv9B,QAAS,WAGX,OAAKu9B,EAKHjwC,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,gCACfoB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIwE,MAAOktC,EAAS1xB,MAAM,aAA1B,0BACAve,EAAA1B,EAAAC,cAAA,MACEwE,MAAOktC,EACPhwC,QAAS,kBAAMmuC,EAAO,CAAEvS,WAAY,OAAQC,cAC5Cvd,MAAM,aAHR,SAKS,IACPve,EAAA1B,EAAAC,cAAA,KACEK,UAAS,oBAAAvF,OAC4B,SAAfwiC,GAAsC,SAAbC,EAAsBA,EAAW,OAEhF5uB,cAAY,UAGhBlN,EAAA1B,EAAAC,cAAA,MACEwE,MAAOktC,EACPhwC,QAAS,kBAAMmuC,EAAO,CAAEvS,WAAY,UAAWC,cAC/Cvd,MAAM,aAHR,WAKW,IACTve,EAAA1B,EAAAC,cAAA,KACEK,UAAS,oBAAAvF,OAAqC,YAAfwiC,GAAyC,SAAbC,EAAsBA,EAAW,OAC5F5uB,cAAY,UAGhBlN,EAAA1B,EAAAC,cAAA,MAAIwE,MAAOktC,EAAS1xB,MAAM,aAA1B,cAGJve,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAACuhB,EAASjH,GAAV,OACVhd,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,GAAAvJ,OAAK4qB,GAAW1oB,GAAE,GAAAlC,OAAK4qB,GAAWrlB,UAAWmX,EAAMiH,IAAUjH,EAAMiH,GAAOqmB,QAAU,SAAW,IACpGrjC,EAAA1B,EAAAC,cAAA,MAAIwE,MAAOktC,EAASrxC,UAAU,aAC5BoB,EAAA1B,EAAAC,cAAA,YAAOwX,EAAMiH,IAAUjH,EAAMiH,GAAOid,MAEtCj6B,EAAA1B,EAAAC,cAAA,MAAIwE,MAAOktC,EAASrxC,UAAU,aAC5BoB,EAAA1B,EAAAC,cAAA,YAAOwX,EAAMiH,IAAUjH,EAAMiH,GAAO7f,OAEtC6C,EAAA1B,EAAAC,cAAA,MAAIwE,MAAOktC,EAASrxC,UAAU,aAC5BoB,EAAA1B,EAAAC,cAAA,YAAOwX,EAAMiH,IAAUjH,EAAMiH,GAAOkzB,UAGtClwC,EAAA1B,EAAAC,cAAA,MAAIwE,MAAOktC,EAASrxC,UAAU,aAC5BoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,OACEK,UAAU,kEACVmE,MAAO,CAAEyJ,MAAO,SAEhBxM,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACEpF,WAAYioC,EACZxyC,KAAI,GAAA9D,OAAK4qB,EAAL,YACJlX,UAAW8gC,GACXvrC,MAAOsoB,EACProB,SAAU,SAACsF,GACTmoC,EAAgB,CACd7yC,KAAM2gB,EAAO3gB,KACb6O,OAAQ,CAAE7O,KAAI,GAAA9D,OAAK4qB,EAAL,YAAwBpc,WACtCoyB,IAAKlkB,EAAMiH,IAAUjH,EAAMiH,GAAOid,OAItCrwB,SAAUykC,EACV7mC,SAAU6mC,YAWxBrwB,GAAgBrjB,GACdqF,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,yBAAyBmE,MAAO,CAAEub,aAAc,WAC7D3jB,IAlFF,MAsGXo1C,GAAwBrsC,aAAe,CACrC8E,KAAM,GACNoiB,QAAS,KACTiR,WAAY,OACZC,SAAU,OAGGiU,UCpHTI,eACJ,SAAAA,EAAYpxC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAA4zC,IACjB9zC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAu1C,GAAAzzC,KAAAH,KAAMwC,KAMRyY,OAAS,WAAe,IAAd1G,EAAc7H,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GACf,OAAI6H,EACKC,GAAWD,EAAK4I,MAAM,KAAK,IAG7B,IATPrd,EAAKM,MAAQ,GAHIN,wEAeV,IAAAS,EAAAP,KAKP,GAFIA,KAAKwC,MADPnC,QAIA,OAAOoD,EAAA1B,EAAAC,cAACmd,GAAD,MANF,IAAA7b,EA2BHtD,KAAKwC,MAjBPsN,EAVKxM,EAULwM,aACA2jC,EAXKnwC,EAWLmwC,gBACAxB,EAZK3uC,EAYL2uC,WACA5U,EAbK/5B,EAaL+5B,uBACA/W,EAdKhjB,EAcLgjB,iBACAlW,EAfK9M,EAeL8M,WACAmS,EAhBKjf,EAgBLif,OACAsxB,EAjBKvwC,EAiBLuwC,YACA1R,EAlBK7+B,EAkBL6+B,QACAtV,EAnBKvpB,EAmBLupB,SACA7tB,EApBKsE,EAoBLtE,GACAuV,EArBKjR,EAqBLiR,KACAu/B,EAtBKxwC,EAsBLwwC,KACA3lB,EAvBK7qB,EAuBL6qB,UACAmP,EAxBKh6B,EAwBLg6B,YACAgC,EAzBKh8B,EAyBLg8B,WACAC,EA1BKj8B,EA0BLi8B,SAGF,OACE97B,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAEspB,UAAW,SACtBqS,EACC1+B,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOE,KAEJrM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,sBAOF9e,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMk0B,QAAM,EAACtsC,UAAU,OAAOyO,SAAUhB,GACtCrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAIgoB,EAAU,GAAK,EAAGrX,GAAI,IAC7BrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,yBAAiDrD,EAAE,KAAAlC,OAAQkC,GAAO,MAGtEyE,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAAItkB,MAAO,CAAE6P,QAAS,SACpC5S,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,sBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,aACLmM,YAAY,oBACZ2I,QAASm+B,EACTrjC,UAAW6G,GACXpM,UAAWk3B,OAKnB1+B,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,SACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,OACL4P,UAAW1D,GACX9G,SAAUsgB,EACVvZ,YAAY,QACZS,aAAa,QACbjO,KAAM4iC,EAAU,OAAS,OACzB1sB,aAAclB,EACdtJ,UAAWk3B,EACXlnB,OAAQ,SAAAlV,GAAK,OAAKo8B,EAAUp8B,EAAQxF,EAAK0a,OAAOlV,SAKxDtC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAAItkB,MAAO,CAAE6P,QAAS,SACpC5S,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,QACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,OACL4P,UAAW1D,GACXC,YAAY,OACZS,aAAa,QACbvC,UAAWk3B,EACXn1B,UAAW,GACXyI,aAAcq+B,OAKtBrwC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,cACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,YACL4P,UAAW1D,GACX9G,SAAUsgB,EACVvZ,YAAY,aACZS,aAAa,QACbvC,UAAWk3B,EACXn1B,UAAW,GACXyI,aAAc0Y,QAMxB1qB,EAAA1B,EAAAC,cAAA,WACAyB,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMk0B,QAAM,EAACtsC,UAAU,QACrBoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,oBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW1D,GACXC,YAAY,iBACZS,aAAa,QACbjO,KAAK,OACLyG,SAAUq3B,EACVrwB,UAAW,GACXyI,aAAc6nB,QAOxB75B,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACE7d,IAAI,WACJzF,KAAK,WACL4P,UAAWgjC,GACXh6B,MAAOqT,EACPilB,WAAY3P,EACZ7C,WAAYA,EACZC,SAAUA,EACVkU,gBAAiBA,EACjB5B,OAAQI,IAGVxuC,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAEspB,UAAW,SACtBqS,EACC1+B,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOE,KAEJrM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,+BAtLiBtf,iBAyMdoJ,MANa0E,aAAU,CACpCC,KAAM,iBACNnC,YACAwQ,oBAAoB,GAHMtO,CAIzB6iC,KA4BHA,GAAezsC,aAAe,CAC5BiJ,YAAY,EACZ+xB,SAAS,EACT7E,YAAa,GACbt+B,GAAI,EACJmtB,WAAY,KACZgC,UAAW,KACX5Z,KAAM,GACNu/B,KAAM,QCkFOC,eA/Tb,SAAAA,EAAYvxC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAA+zC,IACjBj0C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA01C,GAAA5zC,KAAAH,KAAMwC,KAwBRwxC,cAAgB,SAAAntC,GAAY,IAAT7H,EAAS6H,EAAT7H,GACZA,GASLc,EAAKqB,SAAS,CACZd,SAAS,IAGX1B,GAAM,CACJK,KACA4Q,UAAW,SAAAtB,GAEL,IADJiG,EACIjG,EADJiG,KAAMu/B,EACFxlC,EADEwlC,KAAM3lB,EACR7f,EADQ6f,UAAWhC,EACnB7d,EADmB6d,WACnB8nB,EAAA3lC,EAD+Bue,gBAC/B,IAAAonB,EAD0C,GAC1CA,EACJn0C,EAAKqB,SAAS,CACZ+yC,WAAY,CACVl1C,KACAuV,KAAMA,EAAK4I,MAAM,KAAK,GACtB22B,OACA3lB,YACAhC,aACAU,YAEFxsB,SAAS,KAGbsB,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CACZ+yC,WAAY,GACZ7zC,SAAS,IAGPjC,GAA0B,MAAjBA,EAAMH,OACjBkB,aAAqB,2BAIvBC,aAAmB,2DAxCrBU,EAAKqB,SAAS,CACZ+yC,WAAY,GACZ7zC,SAAS,KA7BIP,EAwEnBgQ,aAAe,WAAiB,IAAhBhB,EAAgBpC,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GACvB,GAAKrO,OAAO+tC,QAAQt9B,GAAQhJ,OAA5B,CAEAhG,EAAKqB,SAAS,CAAEd,SAAS,IAHK,I9DnB3B8nB,EAA0BwD,EAAS/b,EAAWjO,E8DwB/C3C,EAME8P,EANF9P,GAL4Bm1C,EAW1BrlC,EALFqd,kBAN4B,IAAAgoB,EAMf,CAAEpuC,MAAO,MANMouC,EAO5BL,EAIEhlC,EAJFglC,KACA3lB,EAGErf,EAHFqf,UACA5Z,EAEEzF,EAFFyF,KAT4B6/B,EAW1BtlC,EADFuf,eAV4B,IAAA+lB,KAatB/nB,EAAoBvsB,EAAK0C,MAAzB6pB,gB9DhCLlE,E8DkCY,CACbwD,QAAS,CACP3sB,KACAqtB,kBACAgoB,aAAcloB,GAAcA,EAAWpmB,MACvC+tC,OACA3lB,YACA5Z,OACA8Z,WAEFze,UAAW,SAAAoY,GAAsB,IAAAssB,EAAAtsB,EAAnB2D,eAAmB,IAAA2oB,EAAT,GAASA,EAC/Bx0C,EAAKqB,SAAL9C,OAAAkP,GAAA,EAAAlP,CAAA,GACKstB,EADL,CAEEtrB,SAAS,KAEXP,EAAK4lB,eACLxmB,aAAqB,qCAEvByC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IAErBjC,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,0D9D1DIusB,EAA+BxD,EAA/BwD,QAAS/b,EAAsBuY,EAAtBvY,UAAWjO,EAAWwmB,EAAXxmB,QAC5C7C,aAAO,GAAAhC,OAAIT,MAAkBsvB,GACjCxtB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAKb,OAFIwR,GAAWA,EAAUwX,GAElBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,O8DjEN0B,EAqHnB4lB,aAAe,YAEb8sB,EADuB1yC,EAAK0C,MAApBgwC,eAtHS1yC,EA0HnBqzC,oBAAsB,SAAAnoB,GAIhB,IAHJpqB,EAGIoqB,EAHJpqB,KAGI2zC,EAAAvpB,EAFJvb,cAEI,IAAA8kC,EAFK,GAELA,EADJ7W,EACI1S,EADJ0S,IAEA,QAAuBtmB,IAAnB3H,EAAOnE,QAAX,CAIA,IAAMvF,EAAQ0J,EAAOnE,QACrB,GAAIoyB,EAAK,KACCwW,EAAep0C,EAAKM,MAApB8zC,WACF16B,EAAQ06B,EAAWtzC,GAEnBylB,EAAQhoB,OAAA4nB,GAAA,EAAA5nB,CAAOmb,GACfiH,EAAQ4F,EAAS0G,UAAU,SAAA1U,GAAI,OAAIA,EAAKqlB,MAAQA,IAiBtD,OAfArX,EAAS5F,GAATpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKgoB,EAAS5F,GADdpiB,OAAAmR,GAAA,EAAAnR,CAAA,GAGKoR,EAAO7O,KAAKuc,MAAM,KAAK,GAAKpX,IAIjCjG,EAAKqB,SAAS,CACZ+yC,WAAW71C,OAAAkP,GAAA,EAAAlP,CAAA,GACN61C,EADK71C,OAAAmR,GAAA,EAAAnR,CAAA,GAEPuC,EAAOylB,WAIZvmB,EAAK00C,yBAALn2C,OAAAkP,GAAA,EAAAlP,CAAA,GAAmCgoB,EAAS5F,GAA5C,CAAoDiL,aAAcwoB,EAAWl1C,MAI/Ec,EAAKqB,SAAS,SAAA6qC,GAAI,MAAK,CACrBkI,WAAW71C,OAAAkP,GAAA,EAAAlP,CAAA,GACN2tC,EAAKkI,WADA71C,OAAAmR,GAAA,EAAAnR,CAAA,GAGLoR,EAAO7O,KAAOmF,SAjKJjG,EAuKnBmyC,WAAa,SAAA9pB,GAA8B,IAA3BmX,EAA2BnX,EAA3BmX,WAAYC,EAAepX,EAAfoX,SAC1Bz/B,EAAKqB,SAAS,CACZm+B,aACAC,SAAuB,SAAbA,EAAsB,MAAQ,UA1KzBz/B,EA8KnBu9B,uBAAyB,SAAA5R,GAA2B,IAAd1lB,EAAc0lB,EAAxBhc,OAAU1J,MACpCjG,EAAKqB,SAAS,CAAEm8B,YAAav3B,KA/KZjG,EAkLnBwmB,iBAAmB,SAAAkI,GAAiC,IAAAimB,EAAAjmB,EAA9B/e,OAAU7O,EAAoB6zC,EAApB7zC,KAAMmF,EAAc0uC,EAAd1uC,MAC5BmuC,EAAep0C,EAAKM,MAApB8zC,WACRp0C,EAAKqB,SAAS,CACZ+yC,WAAW71C,OAAAkP,GAAA,EAAAlP,CAAA,GACN61C,EADK71C,OAAAmR,GAAA,EAAAnR,CAAA,GAEPuC,EAAOmF,OAvLKjG,EA4LnBm/B,cAAgB,kBAAAvyB,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAS,IAAawyB,UAAU,OAAO3F,QAAQ,mBAAoB,IAAI4F,eA5LpEr/B,EA8LnB40C,YAAc,WAAM,IAAA7yC,EAMd/B,EAAKM,MANSuyC,EAAA9wC,EAEhBy7B,mBAFgB,IAAAqV,EAEF,GAFEA,EAGhBrT,EAHgBz9B,EAGhBy9B,WACAC,EAJgB19B,EAIhB09B,SAJgBoV,EAAA9yC,EAKhBqyC,WAAcrnB,gBALE,IAAA8nB,EAKS,GALTA,EAQZ76B,EAASha,EAAKm/B,cAAc3B,GAYlC,OAXezQ,EACZ/S,OAAO,SAAA2lB,GAAG,OACT3/B,EAAKm/B,cAAcQ,EAAI/B,KAAKxJ,SAASpa,IAClCha,EAAKm/B,cAAcQ,EAAI7+B,MAAMszB,SAASpa,IACtCha,EAAKm/B,cAAcQ,EAAIkU,SAASzf,SAASpa,KAE7C4lB,KAAK,SAAC39B,EAAG49B,GAAJ,MAAwB,QAAbJ,EACbx9B,EAAEu9B,GAAYM,cAAcD,EAAEL,IAC9BK,EAAEL,GAAYM,cAAc79B,EAAEu9B,OA/MnBx/B,EAqNnB80C,gBAAkB,WAAc,IAAb98B,EAAapL,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GAErBgf,EAGE5T,EAHF4T,aACAsB,EAEElV,EAFFkV,UACAqB,EACEvW,EADFuW,QAGG3C,GAA2B,MAAX2C,GAErB7C,GAAuB,CACrBE,eACAC,QAAS,CACPD,eACAsB,YACAqB,WAEFze,UAAW,WACT1Q,aAAqB,yCAEvByC,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,6DA5ORU,EAkPnB+0C,eAAiB,WAAM,IAAAvxC,EAIjBxD,EAAK0C,MAFPxD,EAFmBsE,EAEnBtE,GACA60C,EAHmBvwC,EAGnBuwC,YAHmBz1B,EAYjBte,EAAKM,MALP8zC,EAPmB91B,EAOnB81B,WACA7zC,EARmB+d,EAQnB/d,QACAi9B,EATmBlf,EASnBkf,YACAgC,EAVmBlhB,EAUnBkhB,WACAC,EAXmBnhB,EAWnBmhB,SAGF,OAAIl/B,EACKoD,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAAC8yC,GAADz2C,OAAA+N,OAAA,GACM8nC,EADN,CAEEl1C,GAAIA,EACJ60C,YAAaA,EACbhnB,SAAU/sB,EAAK40C,cACfpX,YAAaA,EACbxsB,SAAUhR,EAAKgQ,aACfyS,OAAQziB,EAAK4lB,aACbrlB,QAASA,EACTwM,cAAeqnC,EACf5U,WAAYA,EACZC,SAAUA,EAEVkU,gBAAiB3zC,EAAKqzC,oBACtBlB,WAAYnyC,EAAKmyC,WACjB5U,uBAAwBv9B,EAAKu9B,uBAC7B/W,iBAAkBxmB,EAAKwmB,iBAEvBjH,oBAAkB,MApRtBvf,EAAKM,MAAQ,CACX8zC,WAAY,CACV/lB,UAAW,GACX5Z,KAAM,GACNu/B,KAAM,GACN3nB,WAAY,CAAEpmB,MAAO,GACrB8mB,SAAU,IAEZxsB,SAAS,EACTi9B,YAAa,GACbgC,WAAY,UACZC,SAAU,QAGZz/B,EAAK00C,yBAA2B7W,GAAS79B,EAAK80C,gBAAiB,KAjB9C90C,mFAoBC,IACVd,EAAOgB,KAAKwC,MAAZxD,GACRgB,KAAKg0C,cAAc,CAAEh1C,wCAsQd,IAELA,EACEgB,KAAKwC,MADPxD,GAGF,OACEyE,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,eAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,aAAe,WADvB,gBAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACdpa,KAAK60C,2BAjToB5xC,iBCVhC8xC,GAAY,SAACvyC,GAAU,IAEzBxD,EASEwD,EATFxD,GACAqtB,EAQE7pB,EARF6pB,gBACAmmB,EAOEhwC,EAPFgwC,WACAqB,EAMErxC,EANFqxC,YACA/vC,EAKEtB,EALFsB,MACAmK,EAIEzL,EAJFyL,UAPyB+mC,EAWvBxyC,EAHF0L,gBARyB,IAAA8mC,EAQd,aARcA,EAUzBzuC,EACE/D,EADF+D,MAGMsE,EAAUrJ,IAAMyzC,WAAhBpqC,MAoCR,OAAOuD,wBAAa,CAClBC,SAjCe,SAAAxH,GAAA,IAAG0H,EAAH1H,EAAG0H,QAAH,OACf9K,EAAA1B,EAAAC,cAACwM,GAAA,EAAD,CACEC,KAAK,KACLpJ,QAAM,EACNqJ,eAAc,qBAAA5R,OAAuB+N,EAAMxI,WAC3CA,UAAS,iBAAAvF,OAAmByJ,GAAS,UAA5B,KAAAzJ,OAPM,uBAON,oBACT0J,MAAO,CAAEyJ,MAAO,SAAUilC,SAAU,WAEpCzxC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,4BAA4ByB,IAE5CL,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAE2P,QAAS,eAC7C1S,EAAA1B,EAAAC,cAACmzC,EAAA,EAAD,CAAU3zC,MAAOA,KACfiC,EAAA1B,EAAAC,cAACozC,EAAA,SAAD,KACE3xC,EAAA1B,EAAAC,cAAC8yC,GAAD,CACE91C,GAAIA,EACJqtB,gBAAiBA,EACjBmmB,WAAYA,EACZqB,YAAaA,EACbtxB,OAAQ,WAAQrU,IAAYK,IAAWikC,KACvC1iC,aAAc,SAAAhB,GAAM,OAAIb,EAAU5P,OAAAkP,GAAA,EAAAlP,CAAA,GAAKyQ,EAAN,CAAcP,wBAkC7DwmC,GAAU5tC,aAAe,CACvB2G,SAAU,UACVE,QAAS,YAGI+mC,ICjDTM,GAAe,CACnB,CACEtvC,MAAO,KAAMW,MAAO,eAAMonB,YAAa,IAAKvnB,MAAO,aAErD,CACER,OAAO,EAAMW,MAAO,eAAMonB,YAAa,WAAYvnB,MAAO,WAE5D,CACER,OAAO,EAAOW,MAAO,eAAMonB,YAAa,UAAWvnB,MAAO,WAI9D,SAAS+uC,GAATzuC,GAWG,IAVD6kB,EAUC7kB,EAVD6kB,aACAnX,EASC1N,EATD0N,KACA4Z,EAQCtnB,EARDsnB,UACAonB,EAOC1uC,EAPD0uC,gBACAC,EAMC3uC,EAND2uC,oBACAloB,EAKCzmB,EALDymB,WACAD,EAICxmB,EAJDwmB,eACAE,EAGC1mB,EAHD0mB,UACAC,EAEC3mB,EAFD2mB,SACAjf,EACC1H,EADD0H,QACCknC,EACuBthC,IAAMqH,UAAS,GADtCk6B,EAAAr3C,OAAAqd,GAAA,EAAArd,CAAAo3C,EAAA,GACME,EADND,EAAA,GACYE,EADZF,EAAA,GAAAG,EAEmC1hC,IAAMqH,UAAS,GAFlDs6B,EAAAz3C,OAAAqd,GAAA,EAAArd,CAAAw3C,EAAA,GAEM3B,EAFN4B,EAAA,GAEkBC,EAFlBD,EAAA,GAID,OACEryC,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UACEhD,GAAE,UAAAlC,OAAY4uB,GACdnsB,KAAK,SACLmE,QANS,kBAAMkyC,GAASD,IAOxBtzC,UAAU,iBAEVoB,EAAA1B,EAAAC,cAAA,QAAMqE,IAAG,OAAAvJ,OAAS4uB,GAAgBrpB,UAAU,aAAayB,MAAM,YAEjEL,EAAA1B,EAAAC,cAACg0C,GAAA,EAAD,CAASC,KAAK,OAAOxmC,OAAM,UAAA3S,OAAY4uB,GAAgBrmB,OAAQswC,GAC7DlyC,EAAA1B,EAAAC,cAAC0kC,GAAA,EAAD,KACEjjC,EAAA1B,EAAAC,cAAA,OACEK,UAAU,QACVmE,MAAO,CACL8sC,OAAQ,IACRj9B,QAAS,OACTsoB,WAAY,WACZ3iB,eAAgB,gBAChB2R,UAAW,SAGblqB,EAAA1B,EAAAC,cAAA,eAAAlF,OACO4uB,EADP,MAAA5uB,OACwB0X,GAAWD,GADnC,UAGI9Q,EAAA1B,EAAAC,cAAA,QAAMwE,MAAO,CAAEkQ,WAAY,SAAWyX,GAAa,KAGvD1qB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,gBACVqB,QAAS,WACPkyC,GAAQ,GACRG,GAAc,GACdxnC,MAGF9K,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,cAI1CL,EAAA1B,EAAAC,cAAC2kC,GAAA,EAAD,KACEljC,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,QAAQmE,MAAO,CAAEub,aAAc,MAC9Cte,EAAA1B,EAAAC,cAAA,aAEIwzC,EAAoB,CAClBtB,aACAxoB,eACAnX,OACA4Z,YACA4nB,gBACAR,kBACAloB,iBACAC,aACAC,YACAC,sBAwBZ5B,eAKJ,SAAAA,EAAYppB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAA4rB,IACjB9rB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAutB,GAAAzrB,KAAAH,KAAMwC,KA8KR0zC,cAAgB,SAAA5nC,GAAiC,IAA9Bod,EAA8Bpd,EAA9Bod,aAAcsB,EAAgB1e,EAAhB0e,UAC/B,GAAKtB,GAAiBsB,EAAtB,CAIAltB,EAAKqB,SAAS,CAAEusB,gBAAgB,IALe,IAOvCb,EAAa/sB,EAAKM,MAAlBysB,SAERrB,GAAuB,CACrBE,eACAC,QAAS,CACPD,eAAcsB,YAAWqB,SAAS,GAEpCze,UAAW,SAAAoY,GAAsB,IAAAssB,EAAAtsB,EAAnB2D,eAAmB,IAAA2oB,EAAT,GAASA,EAC/Bp1C,aAAqB,qCAErB,IAAMmnB,EAAQhoB,OAAA4nB,GAAA,EAAA5nB,CAAOwuB,GACfpM,EAAQ4F,EAAS0G,UAAU,SAAA1U,GAAI,OAAIA,EAAK2U,YAAcA,IAE5D3G,EAAS5F,GAATpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKgoB,EAAS5F,GADd,CAEE4N,QAAS1C,EAAQ0C,UAAW,IAG9BvuB,EAAKqB,SAAS,CACZ0rB,SAAUxG,EACVqH,gBAAgB,IAGlB5tB,EAAK6sB,YAEPhrB,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CACZusB,gBAAgB,IAGdtvB,GAA0B,MAAjBA,EAAMH,OACjBkB,aAAqB,2BAIvBC,aAAmB,4DAzNNU,EA8NnBq2C,aAAe,SAAAnrB,GAAiC,IAA9BU,EAA8BV,EAA9BU,aAAcsB,EAAgBhC,EAAhBgC,UAC9B,GAAKtB,GAAiBsB,EAAtB,CAIAltB,EAAKqB,SAAS,CAAEusB,gBAAgB,IALc,IAOtCb,EAAa/sB,EAAKM,MAAlBysB,SAERrB,GAAuB,CACrBE,eACAC,QAAS,CACPD,eAAcsB,YAAWqB,SAAS,GAEpCze,UAAW,SAAAuY,GAAiB,IAAdkG,EAAclG,EAAdkG,QACZnvB,aAAqB,qCAErB,IAAMmnB,EAAQhoB,OAAA4nB,GAAA,EAAA5nB,CAAOwuB,GACfpM,EAAQ4F,EAAS0G,UAAU,SAAA1U,GAAI,OAAIA,EAAK2U,YAAcA,IAE5D3G,EAAS5F,GAATpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKgoB,EAAS5F,GADd,CAEE4N,YAGFvuB,EAAKqB,SAAS,CACZ0rB,SAAUxG,EACVqH,gBAAgB,IAGlB5tB,EAAK6sB,YAEPhrB,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CACZusB,gBAAgB,IAGdtvB,GAA0B,MAAjBA,EAAMH,OACjBkB,aAAqB,2BAIvBC,aAAmB,4DAxQNU,EA6QnBk0C,cAAgB,SAAAvoB,GAAY,IAATzsB,EAASysB,EAATzsB,GACZA,EAULL,GAAM,CACJK,KACA4Q,UAAW,SAAA4e,GAEL,IAAA4nB,EAAA5nB,EADJ3B,gBACI,IAAAupB,EADO,GACPA,EACJt2C,EAAKqB,SAAS,CACZ0rB,WACAxsB,SAAS,EACTysB,iBAAkB,IAEhBD,EAAS/mB,OACXhG,EAAK6sB,WAIPxtB,aAAqB,mCAEvBwC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CACZ0rB,SAAU,GACVxsB,SAAS,EACTysB,iBAAkB,IAGhB1uB,GAA0B,MAAjBA,EAAMH,OACjBkB,aAAqB,2BAIvBC,aAAmB,0DAtCrBU,EAAKqB,SAAS,CACZ0rB,SAAU,GACVxsB,SAAS,EACTysB,iBAAkB,KAlRLhtB,EA0TnB+rB,aAAe,WAAmB,IAAlBC,EAAkBpf,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GAAOqf,EAG5BD,EADFpZ,YAF8B,IAAAqZ,EAEvB,EAFuBA,EAAAC,EAG5BF,EADQnS,gBAFoB,IAAAqS,EAET,GAFSA,EAAAC,EAG5BH,EADuBlS,uBAFK,IAAAqS,EAEa,EAFbA,EAAAC,EAG5BJ,EAD4CnO,QAG1Cvd,EAAQ,CACZud,cAN8B,IAAAuO,EAE0B,GAF1BA,IAMV,CAAEC,WAAY,IAClCzZ,OACAiH,WACAC,mBAGF9Z,EAAKu2C,mBAELv2C,EAAKssB,WAAL/tB,OAAAkP,GAAA,EAAAlP,CAAA,GAAqB+B,KAxUJN,EA2UnBu2C,iBAAmB,WAAM,IACfhqB,EAAoBvsB,EAAK0C,MAAzB6pB,gBAERvsB,EAAKqB,SAAS,CAAEd,SAAS,IhEtatB,SAAA2qB,GAAiE,IAAvCqB,EAAuCrB,EAAvCqB,gBAAiBzc,EAAsBob,EAAtBpb,UAAWjO,EAAWqpB,EAAXrpB,QACpDlD,aAAM,GAAA3B,OAAIT,KAAJ,eAAAS,OAAgCuvB,IAC1CluB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KgE6ZvBqf,CAAe,CACb4O,kBACAzc,UAAW,SAAA8e,GAAA,IACTmlB,EADSnlB,EACTmlB,YADS,OAEL/zC,EAAKqB,SAAS,CAClBd,SAAS,EACTwzC,iBAEFlyC,QAAS,WACP7B,EAAKqB,SAAS,CACZd,SAAS,EACTwzC,YAAa,KAEfz0C,aAAmB,qDA5VNU,EAiWnBssB,WAAa,SAAAyC,GAAiC,IAA9Bnc,EAA8Bmc,EAA9Bnc,KAAMiH,EAAwBkV,EAAxBlV,SAAUgE,EAAckR,EAAdlR,QAE5B0O,EACEvsB,EAAK0C,MADP6pB,gBAGFvsB,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,KhExfnB,SAAA9W,GAKJ,IAJDwlB,EAICxlB,EAJDwlB,gBAIC8Z,EAAAt/B,EAHDgX,gBAGC,IAAAsoB,EAHW,CAAEzzB,KAAM,EAAGiH,SAAU,IAGhCwsB,EAFDv2B,EAEC/I,EAFD+I,UACAjO,EACCkF,EADDlF,QAEO7C,aAAO,GAAAhC,OAAIT,KAAJ,KAAAS,OAAsBuvB,EAAtB,QAA6CxO,GACxD1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KgE4evBk4C,CAAS,CACPjqB,kBACAxO,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAAAqf,GAA2C,IAAxCpR,EAAwCoR,EAAxCpR,SAAU2O,EAA8ByC,EAA9BzC,QAASC,EAAqBwC,EAArBxC,eACvBjT,EAA2BqE,EAA3BrE,MAAOI,EAAoBiE,EAApBjE,gBACf9Z,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,QACAI,kBACA4S,UACAC,oBAGJ9qB,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,iEAhYNU,EAqYnBsmC,mBAAqB,SAACC,GAAW,IAAAxkC,EACJ/B,EAAKM,MAAxBsS,EADuB7Q,EACvB6Q,KAAMiH,EADiB9X,EACjB8X,SACd7Z,EAAK+rB,aAAa,CAAEnZ,OAAMiH,aAE1B,IAAM/Y,EAAI,IAAA9D,OAAOupC,EAAOrnC,GAAd,MAAAlC,OAAqB0X,GAAW6xB,EAAO9xB,MAAvC,UAAAzX,OAAqDupC,EAAOlY,WAAa,IACnFvgB,GAAQ,CACN9J,MAAO,oBACP+J,SAAQ,wDAAA/Q,OAAuD8D,EAAvD,MACRkN,SAAU,aACVE,QAAS,aACTC,UAAW,WhEvbV,IAA0BjP,EAAIgc,EAAJhc,EgEwbRqnC,EAAOrnC,GhExbKgc,EgEwbD,CAC1BpL,UAAW,WACT1Q,aAAqB,mCACrBY,EAAK+rB,aAAa,CAAEnZ,OAAMiH,cAE5BhY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,2BAEnBA,aAAmB,yChEhcxBH,aAAS,GAAAnC,OAAIT,KAAJ,KAAAS,OAAsBkC,IACnCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SgE8BpC0B,EAianB4sB,eAAiB,WACf5sB,EAAKqB,SAAS,CACZ8Y,UAAU,EACVs8B,eAAe,IAGjBz2C,EAAK+rB,gBAvaY/rB,EA0anB02C,eAAiB,SAAArnB,GAAgB,IAAAsnB,EAAAtnB,EAAbnwB,UAAa,IAAAy3C,EAAR,EAAQA,EAC/B32C,EAAKu2C,mBACM,IAAPr3C,EAQJc,EAAKqB,SAAS,CACZnC,KAAIib,UAAU,EAAMs8B,eAAe,IARnCz2C,EAAKqB,SAAS,CACZnC,KAAIu3C,eAAe,EAAMt8B,UAAU,KA9atBna,EAybnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAK+rB,aAAa,CAAEnZ,OAAMiH,WAAUgE,cA5brB7d,EAgcnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK+rB,aAAa,CAAEnZ,KAAM,EAAGiH,WAAUgE,QAAS7O,MAncjChP,EAucnBwe,wBAA0B,WAAM,IAAAU,EACAlf,EAAKM,MAA3BuZ,EADsBqF,EACtBrF,SACAP,EAFsB4F,EACZrB,QACVvE,eACRtZ,EAAK+rB,aAAa,CAAEnZ,KAAM,EAAGiH,WAAUgE,QAAS,CAAEvE,qBA1cjCtZ,EA6cnB6sB,SAAW,WAAM,IAAA1N,EAC6Bnf,EAAKM,MADlC8sB,EAAAjO,EACP4N,gBADO,IAAAK,EACI,GADJA,EACQJ,EADR7N,EACQ6N,iBAEjBrM,EAAQoM,EAASE,UAAU,SAAAhT,GAAC,OAAIA,EAAEiT,YAAcF,IAGhDpF,EAAUmF,EAFCpM,EAAQ,IAAMoM,EAAS/mB,OAAS,EAAI2a,EAAQ,GAI7D3gB,EAAKqB,SAAS,CAAE2rB,iBAAkBpF,EAAQsF,aArdzBltB,EAwdnBmtB,aAAe,WAAM,IAAAe,EACyBluB,EAAKM,MAD9Bs2C,EAAA1oB,EACXnB,gBADW,IAAA6pB,EACA,GADAA,EACI5pB,EADJkB,EACIlB,iBAEjBrM,EAAQoM,EAASE,UAAU,SAAAhT,GAAC,OAAIA,EAAEiT,YAAcF,IAC9CE,EAAcH,EAAmB,IAAVpM,EAAcoM,EAAS/mB,OAAS,EAAI2a,EAAQ,GAAnEuM,UAERltB,EAAKqB,SAAS,CAAE2rB,iBAAkBE,KA9djBltB,EAienB62C,kBAAoB,SAAApuB,GAWd,IAVJ2rB,EAUI3rB,EAVJ2rB,WACAxoB,EASInD,EATJmD,aACAnX,EAQIgU,EARJhU,KACA4Z,EAOI5F,EAPJ4F,UACA4nB,EAMIxtB,EANJwtB,cACAR,EAKIhtB,EALJgtB,gBACAloB,EAII9E,EAJJ8E,eACAC,EAGI/E,EAHJ+E,WACAC,EAEIhF,EAFJgF,UACAC,EACIjF,EADJiF,SACI8M,EACwCx6B,EAAKM,MAD7Cw2C,EAAAtc,EACIzN,gBADJ,IAAA+pB,EACe,GADfA,EACmB9pB,EADnBwN,EACmBxN,iBACjB+pB,EAAehqB,EAASE,UAAU,SAAAhT,GAAC,OAAIA,EAAEiT,YAAcF,IAE7D,IAAKonB,EACH,OACEzwC,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CACV6P,QAAS,OACTuY,cAAe,SACfkoB,OAAQ,OACRnY,WAAY,WAGZl7B,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,yBACVqB,QAAS,WACPqyC,GAAc,GACdR,EAAgB,CAAEv2C,GAAI0sB,KAExBllB,MAAO,CAAEub,aAAc,MAEvBte,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,uBATf,sBAYFoB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,yBACVqB,QAAS,WACP5D,EAAK02C,eAAe,CAAEx3C,GAAI0sB,KAE5BllB,MAAO,CAAEub,aAAc,MAEvBte,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eARf,uBAWFoB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,wBACVqB,QAAS,WACP5D,EAAKsmC,mBAAmB,CACtBpnC,GAAI0sB,EACJnX,OACA4Z,eAGJ3nB,MAAO,CAAEub,aAAc,MAEvBte,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,gBAZf,0BAoBZ,IAAsB,IAAlBw0C,EACF,OAAOpzC,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,MA9DL,IAAAivC,EAmEAlqB,EAASgqB,GADXnZ,EAlEEqZ,EAkEFrZ,IAAK98B,EAlEHm2C,EAkEGn2C,KAAM+yC,EAlEToD,EAkESpD,QAlETqD,EAAAD,EAkEkB1oB,eAlElB,IAAA2oB,KAAAC,EAqEsB5B,GAAav7B,OAAO,SAAA/X,GAAC,OAAIA,EAAEgE,QAAUsoB,IAAxDjB,EArEH/uB,OAAAqd,GAAA,EAAArd,CAAA44C,EAAA,MAuEJ,OACExzC,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,+BAAoB07B,GACpBj6B,EAAA1B,EAAAC,cAAA,WAAM2xC,GACNlwC,EAAA1B,EAAAC,cAAA,WAAMpB,KAGV6C,EAAA1B,EAAAC,cAAA,UAEIlC,EAAKqtB,kBAAkB,CACrBzB,eACAoB,mBACAM,kBACAC,iBACAC,aACAC,YACAC,WACAC,eAAc,GAAA3wB,OAAK+5C,EAAe,EAApB,KAAA/5C,OAAyB+vB,EAAS/mB,aAtkBzChG,EA8kBnBqtB,kBAAoB,SAAAmiB,GASd,IARJ5jB,EAQI4jB,EARJ5jB,aACAoB,EAOIwiB,EAPJxiB,iBACAM,EAMIkiB,EANJliB,gBACAC,EAKIiiB,EALJjiB,eACAC,EAIIgiB,EAJJhiB,WACAC,EAGI+hB,EAHJ/hB,UACAC,EAEI8hB,EAFJ9hB,SACAC,EACI6hB,EADJ7hB,eAGA,OAD2B3tB,EAAKM,MAAxBstB,eAECjqB,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,OACEK,UAAU,yBACVmE,MAAO,CAAEmnB,UAAW,SAAU3R,eAAgB,kBAE9CvY,EAAA1B,EAAAC,cAAA,UACEqE,IAAG,qBAAAvJ,OAAuB4uB,EAAvB,KAAA5uB,OAAuCgwB,GAC1CvtB,KAAK,SACL8C,UAAU,gBACVqB,QAAS2pB,GAET5pB,EAAA1B,EAAAC,cAAA,QACEqE,IAAG,kBAAAvJ,OAAoB4uB,EAApB,KAAA5uB,OAAoCgwB,GACvChpB,MAAM,WACNzB,UAAU,mCAGdoB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQ0C,SAAU,SAAU6U,aAAc,WAC/DnqB,EAAA1B,EAAAC,cAAA,WAAMyrB,GACNhqB,EAAA1B,EAAAC,cAAA,QACEK,UAAS,eAAAvF,OAAiBswB,EAAgB7mB,OAC1CC,MAAO,CAAEqnB,UAAW,WAEnBT,EAAgBU,aAEnBrqB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UACEqE,IAAG,aAAAvJ,OAAe4uB,EAAf,KAAA5uB,OAA+BgwB,GAClCvtB,KAAK,SACL8C,UAAU,gBACVqB,QAAS,kBAAM6pB,EAAU,CAAE7B,eAAcsB,UAAWF,MAEpDrpB,EAAA1B,EAAAC,cAAA,QACEqE,IAAG,WAAAvJ,OAAa4uB,EAAb,KAAA5uB,OAA6BgwB,GAChChpB,MAAM,WACNzB,UAAU,uBAGdoB,EAAA1B,EAAAC,cAAA,UACEqE,IAAG,aAAAvJ,OAAe4uB,EAAf,KAAA5uB,OAA+BgwB,GAClCvtB,KAAK,SACL8C,UAAU,gBACVqB,QAAS,kBAAM8pB,EAAS,CAAE9B,eAAcsB,UAAWF,MAEnDrpB,EAAA1B,EAAAC,cAAA,QACEqE,IAAG,WAAAvJ,OAAa4uB,EAAb,KAAA5uB,OAA6BgwB,GAChChpB,MAAM,UACNzB,UAAU,yBAKlBoB,EAAA1B,EAAAC,cAAA,UACEqE,IAAG,sBAAAvJ,OAAwB4uB,EAAxB,KAAA5uB,OAAwCgwB,GAC3CvtB,KAAK,SACL8C,UAAU,gBACVqB,QAAS4pB,GAET7pB,EAAA1B,EAAAC,cAAA,QACEqE,IAAG,oBAAAvJ,OAAsB4uB,EAAtB,KAAA5uB,OAAsCgwB,GACzChpB,MAAM,WACNzB,UAAU,uCA3pBHvC,EAmqBnB+5B,UAAY,WAAM,IAAAU,EACoBz6B,EAAKM,MAAjC6Z,EADQsgB,EACRtgB,SAAUs8B,EADFhc,EACEgc,cAElB,OAAIt8B,GAAYs8B,EACP,KAIP9yC,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI3T,MAAO,CAAEub,aAAc,OAAQ+N,UAAW,SACrDrsB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,yBACVmE,MAAO,CAAEub,aAAc,KACvBre,QAAS,kBAAM5D,EAAK02C,eAAe,CAAEx3C,GAAI,MAEzCyE,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eANf,gCA7qBWvC,EA0rBnBo3C,sBAAwB,WAAM,IAAAC,EAGxBr3C,EAAKM,MADPpB,EAF0Bm4C,EAE1Bn4C,GAAI60C,EAFsBsD,EAEtBtD,YAAa55B,EAFSk9B,EAETl9B,SAGXoS,EAAoBvsB,EAAK0C,MAAzB6pB,gBACR,OAAKA,GAAoBpS,EAIvBxW,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACo1C,GAAD,CACEp4C,GAAIA,EACJqtB,gBAAiBA,EACjBwnB,YAAaA,EACbrB,WAAY1yC,EAAK4sB,eACjBrN,oBAAkB,KATf,MAjsBQvf,EAgtBnBu3C,2BAA6B,WAAM,IAAAC,EAG7Bx3C,EAAKM,MADPpB,EAF+Bs4C,EAE/Bt4C,GAAI60C,EAF2ByD,EAE3BzD,YAAa0C,EAFce,EAEdf,cAGXlqB,EAAoBvsB,EAAK0C,MAAzB6pB,gBACR,IAAKA,IAAoBkqB,EACvB,OAAO,KAwBT,OACE9yC,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACo1C,GAAD,CACEp4C,GAAIA,EACJqtB,gBAAiBA,EACjBwnB,YAAaA,EACbrB,WAAY1yC,EAAK4sB,eACjBrN,oBAAkB,MAtvBPvf,EA4vBnBiuB,UAAY,WAAM,IAAAwpB,EAWZz3C,EAAKM,MATP6Z,EAFcs9B,EAEdt9B,SACAs8B,EAHcgB,EAGdhB,cACA/8B,EAJc+9B,EAId/9B,MACA9G,EALc6kC,EAKd7kC,KACAiH,EANc49B,EAMd59B,SACAC,EAPc29B,EAOd39B,gBACA+D,EARc45B,EAQd55B,QACA6O,EATc+qB,EASd/qB,QACAC,EAVc8qB,EAUd9qB,eAGF,OAAIxS,GAAYs8B,EACP,KAIP9yC,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACod,GAAD,CACE/Y,IAAI,aACJvC,MAAM,mCACNyV,QAASzZ,EAAKyZ,QAAQ,CAAEiT,UAASC,mBACjCjT,MAAOA,EACP3G,aAAc/S,EAAK+S,aACnB+G,gBAAiBA,EACjB9I,SAAUhR,EAAKue,kBACf3E,eAAgB5Z,EAAKwe,wBAErB1L,YAAa4G,EAAM1T,OACnB4M,KAAMA,EACNiH,SAAUA,EACVP,eAAgBuE,EAAQvE,eACxBvM,cAAe8Q,EACf0B,oBAAkB,MA3xBxBvf,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTqtB,gBAAgB,EAChBlU,MAAO,GACPgT,QAAS,GACTC,eAAgB,GAChB9O,QAAS,CAAE3e,GAAI,IACfib,UAAU,EACVs8B,eAAe,EACf1C,YAAa,GACb70C,GAAI,EACJ6tB,SAAU,GACVC,iBAAkB,GAGpBhtB,EAAKyZ,QAAU,SAAAkP,GAA8C,IAA3C+D,EAA2C/D,EAA3C+D,QAASC,EAAkChE,EAAlCgE,eAAgBwB,EAAkBxF,EAAlBwF,YAuBnCC,EAAoB1B,EAAQrmB,IAAI,SAAAqxC,GAAA,MAA8B,CAAE9rB,aAAhC8rB,EAAGx4C,GAA+CuV,KAAlDijC,EAAOjjC,KAAiD4Z,UAAxDqpB,EAAarpB,aAE7CC,EAAuB3B,EAC1BtmB,IAAI,SAAA0iB,GAAA,MAA2C,CAAE6C,aAA7C7C,EAAG6C,aAAwDsB,UAA3DnE,EAAiBmE,UAAqDqB,QAAtExF,EAA4BwF,WAC7BC,EAAmBJ,EAAkBpoB,OACrCyoB,EAAiB,GAEvB9B,EACGtmB,IAAI,SAAAsxC,GAAA,MAA6B,CAAEzqB,UAA/ByqB,EAAGzqB,UAAuCqB,QAA1CopB,EAAcppB,WAClBI,OAAO,SAACrH,EAADswB,GAAiC,IAAzB1qB,EAAyB0qB,EAAzB1qB,UAAWqB,EAAcqpB,EAAdrpB,QAQzB,OAPKjH,EAAI4F,KACP5F,EAAI4F,GAAa,CAAEA,YAAWhvB,GAAI,GAClCuwB,EAAezpB,KAAKsiB,EAAI4F,KAG1B5F,EAAI4F,GAAWhvB,IAAMqwB,EAAU,EAAI,EAE5BjH,GACN,IAEL,IAAMuH,EAAoBT,EAAkB/nB,IAAI,SAAApE,GAAC,MAAK,CACpDsE,IAAG,aAAAvJ,OAAeiF,EAAE2pB,cACpB9qB,KACE6C,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQ2F,eAAgB,SAAU4S,cAAe,WACtEnrB,EAAA1B,EAAAC,cAAA,WAAMwa,GAAaza,EAAEwS,OACrB9Q,EAAA1B,EAAAC,cAAC4c,GAAD,CACEvY,IAAG,UAAAvJ,OAAYiF,EAAE2pB,cACjB1sB,GAAI+C,EAAE2pB,aACN3lB,MAAOsW,GAAata,EAAEwS,MACtB7N,MAAO3E,EAAEosB,UACT5nB,MAAM,cAER9C,EAAA1B,EAAAC,cAAA,UACEqE,IAAG,MAAAvJ,OAAQiF,EAAE2pB,cACbnsB,KAAK,SACL8C,UAAU,iBAEVoB,EAAA1B,EAAAC,cAACszC,GAAD,CACE5pB,aAAc3pB,EAAE2pB,aAChBnX,KAAMxS,EAAEwS,KACR4Z,UAAWpsB,EAAEosB,UACbonB,gBAAiBz1C,EAAKk0C,cACtBwB,oBAAqB11C,EAAK62C,kBAC1BrpB,WAAYxtB,EAAK6sB,SACjBU,eAAgBvtB,EAAKmtB,aACrBM,UAAWztB,EAAKo2C,cAChB1oB,SAAU1tB,EAAKq2C,aACf5nC,QAASzO,EAAK+rB,iBAKtB5b,MAAO,OACP5N,UAAW,cACX4Y,OAAQ,SAAA08B,GAAmB,IAAhB3qB,EAAgB2qB,EAAhB3qB,UACH8B,EAAsBV,EACzB5W,KAAK,SAAAuX,GAAE,OAAIA,EAAGrD,eAAiB3pB,EAAE2pB,cAAgBqD,EAAG/B,YAAcA,IAErE,OAAK8B,GAAuD,OAAhCA,EAAoBT,SAIZ,IAAhCS,EAAoBT,QAEpB5qB,EAAA1B,EAAAC,cAAA,QAAMoE,KAAK,MAAM4oB,aAAW,WAA5B,gBAKFvrB,EAAA1B,EAAAC,cAAA,QAAMoE,KAAK,MAAM4oB,aAAW,YAA5B,gBAVOvrB,EAAA1B,EAAAC,cAAA,QAAMoE,KAAK,MAAM4oB,aAAW,kBAA5B,oBAeb,SAAAlyB,OAhGa,CACX,CACEuJ,IAAK,MACLzF,KAAM,YACNqP,MAAO,QACP+J,QAAQ,GAEV,CACE3T,IAAK,UACLzF,KAAM,WACNyY,SAAS,EACTW,QAAQ,GAEV,CACE3T,IAAK,OACLzF,KAAM,SACNoZ,QAAQ,EACR/J,MAAO,QACPgL,OAAQ,SAAA28B,GAAA,IAAGjE,EAAHiE,EAAGjE,QAAS/yC,EAAZg3C,EAAYh3C,KAAZ,MAAuB,GAAA9D,OAAG62C,EAAH,MAAA72C,OAAe8D,GAAO4lB,UAgFpD,CACD,CACEngB,IAAK,aACLzF,KAAM,eACNoX,SAAUiW,EACVhe,MAAO,QACP5N,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB8C,OAAQ,SAAA48B,GAAA,IAAc74C,EAAd64C,EAAG7qB,UAAH,OACNvpB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAM,UACN2oB,MAAI,EACJ1oB,MAAO,CACLqnB,UAAW,SACXnX,WAAY,WAIZ6X,EAAezU,OAAO,SAAAg+B,GAAA,IAAG9qB,EAAH8qB,EAAG9qB,UAAH,OAAmBhuB,IAAOguB,IAC7C7mB,IAAI,SAAA4xC,GAAA,IAAG/5C,EAAH+5C,EAAG/5C,GAAH,OAAY+U,KAAKqc,MAAOpxB,EAAKswB,EAAoB,OAAM,IAC3D,MAtBfjwB,OAAA4nB,GAAA,EAAA5nB,CA4BKswB,KAlJU7uB,mFAwJjBE,KAAK6rB,0DAGY/oB,EAAW0B,GAAW,IAAAwzC,EAGnCh4C,KAAKI,MADPsS,EAFqCslC,EAErCtlC,KAAMiH,EAF+Bq+B,EAE/Br+B,SAAUC,EAFqBo+B,EAErBp+B,gBAEZxZ,EAAQ,CAAEud,QAJuBq6B,EAEJr6B,SAK/BjL,IAASlO,EAAUkO,OACrBtS,EAAMsS,KAAOA,GAGXiH,IAAanV,EAAUmV,WACzBvZ,EAAMuZ,SAAWA,GAGfC,IAAoBpV,EAAUoV,kBAChCxZ,EAAMwZ,gBAAkBA,oCA8nB1B,OAFI5Z,KAAKI,MADPC,QAIOoD,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACGlf,KAAK65B,YACL75B,KAAKk3C,wBACLl3C,KAAKq3C,6BACLr3C,KAAK+tB,oBAvzBoB9qB,iBAk0BnBoJ,MALkB0E,aAAU,CACzCC,KAAM,sBACNqO,oBAAoB,GAFWtO,CAG9B6a,KC5yBYqsB,GAzJW,SAAApxC,GAIpB,IAHJqxC,EAGIrxC,EAHJqxC,mBACAjqC,EAEIpH,EAFJoH,UACAkqC,EACItxC,EADJsxC,eAKEld,EAKEid,EALFjd,iBACA/E,EAIEgiB,EAJFhiB,aACAC,EAGE+hB,EAHF/hB,eANEiiB,EASAF,EAFF5nB,4BAPE,IAAA8nB,EAOqB,EAPrBA,EAAAC,EASAH,EADF7nB,oBARE,IAAAgoB,EAQa,EARbA,EAUEvwB,EAAcjE,KAAOoX,GAgI3B7sB,wBAAa,CACXC,SA/He,SAAAC,GAAiB,IAAdC,EAAcD,EAAdC,QAadS,EAAS,CACXshB,qBAAsB,GACtBD,aAAc,IAGV/gB,EAAe,SAACC,GACpBA,EAAM+oC,UACN,IAAMxpC,EAAMzQ,OAAAmR,GAAA,EAAAnR,CAAA,GAAMkR,EAAME,OAAO7O,MAAQ2O,EAAMrJ,cAAcH,OAC3DiJ,EAAM3Q,OAAAkP,GAAA,EAAAlP,CAAA,GAAQ2Q,EAAR3Q,OAAAmR,GAAA,EAAAnR,CAAA,GAAiBkR,EAAME,OAAO7O,KApBrB,SAACkO,GAChB,IAAMC,EAAQD,GAAU,GACxB,OAAIC,EAAMuhB,qBAAuB,GAAKvhB,EAAMuhB,qBAAuB,IAC1D,+CAELvhB,EAAMshB,aAAe,GAAKthB,EAAMshB,aAAe,IAC1C,+CAGF,GAWoCxhB,CAASC,KAEpDqpC,EAAe5oC,EAAME,OAAO7O,MAAO2O,EAAMrJ,cAAcH,OAEvDkjB,SAASsvB,eAAe,2BAA2BC,YAAcxpC,EAAOshB,qBAExErH,SAASsvB,eAAe,mBAAmBC,YAAcxpC,EAAOqhB,cAGlE,OACE5sB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAACwM,GAAA,EAAD,CACEnJ,QAAM,EACNqJ,eAAe,oBACfrM,UAAS,iBAAAvF,OA9CH,OA8CG,KAAAA,OA7CE,uBA6CF,gBAET2G,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,4BAAd,8BAEFoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eAEboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,QACboB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,GAAIC,GAAI,IACvB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SAAOzC,KAAK,OAAOwG,MAAK,GAAAjJ,OAAKo5B,EAAL,KAAAp5B,OAAqBq5B,GAAkBlrB,UAAQ,OAI7ExH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,GACtB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,wBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SAAOzC,KAAK,OAAOwG,MAAO+hB,EAAY7M,OAAO,cAAehQ,UAAQ,OAI1ExH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,IACxB3W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,GACtB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,4BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SACEy2C,YAAU,EACV73C,KAAK,uBACLrB,KAAK,SACL0N,IAAI,IACJC,IAAI,MACJH,YAAY,2BACZS,aAAa,QACbiI,aAAc6a,EACdtqB,SAAUsJ,IAEZ7L,EAAA1B,EAAAC,cAAA,QAAMhD,GAAG,0BAA0BqD,UAAU,0BAA7C,QAINoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK4Q,GAAI,GAAI3Q,GAAI,EAAGC,GAAI,GACtB3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SACEpB,KAAK,eACLrB,KAAK,SACL0N,IAAI,IACJC,IAAI,MACJwrC,UAAQ,EACR3rC,YAAY,gBACZS,aAAa,QACbiI,aAAc4a,EACdrqB,SAAUsJ,IAEZ7L,EAAA1B,EAAAC,cAAA,QAAMhD,GAAG,kBAAkBqD,UAAU,0BAArC,UAMVoB,EAAA1B,EAAAC,cAAC2M,GAAA,EAAD,CAAetM,UAAU,kBACrB2M,EAAOqhB,cAEL5sB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEvM,UAAU,kBACVkE,MApHF,OAqHE7C,QAAS,WACPuK,IACAM,MALJ,WAYJ9K,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQvM,UAAU,oBAAoBqB,QAAS6K,GAA/C,mBCpGNoqC,eAMJ,SAAAA,EAAYn2C,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAA24C,IACjB74C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAs6C,GAAAx4C,KAAAH,KAAMwC,KAyKRo2C,cAAgB,WACd94C,EAAK+4C,uBACL/4C,EAAKivC,wBA5KYjvC,EA+KnByE,OAAS,SAACkrB,GAER,GADsB3vB,EAAKM,MAAnBsvB,YACUD,EAAK,CAErB,GADA3vB,EAAKqB,SAAS,CAAEuuB,UAAWD,IACf,MAARA,EAEF,YADA3vB,EAAKivC,uBAIK,MAARtf,GACF3vB,EAAKivC,yBAzLQjvC,EA8LnBg5C,yCAA2C,SAAChqC,GAAW,IrEzGlD4f,EAA8C/C,EAAS/b,EAAWjO,EqE0G7D3C,EAAOc,EAAK0C,MAAZxD,GAEAyqB,EAAiC3a,EAAjC2a,6BrE5GLiF,EqE8GgC,CACjC/C,QAAS,CACP3sB,GAAIiH,OAAOjH,GACX+5C,MAAOtvB,GAET7Z,UAAW,WACT9P,EAAK84C,gBACL15C,aAAqB,sCAEvByC,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,2CAErBU,EAAK84C,kBrE7HwCjtB,EAA+B+C,EAA/B/C,QAAS/b,EAAsB8e,EAAtB9e,UAAWjO,EAAW+sB,EAAX/sB,QAChE5C,aAAM,GAAAjC,OAAIL,KAAJ,wBAA8CkvB,EAAQ3sB,GAAI2sB,GACpExtB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAIb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,MqEhGN0B,EAuNnB+4C,qBAAuB,WAAM,IACnB75C,EAAOc,EAAK0C,MAAZxD,GACRc,EAAKqB,SAAS,CAAEd,SAAS,IACzB6nB,GAAI,CACFlpB,KACA4Q,UAAW,SAACwa,GACVtqB,EAAKqB,SAAS,CACZipB,iBAAgB/pB,SAAS,KAG7BsB,QAAS,WACP7B,EAAKqB,SAAS,CACZqY,MAAO,GACPw/B,OAAQ,GACR34C,SAAS,IAEXjB,aAAmB,wDAvONU,EA4OnByuC,YAAc,SAAC1Z,GACb/0B,EAAKqB,SAAS,CAAE83C,mBAAoBpkB,IACpCojB,GAAkB,CAChBC,mBAAoBrjB,EACpBsjB,eAAgB,SAAC9xC,EAAKN,GAAU,IACtBkzC,EAAuBn5C,EAAKM,MAA5B64C,mBACRn5C,EAAKqB,SAAS,CAAE83C,mBAAmB56C,OAAAkP,GAAA,EAAAlP,CAAA,GAAM46C,EAAP56C,OAAAmR,GAAA,EAAAnR,CAAA,GAA4BgI,GAAON,OAEvEkI,UAAW,WAET4Z,GAD+B/nB,EAAKM,MAA5B64C,mBAC4B,CAClCrpC,UAAW,WACT1Q,aAAqB,kDADN,IAAA2C,EAEe/B,EAAKM,MAA3BuZ,EAFO9X,EAEP8X,SAAUgE,EAFH9b,EAEG8b,QAClB7d,EAAKivC,qBAAqB,EAAGp1B,EAAUgE,IAEzChc,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,yEAhQZU,EAwQnBwgC,gBAAkB,SAACxoB,EAAKzR,EAAKN,GAAU,IAE/Bw6B,EADYzgC,EAAKM,MAAfoZ,MACWhC,KAAK,SAAAsG,GAAC,OAAIA,EAAE9e,KAAO8Y,EAAI9Y,KAErCuhC,IACLA,EAAKl6B,IAAQN,EACb8hB,GAAgBxpB,OAAAkP,GAAA,EAAAlP,CAAA,GAAKyZ,EAANzZ,OAAAmR,GAAA,EAAAnR,CAAA,GAAYgI,GAAON,IAAS,CACzC6J,UAAW,WACT1Q,aAAqB,mDAEvByC,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,uEAtRRU,EA4RnB6lB,OAAS,WACa7lB,EAAK0C,MAAjBmC,QACAghB,UA9RS7lB,EAiSnBivC,qBAAuB,SAACr8B,EAAMiH,EAAUgE,GAAY,IAC1C3e,EAAOc,EAAK0C,MAAZxD,GAERc,EAAKqB,SAAS,CACZutC,uBAAuB,EACvB/wB,QAASA,GAAW,KAGtBgL,GAAmB,CACjBhL,UACA3e,KACA4Q,UAAW,SAAA/I,GAAiC,IAApB2S,EAAoB3S,EAA9BsZ,SAAiB64B,EAAanyC,EAAbmyC,OAC7Bl5C,EAAKqB,SAAS,CACZutC,uBAAuB,EACvBl1B,QACAw/B,SACAp/B,gBAAiBJ,EAAM1T,UAG3BnE,QAAS,WACP7B,EAAKqB,SAAS,CACZqY,MAAO,GACPw/B,OAAQ,GACRtK,uBAAuB,IAEzBtvC,aAAmB,oDA1TNU,EA+TnBo5C,uBAAyB,WAAM,IACrBl6C,EAAOc,EAAK0C,MAAZxD,GACRc,EAAKqB,SAAS,CAAEutC,uBAAuB,IrE5CpC,SAAA8I,GAA6D,IAA1Bx4C,EAA0Bw4C,EAA1Bx4C,GAAI4Q,EAAsB4nC,EAAtB5nC,UAAWjO,EAAW61C,EAAX71C,QAChD/C,aAAW,GAAA9B,OAAIL,KAAJ,8BAAAK,OAAmDkC,IAClEb,KAAK,SAACK,GACL,IAAME,EAAMuC,OAAO6nB,IAAIC,gBAAgBvqB,GACjCwqB,EAAOC,SAASjnB,cAAc,KACpCgnB,EAAKpnB,KAAOlD,EACZsqB,EAAKE,SAAW,eAChBD,SAASzrB,KAAK2rB,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKV,SACD1Y,GAAWA,EAAUpR,KAE1B6oB,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,KqEgCvB+6C,CAAwB,CACtBn6C,KACA4Q,UAAW,WACT1Q,aAAqB,iCACrBY,EAAKqB,SAAS,CAAEutC,uBAAuB,KAEzC/sC,QAAS,WACP7B,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvCtvC,aAAmB,uDA1UNU,EA+UnB+uC,4BAA8B,WAAM,IAC1B7vC,EAAOc,EAAK0C,MAAZxD,GACRc,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvC9lB,GAA6B,CAC3B5pB,KACA4Q,UAAW,WACT9P,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvCxvC,aAAqB,kCAEvByC,QAAS,WACP7B,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvCtvC,aAAmB,sEA1VNU,EA+VnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAnWEvG,EAsWnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKivC,qBAAqB,EAAGp1B,EAAU7K,KAzWxBhP,EA6WnBwe,wBAA0B,WAAM,IAAAF,EACAte,EAAKM,MAA3BuZ,EADsByE,EACtBzE,SACAP,EAFsBgF,EACZT,QACVvE,eACRtZ,EAAKivC,qBAAqB,EAAGp1B,EAAU,CAAEP,oBAhXxBtZ,EAmXnBquC,iBAAmB,WAAM,IACf/jB,EAAmBtqB,EAAKM,MAAxBgqB,eACR,OACE3mB,EAAA1B,EAAAC,cAACosC,GAAD,CACE9C,WAAYlhB,EAAeprB,GAC3BorB,eAAgBA,KAxXHtqB,EA6XnBs5C,UAAY,WAAiB,IAAhB3nB,EAAgB/kB,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GAChBnG,EAAQ,YAUZ,OARqB,IAAjBkrB,EAAO1rB,QACTQ,EAAQ,QAGW,IAAjBkrB,EAAO1rB,QACTQ,EAAQ,WAIR9C,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEV,MAAO,CAAEuS,SAAU,UAAWwY,WAAY,UAC1ChrB,MAAOA,EACP2oB,MAAI,GAEHuC,EAAO/qB,QA9YK5G,EAmZnBu5C,MAAQ,WAAM,IAAAC,EACoBx5C,EAAKM,MAA7BgqB,sBADI,IAAAkvB,EACa,GADbA,EAEZ,YAA8BliC,IAA1BgT,EAAeqH,OACV,KAIPhuB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI3T,MAAO,CAAEub,aAAc,OAAQ+N,UAAW,SACrDrsB,EAAA1B,EAAAC,cAAA,OAAKwE,MAAO,CAAE6P,QAAS,OAAQib,SAAU,OAAQhG,IAAK,SACpD7nB,EAAA1B,EAAAC,cAAA,MAAIwE,MAAO,CAAEqnB,UAAW,QAAxB,WACC/tB,EAAKs5C,UAAUhvB,EAAeqH,QAEG,IAAhCrH,EAAeqH,OAAO1rB,MAElBtC,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,yBACVmE,MAAO,CAAEub,aAAc,KACvBre,QAAS,kBAAM5D,EAAKo5B,gBAAgB9O,KAEpC3mB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,iBANf,aASAoB,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,iBA3aGhI,EAmbnBo5B,gBAAkB,SAAC9O,GAAmB,IAElC0kB,EACE1kB,EADF0kB,aAGFlhC,GAAQ,CACN9J,MAAO,iBACP+J,SAAQ,oDAAA/Q,OAAgDgyC,EAAapoC,MAA7D,8CAERoH,SAAU,qBACVE,QAAS,aACTzH,MAAO,UACP0H,UAAW,WrE3VV,IAAA4gB,EACL7vB,EAAIs0B,EAAS1jB,EAAWjO,EADnBktB,EqE4Vc,CACX7vB,GAAIorB,EAAeprB,GACnBs0B,QAASlJ,EACTxa,UAAW,WACT1Q,aAAqB,gCADN,IAAA8f,EAEYlf,EAAKM,MAAxBsS,EAFOsM,EAEPtM,KAAMiH,EAFCqF,EAEDrF,SACd7Z,EAAK44B,iBAAiBhmB,EAAMiH,IAE9BhY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,wBACVhB,GAA0B,MAAjBA,EAAMH,OACxBkB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,yCrEzW/BJ,EACC6vB,EADD7vB,GAAIs0B,EACHzE,EADGyE,QAAS1jB,EACZif,EADYjf,UAAWjO,EACvBktB,EADuBltB,QAEjB5C,aAAOtC,KAAoBuC,EAAIs0B,GACnCn1B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIwR,GAAWA,EAAUwX,GAClBA,IAERC,MAAM,SAACjpB,GACFuD,GAASA,EAAQvD,SqE9GvB0B,EAAKM,MAAQ,CACXC,SAAS,EACTquC,uBAAuB,EACvBl1B,MAAO,GACPw/B,OAAQ,GACRr7B,QAAS,CACPjL,KAAM,EACNiH,SAAU,GACVkG,gBAAiB,GACjBqW,aAAc,GACdC,eAAgB,IAElBzG,UAAW,IACXupB,mBAAoB,GACpB7uB,eAAgB,MAGlBtqB,EAAKqY,WAAa,CAChBY,SAAU,OACVxS,MAAO,cACPsnB,UAAW,SACXnX,WAAY,OACZjQ,gBAAiB,eAGnB3G,EAAKy5C,gBAAkB,CACrB,CACElzC,IAAK,kBACLzF,KAAM,kBACNqP,MAAO,QACP+J,QAAQ,GAEV,CACE3T,IAAK,iBACLzF,KAAM,WACNoZ,QAAQ,GAEV,CACE3T,IAAK,eACLzF,KAAM,SACNoZ,QAAQ,GAEV,CAAE3T,IAAK,cAAezF,KAAM,eAC5B,CAAEyF,IAAK,QAASzF,KAAM,WAGxBd,EAAKyZ,QAAU,SAAAjL,GAKT,IAJJ+/B,EAII//B,EAJJ+/B,qBACA2K,EAGI1qC,EAHJ0qC,OACA/qB,EAEI3f,EAFJ2f,YACA2gB,EACItgC,EADJsgC,6BAuBM4K,EAASR,EAAO7yC,IAAI,SAAAszC,GAAC,MAAK,CAC9BpzC,IAAG,SAAAvJ,OAAW28C,EAAEz6C,IAChB4B,KAAI,UAAA9D,OAAY28C,EAAEz6C,GAAd,KAAAlC,OAAoB28C,EAAEhwB,6BAAF,IAAA3sB,OAAqC28C,EAAEnH,sBAAvC,MAAmE,IAC3FriC,MAAO,QACP5N,UAAW,cACX4Y,OAAQ,SAAA+M,GAAA,IAAA0xB,EAAA1xB,EAAG2xB,sBAAH,IAAAD,EAAoB,GAApBA,EAAA,OACNj2C,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACG6xC,EAAe7/B,OAAO,SAAA2E,GAAC,OAAIA,EAAE8zB,UAAYkH,EAAEz6C,KAAImH,IAAI,SAAAsY,GAAC,OAAIA,EAAEm7B,UAAS,IAAM,EACzE,IACAH,EAAE7vB,kBAKT,SAAA9sB,OAnCa,CACX,CACEuJ,IAAK,kBACLzF,KAAM,kBACNqP,MAAO,QACP+J,QAAQ,GAEV,CACE3T,IAAK,iBACLzF,KAAM,WACNyY,SAAS,EACTW,QAAQ,GAEV,CACE3T,IAAK,eACLzF,KAAM,SACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,MAAI,GAAAhb,OAAGgb,EAAIqe,eAAP,MAAAr5B,OAA0Bgb,EAAIoe,cAAe1P,UAkBhEnoB,OAAA4nB,GAAA,EAAA5nB,CAEKm7C,GACA,CACD,CACEnzC,IAAK,eACLzF,KAAM,OACNoX,UAAWq2B,GAAwBpgB,EACnC1uB,KAAM,SACN0N,IAAK,EACLC,IAAK,IACL+C,MAAO,QACP5N,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB8C,OAAQ,SAAA+P,GAAA,IAAGqF,EAAHrF,EAAGqF,aAAH,OACN5sB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAM,UACN2oB,MAAI,EACJ1oB,MAAO,CACLuS,SAAU,OACV8U,UAAW,SACXnX,WAAY,WAGb2Z,KAIP,CACEhX,QAASu1B,EACTvoC,IAAK,uBACLzF,KAAM,eACNoX,SAAUiW,EACV1uB,KAAM,SACN0N,IAAK,IACLC,IAAK,MACL+C,MAAO,QACP5N,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB8C,OAAQ,SAAAkN,GAAA,IAAGmI,EAAHnI,EAAGmI,qBAAH,OACN7sB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAM,UACN2oB,MAAI,EACJ1oB,MAAO,CACLuS,SAAU,OACV8U,UAAW,SACXnX,WAAY,WAGb4Z,KAIP,CACEjqB,IAAK,UACLzF,KAAM,SACNqP,MAAO,QACPoJ,SAAS,MAMjBvZ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,iBACzCkX,SAAU,SAAC6Z,GACT/0B,EAAKyuC,YAAY1Z,MAIvB/0B,EAAKo5C,uBAAuB7kC,KAA5BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KACAA,EAAK+uC,4BAA4Bx6B,KAAjChW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KACAA,EAAKyuC,YAAYl6B,KAAjBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAnKiBA,mFAuKjBE,KAAK44C,iDA+SE,IAAAr4C,EAAAP,KAAAif,EAUHjf,KAAKI,MARPgqB,EAFKnL,EAELmL,eACA/pB,EAHK4e,EAGL5e,QACAquC,EAJKzvB,EAILyvB,sBACAl1B,EALKyF,EAKLzF,MACAw/B,EANK/5B,EAML+5B,OACAp/B,EAPKqF,EAOLrF,gBACA+D,EARKsB,EAQLtB,QACA+R,EATKzQ,EASLyQ,UAGF,OAAIrvB,IAAY+pB,EACP3mB,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,0BAAd,4BAGAoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAamE,MAAO,CAAE6P,QAAS,OAAQsoB,WAAY,aAC/Dl7B,EAAA1B,EAAAC,cAAA,YAAOooB,EAAe/J,QAAQ3Z,MAAO,OACrCjD,EAAA1B,EAAAC,cAAA,UAAKooB,EAAeyF,UAGtBpsB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAEspB,UAAW,WACxCrsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,EAAG5V,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAE6P,QAAS,OAAQsX,UAAW,WAChElqB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,WAAmC,KACnCoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAa+nB,EAAe4F,WAG9CvsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,EAAG5V,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAE6P,QAAS,OAAQsX,UAAW,WAChElqB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,YAAoC,KACpCoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAa+nB,EAAe6F,YAG9CxsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,EAAG5V,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAE6P,QAAS,OAAQsX,UAAW,WAChElqB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,UAA+B,KAC/BoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAa+nB,EAAe8F,QAG9CzsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,EAAG5V,GAAI,EAAG2Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,cAAcmE,MAAO,CAAE6P,QAAS,OAAQsX,UAAW,WAChElqB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,wBAOTrC,KAAO,KAAOA,KAAKq5C,QACpB51C,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuuB,GAAA,EAAD,CAAKC,MAAI,EAAChqB,MAAO,CAAE8kB,IAAK,WACtB7nB,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EACIjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,QAA3C,WAEDoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEuT,SAAO,EACP5b,MAAM,YACNlE,UAAU,OACVqB,QAAS,kBAAMnD,EAAKgE,OAAO,OAJ7B,YAWNd,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EAEGjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,OAAOmE,MAAO,CAAEub,aAAc,SAAzE,UAKAte,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEuT,SAAO,EACP5b,MAAM,YACNlE,UAAU,OACVmE,MAAO,CAAEub,aAAc,QACvBre,QAAS,kBAAMnD,EAAKgE,OAAO,OAL7B,WAYNd,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EAEGjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,OAAOmE,MAAO,CAAEub,aAAc,SAAzE,gBAKAte,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEuT,SAAO,EACP5b,MAAM,YACNlE,UAAU,OACVmE,MAAO,CAAEub,aAAc,QACvBre,QAAS,kBAAMnD,EAAKgE,OAAO,OAL7B,iBAYNd,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EACIjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,QAA3C,kBAEDoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQuT,SAAO,EAAC5b,MAAM,YAAYlE,UAAU,OAAOqB,QAAS,kBAAMnD,EAAKgE,OAAO,OAA9E,mBAMNd,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EACIjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,QAA3C,eAEDoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQuT,SAAO,EAAC5b,MAAM,YAAYlE,UAAU,OAAOqB,QAAS,kBAAMnD,EAAKgE,OAAO,OAA9E,iBAORd,EAAA1B,EAAAC,cAAC2uB,GAAA,EAAD,CAAYjB,UAAWA,GACrBjsB,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASvuB,UAAU,qBAAqBwuB,MAAM,KAC5CptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KAEIm0B,EACEjrC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI9X,UAAU,eACrBoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACZoB,EAAA1B,EAAAC,cAACgO,GAAA,EAAD,CAASzJ,MAAM,UAAUC,MAAO,CAAEyJ,MAAO,OAAQC,OAAQ,YAK3DzM,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,aACboB,EAAA1B,EAAAC,cAAA,UACEwE,MAAO,CAAE0J,OAAQ,QACjB7N,UAAU,qCACV9C,KAAK,SACLmE,QAAS1D,KAAKk5C,wBAEdz1C,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBAAhB,QANF,qBAYJoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,+BACNyV,QAASvZ,KAAKu5C,gBACd//B,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnB+G,gBAAiBA,EACjB9I,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrB7E,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3C0R,WAAY/X,KAAKsgC,gBACjB1tB,YAAa4G,EAAM1T,OACnB4M,KAAM,EACNiH,SAAUC,EACVR,eAAgBuE,EAAQvE,eACxBvM,cAAe8Q,EACf0B,oBAAkB,OAOhC5b,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAAC63C,GAAD,CACErwB,iBAAkBY,EAAeprB,GACjCmzC,mBAAoB/nB,EAAe+nB,mBACnChQ,QAAS/X,EAAe6D,YACxBxE,6BAA8BW,EAAeX,6BAC7C3Z,aAAc9P,KAAK84C,6CAIzBr1C,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGva,KAAKmuC,qBAGV1qC,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KAEIm0B,EACEjrC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI9X,UAAU,eACrBoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACZoB,EAAA1B,EAAAC,cAACgO,GAAA,EAAD,CAASzJ,MAAM,UAAUC,MAAO,CAAEyJ,MAAO,OAAQC,OAAQ,YAK3DzM,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,aACboB,EAAA1B,EAAAC,cAAA,UACEwE,MAAO,CAAE0J,OAAQ,QACjB7N,UAAU,kCACV9C,KAAK,SACLmE,QAAS1D,KAAK6uC,6BAEdprC,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBAAhB,QANF,qBAWJoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,6BACNyV,QAASvZ,KAAKuZ,QAAQ,CACpB0U,YAAa7D,EAAe6D,YAC5BogB,qBAAsBjkB,EAAeikB,qBACrCO,6BAA8BxkB,EAAewkB,6BAC7CoK,WAEFx/B,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnB+G,gBAAiBA,EACjB9I,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrB7E,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3C0R,WAAY/X,KAAKsgC,gBACjB1tB,YAAa4G,EAAM1T,OACnB4M,KAAM,EACNiH,SAAUC,EACVR,eAAgBuE,EAAQvE,eACxBvM,cAAe8Q,EACf0B,oBAAkB,OAOhC5b,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAAC83C,GAAD,CAAmBztB,gBAAiBjC,EAAeprB,WAQ/DyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS1D,KAAK2lB,OAAOtR,KAAKrU,OAH5B,qBAvuBuBiD,iBAqvBtBC,eAAWy1C,ICnxBpBpxB,eAKJ,SAAAA,EAAY/kB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAunB,IACjBznB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAkpB,GAAApnB,KAAAH,KAAMwC,KA0ERgb,eAAiB,WACf1d,EAAKqB,SAAS,CACZd,SAAS,IAGXod,GAAe,CACb7N,UAAW,SAAA/I,GAAkB,IAAf8sB,EAAe9sB,EAAf8sB,SACZ7zB,EAAKqB,SAAS,CACZ44C,QAASpmB,EACTtzB,SAAS,IAHgB,IAAAwB,EAMA/B,EAAKM,MAAxBsS,EANmB7Q,EAMnB6Q,KAAMiH,EANa9X,EAMb8X,SACd7Z,EAAK0nB,oBAAoB9U,EAAMiH,IAEjChY,QAAS,SAACvD,GACR0C,QAAQC,IAAI3C,GACZgB,aAAmB,qDA5FNU,EAiGnB0nB,oBAAsB,SAAC9U,EAAMiH,GAA2B,IzEzFxBpc,EAC1BsgB,EyEwFiCF,EAAiBjR,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GAAOynB,EAC7BxW,EAAjByW,eAD8C,IAAAD,EACpC,GADoCA,EAGtDr0B,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAAQtf,OAAAkP,GAAA,EAAAlP,CAAA,GACHsf,EADE,CAEL4W,UAAWH,EAAQruB,UzElGOxI,EyEqGZ,CAChBsgB,SAAU,CACRnL,OACAiH,WACAgE,QAAQtf,OAAAkP,GAAA,EAAAlP,CAAA,GACHsf,EADE,CAEL4W,UAAWH,EAAQruB,SAGvB6J,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,kDzEtHnBye,EAAWtgB,GAAUA,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IAClB7a,aAAO,GAAAhC,OAAIV,KAAJ,uBAAsCyhB,GACjD1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MyErB9B0B,EAoInB8nB,YAAc,SAACF,GACO5nB,EAAK0C,MAAjBmC,QACAG,KAAR,wBAAAhI,OAAqC4qB,EAAQ1oB,MAtI5Bc,EAyInB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAK0nB,oBAAoB9U,EAAMiH,EAAUgE,KA5I1B7d,EAgJnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK0nB,oBAAoB,EAAG7N,EAAU7K,KAnJvBhP,EAwJnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK0nB,oBAAoB,EAAG7N,EAAU,KA1JrB7Z,EA6JnBk6C,WAAa,WAGX,OAFoBl6C,EAAKM,MAAjB25C,SAEU,IAhKDj6C,EAmKnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAvKEvG,EA0KnBm6C,gBAAkB,YzEhEb,SAAoC18C,GACzC,IAAMogB,EAAUpgB,EAAOogB,SAAW,GAC3B9e,aAAe,GAAA/B,OAAIV,KAAJ,gCAA+CuhB,GAClExf,KAAK,SAACK,GACL,IAAME,EAAMuC,OAAO6nB,IAAIC,gBAAgBvqB,GACjCwqB,EAAOC,SAASjnB,cAAc,KACpCgnB,EAAKpnB,KAAOlD,EACZsqB,EAAKE,SAAW,0BAChBD,SAASzrB,KAAK2rB,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKV,SACD/qB,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUpR,KAElD6oB,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KyEoD/C87C,CAA2B,CACzBv8B,QAFkB7d,EAAKM,MAAjBud,SAEc,GACpBhc,QAAS,WACPvC,aAAmB,uDA7KvBU,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,IACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CACP3e,GAAI,GACJo1B,QAAS,CAAEruB,MAAO,EAAGW,MAAO,MAE9BqzC,QAAS,IAEXj6C,EAAKyZ,QAAU,CACb,CACElT,IAAK,UACLzF,KAAM,UACNyB,UAAW,cACX2X,QAAQ,EACR/J,MAAO,QACP1Q,KAAM,SACN6Y,YAAa,CACX1C,QAAS5V,EAAKk6C,YAEhB/+B,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIsc,QAAUtc,EAAIsc,QAAQ1tB,MAAQ,OAEtD,CACEL,IAAK,QACLzF,KAAM,QACNoZ,QAAQ,GAEV,CACE3T,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,GAEV,CACE3T,IAAK,eACLzF,KAAM,WACNqP,MAAO,QACP+J,QAAQ,EACRza,KAAM,UAER,CACE8G,IAAK,kBACLzF,KAAM,cACNoZ,QAAQ,EACRza,KAAM,SACN0Q,MAAO,SAET,CACE5J,IAAK,SACLzF,KAAM,SACNoZ,QAAQ,GAEV,CACE3T,IAAK,WACLzF,KAAM,WACNoZ,QAAQ,GAEV,CACE3T,IAAK,6BACLzF,KAAM,uBACNrB,KAAM,SACN0Q,MAAO,QACP5N,UAAW,gBAlEEvC,mFAwEjBE,KAAKwd,kDA6GE,IAAAwB,EAQHhf,KAAKI,MANPC,EAFK2e,EAEL3e,QACAmZ,EAHKwF,EAGLxF,MACA9G,EAJKsM,EAILtM,KACAiH,EALKqF,EAKLrF,SACAC,EANKoF,EAMLpF,gBACA+D,EAPKqB,EAOLrB,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,wBAGHmX,EAAM1T,QACLrC,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI9X,UAAU,cACrBoB,EAAA1B,EAAAC,cAAA,UACEK,UAAU,eACV9C,KAAK,SACLmE,QAAS1D,KAAKi6C,iBAEdx2C,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBAAhB,QALF,qBAYNoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EAAUoD,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAAI1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,gBAEpBoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,sDACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjB9I,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aAxOFpc,iBAkPjBC,eAAWqkB,ICnPX1Y,GAXE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GAMf,OAJKD,EAAMsR,SAAYtR,EAAMsR,QAAQta,QACnCiJ,EAAOqR,QAAU,gCAGZrR,GCIHmrC,8MAkBJ77B,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK44B,iBAAiB,EAAG/e,EAAU,6EAG5B,IAAArW,EASHtD,KAAKwC,MAPPsN,EAFKxM,EAELwM,aACAqQ,EAHK7c,EAGL6c,SACAoiB,EAJKj/B,EAILi/B,SACA5O,EALKrwB,EAKLqwB,SACAymB,EANK92C,EAML82C,UACAr3B,EAPKzf,EAOLyf,gBACAs3B,EARK/2C,EAQL+2C,SAGF,OACE52C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAASie,EACT3tB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,UAAW,YAAab,SAK/Dze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAAS6sB,EACTv8B,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,UAAW,YAAab,SAK/Dze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,YACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,WACL4P,UAAW6G,GACXtK,YAAY,WACZS,aAAa,QACbkI,QAAS0kC,EACTp0C,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,WAAY,aAAcb,SAKjEze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mCACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAASyK,EACTna,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,UAAW,YAAab,SAK/Dze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,UACEK,UAAU,kBACV9C,KAAK,SACLmE,QAAS22C,GAHX,yBAtGmBp3C,iBAAjCk3C,GAWGhzC,aAAe,CACpBwsB,SAAU,GACV4O,SAAU,GACVpiB,SAAU,GACVi6B,UAAW,IAyGf,IAMe/tC,MANgB0E,aAAU,CACvCC,KAAM,oBACNqO,oBAAoB,EACpBxQ,aAH6BkC,CAI5BopC,KCzHG5yB,eAKJ,SAAAA,EAAY/kB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAunB,IACjBznB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAkpB,GAAApnB,KAAAH,KAAMwC,KAqDRy0B,cAAgB,WACd9P,GAAuB,CACrBvX,UAAW,SAAC0qC,GAAa,IACfn6B,EAAam6B,EAAbn6B,SACFo6B,EAAmBp6B,EAASrG,OAAO,SAACoI,EAAGzB,EAAO+5B,GAAX,OAAoBA,EAAKr0C,IAAI,SAAAs0C,GAAC,OAAIA,EAAE/zC,QAAOia,QAAQuB,EAAExb,SAAW+Z,IACzG3gB,EAAKqB,SAAL9C,OAAAkP,GAAA,EAAAlP,CAAA,GACKi8C,EADL,CAEEI,iBAAkBv6B,EAClBA,SAAUo6B,MAGd54C,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,yDAnENU,EAwEnB0nB,oBAAsB,SAAC9U,EAAMiH,EAAUgE,G1EwGlC,IAAkCpgB,EACjCsgB,E0ExGJ/d,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,K1EoGlBE,GADiCtgB,E0EjGZ,CACvBsgB,SAAU,CACRnL,OACAiH,WACAgE,QAASA,GAAW,IAEtB/N,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,oD1EmFE7B,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IAClB7a,aAAO,GAAAhC,OAAIR,KAAJ,gCAAsDuhB,GACjE1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,M0E7L9B0B,EAmGnB8lB,qBAAuB,SAACC,EAAWC,EAAO/f,GACxC,GAAkB,YAAd8f,GAAyC,YAAdA,EAAyB,KAAAE,EAAAlkB,EACH/B,EAAKM,MAAhDojC,EAD8C3hC,EAC9C2hC,UAAWjP,EADmC1yB,EACnC0yB,UACfpU,EAFkDte,EACxB64C,iBACE5gC,OAAO,SAAA4G,GAAC,QAAM8iB,GAAa9iB,EAAE8iB,YAAcA,MACpEjP,GAAa7T,EAAE6T,YAAcA,KAGpCpU,EAAWA,EAASrG,OAAO,SAACoI,EAAGzB,EAAO+5B,GAAX,OAAoBA,EAAKr0C,IAAI,SAAAs0C,GAAC,OAAIA,EAAE/zC,QAAOia,QAAQuB,EAAExb,SAAW+Z,IACxFta,IAAI,SAAAs0C,GAAC,MAAK,CAAE/zC,MAAO+zC,EAAE/zC,MAAOX,MAAO00C,EAAE3jB,aACxCh3B,EAAKqB,UAAL4kB,EAAA,GAAA1nB,OAAAmR,GAAA,EAAAnR,CAAA0nB,EACGD,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAA0nB,EAEGF,EAAY9f,GAFf1H,OAAAmR,GAAA,EAAAnR,CAAA0nB,EAAA,WAGE5F,GAHF4F,QAKK,KAAA40B,EACL76C,EAAKqB,UAALw5C,EAAA,GAAAt8C,OAAAmR,GAAA,EAAAnR,CAAAs8C,EACG70B,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAAs8C,EAEG90B,EAAY9f,GAFf40C,IAfgD,IAqB1Ch9B,EAAY7d,EAAKM,MAAjBud,QACRA,EAAQmI,GAAS/f,EAAMA,MAEvBjG,EAAKqB,SAAS,CACZwc,aA5He7d,EAgInB86C,eAAiB,WAAM,IAAAx8B,EACete,EAAKM,MAAjCsS,EADa0L,EACb1L,KAAMiH,EADOyE,EACPzE,SAAUgE,EADHS,EACGT,QACxB7d,EAAK0nB,oBAAoB9U,EAAMiH,EAAUgE,IAlIxB7d,EAqInB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAAsM,EACsBlf,EAAKM,MAA3BuZ,EADAqF,EACArF,SAAUgE,EADVqB,EACUrB,QAClB7d,EAAK0nB,oBAAoB9U,EAAMiH,EAAUgE,KAxI1B7d,EA4InBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK0nB,oBAAoB,EAAG7N,EAAU7K,KA/IvBhP,EAmJnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK0nB,oBAAoB,EAAG7N,EAAU,KArJrB7Z,EAwJnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IA5JEvG,EA+JnB+6C,mCAAqC,Y1EkChC,SAA4Ct9C,GACjD,IAAMogB,EAAUpgB,EAAOogB,SAAW,GAC3B9e,aAAe,GAAA/B,OAAIR,KAAJ,yCAA+DqhB,GAClFxf,KAAK,SAACK,GACL,IAAME,EAAMuC,OAAO6nB,IAAIC,gBAAgBvqB,GACjCwqB,EAAOC,SAASjnB,cAAc,KACpCgnB,EAAKpnB,KAAOlD,EACZsqB,EAAKE,SAAW,kCAChBD,SAASzrB,KAAK2rB,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKV,SACD/qB,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUpR,KAElD6oB,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,K0E9C/Cy8C,CAAmC,CACjCl9B,QAFkB7d,EAAKM,MAAjBud,SAEc,GACpBhc,QAAS,WACPvC,aAAmB,uDAlKvBU,EAAK8lB,qBAAuB9lB,EAAK8lB,qBAAqBvR,KAA1BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC5BA,EAAK+6C,mCAAmCxmC,KAAxChW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KACAA,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,IACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,IAEjBc,EAAKyZ,QAAU,CACb,CAAElT,IAAK,kBAAmBzF,KAAM,aAAWqP,MAAO,SAClD,CAAE5J,IAAK,WAAYzF,KAAM,WAAYqP,MAAO,OAC5C,CAAE5J,IAAK,SAAUzF,KAAM,SAAUqP,MAAO,OACxC,CAAE5J,IAAK,cAAezF,KAAM,cAAYqP,MAAO,OAC/C,CAAE5J,IAAK,QAASzF,KAAM,SAAUqP,MAAO,OACvC,CAAE5J,IAAK,gBAAiBzF,KAAM,WAC9B,CACEyF,IAAK,eACLhE,UAAW,cACXzB,KAAM,iBACNqP,MAAO,QACPgL,OAAQ,SAAAnD,GAAG,OAAI,IAAIlD,KAAKkD,EAAIga,cAAcjd,gBAE5C,CAAExO,IAAK,gBAAiBzF,KAAM,WAC9B,CACEyF,IAAK,iBACLzF,KAAM,WACNqP,MAAO,OACPgL,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIwc,eAAX,UAEb,CACEjuB,IAAK,uBACLzF,KAAM,eACNrB,KAAM,SACN0Q,MAAO,SAGT,CACE5J,IAAK,eACLzF,KAAM,OACNrB,KAAM,SACN0Q,MAAO,UA5CMnQ,mFAiDC,IAAAmf,EACSjf,KAAKI,MAAxBsS,EADUuM,EACVvM,KAAMiH,EADIsF,EACJtF,SACd3Z,KAAKi3B,cAAcvkB,EAAMiH,oCAsHlB,IAAAqU,EAQHhuB,KAAKI,MANPC,EAFK2tB,EAEL3tB,QACAmZ,EAHKwU,EAGLxU,MACA9G,EAJKsb,EAILtb,KACAiH,EALKqU,EAKLrU,SACAC,EANKoU,EAMLpU,gBACA+D,EAPKqQ,EAOLrQ,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,gDAGJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAAC84C,GAADz8C,OAAA+N,OAAA,GACMpM,KAAKI,MADX,CAEE2iB,gBAAiB/iB,KAAK4lB,qBACtBy0B,SAAUr6C,KAAK46C,mBAGnBn3C,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI9X,UAAU,cACpBmX,EAAM1T,QACLrC,EAAA1B,EAAAC,cAAA,UACEK,UAAU,eACV9C,KAAK,SACLmE,QAAS1D,KAAK66C,oCAEdp3C,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBAAhB,QALF,qBAWNoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EAAUoD,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAAI1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,gCAEpBoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,kCACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjB9I,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aAlOFpc,iBA4OjBC,eAAWqkB,IChPpBwzB,8MAkBJz8B,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK44B,iBAAiB,EAAG/e,EAAU,6EAG5B,IAAArW,EASHtD,KAAKwC,MAPPsN,EAFKxM,EAELwM,aACAqQ,EAHK7c,EAGL6c,SACAoiB,EAJKj/B,EAILi/B,SACA5O,EALKrwB,EAKLqwB,SACAymB,EANK92C,EAML82C,UACAr3B,EAPKzf,EAOLyf,gBACAs3B,EARK/2C,EAQL+2C,SAGF,OACE52C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAASie,EACT3tB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,UAAW,YAAab,SAK/Dze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAAS6sB,EACTv8B,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,UAAW,YAAab,SAK/Dze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,YACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,WACL4P,UAAW6G,GACXtK,YAAY,WACZS,aAAa,QACbkI,QAAS0kC,EACTp0C,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,WAAY,aAAcb,SAKjEze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAASyK,EACTna,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,UAAW,YAAab,SAK/Dze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,UACEK,UAAU,kBACV9C,KAAK,SACLmE,QAAS22C,GAHX,yBAtGYp3C,iBAA1B83C,GAWG5zC,aAAe,CACpBwsB,SAAU,GACV4O,SAAU,GACVpiB,SAAU,GACVi6B,UAAW,IAyGf,IAKe/tC,MALgB0E,aAAU,CACvCC,KAAM,oBACNqO,oBAAoB,GAFStO,CAG5BgqC,KCrHGxzB,eAKJ,SAAAA,EAAY/kB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAunB,IACjBznB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAkpB,GAAApnB,KAAAH,KAAMwC,KAkDRy0B,cAAgB,WACd9P,GAAuB,CACrBvX,UAAW,SAAC0qC,GAAa,IACfn6B,EAAam6B,EAAbn6B,SAEFo6B,EAAmBp6B,EACtBrG,OAAO,SAACoI,EAAGzB,EAAO+5B,GAAX,OAAoBA,EAAKr0C,IAAI,SAAAs0C,GAAC,OAAIA,EAAE/zC,QAAOia,QAAQuB,EAAExb,SAAW+Z,IACvEta,IAAI,SAAAs0C,GAAC,MAAK,CAAE/zC,MAAO+zC,EAAE/zC,MAAOX,MAAO00C,EAAE3jB,aACxCh3B,EAAKqB,SAAL9C,OAAAkP,GAAA,EAAAlP,CAAA,GACKi8C,EADL,CAEEI,iBAAkBv6B,EAClBA,SAAUo6B,MAGd54C,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,yDAnENU,EAwEnB0nB,oBAAsB,SAAC9U,EAAMiH,EAAUgE,G9ErClC,IAAwBpgB,EACvBsgB,E8EqCJ/d,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,K9EzClBE,GADuBtgB,E8E4CZ,CACbsgB,SAAU,CACRnL,OACAiH,WACAgE,QAASA,GAAW,IAEtB/N,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,oD9E1DE7B,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IAClB7a,aAAO,GAAAhC,OAAIV,KAAJ,oBAAmCyhB,GAC9C1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,M8EhD9B0B,EAmGnB8lB,qBAAuB,SAACC,EAAWC,EAAO/f,GACxC,GAAkB,YAAd8f,GAAyC,YAAdA,EAAyB,KAAAE,EAAAlkB,EACH/B,EAAKM,MAAhDojC,EAD8C3hC,EAC9C2hC,UAAWjP,EADmC1yB,EACnC0yB,UACfpU,EAFkDte,EACxB64C,iBACE5gC,OAAO,SAAA4G,GAAC,QAAM8iB,GAAa9iB,EAAE8iB,YAAcA,MACpEjP,GAAa7T,EAAE6T,YAAcA,KACpCpU,EAAWA,EAASrG,OAAO,SAACoI,EAAGzB,EAAO+5B,GAAX,OAAoBA,EAAKr0C,IAAI,SAAAs0C,GAAC,OAAIA,EAAE/zC,QAAOia,QAAQuB,EAAExb,SAAW+Z,IAC3F3gB,EAAKqB,UAAL4kB,EAAA,GAAA1nB,OAAAmR,GAAA,EAAAnR,CAAA0nB,EACGD,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAA0nB,EAEGF,EAAY9f,GAFf1H,OAAAmR,GAAA,EAAAnR,CAAA0nB,EAAA,WAGE5F,GAHF4F,QAKK,KAAA40B,EACL76C,EAAKqB,UAALw5C,EAAA,GAAAt8C,OAAAmR,GAAA,EAAAnR,CAAAs8C,EACG70B,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAAs8C,EAEG90B,EAAY9f,GAFf40C,IAZgD,IAiB1Ch9B,EAAY7d,EAAKM,MAAjBud,QACRA,EAAQmI,GAAS/f,EAAMA,MAEvBjG,EAAKqB,SAAS,CACZwc,aAxHe7d,EA4HnB86C,eAAiB,WAAM,IAAAx8B,EACete,EAAKM,MAAjCsS,EADa0L,EACb1L,KAAMiH,EADOyE,EACPzE,SAAUgE,EADHS,EACGT,QACxB7d,EAAK0nB,oBAAoB9U,EAAMiH,EAAUgE,IA9HxB7d,EAiInB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAAsM,EACsBlf,EAAKM,MAA3BuZ,EADAqF,EACArF,SAAUgE,EADVqB,EACUrB,QAClB7d,EAAK0nB,oBAAoB9U,EAAMiH,EAAUgE,KApI1B7d,EAwInBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK0nB,oBAAoB,EAAG7N,EAAU7K,KA3IvBhP,EA+InBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK0nB,oBAAoB,EAAG7N,EAAU,KAjJrB7Z,EAoJnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAxJEvG,EA2JnBm6C,gBAAkB,Y9ExEb,SAA0B18C,GAC/B,IAAMogB,EAAUpgB,EAAOogB,SAAW,GAC3B9e,aAAe,GAAA/B,OAAIV,KAAJ,6BAA4CuhB,GAC/Dxf,KAAK,SAACK,GACL,IAAME,EAAMuC,OAAO6nB,IAAIC,gBAAgBvqB,GACjCwqB,EAAOC,SAASjnB,cAAc,KACpCgnB,EAAKpnB,KAAOlD,EACZsqB,EAAKE,SAAW,eAChBD,SAASzrB,KAAK2rB,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKV,SACD/qB,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUpR,KAElD6oB,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,K8E4D/C48C,CAAiB,CACfr9B,QAFkB7d,EAAKM,MAAjBud,SAEc,GACpBhc,QAAS,WACPvC,aAAmB,uDA9JvBU,EAAK8lB,qBAAuB9lB,EAAK8lB,qBAAqBvR,KAA1BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC5BA,EAAKm6C,gBAAgB5lC,KAArBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KACAA,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,IACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,IAEjBc,EAAKyZ,QAAU,CACb,CAAElT,IAAK,kBAAmBzF,KAAM,aAAWqP,MAAO,SAClD,CAAE5J,IAAK,WAAYzF,KAAM,WAAYqP,MAAO,OAC5C,CAAE5J,IAAK,SAAUzF,KAAM,SAAUqP,MAAO,OACxC,CAAE5J,IAAK,OAAQzF,KAAM,OAAQqP,MAAO,MACpC,CAAE5J,IAAK,eAAgBzF,KAAM,eAAgBqP,MAAO,OACpD,CAAE5J,IAAK,cAAezF,KAAM,cAAYqP,MAAO,OAC/C,CAAE5J,IAAK,QAASzF,KAAM,SAAUqP,MAAO,OACvC,CACE5J,IAAK,SACLzF,KAAM,YACNqP,MAAO,MACPgL,OAAQ,SAAAnD,GAAG,OAAK4M,GAAQ5M,EAAI0K,QAAUkC,GAAQ5M,EAAI0K,QAAQ9b,MAAQ,KAEpE,CACEL,IAAK,eACLzF,KAAM,iBACNqP,MAAO,QACP1Q,KAAM,SACN0b,OAAQ,SAAAnD,GAAG,OAAI,IAAIlD,KAAKkD,EAAIga,cAAcjd,gBAE5C,CAAExO,IAAK,UAAWzF,KAAM,UAAWqP,MAAO,SAC1C,CACE5J,IAAK,WACLzF,KAAM,WACNqP,MAAO,OACPgL,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAImY,SAAX,WAtCEnwB,mFA2CC,IAAAmf,EACSjf,KAAKI,MAAxBsS,EADUuM,EACVvM,KAAMiH,EADIsF,EACJtF,SACd3Z,KAAKi3B,cAAcvkB,EAAMiH,GACzB3Z,KAAKmB,SAAS,CACZd,SAAS,qCAsHJ,IAAA2tB,EAQHhuB,KAAKI,MANPC,EAFK2tB,EAEL3tB,QACAmZ,EAHKwU,EAGLxU,MACA9G,EAJKsb,EAILtb,KACAiH,EALKqU,EAKLrU,SACAC,EANKoU,EAMLpU,gBACA+D,EAPKqQ,EAOLrQ,QAGF,OAAItd,EACKoD,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,wBAGJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACi5C,GAAD58C,OAAA+N,OAAA,GACMpM,KAAKI,MADX,CAEE2iB,gBAAiB/iB,KAAK4lB,qBACtBy0B,SAAUr6C,KAAK46C,mBAGlBphC,EAAM1T,QACLrC,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI9X,UAAU,cACrBoB,EAAA1B,EAAAC,cAAA,UACEK,UAAU,eACV9C,KAAK,SACLmE,QAAS1D,KAAKi6C,iBAEdx2C,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBAAhB,QALF,qBAYNoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,yBACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjB9I,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aAjOEpc,iBAyOjBC,eAAWqkB,ICxOpB2zB,8MAkBJC,aAAe,SAAC/Y,GAEd,QADkBzd,GAAenN,KAAK,SAAAiH,GAAC,OAAIA,EAAE1Y,QAAUq8B,KAAU,IAC/C17B,OAAS,KAAKyW,MAAM,KAAKi+B,MAAM50B,UAGnD60B,gBAAkB,SAAAC,GAAQ,OAAIA,EAASC,uBAAuBp1C,IAAI,SAAAmtB,GAAO,OACvE7vB,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MACEwjC,QAASlS,EAAQqmB,eAAe7zC,OAAS,EACzCzD,UAAU,cACVmE,MAAO,CAAEg1C,cAAe,WAEvBloB,EAAQyD,eAEXtzB,EAAA1B,EAAAC,cAAA,MACEwjC,QAASlS,EAAQqmB,eAAe7zC,OAAS,EACzCzD,UAAU,cACVmE,MAAO,CAAEg1C,cAAe,WAEvBloB,EAAQjT,UAGZvgB,EAAK27C,gBAAgBnoB,SAI1BmoB,gBAAkB,SAAAnoB,GAAO,OAAIA,EAAQqmB,eAAexzC,IAAI,SAAAi8B,GAAK,OAC3D3+B,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAcmE,MAAO,CAAEg1C,cAAe,WACjDpZ,EAAMjH,aAAeiH,EAAMjH,aAAe,KAE7C13B,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAcmE,MAAO,CAAEg1C,cAAe,WACjD17C,EAAKq7C,aAAa/Y,EAAMjH,eAE3B13B,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAcmE,MAAO,CAAEg1C,cAAe,WACjDpZ,EAAM/I,SAET51B,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAcmE,MAAO,CAAEg1C,cAAe,WACjDhnC,GAAW4tB,EAAMpH,cAEpBv3B,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAcmE,MAAO,CAAEg1C,cAAe,WACjDpZ,EAAMhO,qFAKJ,IAAA7zB,EAAAP,KAAAsD,EAWHtD,KAAKwC,MATP4N,EAFK9M,EAEL8M,WACAN,EAHKxM,EAGLwM,aACAyS,EAJKjf,EAILif,OACA1C,EALKvc,EAKLuc,gBACA5B,EANK3a,EAML2a,OACAC,EAPK5a,EAOL4a,SACA4T,EARKxuB,EAQLwuB,aACA4pB,EATKp4C,EASLo4C,UACAC,EAVKr4C,EAULq4C,wBAGF,OACEl4C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK0hC,GAAI,GAAI7rB,GAAI,GAAI5V,GAAI,GAAIC,GAAI,IAC/B3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,uBAINoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK0hC,GAAI,GAAI7rB,GAAI,GAAI5V,GAAI,EAAGC,GAAI,GAC9B3W,EAAA1B,EAAAC,cAAC2Y,GAAA,EAAD,CAAOlM,KAAK,KAAKmM,YAAU,EAACihC,YAAU,GACpCp4C,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,OAAV,wBACAve,EAAA1B,EAAAC,cAAA,aAAAlF,OAAQmhB,EAAR,KAAAnhB,OAAkBohB,KAEpBza,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,OAAV,wBACAve,EAAA1B,EAAAC,cAAA,UAEI6d,GAAmBi8B,SAASj8B,EAAiB,IACzC,IAAI3D,KAAK6/B,aAAa,SAAS9gC,OAAO6gC,SAASj8B,EAAiB,KAChEA,IAIVpc,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,OAAV,cACAve,EAAA1B,EAAAC,cAAA,UAAK05C,IAEPj4C,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,OAAV,+BAGAve,EAAA1B,EAAAC,cAAA,UACG,IAAI4S,KAAKkd,GAAcjd,qBAStCpR,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,qBACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK0hC,GAAI,GAAI7rB,GAAI,GAAI5V,GAAI,GAAIC,GAAI,IAC/B3W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,yBAAd,uBAINoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,OACN4wC,EAAwBx1C,IAAI,SAAA61C,GAAE,OAC7Bv4C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,GAAI1pB,IAAG,YAAAvJ,OAAck/C,EAAGplB,aAC7CnzB,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,CAAUjY,UAAU,sCAClBoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qCACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBAAuB25C,EAAG/rB,UACxCxsB,EAAA1B,EAAAC,cAAA,WACAyB,EAAA1B,EAAAC,cAAA,OAAKqE,IAAG,WAAAvJ,OAAak/C,EAAGplB,YAAcv0B,UAAU,sBAC9CoB,EAAA1B,EAAAC,cAAC2Y,GAAA,EAAD,CAAOlM,KAAK,KAAKwtC,UAAQ,EAACz1C,MAAO,CAAEuS,SAAU,SAC3CtV,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,kBAGAyB,EAAA1B,EAAAC,cAAA,wBAGAyB,EAAA1B,EAAAC,cAAA,mBAGAyB,EAAA1B,EAAAC,cAAA,oBAGAyB,EAAA1B,EAAAC,cAAA,wBAGAyB,EAAA1B,EAAAC,cAAA,mBAGAyB,EAAA1B,EAAAC,cAAA,oBAKJyB,EAAA1B,EAAAC,cAAA,aACGzB,EAAK86C,gBAAgBW,eAY5Cv4C,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,aAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCA/LmBtf,iBAA3Bi4C,GAaG/zC,aAAe,CACpBiJ,YAAY,EACZurC,wBAAyB,IA8L7B,IAKetvC,MALC0E,aAAU,CACxBC,KAAM,UACNqO,oBAAoB,GAFNtO,CAGbmqC,KC5GYgB,eAtGb,SAAAA,EAAY15C,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAk8C,IACjBp8C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA69C,GAAA/7C,KAAAH,KAAMwC,KAUR2vB,oBAAsB,WAAM,IAAA7uB,EACGxD,EAAK0C,MADR25C,EAAA74C,EAClBtE,UADkB,IAAAm9C,EACb,GADaA,EACTx3C,EADSrB,EACTqB,ShF8Cd,WAAuD,IAAjB3F,EAAiB0N,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAZ,GAAInP,EAAQmP,UAAA5G,OAAA,EAAA4G,UAAA,QAAA0K,EACrD3Y,aAAM,GAAA3B,OAAIV,KAAJ,qCAAAU,OAAmDkC,IAC7Db,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KgFvD/Cg+C,CAA6Bp9C,EAAI,CAC/B4Q,UAAW,SAAC8X,GACV5nB,EAAKqB,SAAS,CAAEumB,UAASrnB,SAAS,KAEpCsB,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IACrBjC,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,uBACnBuF,EAAQghB,UAERvmB,aAAmB,kEAvBRU,EA6BnBgQ,aAAe,SAAChB,GAAW,IACjB9P,EAAO8P,EAAP9P,GACRc,EAAKqB,SAAS,CAAEd,SAAS,IhFyCtB,WAAwD,IAAjBrB,EAAiB0N,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAZ,GAAInP,EAAQmP,UAAA5G,OAAA,EAAA4G,UAAA,QAAA0K,EACtDvY,aAAe,GAAA/B,OAAIV,KAAJ,8CAAAU,OAA4DkC,IAC/Eb,KAAK,SAACK,GACL,IAAME,EAAMuC,OAAO6nB,IAAIC,gBAAgBvqB,GACjCwqB,EAAOC,SAASjnB,cAAc,KACpCgnB,EAAKpnB,KAAOlD,EACZsqB,EAAKE,SAAW,gCAChBD,SAASzrB,KAAK2rB,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKV,SACD/qB,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUpR,KAElD6oB,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KgFrD/C45B,CAA8Bh5B,EAAI,CAChC4Q,UAAW,WACT9P,EAAKqB,SAAS,CAAEd,SAAS,IACzBnB,aAAqB,oCAEvByC,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEd,SAAS,IACrBjC,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,2DA1CRU,EAgDnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UAhDR7lB,EAAKM,MAAQ,CACXC,SAAS,GAHMP,mFAQjBE,KAAKmyB,uDA6CE,IACCxtB,EAAY3E,KAAKwC,MAAjBmC,QADD9C,EAKH7B,KAAKI,MAFPsnB,EAHK7lB,EAGL6lB,QACArnB,EAJKwB,EAILxB,QAGF,OAAIA,EACKoD,EAAA1B,EAAAC,cAACmd,GAAD,MAIP1b,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,8BAGAoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,uDAKJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACN9Z,EACIoD,EAAA1B,EAAAC,cAACmd,GAAD,MAED1b,EAAA1B,EAAAC,cAACq6C,GAADh+C,OAAA+N,OAAA,GACMsb,EADN,CAEE5W,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACb7Y,cAAe6a,EACf/iB,QAASA,eAvFW1B,iBCIhCq5C,eAKJ,SAAAA,EAAY95C,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAs8C,IACjBx8C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAi+C,GAAAn8C,KAAAH,KAAMwC,KAiHR+5C,oBAAsB,SAAC7pC,EAAMiH,EAAUgE,GjEvIlC,IAAgBpgB,EACfsgB,EiEuIJ/d,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,KjE3IlBE,GADetgB,EiE8IZ,CACLsgB,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,qDjE5JE7B,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IAClB7a,aAAO,GAAAhC,OAAIN,KAAJ,QAAuBqhB,GAClC1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MiEQ9B0B,EA6InB08C,oBAAsB,SAACpoB,GACrB,IAAMxzB,EAAI,GAAA9D,OAAMs3B,EAAQ/T,QAAQya,OAAtB,MAAAh+B,OAAiCs3B,EAAQ/T,QAAQpC,QAC3DrQ,GAAQ,CACN9J,MAAO,iBACP+J,SAAQ,kDAAA/Q,OAAiD8D,EAAjD,KACRkN,SAAU,qBACVE,QAAS,aACTC,UAAW,WjE5HV,IAAgBjP,EAAIgc,EAAJhc,EiE6HRo1B,EAAQp1B,GjE7HIgc,EiE8HjB,CACEpL,UAAW,WACT1Q,aAAqB,gCADN,IAAA2C,EAEY/B,EAAKM,MAAxBsS,EAFO7Q,EAEP6Q,KAAMiH,EAFC9X,EAED8X,SACd7Z,EAAKy8C,oBAAoB7pC,EAAMiH,IAEjChY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,wBAEnBA,aAAmB,yCjEvI1BH,aAAS,GAAAnC,OAAIN,KAAJ,KAAAM,OAAmBkC,IAChCb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SiElCpC0B,EAwKnB28C,YAAc,SAACroB,GACOt0B,EAAK0C,MAAjBmC,QACAG,KAAR,wBAAAhI,OAAqCs3B,EAAQp1B,MA1K5Bc,EA6KnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAKy8C,oBAAoB7pC,EAAMiH,EAAUgE,KAhL1B7d,EAoLnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKy8C,oBAAoB,EAAG5iC,EAAU7K,KAvLvBhP,EA4LnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKy8C,oBAAoB,EAAG5iC,EAAU,KA9LrB7Z,EAiMnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IArMEvG,EAwMnB48C,YAAc,SAAA71C,GAAuB,IAApB81C,EAAoB91C,EAApB81C,OAAQ52C,EAAYc,EAAZd,MACvB,OAAK42C,EAKHl5C,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEV,MAAO,CAAEuS,SAAU,QACnBxS,MAAM,UACN2oB,MAAI,GAEHnpB,GATIA,GAxMTjG,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,KAEjBc,EAAKyZ,QAAU,CACb,CACElT,IAAK,OACLzF,KAAM,SACNoZ,QAAQ,EACR/J,MAAO,OACPgL,OAAQ,SAAA3M,GAAA,IAASvI,EAATuI,EAAG4hB,KAAaysB,EAAhBruC,EAAgBquC,OAAhB,OAA6B78C,EAAK48C,YAAY,CAAE32C,QAAO42C,aAEjE,CACEt2C,IAAK,SACLzF,KAAM,SACNoZ,QAAQ,EACRiB,OAAQ,SAAA+M,GAAA,IAAWjiB,EAAXiiB,EAAG/J,OAAe0+B,EAAlB30B,EAAkB20B,OAAlB,OAA+B78C,EAAK48C,YAAY,CAAE32C,QAAO42C,aAEnE,CACEt2C,IAAK,eACLzF,KAAM,mBACNoZ,QAAQ,EACRza,KAAM,OACN0b,OAAQ,SAAA+P,GAAA,IAAG4xB,EAAH5xB,EAAG4xB,aAAcD,EAAjB3xB,EAAiB2xB,OAAjB,OAA8B78C,EAAK48C,YAAY,CAAE32C,MAAOyO,GAAWooC,GAAeD,aAE5F,CACEt2C,IAAK,YACLzF,KAAM,gBACNoZ,QAAQ,EACRza,KAAM,OACN0b,OAAQ,SAAAkN,GAAA,IAAG00B,EAAH10B,EAAG00B,UAAWF,EAAdx0B,EAAcw0B,OAAd,OAA2B78C,EAAK48C,YAAY,CAAE32C,MAAOyO,GAAWqoC,GAAYF,aAEtF,CACEt2C,IAAK,2BACLzF,KAAM,0BACNoZ,QAAQ,EACRza,KAAM,OACN0b,OAAQ,SAAAwQ,GAAA,IAAGqxB,EAAHrxB,EAAGqxB,yBAA0BH,EAA7BlxB,EAA6BkxB,OAA7B,OAA0C78C,EAAK48C,YAAY,CACjE32C,MAAOyO,GAAWsoC,GAClBH,aAGJ,CACEt2C,IAAK,wBACLzF,KAAM,uBACNoZ,QAAQ,EACRza,KAAM,OACN0b,OAAQ,SAAAuT,GAAA,IAAGuuB,EAAHvuB,EAAGuuB,sBAAuBJ,EAA1BnuB,EAA0BmuB,OAA1B,OAAuC78C,EAAK48C,YAAY,CAC9D32C,MAAOyO,GAAWuoC,GAClBJ,aAGJ,CACEt2C,IAAK,qBACLzF,KAAM,kCACNoZ,QAAQ,EACRza,KAAM,OACN0b,OAAQ,SAAAyT,GAAA,IAAGyjB,EAAHzjB,EAAGyjB,mBAAoBwK,EAAvBjuB,EAAuBiuB,OAAvB,OAAoC78C,EAAK48C,YAAY,CAAE32C,MAAOyO,GAAW29B,GAAqBwK,aAExG,CACEt2C,IAAK,wBACLzF,KAAM,qCACNoZ,QAAQ,EACRza,KAAM,OACN0b,OAAQ,SAAA4T,GAAA,IACN0a,EADM1a,EACN0a,sBAAuBoT,EADjB9tB,EACiB8tB,OADjB,OAEF78C,EAAK48C,YAAY,CACrB32C,MAAOyO,GAAW+0B,GAClBoT,aAGJ,CACEt2C,IAAK,gBACLzF,KAAM,kBACNoZ,QAAQ,EACRiB,OAAQ,SAAAgU,GAAA,IAAG+tB,EAAH/tB,EAAG+tB,cAAeL,EAAlB1tB,EAAkB0tB,OAAlB,OAA+B78C,EAAK48C,YAAY,CAAE32C,MAAQi3C,EAAgB,KAAO,KAAOL,aAElG,CACEt2C,IAAK,SACLzF,KAAM,SACNoZ,QAAQ,EACRiB,OAAQ,SAAAkU,GAAA,IAAGwtB,EAAHxtB,EAAGwtB,OAAH,OAAgB78C,EAAK48C,YAAY,CAAE32C,MAAQ42C,EAAS,KAAO,KAAOA,aAE5E,CAAEt2C,IAAK,UAAWzF,KAAM,SAAUqP,MAAO,SAE3CnQ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,mBACzCkX,SAAU,SAACoZ,GACTt0B,EAAK28C,YAAYroB,KAGrB,CACE/tB,IAAK,SACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,mBAC1CkX,SAAU,SAACoZ,GACTt0B,EAAK08C,oBAAoBpoB,MAvGdt0B,mFA6GC,IAAAkf,EACShf,KAAKI,MAAxBsS,EADUsM,EACVtM,KAAMiH,EADIqF,EACJrF,SACd3Z,KAAKu8C,oBAAoB7pC,EAAMiH,oCAyGxB,IAAApZ,EAAAP,KAAAif,EAQHjf,KAAKI,MANPC,EAFK4e,EAEL5e,QACAmZ,EAHKyF,EAGLzF,MACA9G,EAJKuM,EAILvM,KACAiH,EALKsF,EAKLtF,SACAC,EANKqF,EAMLrF,gBACA+D,EAPKsB,EAOLtB,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAC+B,EAAA,EAAD,CAAM1B,UAAU,kBAAkB2B,GAAG,uBACnCP,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eADf,6BAMNoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EAAUoD,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAAI1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,gBAEpBoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,gCACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aAlQFpc,iBA4QjBC,eAAWo5C,IChQXztC,GA/BE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GA0Bf,OAxBKD,EAAMkP,SACTjP,EAAOiP,OAAS,2CAGblP,EAAMkuC,aAAgBluC,EAAMkuC,YAAYl3C,QAC3CiJ,EAAOiuC,YAAc,sCAGlBluC,EAAM6tC,eACT5tC,EAAO4tC,aAAe,iDAGnB7tC,EAAM8tC,YACT7tC,EAAO6tC,UAAY,8CAGhB9tC,EAAM+tC,2BACT9tC,EAAO8tC,yBAA2B,wDAG/B/tC,EAAMguC,wBACT/tC,EAAO+tC,sBAAwB,qDAG1B/tC,GCJHkuC,eA2BJ,SAAAA,EAAY16C,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAk9C,IACjBp9C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA6+C,GAAA/8C,KAAAH,KAAMwC,KA+FR26C,uBAAyB,SAAC/oB,GACxB,GAAIA,EAAS,KAAA9wB,EACaxD,EAAK0C,MAArBxD,EADGsE,EACHtE,GADGsE,EACCqB,QACJG,KAAR,wBAAAhI,OAAqCkC,EAArC,gBAnGec,EAwGnBs9C,mBAAqB,SAAChzB,GACpB,GAAIA,EAAgB,KAAAngB,EACMnK,EAAK0C,MAArBxD,EADUiL,EACVjL,GADUiL,EACNtF,QACJG,KAAR,iCAAAhI,OAA8CkC,EAA9C,KAAAlC,OAAoDstB,EAAeprB,OA3GpDc,EA+GnBu9C,qBAAuB,SAACjzB,GAClBA,IAEFkzB,EADuCx9C,EAAK0C,MAApC86C,4BACmBlzB,IAlHZtqB,EAsHnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK8zB,oBAAoB,EAAGja,EAAU7K,KAzHvBhP,EA6HnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK8zB,oBAAoB,EAAGja,EAAU,KA/HrB7Z,EAkInBy9C,iBAAmB,SAACvtB,GAClBlwB,EAAKqB,SAAS,CACZqiC,UAAWxT,EAAQjqB,SApIJjG,EAwInB09C,eAAiB,WAAM,IACbr9B,EAAargB,EAAK0C,MAAlB2d,SACAqjB,EAAc1jC,EAAKM,MAAnBojC,UAER,OAAOrjB,EAASrG,OAAO,SAAA4G,GAAC,OAAIA,EAAE8iB,YAAcA,GAA2B,IAAdA,KA5IxC1jC,EA+InB29C,YAAc,WAAM,IACVlb,EAAaziC,EAAK0C,MAAlB+/B,SACR,MACK,CAAC,CAAEx8B,MAAO,EAAGW,MAAO,UADzB5J,OAAAuB,OAAA4nB,GAAA,EAAA5nB,CAEKkkC,KAnJYziC,EAuJnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAzJfvG,EAAKs9C,mBAAqBt9C,EAAKs9C,mBAAmB/oC,KAAxBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC1BA,EAAKu9C,qBAAuBv9C,EAAKu9C,qBAAqBhpC,KAA1BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC5BA,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,IACVC,gBAAiB,EACjB+D,QAAS,CAAE3e,GAAI,IACfwkC,UAAW,GAEb1jC,EAAKyZ,QAAU,CAGb,CACElT,IAAK,mBACLzF,KAAM,WACNoZ,QAAQ,EACR/J,MAAO,QACP5N,UAAW,cACX4Y,OAAQ,SAAAnD,GAAG,OACTrU,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEb,IAAG,OAAAvJ,OAASgb,EAAI9Y,IAChBuH,MAAOuR,EAAI4Z,iBAAmB,IAAM,EAAI,YAAc,WAFxD,IAAA50B,OAIOgb,EAAI4Z,iBAJX,YASN,CACErrB,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIgd,cAAX,OAAAh4B,OAA8Bgb,EAAIuI,QAAlC,OAAAvjB,OAA+Cgb,EAAI+X,WAEhE,CACExpB,IAAK,QACLzF,KAAM,QACNoZ,QAAQ,GAEV,CACE3T,IAAK,aACLzF,KAAM,eACNqa,OAAQ,SAAAnD,GAAG,OAAIA,EAAIkS,WAAW7jB,IAAI,SAAAua,GAAC,OACjCjd,EAAA1B,EAAAC,cAAA,OAAKqE,IAAG,QAAAvJ,OAAUgb,EAAI9Y,GAAd,KAAAlC,OAAoB4jB,EAAE1hB,IAAMwH,MAAO,CAAE6P,QAAS,SACpD5S,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,QAAAvJ,OAAUgb,EAAI9Y,GAAd,KAAAlC,OAAoB4jB,EAAE1hB,KAC3ByE,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEb,IAAG,QAAAvJ,OAAUgb,EAAI9Y,GAAd,KAAAlC,OAAoB4jB,EAAE1hB,IACzBuH,MAAkB,cAAXma,EAAEta,KAAuB,YAAc,WAElC,cAAXsa,EAAEta,KAAuB,MAAQ,QAGtC3C,EAAA1B,EAAAC,cAAA,iBAAS0e,EAAEzC,OAAX,IAAoByC,EAAExC,eAI5B,CACE7X,IAAK,eACLzF,KAAM,UACNoZ,QAAQ,EACR3X,UAAW,cACX4N,MAAO,QACPgL,OAAQ,SAAAnD,GAAG,OACTrU,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAOuR,EAAIyuB,aAAe,UAAY,WAErCzuB,EAAIyuB,aAAe,KAAO,SAKnC,CAAElgC,IAAK,UAAWzF,KAAM,SAAUqP,MAAO,SAE3CnQ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,mBACzCkX,SAAU,SAACoP,GACTtqB,EAAKs9C,mBAAmBhzB,KAG5B,CACE/jB,IAAK,SACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,mBAC1CkX,SAAU,SAACoP,GACTtqB,EAAKu9C,qBAAqBjzB,MAzFftqB,wEA8JV,IAAAS,EAAAP,KAAAkU,EASHlU,KAAKwC,MAPPxD,EAFKkV,EAELlV,GACAoR,EAHK8D,EAGL9D,WACAN,EAJKoE,EAILpE,aACAyS,EALKrO,EAKLqO,OACAm7B,EANKxpC,EAMLwpC,cACAV,EAPK9oC,EAOL8oC,cACAL,EARKzoC,EAQLyoC,OARK96C,EAgBH7B,KAAKI,MAJPsS,EAZK7Q,EAYL6Q,KACAiH,EAbK9X,EAaL8X,SACAC,EAdK/X,EAcL+X,gBACA+D,EAfK9b,EAeL8b,QAGF,OACEla,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,sBAOF9e,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI2Q,GAAI,IACfrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,uBAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,SACL4P,UAAW1D,GACXC,YAAY,SACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,kBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,cACL4P,UAAW6G,GACXtK,YAAY,iBACZS,aAAa,QACbkI,QAASgoC,OAOjBj6C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAEdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,2BAAhB,iBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,gBACL4P,UAAW1E,GACXpF,MAAM,gBACNX,MAAOi3C,EAAgB,UAAY,GACnC9xC,eAAgB8xC,OAMxBv5C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAEdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,2BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,SACL4P,UAAW1E,GACXpF,MAAM,UACNX,MAAO42C,EAAS,UAAY,GAC5BzxC,eAAgByxC,OAMxBl5C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAEdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,6BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,eACL4P,UAAWsI,GACX/L,YAAY,4BACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAEdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,0BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,YACL4P,UAAWsI,GACX/L,YAAY,yBACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAEdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,2BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,2BACL4P,UAAWsI,GACX/L,YAAY,0BACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAEdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,wBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,wBACL4P,UAAWsI,GACX/L,YAAY,uBACZS,aAAa,aAKrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,8BACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,qBACL4P,UAAWsI,GACX/L,YAAY,6BACZS,aAAa,QACbiH,cAAc,YAMtBhR,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,iCACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,wBACL4P,UAAWsI,GACX/L,YAAY,gCACZS,aAAa,QACbiH,cAAc,aAOxBhR,EAAA1B,EAAAC,cAAA,WACChD,GACCyE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GACd3W,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACVqB,QAAS,kBAAMnD,EAAK48C,uBAAuB,CAAEn+C,SAH/C,8BAQFyE,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GACd3W,EAAA1B,EAAAC,cAACowC,GAAA,EAAD,CAAWt6B,KAAG,GACZrU,EAAA1B,EAAAC,cAACu7B,GAAA,EAAD,CAAOE,IAAI,UAAU1N,GAAI,EAAG1tB,UAAU,qCAAtC,YACAoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAK6V,GAAI,IACPtsB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACEvR,GAAG,UACH4B,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,QACZ0I,aAAc,EACdjI,aAAa,QACbkI,QAAS1V,KAAKy9C,cACdz3C,SAAUhG,KAAKu9C,uBAMzB95C,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,sBACNyV,QAASvZ,KAAKuZ,QACdC,MAAOxZ,KAAKw9C,iBACZ3qC,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,KAIxB5b,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCA/aYtf,iBAApBi6C,GAgBG/1C,aAAe,CACpBnI,GAAI,EACJoR,YAAY,EACZ4sC,eAAe,EACfL,QAAQ,EACRx8B,SAAU,GACVoiB,SAAU,GACV0a,YAAa,IAsajB,IAMe5wC,MANU0E,aAAU,CACjCC,KAAM,cACNnC,YACAwQ,oBAAoB,GAHGtO,CAItBmsC,KCvPYS,eA7Mb,SAAAA,EAAYn7C,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAA29C,IACjB79C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAs/C,GAAAx9C,KAAAH,KAAMwC,KAYR+oC,mBAAqB,WAAM,IAAAjoC,EACDxD,EAAK0C,MAArBxD,EADiBsE,EACjBtE,GAAI2F,EADarB,EACbqB,QACR3F,EpEhBD,SAAaA,EAAIgc,GACfvc,aAAM,GAAA3B,OAAIN,KAAJ,KAAAM,OAAmBkC,IAC7Bb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KoEOnD8pB,CAAIlpB,EAAI,CACN4Q,UAAW,SAACiX,GACV,IAAMuN,EAAO/1B,OAAAkP,GAAA,EAAAlP,CAAA,GACRwoB,EADQ,CAEXo2B,YAAa,CACXl3C,MAAO8gB,EAAIkR,cACXrxB,MAAK,GAAA5J,OAAK+pB,EAAIqJ,SAIlBpwB,EAAKqB,SAAS,CAAEizB,aAElBzyB,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,wBACnBuF,EAAQG,KAAK,oBAEb1F,aAAmB,qDAKzBU,EAAKqB,SAAS,CACZizB,QAAS,CACPp1B,GAAI,EACJg6B,OAAO,IAAIpkB,MAAOwuB,kBAzCPtjC,EA+CnB0d,eAAiB,WACfC,GAAe,CACb7N,UAAW,SAAC3T,GACV6D,EAAKqB,SAAS,CACZu8C,cAAezhD,EAAEyhD,cACjBnb,SAAUtmC,EAAEsmC,YAGhB5gC,QAAS,WACPvC,aAAmB,qDAxDNU,EA6DnBgQ,aAAe,SAAChB,GAAW,IpEhDRuZ,EAAKrN,EoEkDE+c,EAGpBjpB,EAHFmuC,YAAel3C,MACfosC,EAEErjC,EAFFqjC,mBACA5I,EACEz6B,EADFy6B,sBAGIhsC,EAAMc,OAAAkP,GAAA,EAAAlP,CAAA,GACPyQ,EADO,CAEVqjC,mBAAoBn1B,GAAem1B,GACnC5I,sBAAuBvsB,GAAeusB,GACtCxR,kBAEMpzB,EAAY7E,EAAK0C,MAAjBmC,QpE7DS0jB,EoE8DZ9qB,EpE9DiByd,EoE8DT,CACXpL,UAAW,WACT1Q,aAAqB,iCACrByF,EAAQG,KAAK,oBAEfnD,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,uDpEtEpBN,aAAO,GAAAhC,OAAIN,MAAe6rB,GAC9BlqB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MoEvBpC0B,EA2FnBw9C,2BAA6B,SAAClzB,GAC5B,IAAMxpB,EAAI,GAAA9D,OAAMstB,EAAe/J,SAC/BzS,GAAQ,CACN9J,MAAO,4BACP+J,SAAQ,gDAAA/Q,OAA+C8D,EAA/C,qBACRkN,SAAU,aACVE,QAAS,aACTC,UAAW,WACT2vC,GAAqBxzB,EAAeprB,GAClC,CACE4Q,UAAW,WACT1Q,aAAqB,gCACrBY,EAAK0d,iBACL1d,EAAKyrC,sBAEP5pC,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,wBAEnBA,aAAmB,0DA9GdU,EAuHnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UAzHS7lB,EA4HnB8lB,qBAAuB,SAACC,EAAWC,EAAO/f,GAAU,IAAAggB,EAC1CqO,EAAYt0B,EAAKM,MAAjBg0B,QACRt0B,EAAKqB,UAAL4kB,EAAA,GAAA1nB,OAAAmR,GAAA,EAAAnR,CAAA0nB,EACGD,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAA0nB,EAAA,UAAA1nB,OAAAkP,GAAA,EAAAlP,CAAA,GAEgB+1B,EAFhB/1B,OAAAmR,GAAA,EAAAnR,CAAA,GAE0BwnB,EAAY9f,KAFtCggB,KA9HiBjmB,EAoInBmkC,sBAAwB,SAACpe,EAAWC,EAAO/f,GAAU,IAAA89B,EAAA8W,EAC3CvmB,EAAYt0B,EAAKM,MAAjBg0B,QACFrJ,EAAQ,GAAAjuB,OAAMiJ,EAAMkY,OAAZ,KAAAnhB,OAAsBiJ,EAAMmY,UACpColB,EAA+BlP,EAA/BkP,cAAepD,EAAgB9L,EAAhB8L,YAEhBoD,IAEHpD,EAAc,CAAEn6B,MADhBu9B,EAAgBv9B,EAAMssB,UACgB3rB,MAAOqkB,IAE/CjrB,EAAKqB,UAALw5C,EAAA,GAAAt8C,OAAAmR,GAAA,EAAAnR,CAAAs8C,EACG70B,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAAs8C,EAAA,UAAAt8C,OAAAkP,GAAA,EAAAlP,CAAA,GAGO+1B,GAHPyP,EAAA,GAAAxlC,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAIKhe,EAAY9f,GAJjB1H,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,WAKI9Y,GALJ1sB,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,cAMI3D,GANJ7hC,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,gBAOIP,GAPJO,KAAA8W,KA3IA76C,EAAKM,MAAQ,GACbN,EAAK8lB,qBAAuB9lB,EAAK8lB,qBAAqBvR,KAA1BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC5BA,EAAKmkC,sBAAwBnkC,EAAKmkC,sBAAsB5vB,KAA3BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC7BA,EAAKw9C,2BAA6Bx9C,EAAKw9C,2BAA2BjpC,KAAhChW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KALjBA,mFASjBE,KAAKwd,iBACLxd,KAAKurC,sDA+IE,IAAAthC,EACiBjK,KAAKwC,MAArBxD,EADDiL,EACCjL,GAAI2F,EADLsF,EACKtF,QADL9C,EAMH7B,KAAKI,MAHPg0B,EAHKvyB,EAGLuyB,QACAspB,EAJK77C,EAIL67C,cACAnb,EALK1gC,EAKL0gC,SAEF,OACE9+B,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,YAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,aAAe,WADvB,mCAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACJujC,EAGCj6C,EAAA1B,EAAAC,cAAC67C,GAADx/C,OAAA+N,OAAA,GACMgoB,EADN,CAEEtjB,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACb7Y,cAAeunB,EACfzvB,QAASA,EACT+4C,cAAeA,EACfnb,SAAUA,EACVxf,gBAAiB/iB,KAAK4lB,qBACtB4c,iBAAkBxiC,KAAKikC,sBACvBqZ,2BAA4Bt9C,KAAKs9C,2BACjCj+B,oBAAkB,KAbnB5b,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,yBAjLkBY,iBCVpB4L,GAVE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GAKf,OAJKD,EAAM2Y,SAAY3Y,EAAM2Y,QAAQgL,iBACnC1jB,EAAO2iB,QAAU,8BAGZ3iB,GCYH2jB,oLAkBK,IAAArvB,EAUHtD,KAAKwC,MARP4N,EAFK9M,EAEL8M,WACAN,EAHKxM,EAGLwM,aACAyS,EAJKjf,EAILif,OACA2N,EALK5sB,EAKL4sB,KACAqS,EANKj/B,EAMLi/B,SANKtM,EAAA3yB,EAOLsvB,gBAPK,IAAAqD,EAOM,GAPNA,EAQL6nB,EARKx6C,EAQLw6C,wBACAP,EATKj6C,EASLi6C,iBAGF,OACE95C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,qBACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,IACrBtsB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,0BAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,IACrBtsB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,yBAWR9e,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAE/BrM,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,CAAW7c,UAAU,qBACnBoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,IACrBtsB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SACE+D,MAAK,GAAAjJ,OAAKozB,GACVjlB,UAAQ,OAKhBxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,IACrBtsB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAAS6sB,EACTv8B,SAAUu3C,QAOpB95C,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,CAAKxP,IAAI,OACN6nB,EAASzsB,IAAI,SAAA6d,GAAC,OACbvgB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGqX,GAAI,EAAGzB,GAAI,GAAI1pB,IAAG,YAAAvJ,OAAcknB,EAAEhlB,KAC5CyE,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,CAAUjY,UAAU,sCAClBoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,qCACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,uBAAuB2hB,EAAE/F,QACvCxa,EAAA1B,EAAAC,cAAA,WACCgiB,EAAE7D,SAASha,IAAI,SAAAua,GAAC,OACfjd,EAAA1B,EAAAC,cAAA,OAAKqE,IAAG,WAAAvJ,OAAa4jB,EAAE8uB,gBAAkBntC,UAAU,sBACjDoB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACElK,IAAG,WAAAvJ,OAAa4jB,EAAE8uB,gBAClB5uC,KAAI,WAAA9D,OAAa4jB,EAAE8uB,gBACnBh/B,UAAW1E,GACXpF,MAAOga,EAAEzC,OACTlY,MAAO2a,EAAE5L,SAAW,UAAY,GAChC5J,eAAgBwV,EAAE5L,SAClB9O,SAAU,SAAAkc,GAAC,OAAI47B,EAAwBp9B,EAAE8uB,eAAgBttB,kBAa/Eze,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCAnIgBtf,iBAAxB0vB,GAYGxrB,aAAe,CACpBiJ,YAAY,EACZmyB,SAAU,GACV3P,SAAU,IAkId,IAMevmB,MANa0E,aAAU,CACpCC,KAAM,sBACNnC,YACAwQ,oBAAoB,GAHMtO,CAIzB4hB,KCtJGK,eACJ,SAAAA,EAAYxwB,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAgzB,IACjBlzB,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA20B,GAAA7yB,KAAAH,KAAMwC,KAaRy0B,cAAgB,WAAM,IAAA3zB,EACexD,EAAK0C,MAAhCmC,EADYrB,EACZqB,SvE0CL,SAAmC4vB,EAAWh3B,GAC5CkB,aAAM,GAAA3B,OAAIN,KAAJ,6BAAAM,OAA2Cy3B,IACrDp2B,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KuEnD/C2/C,CAFoBz6C,EACHtE,GACoB,CACnC4Q,UAAW,SAAC0qC,GAAa,IACf/X,EAAa+X,EAAb/X,SACRA,EAASz9B,KAAK,CAAEiB,MAAO,EAAGW,MAAO,UACjC5G,EAAKqB,SAAL9C,OAAAkP,GAAA,EAAAlP,CAAA,GACKi8C,EADL,CAEE/X,WACAjiC,QAAQ,MAGZqB,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,wBACnBuF,EAAQG,KAAK,4BAEb1F,aAAmB,sDA/BRU,EAqCnBozB,iBAAmB,SAACsQ,GAAc,IvEmCQjmC,EuElC5Bg3B,EAAcz0B,EAAK0C,MAAvBxD,GACRc,EAAKqB,SAAS,CAAEb,QAAQ,IvEiCgB/C,EuEhCZ,CAC1Bg3B,YACAiP,YACA5zB,UAAW,SAACgjB,GACV9yB,EAAKqB,SAAS,CAAEyxB,WAAUtyB,QAAQ,KAEpCqB,QAAS,WACPvC,aAAmB,yCACnBU,EAAKqB,SAAS,CAAEb,QAAQ,MvEyBvB7B,aAAM,GAAA3B,OAAIN,KAAJ,2BAAAM,OAAyCS,EAAOg3B,UAAhD,KAAAz3B,OAA6DS,EAAOimC,YAC9ErlC,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MuElF9B0B,EAsDnBg+C,wBAA0B,SAAC9+C,EAAIo0B,GAC7B,GAAIA,EAAI3jB,OAAQ,KACN4jB,EAAwBvzB,EAAKM,MAA7BizB,oBACFC,EAAUD,EAAoB7b,KAAK,SAAApE,GAAC,OAAIA,EAAEo8B,iBAAmBxwC,IAC9Ds0B,GAOHA,EAAQxe,SAAWse,EAAI3jB,OAAOnE,QAC9BxL,EAAKqB,SAAS,CAAEkyB,0BAPhBA,EAAoBvuB,KAAK,CACvB0qC,eAAgBxwC,EAChB8V,SAAUse,EAAI3jB,OAAOnE,UAEvBxL,EAAKqB,SAAS,CAAEkyB,2BA/DHvzB,EAuEnBgQ,aAAe,WAAM,IvEeM7S,EAAM+d,EuEdnBuZ,EAAcz0B,EAAK0C,MAAvBxD,GAEFzB,EAAS,CAAE81B,oBADevzB,EAAKM,MAA7BizB,oBAC8BkB,WAAYA,GAC1C5vB,EAAY7E,EAAK0C,MAAjBmC,QvEWiB1H,EuEVZM,EvEUkByd,EuET7B,CACEpL,UAAW,WACT1Q,aAAqB,8CACrByF,EAAQG,KAAR,wBAAAhI,OAAqCy3B,KAEvC5yB,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,qEvECtBN,aAAO,GAAAhC,OAAIN,KAAJ,kBAAiCS,GAC5CkB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MuEhGpC0B,EA4FnBy9C,iBAAmB,SAACvtB,GAClBlwB,EAAKqB,SAAS,CAAE6uB,YAChBlwB,EAAKozB,iBAAiBlD,EAAQjqB,QA9FbjG,EAiGnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UAjGR7lB,EAAKM,MAAQ,CACXE,QAAQ,EACR+yB,oBAAqB,GACrBrD,QAAS,CAAEjqB,MAAO,EAAGW,MAAO,UALb5G,mFAUjBE,KAAKi3B,gBACLj3B,KAAKkzB,iBAAiB,oCA2Ff,IAAAjpB,EACiBjK,KAAKwC,MAArBxD,EADDiL,EACCjL,GAAI2F,EADLsF,EACKtF,QADL9C,EAQH7B,KAAKI,MALPg0B,EAHKvyB,EAGLuyB,QACA9zB,EAJKuB,EAILvB,OACAsyB,EALK/wB,EAKL+wB,SACA5C,EANKnuB,EAMLmuB,QACAuS,EAPK1gC,EAOL0gC,SAIF,OACE9+B,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,wBAGAoB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,YAAc,WADtB,+CAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACJ7Z,GAAUsyB,GAAYwB,EAGrB3wB,EAAA1B,EAAAC,cAACg8C,GAAD3/C,OAAA+N,OAAA,GACMgoB,EADN,CAEEA,QAASA,EACTpE,QAASA,EACTuS,SAAUA,EACVzxB,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACb7Y,cAAeunB,EACfzvB,QAASA,EACTiuB,SAAUA,EACVkrB,wBAAyB99C,KAAK89C,wBAC9BP,iBAAkBv9C,KAAKu9C,oBAbxB95C,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,yBAlIkBY,iBAgKpBC,eAAWqH,YAAQ,SAAAnK,GAAK,MAAK,CAC1CmJ,QAASnJ,EAAMmJ,UADSgB,CAEtByoB,KC/GWnkB,GArEE,WAEX,IAFYE,EAEZrC,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAFoB,CACxB0jB,SAAU,IAEJphB,EAAS,GA+Df,OA7DKD,EAAM6iB,OAAU7iB,EAAM6iB,MAAM7rB,QAC/BiJ,EAAO4iB,MAAQ,8BAGZ7iB,EAAMsR,SAAYtR,EAAMsR,QAAQta,QACnCiJ,EAAOqR,QAAU,gCAGdtR,EAAMgc,UAAahc,EAAMgc,SAAShlB,QACrCiJ,EAAO+b,SAAW,gCAGfhc,EAAMqlB,SAAYrlB,EAAMqlB,QAAQruB,QACnCiJ,EAAOolB,QAAU,+BAGfrlB,EAAMqhB,UAAYrhB,EAAMqhB,SAAStqB,SACnCkJ,EAAOohB,SAAW,GAClBrhB,EAAMqhB,SAAStW,OAAO,SAAArC,GAAC,OAAKA,EAAEqvB,UAASnmC,QAAQ,SAAC0nB,EAAK5H,GACnD,IAAMriB,EAAQ,GAETiqB,EAAI6C,+BAAkC7C,EAAI6C,8BAA8BnlB,QAC3E3H,EAAM8sB,8BAAgC,gDAEnC7C,EAAI0C,UAAa1C,EAAI0C,SAAShlB,MAMN,CADvBgJ,EADFgc,UAGY,GAFVhc,EADQ+9B,mBAIW,GAHnB/9B,EAD2Bg+B,mBAKR,GAJnBh+B,EAD8Ci+B,mBAM3B,IAGCnuB,KAAK,SAAAuG,GAAC,OAAIA,EAAErf,OAASqf,EAAErf,QAAUsiB,EAAI0C,SAAShlB,UACpE3H,EAAM2sB,SAAW,sDAbnB3sB,EAAM2sB,SAAW,+BAgBd1C,EAAI4C,KAAQ5C,EAAI4C,IAAIllB,QACvB3H,EAAM6sB,IAAM,2BAET5C,EAAI8C,aACP/sB,EAAM+sB,WAAa,yBAEhB9C,EAAI+C,UACPhtB,EAAMgtB,QAAU,yBAGd/sB,OAAOoC,KAAKrC,GAAO0H,SACrBkJ,EAAOohB,SAAS3P,GAASriB,MAK3BC,OAAOoC,KAAKuO,GAAQlJ,QACtBhF,QAAQ1C,MAAM4Q,GAGTA,GCnCHi+B,eAsDJ,SAAAA,EAAYzqC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAitC,IACjBntC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA4uC,GAAA9sC,KAAAH,KAAMwC,KAsGR8b,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK44B,iBAAiB,EAAG/e,EAAU,KAzGlB7Z,EA4GnByE,OAAS,SAACkrB,GAAQ,IACR6d,EAAwBxtC,EAAK0C,MAA7B8qC,oBACcxtC,EAAKM,MAAnBsvB,YACUD,IAChB3vB,EAAKqB,SAAS,CAAEuuB,UAAWD,IACf,MAARA,GACF6d,MAlHaxtC,EAuHnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IA3HEvG,EA8HnBytC,qBAAuB,WAAM,IAAAjqC,EAGvBxD,EAAK0C,MAET,MAAO,CALoBc,EAEzBynB,UAIY,GANaznB,EAEfwpC,mBAKW,GAPIxpC,EAEIypC,mBAMR,GARIzpC,EAEuB0pC,mBAO3B,IACrBlzB,OAAO,SAAAsL,GAAC,OAAIA,EAAErf,SAxICjG,EA2InB0tC,eAAiB,SAAA3mC,GAKX,IAAAggC,EAAAhgC,EAJJ0a,cAII,IAAAslB,EAJK,GAILA,EAAA4G,EAAA5mC,EAHJumC,sCAGI,IAAAK,EAH6B,GAG7BA,EAAAC,EAAA7mC,EAFJ8mC,kBAEI,IAAAD,EAFS,GAETA,EAAAE,EAAA/mC,EADJupB,gBACI,IAAAwd,EADO,GACPA,EAAA3jC,EAGAnK,EAAK0C,MADPqrC,EAFE5jC,EAEF4jC,sBAAuBC,EAFrB7jC,EAEqB6jC,wBAAyBlsB,EAF9C3X,EAE8C2X,aAAcC,EAF5D5X,EAE4D4X,eAG1DksB,EAAoBjuC,EAAKytC,uBAmC/B,OACE9pC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,SAAOK,UAAU,gCACfoB,EAAA1B,EAAAC,cAAA,aACEyB,EAAA1B,EAAAC,cAAA,MAAIwE,MAAO,CAAEC,gBAAiB,wBAC5BhD,EAAA1B,EAAAC,cAAA,MAAI8f,QAAS,GACXre,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,kBACboB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GACd3W,EAAA1B,EAAAC,cAAA,gCAzCiB,IAA7B+rC,EAAkBjoC,OAElBrC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CAAOX,MAAM,WAAb,qFAUR9C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,EAAG0Q,GAAI,IACrBrnB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEH,KAAK,KACLlI,MAAM,UACNC,MAAO,CAAEub,aAAc,OACvBre,QAAS,kBAAMmqC,KACfxrC,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,eACZ,IARH,gBAgCEoB,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,KACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,kBACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAV,YACAve,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAc2f,MAAM,aAAlC,UACAve,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAc2f,MAAM,aAAlC,QACAve,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAc2f,MAAM,aAAlC,eACAve,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAc2f,MAAM,aAAlC,YACAve,EAAA1B,EAAAC,cAAA,MAAIggB,MAAM,aAAa,OAG3Bve,EAAA1B,EAAAC,cAAA,aACGuf,EAAOpb,IAAI,SAAC6nC,EAASvtB,GACpB,OAAK2P,EAAS3P,GAKZhd,EAAA1B,EAAAC,cAAA,MAAIqE,IAAG,GAAAvJ,OAAKkxC,GAAW3rC,UAAW+tB,EAAS3P,GAAOqmB,QAAU,SAAW,IACrErjC,EAAA1B,EAAAC,cAAA,MAAI8f,QAAQ,IAAIzf,UAAU,wBACxBoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE8qB,SAAU,SAAUqN,WAAY,SAAUhR,UAAW,SAClFlqB,EAAA1B,EAAAC,cAAA,UAAKye,EAAQ,GACbhd,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,kCACJjhC,YAAY,iBACZ/G,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAChC5L,OAAQzT,EAAO5B,KAAM,gCAAiC6f,WAExD/K,QAAS03B,EACT58B,UAAW6G,OAIjB5T,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,aACJjhC,YAAY,WACZ/G,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAAE5L,OAAQzT,EAAO5B,KAAM,WAAY6f,WACrE/K,QAASq4B,EACTv9B,UAAW6G,OAIjB5T,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,QACJjhC,YAAY,SACZ/G,SAAU,SAAAxD,GAAK,OAAIqf,EAAe,CAAE5L,OAAQzT,EAAO5B,KAAM,MAAO6f,WAChE/K,QAASi4B,EACTn9B,UAAW6G,OAIjB5T,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,yBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mEACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,SACJjhC,YAAY,OACZxN,KAAK,OACLyN,UAAU,KACVwD,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,EAAGzB,SAKvChd,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,yBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,eACJjhC,YAAY,cACZxN,KAAK,OACLiR,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,EAAGzB,QAIrChd,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,yBACZoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,OAAOmE,MAAO,CAAE6P,QAAS,SACtC5S,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAI,GAAA9D,OAAKkxC,EAAL,YACJjhC,YAAY,WACZkhC,cAAenuC,EAAKouC,kBACpB3uC,KAAK,OACLiR,UAAW1D,GACXU,aAAa,QACbxH,SAAU,SAAAkc,GAAC,OAAIN,EAAaM,EAAGzB,QAIrChd,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACElL,QAAS,kBAAMoqC,EAAwB,CAAErtB,WACzChS,KAAK,KACL0T,SAAO,EACP5b,MAAM,SACNC,MAAO,CAAEub,aAAc,OACvB1f,UAAU,oBAEVoB,EAAA1B,EAAAC,cAAA,KAAGK,UAAU,cAAcsO,cAAY,YA1FtC,WAtNF7Q,EA4TnBquC,iBAAmB,WAAM,IACf/jB,EAAmBtqB,EAAK0C,MAAxB4nB,eACR,OACE3mB,EAAA1B,EAAAC,cAACosC,GAAD,CACE9C,WAAYlhB,EAAeprB,GAC3BorB,eAAc/rB,OAAAkP,GAAA,EAAAlP,CAAA,GACT+rB,EADS,CAEZiB,uBAAuB,OAjU7BvrB,EAAKM,MAAQ,CACXsvB,UAAW,KAGb5vB,EAAKyZ,QAAU,SAAAjL,GAGT,IAFJ+/B,EAEI//B,EAFJ+/B,qBACApgB,EACI3f,EADJ2f,YAEMqgB,EAAO,CACX,CACEjoC,IAAK,kBACLzF,KAAM6C,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,wBACNmI,MAAO,QACP+J,QAAQ,GAEV,CACE3T,IAAK,iBACLzF,KAAM,WACNyY,SAAS,EACTW,QAAQ,GAEV,CACE3T,IAAK,eACLzF,KAAM,SACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,MAAI,GAAAhb,OAAGgb,EAAIqe,eAAP,MAAAr5B,OAA0Bgb,EAAIoe,cAAe1P,SAE9D,CAAEngB,IAAK,QAASzF,KAAM,WAGxB,SAAA9D,OACKwxC,EACA,CACD,CACEjoC,IAAK,eACLzF,KAAM,OACNoX,UAAWq2B,GAAwBpgB,EACnC1uB,KAAM,SACN0N,IAAK,EACLC,IAAK,IACL+C,MAAO,QACP5N,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB8C,OAAQ,SAAA+M,GAAA,IAAGqI,EAAHrI,EAAGqI,aAAH,OACN5sB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAM,UACN2oB,MAAI,EACJ1oB,MAAO,CACLuS,SAAU,OACV8U,UAAW,SACXnX,WAAY,WAGb2Z,KAIP,CACEhqB,IAAK,uBACLzF,KAAM,eACNrB,KAAM,SACN0N,IAAK,IACLC,IAAK,MACL+C,MAAO,QACP5N,UAAW,cACX8V,WAAYrY,EAAKqY,WACjB8C,OAAQ,SAAA+P,GAAA,IAAGsF,EAAHtF,EAAGsF,qBAAH,OACN7sB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEX,MAAM,UACN2oB,MAAI,EACJ1oB,MAAO,CACLuS,SAAU,OACV8U,UAAW,SACXnX,WAAY,WAGb3D,KAAKqc,MAAMkB,MAIlB,CACEjqB,IAAK,UACLzF,KAAM,SACNqP,MAAO,QACPoJ,SAAS,MAMjBvZ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,iBACzCkX,SAAU,SAAC6Z,GACT/0B,EAAKyuC,YAAY1Z,MAjGN/0B,wEA0UV,IAAAS,EAAAP,KAGP,GAFoBA,KAAKwC,MAAjBnC,QAGN,OAAOoD,EAAA1B,EAAAC,cAACmd,GAAD,MAJF,IAAAjL,EAwBHlU,KAAKwC,MAhBP4N,EARK8D,EAQL9D,WACAN,EATKoE,EASLpE,aACAiT,EAVK7O,EAUL6O,gBACAR,EAXKrO,EAWLqO,OACAisB,EAZKt6B,EAYLs6B,8BACAxkB,EAbK9V,EAaL8V,WACA7J,EAdKjM,EAcLiM,SACAiK,EAfKlW,EAeLkW,eACAgG,EAhBKlc,EAgBLkc,SACAud,EAjBKz5B,EAiBLy5B,WACAP,EAlBKl5B,EAkBLk5B,+BACAqB,EAnBKv6B,EAmBLu6B,kBACAC,EApBKx6B,EAoBLw6B,sBACAl1B,EArBKtF,EAqBLsF,MACAI,EAtBK1F,EAsBL0F,gBACA+D,EAvBKzJ,EAuBLyJ,QAGMiU,EAAmBxH,EAAnBwH,MAAOwC,EAAYhK,EAAZgK,QAGb1E,EACE1vB,KAAKI,MADPsvB,UAGF,OACEjsB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,KACE7W,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI2Q,GAAI,IACfrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,qCAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,SACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SACE+D,MAAK,GAAAjJ,OAAK80B,EAAMlrB,OAChBuE,UAAQ,OAKhBxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAAA,SACE+D,MAAK,GAAAjJ,OAAKs3B,EAAQruB,MAAb,OAAAjJ,OAAwBs3B,EAAQ1tB,OACrCuE,UAAQ,OAKhBxH,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAASyK,OAMjB1c,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,sBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,WACL4P,UAAW6G,GACXtK,YAAY,WACZS,aAAa,QACbkI,QAASsU,EACThkB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,WAAY,aAAcb,SAKjEze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,oBACL4P,UAAW6G,GACXtK,YAAY,oBACZS,aAAa,QACbkI,QAASsU,EACThkB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,oBAAqB,sBAAuBb,SAMnFze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,oBACL4P,UAAW6G,GACXtK,YAAY,oBACZS,aAAa,QACbkI,QAASsU,EACThkB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,oBAAqB,sBAAuBb,SAMnFze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,qBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,oBACL4P,UAAW6G,GACXtK,YAAY,oBACZS,aAAa,QACbkI,QAASsU,EACThkB,SAAU,SAAAkc,GAAC,OAAIa,EAAgB,oBAAqB,sBAAuBb,SAKnFze,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,0BAA0B,KAC1CoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,oBACL4P,UAAW1E,GACXpF,MAAM,wBACNX,MAAO0oC,EAAoB,UAAY,GACvCvjC,eAAgBujC,OAMxBhrC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,cACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACLmM,YAAY,aACZxN,KAAK,OACLyN,UAAU,KACVwD,UAAW1D,GACXU,aAAa,cAOvB/J,EAAA1B,EAAAC,cAAA,WAWAyB,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuuB,GAAA,EAAD,CAAKC,MAAI,EAAChqB,MAAO,CAAE8kB,IAAK,WACtB7nB,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EACIjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,QAA3C,qBAEDoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEuT,SAAO,EACP5b,MAAM,YACNlE,UAAU,OACVqB,QAAS,kBAAMnD,EAAKgE,OAAO,OAJ7B,sBAWNd,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EACIjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,QAA3C,kBAEDoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQuT,SAAO,EAAC5b,MAAM,YAAYlE,UAAU,OAAOqB,QAAS,kBAAMnD,EAAKgE,OAAO,OAA9E,mBAMNd,EAAA1B,EAAAC,cAACyuB,GAAA,EAAD,CAASpuB,UAAU,IACF,MAAdqtB,EAEGjsB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQkF,QAAM,EAACvN,MAAM,YAAYlE,UAAU,OAAOmE,MAAO,CAAEub,aAAc,SAAzE,gBAKAte,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CACEuT,SAAO,EACP5b,MAAM,YACNlE,UAAU,OACVmE,MAAO,CAAEub,aAAc,QACvBre,QAAS,kBAAMnD,EAAKgE,OAAO,OAL7B,kBAaRd,EAAA1B,EAAAC,cAAC2uB,GAAA,EAAD,CAAYjB,UAAWA,GACrBjsB,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASvuB,UAAU,qBAAqBwuB,MAAM,KAC5CptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkiB,GAAA,EAAD,CACEtjB,KAAK,WACL4P,UAAWxQ,KAAKwtC,eAChBpd,SAAUA,EACVud,WAAYA,EACZP,+BAAgCA,EAChC1d,UAAWA,MAIjBjsB,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KAEIm0B,EACEjrC,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI9X,UAAU,eACrBoB,EAAA1B,EAAAC,cAACmd,GAAD,OAIA1b,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,KACErE,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,aACboB,EAAA1B,EAAAC,cAAA,UACEwE,MAAO,CAAE0J,OAAQ,QACjB7N,UAAU,kCACV9C,KAAK,SACLmE,QAAS8qC,GAET/qC,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wBAAhB,QANF,qBAWJoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,6BACNyV,QAASvZ,KAAKuZ,QAAQ,CACpB0U,YAAa7D,EAAe6D,YAC5BogB,qBAAsBjkB,EAAeikB,qBACrCO,6BAA8BxkB,EAAewkB,+BAE/Cp1B,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnB+G,gBAAiBA,EACjB9I,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrB7E,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3C0R,WAAY/X,KAAKsgC,gBACjB1tB,YAAa4G,EAAM1T,OACnB4M,KAAM,EACNiH,SAAUC,EACVR,eAAgBuE,EAAQvE,eACxBvM,cAAe8Q,EACf0B,oBAAkB,OAOhC5b,EAAA1B,EAAAC,cAAC4uB,GAAA,EAAD,CAASC,MAAM,KACbptB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGva,KAAKmuC,uBAMd1qC,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCAtrBmBtf,iBAA3BgqC,GAkDG9lC,aAAe,CACpBiJ,YAAY,GAipBhB,IAMe/D,MANiB0E,aAAU,CACxCC,KAAM,qBACNnC,YACAwQ,oBAAoB,GAHUtO,CAI7Bk8B,KC3SY/G,eApab,SAAAA,EAAY1jC,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAkmC,IACjBpmC,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA6nC,GAAA/lC,KAAAH,KAAMwC,KAyBRqsC,4BAA8B,WAAM,IAC1B7vC,EAAOc,EAAK0C,MAAZxD,GACRc,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvC9lB,GAA6B,CAC3B5pB,KACA4Q,UAAW,WACT9P,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvCxvC,aAAqB,kCAEvByC,QAAS,WACP7B,EAAKqB,SAAS,CAAEutC,uBAAuB,IACvCtvC,aAAmB,sEArCNU,EA0CnBivC,qBAAuB,SAACr8B,EAAMiH,EAAUgE,GAAY,IAC1C3e,EAAOc,EAAK0C,MAAZxD,GAERc,EAAKqB,SAAS,CACZutC,uBAAuB,EACvB/wB,QAASA,GAAW,KAGtBgL,GAAmB,CACjBhL,UACA3e,KACA4Q,UAAW,SAAA/I,GAAyB,IAAZ2S,EAAY3S,EAAtBsZ,SACZrgB,EAAKqB,SAAS,CACZutC,uBAAuB,EACvBl1B,QACAI,gBAAiBJ,EAAM1T,UAG3BnE,QAAS,WACP7B,EAAKqB,SAAS,CACZqY,MAAO,GACPk1B,uBAAuB,IAEzBtvC,aAAmB,oDAjENU,EAsEnByrC,mBAAqB,WAAM,IAAAjoC,EACUxD,EAAK0C,MAAhCxD,EADiBsE,EACjBtE,GAAIi/C,EADa36C,EACb26C,UAAWt5C,EADErB,EACFqB,QACnB3F,EACFkpB,GAAI,CACFlpB,KACA4Q,UAAW,SAACiX,GACV/mB,EAAKqB,SAAS,CAAEipB,eAAgBvD,KAElCllB,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,gCACnBuF,EAAQG,KAAR,wBAAAhI,OAAqCmhD,KAErC7+C,aAAmB,+DAKzBU,EAAKqB,SAAS,CACZipB,eAAgB,CACdprB,GAAI,EACJg6B,OAAO,IAAIpkB,MAAOwuB,cAClB3Z,8BAA8B,MA5FnB3pB,EAkGnB0d,eAAiB,WACfC,GAAe,CACb7N,UAAW,SAAAtB,GAOL,IANJ2jB,EAMI3jB,EANJ2jB,OACA9R,EAKI7R,EALJ6R,SACAwT,EAIIrlB,EAJJqlB,SACA3J,EAGI1b,EAHJ0b,WACAojB,EAEI9+B,EAFJ8+B,+BACAO,EACIr/B,EADJq/B,WAEA7tC,EAAKqB,SAAS,CACZ8wB,SACA9R,WACAwT,WACA3J,aACAojB,iCACAO,eAGF7tC,EAAKyrC,sBAEP5pC,QAAS,WACPvC,aAAmB,qDAxHNU,EA6HnBgQ,aAAe,SAAChB,GACd,GAAKA,EAAL,CADyB,IAGvB9P,EAaE8P,EAbF9P,GACAqhB,EAYEvR,EAZFuR,QACA0K,EAWEjc,EAXFic,SACA+hB,EAUEh+B,EAVFg+B,kBACAC,EASEj+B,EATFi+B,kBACAC,EAQEl+B,EARFk+B,kBACAwC,EAOE1gC,EAPF0gC,eACA5d,EAME9iB,EANF8iB,MACA2C,EAKEzlB,EALFylB,UACAnE,EAIEthB,EAJFshB,SACA3G,EAGE3a,EAHF2a,6BACAglB,EAEE3/B,EAFF2/B,kBACA5e,EACE/gB,EADF+gB,QAUItyB,EAAS,CAEbyB,KACAwwC,iBACApd,QAXyBR,EAAnB7rB,MAYN+wB,UAX2BzW,EAArBta,MAYN+9B,WAX4B/Y,EAAtBhlB,MAYNwuB,YACAkb,qBAZqC3C,GAAqB,IAApD/mC,MAaN2pC,qBAZqC3C,GAAqB,IAApDhnC,MAaN4pC,qBAZqC3C,GAAqB,IAApDjnC,MAaNqqB,WACA3G,+BACAglB,oBACA5e,WAvCuB5lB,EAyCMnK,EAAK0C,MAA5BmC,EAzCiBsF,EAyCjBtF,QAASs5C,EAzCQh0C,EAyCRg0C,UACjB71B,GAAK7qB,EAAQ,CACXqS,UAAW,WACT1Q,aAAqB,6CACrByF,EAAQG,KAAR,wBAAAhI,OAAqCmhD,KAEvCt8C,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,kEAhLRU,EAsLnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UAxLS7lB,EA2LnBkvC,0BAA4B,WAAM,IAAAC,EACNnvC,EAAKM,MAAvBgwB,gBADwB,IAAA6e,EACb,GADaA,EAG1BpD,EAA+B,IAApBzb,EAAStqB,OAAe,EAAKiN,KAAK7F,IAALT,MAAAsG,KAAI1U,OAAA4nB,GAAA,EAAA5nB,CAAQ+xB,EAASjqB,IAAI,SAAAslB,GAAA,OAAAA,EAAGhL,UAAsB,EAEhG3gB,EAAKqB,SAAS,CACZivB,SAAQ,GAAAtzB,OAAAuB,OAAA4nB,GAAA,EAAA5nB,CACH+xB,GADG,CAEN,CACEpxB,GAAI,EACJyhB,MAAOorB,EACPzhB,eAAgB,GAChBW,SAAU,CACRhlB,MAAO,EACPW,MAAO,IACPwf,SAAU,EACV7N,KAAM,MAER4S,IAAK,CACHllB,MAAO,EACPW,MAAO,IACPwf,SAAU,EACV7N,KAAM,MAER8S,WAAY,QACZC,QAAS,QACTsY,KAAM,GACNxY,8BAA+B,CAC7BnlB,MAAO,EACPW,MAAO,IACPwf,SAAU,EACV7N,KAAM,YA1NGvY,EAiOnBovC,4BAA8B,SAAA1gB,GAAe,IAAZ/N,EAAY+N,EAAZ/N,MAAY0uB,EACjBrvC,EAAKM,MAAvBgwB,SACF/J,QAFqC,IAAA8oB,EACxB,GADwBA,GAEjBhpC,IAAI,SAAAuU,GAAC,OAAArc,OAAAkP,GAAA,EAAAlP,CAAA,GAC1Bqc,EAD0B,CAE7BosB,QAASpsB,EAAEosB,SAAWpsB,EAAE+F,QAAUA,MAGpC3gB,EAAKqB,SAAS,CAAEivB,SAAU/J,KAxOTvmB,EA2OnB+vC,4BAA8B,WAAM,IAC1B7wC,EAAOc,EAAK0C,MAAZxD,GAEHA,GAQLc,EAAKqB,SAAS,CACZd,SAAS,IAGXmoB,GAAuC,CACrCE,UAAW1pB,EACX4Q,UAAW,SAACwgB,GACVtwB,EAAKqB,SAAS,CACZd,SAAS,EACT+vB,SAAUA,EAASjqB,IAAI,SAACuU,EAAG+F,GAAJ,OAAApiB,OAAAkP,GAAA,EAAAlP,CAAA,GAAoBqc,EAApB,CAAuB+F,eAGlD9e,QAAS,SAACvD,GACR0B,EAAKqB,SAAS,CAAEivB,SAAU,GAAI/vB,SAAS,IACnCjC,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,kCAEnBA,aAAmB,gEAxBvBU,EAAKqB,SAAS,CACZivB,SAAU,MAhPGtwB,EA6QnBwmB,iBAAmB,SAACtlB,EAAGyf,GAAU,IACvB2P,EAAatwB,EAAKM,MAAlBgwB,SAEFrqB,EAA0B,WAAlB/E,EAAEyO,OAAOlQ,KAAoB0G,OAAOjF,EAAEyO,OAAO1J,OAAS,GAAAjJ,OAAGkE,EAAEyO,OAAO1J,OAAQygB,OAElFspB,EAAWzxC,OAAA4nB,GAAA,EAAA5nB,CAAO+xB,GACxB0f,EAAYrvB,GAAZpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKyxC,EAAYrvB,GADjBpiB,OAAAmR,GAAA,EAAAnR,CAAA,GAGK2C,EAAEyO,OAAO7O,KAAKuc,MAAM,KAAK,GAAKpX,IAInCjG,EAAKqB,SAAS,CAAEivB,SAAU0f,KA1RThwC,EA6RnB2mB,mBAAqB,SAAAiI,GAA6B,IAAAhI,EAA1BzQ,EAA0ByY,EAA1BzY,OAAQrV,EAAkB8tB,EAAlB9tB,KAAM6f,EAAYiO,EAAZjO,MACpC3gB,EAAKqB,SAAS,CAAEd,SAAS,IADuB,IAGxC+vB,EAAatwB,EAAKM,MAAlBgwB,SACF0f,EAAWzxC,OAAA4nB,GAAA,EAAA5nB,CAAO+xB,GAClBnzB,GAAIypB,EAAA,GAAAroB,OAAAmR,GAAA,EAAAnR,CAAAqoB,EACP9lB,EAAOqV,GADA5X,OAAAmR,GAAA,EAAAnR,CAAAqoB,EAAA,QAERjG,GAFQiG,GAKVopB,EAAYrvB,GAAZpiB,OAAAkP,GAAA,EAAAlP,CAAA,GACKyxC,EAAYrvB,GACZxjB,GAGL6C,EAAKqB,SAAS,CACZivB,SAAU0f,EACVzvC,SAAS,EACT0vC,gBAAgB,IAAIn7B,MAAOo7B,aA/SZlwC,EAmTnB8vC,sBAAwB,SAAC/pB,EAAWC,EAAOzN,GAAS,IAAAwrB,EAC1CzZ,EAAmBtqB,EAAKM,MAAxBgqB,eAERtqB,EAAKqB,SAAS,CACZipB,eAAe/rB,OAAAkP,GAAA,EAAAlP,CAAA,GACV+rB,GADSyZ,EAAA,GAAAxlC,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAEX/d,EAAQzN,EAAKtS,OAFF1H,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAGXhe,EAAYxN,GAHDwrB,OAvTC/jC,EA+TnBiQ,YAAc,kBACZtM,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,gCACboB,EAAA1B,EAAAC,cAACgO,GAAA,EAAD,CAASzJ,MAAM,UAAUC,MAAO,CAAEyJ,MAAO,OAAQC,OAAQ,YA/T3DpQ,EAAKM,MAAQ,CACXgtC,+BAAgC,GAChCO,WAAY,GACZttC,SAAS,EACT+vB,SAAU,GACV2f,eAAgB,EAChBrB,uBAAuB,EACvBl1B,MAAO,GACPI,gBAAiB,EACjB+D,QAAS,CACPjL,KAAM,EACNiH,SAAU,GACVkG,gBAAiB,GACjBqW,aAAc,GACdC,eAAgB,KAhBHr2B,mFAsBjBE,KAAKwd,iBACLxd,KAAK6vC,+DA8SE,IAAA37B,EACiBlU,KAAKwC,MAArBxD,EADDkV,EACClV,GAAI2F,EADLuP,EACKvP,QADL9C,EAkBH7B,KAAKI,MAfPgqB,EAHKvoB,EAGLuoB,eACAJ,EAJKnoB,EAILmoB,WACAiI,EALKpwB,EAKLowB,OACA0B,EANK9xB,EAML8xB,SACAxT,EAPKte,EAOLse,SACAitB,EARKvrC,EAQLurC,+BACAO,EATK9rC,EASL8rC,WACAttC,EAVKwB,EAULxB,QACA+vB,EAXKvuB,EAWLuuB,SACA2f,EAZKluC,EAYLkuC,eAEArB,EAdK7sC,EAcL6sC,sBACAl1B,EAfK3X,EAeL2X,MACAmE,EAhBK9b,EAgBL8b,QACA/D,EAjBK/X,EAiBL+X,gBAGF,OACEnW,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,oBAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,aAAe,WADvB,wBAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACJ6P,GAAcI,EAGb3mB,EAAA1B,EAAAC,cAACk8C,GAAD7/C,OAAA+N,OAAA,GACMge,EADN,CAEEtZ,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACb0E,eAAgBA,EAChBvd,cAAeud,EACfzlB,QAASA,EACTqlB,WAAYA,EACZ7J,SAAUA,EACV8R,OAAQA,EACR0B,SAAUA,EACV5Q,gBAAiB/iB,KAAK4vC,sBACtBpN,iBAAkBxiC,KAAKikC,sBACvBlD,wBAAyB/gC,KAAK+gC,wBAE9B1gC,QAASA,EAET+sC,+BAAgCA,EAChCO,WAAYA,EAEZoC,eAAgBA,EAEhBnuB,aAAc5hB,KAAKsmB,iBACnBzE,eAAgB7hB,KAAKymB,mBAErBonB,sBAAuB7tC,KAAKgvC,0BAC5BlB,wBAAyB9tC,KAAKkvC,4BAE9B5B,oBAAqBttC,KAAK+uC,qBAC1BP,8BAA+BxuC,KAAK6uC,4BAEpC9+B,YAAa/P,KAAK+P,YAElBqgB,SAAUA,EAEVse,sBAAuBA,EACvBl1B,MAAOA,EACPI,gBAAiBA,EACjB+D,QAASA,EAET0B,oBAAkB,KA1CnB5b,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,yBA1WqBY,qBCVhCk7C,eAKJ,SAAAA,EAAY37C,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAm+C,IACjBr+C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA8/C,GAAAh+C,KAAAH,KAAMwC,KAyER47C,kBAAoB,SAAC1rC,EAAMiH,EAAUgE,GCzFhC,IAAgBpgB,EACfsgB,EDyFJ/d,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,QAASA,GAAW,KC7FlBE,GADetgB,EDgGZ,CACLsgB,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,mDC9GE7B,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IAClB7a,aAAO,GAAAhC,OAAIF,KAAJ,QAAqBihB,GAChC1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MDE9B0B,EAqGnBu+C,kBAAoB,SAACzsB,GACnB,IAAMhxB,EAAI,GAAA9D,OAAM80B,EAAM3T,OAAZ,OAAAnhB,OAAwB80B,EAAM5B,SACxCpiB,GAAQ,CACN9J,MAAO,eACP+J,SAAQ,gDAAA/Q,OAA+C8D,EAA/C,KACRkN,SAAU,mBACVE,QAAS,aACTC,UAAW,WC9EV,IAAgBjP,EAAIgc,EAAJhc,ED+ER4yB,EAAM5yB,GC/EMgc,ED+EF,CACfpL,UAAW,WACT1Q,aAAqB,8BADN,IAAA2C,EAEY/B,EAAKM,MAAxBsS,EAFO7Q,EAEP6Q,KAAMiH,EAFC9X,EAED8X,SACd7Z,EAAKs+C,kBAAkB1rC,EAAMiH,IAE/BhY,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,sBAEnBA,aAAmB,uCCxFxBH,aAAS,GAAAnC,OAAIF,KAAJ,KAAAE,OAAiBkC,IAC9Bb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SDxCpC0B,EA+HnBw+C,UAAY,SAAC1sB,GACS9xB,EAAK0C,MAAjBmC,QACAG,KAAR,sBAAAhI,OAAmC80B,EAAM5yB,MAjIxBc,EAoInB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAKs+C,kBAAkB1rC,EAAMiH,EAAUgE,KAvIxB7d,EA2InBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKs+C,kBAAkB,EAAGzkC,EAAU7K,KA9IrBhP,EAkJnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKs+C,kBAAkB,EAAGzkC,EAAU,KApJnB7Z,EAuJnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAzJfvG,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTmZ,MAAO,GACPmE,QAAS,CAAE3e,GAAI,KAEjBc,EAAKyZ,QAAU,CACb,CACElT,IAAK,KACLzF,KAAM,KACNoZ,QAAQ,EACR/J,MAAO,QAET,CACE5J,IAAK,SACLzF,KAAM,SACNoZ,QAAQ,GAEV,CACE3T,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,GAEV,CACE3T,IAAK,gBACLzF,KAAM,iBACNoZ,QAAQ,EACRza,KAAM,OACN0b,OAAQ,SAACnD,GAEP,OAAO,IAAIoE,KAAKC,eAAe,QADjB,CAAEC,UAAW,QAASO,UAAW,WACA1B,OAAO,IAAIrG,KAAKkD,EAAIymC,kBAGvE,CACEl4C,IAAK,iBACLzF,KAAM,mBACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,OAAKA,EAAI0mC,eAAiB,KAAO,OAE9C,CACEn4C,IAAK,SACLzF,KAAM,SACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,OAAKA,EAAI6kC,OAAS,KAAO,OAEtC,CAAEt2C,IAAK,UAAWzF,KAAM,SAAUqP,MAAO,SAE3CnQ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,iBACzCkX,SAAU,SAAC4W,GACT9xB,EAAKw+C,UAAU1sB,KAGnB,CACEvrB,IAAK,SACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,iBAC1CkX,SAAU,SAAC4W,GACT9xB,EAAKu+C,kBAAkBzsB,MA/DZ9xB,mFAqEC,IAAAkf,EACShf,KAAKI,MAAxBsS,EADUsM,EACVtM,KAAMiH,EADIqF,EACJrF,SACd3Z,KAAKo+C,kBAAkB1rC,EAAMiH,oCAuFtB,IAAApZ,EAAAP,KAAAif,EAQHjf,KAAKI,MANPC,EAFK4e,EAEL5e,QACAmZ,EAHKyF,EAGLzF,MACA9G,EAJKuM,EAILvM,KACAiH,EALKsF,EAKLtF,SACAC,EANKqF,EAMLrF,gBACA+D,EAPKsB,EAOLtB,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,oBACC,IASLoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EAAUoD,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAAI1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,gBAEpBoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,8BACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aA1MJpc,iBAoNfC,eAAWi7C,IE1NpBM,eAkBJ,SAAAA,IAAc,IAAA3+C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAy+C,IACZ3+C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAogD,GAAAt+C,KAAAH,QAQF0+C,QAAU,SAACn4C,GACT,OAAQA,GACN,IAAK,UACH,OAAO9C,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,sCACzB,IAAK,UACH,OAAOoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,wCACzB,IAAK,UACH,OAAOoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCACzB,IAAK,SACH,OAAOoB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,2CACzB,QACE,OAAOoB,EAAA1B,EAAAC,cAAAyB,EAAA1B,EAAA+F,SAAA,QAlBXhI,EAAKM,MAAQ,CACXu+C,OAAO,GAGT7+C,EAAKyE,OAASzE,EAAKyE,OAAO8P,KAAZhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KANFA,wEAyBZE,KAAKmB,SAAS,SAAAqD,GAAS,MAAK,CAAEm6C,OAAQn6C,EAAUm6C,0CAGzC,IAAAr7C,EAGHtD,KAAKwC,MADP+D,EAFKjD,EAELiD,MAAOq4C,EAFFt7C,EAEEs7C,IAAK96C,EAFPR,EAEOQ,MAAO2hB,EAFdniB,EAEcmiB,QAASo5B,EAFvBv7C,EAEuBu7C,QAASC,EAFhCx7C,EAEgCw7C,OAAQh0C,EAFxCxH,EAEwCwH,IAEvC6zC,EAAU3+C,KAAKI,MAAfu+C,MAEFI,EAAax3C,IAAW,CAC5By3C,wBAAyBH,EACzBI,uBAAwBH,IAG1B,OACEr7C,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQrI,MAAOA,EAAO7C,QAAS1D,KAAKuE,QAASq6C,GAC7Cn7C,EAAA1B,EAAAC,cAACwM,GAAA,EAAD,CACEnJ,OAAQs5C,EACRp6C,OAAQvE,KAAKuE,OACbmK,eAAc,GAAA5R,OAAKgO,EAAI1B,UAAT,YACd/G,UAAS,iBAAAvF,OAAmByJ,EAAnB,KAAAzJ,OAA4BiiD,IAErCt7C,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,UAAQK,UAAU,iCAAiC9C,KAAK,SAASmE,QAAS1D,KAAKuE,UAC7Eu6C,GAAU9+C,KAAK0+C,QAAQn4C,GACzB9C,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,4BAA4ByB,IAE5CL,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACZojB,GAEHhiB,EAAA1B,EAAAC,cAAC2M,GAAA,EAAD,CAAetM,UAAU,iBACvBoB,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQvM,UAAU,eAAeqB,QAAS1D,KAAKuE,QAA/C,UAAuE,IACvEd,EAAA1B,EAAAC,cAAC4M,GAAA,EAAD,CAAQvM,UAAU,WAAW8f,QAAS08B,EAASt4C,MAAOA,EAAO7C,QAAS1D,KAAKuE,QAA3E,gBA5EiBtB,iBAAvBw7C,GAWGt3C,aAAe,CACpBrD,MAAO,GACP2hB,QAAS,GACTo5B,SAAS,EACTC,QAAQ,GAqEGv0C,YAAQ,SAAAnK,GAAK,MAAK,CAC/B0K,IAAK1K,EAAM0K,MADEP,CAEXk0C,IAFWl0C,ICxEAsE,GAnBE,SAACC,GAChB,IAAMC,EAAQD,GAAU,GAClBE,EAAS,GAcf,OAZKD,EAAMkP,SACTjP,EAAOiP,OAAS,yCAGblP,EAAMihB,SAAYjhB,EAAMihB,QAAQjqB,QACnCiJ,EAAOghB,QAAU,+BAGdjhB,EAAMwvC,gBACTvvC,EAAOuvC,cAAgB,yCAGlBvvC,GCKHkwC,eA0BJ,SAAAA,EAAY18C,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAk/C,IACjBp/C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAA6gD,GAAA/+C,KAAAH,KAAMwC,KA6ER26C,uBAAyB,SAACvrB,GACxB,GAAIA,EAAO,KAAAtuB,EACexD,EAAK0C,MAArBxD,EADCsE,EACDtE,GADCsE,EACGqB,QACJG,KAAR,sBAAAhI,OAAmCkC,EAAnC,gBAjFec,EAqFnBq/C,iBAAmB,SAACrQ,GAClB,GAAIA,EAAc,KAAA7kC,EACQnK,EAAK0C,MAArBxD,EADQiL,EACRjL,GAAI2F,EADIsF,EACJtF,QACZ7D,QAAQC,IAAI+tC,GACZhvC,EAAKqB,SAAS,CAAEw9C,OAAO,IAEZ,MAAP3/C,GACF2F,EAAQG,KAAR,+BAAAhI,OAA4CkC,EAA5C,KAAAlC,OAAkDgyC,EAAa9vC,OA5FlDc,EAiGnBs/C,mBAAqB,SAACtQ,GAChBA,IAEFuQ,EADqCv/C,EAAK0C,MAAlC68C,0BACiBvQ,IApGVhvC,EAwGnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK8zB,oBAAoB,EAAGja,EAAU7K,KA3GvBhP,EA+GnBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAK8zB,oBAAoB,EAAGja,EAAU,KAjHrB7Z,EAoHnB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IAxHEvG,EA2HnBw/C,cAAgB,SAACt+C,GACfF,QAAQC,IAAIC,GAEZlB,EAAKyE,UA9HYzE,EAiInBy/C,kBAAoB,SAACv+C,GACnBF,QAAQC,IAAIC,GAEZlB,EAAKyE,UApIYzE,EAuInByE,OAAS,WACPzE,EAAKqB,SAAS,SAAAqD,GAAS,MAAK,CAAEm6C,OAAQn6C,EAAUm6C,UArIhD7+C,EAAKq/C,iBAAmBr/C,EAAKq/C,iBAAiB9qC,KAAtBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KACxBA,EAAKs/C,mBAAqBt/C,EAAKs/C,mBAAmB/qC,KAAxBhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAE1BA,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,IACVC,gBAAiB,EACjB+D,QAAS,CAAE3e,GAAI,IACf2/C,OAAO,GAGT7+C,EAAKyZ,QAAU,CACb,CACElT,IAAK,mBACLzF,KAAM,WACNoZ,QAAQ,EACR/J,MAAO,QACP5N,UAAW,cACX4Y,OAAQ,SAAAnD,GAAG,OACTrU,EAAA1B,EAAAC,cAAA,UACEyB,EAAA1B,EAAAC,cAACkF,EAAA,EAAD,CACEb,IAAG,OAAAvJ,OAASgb,EAAI9Y,IAChBuH,MAAOuR,EAAI4Z,iBAAmB,IAAM,EAAI,YAAc,WAFxD,IAAA50B,OAIOgb,EAAI4Z,iBAJX,YASN,CACErrB,IAAK,UACLzF,KAAM,UACNoZ,QAAQ,EACRiB,OAAQ,SAAAnD,GAAG,SAAAhb,OAAOgb,EAAIgd,cAAX,OAAAh4B,OAA8Bgb,EAAIuI,WAE/C,CACEha,IAAK,mBACLzF,KAAM,oBACNyB,UAAW,eAEb,CACEgE,IAAK,4BACLzF,KAAM,8BACNyB,UAAW,eAEb,CACEgE,IAAK,yBACLzF,KAAM,2BACNyB,UAAW,eAEb,CACEgE,IAAK,uBACLzF,KAAM,yBACNyB,UAAW,eAEb,CAAEgE,IAAK,UAAWzF,KAAM,SAAUqP,MAAO,SAE3CnQ,EAAKob,QAAU,CACb,CACE7U,IAAK,OACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,aAAayB,MAAM,mBACzCkX,SAAU,SAAC8zB,GACThvC,EAAKq/C,iBAAiBrQ,KAG1B,CACEzoC,IAAK,SACLlD,KAAMM,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,cAAcyB,MAAM,mBAC1CkX,SAAU,SAAC8zB,GACThvC,EAAKs/C,mBAAmBtQ,MAxEbhvC,wEA2IV,IAAAoU,EAUHlU,KAAKwC,MARP4N,EAFK8D,EAEL9D,WACAN,EAHKoE,EAGLpE,aACAyS,EAJKrO,EAILqO,OACAvjB,EALKkV,EAKLlV,GACAujC,EANKruB,EAMLquB,SAEAic,GARKtqC,EAOLiM,SAPKjM,EAQLsqC,gBACA7B,EATKzoC,EASLyoC,OATK96C,EAkBH7B,KAAKI,MAlBFyB,EAaL6Q,KAbK7Q,EAcL8X,SAdK9X,EAeL+X,gBAfK/X,EAgBL8b,QAhBK9b,EAiBL88C,MAKF,OACEl7C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf3W,EAAA1B,EAAAC,cAACqY,GAAA,EAAD,KACE5W,EAAA1B,EAAAC,cAACsY,GAAA,EAAD,MALqB,EAoBnB7W,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,sBAOF9e,EAAA1B,EAAAC,cAACyY,GAAA,EAAD,CAAMpY,UAAU,OAAOyO,SAAUhB,GAC/BrM,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,GAAI2Q,GAAI,IACfrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,eACboB,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,aAAd,uBAGJoB,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,UACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,SACL4P,UAAW1D,GACXC,YAAY,SACZS,aAAa,aAMrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,IACdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,WACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,UACL4P,UAAW6G,GACXtK,YAAY,UACZS,aAAa,QACbkI,QAAS6sB,OAOjB9+B,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAEdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,mCAAhB,kBACAoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,gBACL4P,UAAWsI,GACX/L,YAAY,iBACZS,aAAa,aAOrB/J,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAEdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,2BAA2B,KAC3CoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,iBACL4P,UAAW1E,GACXpF,MAAM,oBACNX,MAAOy4C,EAAiB,UAAY,GACpCtzC,eAAgBszC,OAMxB/6C,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,EAAG2Q,GAAI,GAEdrnB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,oBACboB,EAAA1B,EAAAC,cAAA,QAAMK,UAAU,2BAA2B,KAC3CoB,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,0BACboB,EAAA1B,EAAAC,cAACuO,GAAA,EAAD,CACE3P,KAAK,SACL4P,UAAW1E,GACXpF,MAAM,UACNX,MAAO42C,EAAS,UAAY,GAC5BzxC,eAAgByxC,QAO1Bl5C,EAAA1B,EAAAC,cAAA,WACChD,IAzHkB,EAkJnByE,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,iBACboB,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,kBACV4I,SAAUmF,EACV1M,QAASoM,GAJX,WAOArM,EAAA1B,EAAAC,cAAA,UACEzC,KAAK,SACL8C,UAAU,4BACVqB,QAAS6e,GAHX,gCAnVUtf,iBAAlBi8C,GAiBG/3C,aAAe,CACpBnI,GAAI,EACJoR,YAAY,EACZ+P,SAAU,GACV6P,QAAS,GACTwuB,gBAAgB,EAChB7B,QAAQ,GA0UZ,IAMetwC,MANQ0E,aAAU,CAC/BC,KAAM,YACNnC,YACAwQ,oBAAoB,GAHCtO,CAIpBmuC,SChKYM,eAjMb,SAAAA,EAAYh9C,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAAw/C,IACjB1/C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAmhD,GAAAr/C,KAAAH,KAAMwC,KAYR+oC,mBAAqB,WAAM,IAAAjoC,EACDxD,EAAK0C,MAArBxD,EADiBsE,EACjBtE,GAAI2F,EADarB,EACbqB,QACR3F,EJpBD,SAAaA,EAAIgc,GACfvc,aAAM,GAAA3B,OAAIF,KAAJ,KAAAE,OAAiBkC,IAC3Bb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KIWnD8pB,CAAIlpB,EAAI,CACN4Q,UAAW,SAACiX,GACV,IAAM+K,EAAKvzB,OAAAkP,GAAA,EAAAlP,CAAA,GACNwoB,EADM,CAETmJ,QAAS,CACPjqB,MAAO8gB,EAAI2c,UACX98B,MAAOmgB,EAAImJ,WAIflwB,EAAKqB,SAAS,CAAEywB,WAElBjwB,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,QACjBmB,aAAmB,sBACnBuF,EAAQG,KAAK,kBAEb1F,aAAmB,qDAKzBU,EAAKqB,SAAS,CACZywB,MAAO,CACL5yB,GAAI,EACJg6B,OAAO,IAAIpkB,MAAOwuB,kBAzCPtjC,EA+CnB0d,eAAiB,WJVZ,IAAwBjgB,IIWZ,CACbqS,UAAW,SAAC3T,GACV6D,EAAKqB,SAAS,CACZohC,SAAUtmC,EAAEsmC,YAGhB5gC,QAAS,WACPvC,aAAmB,mDJjBlBX,aAAM,GAAA3B,OAAIF,KAAJ,eACVuB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,MI/C9B0B,EA4DnBgQ,aAAe,SAAChB,GAAW,IJnDRuZ,EAAKrN,EIoDIwoB,EAAgB10B,EAAlCkhB,QAAWjqB,MACbxI,EAAMc,OAAAkP,GAAA,EAAAlP,CAAA,GACPyQ,EADO,CAEV00B,cAGM7+B,EAAY7E,EAAK0C,MAAjBmC,QJ1DS0jB,EI2DZ9qB,EJ3DiByd,EI2DT,CACXpL,UAAW,WACT1Q,aAAqB,+BACrByF,EAAQG,KAAK,kBAEfnD,QAAS,SAACvD,GACJA,EAAMqnB,QACRtmB,aAAqBf,EAAMqnB,SAE3BrmB,aAAmB,qDJnEpBN,aAAO,GAAAhC,OAAIF,MAAayrB,GAC5BlqB,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MInBpC0B,EAmFnBu/C,yBAA2B,SAACvQ,GAC1B,IAAMluC,EAAI,GAAA9D,OAAMgyC,EAAazuB,SAC7BzS,GAAQ,CACN9J,MAAO,0BACP+J,SAAQ,gDAAA/Q,OAA+C8D,EAA/C,mBACRkN,SAAU,aACVE,QAAS,aACTC,UAAW,WC9DV,IAAgBjP,EAAIgc,EAAJhc,ED+DI8vC,EAAa9vC,GC/Dbgc,ED+DiB,CAClCpL,UAAW,WACT1Q,aAAqB,gCACrBY,EAAK0d,iBACL1d,EAAKyrC,sBAEP5pC,QAAS,SAACvD,GACJA,GAA0B,MAAjBA,EAAMH,OACjBmB,aAAmB,wBAEnBA,aAAmB,qDCxExBH,aAAS,GAAAnC,OAAIF,KAAJ,KAAAE,OAAiBkC,IAC9Bb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,SDtCpC0B,EA6GnB4lB,aAAe,WACO5lB,EAAK0C,MAAjBmC,QACAghB,UA/GS7lB,EAkHnB8lB,qBAAuB,SAACC,EAAWC,EAAO/f,GAAU,IAAAggB,EAC1C6L,EAAU9xB,EAAKM,MAAfwxB,MACR9xB,EAAKqB,UAAL4kB,EAAA,GAAA1nB,OAAAmR,GAAA,EAAAnR,CAAA0nB,EACGD,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAA0nB,EAAA,QAAA1nB,OAAAkP,GAAA,EAAAlP,CAAA,GAEcuzB,EAFdvzB,OAAAmR,GAAA,EAAAnR,CAAA,GAEsBwnB,EAAY9f,KAFlCggB,KApHiBjmB,EA0HnBmkC,sBAAwB,SAACpe,EAAWC,EAAO/f,GAAU,IAAA89B,EAAA8W,EAC3C/oB,EAAU9xB,EAAKM,MAAfwxB,MACF7G,EAAQ,GAAAjuB,OAAMiJ,EAAMkY,OAAZ,KAAAnhB,OAAsBiJ,EAAMmY,UACpColB,EAA+B1R,EAA/B0R,cAAepD,EAAgBtO,EAAhBsO,YAEhBoD,IAEHpD,EAAc,CAAEn6B,MADhBu9B,EAAgBv9B,EAAMssB,UACgB3rB,MAAOqkB,IAE/CjrB,EAAKqB,UAALw5C,EAAA,GAAAt8C,OAAAmR,GAAA,EAAAnR,CAAAs8C,EACG70B,EAAQ/f,EAAMA,OADjB1H,OAAAmR,GAAA,EAAAnR,CAAAs8C,EAAA,QAAAt8C,OAAAkP,GAAA,EAAAlP,CAAA,GAGOuzB,GAHPiS,EAAA,GAAAxlC,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAIKhe,EAAY9f,GAJjB1H,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,WAKI9Y,GALJ1sB,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,cAMI3D,GANJ7hC,OAAAmR,GAAA,EAAAnR,CAAAwlC,EAAA,gBAOIP,GAPJO,KAAA8W,KAjIA76C,EAAKM,MAAQ,GACbN,EAAK8lB,qBAAuB9lB,EAAK8lB,qBAAqBvR,KAA1BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC5BA,EAAKmkC,sBAAwBnkC,EAAKmkC,sBAAsB5vB,KAA3BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KAC7BA,EAAKu/C,yBAA2Bv/C,EAAKu/C,yBAAyBhrC,KAA9BhW,OAAAiW,GAAA,EAAAjW,QAAAiW,GAAA,EAAAjW,CAAAyB,KALfA,mFASjBE,KAAKwd,iBACLxd,KAAKurC,sDAqIE,IAAAthC,EACiBjK,KAAKwC,MAArBxD,EADDiL,EACCjL,GAAI2F,EADLsF,EACKtF,QADL9C,EAKH7B,KAAKI,MAFPwxB,EAHK/vB,EAGL+vB,MACA2Q,EAJK1gC,EAIL0gC,SAEF,OACE9+B,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cACXrD,EAAK,SAAW,QADnB,UAGAyE,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBACXrD,EAAK,aAAe,WADvB,mCAMJyE,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACJooB,EAGC9+B,EAAA1B,EAAAC,cAACy9C,GAADphD,OAAA+N,OAAA,GACMwlB,EADN,CAEE9gB,SAAU9Q,KAAK8P,aACfyS,OAAQviB,KAAK0lB,aACb7Y,cAAe+kB,EACfjtB,QAASA,EACT49B,SAAUA,EACVxf,gBAAiB/iB,KAAK4lB,qBACtB4c,iBAAkBxiC,KAAKikC,sBACvBob,yBAA0Br/C,KAAKq/C,yBAC/BhgC,oBAAkB,KAZnB5b,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,yBAtKgBY,iBEhB3By8C,eAKJ,SAAAA,EAAYl9C,GAAO,IAAA1C,EAAA,OAAAzB,OAAA+F,EAAA,EAAA/F,CAAA2B,KAAA0/C,IACjB5/C,EAAAzB,OAAAgG,EAAA,EAAAhG,CAAA2B,KAAA3B,OAAAiG,EAAA,EAAAjG,CAAAqhD,GAAAv/C,KAAAH,KAAMwC,KA2DR8mB,YAAc,SAAC5W,EAAMiH,GAA2B,IAAjBgE,EAAiBjR,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAP,GACvC5M,EAAKqB,SAAS,CACZd,SAAS,EACTqS,OACAiH,WACAgE,YAEFgiC,aAAkB,CAChB9hC,SAAU,CACRnL,OACAiH,WACAgE,WAEF/N,UAAW,SAACiO,GACV/d,EAAKqB,SAAS,CACZd,SAAS,EACTmZ,MAAOqE,EAASrE,MAChBI,gBAAiBiE,EAASjE,mBAG9BjY,QAAS,WACP7B,EAAKqB,SAAS,CAAEqY,MAAO,GAAInZ,SAAS,IACpCjB,aAAmB,oDAlFNU,EAuFnB0d,eAAiB,WACf1d,EAAKqB,SAAS,CACZd,SAAS,IAGXod,aAAe,CACb7N,UAAW,SAAC3S,GACV6C,EAAKqB,SAAS,CACZy+C,WAAY3iD,EAAK2iD,WACjBv/C,SAAS,IAHQ,IAAAwB,EAKQ/B,EAAKM,MAAxBsS,EALW7Q,EAKX6Q,KAAMiH,EALK9X,EAKL8X,SACd7Z,EAAKwpB,YAAY5W,EAAMiH,IAEzBhY,QAAS,WACPvC,aAAmB,qDAtGNU,EA2GnB+/C,cAAgB,WAGd,OAFuB//C,EAAKM,MAApBw/C,YAEa,IA9GJ9/C,EAiHnBggD,SAAW,SAAC7iD,GACU6C,EAAK0C,MAAjBmC,QACAG,KAAR,+BAAAhI,OAA4CG,EAAK+B,MAnHhCc,EAsHnB+S,aAAe,SAACH,GACd,GAAIA,EAAM,KAAA0L,EACsBte,EAAKM,MAA3BuZ,EADAyE,EACAzE,SAAUgE,EADVS,EACUT,QAClB7d,EAAKwpB,YAAY5W,EAAMiH,EAAUgE,KAzHlB7d,EA6HnBue,kBAAoB,SAACvP,GACnB,GAAIA,EAAQ,KACF6K,EAAa7Z,EAAKM,MAAlBuZ,SAER7Z,EAAKwpB,YAAY,EAAG3P,EAApBtb,OAAAkP,GAAA,EAAAlP,CAAA,GAAmCyQ,EAAnC,CAA2CixC,KAAMjxC,EAAOixC,KAAOjxC,EAAOixC,KAAKh6C,MAAQ,OAjIpEjG,EAsInBwe,wBAA0B,WAAM,IACtB3E,EAAa7Z,EAAKM,MAAlBuZ,SACR7Z,EAAKwpB,YAAY,EAAG3P,EAAU,KAxIb7Z,EA2InB2Z,eAAiB,SAACpT,GAIhB,MAHgB,CACd6U,QAASpb,EAAKob,SAED7U,IA7IfvG,EAAKM,MAAQ,CACXsS,KAAM,EACNiH,SAAU,GACVC,gBAAiB,EACjBvZ,SAAS,EACTu/C,WAAY,GACZpmC,MAAO,GACPmE,QAAS,CAAE3e,GAAI,KAGjBc,EAAKyZ,QAAU,CACb,CACElT,IAAK,KAAMzF,KAAM,IAAKqP,MAAO,OAAQ+J,QAAQ,EAAMza,KAAM,UAE3D,CACE8G,IAAK,UAAWzF,KAAM,UAAWoZ,QAAQ,EAAM/J,MAAO,QAExD,CACE5J,IAAK,OACLzF,KAAM,OACNoZ,QAAQ,EACRza,KAAM,SACN6Y,YAAa,CACX1C,QAAS5V,EAAK+/C,gBAGlB,CACEx5C,IAAK,QACLzF,KAAM,QACNoZ,QAAQ,EACRza,KAAM,OACN0b,OAAQ,SAACnD,GAEP,OAAO,IAAIoE,KAAKC,eAAe,QADjB,CAAEC,UAAW,QAASO,UAAW,WACA1B,OAAO,IAAIrG,KAAKkD,EAAIkhB,UAGvE,CACE3yB,IAAK,cAAezF,KAAM,QAASoZ,QAAQ,GAE7C,CACE3T,IAAK,gBAAiBzF,KAAM,iBAAkBoZ,QAAQ,GAExD,CACE3T,IAAK,oBAAqBzF,KAAM,qBAAsBoZ,QAAQ,GAEhE,CACE3T,IAAK,oBAAqBzF,KAAM,qBAAsBoZ,QAAQ,GAEhE,CACE3T,IAAK,gBAAiBzF,KAAM,iBAAkBoZ,QAAQ,IAnDzCla,mFAyDjBE,KAAKwd,kDAyFE,IAAAjd,EAAAP,KAAAgf,EAQHhf,KAAKI,MANPC,EAFK2e,EAEL3e,QACAmZ,EAHKwF,EAGLxF,MACA9G,EAJKsM,EAILtM,KACAiH,EALKqF,EAKLrF,SACAC,EANKoF,EAMLpF,gBACA+D,EAPKqB,EAOLrB,QAGF,OACEla,EAAA1B,EAAAC,cAACkd,GAAA,EAAD,KACEzb,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACE9W,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IACP1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,cAAd,6BAGJoB,EAAA1B,EAAAC,cAACuY,GAAA,EAAD,KACGla,EAAUoD,EAAA1B,EAAAC,cAACkY,GAAA,EAAD,CAAKC,GAAI,IAAI1W,EAAA1B,EAAAC,cAAA,MAAIK,UAAU,wBAAd,gBAEpBoB,EAAA1B,EAAAC,cAACod,GAAD,CACEtb,MAAM,2CACNyV,QAASvZ,KAAKuZ,QACdC,MAAOA,EACP3G,aAAc7S,KAAK6S,aACnBH,KAAMA,EACNiH,SAAUA,EACVC,gBAAiBA,EACjBH,eAAgB,SAAApT,GAAG,OAAI9F,EAAKkZ,eAAepT,IAC3CyK,SAAU9Q,KAAKqe,kBACf3E,eAAgB1Z,KAAKse,wBACrBzR,cAAe8Q,EACf0B,oBAAkB,aAvLFpc,iBAiMjBC,eAAWw8C,IClJpBxiD,GAAcC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GACjE0iD,GAAS9iD,GAAW,GAAAJ,OAAMI,GAAY8B,IAAO,GAC7CihD,GAAW,SAACz9C,GAEhB,OADsCA,EAA9B09C,MAAS3iD,OAAUyB,IAGvBmhD,GAAiB,SAAC39C,GAEtB,OAD4CA,EAApC09C,MAAS3iD,OAAU6iD,UAIvBC,GAAQ,kBACZ58C,EAAA1B,EAAAC,cAACs+C,EAAA,EAAD,KACE78C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,eAAemP,UAAW+M,KAC5C9Z,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,mBAAmBo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC0+C,GAADriD,OAAA+N,OAAA,GAAc5J,EAAd,CAAqBxD,GAAG,SAC9EyE,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,wBAAwBo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC0+C,GAADriD,OAAA+N,OAAA,GAAc5J,EAAd,CAAqBxD,GAAIihD,GAASz9C,SAC7FiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,4BAA4Bo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC0+C,GAADriD,OAAA+N,OAAA,GAAc5J,EAAd,CAAqBxD,GAAIghD,GAAQpgC,aAAW,QAC3Gnc,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,kBAAkBmP,UAAW+W,KAC/C9jB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,sBAAsBo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC2+C,GAADtiD,OAAA+N,OAAA,GAAiB5J,EAAjB,CAAwBxD,GAAG,SACpFyE,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,2BAA2Bo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC2+C,GAADtiD,OAAA+N,OAAA,GAAiB5J,EAAjB,CAAwBxD,GAAIihD,GAASz9C,SAEnGiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,0BAA0BmP,UAAWowC,KACvDn9C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,8BACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC6+C,GAADxiD,OAAA+N,OAAA,GAAiB5J,EAAjB,CAAwBxD,GAAIihD,GAASz9C,SAExDiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,2CACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC8+C,GAADziD,OAAA+N,OAAA,GAAqB5J,EAArB,CAA4BxD,GAAG,SAElDyE,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,0CACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC++C,GAAD1iD,OAAA+N,OAAA,GAAwB5J,EAAxB,CAA+BxD,GAAG,SAErDyE,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,2BAA2BmP,UAAWwwC,KAExDv9C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,mCAAmCmP,UAAWywC,KAChEx9C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,uBAAuBmP,UAAW0wC,KACpDz9C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,+BACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACm/C,GAAD9iD,OAAA+N,OAAA,GAAwB5J,EAAxB,CAA+Bi4B,SAAUwlB,GAASz9C,SAErEiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,yCACLo/C,OACE,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACo/C,GAAD/iD,OAAA+N,OAAA,GAAqB5J,EAArB,CAA4Bi4B,SAAUwlB,GAASz9C,GAAQxD,GAAImhD,GAAe39C,SAIvFiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,eAAemP,UAAW+nB,KAC5C90B,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,mBAAmBo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACq/C,GAADhjD,OAAA+N,OAAA,GAAc5J,EAAd,CAAqBxD,GAAG,SAC9EyE,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,wBAAwBo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACq/C,GAADhjD,OAAA+N,OAAA,GAAc5J,EAAd,CAAqBxD,GAAIihD,GAASz9C,SAE7FiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,qCACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACs/C,GAADjjD,OAAA+N,OAAA,GAAqB5J,EAArB,CAA4BxD,GAAIihD,GAASz9C,SAE5DiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,6CACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACu/C,GAADljD,OAAA+N,OAAA,GAA6B5J,EAA7B,CAAoCxD,GAAIihD,GAASz9C,SAGpEiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,mCACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACw/C,GAADnjD,OAAA+N,OAAA,GAAmB5J,EAAnB,CAA0BxD,GAAIihD,GAASz9C,SAG1DiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,mCACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC++C,GAAD1iD,OAAA+N,OAAA,GAAwB5J,EAAxB,CAA+BxD,GAAIihD,GAASz9C,SAE/DiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOl/C,KAAK,aAAamP,UAAWixC,KACpCh+C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOl/C,KAAK,aAAamP,UAAWkxC,KACpCj+C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,0BAA0BmP,UAAWmxC,KACvDl+C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,8BAA8Bo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC4/C,GAADvjD,OAAA+N,OAAA,GAAwB5J,EAAxB,CAA+BxD,GAAG,SACnGyE,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,mCACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC4/C,GAADvjD,OAAA+N,OAAA,GAAwB5J,EAAxB,CAA+BxD,GAAIihD,GAASz9C,SAE/DiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,kBAAkBmP,UAAWqxC,KAC/Cp+C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,sBAAsBo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC8/C,GAADzjD,OAAA+N,OAAA,GAAiB5J,EAAjB,CAAwBxD,GAAG,SACpFyE,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,2BAA2Bo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC8/C,GAADzjD,OAAA+N,OAAA,GAAiB5J,EAAjB,CAAwBxD,GAAIihD,GAASz9C,SACnGiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,8CACLo/C,OACE,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAAC+/C,GAAD1jD,OAAA+N,OAAA,GAA0B5J,EAA1B,CAAiCxD,GAAImhD,GAAe39C,GAAQy7C,UAAWgC,GAASz9C,SAG7FiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,oCACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACggD,GAAD3jD,OAAA+N,OAAA,GAA2B5J,EAA3B,CAAkCxD,GAAIihD,GAASz9C,SAGlEiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,gBAAgBmP,UAAWyxC,KAC7Cx+C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,oBAAoBo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACkgD,GAAD7jD,OAAA+N,OAAA,GAAe5J,EAAf,CAAsBxD,GAAG,SAChFyE,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,yBAAyBo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACkgD,GAAD7jD,OAAA+N,OAAA,GAAe5J,EAAf,CAAsBxD,GAAIihD,GAASz9C,SAS/FiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,4BAA4BmP,UAAW2xC,KACzD1+C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,2BAA2BmP,UAAW4xC,KACxD3+C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,+BACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACqgD,GAAD,CAAwBrjD,GAAIihD,GAASz9C,QAExDiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,6BAA6BmP,UAAW8xC,KAC1D7+C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,yBAAyBmP,UAAW+xC,KACtD9+C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,6CACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACwgD,GAADnkD,OAAA+N,OAAA,GAA2B5J,EAA3B,CAAkCxD,GAAIihD,GAASz9C,SAElEiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CACEC,OAAK,EACLn/C,KAAK,yCACLo/C,OAAQ,SAAAj+C,GAAK,OAAIiB,EAAA1B,EAAAC,cAACwgD,GAA0BhgD,MAE9CiB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,sCAAsCmP,UAAWiyC,KACnEh/C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,mBAAmBmP,UAAWkvC,UAIpBxiD,GAAxBuN,8BAAiB,MAEnBi4C,GAAgB,SAAAlgD,GAAK,OACzBiB,EAAA1B,EAAAC,cAAA,WACEyB,EAAA1B,EAAAC,cAAC2gD,EAAWl4C,IACZhH,EAAA1B,EAAAC,cAAA,OAAKK,UAAU,mBACboB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOl/C,KAAK,SAASmP,UAAW6vC,MAElC58C,EAAA1B,EAAAC,cAAC4gD,EAADvkD,OAAA+N,OAAA,GAAe5J,EAAf,CAAsBiI,eAAgBA,QAgB3Bo4C,IAZA,SAAArgD,GAAK,OAClBiB,EAAA1B,EAAAC,cAAC8gD,EAAgBtgD,EACfiB,EAAA1B,EAAAC,cAAA,YACEyB,EAAA1B,EAAAC,cAACs+C,EAAA,EAAW99C,EACViB,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,IAAIo/C,OAAQ,SAAAsC,GAAU,OAAIt/C,EAAA1B,EAAAC,cAACghD,GAAUD,MACvDt/C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,UAAUo/C,OAAQ,SAAAsC,GAAU,OAAIt/C,EAAA1B,EAAAC,cAACghD,GAAUD,MAC7Dt/C,EAAA1B,EAAAC,cAACu+C,EAAA,EAAD,CAAOC,OAAK,EAACn/C,KAAK,gBAAgBo/C,OAAQ,SAAAsC,GAAU,OAAIt/C,EAAA1B,EAAAC,cAACihD,GAAeF,MACxEt/C,EAAA1B,EAAAC,cAACu+C,EAAA,EAADliD,OAAA+N,OAAA,GAAW5J,EAAX,CAAkBnB,KAAK,IAAImP,UAAWkyC,kFCtN9C1mD,EAAA8hB,EAAA5hB,GAAA,IAAAgnD,EAAAlnD,EAAA,GAAAmnD,EAAAnnD,EAAAonD,EAAAF,GAAAG,EAAArnD,EAAA,IAAAsnD,EAAAtnD,EAAA,KAIAykD,iBACE0C,EAAAphD,EAAAC,cAACshD,EAAA,EAAD,MACAr6B,SAASsvB,eAAe,gECN1Bv8C,EAAAC,EAAAC,EAAA,sBAAAqnD,IAAAvnD,EAAAC,EAAAC,EAAA,sBAAAsnD,IAAAxnD,EAAAC,EAAAC,EAAA,sBAAAunD,IAAAznD,EAAAC,EAAAC,EAAA,sBAAAwnD,IAAA1nD,EAAAC,EAAAC,EAAA,sBAAAynD,IAAA3nD,EAAAC,EAAAC,EAAA,sBAAA0nD,IAAA5nD,EAAAC,EAAAC,EAAA,sBAAA2nD,IAAA7nD,EAAAC,EAAAC,EAAA,sBAAA4nD,IAAA9nD,EAAAC,EAAAC,EAAA,sBAAA0qB,IAAA5qB,EAAAC,EAAAC,EAAA,sBAAAspB,IAAAxpB,EAAAC,EAAAC,EAAA,sBAAA6hB,IAAA/hB,EAAAC,EAAAC,EAAA,sBAAAwT,IAAA1T,EAAAC,EAAAC,EAAA,sBAAAuhB,IAAA,IAAAsmC,EAAA/nD,EAAA,IAAAgoD,EAAAhoD,EAAA,IAGaunD,EAAkB,kBAClBC,EAAiB,iBAEjBC,EAAqB,qBACrBC,EAAqB,qBACrBC,EAAoB,oBAEpBC,EAAoB,oBACpBC,EAAoB,oBACpBC,EAAmB,mBAYzB,SAASl9B,EAAU5nB,EAAIgc,GAC5B,OAAOvc,YAAM,GAAA3B,OAAIX,IAAJ,KAAAW,OAAgBkC,IAC1Bb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KAIlD,SAASonB,EAASld,EAAM0S,GAC7B,OAAOlc,YAAO,GAAAhC,OAAIX,KAAYmM,GAC3BnK,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KAIlD,SAAS2f,EAAW/e,EAAIgc,GAC7B,OAAO/b,YAAS,GAAAnC,OAAIX,IAAJ,KAAAW,OAAgBkC,IAC7Bb,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KAIlD,SAASsR,EAAkBrG,EAAO2R,GACvC,OAAOvc,YAAM,GAAA3B,OAAIX,IAAJ,oBAAAW,OAA+BuM,IACzClL,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADI4c,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUwX,GAChDA,IAERC,MAAM,SAACjpB,GACF4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,KAIlD,SAASqf,EAAelgB,GAC7B,OAAOkB,YAAM,GAAA3B,OAAIX,IAAJ,eACVgC,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,2WCrF7C6lD,EAAqB,IAAIC,IAAgB/mD,KAAKC,MAAMC,aAAaC,QAAQ,iBAGlE6mD,EAAkB,kBAClBC,EAAgB,gBAChBC,EAAgB,gBAChBC,EAAe,eACfC,EAAS,SAGTC,EAAe,iBAAO,CAAEjlD,KAAM6kD,IAC9BK,EAAe,SAAAn8C,GAAI,MAAK,CAAE/I,KAAM8kD,EAAe14B,QAASrjB,IACxDo8C,EAAc,SAAAtmD,GAAK,MAAK,CAAEmB,KAAM+kD,EAAc34B,QAASvtB,IAK9DumD,EAAe,kBAAMxnD,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,IAExEsnD,EAAiB,SAACt8C,GACtB,IAAMu8C,EAASxmD,OAAAC,EAAA,EAAAD,CAAA,GAAQiK,EAAR,CAAcpD,iBAAiB,IAG9C,OAFA7H,aAAai7B,QAAQ,cAAen7B,KAAKM,UAAUonD,IACnDZ,EAAmBlT,KAAK8T,GACjBA,GAGIhgD,EAAS,kBAAM,SAACpD,GAE3BpE,aAAaynD,WAAW,eACxBb,EAAmBlT,KAAK,MACxBtvC,EAhBkC,CAAElC,KAAMglD,IAiB1C9iD,EAhB8B,CAAElC,KAPC,sBAO0BwG,MAAO,MAmB7D,SAASqL,EAAMnU,EAAM+d,GAC1B,OAAO,SAACvZ,GACNA,EAAS+iD,KACT1lD,YAAO,GAAAhC,OAAIX,IAAJ,UAAsBc,GAC1BkB,KAAK,SAAC4mD,GACL,GAAIA,EAAS3mD,MACX,MAAO2mD,EAAS3mD,MAUlB,OAPAwmD,EAAeG,GACXA,EAAS3yC,YAAc4I,GAAYA,EAAS1J,aAC9C0J,EAAS1J,aAAayzC,GACb/pC,GAAYA,EAASpL,YAC9BnO,EAASgjD,EAAaE,MACtB3pC,EAASpL,UAAUm1C,IAEdA,IAER19B,MAAM,SAACjpB,GACNqD,EAASijD,EAAYtmD,IACjB4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MAMpD,SAASgU,EAAWtD,EAAQkM,GACjC,OAAO,SAACvZ,GACNA,EAAS+iD,KACT,IAAMtnD,EAAcC,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GACjEL,EAAIoB,OAAAC,EAAA,EAAAD,CAAA,GAAQyQ,EAAR,CAAgBzF,MAAOnM,EAAYmM,QAC7CvK,YAAO,GAAAhC,OAAIX,IAAJ,qBAAiCc,GACrCkB,KAAK,SAAC4mD,GACL,GAAIA,EAAS3mD,MACX,MAAO2mD,EAAS3mD,MAKlB,OAHAwmD,EAAeG,GACftjD,EAASgjD,EAAaE,MAClB3pC,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUm1C,GAChDA,IAER19B,MAAM,SAACjpB,GACNqD,EAASijD,EAAYtmD,IACjB4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,MAKpD,SAASsD,EAAgBsZ,GAC9B,OAAO,SAACvZ,GAENhD,YAAM,GAAA3B,OAAIX,IAAJ,sBACHgC,KAAK,SAAC4mD,GACL,GAAIA,EAAS3mD,MACX,MAAO2mD,EAAS3mD,MAIlB,OAFAqD,EAASgjD,EAAaE,MAClB3pC,GAAYA,EAASpL,WAAWoL,EAASpL,UAAUm1C,GAChDA,IAER19B,MAAM,SAACjpB,GACNqD,EAASoD,EAAOzG,IACZ4c,GAAYA,EAASrZ,SAASqZ,EAASrZ,QAAQvD,wCCrG3DpC,EAAAC,EAAAC,EAAA,sBAAA8oD,IAAAhpD,EAAAC,EAAAC,EAAA,sBAAA+oD,IAAAjpD,EAAAC,EAAAC,EAAA,sBAAAgpD,IAAAlpD,EAAAC,EAAAC,EAAA,sBAAAsH,IAAAxH,EAAAC,EAAAC,EAAA,sBAAAqH,IAAAvH,EAAAC,EAAAC,EAAA,sBAAA0I,IAAO,IAAMogD,EAA4B,4BAC5BC,EAAmC,mCACnCC,EAAsB,sBAE5B,SAAS1hD,IACd,MAAO,CACLjE,KAAMylD,GAIH,SAASzhD,IACd,MAAO,CACLhE,KAAM0lD,GAIH,SAASrgD,EAAiBoF,GAC/B,MAAO,CACLzK,KAAM2lD,EACNn/C,MAAOiE,qCCnBXhO,EAAAC,EAAAC,EAAA,sBAAAipD,IAAAnpD,EAAAC,EAAAC,EAAA,sBAAAkpD,IAAAppD,EAAAC,EAAAC,EAAA,sBAAAmpD,IAAArpD,EAAAC,EAAAC,EAAA,sBAAA0hB,IAAA5hB,EAAAC,EAAAC,EAAA,sBAAAq2B,IAAAv2B,EAAAC,EAAAC,EAAA,sBAAAyjD,IAAA3jD,EAAAC,EAAAC,EAAA,sBAAAuhB,IAAA,IAAAsmC,EAAA/nD,EAAA,IAAAgoD,EAAAhoD,EAAA,IAGampD,EAAsB,sBACtBC,EAAsB,sBACtBC,EAAqB,qBAM3B,SAASznC,EAAWrgB,GACzB,IAAMsgB,EAAWtgB,GAAUA,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IACzB,OAAO7a,YAAO,GAAAhC,OAAIX,IAAJ,QAAoB0hB,GAC/B1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KAI5C,SAASm0B,EAAch1B,GAC5B,OAAOkB,YAAM,GAAA3B,OAAIX,IAAJ,SACVgC,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KAI5C,SAASuhD,EAAkBpiD,GAChC,IAAMsgB,EAAWtgB,GAAUA,EAAOsgB,SAC9BtgB,EAAOsgB,SACP,CAAEnL,KAAM,EAAGiH,SAAU,IACzB,OAAO7a,YAAO,GAAAhC,OAAIX,IAAJ,iBAA6B0hB,GACxC1f,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,KAI5C,SAASqf,EAAelgB,GAC7B,OAAOkB,YAAM,GAAA3B,OAAIX,IAAJ,eACVgC,KAAK,SAACipB,GACL,GAAIA,EAAIhpB,MACN,MAAOgpB,EAAIhpB,MAGb,OADIb,GAAUA,EAAOqS,WAAWrS,EAAOqS,UAAUwX,GAC1CA,IAERC,MAAM,SAACjpB,GACFb,GAAUA,EAAOoE,SAASpE,EAAOoE,QAAQvD,iWChE7CknD,EAAe,CACnBjjD,UAAW,cAGEkjD,EAAA,WAAwC,IAA9BnlD,EAA8BsM,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAtB44C,EAC/B,QADqD54C,UAAA5G,OAAA,EAAA4G,UAAA,QAAA0K,GACtC7X,MACb,KAAKimD,IACH,MAAO,CAAEnjD,UAAW,cACtB,KAAKojD,IACH,MAAO,CAAEpjD,UAAW,eACtB,QACE,OAAOjC,mBCVPkI,EAAOnL,KAAKC,MAAMC,aAAaC,QAAQ,iBAAmB,GAC1DoI,EAAaO,OAAO5I,aAAaC,QAAQ,eAAiB,KAC5DooD,EAAc,EACdp9C,EAAKK,SACP+8C,EAAc,EACLp9C,EAAKG,WACdi9C,EAAc,EACLp9C,EAAKI,cACdg9C,EAAc,EACLp9C,EAAKI,gBACdg9C,EAAc,GAGhB,IAAMJ,EAAe,CACnBz9C,MAAM,EACNpD,UAAU,EACViB,WAAY4C,EAAKpD,iBAAkBQ,GAA4BggD,GAGlDC,EAAA,WAAwC,IAA9BvlD,EAA8BsM,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAtB44C,EAAcM,EAAQl5C,UAAA5G,OAAA,EAAA4G,UAAA,QAAA0K,EACrD,OAAQwuC,EAAOrmD,MACb,KAAKylD,IACH,OAAO3mD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBqE,UAAWrE,EAAMqE,WACtC,KAAKwgD,IACH,OAAO5mD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmByH,MAAOzH,EAAMyH,OAClC,KAAKq9C,IAEH,OADA7nD,aAAai7B,QAAQ,aAAcstB,EAAO7/C,OACnC1H,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBsF,WAAYkgD,EAAO7/C,QACxC,QACE,OAAO3F,ICnCAylD,EAA0B,0BAC1BC,EAA0B,0BCIvC,IAAMR,EAAe,CACnBl8C,UAAW,OAGE28C,EAAA,WAAwC,IAA9B3lD,EAA8BsM,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAtB44C,EAC/B,QADqD54C,UAAA5G,OAAA,EAAA4G,UAAA,QAAA0K,GACtC7X,MACb,KAAKsmD,EACH,MAAO,CAAEz8C,UAAW,OACtB,KAAK08C,EACH,MAAO,CAAE18C,UAAW,OACtB,QACE,OAAOhJ,YCRPklD,EAAe,CACnBjlD,SAAS,EACT6E,iBAAiB,EACjBmE,MAAO,kBACP+H,MAAO,CACL/H,MAAO,oBAII28C,EAAA,WAAwC,IAA9B5lD,EAA8BsM,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAtB44C,EAAcM,EAAQl5C,UAAA5G,OAAA,EAAA4G,UAAA,QAAA0K,EACrD,OAAQwuC,EAAOrmD,MACb,KAAK4kD,IACH,OAAO9lD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAUwlD,EAAOj6B,SAC/B,KAAKy4B,IACH,OAAO/lD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,IAC9B,KAAKgkD,IACH,OAAOhmD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAUwlD,EAAOj6B,QAA7B,CAAsCtrB,SAAS,IACjD,KAAKikD,IAEL,KAAKC,IACH,OAAOlmD,OAAAkP,EAAA,EAAAlP,CAAA,GAAKinD,GACd,QACE,OAAOllD,YClBP6lD,EAAe,CACnB5lD,SAAS,GAUI6lD,EAAA,WAAwC,IAA9B9lD,EAA8BsM,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAtBu5C,EAAcL,EAAQl5C,UAAA5G,OAAA,EAAA4G,UAAA,QAAA0K,EACrD,OAAQwuC,EAAOrmD,MACb,KAAKgkD,IACH,OAAOllD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK4nD,GACd,KAAKzC,IACH,OAAOnlD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAUwlD,EAAOj6B,SAE/B,KAAK83B,IACH,OAAOplD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,IAC9B,KAAKqjD,IACH,OAAOrlD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,GAAUulD,EAAOj6B,SAC/C,KAAKg4B,IACH,OAAOtlD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,EAAOjC,MAAOwnD,EAAOj6B,UAEnD,KAAKi4B,IACH,OAAOvlD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,IAC9B,KAAKwjD,IACH,OAAOxlD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,GAAUulD,EAAOj6B,SAC/C,KAAKm4B,IACH,OAAOzlD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,EAAOjC,MAAOwnD,EAAOj6B,UACnD,QACE,OAAOvrB,YCtCP6lD,EAAe,CACnB5lD,SAAS,EACT2xB,MAAO,IAGMm0B,EAAA,WAAwC,IAA9B/lD,EAA8BsM,UAAA5G,OAAA,QAAAsR,IAAA1K,UAAA,GAAAA,UAAA,GAAtBu5C,EAAcL,EAAQl5C,UAAA5G,OAAA,EAAA4G,UAAA,QAAA0K,EACrD,OAAQwuC,EAAOrmD,MACb,KAAK4lD,IACH,OAAO9mD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,IAC9B,KAAK+kD,IACH,OAAO/mD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,EAAO2xB,MAAO4zB,EAAOj6B,UACnD,KAAK05B,IACH,OAAOhnD,OAAAkP,EAAA,EAAAlP,CAAA,GAAK+B,EAAZ,CAAmBC,SAAS,EAAOjC,MAAOwnD,EAAOj6B,UACnD,QACE,OAAOvrB,ICAPoB,EAAQ4kD,sBAVM,SAAChmD,EAAOwlD,GAC1B,IAAMvwB,EAAWuwB,EAAOrmD,OAASglD,IAC7B,CACA15C,MAAOzK,EAAMyK,MACbtB,QAASnJ,EAAMmJ,QACfuB,IAAK1K,EAAM0K,KACT1K,EACN,OAAOimD,0BAAgBC,EAAhBD,CAA0BhxB,EAAUuwB,IAK3C,GAEAW,8BAAoBC,0BAAgBC,OAGvBjlD,uCC3BfxF,EAAAC,EAAAC,EAAA,sBAAAspD,IAAAxpD,EAAAC,EAAAC,EAAA,sBAAAupD,IAAAzpD,EAAAC,EAAAC,EAAA,sBAAA4N,IAAA9N,EAAAC,EAAAC,EAAA,sBAAA6N,IAAO,IAAMy7C,EAAuB,uBACvBC,EAAwB,wBAE9B,SAAS37C,IACd,MAAO,CACLvK,KAAMimD,GAIH,SAASz7C,IACd,MAAO,CACLxK,KAAMkmD","file":"static/js/main.e2af3d4b.chunk.js","sourcesContent":["export const urlBase = '/api';\r\nexport const urlUsers = `${urlBase}/usuarios`;\r\nexport const urlStudents = `${urlBase}/students`;\r\nexport const urlAssistances = `${urlBase}/assistances`;\r\nexport const urlStudentSubjects = `${urlBase}/studentsubjects`;\r\nexport const urlExams = `${urlBase}/exams`;\r\nexport const urlPeriodos = `${urlBase}/Periodos`;\r\nexport const urlMateriasPeriodo = `${urlBase}/MateriasPeriodo`;\r\nexport const urlPlanning = `${urlBase}/planning`;\r\nexport const urlInscripcionExamen = `${urlBase}/inscripcionexamen`;\r\nexport const urlFacultades = `${urlBase}/facultades`;\r\nexport const urlCarreras = `${urlBase}/carreras`;\r\nexport const urlMaterias = `${urlBase}/materias`;\r\nexport const urlMallas = `${urlBase}/mallas`;\r\nexport const urlProfessors = `${urlBase}/Professors`;\r\n","const authParams = (method, data) => {\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n const params = {\r\n method,\r\n };\r\n if (data) {\r\n params.body = JSON.stringify(data);\r\n }\r\n if (currentUser) {\r\n params.headers = {\r\n 'Content-Type': 'application/json',\r\n Authorization: `Bearer ${currentUser.token}`,\r\n };\r\n }\r\n return params;\r\n};\r\n\r\nconst checkResults = (result) => {\r\n if (result.ok) {\r\n return result.status === 204 ? {} : result.json();\r\n } if (result.status === 400) {\r\n return result.json().then((error) => {\r\n const ex = {\r\n ...error,\r\n status: result.status,\r\n };\r\n\r\n throw ex;\r\n });\r\n }\r\n throw result;\r\n};\r\n\r\nconst checkDownloadResults = (result) => {\r\n if (result.ok) {\r\n return result.blob();\r\n } if (result.status === 400) {\r\n return result.json().then((error) => {\r\n throw error;\r\n });\r\n }\r\n throw result;\r\n};\r\n\r\nexport const apiGet = url => fetch(url, authParams('GET', null)).then(checkResults);\r\nexport const apiDownload = url => fetch(url, authParams('GET', null)).then(checkDownloadResults);\r\nexport const apiDownloadPost = (url, data) => fetch(url, authParams('POST', data)).then(checkDownloadResults);\r\nexport const apiPost = (url, data) => fetch(url, authParams('POST', data)).then(checkResults);\r\nexport const apiPut = (url, id, data) => fetch(`${url}/${id}`, authParams('PUT', data)).then(checkResults);\r\nexport const apiDelete = url => fetch(url, authParams('DELETE', null)).then(checkResults);\r\n","import { NotificationManager } from 'react-notifications';\r\n\r\nexport const NOTIFY_INFO = 'info';\r\nexport const NOTIFY_SUCCESS = 'success';\r\nexport const NOTIFY_WARNING = 'warning';\r\nexport const NOTIFY_ERROR = 'error';\r\n/**\r\n * Creates a notification\r\n */\r\nexport const createNotification = (type, text) => {\r\n switch (type) {\r\n case NOTIFY_INFO:\r\n NotificationManager.info('Info', text || '');\r\n break;\r\n case NOTIFY_SUCCESS:\r\n NotificationManager.success('', text || '');\r\n break;\r\n case NOTIFY_WARNING:\r\n NotificationManager.warning('Advertencia', text || '');\r\n break;\r\n case NOTIFY_ERROR:\r\n NotificationManager.error('Error', text || 'Ha ocurrido un error, por favor intenta de nuevo.');\r\n break;\r\n default:\r\n break;\r\n }\r\n};\r\n\r\nexport const createInfoMessage = text => createNotification(NOTIFY_INFO, text);\r\nexport const createSuccessMessage = text => createNotification(NOTIFY_SUCCESS, text);\r\nexport const createWarningMessage = text => createNotification(NOTIFY_WARNING, text);\r\nexport const createErrorMessage = text => createNotification(NOTIFY_ERROR, text);\r\n","import React, { Component, Fragment } from 'react';\r\n// eslint-disable-next-line import/no-extraneous-dependencies\r\nimport { hot } from 'react-hot-loader';\r\nimport { Provider } from 'react-redux';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport { NotificationContainer } from 'react-notifications';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport 'react-datepicker/dist/react-datepicker.css';\r\nimport 'react-notifications/lib/notifications.css';\r\nimport 'react-confirm-alert/src/react-confirm-alert.css';\r\nimport 'react-data-grid/dist/react-data-grid.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport '../../scss/app.scss';\r\nimport Router from './Router';\r\nimport store from './store';\r\nimport ScrollToTop from './ScrollToTop';\r\nimport { verifyUserToken } from '../../redux/actions/loginActions';\r\nimport { createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass App extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n loading: true,\r\n loaded: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n try {\r\n caches.keys().then((names) => {\r\n names.forEach((name) => {\r\n caches.delete(name);\r\n });\r\n });\r\n\r\n console.log('Complete Cache Cleared');\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n this.setState({ loading: false });\r\n setTimeout(() => this.setState({ loaded: true }), 500);\r\n });\r\n const { location: { pathname: path } } = window;\r\n if (!(path === '' || path === '/' || path === '/log_in')) {\r\n store.dispatch(verifyUserToken({\r\n onError: () => {\r\n createSuccessMessage('Error');\r\n window.location.href = ('/');\r\n },\r\n }));\r\n }\r\n }\r\n\r\n render() {\r\n const { loaded, loading } = this.state;\r\n return (\r\n \r\n \r\n \r\n \r\n {!loaded\r\n && (\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default hot(module)(App);\r\n","import { PureComponent } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nclass ScrollToTop extends PureComponent {\n static propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string,\n }).isRequired,\n children: PropTypes.element.isRequired,\n };\n\n componentDidUpdate(prevProps) {\n const { location } = this.props;\n if (location.pathname !== prevProps.location.pathname) {\n window.scrollTo(0, 0);\n }\n }\n\n render() {\n const { children } = this.props;\n return children;\n }\n}\n\nexport default withRouter(ScrollToTop);\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\n\nconst icon = `${process.env.PUBLIC_URL}/img/burger.svg`;\n\nclass TopbarSidebarButton extends PureComponent {\n static propTypes = {\n changeMobileSidebarVisibility: PropTypes.func.isRequired,\n changeSidebarVisibility: PropTypes.func.isRequired,\n };\n\n render() {\n const { changeMobileSidebarVisibility, changeSidebarVisibility } = this.props;\n\n return (\n
\n \n \n
\n );\n }\n}\n\nexport default TopbarSidebarButton;\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\n\nexport default class TopbarMenuLinks extends PureComponent {\n static propTypes = {\n title: PropTypes.string.isRequired,\n icon: PropTypes.string.isRequired,\n path: PropTypes.string.isRequired,\n };\n\n render() {\n const { title, icon, path } = this.props;\n\n return (\n \n \n

{title}

\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport default class TopbarMenuButton extends PureComponent {\r\n static propTypes = {\r\n title: PropTypes.string.isRequired,\r\n icon: PropTypes.string.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n };\r\n\r\n render() {\r\n const { title, icon, onClick } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport DownIcon from 'mdi-react/ChevronDownIcon';\r\nimport PropTypes from 'prop-types';\r\nimport { withRouter } from 'react-router';\r\nimport { Collapse } from 'reactstrap';\r\nimport TopbarMenuLink from './TopbarMenuLink';\r\nimport TopbarMenuButton from './TopbarMenuButton';\r\nimport store from '../../App/store';\r\nimport { logout } from '../../../redux/actions/loginActions';\r\nimport { changeUserViewAs } from '../../../redux/actions/sidebarActions';\r\n\r\nconst Ava = `${process.env.PUBLIC_URL}/img/avatar.png`;\r\n\r\nclass TopbarProfile extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n collapse: false,\r\n };\r\n }\r\n\r\n toggle = () => {\r\n this.setState(prevState => ({ collapse: !prevState.collapse }));\r\n };\r\n\r\n onLogoutClick = () => {\r\n const { history } = this.props;\r\n store.dispatch(changeUserViewAs(0));\r\n store.dispatch(logout());\r\n history.push('/');\r\n };\r\n\r\n render() {\r\n const { collapse } = this.state;\r\n\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n const LoggedUser = (\r\n

{currentUser.fullName}

\r\n );\r\n const AnonimousUser = (\r\n

Usuario anónimo

\r\n );\r\n\r\n return (\r\n
\r\n \r\n {collapse && \r\n \r\n
    \r\n
    \r\n {children}\r\n
    \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport SidebarLink from './SidebarLink';\r\nimport SidebarCategory from './SidebarCategory';\r\n\r\nclass SidebarContent extends Component {\r\n static propTypes = {\r\n changeToDark: PropTypes.func.isRequired,\r\n changeToLight: PropTypes.func.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n viewPageAs: PropTypes.number.isRequired,\r\n };\r\n\r\n hideSidebar = () => {\r\n const { onClick } = this.props;\r\n onClick();\r\n };\r\n\r\n showAdminMenu = show => (\r\n show ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null\r\n );\r\n\r\n showStudentMenu = show => (\r\n show ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : null\r\n );\r\n\r\n showProfessorMenu = show => (\r\n show ? (\r\n <>\r\n \r\n\r\n \r\n\r\n \r\n \r\n ) : null\r\n );\r\n\r\n showReportMenu = show => (\r\n show ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : null\r\n );\r\n\r\n render() {\r\n const { changeToDark, changeToLight, viewPageAs } = this.props;\r\n const user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n\r\n const isAdminMenu = viewPageAs === 2 || viewPageAs === 3;\r\n\r\n const isProfessorMenu = user.esProfesor\r\n && (viewPageAs === 1 || (user.esProfesor && !user.esFuncionario && !user.esAlumno && !user.esAdmin));\r\n\r\n const isStudentMenu = user.esAlumno\r\n && (viewPageAs === 0 || (user.esAlumno && !user.esFuncionario && !user.esProfesor && !user.esAdmin));\r\n\r\n const isReportMenu = isStudentMenu || isAdminMenu;\r\n\r\n return (\r\n
\r\n
    \r\n \r\n \r\n \r\n \r\n
\r\n
    \r\n {this.showAdminMenu(isAdminMenu)}\r\n {this.showStudentMenu(isStudentMenu)}\r\n {this.showProfessorMenu(isProfessorMenu)}\r\n {this.showReportMenu(isReportMenu)}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default SidebarContent;\r\n","import PropTypes from 'prop-types';\r\n\r\nconst {\r\n string, shape,\r\n} = PropTypes;\r\n\r\nexport const SidebarProps = shape({\r\n show: PropTypes.bool,\r\n collapse: PropTypes.bool,\r\n});\r\n\r\nexport const ThemeProps = shape({\r\n className: string,\r\n});\r\n\r\nexport const RTLProps = shape({\r\n direction: string,\r\n});\r\n\r\nexport const LoginProps = shape({\r\n email: string,\r\n password: string,\r\n});\r\n","import React from 'react';\r\nimport Scrollbar from 'react-smooth-scrollbar';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport SidebarContent from './SidebarContent';\r\nimport { SidebarProps } from '../../../shared/prop-types/ReducerProps';\r\n\r\nconst Sidebar = ({\r\n changeToDark, changeToLight, changeMobileSidebarVisibility, sidebar, viewPageAs,\r\n}) => {\r\n const sidebarClass = classNames({\r\n sidebar: true,\r\n 'sidebar--show': sidebar.show,\r\n 'sidebar--collapse': sidebar.collapse,\r\n });\r\n\r\n return (\r\n
\r\n
\r\n );\r\n};\r\n\r\nSidebar.propTypes = {\r\n sidebar: SidebarProps.isRequired,\r\n changeToDark: PropTypes.func.isRequired,\r\n changeToLight: PropTypes.func.isRequired,\r\n changeMobileSidebarVisibility: PropTypes.func.isRequired,\r\n viewPageAs: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default Sidebar;\r\n","import React, { Component } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport Topbar from './topbar/Topbar';\r\nimport Sidebar from './sidebar/Sidebar';\r\n\r\nimport { changeThemeToDark, changeThemeToLight } from '../../redux/actions/themeActions';\r\nimport {\r\n changeMobileSidebarVisibility,\r\n changeSidebarVisibility,\r\n changeUserViewAs,\r\n} from '../../redux/actions/sidebarActions';\r\nimport { SidebarProps } from '../../shared/prop-types/ReducerProps';\r\n\r\nclass Layout extends Component {\r\n static propTypes = {\r\n dispatch: PropTypes.func.isRequired,\r\n sidebar: SidebarProps.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n appEnvironment: PropTypes.shape({}).isRequired,\r\n };\r\n\r\n changeSidebarVisibility = () => {\r\n const { dispatch } = this.props;\r\n dispatch(changeSidebarVisibility());\r\n };\r\n\r\n changeMobileSidebarVisibility = () => {\r\n const { dispatch } = this.props;\r\n dispatch(changeMobileSidebarVisibility());\r\n };\r\n\r\n changeToDark = () => {\r\n const { dispatch } = this.props;\r\n dispatch(changeThemeToDark());\r\n };\r\n\r\n changeToLight = () => {\r\n const { dispatch } = this.props;\r\n dispatch(changeThemeToLight());\r\n };\r\n\r\n changeUserView = (userType) => {\r\n const { dispatch, history } = this.props;\r\n dispatch(changeUserViewAs(userType));\r\n const user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n if (userType === 0 && user.esAlumno) {\r\n history.push('/pages/student-dashboard');\r\n } else if (userType === 1 && user.esProfesor) {\r\n history.push('/pages/profesor-dashboard');\r\n } else {\r\n history.push('/pages/one');\r\n }\r\n };\r\n\r\n render() {\r\n const { sidebar, appEnvironment } = this.props;\r\n const { viewPageAs } = sidebar;\r\n const layoutClass = classNames({\r\n layout: true,\r\n 'layout--collapse': sidebar.collapse,\r\n });\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(Layout));\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst Bottombar = ({ publicSettings }) => {\r\n const { appName, appVersion } = publicSettings;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {appName} 2021-2024 - Build # {appVersion}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nBottombar.propTypes = {\r\n publicSettings: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default Bottombar;\r\n","import React, { PureComponent } from 'react';\nimport { connect } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { ThemeProps, RTLProps } from '../../shared/prop-types/ReducerProps';\n\nclass MainWrapper extends PureComponent {\n static propTypes = {\n theme: ThemeProps.isRequired,\n rtl: RTLProps.isRequired,\n children: PropTypes.element.isRequired,\n location: PropTypes.shape({}).isRequired,\n };\n\n render() {\n const {\n theme, children, rtl, location,\n } = this.props;\n\n const direction = location.pathname === '/' ? 'ltr' : rtl.direction;\n\n return (\n
\n
\n {children}\n
\n
\n );\n }\n}\n\nexport default withRouter(connect(state => ({\n theme: state.theme,\n rtl: state.rtl,\n}))(MainWrapper));\n","/* eslint-disable jsx-a11y/label-has-for */\r\nimport React, { PureComponent } from 'react';\r\nimport CheckIcon from 'mdi-react/CheckIcon';\r\nimport CloseIcon from 'mdi-react/CloseIcon';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\n\r\nclass CheckBoxField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.bool,\r\n ]).isRequired,\r\n label: PropTypes.string,\r\n defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n className: PropTypes.string,\r\n style: PropTypes.shape({}),\r\n labelStyle: PropTypes.shape({}),\r\n color: PropTypes.string,\r\n };\r\n\r\n static defaultProps = {\r\n label: '',\r\n defaultChecked: false,\r\n disabled: false,\r\n className: '',\r\n style: {},\r\n labelStyle: {},\r\n color: '',\r\n };\r\n\r\n componentDidMount() {\r\n // const { onChange, defaultChecked } = this.props;\r\n // onChange(defaultChecked);\r\n }\r\n\r\n render() {\r\n const {\r\n disabled,\r\n className,\r\n name,\r\n value,\r\n onChange,\r\n label,\r\n color,\r\n defaultChecked,\r\n style,\r\n labelStyle,\r\n } = this.props;\r\n\r\n const CheckboxClass = classNames({\r\n 'checkbox-btn': true,\r\n disabled,\r\n });\r\n\r\n const checked = value !== '' ? value : defaultChecked;\r\n const checkedClass = checked ? 'checkbox-btn--checked' : '';\r\n const labelClass = `${CheckboxClass} ${checkedClass} ${className ? `checkbox-btn--${className}` : ''}`;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n {className === 'button'\r\n ? (\r\n \r\n \r\n \r\n \r\n ) : ''}\r\n \r\n {label}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst renderCheckBoxField = (props) => {\r\n const {\r\n input,\r\n label,\r\n defaultChecked,\r\n disabled,\r\n className,\r\n color,\r\n style,\r\n labelStyle,\r\n meta: {\r\n touched, error,\r\n },\r\n } = props;\r\n\r\n return (\r\n
\r\n \r\n {touched && error && {error}}\r\n
\r\n );\r\n};\r\n\r\nrenderCheckBoxField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.bool,\r\n ]),\r\n }).isRequired,\r\n label: PropTypes.string,\r\n defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n style: PropTypes.shape({}),\r\n labelStyle: PropTypes.shape({}),\r\n className: PropTypes.string,\r\n color: PropTypes.string,\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.any,\r\n }),\r\n};\r\n\r\nrenderCheckBoxField.defaultProps = {\r\n label: '',\r\n defaultChecked: false,\r\n disabled: false,\r\n style: {},\r\n labelStyle: {},\r\n className: '',\r\n color: '',\r\n meta: {},\r\n};\r\n\r\nexport default renderCheckBoxField;\r\n","import React, { PureComponent } from 'react';\r\n\r\nconst setPropsAsInitialValues = WrappedComponent => (\r\n class extends PureComponent {\r\n render() {\r\n return ;\r\n }\r\n }\r\n);\r\n\r\nexport default setPropsAsInitialValues;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst TextBox = ({\r\n input,\r\n placeholder,\r\n type,\r\n maxLength,\r\n min,\r\n max,\r\n step,\r\n meta: { touched, error },\r\n readOnly,\r\n disabled,\r\n className,\r\n style,\r\n onKeyPress,\r\n}) => {\r\n const props = {\r\n ...input,\r\n };\r\n\r\n if (type === 'number') {\r\n props.step = step;\r\n\r\n if (min) {\r\n props.min = min;\r\n }\r\n if (max) {\r\n props.max = max <= 999999999999 ? max : 999999999999;\r\n }\r\n }\r\n\r\n if (type === 'textarea') {\r\n return (\r\n
\r\n \r\n {touched && error && {error}}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n {touched && error && {error}}\r\n
\r\n );\r\n};\r\n\r\nTextBox.propTypes = {\r\n input: PropTypes.shape({}).isRequired,\r\n style: PropTypes.shape({}),\r\n placeholder: PropTypes.string,\r\n type: PropTypes.string,\r\n min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n maxLength: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n model: PropTypes.string,\r\n forceValidation: PropTypes.bool,\r\n readOnly: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n className: PropTypes.string,\r\n pattern: PropTypes.string,\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.any,\r\n }),\r\n onKeyPress: PropTypes.func,\r\n};\r\n\r\nTextBox.defaultProps = {\r\n style: {},\r\n placeholder: '',\r\n meta: {},\r\n type: 'text',\r\n min: '',\r\n max: '',\r\n step: '',\r\n maxLength: '',\r\n model: '',\r\n forceValidation: false,\r\n readOnly: false,\r\n disabled: false,\r\n className: '',\r\n pattern: '',\r\n onKeyPress: () => false,\r\n};\r\n\r\nexport default TextBox;\r\n","import React from 'react';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport { Button, ButtonToolbar, Modal } from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Confirm = ({\r\n title,\r\n question,\r\n yesLabel,\r\n otherLabel,\r\n noLabel,\r\n onConfirm,\r\n onCancel,\r\n onOther,\r\n color,\r\n}) => {\r\n const modalClass = 'modal-dialog--header';\r\n\r\n Confirm.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n question: PropTypes.string.isRequired,\r\n yesLabel: PropTypes.string,\r\n otherLabel: PropTypes.string,\r\n noLabel: PropTypes.string,\r\n onConfirm: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func,\r\n onOther: PropTypes.func.isRequired,\r\n color: PropTypes.string,\r\n };\r\n\r\n Confirm.defaultProps = {\r\n yesLabel: 'Si',\r\n noLabel: 'No, Volver',\r\n color: 'warning',\r\n onCancel: () => { },\r\n };\r\n\r\n const customUI = ({ onClose }) => (\r\n
\r\n \r\n
\r\n

{title}

\r\n
\r\n
\r\n {question}\r\n
\r\n \r\n {\r\n if (onCancel) {\r\n onCancel();\r\n }\r\n onClose();\r\n }}\r\n >\r\n {noLabel}\r\n \r\n {\r\n otherLabel && (\r\n {\r\n onOther();\r\n onClose();\r\n }}\r\n >\r\n {otherLabel}\r\n \r\n )\r\n }\r\n {\r\n onConfirm();\r\n onClose();\r\n }}\r\n >\r\n {yesLabel}\r\n \r\n \r\n \r\n
\r\n );\r\n\r\n customUI.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n };\r\n\r\n confirmAlert({\r\n customUI,\r\n });\r\n};\r\n\r\nexport default Confirm;\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.email) {\r\n errors.email = 'Debe ingresar el correo electrónico.';\r\n } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(attrs.email)) {\r\n errors.email = 'El correo electronico no es valido.';\r\n }\r\n if (!attrs.password) {\r\n errors.password = 'Debe ingresar la contraseña';\r\n }\r\n errors.isValid = Object.keys(errors).length === 0;\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport { Field, reduxForm } from 'redux-form';\r\nimport { Spinner, Button } from 'reactstrap';\r\nimport EyeIcon from 'mdi-react/EyeIcon';\r\nimport KeyVariantIcon from 'mdi-react/KeyVariantIcon';\r\nimport AccountOutlineIcon from 'mdi-react/AccountOutlineIcon';\r\nimport PropTypes from 'prop-types';\r\nimport { resetUserPassword } from '../../../redux/actions/userActions';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport { createErrorMessage, createSuccessMessage } from '../../../helpers/notification';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport validateForm from './validate';\r\n\r\nclass LogIn extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool.isRequired,\r\n pristine: PropTypes.bool.isRequired,\r\n loggingIn: PropTypes.bool.isRequired,\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n showPassword: false,\r\n email: false,\r\n resetPassword: false,\r\n };\r\n }\r\n\r\n showPassword = (e) => {\r\n e.preventDefault();\r\n this.setState(prevState => ({ showPassword: !prevState.showPassword }));\r\n }\r\n\r\n handleChange = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n };\r\n\r\n resetUserPassword = (props) => {\r\n const { valid } = props;\r\n if (!valid) {\r\n return;\r\n }\r\n\r\n const { email } = this.state;\r\n\r\n Confirm({\r\n title: 'Restablecer contrase\\xF1a',\r\n question: `Est\\xE1s seguro que deseas restablecer la contrase\\xF1a de ${email}?`,\r\n yesLabel: 'Si, Restablecer',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n resetUserPassword(email, {\r\n onSuccess: () => {\r\n const msg = 'Contrase\\xF1a restablecida exitosamente.';\r\n createSuccessMessage(`${msg} Se ha enviado un correo con la contrase\\xF1a temporal.`);\r\n this.setState({ resetPassword: false });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n } else {\r\n createErrorMessage('Error al intentar restablecer contrase\\xF1a');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleSubmit = (values) => {\r\n const { handleSubmit } = this.props;\r\n return handleSubmit(values);\r\n }\r\n\r\n showSpinner = () => (\r\n
\r\n \r\n
\r\n );\r\n\r\n showLoging = (showPassword, submitting, pristine) => (\r\n <>\r\n
\r\n Usuario\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Contraseña\r\n
\r\n
\r\n \r\n
\r\n \r\n this.showPassword(e)}\r\n type=\"button\"\r\n >\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Ingresar\r\n \r\n this.setState({ resetPassword: true })}\r\n >\r\n ¿Olvidaste tu Contraseña?\r\n \r\n \r\n );\r\n\r\n showResetPassword = () => (\r\n <>\r\n
\r\n Usuario\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n this.resetUserPassword(this.props)}\r\n >Restablecer\r\n \r\n this.setState({ resetPassword: false })}\r\n >Cancelar\r\n \r\n \r\n );\r\n\r\n render() {\r\n const { showPassword, resetPassword } = this.state;\r\n const { submitting, pristine, loggingIn } = this.props;\r\n\r\n if (resetPassword) {\r\n return (\r\n
this.handleSubmit(values)}>\r\n {\r\n this.showResetPassword()\r\n }\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
this.handleSubmit(values)}>\r\n {\r\n !loggingIn ? this.showLoging(showPassword) : this.showSpinner(submitting, pristine)\r\n }\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst LogInForm = reduxForm({\r\n form: 'LogInForm',\r\n validate: validateForm,\r\n})(LogIn);\r\n\r\nexport default setPropsAsInitialValues(LogInForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter, Link } from 'react-router-dom';\r\nimport { change } from 'redux-form';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport FacebookIcon from 'mdi-react/FacebookIcon';\r\nimport GooglePlusIcon from 'mdi-react/GooglePlusIcon';\r\nimport LogInForm from './components/LogInForm';\r\nimport { login, logout } from '../../redux/actions/loginActions';\r\nimport { changeUserViewAs } from '../../redux/actions/sidebarActions';\r\nimport { createWarningMessage } from '../../helpers/notification';\r\n\r\nclass LogInContainer extends PureComponent {\r\n constructor() {\r\n super();\r\n this.state = {\r\n loggingIn: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n // const { logout: logoutAction } = this.props;\r\n // logoutAction();\r\n }\r\n\r\n handleSubmit = (values) => {\r\n this.setState(prevState => ({ loggingIn: !prevState.loggingIn }));\r\n\r\n const { login: loginAction, history, changeFormValue } = this.props;\r\n changeFormValue('LogInForm', 'password', '***************');\r\n return loginAction(values, {\r\n onSuccess: () => {\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n if (currentUser.esAlumno) {\r\n this.changeUserView(0);\r\n history.push('/pages/student-dashboard');\r\n return;\r\n }\r\n\r\n if (currentUser.esProfesor) {\r\n this.changeUserView(1);\r\n history.push('/pages/profesor-dashboard');\r\n return;\r\n }\r\n\r\n history.push('/pages/one');\r\n },\r\n onFirstLogin: () => {\r\n history.push('/first_log_in');\r\n },\r\n onError: () => {\r\n createWarningMessage('Usuario y/o contraseña incorrecto');\r\n this.setState(prevState => ({ loggingIn: !prevState.loggingIn }));\r\n },\r\n });\r\n }\r\n\r\n changeUserView = (userType) => {\r\n const { dispatch } = this.props;\r\n dispatch(changeUserViewAs(userType));\r\n }\r\n\r\n render() {\r\n const { loggingIn } = this.state;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Bienvenido a\r\n Integral\r\n FIUNI\r\n \r\n

\r\n

Facultad de Ingeniería

\r\n
\r\n \r\n
\r\n

Or Easily Using

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nLogInContainer.propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n login: PropTypes.func.isRequired,\r\n changeFormValue: PropTypes.func.isRequired,\r\n dispatch: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = () => ({});\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n login,\r\n logout,\r\n changeFormValue: change,\r\n dispatch,\r\n}, dispatch);\r\n\r\nexport default withRouter(connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(LogInContainer));\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.email) {\r\n errors.email = 'Debe ingresar el correo electrónico.';\r\n } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(attrs.email)) {\r\n errors.email = 'El correo electronico no es valido.';\r\n }\r\n if (!attrs.password) {\r\n errors.password = 'Debe ingresar la contraseña actual';\r\n }\r\n if (!attrs.newPassword) {\r\n errors.newPassword = 'Debe ingresar la nueva contraseña';\r\n }\r\n if (attrs.newPassword && attrs.newPasswordConfirmation === attrs.password) {\r\n errors.newPassword = 'La nueva contraseña no puede ser igual a la contraseña actual';\r\n }\r\n if (!attrs.newPasswordConfirmation) {\r\n errors.newPasswordConfirmation = 'Debe confirmar la nueva contraseña';\r\n }\r\n if (attrs.newPasswordConfirmation && attrs.newPasswordConfirmation !== attrs.newPassword) {\r\n errors.newPasswordConfirmation = 'La confirmación de la nueva contraseña no es igual a la nueva contraseña';\r\n }\r\n errors.isValid = Object.keys(errors).length === 0;\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport { Field, reduxForm } from 'redux-form';\r\nimport EyeIcon from 'mdi-react/EyeIcon';\r\nimport KeyVariantIcon from 'mdi-react/KeyVariantIcon';\r\nimport AccountOutlineIcon from 'mdi-react/AccountOutlineIcon';\r\nimport PropTypes from 'prop-types';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport validate from './validate';\r\n\r\nclass FirstLogIn extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool.isRequired,\r\n pristine: PropTypes.bool.isRequired,\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.state = { showPassword: false };\r\n }\r\n\r\n showPassword = (e) => {\r\n e.preventDefault();\r\n const { currentTarget: { id } } = e;\r\n this.setState(prevState => ({ [id]: !prevState[id] }));\r\n }\r\n\r\n render() {\r\n const { showPassword, showNewPassword, showNewPasswordConfirmation } = this.state;\r\n const { handleSubmit, submitting, pristine } = this.props;\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n return (\r\n
\r\n
\r\n Usuario\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Contraseña actual\r\n
\r\n
\r\n \r\n
\r\n \r\n this.showPassword(e)}\r\n type=\"button\"\r\n tabIndex={0}\r\n >\r\n \r\n
\r\n
\r\n
\r\n Contraseña nueva\r\n
\r\n
\r\n \r\n
\r\n \r\n this.showPassword(e)}\r\n type=\"button\"\r\n tabIndex={0}\r\n >\r\n \r\n
\r\n
\r\n
\r\n Confirmación de ontraseña nueva\r\n
\r\n
\r\n \r\n
\r\n \r\n this.showPassword(e)}\r\n type=\"button\"\r\n >\r\n \r\n
\r\n
\r\n Establecer nueva contraseña\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst FirstLogInForm = reduxForm({\r\n form: 'LogInForm',\r\n validate,\r\n})(FirstLogIn);\r\n\r\nexport default setPropsAsInitialValues(FirstLogInForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { reset } from 'redux-form';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Link } from 'react-router-dom';\r\nimport FacebookIcon from 'mdi-react/FacebookIcon';\r\nimport GooglePlusIcon from 'mdi-react/GooglePlusIcon';\r\nimport FirstLogInForm from './components/FirstLogInForm';\r\nimport { firstLogin } from '../../redux/actions/loginActions';\r\nimport { createWarningMessage, createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass FirstLogInContainer extends PureComponent {\r\n handleSubmit = (values) => {\r\n const { firstLogin: submit, history, resetForm } = this.props;\r\n resetForm('LogInForm');\r\n return submit(values,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Nueva contraseña establecidad con éxito');\r\n history.push('/pages/users');\r\n },\r\n onError: () => {\r\n createWarningMessage('Usuario y/o contraseña incorrecto');\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

Establecer nueva contraseña

\r\n
\r\n \r\n
\r\n

Or Easily Using

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nFirstLogInContainer.propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n firstLogin: PropTypes.func.isRequired,\r\n resetForm: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = () => ({});\r\n\r\nconst mapDispatchToProps = dispatch => bindActionCreators({\r\n firstLogin,\r\n resetForm: reset,\r\n}, dispatch);\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(FirstLogInContainer);\r\n","import React from 'react';\r\nimport { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport ChevronRightIcon from 'mdi-react/ChevronRightIcon';\r\nimport ChevronDoubleRightIcon from 'mdi-react/ChevronDoubleRightIcon';\r\n\r\nimport ChevronLeftIcon from 'mdi-react/ChevronLeftIcon';\r\nimport ChevronDoubleLeftIcon from 'mdi-react/ChevronDoubleLeftIcon';\r\n\r\nexport default class CustomPagination extends React.Component {\r\n static propTypes = {\r\n onChangePage: PropTypes.func.isRequired,\r\n itemsCount: PropTypes.number.isRequired,\r\n itemsToShow: PropTypes.number.isRequired,\r\n pageOfItems: PropTypes.number.isRequired,\r\n };\r\n\r\n setPage = (page) => {\r\n const { itemsCount, itemsToShow, onChangePage } = this.props;\r\n\r\n // calculate total pages\r\n const totalPages = Math.ceil(itemsCount / itemsToShow);\r\n\r\n if (page < 1 || page > totalPages) {\r\n return;\r\n }\r\n\r\n // call change page function in parent component\r\n onChangePage(page);\r\n };\r\n\r\n render4Pages = () => {\r\n const { itemsCount, itemsToShow, pageOfItems } = this.props;\r\n\r\n const pagesToShow = 4;\r\n const pages = [];\r\n const totalPages = Math.ceil(itemsCount / itemsToShow);\r\n\r\n if (totalPages <= pagesToShow) {\r\n for (let i = 1; i <= totalPages; i += 1) {\r\n pages.push(i);\r\n }\r\n } else {\r\n // 1 ... 5 6 7 .... 20 Paginantion impl\r\n pages.push(1);\r\n const currentPageSpace = pagesToShow === 1 || pagesToShow === totalPages ? 0 : 1;\r\n const dinamicPages = pagesToShow - 2 - currentPageSpace; // First, current and last\r\n if (totalPages / 2 < pageOfItems) {\r\n const to = Math.min(pageOfItems + Math.ceil(dinamicPages / 2), totalPages - 1);\r\n const from = Math.max(pageOfItems - (dinamicPages - (to - pageOfItems)), 2);\r\n if (from > 2) pages.push(0); // Separator\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n if (to < (totalPages - 1)) pages.push(0); // Separator\r\n } else {\r\n const from = Math.max(pageOfItems - Math.floor(dinamicPages / 2), 2);\r\n const to = Math.min(pageOfItems + (dinamicPages - (pageOfItems - from)), totalPages - 1);\r\n if (from > 2) pages.push(0); // Separator\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n if (to < (totalPages - 1)) pages.push(0); // Separator\r\n }\r\n pages.push(totalPages);\r\n }\r\n\r\n return itemsCount ? (\r\n
\r\n {(itemsCount <= 1) ? ''\r\n : (\r\n \r\n \r\n this.setPage(1)}\r\n >\r\n \r\n \r\n \r\n \r\n this.setPage(pageOfItems - 1)}\r\n >\r\n \r\n \r\n \r\n {pages.map(page => (\r\n page > 0\r\n ? (\r\n \r\n this.setPage(page)}\r\n >\r\n {page}\r\n \r\n \r\n )\r\n : (\r\n \r\n \r\n ...\r\n \r\n \r\n )\r\n ))\r\n }\r\n itemsCount}>\r\n this.setPage(pageOfItems + 1)}\r\n >\r\n \r\n \r\n \r\n itemsCount}>\r\n this.setPage(Math.ceil(itemsCount / itemsToShow))}\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n
\r\n \r\n Resultado {`${(itemsToShow * (pageOfItems - 1)) + 1} - `}\r\n {\r\n itemsToShow * pageOfItems > itemsCount ? itemsCount : itemsToShow * pageOfItems\r\n }\r\n {` de ${itemsCount} registros`}\r\n \r\n
\r\n
\r\n ) :
;\r\n }\r\n\r\n render9Pages = () => {\r\n const { itemsCount, itemsToShow, pageOfItems } = this.props;\r\n\r\n const pagesToShow = 4;\r\n const pages = [];\r\n const totalPages = Math.ceil(itemsCount / itemsToShow);\r\n\r\n if (totalPages <= pagesToShow) {\r\n for (let i = 1; i <= totalPages; i += 1) {\r\n pages.push(i);\r\n }\r\n } else {\r\n // 1 ... 5 6 7 .... 20 Paginantion impl\r\n pages.push(1);\r\n const currentPageSpace = pagesToShow === 1 || pagesToShow === totalPages ? 0 : 1;\r\n const dinamicPages = pagesToShow - 2 - currentPageSpace; // First, current and last\r\n if (totalPages / 2 < pageOfItems) {\r\n const to = Math.min(pageOfItems + Math.ceil(dinamicPages / 2), totalPages - 1);\r\n const from = Math.max(pageOfItems - (dinamicPages - (to - pageOfItems)), 2);\r\n if (from > 2) pages.push(0); // Separator\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n if (to < (totalPages - 1)) pages.push(0); // Separator\r\n } else {\r\n const from = Math.max(pageOfItems - Math.floor(dinamicPages / 2), 2);\r\n const to = Math.min(pageOfItems + (dinamicPages - (pageOfItems - from)), totalPages - 1);\r\n if (from > 2) pages.push(0); // Separator\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n if (to < (totalPages - 1)) pages.push(0); // Separator\r\n }\r\n pages.push(totalPages);\r\n }\r\n\r\n return itemsCount ? (\r\n
\r\n {(itemsCount <= 1) ? ''\r\n : (\r\n \r\n \r\n this.setPage(1)}\r\n >\r\n \r\n \r\n \r\n \r\n this.setPage(pageOfItems - 1)}\r\n >\r\n \r\n \r\n \r\n {pages.map(page => (\r\n page > 0\r\n ? (\r\n \r\n this.setPage(page)}\r\n >\r\n {page}\r\n \r\n \r\n )\r\n : (\r\n \r\n \r\n ...\r\n \r\n \r\n )\r\n ))\r\n }\r\n itemsCount}>\r\n this.setPage(pageOfItems + 1)}\r\n >\r\n \r\n \r\n \r\n itemsCount}>\r\n this.setPage(Math.ceil(itemsCount / itemsToShow))}\r\n >\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n
\r\n \r\n Resultado {`${(itemsToShow * (pageOfItems - 1)) + 1} - `}\r\n {\r\n itemsToShow * pageOfItems > itemsCount ? itemsCount : itemsToShow * pageOfItems\r\n }\r\n {` de ${itemsCount} registros`}\r\n \r\n
\r\n
\r\n ) :
;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.render4Pages()}\r\n {this.render9Pages()}\r\n \r\n );\r\n }\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport DatePicker from 'react-datepicker';\r\nimport CalendarBlankIcon from 'mdi-react/CalendarBlankIcon';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass DatePickerField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.instanceOf(Date),\r\n ]),\r\n placeholder: PropTypes.string,\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.string,\r\n }),\r\n dateFormat: PropTypes.string,\r\n showTimeInput: PropTypes.bool,\r\n };\r\n\r\n static defaultProps = {\r\n value: '',\r\n placeholder: '',\r\n meta: null,\r\n dateFormat: 'dd/MM/yyyy',\r\n showTimeInput: false,\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n handleChange(date) {\r\n const { onChange } = this.props;\r\n onChange(date);\r\n }\r\n\r\n render() {\r\n const {\r\n value,\r\n placeholder,\r\n meta,\r\n dateFormat,\r\n showTimeInput,\r\n } = this.props;\r\n return (\r\n <>\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n {meta.touched && meta.error && {meta.error}}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst renderDatePickerField = (props) => {\r\n const { input } = props;\r\n return (\r\n \r\n );\r\n};\r\n\r\nrenderDatePickerField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n }).isRequired,\r\n};\r\n\r\nexport default renderDatePickerField;\r\n","import React, { PureComponent } from 'react';\r\nimport Select from 'react-select';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass SelectField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n placeholder: PropTypes.string,\r\n options: PropTypes.arrayOf(PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n })),\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n }),\r\n PropTypes.arrayOf(PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n })),\r\n ]).isRequired,\r\n defaultValue: PropTypes.number,\r\n isMulti: PropTypes.bool,\r\n isClearable: PropTypes.bool,\r\n isSearchable: PropTypes.string,\r\n menuIsOpen: PropTypes.bool,\r\n isDisabled: PropTypes.bool,\r\n };\r\n\r\n static defaultProps = {\r\n placeholder: '',\r\n defaultValue: 0,\r\n options: [],\r\n isMulti: false,\r\n isClearable: false,\r\n isSearchable: 'true',\r\n menuIsOpen: undefined,\r\n isDisabled: false,\r\n };\r\n\r\n handleChange = (selectedOption) => {\r\n const { onChange } = this.props;\r\n onChange(selectedOption);\r\n };\r\n\r\n render() {\r\n const {\r\n value, defaultValue, name, placeholder, options, isMulti,\r\n isClearable,\r\n isSearchable,\r\n menuIsOpen,\r\n isDisabled,\r\n } = this.props;\r\n\r\n const styles = {\r\n option: base => ({\r\n ...base,\r\n // borderBottom: `1px dotted ${'white'}`,\r\n padding: '8px 2px',\r\n alignTtems: 'center;',\r\n display: 'flex;',\r\n boxSizing: 'content-box',\r\n }),\r\n multiValue: (base, state) => (state.data.isFixed ? { ...base, backgroundColor: 'gray' } : base),\r\n multiValueLabel: (base, state) => (\r\n state.data.isFixed\r\n ? {\r\n ...base,\r\n fontWeight: 'bold',\r\n color: 'white',\r\n paddingRight: 6,\r\n }\r\n : base\r\n ),\r\n multiValueRemove: (base, state) => (\r\n state.data.isFixed ? { ...base, display: 'none' } : base\r\n ),\r\n menu: ({ width, ...css }) => ({\r\n ...css,\r\n // width: '200px',\r\n }),\r\n };\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nconst renderSelectField = (props) => {\r\n const {\r\n input, meta, options, placeholder, defaultValue, className, isMulti,\r\n isClearable,\r\n isSearchable,\r\n menuIsOpen,\r\n isDisabled,\r\n } = props;\r\n\r\n const opts = (typeof options === 'function' ? options() : options).slice();\r\n if (!opts.find(o => o.value === 0)) {\r\n opts.unshift({ value: 0, label: '-' });\r\n }\r\n\r\n return (\r\n
\r\n \r\n {meta.touched && meta.error && {meta.error}}\r\n
\r\n );\r\n};\r\n\r\nrenderSelectField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n }).isRequired,\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.string,\r\n }),\r\n options: PropTypes.arrayOf(PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n })),\r\n placeholder: PropTypes.string,\r\n defaultValue: PropTypes.number,\r\n className: PropTypes.string,\r\n isMulti: PropTypes.bool,\r\n isClearable: PropTypes.bool,\r\n isSearchable: PropTypes.string,\r\n menuIsOpen: PropTypes.bool,\r\n isDisabled: PropTypes.bool,\r\n};\r\n\r\nrenderSelectField.defaultProps = {\r\n meta: null,\r\n options: [],\r\n placeholder: '',\r\n defaultValue: 0,\r\n className: '',\r\n isMulti: false,\r\n isClearable: false,\r\n isSearchable: 'true',\r\n menuIsOpen: undefined,\r\n isDisabled: false,\r\n};\r\n\r\nexport default renderSelectField;\r\n","import React, { PureComponent } from 'react';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Row, Col, Card, CardBody, Table,\r\n} from 'reactstrap';\r\n\r\nimport CalendarBlankIcon from 'mdi-react/CalendarBlankIcon';\r\n\r\nimport TextBox from './form/TextBox';\r\nimport renderCheckBoxField from './form/CheckBox';\r\nimport Pagination from './pagination/Pagination';\r\nimport DatePicker from './form/DatePicker';\r\nimport renderSelectField from './form/Select';\r\n\r\nconst RenderDataTableAction = (actions, row) => {\r\n if (!(actions && actions.length)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {actions.map(a => (\r\n \r\n a.callback && a.callback(row)}\r\n type=\"button\"\r\n className=\"action-button\"\r\n tabIndex=\"-1\"\r\n >\r\n {typeof a.icon === 'function' ? a.icon(row) : a.icon}\r\n \r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst RenderDataTableIcon = (col, row, key) => {\r\n if (!col.icon) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n col.icon.callback && col.icon.callback(row)}\r\n type=\"button\"\r\n className=\"action-button\"\r\n tabIndex=\"-1\"\r\n >\r\n {col.icon.component(row)}\r\n \r\n \r\n );\r\n};\r\n\r\nconst RenderDataTableInput = (column, row, onAutoSave) => {\r\n if (!column.editable) {\r\n return null;\r\n }\r\n\r\n const attributes = {\r\n className: 'form-control',\r\n };\r\n\r\n if (column.type === 'number') {\r\n attributes.className = `${attributes.className}`;\r\n\r\n if (!Number.isNaN(+column.max)) {\r\n attributes.max = +column.max;\r\n }\r\n if (!Number.isNaN(+column.min)) {\r\n attributes.min = +column.min;\r\n }\r\n }\r\n\r\n if (column.type === 'select') {\r\n attributes.className = `${attributes.className}`;\r\n return (\r\n {\r\n onAutoSave(row, column.key, item.value);\r\n }}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n \r\n {\r\n e.preventDefault();\r\n\r\n const { value } = e.currentTarget;\r\n if (column.type === 'number' && (+value < +column.min || +value > +column.max)) {\r\n e.preventDefault();\r\n e.currentTarget.value = +row[column.key];\r\n return;\r\n }\r\n e.currentTarget.changed = true;\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.currentTarget.changed && e.which === 13) {\r\n onAutoSave(row, column.key, e.currentTarget.value);\r\n e.currentTarget.changed = false;\r\n }\r\n }}\r\n onBlur={(e) => {\r\n if (e.currentTarget.changed) {\r\n onAutoSave(row, column.key, e.currentTarget.value);\r\n e.currentTarget.changed = false;\r\n }\r\n }}\r\n onFocus={e => e.currentTarget.select()}\r\n />\r\n \r\n );\r\n};\r\n\r\nconst RenderSearchField = (props) => {\r\n const {\r\n key, name, type, searchProps = {},\r\n } = props;\r\n\r\n if (type === 'date') {\r\n return (\r\n <>\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n if (type === 'number') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (type === 'select') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst RenderSearchForm = (props) => {\r\n const { key, name } = props;\r\n return (\r\n
\r\n {name}\r\n
\r\n {RenderSearchField(props)}\r\n
\r\n
\r\n );\r\n};\r\n\r\nRenderDataTableInput.propTypes = {\r\n key: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n type: PropTypes.string,\r\n min: PropTypes.string,\r\n max: PropTypes.string,\r\n inputStyle: PropTypes.shape({}),\r\n};\r\nRenderDataTableInput.defaultProps = {\r\n type: 'text',\r\n min: '',\r\n max: '',\r\n inputStyle: { fontSize: '1.6rem' },\r\n};\r\nRenderSearchField.propTypes = {\r\n key: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n type: PropTypes.string,\r\n min: PropTypes.string,\r\n max: PropTypes.string,\r\n searchProps: PropTypes.shape({}),\r\n};\r\nRenderSearchField.defaultProps = {\r\n type: 'text',\r\n searchProps: {},\r\n min: '',\r\n max: '',\r\n};\r\n\r\nRenderSearchForm.propTypes = {\r\n key: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n};\r\n\r\nclass DataTable extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n const { autoHideSearch } = props;\r\n this.state = {\r\n showSearch: false,\r\n autoHideSearch,\r\n };\r\n }\r\n\r\n toggleSearch = (e) => {\r\n e.preventDefault();\r\n this.setState(prevState => ({ showSearch: !prevState.showSearch }));\r\n }\r\n\r\n toggleAutoHide = (e) => {\r\n e.preventDefault();\r\n this.setState(prevState => ({ autoHideSearch: !prevState.autoHideSearch }));\r\n }\r\n\r\n visible = (col) => {\r\n if (typeof col.visible === 'undefined') return true;\r\n return col.visible;\r\n }\r\n\r\n render() {\r\n const {\r\n title,\r\n columns,\r\n items,\r\n getGridActions,\r\n onChangePage,\r\n handleSubmit,\r\n onClearFilters,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n onAutoSave,\r\n } = this.props;\r\n\r\n const { showSearch, submitting, autoHideSearch } = this.state;\r\n const searchable = columns.filter(s => s.search === true).length > 0;\r\n const showForm = showSearch || !autoHideSearch;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
{title}
\r\n \r\n \r\n {searchable && (\r\n this.toggleSearch(e)}\r\n >\r\n Búsqueda \r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n {showForm && columns.map(h => h.search && RenderSearchForm(h))}\r\n {showForm\r\n && (\r\n
\r\n
\r\n Buscar\r\n \r\n Limpiar filtros\r\n \r\n
\r\n this.toggleAutoHide(e)}\r\n />\r\n
\r\n
\r\n
\r\n )\r\n }\r\n
\r\n \r\n \r\n \r\n {columns.map(h => this.visible(h) && (\r\n \r\n ))}\r\n \r\n \r\n \r\n {items.length > 0 ? (\r\n items.map((u, uIndex) => (\r\n \r\n {columns.map((h, hIndex) => this.visible(h) && (\r\n \r\n ))}\r\n \r\n )))\r\n : (\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n
\r\n {h.name}\r\n
\r\n {\r\n !h.editable && (\r\n \r\n {RenderDataTableIcon(h, u, `${u.id || uIndex}_${h.id || hIndex}`)}\r\n {h.format ? h.format(u) : u[h.key]}\r\n \r\n )\r\n }\r\n {RenderDataTableAction(getGridActions(h.key, u), u)}\r\n {RenderDataTableInput(h, u, onAutoSave)}\r\n
\r\n
No se encontraron resultados
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nDataTable.propTypes = {\r\n title: PropTypes.string,\r\n columns: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape([])).isRequired,\r\n getGridActions: PropTypes.func,\r\n handleSubmit: PropTypes.func,\r\n onClearFilters: PropTypes.func,\r\n onChangePage: PropTypes.func,\r\n onAutoSave: PropTypes.func,\r\n page: PropTypes.number.isRequired,\r\n pageSize: PropTypes.number,\r\n totalItemsCount: PropTypes.number,\r\n autoHideSearch: PropTypes.bool,\r\n};\r\n\r\nDataTable.defaultProps = {\r\n title: '',\r\n pageSize: 25,\r\n getGridActions: () => [],\r\n handleSubmit: () => null,\r\n onClearFilters: () => null,\r\n onChangePage: () => null,\r\n onAutoSave: () => null,\r\n autoHideSearch: true,\r\n totalItemsCount: 0,\r\n};\r\n\r\nconst DataTableForm = reduxForm({\r\n form: 'SearchUserForm',\r\n})(DataTable);\r\n\r\nexport default DataTableForm;\r\n","import React, { useState } from 'react';\r\nimport {\r\n Badge, Tooltip,\r\n} from 'reactstrap';\r\n\r\nimport PropTypes from 'prop-types';\r\n\r\nconst TooltipItem = ({\r\n id,\r\n value,\r\n label,\r\n color,\r\n}) => {\r\n const [tooltipOpen, setTooltipOpen] = useState(false);\r\n\r\n const toggle = () => setTooltipOpen(!tooltipOpen);\r\n\r\n return (\r\n

\r\n \r\n {value}\r\n \r\n {\r\n label ? (\r\n \r\n {label}\r\n \r\n ) : null\r\n }\r\n

\r\n );\r\n};\r\n\r\nTooltipItem.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n value: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n color: PropTypes.string,\r\n};\r\n\r\n\r\nTooltipItem.defaultProps = {\r\n color: 'warning',\r\n};\r\n\r\n\r\nexport default TooltipItem;\r\n","import React from 'react';\r\nimport { Spinner } from 'reactstrap';\r\n\r\nconst LoadingSpinner = () => (\r\n

\r\n \r\n

\r\n);\r\n\r\nexport default LoadingSpinner;\r\n","export const dateFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n dateStyle: 'short',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\nexport const dateDDMMFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n day: '2-digit', month: '2-digit',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\nexport const dateMMFormat = (value, locales = 'es-PE') => {\r\n const style = {\r\n month: 'short',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value)).substring(0, 3);\r\n};\r\n\r\nexport const dateDDFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n day: '2-digit',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\n\r\nexport const dateTimeFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n dateStyle: 'short',\r\n timeStyle: 'short',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\nexport const timeFormat = (value, locales = 'en-GB') => {\r\n const style = {\r\n hour: 'numeric', minute: 'numeric', second: 'numeric',\r\n };\r\n\r\n return new Intl.DateTimeFormat(locales, style).format(new Date(value));\r\n};\r\n\r\nexport const dateTimeString = (date) => {\r\n if (typeof date === 'string') {\r\n return date;\r\n }\r\n\r\n return `${date.toLocaleDateString('en-GB', {\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n }).split('/').reverse().join('-')}T${date.toLocaleTimeString('en-GB')}`;\r\n};\r\n","import React, { PureComponent } from 'react';\r\n\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col, Container, Row,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport TooltipItem from '../../shared/components/TooltipItem';\r\nimport { fetchUsers, fetchFormDatas } from '../../redux/actions/usersActions';\r\nimport { deleteUser, resetUserPassword } from '../../redux/actions/userActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport { dateFormat } from '../../helpers/dateFormat';\r\n\r\nclass UsersContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n roles: [],\r\n };\r\n\r\n this.columns = [\r\n { key: 'id', name: '#', width: '60px' },\r\n {\r\n key: 'numeroDocumento',\r\n name: 'Número de documento',\r\n search: true,\r\n type: 'number',\r\n width: '80px',\r\n },\r\n {\r\n key: 'roles',\r\n name: 'Roles',\r\n search: true,\r\n type: 'select',\r\n searchProps: {\r\n options: this.getRoles,\r\n isMulti: true,\r\n },\r\n width: '110px',\r\n format: (row) => {\r\n const { id, roles, categoriasProfesores } = row;\r\n\r\n return (\r\n \r\n {\r\n roles.map(rol => (\r\n \r\n ))\r\n }\r\n {\r\n roles.some(rol => rol.value === 'P') ? (\r\n \r\n ) : null\r\n }\r\n \r\n );\r\n },\r\n },\r\n { key: 'nombre', name: 'Nombre', search: true },\r\n { key: 'apellido', name: 'Apellido', search: true },\r\n { key: 'email', name: 'Email', search: true },\r\n { key: 'domicilioTelefono', name: 'Teléfono Celular', search: true },\r\n {\r\n key: 'arancelCero',\r\n name: 'Arancel Cero',\r\n search: true,\r\n format: ({ id, arancelCero, fechaFinArancelCero }) => (\r\n \r\n ),\r\n },\r\n { key: 'actions', name: 'Accion', width: '105px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (user) => {\r\n this.editUser(user);\r\n },\r\n },\r\n {\r\n key: 'reset_password',\r\n icon: ,\r\n callback: (user) => {\r\n this.resetUserPassword(user);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n /* callback: (user) => {\r\n this.deleteUser(user);\r\n },\r\n */\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n\r\n const { page, pageSize } = this.state;\r\n this.updateUserTable(page, pageSize);\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: (d) => {\r\n this.setState({\r\n roles: d.roles,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n updateUserTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n\r\n fetchUsers({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n roles: filters && (filters.roles || []).map(r => r.value),\r\n },\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de usuarios');\r\n },\r\n });\r\n }\r\n\r\n deleteUser = (user) => {\r\n const userName = `${user.nombre} ${user.apellido}`;\r\n Confirm({\r\n title: 'Borrar usuario',\r\n question: `Estás seguro que deseas eliminar a ${userName}?`,\r\n yesLabel: 'Si, Borrar usuario',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteUser(user.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Usuario borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateUserTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el usuario');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n resetUserPassword = (user) => {\r\n const userName = `${user.nombre} ${user.apellido}`;\r\n Confirm({\r\n title: 'Restablecer contraseña',\r\n question: `Estás seguro que deseas restablecer la contraseña de ${userName}?`,\r\n yesLabel: 'Si, Restablecer',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n resetUserPassword(user.email, {\r\n onSuccess: () => {\r\n const msg = 'Contraseña restablecida exitosamente. Se ha enviado un correo con la contraseña temporal.';\r\n createSuccessMessage(msg);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n } else {\r\n createErrorMessage('Error al intentar restablecer contraseña');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n editUser = (user) => {\r\n const { history } = this.props;\r\n history.push(`/pages/users/edit/${user.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateUserTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateUserTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateUserTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getRoles = () => {\r\n const { roles } = this.state;\r\n return roles;\r\n };\r\n\r\n getColor = (value) => {\r\n const colors = [\r\n {\r\n value: 'A', color: 'info',\r\n },\r\n {\r\n value: 'P', color: 'success',\r\n },\r\n {\r\n value: 'F', color: 'primary',\r\n },\r\n {\r\n value: 'S', color: 'warning',\r\n },\r\n ];\r\n\r\n const { color } = colors.find(c => c.value === value);\r\n\r\n return color;\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Usuarios del Sistema

\r\n
\r\n \r\n Agregar nuevo usuario\r\n \r\n
\r\n \r\n
\r\n \r\n {loading\r\n ? \r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(UsersContainer);\r\n","/* eslint-disable jsx-a11y/label-has-for */\r\nimport React, { PureComponent } from 'react';\r\nimport CheckIcon from 'mdi-react/CheckIcon';\r\nimport CloseIcon from 'mdi-react/CloseIcon';\r\nimport * as PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\n\r\nclass RadioButtonField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]).isRequired,\r\n label: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\r\n defaultChecked: PropTypes.bool,\r\n radioValue: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\r\n disabled: PropTypes.bool,\r\n className: PropTypes.string,\r\n };\r\n\r\n static defaultProps = {\r\n label: '',\r\n defaultChecked: false,\r\n radioValue: '',\r\n disabled: false,\r\n className: '',\r\n };\r\n\r\n componentDidMount() {\r\n const { defaultChecked, onChange, radioValue } = this.props;\r\n if (defaultChecked) {\r\n onChange(radioValue);\r\n }\r\n }\r\n\r\n onChange = () => {\r\n const { onChange, radioValue } = this.props;\r\n onChange(radioValue);\r\n };\r\n\r\n render() {\r\n const {\r\n disabled, className, name, label, radioValue, value,\r\n } = this.props;\r\n const RadioButtonClass = classNames({\r\n 'radio-btn': true,\r\n disabled,\r\n });\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\r\n \r\n \r\n \r\n {className === 'button'\r\n ? (\r\n \r\n \r\n \r\n \r\n ) : ''}\r\n {label}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst renderRadioButtonField = (props) => {\r\n const {\r\n input, label, defaultChecked, disabled, className, radioValue,\r\n } = props;\r\n return (\r\n \r\n );\r\n};\r\n\r\nrenderRadioButtonField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n }).isRequired,\r\n label: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\r\n defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n radioValue: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\r\n className: PropTypes.string,\r\n};\r\n\r\nrenderRadioButtonField.defaultProps = {\r\n label: '',\r\n defaultChecked: false,\r\n disabled: false,\r\n radioValue: '',\r\n className: '',\r\n};\r\n\r\nexport default renderRadioButtonField;\r\n","const validate = (attrs) => {\r\n const errors = {};\r\n if (!attrs.showProfile) {\r\n if (!attrs.nombre) {\r\n errors.nombre = 'Debe ingresar el nombre';\r\n }\r\n if (!attrs.apellido) {\r\n errors.apellido = 'Debe ingresar el apellido';\r\n }\r\n if (!(attrs.numeroDocumento\r\n && attrs.numeroDocumento.length >= 6\r\n && /^[0-9]*$/i.test(attrs.numeroDocumento))) {\r\n errors.numeroDocumento = 'El número de documento no es correcto';\r\n }\r\n }\r\n\r\n if (!(attrs.nacionalidad && attrs.nacionalidad.value)) {\r\n errors.nacionalidad = 'Debe ingresar el país de nacimiento';\r\n }\r\n\r\n if (!attrs.domicilioTelefono || attrs.domicilioTelefono.length < 6\r\n || !(/^[+]{0,1}[(]{0,1}[0-9]{1,6}[)|-]{0,1}[ ]{0,1}[/0-9]*$/i.test(attrs.domicilioTelefono))) {\r\n errors.domicilioTelefono = 'El número de teléfono no es correcto';\r\n }\r\n\r\n if (attrs.trabajoTelefono\r\n && !(attrs.trabajoTelefono.length >= 6\r\n && /^[+]{0,1}[(]{0,1}[0-9]{1,6}[)|-]{0,1}[ ]{0,1}[/0-9]*$/i.test(attrs.trabajoTelefono))) {\r\n errors.trabajoTelefono = 'El número de teléfono no es correcto';\r\n }\r\n\r\n if (!attrs.email) {\r\n errors.email = 'Debe ingresar el correo electrónico.';\r\n } else if (!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(attrs.email)) {\r\n errors.email = 'El correo electronico no es valido.';\r\n }\r\n\r\n if (attrs.showProfile) {\r\n if (!attrs.emergenciaNumero || attrs.emergenciaNumero.length < 6\r\n || !(/^[+]{0,1}[(]{0,1}[0-9]{1,6}[)|-]{0,1}[ ]{0,1}[/0-9]*$/i.test(attrs.emergenciaNumero))) {\r\n errors.emergenciaNumero = 'El número de teléfono no es correcto';\r\n }\r\n if (!attrs.emergenciaContacto) {\r\n errors.emergenciaContacto = 'Debe ingresar el nombre del contacto';\r\n }\r\n } else if (!(attrs.esAdmin || attrs.esProfesor || attrs.esFuncionario || attrs.esAlumno)) {\r\n errors.esAdmin = 'Debe seleccionar al menos un rol';\r\n }\r\n\r\n if (attrs.esProfesor && attrs.categoriasProfesores && attrs.categoriasProfesores.length > 0) {\r\n const materias = attrs.categoriasProfesores.filter(o => !o.removed && o.materia.value > 0)\r\n .map(({ materia: { value, label } }) => ({ value, label }));\r\n\r\n const duplicate = materias.find((mat, index) => index !== materias.map(m => m.value).indexOf(mat.value));\r\n if (duplicate) {\r\n errors.categoriasProfesores = { _error: `La materia ${duplicate.label} ya fue agregada.` };\r\n } else {\r\n attrs.categoriasProfesores.filter(o => !o.removed).forEach(({ materia, escalafon, notas }, index) => {\r\n const error = {};\r\n if (!materia || !materia.value) {\r\n error.materia = 'Debe ingresar una materia';\r\n }\r\n if (!escalafon || !escalafon.value) {\r\n error.escalafon = 'Debe ingresar un escalafón';\r\n }\r\n if (!notas || !notas) {\r\n error.notas = 'Debe ingresar una nota';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n if (!errors.categoriasProfesores) {\r\n errors.categoriasProfesores = [];\r\n }\r\n\r\n errors.categoriasProfesores[index] = error;\r\n }\r\n });\r\n }\r\n }\r\n\r\n errors.isValid = Object.keys(errors).length === 0;\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form, Field, reduxForm, FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Card, CardBody, Col, Row, Button,\r\n} from 'reactstrap';\r\nimport moment from 'moment';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport renderRadioField from '../../../shared/components/form/RadioButton';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport DatePicker from '../../../shared/components/form/DatePicker';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nconst TrueFalseValues = [\r\n { value: true, label: 'Si' },\r\n { value: false, label: 'No' },\r\n];\r\n\r\nclass EditUser extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n resetPasswordHandler: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n esAdmin: PropTypes.bool,\r\n esProfesor: PropTypes.bool,\r\n esFuncionario: PropTypes.bool,\r\n esAlumno: PropTypes.bool,\r\n provenienteDePuebloOriginario: PropTypes.bool,\r\n saludPoseeDiscapacidadVisual: PropTypes.bool,\r\n saludPoseeDiscapacidadAuditiva: PropTypes.bool,\r\n saludPoseeDiscapacidadMotora: PropTypes.bool,\r\n saludPoseeDiscapacidadCognitiva: PropTypes.bool,\r\n saludPoseeOtraDiscapacidad: PropTypes.bool,\r\n id: PropTypes.number,\r\n genero: PropTypes.number,\r\n age: PropTypes.number,\r\n estadoCivil: PropTypes.number,\r\n arancelCero: PropTypes.bool,\r\n grupoSanguineo: PropTypes.string,\r\n categoriasProfesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n paises: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n escalafon: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n gruposSanguineos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n estadosCiviles: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n generos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n showProfile: PropTypes.bool,\r\n nombre: PropTypes.string,\r\n apellido: PropTypes.string,\r\n numeroDocumento: PropTypes.string,\r\n fechaNacimiento: PropTypes.string,\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n onRadioChanges: PropTypes.func.isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n esAdmin: false,\r\n esProfesor: false,\r\n esFuncionario: false,\r\n esAlumno: false,\r\n provenienteDePuebloOriginario: false,\r\n saludPoseeDiscapacidadVisual: false,\r\n saludPoseeDiscapacidadAuditiva: false,\r\n saludPoseeDiscapacidadMotora: false,\r\n saludPoseeDiscapacidadCognitiva: false,\r\n saludPoseeOtraDiscapacidad: false,\r\n id: 0,\r\n genero: 0,\r\n age: 0,\r\n estadoCivil: 0,\r\n arancelCero: false,\r\n grupoSanguineo: '',\r\n showProfile: false,\r\n nombre: '',\r\n apellido: '',\r\n numeroDocumento: '',\r\n fechaNacimiento: '',\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n const {\r\n provenienteDePuebloOriginario,\r\n saludPoseeOtraDiscapacidad,\r\n esProfesor,\r\n } = props;\r\n\r\n this.state = {\r\n provenienteDePuebloOriginario,\r\n saludPoseeOtraDiscapacidad,\r\n showOtherData: false,\r\n showCategoriaProfesor: esProfesor,\r\n };\r\n }\r\n\r\n showHideOtherData = () => {\r\n const { showOtherData } = this.state;\r\n this.setState({ showOtherData: !showOtherData });\r\n }\r\n\r\n showHideCategoriaProfesor = ({ target }) => {\r\n this.setState({ showCategoriaProfesor: target.checked });\r\n }\r\n\r\n categoriaProfesorTable = ({\r\n fields = {},\r\n categoriasProfesores,\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n materias,\r\n escalafon,\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n \r\n

Categoría docente

\r\n \r\n \r\n {fields.length <= 20\r\n ? (\r\n \r\n \r\n {' '}\r\n Agregar\r\n \r\n )\r\n : null\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((categoriaProfesor, index) => (\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n
#MateriaEscalafónNotas{' '}
\r\n
\r\n

{index + 1}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'materia', index })}\r\n />\r\n {' '}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'escalafon', index })}\r\n />\r\n {' '}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n {' '}\r\n
\r\n
\r\n
\r\n
\r\n onDeleteItemArray(index)}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n
\r\n \r\n *\r\n {error}\r\n \r\n
\r\n )\r\n }\r\n \r\n );\r\n\r\n render() {\r\n const {\r\n provenienteDePuebloOriginario,\r\n saludPoseeOtraDiscapacidad,\r\n showOtherData,\r\n showCategoriaProfesor,\r\n } = this.state;\r\n\r\n const {\r\n esAdmin,\r\n esProfesor,\r\n esFuncionario,\r\n esAlumno,\r\n submitting,\r\n handleSubmit,\r\n resetPasswordHandler,\r\n onBack,\r\n genero,\r\n grupoSanguineo,\r\n estadoCivil,\r\n arancelCero,\r\n saludPoseeDiscapacidadVisual,\r\n saludPoseeDiscapacidadAuditiva,\r\n saludPoseeDiscapacidadMotora,\r\n saludPoseeDiscapacidadCognitiva,\r\n onFilterChanges,\r\n age,\r\n paises,\r\n escalafon,\r\n materias,\r\n\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n onRadioChanges,\r\n\r\n gruposSanguineos,\r\n estadosCiviles,\r\n generos,\r\n showProfile,\r\n nombre,\r\n apellido,\r\n numeroDocumento,\r\n fechaNacimiento,\r\n id,\r\n categoriasProfesores = [],\r\n } = this.props;\r\n\r\n const otherDataBtnClass = showOtherData ? 'fa fa-angle-down collapse-btn' : 'fa fa-angle-right collapse-btn';\r\n\r\n const otherDataClass = showProfile || showOtherData ? '' : 'hidden';\r\n const categoriaProfesorDataClass = showCategoriaProfesor ? '' : 'hidden';\r\n\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n const editMainInfo = currentUser.esAdmin || currentUser.esFuncionario;\r\n const birdDate = fechaNacimiento ? moment(fechaNacimiento).format('DD/MM/YYYY') : '';\r\n\r\n const requiredNameClass = `form__form-group-label ${!showProfile ? 'required' : ''}`;\r\n const requiredPhoneClass = `form__form-group-label ${showProfile ? 'required' : ''}`;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
Información personal
\r\n
\r\n \r\n \r\n
\r\n Nombre\r\n
\r\n {editMainInfo\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n\r\n
\r\n Apellido\r\n
\r\n {editMainInfo\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n\r\n
\r\n Número de documento\r\n
\r\n {editMainInfo\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n\r\n
\r\n Fecha de nacimiento\r\n {editMainInfo\r\n ? (\r\n
\r\n \r\n
\r\n )\r\n : (\r\n
\r\n \r\n
\r\n )\r\n }\r\n
\r\n\r\n
\r\n Lugar de nacimiento\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Nacionalidad\r\n
\r\n onFilterChanges('nacionalidad', 'nacionalidadPaisId', v)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n Proveniente de Pueblos originarios\r\n
\r\n\r\n
\r\n
\r\n {TrueFalseValues.map(g => (\r\n onRadioChanges('provenienteDePuebloOriginario', v)}\r\n />\r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Nombre de pueblo originario\r\n
\r\n {provenienteDePuebloOriginario\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n {/* ///////////////////////////////////////////////////////////////// START SECTION CONTACT-ADDRESS */}\r\n \r\n\r\n
\r\n Género\r\n
\r\n {generos.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Edad\r\n
\r\n 0 ? age : ''}\r\n placeholder=\"Edad (automático)\"\r\n disabled=\"disabled\"\r\n />\r\n
\r\n
\r\n\r\n
\r\n Grupo sanguíneo\r\n
\r\n {gruposSanguineos.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Email\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Estado Civil\r\n
\r\n {estadosCiviles.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Arancel Cero\r\n
\r\n {TrueFalseValues.map(g => (\r\n onRadioChanges('arancelCero', value)}\r\n />\r\n ))}\r\n
\r\n {\r\n arancelCero ? (\r\n <>\r\n Fecha fin Arancel Cero\r\n
\r\n \r\n
\r\n \r\n ) : null\r\n }\r\n
\r\n\r\n \r\n \r\n
\r\n
Domicilio particular
\r\n
\r\n \r\n \r\n
\r\n Calle\r\n
\r\n \r\n
\r\n
\r\n
\r\n Número\r\n
\r\n \r\n
\r\n
\r\n
\r\n Localidad\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Teléfono Celular\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Pais\r\n
\r\n onFilterChanges('domicilioPais', 'domicilioPaisId', v)}\r\n />\r\n
\r\n
\r\n \r\n {/* ///////////////////////////////////////////////////////////////// END SECTION CONTACT-ADDRESS */}\r\n {/* ///////////////////////////////////////////////////////////////// START SECTION WORK EMPLOYMENT */}\r\n \r\n {showOtherData ? 'Ocultar' : 'Mostrar'} datos adicionales...\r\n
\r\n \r\n \r\n
\r\n
Domicilio Laboral
\r\n
\r\n
\r\n Nombre de la empresa\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Calle\r\n
\r\n \r\n
\r\n
\r\n
\r\n Número\r\n
\r\n \r\n
\r\n
\r\n
\r\n Localidad\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Teléfono\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Pais\r\n
\r\n onFilterChanges('trabajoPais', 'trabajoPaisId', v)}\r\n />\r\n
\r\n
\r\n
\r\n Horario laboral\r\n
\r\n \r\n
\r\n
\r\n \r\n {/* ///////////////////////////////////////////////////////////////// END SECTION EMPLOYMENT */}\r\n {/* ///////////////////////////////////////////////////////////////// OTHER DATA */}\r\n \r\n
\r\n
Otros Datos Personales
\r\n
\r\n \r\n \r\n
\r\n Padece alguna enfermedad? (Especificar)\r\n
\r\n \r\n
\r\n
\r\n
\r\n Toma algún medicamento? (Especificar)\r\n
\r\n \r\n
\r\n
\r\n
\r\n Alérgico a\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Teléfono de contacto en caso de emergencia\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Nombre de contacto de emergencia\r\n
\r\n \r\n
\r\n
\r\n
\r\n Relación parentesca de contacto\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n Padece discapacidad visual\r\n
\r\n {TrueFalseValues.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Padece discapacidad auditiva\r\n
\r\n {TrueFalseValues.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Padece discapacidad motora\r\n
\r\n {TrueFalseValues.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Padece discapacidad cognitiva\r\n
\r\n {TrueFalseValues.map(g => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n Padece otra discapacidad\r\n
\r\n {TrueFalseValues.map(g => (\r\n onRadioChanges('saludPoseeOtraDiscapacidad', v)}\r\n />\r\n ))}\r\n
\r\n
\r\n
\r\n Especificar otra discapacidad\r\n
\r\n {saludPoseeOtraDiscapacidad\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n {/* ///////////////////////////////////////////////////////////////// END OTHER DATA */}\r\n\r\n \r\n
\r\n
Rol de usuario
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n {id > 0 && editMainInfo && (\r\n
\r\n Restablecer contraseña\r\n \r\n
\r\n )}\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst EditUserForm = reduxForm({\r\n form: 'EditUserForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(EditUser);\r\n\r\nexport default setPropsAsInitialValues(EditUserForm);\r\n","export const GruposSanguineos = [\r\n { value: '0-', label: '0-' },\r\n { value: '0+', label: '0+' },\r\n { value: 'A-', label: 'A-' },\r\n { value: 'A+', label: 'A+' },\r\n { value: 'B-', label: 'B-' },\r\n { value: 'B+', label: 'B+' },\r\n { value: 'AB-', label: 'AB-' },\r\n { value: 'AB+', label: 'AB+' },\r\n];\r\n\r\nexport const Roles = {\r\n Alumno: 0,\r\n Profesor: 1,\r\n Funcionario: 2,\r\n Admin: 3,\r\n};\r\n\r\nexport const EstadosCiviles = [\r\n { value: 0, label: 'Soltero' },\r\n { value: 1, label: 'Casado' },\r\n { value: 2, label: 'Union libre' },\r\n { value: 3, label: 'Viudo' },\r\n];\r\n\r\nexport const Generos = [\r\n { value: 0, label: 'No especificar' },\r\n { value: 1, label: 'Hombre' },\r\n { value: 2, label: 'Mujer' },\r\n];\r\n\r\nexport const Calificaciones = [\r\n {\r\n value: undefined, label: '-', desciption: '-', color: 'dark',\r\n },\r\n {\r\n value: null, label: '-', desciption: '-', color: 'dark',\r\n },\r\n {\r\n value: 0, label: 'Ausente', desciption: 'Ausente', color: 'dark',\r\n },\r\n {\r\n value: 1, label: '1: Uno', desciption: 'Uno', color: 'warning',\r\n },\r\n {\r\n value: 2, label: '2: Dos', desciption: 'Dos', color: 'secondary',\r\n },\r\n {\r\n value: 3, label: '3: Tres', desciption: 'Tres', color: 'info',\r\n },\r\n {\r\n value: 4, label: '4: Cuatro', desciption: 'Cuatro', color: 'primary',\r\n },\r\n {\r\n value: 5, label: '5: Cinco', desciption: 'Cinco', color: 'success',\r\n },\r\n];\r\n\r\nexport const InstanciaExamen = {\r\n Final: 0,\r\n Recuperatorio: 1,\r\n Invalido: 3,\r\n};\r\n\r\nexport const InstanciasExamen = [\r\n { value: 0, label: 'Final' },\r\n { value: 1, label: 'Recuperatorio' },\r\n { value: 3, label: 'Invalido' },\r\n];\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport EditUserForm from './UserForm';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport {\r\n fetchUser,\r\n saveUser,\r\n fetchFormDatas,\r\n resetUserPassword,\r\n} from '../../../redux/actions/userActions';\r\n\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\n\r\nimport {\r\n GruposSanguineos,\r\n EstadosCiviles,\r\n Generos,\r\n} from '../../../constants/enums';\r\n\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass EditUserContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n user: null,\r\n categoriasProfesores: [],\r\n };\r\n\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n\r\n const {\r\n id, history,\r\n } = this.props;\r\n\r\n if (!id) {\r\n this.setState({\r\n user: {\r\n id: 0,\r\n arancelCero: false,\r\n },\r\n categoriasProfesores: [],\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchUser(id, {\r\n onSuccess: (dto) => {\r\n const {\r\n arancelCero, nacionalidadPais, domicilioPais, trabajoPais,\r\n } = dto;\r\n const categoriasProfesores = dto.categoriasProfesores.map((h, index) => ({ ...h, index }));\r\n\r\n const user = {\r\n ...dto,\r\n arancelCero,\r\n nacionalidad: {\r\n value: dto.nacionalidadPaisId,\r\n label: `${nacionalidadPais}`,\r\n },\r\n domicilioPais: {\r\n value: dto.domicilioPaisId,\r\n label: `${domicilioPais}`,\r\n },\r\n trabajoPais: {\r\n value: dto.trabajoPaisId,\r\n label: `${trabajoPais}`,\r\n },\r\n };\r\n\r\n this.setState({\r\n loading: false,\r\n user,\r\n arancelCero,\r\n categoriasProfesores,\r\n nacionalidadPaisId: dto.nacionalidadPaisId,\r\n domicilioPaisId: dto.domicilioPaisId,\r\n trabajoPaisId: dto.trabajoPaisId,\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loading: false,\r\n });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n history.push('/pages/users');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del usuario');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: ({ paises, escalafonDocente, materias }) => {\r\n const mapPaises = paises.map(p => ({\r\n value: p.id, label: p.nombre,\r\n }));\r\n\r\n this.setState({\r\n paises: mapPaises,\r\n escalafon: escalafonDocente,\r\n materias,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { history } = this.props;\r\n const {\r\n nacionalidadPaisId,\r\n domicilioPaisId,\r\n trabajoPaisId,\r\n } = this.state;\r\n\r\n const data = {\r\n ...values,\r\n nacionalidadPaisId,\r\n domicilioPaisId,\r\n trabajoPaisId,\r\n };\r\n\r\n saveUser(data, {\r\n onSuccess: () => {\r\n createSuccessMessage('Usuario guardado exitosamente');\r\n const { showProfile } = this.props;\r\n if (!showProfile) history.push('/pages/users');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el usuario');\r\n }\r\n },\r\n });\r\n }\r\n\r\n resetPasswordHandler = () => {\r\n const {\r\n user,\r\n } = this.state;\r\n const userName = `${user.nombre} ${user.apellido}`;\r\n Confirm({\r\n title: 'Restablecer contraseña',\r\n question: `Estás seguro que deseas restablecer la contraseña para ${userName}?`,\r\n yesLabel: 'Si, Restablecer contraseña',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n resetUserPassword(user.email,\r\n {\r\n onSuccess: () => {\r\n const title = 'Contraseña restablecida exitosamente!';\r\n const msg = 'Se ha enviado un correo al usuario con información de su nueva contraseña.';\r\n createSuccessMessage(title, msg);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El usuario no existe');\r\n } else {\r\n createErrorMessage('Error al intentar restablecer la contraseña');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { user } = this.state;\r\n this.setState({\r\n [idKey]: value.value,\r\n user: {\r\n ...user,\r\n [objectKey]: value,\r\n },\r\n });\r\n }\r\n\r\n handleAddCategoriasProfesores = () => {\r\n const { categoriasProfesores } = this.state;\r\n\r\n const index = categoriasProfesores.length === 0\r\n ? 0\r\n : (Math.max(...categoriasProfesores.map(item => item.index)) + 1);\r\n\r\n this.setState(prevState => ({\r\n categoriasProfesores: [\r\n ...prevState.categoriasProfesores,\r\n {\r\n id: 0,\r\n index,\r\n escalafon: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n materia: {\r\n value: 0,\r\n label: '',\r\n parentId: 0,\r\n item: null,\r\n },\r\n notas: '',\r\n removed: false,\r\n },\r\n ],\r\n }));\r\n };\r\n\r\n handleRemoveCategoriasProfesores = (index) => {\r\n const { categoriasProfesores = [] } = this.state;\r\n const newArray = categoriasProfesores.map(h => ({\r\n ...h,\r\n removed: h.removed || h.index === index,\r\n }));\r\n\r\n this.setState({ categoriasProfesores: newArray });\r\n };\r\n\r\n handleChangeText = (e, index) => {\r\n const { categoriasProfesores } = this.state;\r\n const newCategoriasProfesores = [...categoriasProfesores];\r\n\r\n const value = e.target.type === 'number' ? Number(e.target.value) : `${e.target.value}`.trim();\r\n\r\n newCategoriasProfesores[index] = {\r\n ...newCategoriasProfesores[index],\r\n ...{\r\n [e.target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({\r\n categoriasProfesores: newCategoriasProfesores,\r\n });\r\n };\r\n\r\n handleChangeSelect = ({ option, name, index }) => {\r\n this.setState({ loading: true });\r\n\r\n const { categoriasProfesores } = this.state;\r\n const newCategoriasProfesores = [...categoriasProfesores];\r\n const data = {\r\n [name]: option,\r\n index,\r\n };\r\n\r\n newCategoriasProfesores[index] = {\r\n ...newCategoriasProfesores[index],\r\n ...data,\r\n };\r\n\r\n this.setState({\r\n categoriasProfesores: newCategoriasProfesores,\r\n loading: false,\r\n });\r\n };\r\n\r\n handleRadioChanges = (key, value) => {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n render() {\r\n const {\r\n user,\r\n categoriasProfesores = [],\r\n paises,\r\n escalafon,\r\n materias,\r\n loading,\r\n arancelCero,\r\n } = this.state;\r\n const {\r\n id,\r\n history,\r\n showProfile,\r\n } = this.props;\r\n\r\n if (loading || !user || !paises) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nuevo'} usuario\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información del usuario\r\n

\r\n \r\n
\r\n \r\n (\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nEditUserContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n showProfile: PropTypes.bool,\r\n};\r\nEditUserContainer.defaultProps = {\r\n showProfile: false,\r\n};\r\n\r\nexport default EditUserContainer;\r\n","import { urlStudents } from '../../api/urls';\r\nimport {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiDownloadPost,\r\n} from '../../api/index';\r\n\r\nexport function fetchStudents(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlStudents}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function reporteInscriptos(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlStudents}/reporte_inscriptos`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function reporteAlumnosFormData(params) {\r\n return apiGet(`${urlStudents}/reporte_alumnos`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function reporteAlumnos(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlStudents}/reporte_alumnos`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function reporteAcademicStatusStudent(id = '', params) {\r\n return apiGet(`${urlStudents}/reporte-academic-status-student/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadAcademicStatusStudent(id = '', params) {\r\n return apiDownloadPost(`${urlStudents}/download-reporte-academic-status-student/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Reporte Estado Academico.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadStudents(params) {\r\n const filters = params.filters || {};\r\n return apiDownloadPost(`${urlStudents}/reporte_alumnos_download`, filters)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Alumnos.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadStudentsInscriptos(params) {\r\n const filters = params.filters || {};\r\n return apiDownloadPost(`${urlStudents}/reporte_inscriptos_download`, filters)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Alumnos-Inscriptos.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSelectStudentValues(callback) {\r\n return apiGet(`${urlStudents}/select_values`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSelectStudentValuesPorCarrera(idCarrera, callback) {\r\n return apiGet(`${urlStudents}/select_values_por_carrera/${idCarrera}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function fetchStudent(id, callback) {\r\n return apiGet(`${urlStudents}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveStudent(user, callback) {\r\n return apiPost(`${urlStudents}`, user)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function deleteStudent(id, callback) {\r\n return apiDelete(`${urlStudents}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllMallas(params) {\r\n return apiGet(`${urlStudents}/mallas`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n fetchStudents,\r\n deleteStudent,\r\n} from '../../redux/actions/studentsActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass StudentsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n };\r\n this.columns = [\r\n {\r\n key: 'numeroLegajo',\r\n name: '# Legajo',\r\n width: '80px',\r\n search: true,\r\n type: 'number',\r\n },\r\n {\r\n key: 'numeroDocumento',\r\n name: '# Documento',\r\n search: true,\r\n type: 'number',\r\n width: '110px',\r\n },\r\n { key: 'nombre', name: 'Nombre', search: true },\r\n { key: 'apellido', name: 'Apellido', search: true },\r\n { key: 'malla', name: 'Malla', search: true },\r\n { key: 'carrera', name: 'Carrera', search: true },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'viewAcademicStatus',\r\n icon: ,\r\n callback: (student) => {\r\n this.handleViewAcademicStatusStudent(student);\r\n },\r\n },\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (student) => {\r\n this.editStudent(student);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (student) => {\r\n this.handleDeleteStudent(student);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateStudentsTable(page, pageSize);\r\n }\r\n\r\n updateStudentsTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n fetchStudents({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteStudent = (student) => {\r\n const name = `${student.nombre} ${student.apellido}`;\r\n Confirm({\r\n title: 'Borrar alumno',\r\n question: `Estás seguro que deseas eliminar a ${name}?`,\r\n yesLabel: 'Si, Borrar alumno',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteStudent(student.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Alumno borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateStudentsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El alumno no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el alumno');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleViewAcademicStatusStudent = (student) => {\r\n const { history } = this.props;\r\n history.push(`/pages/reporte-alumnos/academic-status/${student.id}`);\r\n };\r\n\r\n editStudent = (student) => {\r\n const { history } = this.props;\r\n history.push(`/pages/students/edit/${student.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Alumnos del Sistema

\r\n
\r\n \r\n Agregar nuevo alumno\r\n \r\n
\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentsContainer);\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiDownloadPost,\r\n} from '../../api/index';\r\nimport { urlStudentSubjects } from '../../api/urls';\r\n\r\nexport function fetchStudentSubjects(showAll, params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n const endpoint = showAll ? 'all' : 'all-my-subjects';\r\n return apiPost(`${urlStudentSubjects}/${endpoint}`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchMySubject({ id, onSuccess, onError }) {\r\n return apiGet(`${urlStudentSubjects}/my/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\nexport function fetchStudentSubject(id, callback) {\r\n return apiGet(`${urlStudentSubjects}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveStudentSubject(data, callback) {\r\n return apiPost(`${urlStudentSubjects}`, data)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveStudentSubjects(data, callback) {\r\n return apiPost(`${urlStudentSubjects}/save_inscription`, data)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function deleteStudentSubject(id, callback) {\r\n return apiDelete(`${urlStudentSubjects}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllMallas(params) {\r\n return apiGet(`${urlStudentSubjects}/active-mallas`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllSemesters(params) {\r\n return apiGet(`${urlStudentSubjects}/active-semesters`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllSubjects(params) {\r\n return apiGet(`${urlStudentSubjects}/subjects`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getFormDatas(params) {\r\n const method = params.new ? 'new-inscription-form-data' : 'inscription-form-data';\r\n return apiGet(`${urlStudentSubjects}/${method}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getInscriptionAllSubjects({ onSuccess, onError, mallaId }) {\r\n return apiGet(`${urlStudentSubjects}/inscription-all-subjects/${mallaId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllSubjectsBySemesters(params) {\r\n return apiGet(`${urlStudentSubjects}/subjects_by_semesters/${params.perfilAlumnoId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function actualizarNotas(inscripcion, callback) {\r\n return apiPost(`${urlStudentSubjects}/actualizar_notas`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function reporteAlumnosPorMateria(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlStudentSubjects}/reporte_alumnos_por_materia`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function descargarReporteAlumnosPorMaterias(params) {\r\n const filters = params.filters || {};\r\n return apiDownloadPost(`${urlStudentSubjects}/reporte_alumnos_por_materia_download`, filters)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Reporte de Asistencia y PP.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function obtenerMisDerechos({\r\n pageInfo = ({ page: 1, pageSize: 15 }),\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlStudentSubjects}/mis_derechos_a_examenes`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function addToFavorites(inscripcion, callback) {\r\n return apiPost(`${urlStudentSubjects}/add_subject_dashboard`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiDownload,\r\n apiPut,\r\n} from '../../api/index';\r\nimport { urlMateriasPeriodo } from '../../api/urls';\r\n\r\nexport function filter({ pageInfo = { page: 1, pageSize: 15 }, onSuccess, onError }) {\r\n return apiPost(`${urlMateriasPeriodo}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function filterHomework({\r\n materiaPeriodoId,\r\n pageInfo = { page: 1, pageSize: 15 },\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlMateriasPeriodo}/${materiaPeriodoId}/homework/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function filterMyHomework({\r\n subjectId,\r\n pageInfo = { page: 1, pageSize: 15 },\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlMateriasPeriodo}/${subjectId}/homework/my`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function getHomework({ id, onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/homework/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function get({ id, onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function getPlanning({\r\n id, page, onSuccess, onError,\r\n}) {\r\n return apiGet(`${urlMateriasPeriodo}/planning/${id}/page-${page}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function save(obj, callback) {\r\n return apiPost(`${urlMateriasPeriodo}`, obj)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveHomework({ paylaod, onSuccess, onError }) {\r\n return apiPost(`${urlMateriasPeriodo}/homework`, paylaod)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function changeUtilizaPorcentajePesoMateria({ payload, onSuccess, onError }) {\r\n return apiPut(`${urlMateriasPeriodo}/uses-percent-weight`, payload.id, payload)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function stampSubject({\r\n id, subject, onSuccess, onError,\r\n}) {\r\n return apiPut(urlMateriasPeriodo, id, subject)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function updateScoreHomework(scoreStudent, callback) {\r\n return apiPost(`${urlMateriasPeriodo}/homework/update-score`, scoreStudent)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function savePlanning({\r\n page, paylaod, onSuccess, onError,\r\n}) {\r\n return apiPost(`${urlMateriasPeriodo}/planning/${page}`, paylaod)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchPlanningFormData({ onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/planning/form-data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function remove(id, callback) {\r\n return apiDelete(`${urlMateriasPeriodo}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function removeHomework(id, callback) {\r\n return apiDelete(`${urlMateriasPeriodo}/homework/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas({ onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSubjectsByMeshId({ meshId, onSuccess, onError }) {\r\n return apiGet(`${urlMateriasPeriodo}/subjects/${meshId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSubjectsScheduleBySubjectPeriodId({\r\n subjectId, onSuccess, onError,\r\n}) {\r\n return apiGet(`${urlMateriasPeriodo}/subjects-schedule/${subjectId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchSubjectsObjectivesBySubjectPeriodId({\r\n planningId, onSuccess, onError,\r\n}) {\r\n return apiGet(`${urlMateriasPeriodo}/subjects-objectives/${planningId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function AllSubjectsDashboardByStudent(params) {\r\n return apiGet(`${urlMateriasPeriodo}/materias-tablero-alumno`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getSubjectStudents(params) {\r\n const filters = params ? params.filters || {} : {};\r\n return apiPut(`${urlMateriasPeriodo}/alumnos-materia`, params.id, filters)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadSubjectStudents({ id, onSuccess, onError }) {\r\n return apiDownload(`${urlMateriasPeriodo}/alumnos-materia-download/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Alumnos.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (onSuccess) onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function downloadSubjectStudentsScore({ id, onSuccess, onError }) {\r\n return apiDownload(`${urlMateriasPeriodo}/alumnos-materia-notas-download/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Alumnos.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (onSuccess) onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Container,\r\n Badge,\r\n} from 'reactstrap';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport {\r\n filterMyHomework,\r\n} from '../../../redux/actions/materiaPeriodoActions';\r\nimport { createErrorMessage } from '../../../helpers/notification';\r\n\r\nclass HomeworkContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n materiaPeriodoId: PropTypes.string.isRequired,\r\n utilizaPorcentajePesoMateria: PropTypes.bool.isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 10 },\r\n };\r\n\r\n this.columns = utilizaPorcentajePesoMateria => [\r\n {\r\n key: 'id',\r\n name: '#',\r\n width: '85px',\r\n format: ({ id, tareaMateriaId }) => `${id || tareaMateriaId}`,\r\n },\r\n {\r\n key: 'tarea', name: 'Tarea', width: '85px', search: false,\r\n },\r\n {\r\n key: 'puntajeObtenido',\r\n name: 'Puntaje Obtenido',\r\n width: '85px',\r\n className: 'text-center',\r\n format: row => `${row.puntajeObtenido}`,\r\n },\r\n {\r\n key: 'puntajeTotal',\r\n name: 'Puntaje Total',\r\n width: '85px',\r\n className: 'text-center',\r\n format: row => `${row.puntajeTotal}`,\r\n },\r\n {\r\n key: 'porcentajePesoMateria',\r\n visible: utilizaPorcentajePesoMateria,\r\n name: 'Porcentaje Peso Materia',\r\n width: '85px',\r\n className: 'text-center',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateTable(page, pageSize);\r\n }\r\n\r\n updateTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n const { materiaPeriodoId: subjectId } = this.props;\r\n filterMyHomework({\r\n subjectId,\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ items, totalItemsCount }) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de tareas');\r\n },\r\n });\r\n }\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n format = value => (\r\n

\r\n \r\n {value}\r\n \r\n

\r\n );\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n utilizaPorcentajePesoMateria,\r\n } = this.props;\r\n\r\n const {\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(HomeworkContainer);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Badge,\r\n Col,\r\n Row,\r\n} from 'reactstrap';\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\n\r\nconst HorariosTable = ({\r\n items = [],\r\n profesores = [],\r\n codigoClassroom = '',\r\n onChangeText,\r\n materiaPeriodo = {},\r\n esAlumno = false,\r\n}) => {\r\n const format = escalafon => (\r\n

\r\n \r\n {escalafon.value === 0 ? '' : 'Prof. '}{escalafon.label}\r\n \r\n

\r\n );\r\n\r\n const { preRequisitos = [] } = materiaPeriodo;\r\n const horasSemanales = [\r\n {\r\n name: <>TEÓRICAS: Hs., value: materiaPeriodo.horasTeoriaSemanal,\r\n },\r\n { name: <>PRÁ CTICAS: Hs., value: materiaPeriodo.horasPracticaSemanal },\r\n { name: <>LABORATORIO. Hs., value: materiaPeriodo.horasLaboratorioSemanal },\r\n { name: <>TOTAL:, value: materiaPeriodo.totalHorasSemanal },\r\n ];\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {profesores.map(({\r\n id,\r\n profesor,\r\n escalafon,\r\n }, index) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
DOCENTESCATEGORÍA
\r\n
\r\n {`${index + 1}.- ${profesor}`}\r\n
\r\n
\r\n
\r\n {format(escalafon)}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {horasSemanales.map(({\r\n name,\r\n value,\r\n }, index) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
HORAS SEMANALES:
\r\n
\r\n {name}\r\n
\r\n
\r\n
\r\n {value}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {items.map(({\r\n id,\r\n dia,\r\n tipoActividadAcademicaHorario,\r\n horaInicio,\r\n horaFin,\r\n }) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
HORARIO DE CLASES: DÍA/HORA
\r\n
\r\n {tipoActividadAcademicaHorario.label}\r\n
\r\n
\r\n
\r\n {dia.label}: {horaInicio}-{horaFin}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n esAlumno || !materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {preRequisitos.map(({\r\n materia, semestreNro,\r\n }) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n CODIGO DEL CLASSROOM: \r\n {codigoClassroom}\r\n
\r\n
\r\n
\r\n CODIGO DEL CLASSROOM:\r\n
\r\n \r\n
\r\n
\r\n
PRE-REQUISITOS:
\r\n
\r\n {materia}\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nHorariosTable.propTypes = {\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n codigoClassroom: PropTypes.string,\r\n onChangeText: PropTypes.func.isRequired,\r\n esAlumno: PropTypes.bool,\r\n};\r\n\r\nHorariosTable.defaultProps = {\r\n meta: {},\r\n codigoClassroom: '',\r\n esAlumno: false,\r\n};\r\n\r\nexport default HorariosTable;\r\n","import { urlAssistances } from '../../api/urls';\r\nimport {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n} from '../../api/index';\r\n\r\nexport function fetchAll({\r\n subjectPeriodId,\r\n pageInfo = ({ page: 1, pageSize: 15 }),\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlAssistances}/${subjectPeriodId}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchMy({\r\n subjectPeriodId,\r\n pageInfo = ({ page: 1, pageSize: 15 }),\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiPost(`${urlAssistances}/${subjectPeriodId}/my`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetch({ id, onSuccess, onError }) {\r\n return apiGet(`${urlAssistances}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas({ subjectPeriodId, onSuccess, onError }) {\r\n return apiGet(`${urlAssistances}/form-data/${subjectPeriodId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function saveAssistance({ payload, onSuccess, onError }) {\r\n return apiPost(`${urlAssistances}`, payload)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function updatePresenceStundent({\r\n assistanceId, payload, onSuccess, onError,\r\n}) {\r\n return apiPost(`${urlAssistances}/${assistanceId}/update-presence`, payload)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n\r\n if (onSuccess) onSuccess(res);\r\n\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function deleteAssistance(id, callback) {\r\n return apiDelete(`${urlAssistances}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Badge,\r\n Container,\r\n} from 'reactstrap';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport TooltipItem from '../../../shared/components/TooltipItem';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport {\r\n fetchMy,\r\n} from '../../../redux/actions/assistanceActions';\r\nimport {\r\n dateMMFormat,\r\n dateDDFormat,\r\n} from '../../../helpers/dateFormat';\r\nimport {\r\n createErrorMessage,\r\n} from '../../../helpers/notification';\r\n\r\nclass AssistanceContainer extends PureComponent {\r\n static propTypes = {\r\n subjectPeriodId: PropTypes.number.isRequired,\r\n loadAssistance: PropTypes.bool.isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n loadingAssists: false,\r\n items: [],\r\n assists: [],\r\n studentAssists: [],\r\n filters: { id: 10 },\r\n showForm: false,\r\n students: [],\r\n currentStudentId: 0,\r\n };\r\n\r\n this.columns = ({ assists, studentAssists, canEditTask }) => {\r\n const cols = [];\r\n\r\n const groupByAssistance = assists.map(({ id, date, reference }) => ({ assistanceId: id, date, reference }));\r\n\r\n const assistanceByStudents = studentAssists\r\n .map(({ assistanceId, studentId, present }) => ({ assistanceId, studentId, present }));\r\n const assistanceLength = groupByAssistance.length;\r\n const attendancePerc = [];\r\n\r\n studentAssists\r\n .map(({ studentId, present }) => ({ studentId, present }))\r\n .reduce((res, { studentId, present }) => {\r\n if (!res[studentId]) {\r\n res[studentId] = { studentId, ok: 0 };\r\n attendancePerc.push(res[studentId]);\r\n }\r\n\r\n res[studentId].ok += present ? 1 : 0;\r\n\r\n return res;\r\n }, {});\r\n\r\n const assistanceHeaders = groupByAssistance.map(a => ({\r\n key: `assistance${a.assistanceId}`,\r\n name: (\r\n
\r\n
{dateDDFormat(a.date)}{a.reference ? `-${a.reference}` : ''}
\r\n \r\n
\r\n ),\r\n width: '75px',\r\n className: 'text-center',\r\n format: ({ studentId }) => {\r\n const assistanceByStudent = assistanceByStudents\r\n .find(as => as.assistanceId === a.assistanceId && as.studentId === studentId);\r\n\r\n if (!assistanceByStudent || assistanceByStudent.present === null) {\r\n return ​➖;\r\n }\r\n\r\n if (assistanceByStudent.present === false) {\r\n return (\r\n ​❌\r\n );\r\n }\r\n\r\n return (\r\n ✔️\r\n );\r\n },\r\n }));\r\n\r\n return [\r\n ...cols,\r\n ...[\r\n {\r\n key: 'assistPerc',\r\n name: '% Asistencia',\r\n editable: canEditTask,\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ studentId: id }) => (\r\n \r\n {\r\n attendancePerc.filter(({ studentId }) => id === studentId)\r\n .map(({ ok }) => Math.round((ok / assistanceLength) * 100))[0]\r\n || 0\r\n }\r\n \r\n ),\r\n },\r\n ],\r\n ...assistanceHeaders,\r\n ];\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const {\r\n loadAssistance,\r\n } = this.props;\r\n\r\n if (!loadAssistance) {\r\n this.setState({\r\n loading: false,\r\n });\r\n return;\r\n }\r\n\r\n this.refreshTable();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n const { loadAssistance } = this.props;\r\n\r\n if (loadAssistance === prevProps.loadAssistance) {\r\n return;\r\n }\r\n\r\n if (loadAssistance) {\r\n this.refreshTable();\r\n }\r\n }\r\n\r\n refreshTable = (criteria = {}) => {\r\n const {\r\n page = 1, pageSize = 25, totalItemsCount = 0, filters = {},\r\n } = criteria;\r\n\r\n const state = {\r\n filters: filters || { logContent: [] },\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n };\r\n\r\n this.fetchTable({ ...state });\r\n }\r\n\r\n fetchTable = ({ page, pageSize, filters }) => {\r\n const {\r\n subjectPeriodId,\r\n } = this.props;\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n\r\n fetchMy({\r\n subjectPeriodId,\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ pageInfo, assists, studentAssists }) => {\r\n const { items, totalItemsCount } = pageInfo;\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n assists,\r\n studentAssists,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias por periodo');\r\n },\r\n });\r\n }\r\n\r\n handleHideForm = () => {\r\n this.setState({\r\n showForm: false,\r\n });\r\n\r\n this.refreshTable();\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.refreshTable({ page, pageSize, filters });\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.refreshTable({ page: 1, pageSize, values });\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n this.refreshTable({ page: 1, pageSize, filters: { autoHideSearch } });\r\n };\r\n\r\n nextPage = () => {\r\n const { students = [], currentStudentId } = this.state;\r\n\r\n const index = students.findIndex(s => s.studentId === currentStudentId);\r\n const newIndex = index + 1 === students.length ? 0 : index + 1;\r\n\r\n const student = students[newIndex];\r\n\r\n this.setState({ currentStudentId: student.studentId });\r\n };\r\n\r\n previousPage = () => {\r\n const { students = [], currentStudentId } = this.state;\r\n\r\n const index = students.findIndex(s => s.studentId === currentStudentId);\r\n const { studentId } = students[index === 0 ? students.length - 1 : index - 1];\r\n\r\n this.setState({ currentStudentId: studentId });\r\n };\r\n\r\n assistanceButtons = ({\r\n assistanceId,\r\n currentStudentId,\r\n assistanceValue,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n pointerStudent,\r\n }) => {\r\n const { loadingAssists } = this.state;\r\n if (loadingAssists) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{pointerStudent}
\r\n \r\n {assistanceValue.description}\r\n \r\n
\r\n onPresent({ assistanceId, studentId: currentStudentId })}\r\n >\r\n \r\n \r\n onAbsent({ assistanceId, studentId: currentStudentId })}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n };\r\n\r\n dataTable = () => {\r\n const {\r\n showForm,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n assists,\r\n studentAssists,\r\n } = this.state;\r\n\r\n if (showForm) {\r\n return null;\r\n }\r\n\r\n return (\r\n this.getGridActions(key, row)}\r\n itemsToShow={items.length}\r\n page={page}\r\n pageSize={pageSize}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {this.dataTable()}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxAssistanceContainer = reduxForm({\r\n form: 'AssistanceContainer',\r\n enableReinitialize: true,\r\n})(AssistanceContainer);\r\n\r\nexport default setPropsAsInitialValues(ReduxAssistanceContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Nav,\r\n NavItem,\r\n TabPane,\r\n TabContent,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\n\r\nimport {\r\n createErrorMessage,\r\n // createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport {\r\n fetchMySubject,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport Homework from './Tasks';\r\nimport HorariosTable from '../Profesor/PlaneamientoForm/components/HorariosTable';\r\nimport Assistance from './Assistance/index';\r\n\r\nclass StudentDataContainer extends PureComponent {\r\n static propTypes = {\r\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n activeTab: '1',\r\n materiaPeriodo: null,\r\n loadAssistance: false,\r\n };\r\n\r\n this.inputStyle = {\r\n fontSize: '18px',\r\n height: '36px',\r\n color: 'greenyellow',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n backgroundColor: '#232329',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getMateriaPeriodo();\r\n }\r\n\r\n getMateriaPeriodo = () => {\r\n const { id } = this.props;\r\n this.setState({ loading: true });\r\n fetchMySubject({\r\n id,\r\n onSuccess: (materiaPeriodo) => {\r\n this.setState({\r\n materiaPeriodo, loading: false,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n materiaPeriodo: {}, loading: false,\r\n });\r\n createErrorMessage('Error al intentar cargar los datos de la materia');\r\n },\r\n });\r\n }\r\n\r\n toggle = (tab) => {\r\n const { activeTab } = this.state;\r\n if (activeTab !== tab) {\r\n if (tab === '2') {\r\n this.setState({\r\n activeTab: tab,\r\n loadAssistance: true,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n activeTab: tab,\r\n loadAssistance: false,\r\n });\r\n }\r\n };\r\n\r\n goBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n format = value => (\r\n \r\n {value}{!Number.isInteger(value) ? '' : '%'}\r\n \r\n );\r\n\r\n render() {\r\n const {\r\n materiaPeriodo,\r\n loading,\r\n activeTab,\r\n loadAssistance,\r\n } = this.state;\r\n\r\n if (loading || !materiaPeriodo) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {materiaPeriodo.materia}\r\n

{materiaPeriodo.seccion}

\r\n \r\n\r\n
\r\n \r\n
\r\n
Carrera:{' '}
\r\n
{materiaPeriodo.carrera}
\r\n
\r\n \r\n \r\n
\r\n
Semestre:{' '}
\r\n
{materiaPeriodo.semestre}
\r\n
\r\n \r\n \r\n
\r\n
Año:{' '}
\r\n
{materiaPeriodo.anho}
\r\n
\r\n \r\n \r\n
\r\n
Horas Semanales
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {this.format('PP:')}{' '}\r\n {this.format(Math.round(materiaPeriodo.porcentajePP))}\r\n
\r\n \r\n \r\n
\r\n {this.format('Asistencias:')}{' '}\r\n {this.format(Math.round(materiaPeriodo.porcentajeAsistencia))}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n Volver\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentDataContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n Form,\r\n Col,\r\n Container,\r\n Row,\r\n Card,\r\n CardBody,\r\n Alert,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n AllSubjectsDashboardByStudent,\r\n} from '../../redux/actions/materiaPeriodoActions';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\n\r\nimport { createErrorMessage } from '../../helpers/notification';\r\n\r\nclass StudentsDashboardContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n items: [],\r\n };\r\n\r\n this.colors = [\r\n {\r\n value: 0, color: 'secondary',\r\n },\r\n {\r\n value: 1, color: 'info',\r\n },\r\n {\r\n value: 2, color: 'success',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.loadFormData(page, pageSize);\r\n }\r\n\r\n loadFormData = () => {\r\n AllSubjectsDashboardByStudent({\r\n onSuccess: (items) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias');\r\n },\r\n });\r\n }\r\n\r\n verMateria = (id) => {\r\n const { history } = this.props;\r\n history.push(`/pages/student-subjects/${id}`);\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.loadFormData(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n handleSubmitCard = (e) => {\r\n e.preventDefault();\r\n }\r\n\r\n getColor = ({ value }) => {\r\n const item = this.colors.find(c => c.value === value);\r\n if (!item) {\r\n return this.colors[0].color;\r\n }\r\n\r\n return item.color;\r\n };\r\n\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Tablero\r\n

\r\n \r\n
\r\n \r\n \r\n {(!items || !items.length) && (\r\n

\r\n \r\n
\r\n No tienes materias marcadas para ver en el Tablero.\r\n
\r\n
\r\n Puedes marcar las estrellas{' '}\r\n \r\n {\r\n ' en tu listado de \"Mis Materias\" para mostrarlas en el Tablero.'\r\n }\r\n
\r\n
\r\n

\r\n )\r\n }\r\n {items && items.length && (\r\n \r\n \r\n
\r\n
\r\n

\r\n {'Lista de materias favoritas '}\r\n \r\n

\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n

Estados:

\r\n \r\n Preliminar\r\n \r\n \r\n Publicado\r\n \r\n \r\n Sellado\r\n \r\n
\r\n \r\n
\r\n \r\n {items.map(g => (\r\n \r\n this.verMateria(g.id)}\r\n className=\"link-card card-subject pb-0\"\r\n >\r\n \r\n
\r\n

\r\n {g.materia}\r\n

\r\n \r\n {g.seccion}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {g.carrera}\r\n \r\n \r\n {g.semestreNroOrden}{' º Semestre '}{g.anho}\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n Asistencia: \r\n \r\n {Math.round(g.porcentajeAsistencia)} %\r\n \r\n
\r\n
\r\n PP: \r\n \r\n {Math.round(g.porcentajePP)} %\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentsDashboardContainer);\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.usuario || !attrs.usuario.value) {\r\n errors.usuario = 'Debe seleccioanr el alumno';\r\n }\r\n if (!attrs.malla || !attrs.malla.value) {\r\n errors.malla = 'Debe seleccioanr la malla';\r\n }\r\n if (!(attrs.numeroLegajo && attrs.numeroLegajo > 0)) {\r\n errors.numeroLegajo = 'El número de legajo no es correcto';\r\n }\r\n\r\n if (!attrs.fechaIngreso) {\r\n errors.fechaIngreso = 'Debe ingresar la fecha de ingreso';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport renderDatePickerField from '../../../shared/components/form/DatePicker';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass StudentForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n users: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n mallas: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n }\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n users,\r\n mallas,\r\n } = this.props;\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n
Datos del alumno
\r\n
\r\n\r\n
\r\n Número de Legajo\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Malla - Carrera\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n Fecha de ingreso\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst StudentFormForm = reduxForm({\r\n form: 'StudentFormForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(StudentForm);\r\n\r\nexport default setPropsAsInitialValues(StudentFormForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport StudentForm from './StudentForm';\r\nimport {\r\n fetchStudent,\r\n saveStudent,\r\n fetchAllMallas,\r\n} from '../../../redux/actions/studentsActions';\r\nimport { fetchAllUsers } from '../../../redux/actions/usersActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\n\r\nclass EditStudentContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = { loaded: false };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchUserList();\r\n this.fetchMallaList();\r\n this.fetchCurrentStudent();\r\n }\r\n\r\n fetchCurrentStudent = () => {\r\n const { id, history } = this.props;\r\n if (id) {\r\n fetchStudent(id,\r\n {\r\n onSuccess: (dto) => {\r\n const {\r\n mallaId,\r\n malla,\r\n carrera,\r\n usuarioId,\r\n nombre,\r\n apellido,\r\n } = dto;\r\n const student = {\r\n ...dto,\r\n malla: {\r\n value: mallaId,\r\n label: `${malla} - ${carrera}`,\r\n },\r\n usuario: {\r\n value: usuarioId,\r\n label: `${nombre} ${apellido}`,\r\n },\r\n };\r\n this.setState({ student, loaded: true });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El alumno no existe');\r\n history.push('/pages/students');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del alumno');\r\n }\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n student: {\r\n id: 0,\r\n numeroLegajo: 0,\r\n },\r\n });\r\n this.setState({ loaded: true });\r\n }\r\n }\r\n\r\n fetchUserList = () => {\r\n fetchAllUsers({\r\n onSuccess: (users) => {\r\n this.setState({ users });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de usuarios');\r\n },\r\n });\r\n }\r\n\r\n fetchMallaList = () => {\r\n fetchAllMallas({\r\n onSuccess: (mallas) => {\r\n this.setState({ mallas });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de mallas');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { malla, usuario, numeroLegajo } = values;\r\n const { value: mallaId } = malla;\r\n const { value: usuarioId } = usuario;\r\n const params = {\r\n ...values,\r\n usuarioId,\r\n mallaId,\r\n numeroLegajo: +numeroLegajo,\r\n };\r\n const { history } = this.props;\r\n saveStudent(params,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Alumno guardado exitosamente');\r\n history.push('/pages/students');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el alumno');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n student,\r\n loaded,\r\n users,\r\n mallas,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nuevo'} alumno\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información del alumno\r\n

\r\n \r\n
\r\n \r\n \r\n {!(loaded && users && mallas)\r\n ? (

Cargando...

)\r\n : (\r\n \r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nEditStudentContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default EditStudentContainer;\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.student || !attrs.student.perfilAlumnoId) {\r\n errors.usuario = 'Debe seleccioanr el alumno';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n Row,\r\n Container,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass InscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onChangeStudent: PropTypes.func.isRequired,\r\n onInscriptionChanges: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n viewPageAs: PropTypes.number,\r\n students: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n subjects: PropTypes.arrayOf(PropTypes.shape({})),\r\n student: PropTypes.shape({}),\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n student: {},\r\n subjects: [],\r\n viewPageAs: 0,\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n student,\r\n students,\r\n subjects,\r\n onChangeStudent,\r\n onInscriptionChanges,\r\n viewPageAs,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n
Inscripción a materias
\r\n
\r\n\r\n
\r\n Alumno\r\n
\r\n {(viewPageAs === 2 || viewPageAs === 3) && (\r\n onChangeStudent(v.value)}\r\n />\r\n )}\r\n {(viewPageAs === 0) && (\r\n \r\n )}\r\n
\r\n
\r\n\r\n \r\n \r\n {subjects && subjects.map(g => (\r\n \r\n \r\n \r\n
\r\n

{g.nombre}

\r\n
\r\n {g.materias.map(m => (\r\n
\r\n onInscriptionChanges(m.materiaPeriodoId, v)}\r\n />\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst InscriptionFormForm = reduxForm({\r\n form: 'InscriptionFormForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(InscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(InscriptionFormForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport InscriptionForm from './InscriptionForm';\r\nimport {\r\n fetchStudent,\r\n fetchSelectStudentValues,\r\n} from '../../../redux/actions/studentsActions';\r\nimport {\r\n fetchAllSubjectsBySemesters,\r\n saveStudentSubjects,\r\n} from '../../../redux/actions/studentSubjectsActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport { SidebarProps } from '../../../shared/prop-types/ReducerProps';\r\n\r\nclass InscriptionContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = { loaded: false, materiasModificadas: [] };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchStudentList();\r\n const { sidebar: { viewPageAs } } = this.props;\r\n if (viewPageAs === 0) {\r\n this.fetchCurrentStudent();\r\n }\r\n }\r\n\r\n fetchCurrentStudent = () => {\r\n this.fetchStudentData(0);\r\n this.fetchSubjectList(0);\r\n }\r\n\r\n fetchStudentData = (perfilAlumnoId) => {\r\n const { history } = this.props;\r\n fetchStudent(perfilAlumnoId,\r\n {\r\n onSuccess: (dto) => {\r\n const {\r\n id,\r\n numeroLegajo,\r\n nombre,\r\n apellido,\r\n } = dto;\r\n const student = {\r\n ...dto,\r\n perfilAlumnoId,\r\n value: id,\r\n label: `${numeroLegajo}: ${nombre} ${apellido}`,\r\n };\r\n this.setState({ student, loaded: true });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El alumno no existe');\r\n history.push('/pages/student-subjects');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del alumno');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchStudentList = () => {\r\n fetchSelectStudentValues({\r\n onSuccess: (students) => {\r\n this.setState({ students, loaded: true });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de alumnos');\r\n },\r\n });\r\n }\r\n\r\n fetchSubjectList = (perfilAlumnoId) => {\r\n fetchAllSubjectsBySemesters({\r\n perfilAlumnoId,\r\n onSuccess: (subjects) => {\r\n this.setState({ subjects });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar las materias');\r\n },\r\n });\r\n }\r\n\r\n\r\n onInscriptionChanges = (id, evt) => {\r\n if (evt.target) {\r\n const { materiasModificadas } = this.state;\r\n const subject = materiasModificadas.find(i => i.materiaPeriodoId === id);\r\n if (!subject) {\r\n materiasModificadas.push({\r\n materiaPeriodoId: id,\r\n inscripto: evt.target.checked,\r\n });\r\n this.setState({ materiasModificadas });\r\n } else {\r\n subject.inscripto = evt.target.checked;\r\n this.setState({ materiasModificadas });\r\n }\r\n }\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { student: { value: perfilAlumnoId } } = values;\r\n const { materiasModificadas } = this.state;\r\n const params = { materiasModificadas, perfilAlumnoId };\r\n const { history } = this.props;\r\n saveStudentSubjects(params,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Inscripción guardada exitosamente');\r\n history.push('/pages/student-subjects');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la inscripción');\r\n }\r\n },\r\n });\r\n }\r\n\r\n\r\n onChangeStudent = (id) => {\r\n this.fetchStudentData(id);\r\n this.fetchSubjectList(id);\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const { sidebar: { viewPageAs } } = this.props;\r\n const {\r\n student,\r\n loaded,\r\n students = [],\r\n subjects = [],\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Inscripción a materias\r\n

\r\n

\r\n {id ? 'Modifica ' : 'Ingresa '}\r\n la información de materias del alumno\r\n

\r\n \r\n
\r\n \r\n \r\n {!(loaded && student && students && subjects)\r\n ? (

Cargando...

)\r\n : (\r\n \r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nInscriptionContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n sidebar: SidebarProps.isRequired,\r\n};\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(InscriptionContainer));\r\n","import { apiGet, apiPost, apiDelete } from '../../api/index';\r\nimport { urlPeriodos } from '../../api/urls';\r\n\r\nexport function filter(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlPeriodos}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function get(id, callback) {\r\n return apiGet(`${urlPeriodos}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function save(obj, callback) {\r\n return apiPost(`${urlPeriodos}`, obj)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function remove(id, callback) {\r\n return apiDelete(`${urlPeriodos}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlPeriodos}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchEditSubjectsFormData(periodoId, params) {\r\n return apiGet(`${urlPeriodos}/form_data_edit_subjects/${periodoId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function fetchAllSubjectsBySemesters(params) {\r\n return apiGet(`${urlPeriodos}/subjects_by_semesters/${params.periodoId}/${params.carreraId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function saveSubjects(data, callback) {\r\n return apiPost(`${urlPeriodos}/save_subjects`, data)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport {\r\n fetchStudentSubjects,\r\n deleteStudentSubject,\r\n addToFavorites,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport { fetchFormDatas } from '../../redux/actions/periodoActions';\r\nimport { SidebarProps } from '../../shared/prop-types/ReducerProps';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport {\r\n createErrorMessage,\r\n createWarningMessage,\r\n createSuccessMessage,\r\n} from '../../helpers/notification';\r\nimport { Roles } from '../../constants/enums';\r\n\r\nclass StudentSubjectsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n const user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n // const adminInscripcion = user.esFuncionario || user.esAdmin;\r\n const adminInscripcion = user.esAdmin;\r\n this.state = {\r\n adminInscripcion,\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n periodos: [],\r\n };\r\n this.columns = [\r\n {\r\n key: 'mostrarEnTablero',\r\n name: 'Tablero',\r\n width: '80px',\r\n search: false,\r\n visible: this.showStarIcon(user),\r\n icon: {\r\n callback: row => (this.onAddToFavoritesSubmit(row)),\r\n component: row => (\r\n \r\n ),\r\n },\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Alumno',\r\n search: false,\r\n visible: this.showNombre(user),\r\n },\r\n {\r\n key: 'nombre',\r\n name: 'Nombre del alumno',\r\n search: this.showNombre(user),\r\n visible: false,\r\n },\r\n {\r\n key: 'apellido',\r\n name: 'Apellido del alumno',\r\n search: this.showNombre(user),\r\n visible: false,\r\n },\r\n {\r\n key: 'codigoMateria',\r\n name: 'Codigo Materia',\r\n search: true,\r\n visible: false,\r\n },\r\n {\r\n key: 'periodo',\r\n name: 'Periodo',\r\n search: true,\r\n visible: true,\r\n className: 'text-center',\r\n width: '260px',\r\n type: 'select',\r\n searchProps: {\r\n options: this.getPeriodos,\r\n },\r\n format: row => `${row.periodo ? row.periodo.label : '-'}`,\r\n },\r\n {\r\n key: 'nombreMateria',\r\n name: 'Materia',\r\n format: row => `${row.codigoMateria} - ${row.nombreMateria}-${row.seccion}`,\r\n search: false,\r\n width: '300px',\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: true,\r\n visible: false,\r\n },\r\n {\r\n key: 'malla',\r\n name: 'Malla',\r\n width: '160px',\r\n search: true,\r\n format: row => row.nombreMalla,\r\n },\r\n {\r\n key: 'carrera',\r\n name: 'Carrera',\r\n width: '160px',\r\n search: true,\r\n visible: false,\r\n format: row => row.nombreCarrera,\r\n },\r\n {\r\n key: 'numeroSemestre',\r\n name: 'Semestre',\r\n type: 'number',\r\n search: true,\r\n format: row => `${row.numeroSemestre}º`,\r\n width: '70px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n width: '110px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n width: '80px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'tareasPendientes',\r\n name: 'Tareas',\r\n type: 'number',\r\n search: false,\r\n format: ({ id, cantidadTareas = 0 }) => {\r\n if (!id) {\r\n return <>;\r\n }\r\n\r\n return (\r\n

\r\n 0 ? 'primary' : 'secondary'}`}\r\n to={`/pages/student-tasks/${id}`}\r\n >\r\n {cantidadTareas}\r\n \r\n

\r\n );\r\n },\r\n width: '70px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '85px',\r\n visible: true,\r\n className: 'text-center',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList({ periodo: {} });\r\n }\r\n\r\n fetchDatasList = (filters) => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas({\r\n onSuccess: ({ periodos }) => {\r\n this.setState({\r\n periodos,\r\n loading: false,\r\n });\r\n\r\n const { page, pageSize } = this.state;\r\n this.updateSubjectsTable(page, pageSize, filters);\r\n },\r\n onError: (error) => {\r\n console.log(error);\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n getViewPageAs = () => {\r\n const { sidebar: { viewPageAs } } = this.props;\r\n return viewPageAs;\r\n }\r\n\r\n showStarIcon = (user) => {\r\n const viewAsAlumno = this.getViewPageAs() === Roles.Alumno;\r\n return (user.esAlumno && !user.esAdmin) || (user.esAlumno && user.esAdmin && viewAsAlumno);\r\n }\r\n\r\n showNombre = (user) => {\r\n const viewAsAllowedUser = [Roles.Admin, Roles.Funcionario].includes(this.getViewPageAs());\r\n return (user.esAdmin || user.esFuncionario) && viewAsAllowedUser;\r\n }\r\n\r\n updateSubjectsTable = (page, pageSize, filters) => {\r\n const {\r\n periodo = { value: 0, label: '-' },\r\n numeroSemestre = 0,\r\n } = filters;\r\n\r\n const params = {\r\n ...filters,\r\n numeroSemestre: Number(numeroSemestre),\r\n periodoId: periodo.value,\r\n };\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: params,\r\n });\r\n\r\n const { sidebar: { viewPageAs } } = this.props;\r\n fetchStudentSubjects(\r\n viewPageAs !== 0,\r\n {\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: params,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n enableInscription: pageInfo.enableInscription,\r\n });\r\n },\r\n onError: (error) => {\r\n if (error && error.type === 'warning') {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar cargar la lista de materias');\r\n }\r\n\r\n this.setState({ items: [], loading: false });\r\n },\r\n },\r\n );\r\n }\r\n\r\n handleDeleteSubject = (inscription) => {\r\n const name = `${inscription.codigoMateria}- ${inscription.nombreMateria}`;\r\n Confirm({\r\n title: 'Borrar inscripción',\r\n question: `Estás seguro que deseas eliminar la inscripción a ${name}?`,\r\n yesLabel: 'Si, Borrar inscripción',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteStudentSubject(inscription.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Inscripción borrada exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateSubjectsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar borrar la inscripción');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n editStudentSubject = (student) => {\r\n const { history } = this.props;\r\n history.push(`/pages/student-subjects/edit/${student.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateSubjectsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key, obj) => {\r\n const { adminInscripcion } = this.state;\r\n const { enableInscription } = obj;\r\n if (!(key === 'actions')) return null;\r\n const title = enableInscription ? '(Periodo cerrado)' : '';\r\n let disabledCss = '';\r\n\r\n if (!enableInscription) {\r\n disabledCss = adminInscripcion ? 'semi-disabled' : 'disabled';\r\n }\r\n\r\n const actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (student) => {\r\n if (enableInscription || adminInscripcion) this.editStudentSubject(student);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (student) => {\r\n if (enableInscription || adminInscripcion) this.handleDeleteSubject(student);\r\n },\r\n },\r\n ];\r\n\r\n if (!enableInscription) {\r\n const infoCss = adminInscripcion ? 'fa fa-warning' : 'fa fa-lock';\r\n actions.push({\r\n key: 'lock-icon',\r\n icon: ,\r\n callback: () => false,\r\n });\r\n }\r\n\r\n return actions;\r\n }\r\n\r\n onAddToFavoritesSubmit = (inscription) => {\r\n if (inscription) {\r\n addToFavorites(inscription.id, {\r\n onSuccess: () => {\r\n const { items } = this.state;\r\n\r\n const newState = items.map(item => (\r\n item.id === inscription.id ? { ...item, mostrarEnTablero: !inscription.mostrarEnTablero } : item\r\n ));\r\n\r\n this.setState({\r\n items: newState,\r\n });\r\n\r\n createSuccessMessage(\r\n `Materia ${(!inscription.mostrarEnTablero ? 'agregada al' : 'quitada del')} tablero exitosamente`,\r\n );\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar quitar la materia del tablero ');\r\n }\r\n },\r\n });\r\n }\r\n };\r\n\r\n getPeriodos = () => {\r\n const { periodos = [] } = this.state;\r\n\r\n return periodos;\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n enableInscription,\r\n adminInscripcion,\r\n } = this.state;\r\n const { sidebar: { viewPageAs } } = this.props;\r\n\r\n if (loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

Inscripciones a materias

\r\n
\r\n {viewPageAs === 0 && enableInscription\r\n && (\r\n \r\n Inscribase Aquí\r\n \r\n )}\r\n {!(viewPageAs === 0 && enableInscription) && !loading && adminInscripcion\r\n && (\r\n \r\n Nueva inscripción\r\n \r\n )}\r\n
\r\n \r\n
\r\n \r\n this.getGridActions(key, obj)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nStudentSubjectsContainer.propTypes = {\r\n sidebar: SidebarProps.isRequired,\r\n};\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(StudentSubjectsContainer));\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.alumno || !attrs.alumno.value) {\r\n errors.alumno = 'Debe seleccioanr el alumno';\r\n }\r\n if (!attrs.malla || !attrs.malla.value) {\r\n errors.malla = 'Debe seleccioanr la malla';\r\n }\r\n if (!attrs.semestre || !attrs.semestre.value) {\r\n errors.semestre = 'Debe ingresar un semestre';\r\n }\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe ingresar una materia';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass InscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n mallas: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n semesters: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n subjects: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n alumnos: PropTypes.arrayOf(PropTypes.shape({})),\r\n nombreAlumno: PropTypes.string,\r\n apellidoAlumno: PropTypes.string,\r\n numeroLegajo: PropTypes.number,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n nombreAlumno: '',\r\n apellidoAlumno: '',\r\n numeroLegajo: 0,\r\n alumnos: [],\r\n }\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n mallas = [],\r\n semesters = [],\r\n subjects = [],\r\n onFilterChanges,\r\n nombreAlumno,\r\n apellidoAlumno,\r\n numeroLegajo,\r\n alumnos = [],\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n
Datos de la inscripción
\r\n
\r\n {numeroLegajo > 0\r\n && (\r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n {numeroLegajo <= 0 && (\r\n
\r\n Alumno\r\n
\r\n onFilterChanges('alumno', 'perfilAlumnoId', v)}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n Malla\r\n
\r\n onFilterChanges('malla', 'mallaId', v)}\r\n />\r\n
\r\n
\r\n
\r\n Semestre\r\n
\r\n onFilterChanges('semestre', 'semestreId', v)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n Materia\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst InscriptionFormForm = reduxForm({\r\n form: 'InscriptionFormForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(InscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(InscriptionFormForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport InscriptionForm from './InscriptionForm';\r\nimport {\r\n fetchStudentSubject,\r\n saveStudentSubject,\r\n getFormDatas,\r\n getInscriptionAllSubjects,\r\n} from '../../../redux/actions/studentSubjectsActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\n\r\nclass SubjectsInscriptionContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n mallas: [],\r\n semesters: [],\r\n students: [],\r\n subjects: [],\r\n };\r\n this.filterSubjects = this.filterSubjects.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormData();\r\n this.fetchCurrentStudentSubject();\r\n }\r\n\r\n fetchCurrentStudentSubject = () => {\r\n const { id, history } = this.props;\r\n if (!id) {\r\n this.setState({ studentSubject: { id: 0 } });\r\n return;\r\n }\r\n\r\n fetchStudentSubject(id, {\r\n onSuccess: (dto) => {\r\n this.fetchAllSubjects(dto.mallaId);\r\n\r\n const studentSubject = {\r\n ...dto,\r\n malla: {\r\n value: dto.mallaId,\r\n label: `${dto.mallaNombre}`,\r\n },\r\n semestre: {\r\n value: dto.semestreId,\r\n label: `${dto.semestreNombre}`,\r\n },\r\n materia: {\r\n value: dto.materiaId,\r\n label: `${dto.materiaCodigo} - ${dto.materiaNombre}`,\r\n },\r\n alumno: {\r\n value: dto.perfilAlumnoId,\r\n label: `${dto.numeroLegajo}: ${dto.nombreAlumno} ${dto.apellidoAlumno}`,\r\n },\r\n };\r\n\r\n this.setState({ studentSubject });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La inscripción a esta materia no existe');\r\n history.push('/pages/student-subjects');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la inscripción');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchFormData = () => {\r\n const { id } = this.props;\r\n getFormDatas({\r\n new: !(id > 0),\r\n onSuccess: (viewModel) => {\r\n this.setState({ ...viewModel });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de mallas');\r\n },\r\n });\r\n }\r\n\r\n fetchAllSubjects = (mallaId = 0) => {\r\n getInscriptionAllSubjects({\r\n mallaId,\r\n onSuccess: ({ subjects = [] }) => {\r\n this.setState({\r\n subjects,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos de mallas');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const {\r\n malla,\r\n semestre,\r\n materia,\r\n alumno,\r\n } = values;\r\n const { value: mallaId } = malla;\r\n const { value: semestreId } = semestre;\r\n const { value: materiaId } = materia;\r\n const { value: perfilAlumnoId } = alumno;\r\n const params = {\r\n ...values,\r\n semestreId,\r\n mallaId,\r\n materiaId,\r\n perfilAlumnoId,\r\n };\r\n const { history } = this.props;\r\n saveStudentSubject(\r\n params,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Inscripción guardada exitosamente');\r\n history.push('/pages/student-subjects');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la inscripción');\r\n }\r\n },\r\n },\r\n );\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { studentSubject } = this.state;\r\n\r\n if (objectKey === 'malla') {\r\n this.fetchAllSubjects(value.value || 0);\r\n }\r\n\r\n this.setState({\r\n [idKey]: value.value,\r\n studentSubject: { ...studentSubject, [objectKey]: value },\r\n });\r\n }\r\n\r\n filterSubjects = () => {\r\n const { mallaId = 0, semestreId = 0, subjects } = this.state;\r\n if (!subjects) return [];\r\n\r\n // return subjects\r\n return subjects\r\n .filter(s => s.mallaId === mallaId || mallaId === 0)\r\n .filter(s => s.semestreId === semestreId || semestreId === 0)\r\n .map(({\r\n materiaId, materiaCodigo, materia, seccion,\r\n }) => ({\r\n value: materiaId,\r\n label: `${materiaCodigo} - ${materia} - ${seccion}`,\r\n }));\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n\r\n const {\r\n studentSubject,\r\n mallas = [],\r\n semesters = [],\r\n students = [],\r\n } = this.state;\r\n\r\n const subjects = this.filterSubjects();\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} inscripción\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información de la inscripción\r\n

\r\n \r\n
\r\n \r\n \r\n {!(mallas && semesters && subjects && studentSubject)\r\n ? (

Cargando...

)\r\n : (\r\n \r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nSubjectsInscriptionContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default SubjectsInscriptionContainer;\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiPut,\r\n apiDownloadPost,\r\n} from '../../api/index';\r\n\r\nimport { urlExams } from '../../api/urls';\r\n\r\nexport function fetchExams(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlExams}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchExam(id, callback) {\r\n return apiGet(`${urlExams}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchExamPrintPreview(id, type, callback) {\r\n const url = type === null\r\n ? `${urlExams}/report/${id}`\r\n : `${urlExams}/report/${id}/${type}`;\r\n\r\n return apiGet(url)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveExam(exam, callback) {\r\n return apiPost(`${urlExams}`, exam)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function deleteExam(id, callback) {\r\n return apiDelete(`${urlExams}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function stampExam(id, exam, callback) {\r\n return apiPut(urlExams, id, exam)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(anhoLectivoId, params) {\r\n return apiGet(`${urlExams}/form_data/${anhoLectivoId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function getExamenesPorCarrera(params) {\r\n return apiGet(`${urlExams}/por_carrera/${params.id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function downloadAcademicStatusStudent({ id, materiaName }, params) {\r\n return apiDownloadPost(`${urlExams}/download-score-report/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = `${materiaName}.xlsx`;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (params && params.onSuccess) params.onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","export const tableFilters = tableKey => ({\r\n get: () => JSON.parse(sessionStorage.getItem(tableKey)) || {},\r\n set: value => sessionStorage.setItem(tableKey, JSON.stringify(value)),\r\n});\r\n\r\nexport const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n fetchExams,\r\n deleteExam,\r\n stampExam,\r\n downloadAcademicStatusStudent,\r\n fetchFormDatas,\r\n} from '../../redux/actions/examActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport { dateTimeFormat } from '../../helpers/dateFormat';\r\nimport {\r\n currentUser as user, tableFilters,\r\n} from '../../helpers/storage';\r\n\r\nclass ExamsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.tblFilters = tableFilters('tbl-exams');\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n filters: {\r\n estado: [],\r\n periodo: [],\r\n },\r\n loading: true,\r\n items: [],\r\n currentUser: user,\r\n estadoExamen: [],\r\n periodosExamen: [],\r\n };\r\n\r\n this.columns = () => [\r\n {\r\n key: 'fecha',\r\n name: 'Fecha',\r\n search: false,\r\n type: 'date',\r\n width: '130px',\r\n format: row => dateTimeFormat(row.fecha),\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n className: 'text-left',\r\n search: true,\r\n format: ({\r\n id,\r\n materia,\r\n fecha,\r\n estado,\r\n }) => (\r\n \r\n {\r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n key: 'periodo',\r\n name: 'Periodo',\r\n search: true,\r\n type: 'select',\r\n searchProps: {\r\n options: this.getPeriodosExamen,\r\n isMulti: true,\r\n },\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'profesor',\r\n name: 'Profesor',\r\n search: false,\r\n },\r\n {\r\n key: 'cantidadInscriptos',\r\n name: 'Inscriptos',\r\n search: false,\r\n className: 'text-center',\r\n format: ({ id, cantidadInscriptos }) => (\r\n \r\n {\r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n key: 'estado',\r\n name: 'Estado',\r\n search: true,\r\n type: 'select',\r\n searchProps: {\r\n options: this.getStates,\r\n isMulti: true,\r\n },\r\n className: 'text-center',\r\n format: ({ id, estado }) => (\r\n \r\n {\r\n \r\n }\r\n \r\n ),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '100px',\r\n },\r\n ];\r\n\r\n this.actions = (row, addButton) => {\r\n const disabled = row.estado.value === 0 ? '' : 'disabled';\r\n const showEdit = addButton ? 'edit' : 'check-square-o';\r\n const titleEdit = addButton ? 'Editar' : 'Editar nota';\r\n\r\n return [\r\n {\r\n key: `${disabled ? 'eye' : 'edit'}`,\r\n icon: (\r\n \r\n ),\r\n callback: row.estado.value !== 0 && row.estado.value !== 1 ? null : (exam) => {\r\n if (exam.estado.value === 0 || exam.estado.value === 1) {\r\n this.editExam(exam);\r\n }\r\n },\r\n },\r\n {\r\n key: disabled || !addButton ? '' : 'stump',\r\n icon: ,\r\n callback: disabled ? null : (exam) => {\r\n if (exam.estado.value === 0) {\r\n this.handleStampExam(exam);\r\n }\r\n },\r\n },\r\n {\r\n key: row.estado.value >= 0 && addButton ? 'print' : '',\r\n icon: ,\r\n callback: (exam) => {\r\n if (exam.estado.value >= 0) {\r\n this.handleShowPreviewExam(exam);\r\n }\r\n },\r\n },\r\n {\r\n key: disabled || !addButton ? '' : 'delete',\r\n icon: ,\r\n callback: disabled ? null : (exam) => {\r\n if (exam.estado.value === 0) {\r\n this.handleDeleteExam(exam);\r\n }\r\n },\r\n },\r\n ];\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const tbl = this.tblFilters.get('tbl-exams');\r\n\r\n const {\r\n page, pageSize, totalItemsCount,\r\n } = this.state;\r\n\r\n const state = {\r\n filters: tbl.filters || {},\r\n page: tbl.page || page,\r\n pageSize: tbl.pageSize || pageSize,\r\n totalItemsCount: tbl.totalItemsCount || totalItemsCount,\r\n };\r\n\r\n this.fetchDatasList();\r\n\r\n this.updateExamsTable({ ...state });\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const {\r\n page, pageSize, totalItemsCount, filters,\r\n } = this.state;\r\n const state = { filters };\r\n\r\n // Typical usage (don't forget to compare props):\r\n if (page !== prevState.page) {\r\n state.page = page;\r\n }\r\n\r\n if (pageSize !== prevState.pageSize) {\r\n state.pageSize = pageSize;\r\n }\r\n\r\n if (totalItemsCount !== prevState.totalItemsCount) {\r\n state.totalItemsCount = totalItemsCount;\r\n }\r\n\r\n this.tblFilters.set(state);\r\n }\r\n\r\n fetchDatasList = (anhoLectivoId = 0) => {\r\n this.setState({ loading: true });\r\n fetchFormDatas(anhoLectivoId, {\r\n onSuccess: ({\r\n periodosExamen,\r\n estadoExamen,\r\n }) => this.setState({\r\n loading: false,\r\n periodosExamen,\r\n estadoExamen,\r\n }),\r\n onError: () => {\r\n this.setState({ loading: false });\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n updateExamsTable = ({\r\n page = 1,\r\n pageSize = 25,\r\n filters = {},\r\n }) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n estado: filters.estado || [],\r\n periodo: filters.periodo || [],\r\n },\r\n });\r\n\r\n fetchExams({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n estado: filters.estado || [],\r\n periodo: filters.periodo || [],\r\n },\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de exámenes');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteExam = (examen) => {\r\n const {\r\n materia,\r\n fecha,\r\n } = examen;\r\n\r\n const style = { dateStyle: 'short' };\r\n const dateFormated = new Intl.DateTimeFormat('en-GB', style).format(new Date(fecha));\r\n\r\n Confirm({\r\n title: 'Borrar examen',\r\n question: `¿Estás seguro que deseas eliminar el examen ${materia} del ${dateFormated}?.`,\r\n yesLabel: 'Si, Borrar examen',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteExam(examen.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Examen borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateExamsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleStampExam = (examen) => {\r\n const {\r\n materia,\r\n fecha,\r\n } = examen;\r\n\r\n const style = { dateStyle: 'short' };\r\n const dateFormated = new Intl.DateTimeFormat('en-GB', style).format(new Date(fecha));\r\n\r\n Confirm({\r\n title: 'Sellar examen',\r\n question: `¿Estás seguro que deseas sellar el examen ${materia} del ${dateFormated}?\r\nUna vez sellado ya no será editable.`,\r\n yesLabel: 'Si, Sellar examen',\r\n noLabel: 'No, Volver',\r\n color: 'success',\r\n onConfirm: () => {\r\n stampExam(examen.id, examen, {\r\n onSuccess: () => {\r\n createSuccessMessage('Examen sellado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateExamsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar sellar el examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleShowPreviewExam = (examen) => {\r\n const { history } = this.props;\r\n const {\r\n id,\r\n materia,\r\n fecha,\r\n nroActa,\r\n estado,\r\n } = examen;\r\n\r\n const style = { dateStyle: 'short' };\r\n const dateFormated = new Intl.DateTimeFormat('en-GB', style).format(new Date(fecha));\r\n\r\n const [materiaName, carreraName] = materia\r\n .replace('(', '-')\r\n .replace(')', '')\r\n .split('-')\r\n .map(it => it.trim());\r\n\r\n const confirmData = {\r\n title: `Imprimir Examen ${materiaName} ${carreraName}`,\r\n noLabel: 'No, Volver',\r\n color: 'success',\r\n };\r\n\r\n if (estado.value === 1) {\r\n const question = `¿Imprimir el acta o planilla de calificaciones del examen ${materia} del ${dateFormated}\r\n Acta Nº ${nroActa}?`;\r\n\r\n confirmData.question = question;\r\n confirmData.yesLabel = 'Imprimir Acta';\r\n confirmData.otherLabel = 'Descargar Acta';\r\n\r\n confirmData.onConfirm = () => {\r\n history.push(`/pages/exams/show-report/${id}`);\r\n };\r\n confirmData.onOther = () => {\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent({ id: examen.id, materiaName }, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Archivo descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar descargar la planilla de calificaciones del examen');\r\n }\r\n },\r\n });\r\n };\r\n }\r\n\r\n if (estado.value === 0) {\r\n const question = `¿Imprimir planilla de calificaciones del examen ${materia} del ${dateFormated}\r\n Acta Nº ${nroActa}?`;\r\n\r\n confirmData.question = question;\r\n confirmData.yesLabel = 'Descargar Acta';\r\n confirmData.onConfirm = () => {\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent({ id: examen.id, materiaName }, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Archivo descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar descargar la planilla de calificaciones del examen');\r\n }\r\n },\r\n });\r\n };\r\n }\r\n\r\n Confirm(confirmData);\r\n };\r\n\r\n editExam = (exam) => {\r\n const { history } = this.props;\r\n history.push(`/pages/exams/edit/${exam.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateExamsTable({ page, pageSize, filters });\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable({ page: 1, pageSize, filters: values });\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n\r\n this.updateExamsTable({\r\n page: 1,\r\n pageSize,\r\n filters: {\r\n estado: [],\r\n periodo: [],\r\n autoHideSearch,\r\n },\r\n });\r\n };\r\n\r\n getGridActions = (key, row) => {\r\n if (key !== 'actions') {\r\n return undefined;\r\n }\r\n\r\n const { currentUser } = this.state;\r\n\r\n const addButton = currentUser.esAdmin || currentUser.esFuncionario;\r\n\r\n const actions = {\r\n actions: this.actions(row, addButton).filter(a => a.key),\r\n };\r\n\r\n return actions[key];\r\n }\r\n\r\n getSubjectColor = ({ fecha, estado }) => {\r\n if (estado === 1) {\r\n return 'success';\r\n }\r\n\r\n if (new Date(fecha) > new Date()) {\r\n return 'info';\r\n }\r\n\r\n return 'secondary';\r\n };\r\n\r\n getColor = (value) => {\r\n const colors = [\r\n {\r\n value: 0, color: 'info',\r\n },\r\n {\r\n value: 1, color: 'success',\r\n },\r\n {\r\n value: 2, color: 'secondary',\r\n },\r\n ];\r\n\r\n const { color } = colors.find(c => c.value === value);\r\n\r\n return color;\r\n };\r\n\r\n getStates = () => {\r\n const { estadoExamen } = this.state;\r\n return estadoExamen;\r\n };\r\n\r\n getPeriodosExamen = () => {\r\n const { periodosExamen } = this.state;\r\n return periodosExamen;\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n currentUser,\r\n } = this.state;\r\n\r\n const addButton = currentUser.esAdmin || currentUser.esFuncionario;\r\n\r\n return (\r\n \r\n {addButton ? (\r\n \r\n \r\n

Lista de exámenes

\r\n
\r\n \r\n Agregar nuevo examen\r\n \r\n
\r\n \r\n
\r\n ) : null\r\n }\r\n \r\n {loading ? \r\n : (\r\n this.getGridActions(key, row)}\r\n itemsToShow={items.length}\r\n page={page}\r\n pageSize={pageSize}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ExamsContainer);\r\n","import { apiGet, apiPost, apiDelete } from '../../api/index';\r\nimport { urlInscripcionExamen } from '../../api/urls';\r\n\r\n\r\nexport function getFormData({\r\n idExamen,\r\n loadStudents,\r\n onSuccess,\r\n onError,\r\n}) {\r\n return apiGet(`${urlInscripcionExamen}/form_data/${idExamen}/${loadStudents}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function getInscripcionExamen(id, callback) {\r\n return apiGet(`${urlInscripcionExamen}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function saveInscripcionExamen(inscripcion, callback) {\r\n return apiPost(`${urlInscripcionExamen}/inscribir`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveInscripcionesExamen(inscripcion, callback) {\r\n return apiPost(`${urlInscripcionExamen}`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveMiInscripcion(inscripcion, callback) {\r\n return apiPost(`${urlInscripcionExamen}/inscribirme`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function actualizarNotasProfesor(inscripcion, callback) {\r\n return apiPost(`${urlInscripcionExamen}/update-score`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function deleteInscripcionExamen(id, callback) {\r\n return apiDelete(`${urlInscripcionExamen}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchMyExams(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlInscripcionExamen}/my-exams`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col, Container, Row,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n deleteExam,\r\n} from '../../redux/actions/examActions';\r\nimport {\r\n fetchMyExams,\r\n} from '../../redux/actions/inscripcionExamenActions';\r\nimport {\r\n obtenerMisDerechos,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\nimport { Calificaciones } from '../../constants/enums';\r\nimport TooltipItem from '../../shared/components/TooltipItem';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\n\r\nclass ExamsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n items: [],\r\n derechos: [],\r\n filters: { id: 20 },\r\n };\r\n this.columns = [\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: true,\r\n format: row => `${row.codMateria}-${row.materia}`,\r\n },\r\n { key: 'carrera', name: 'Carrera', search: true },\r\n {\r\n key: 'semestre',\r\n name: 'Semestre',\r\n search: false,\r\n format: row => `${row.semestre}º`,\r\n },\r\n {\r\n key: 'fechaExamen',\r\n name: 'Fecha Examen',\r\n search: false,\r\n type: 'date',\r\n width: '110px',\r\n format: row => new Date(row.fechaExamen).toLocaleDateString(),\r\n },\r\n {\r\n key: 'fechaInscripcion',\r\n name: 'Inscripción',\r\n search: false,\r\n type: 'date',\r\n width: '110px',\r\n format: row => new Date(row.fechaInscripcion).toLocaleDateString(),\r\n },\r\n {\r\n key: 'esRecuperatorio',\r\n name: 'Instancia',\r\n search: false,\r\n className: 'text-center',\r\n format: ({ id, instancia }) => {\r\n let color = 'danger';\r\n if (instancia.value === 1) {\r\n color = 'info';\r\n }\r\n\r\n if (instancia.value === 0) {\r\n color = 'success';\r\n }\r\n\r\n return (\r\n \r\n {\r\n \r\n }\r\n \r\n );\r\n },\r\n },\r\n { key: 'porcentajePP', name: 'Porcentaje PP', search: false },\r\n { key: 'porcentajePF', name: 'Porcentaje PF', search: false },\r\n { key: 'porcentajePC', name: 'Porcentaje PC', search: false },\r\n {\r\n key: 'calificacion',\r\n name: 'Calificacion',\r\n search: false,\r\n format: (row) => {\r\n if (!row.calificacion) return '-';\r\n const calificacionObj = Calificaciones.find(c => c.value === row.calificacion) || {};\r\n return `${calificacionObj.label}`;\r\n },\r\n },\r\n // { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.fetchMyExams(page, pageSize);\r\n this.loadMisDerechos();\r\n }\r\n\r\n fetchMyExams = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n fetchMyExams({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ items, totalItemsCount }) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de exámenes');\r\n },\r\n });\r\n }\r\n\r\n loadMisDerechos = () => {\r\n this.setState({ loading: true });\r\n obtenerMisDerechos({\r\n pageInfo: {\r\n page: 1,\r\n pageSize: 1,\r\n },\r\n onSuccess: ({ items }) => {\r\n this.setState({\r\n loading: false,\r\n derechos: items,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de exámenes disponibles');\r\n },\r\n });\r\n };\r\n\r\n handleDeleteExam = (examen) => {\r\n const name = `${examen.materia.codigo}- ${examen.materia.nombre}`;\r\n Confirm({\r\n title: 'Borrar examen',\r\n question: `Estás seguro que deseas eliminar el examen ${name}?`,\r\n yesLabel: 'Si, Borrar examen',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n this.setState({ loading: true });\r\n\r\n deleteExam(examen.id, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Examen borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.fetchMyExams(page, pageSize);\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.fetchMyExams(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.fetchMyExams(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.fetchMyExams(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n derechos = [],\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

Mis exámenes

\r\n {\r\n derechos.length > 0 && (\r\n
\r\n \r\n Inscripción a examen\r\n \r\n
\r\n )\r\n }\r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ExamsContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Col,\r\n Container,\r\n Row,\r\n Card,\r\n CardBody,\r\n Badge,\r\n} from 'reactstrap';\r\nimport {\r\n obtenerMisDerechos,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport {\r\n saveMiInscripcion,\r\n} from '../../redux/actions/inscripcionExamenActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport { dateTimeFormat } from '../../helpers/dateFormat';\r\n\r\nclass StudentExamInscriptionContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n items: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.loadFormData(page, pageSize);\r\n }\r\n\r\n loadFormData = () => {\r\n this.setState({ loading: true });\r\n obtenerMisDerechos({\r\n onSuccess: (result) => {\r\n this.setState({\r\n loading: false,\r\n items: result.items,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de exámenes disponibles');\r\n },\r\n });\r\n }\r\n\r\n inscribirme = (examen) => {\r\n const { materia, inscripto } = examen;\r\n if (inscripto) return;\r\n Confirm({\r\n title: 'Inscripción a examen',\r\n question: `Estás seguro que deseas inscribirte al examen de \"${materia}\"?`,\r\n yesLabel: 'Si, Inscribirme',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n this.setState({ loading: true });\r\n\r\n const { examenId, studentId } = examen;\r\n const params = {\r\n examenId,\r\n id: 0,\r\n perfilAlumnoId: studentId,\r\n calificacion: 0,\r\n };\r\n\r\n saveMiInscripcion(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Inscripción realizada exitosamente');\r\n this.loadFormData();\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar inscribirse al examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.loadFormData(1, pageSize, {});\r\n };\r\n\r\n onBack = () => {\r\n const { history } = this.props;\r\n history.push('/pages/student-exams');\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getDate = date => new Date(date).toLocaleDateString('en-GB');\r\n\r\n getInstanciaColor = ({ value }) => {\r\n if (value === 1) {\r\n return 'info';\r\n }\r\n\r\n if (value === 0) {\r\n return 'success';\r\n }\r\n\r\n return 'danger';\r\n }\r\n\r\n getParametroColor = ({\r\n value,\r\n item: { pp, asis },\r\n parametro,\r\n }) => {\r\n if (value === 3 && parametro === 'PP' && pp) {\r\n return 'danger';\r\n }\r\n\r\n if (value === 3 && parametro === 'Asistencia' && asis) {\r\n return 'danger';\r\n }\r\n\r\n return 'primary';\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n loading && ()\r\n }\r\n {\r\n !loading && (\r\n \r\n \r\n
\r\n
\r\n

Lista de mis exámenes

\r\n
\r\n \r\n \r\n {items.length && items.map(g => (\r\n \r\n this.inscribirme(g)}\r\n className={`link-card ${g.inscripto ? 'disabled' : ''}`}\r\n >\r\n \r\n \r\n

\r\n \r\n # {g.examenId}\r\n \r\n {` ${g.materia}`}\r\n

\r\n
\r\n \r\n {g.malla}\r\n {g.semestre}º Semestre\r\n \r\n \r\n \r\n Fecha\r\n {': '}\r\n \r\n {new Date(g.fechaExamen).toLocaleDateString('en-GB')}\r\n \r\n \r\n \r\n Límite\r\n {': '}\r\n \r\n {dateTimeFormat(g.fechaLimiteInscripcionExamen)}\r\n \r\n \r\n \r\n \r\n {' '}\r\n \r\n Examen:{' '}\r\n \r\n {g.instancia.label}\r\n \r\n \r\n \r\n \r\n \r\n Asistencia:{' '}\r\n \r\n \r\n {' '}{g.porcentajeAsistencia}\r\n \r\n %\r\n \r\n \r\n \r\n \r\n PP:{' '}\r\n \r\n {' '}{g.porcentajePP}\r\n \r\n %\r\n \r\n \r\n \r\n \r\n \r\n {\r\n `Inscripto Materia: ${this.getDate(g.fechaInscripcionMateria)}`\r\n }\r\n \r\n \r\n {g.inscripto\r\n ? `Inscripto Examen: ${this.getDate(g.fechaInscripcion)}`\r\n : ''\r\n }\r\n \r\n \r\n {\r\n g.instancia.value === 3 ? (\r\n \r\n {g.instancia.item.motivo}\r\n \r\n ) : null\r\n }\r\n\r\n \r\n \r\n \r\n \r\n ))}\r\n {!items.length && (\r\n \r\n

\r\n No tienes exámenes pendientes\r\n

\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentExamInscriptionContainer);\r\n","import { Calificaciones } from '../../../../constants/enums';\r\n\r\nconst validatePercentage = (value = 0) => parseFloat(value) < 0 || parseFloat(value) > 100;\r\n\r\nconst validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.alumnoObj || !attrs.alumnoObj.value) {\r\n errors.alumnoObj = 'Debe seleccionar el alumno';\r\n }\r\n if (!attrs.fechaInscripcion) {\r\n errors.fechaInscripcion = 'Debe ingresar la fecha';\r\n }\r\n\r\n if (validatePercentage(attrs.porcentajeAsistencia)) {\r\n errors.porcentajeAsistencia = 'Debe ingresar valor en el rango 0 - 100';\r\n }\r\n if (validatePercentage(attrs.porcentajePP)) {\r\n errors.porcentajePP = 'Debe ingresar valor en el rango 0 - 100';\r\n }\r\n if (validatePercentage(attrs.porcentajePF)) {\r\n errors.porcentajePF = 'Debe ingresar valor en el rango 0 - 100';\r\n }\r\n if (validatePercentage(attrs.porcentajePC)) {\r\n errors.porcentajePC = 'Debe ingresar valor en el rango 0 - 100';\r\n }\r\n\r\n if (\r\n !attrs.calificacionObj\r\n || !Number.isInteger(attrs.calificacionObj.value)\r\n || !Calificaciones.some(ca => ca.value === attrs.calificacionObj.value)) {\r\n errors.calificacionObj = 'Valor requerido';\r\n }\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport DatePicker from '../../../../shared/components/form/DatePicker';\r\nimport validate from './validate';\r\nimport { Calificaciones } from '../../../../constants/enums';\r\n\r\nclass InscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n id: PropTypes.number,\r\n alumnoObj: PropTypes.shape({}),\r\n examen: PropTypes.shape({}).isRequired,\r\n alumnos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n id: 0,\r\n submitting: false,\r\n alumnoObj: {},\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n examen,\r\n alumnoObj,\r\n alumnos,\r\n } = this.props;\r\n\r\n const { label: nombreAlumno } = alumnoObj;\r\n const { materia } = examen;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
{materia} - Datos de la inscripción o nota de examen
\r\n
\r\n \r\n \r\n {id <= 0 && (\r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n {id && (\r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n
\r\n Fecha de inscripcion\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje de asistencia\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje PP\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje PF\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje PC\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Calificación\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxInscriptionForm = reduxForm({\r\n form: 'InscriptionForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(InscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxInscriptionForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport InscriptionForm from './InscriptionForm';\r\nimport {\r\n saveInscripcionExamen,\r\n getInscripcionExamen,\r\n getFormData,\r\n} from '../../../../redux/actions/inscripcionExamenActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport { Calificaciones } from '../../../../constants/enums';\r\n\r\nclass InscriptionFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.handleOnStudentChange = this.handleOnStudentChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormDatas();\r\n }\r\n\r\n fetchFormDatas = () => {\r\n const { idExamen } = this.props;\r\n\r\n getFormData({\r\n idExamen,\r\n loadStudents: true,\r\n onSuccess: ({ examen, alumnos }) => {\r\n this.setState({\r\n examen, alumnos,\r\n });\r\n\r\n this.fetchInscriptionExamen();\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n fetchInscriptionExamen = () => {\r\n const { id, history } = this.props;\r\n if (!id) {\r\n const { examen: { fecha } } = this.state;\r\n this.setState({\r\n inscripcion: {\r\n id: 0,\r\n fechaInscripcion: fecha.toLocaleString(),\r\n porcentajeAsistencia: 0,\r\n porcentajePP: 0,\r\n porcentajePF: 0,\r\n porcentajePC: 0,\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n getInscripcionExamen(id, {\r\n onSuccess: (dto) => {\r\n const {\r\n usuarioId,\r\n studentId,\r\n nombre,\r\n apellido,\r\n anioInscripcion,\r\n calificacion,\r\n } = dto;\r\n\r\n const calificacionObj = Calificaciones.find(c => c.value === calificacion) || {};\r\n\r\n const inscripcion = {\r\n ...dto,\r\n alumnoObj: {\r\n value: studentId,\r\n parentId: usuarioId,\r\n label: `${usuarioId}/${anioInscripcion}: ${nombre} ${apellido}`,\r\n },\r\n calificacionObj,\r\n };\r\n this.setState({ inscripcion });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La inscripción a examen no existe');\r\n history.goBack();\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la inscripción.');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const {\r\n id,\r\n alumnoObj: { value: perfilAlumnoId, parentId: usuarioId },\r\n fechaInscripcion,\r\n porcentajeAsistencia,\r\n porcentajePP,\r\n porcentajePF,\r\n porcentajePC,\r\n calificacionObj: { value: calificacion },\r\n } = values;\r\n\r\n const { examen: { id: examenId } } = this.state;\r\n\r\n const params = {\r\n id,\r\n examenId,\r\n usuarioId,\r\n perfilAlumnoId,\r\n fechaInscripcion,\r\n porcentajeAsistencia: +porcentajeAsistencia,\r\n porcentajePP: +porcentajePP,\r\n porcentajePF: +porcentajePF,\r\n porcentajePC: +porcentajePC,\r\n calificacion,\r\n };\r\n\r\n saveInscripcionExamen(params, {\r\n onSuccess: () => {\r\n const { history } = this.props;\r\n createSuccessMessage('Inscripción a examen guardado exitosamente');\r\n history.goBack();\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la inscripción examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnStudentChange = (value) => {\r\n const { inscripcion } = this.state;\r\n this.setState({\r\n inscripcion: {\r\n ...inscripcion,\r\n alumno: value,\r\n usuarioId: value.parentId,\r\n perfilAlumnoId: value.id,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n examen,\r\n inscripcion,\r\n alumnos,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} inscripción y/o nota\r\n

\r\n

\r\n Edita o ingresa la información de la inscripción o notas del alumno\r\n

\r\n \r\n
\r\n \r\n \r\n {!(alumnos)\r\n ? ()\r\n : (\r\n \r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nInscriptionFormContainer.propTypes = {\r\n idExamen: PropTypes.string.isRequired,\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default InscriptionFormContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card, CardBody, Row, Col, Container, Badge, Label,\r\n} from 'reactstrap';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport renderCheckBoxField from '../../../../shared/components/form/CheckBox';\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass AddInscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onStudentEnrollmentChanges: PropTypes.func.isRequired,\r\n handleFilterChangeText: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool,\r\n alumnoObj: PropTypes.shape({}),\r\n examen: PropTypes.shape({}).isRequired,\r\n alumnos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n filterValue: PropTypes.string,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n loading: false,\r\n alumnoObj: {},\r\n filterValue: '*',\r\n }\r\n\r\n getShowQuantities = () => (\r\n [{\r\n value: 1,\r\n description: 'Cantidad',\r\n checked: true,\r\n }]\r\n );\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n loading,\r\n onStudentEnrollmentChanges,\r\n handleFilterChangeText,\r\n onBack,\r\n alumnos = [],\r\n filterValue,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n {(\r\n <>\r\n \r\n
\r\n
\r\n No Inscriptos:\r\n \r\n {alumnos.filter(a => !a.selected).length}\r\n \r\n
\r\n
\r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n \r\n Filtrar alumnos:\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {\r\n loading\r\n ? \r\n : (\r\n
\r\n \r\n \r\n {alumnos.map(s => (\r\n \r\n \r\n onStudentEnrollmentChanges(v, s)}\r\n />\r\n \r\n \r\n ))}\r\n \r\n \r\n
\r\n )\r\n }\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxAddInscriptionForm = reduxForm({\r\n form: 'AddInscriptionForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(AddInscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxAddInscriptionForm);\r\n","const debounce = (mainFunction, delay) => {\r\n // Declare a variable called 'timer' to store the timer ID\r\n let timer;\r\n\r\n // Return an anonymous function that takes in any number of arguments\r\n return (...args) => {\r\n // Clear the previous timer to prevent the execution of 'mainFunction'\r\n clearTimeout(timer);\r\n\r\n // Set a new timer that will execute 'mainFunction' after the specified delay\r\n timer = setTimeout(() => {\r\n mainFunction(...args);\r\n }, delay);\r\n };\r\n};\r\n\r\nexport default debounce;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col, Container, Row, Badge,\r\n} from 'reactstrap';\r\nimport AddInscriptionForm from './AddInscriptionForm';\r\nimport {\r\n saveInscripcionesExamen,\r\n getFormData,\r\n} from '../../../../redux/actions/inscripcionExamenActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport Confirm from '../../../../shared/components/Confirm';\r\nimport debounce from '../../../../helpers/debounce';\r\n\r\nclass AddInscriptionFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n filterValue: '',\r\n sortColumn: 'name',\r\n sortType: 'desc',\r\n inscripcion: null,\r\n alumnos: [],\r\n editedStudentEnrollments: [],\r\n };\r\n\r\n this.handleOnStudentChange = this.handleOnStudentChange.bind(this);\r\n this.debouncedHandleFilterChangeText = debounce(this.handleFilterChangeText, 500);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormDatas({});\r\n }\r\n\r\n fetchFormDatas = ({ loadStudents = false, filterValue = '' }) => {\r\n const { idExamen } = this.props;\r\n getFormData({\r\n idExamen,\r\n loadStudents,\r\n onSuccess: ({ examen, alumnos = [] }) => {\r\n if (loadStudents) {\r\n this.setState({\r\n examen,\r\n alumnos,\r\n loading: false,\r\n filterValue,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n examen,\r\n alumnos,\r\n loading: false,\r\n filterValue,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { examen: { id: examenId } } = this.state;\r\n\r\n const { alumnos = [] } = values;\r\n\r\n const inscripcionExamenSaves = alumnos\r\n .filter(a => a.selected)\r\n .map(a => ({\r\n examenId,\r\n id: 0,\r\n selected: a.selected,\r\n perfilAlumnoId: a.student,\r\n usuarioId: a.user,\r\n }));\r\n\r\n const alumnosToShow = alumnos\r\n .filter(a => a.selected)\r\n .map(({ doc, name }) => (\r\n
\r\n \r\n {doc}\r\n \r\n {' '}{name}\r\n
\r\n ));\r\n\r\n if (inscripcionExamenSaves.length === 0) {\r\n return;\r\n }\r\n\r\n Confirm({\r\n title: 'Agregar alumnos a examen',\r\n question: (\r\n \r\n {`¿Estás seguro que deseas agregar estos alumnos(${inscripcionExamenSaves.length}) al examen?.`}\r\n
\r\n {alumnosToShow}\r\n
\r\n
),\r\n yesLabel: 'Si, agregar alumnos',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n saveInscripcionesExamen({\r\n examenId,\r\n inscripcionExamenSaves,\r\n }, {\r\n onSuccess: () => {\r\n const { history } = this.props;\r\n createSuccessMessage('Inscripciones a examen guardado exitosamente');\r\n\r\n history.push(`/pages/exams/edit/${examenId}`);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la inscripción examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnStudentChange = (value) => {\r\n const { inscripcion } = this.state;\r\n this.setState({\r\n inscripcion: {\r\n ...inscripcion,\r\n alumno: value,\r\n usuarioId: value.user,\r\n perfilAlumnoId: value.student,\r\n },\r\n });\r\n }\r\n\r\n onStudentEnrollmentChanges = (evt, student) => {\r\n if (!evt.currentTarget) {\r\n return false;\r\n }\r\n\r\n const id = student.student;\r\n\r\n const {\r\n editedStudentEnrollments,\r\n alumnos,\r\n } = this.state;\r\n\r\n const newAlumnos = [...alumnos];\r\n\r\n const elementsIndex = newAlumnos.findIndex(s => s.student === id);\r\n newAlumnos[elementsIndex] = {\r\n ...newAlumnos[elementsIndex],\r\n selected: !newAlumnos[elementsIndex].selected,\r\n changed: true,\r\n };\r\n\r\n const studentEnrollment = editedStudentEnrollments.find(i => i.studentId === id);\r\n if (!studentEnrollment) {\r\n this.setState({\r\n alumnos: newAlumnos,\r\n editedStudentEnrollments: [\r\n ...editedStudentEnrollments, {\r\n studentId: id,\r\n selected: evt.target.checked,\r\n },\r\n ],\r\n });\r\n } else {\r\n studentEnrollment.selected = evt.target.checked;\r\n this.setState({\r\n alumnos: newAlumnos,\r\n editedStudentEnrollments,\r\n });\r\n }\r\n\r\n return true;\r\n }\r\n\r\n handleFilterChangeText = ({ target: { value } }) => {\r\n const { loading } = this.state;\r\n if (loading) {\r\n this.setState({\r\n filterValue: value,\r\n });\r\n return;\r\n }\r\n\r\n const { alumnos = [] } = this.state;\r\n if (alumnos.length === 0 && value) {\r\n this.fetchFormDatas({ loadStudents: true, filterValue: value });\r\n return;\r\n }\r\n\r\n this.setState({\r\n filterValue: value,\r\n });\r\n };\r\n\r\n transformText = (value = '') => value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase();\r\n\r\n getAlumnos = () => {\r\n const {\r\n filterValue = '',\r\n sortColumn,\r\n sortType,\r\n alumnos = [],\r\n } = this.state;\r\n\r\n const filter = this.transformText(filterValue);\r\n\r\n const result = alumnos\r\n .filter(tma => (\r\n this.transformText(tma.doc).includes(filter)\r\n || this.transformText(tma.name).includes(filter)\r\n || this.transformText(tma.email).includes(filter)\r\n ))\r\n .sort((a, b) => (\r\n sortType !== 'asc' ? a[sortColumn].localeCompare(b[sortColumn]) : b[sortColumn].localeCompare(a[sortColumn])\r\n ));\r\n\r\n return result;\r\n };\r\n\r\n onShowOnlyEnrolledChanges = (evt) => {\r\n if (!evt.currentTarget) {\r\n return false;\r\n }\r\n\r\n this.fetchFormDatas();\r\n\r\n return true;\r\n }\r\n\r\n render() {\r\n const { history } = this.props;\r\n const {\r\n examen = {},\r\n inscripcion,\r\n loading,\r\n filterValue,\r\n } = this.state;\r\n\r\n const { materia = '' } = examen;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Seleccionar los alumnos a ser inscriptos al examen {materia}\r\n

\r\n \r\n
\r\n \r\n \r\n {!materia && }\r\n {materia && (\r\n \r\n )}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nAddInscriptionFormContainer.propTypes = {\r\n idExamen: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default AddInscriptionFormContainer;\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe seleccionar una materia';\r\n }\r\n\r\n if (!attrs.interventor || !attrs.interventor.value) {\r\n errors.interventor = 'Debe seleccionar un interventor';\r\n }\r\n\r\n if (attrs.interventorAuxiliar && attrs.interventorAuxiliar.value === attrs.interventor.value) {\r\n // errors.interventor = 'Ya seleccionó a este funcionario este como el interventor principal'\r\n }\r\n\r\n if (!attrs.fecha) {\r\n errors.fecha = 'Debe ingresar la fecha del examen';\r\n }\r\n\r\n if (!attrs.periodo || !attrs.periodo.value) {\r\n errors.periodo = 'Debe ingresar el periodo';\r\n }\r\n\r\n if (!attrs.nroActa) {\r\n errors.nroActa = 'Debe ingresar el número de acta';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card, CardBody, Col,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\n\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport DatePicker from '../../../shared/components/form/DatePicker';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport TooltipItem from '../../../shared/components/TooltipItem';\r\nimport validate from './validate';\r\nimport {\r\n Calificaciones,\r\n InstanciaExamen,\r\n} from '../../../constants/enums';\r\nimport { dateFormat } from '../../../helpers/dateFormat';\r\n\r\nimport {\r\n downloadAcademicStatusStudent,\r\n} from '../../../redux/actions/examActions';\r\n\r\nclass ExamForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onSubjectChanges: PropTypes.func.isRequired,\r\n handleDeleteInscription: PropTypes.func.isRequired,\r\n handleActualizarNotasProfesor: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n id: PropTypes.number,\r\n profesor: PropTypes.string,\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n periodosExamen: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n instanciasExamen: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n periodosLectivos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n inscriptos: PropTypes.arrayOf(PropTypes.shape({})),\r\n history: PropTypes.shape({}).isRequired,\r\n nroActa: PropTypes.string,\r\n fecha: PropTypes.string.isRequired,\r\n fechaLimiteInscripcion: PropTypes.string.isRequired,\r\n carrera: PropTypes.shape({}),\r\n periodo: PropTypes.shape({}),\r\n periodoLectivo: PropTypes.shape({}),\r\n materia: PropTypes.shape({}),\r\n interventor: PropTypes.shape({}),\r\n interventorAuxiliar: PropTypes.shape({}),\r\n estado: PropTypes.shape({}),\r\n }\r\n\r\n static defaultProps = {\r\n id: 0,\r\n submitting: false,\r\n profesor: '',\r\n nroActa: '',\r\n periodoLectivo: {},\r\n estado: {},\r\n periodo: {},\r\n interventorAuxiliar: {},\r\n interventor: {},\r\n materia: {},\r\n carrera: {},\r\n inscriptos: [],\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.editExamInscription = this.editExamInscription.bind(this);\r\n this.addExamInscription = this.addExamInscription.bind(this);\r\n this.deleteExamInscription = this.deleteExamInscription.bind(this);\r\n\r\n this.state = {\r\n loading: false,\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n filters: { id: 20 },\r\n currentUser: JSON.parse(localStorage.getItem('currentUser')) || {},\r\n inscriptos: props.inscriptos,\r\n };\r\n\r\n this.inputStyle = {\r\n fontSize: '18px',\r\n width: '100px',\r\n height: '36px',\r\n color: 'greenyellow',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n backgroundColor: '#232329',\r\n };\r\n\r\n this.scoreInputStyle = {\r\n fontSize: '20px',\r\n height: '36px',\r\n color: 'cyan',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n backgroundColor: '#232329',\r\n };\r\n\r\n this.columns = ({ canEdit, addButton }) => [\r\n /* {\r\n key: 'numeroLegajo',\r\n name: '# Legajo',\r\n width: '80px',\r\n search: false,\r\n type: 'number',\r\n }, */\r\n {\r\n key: 'numeroDocumento',\r\n name: '# Documento',\r\n search: false,\r\n type: 'number',\r\n width: '110px',\r\n },\r\n {\r\n key: 'alumno',\r\n name: 'Alumno',\r\n search: false,\r\n format: row => (`${row.apellido}, ${row.nombre}`.trim()),\r\n },\r\n {\r\n key: 'esRecuperatorio',\r\n name: 'Instancia',\r\n search: false,\r\n className: 'text-center',\r\n format: ({ id, instancia }) => {\r\n let color = 'danger';\r\n if (instancia.value === 1) {\r\n color = 'info';\r\n }\r\n\r\n if (instancia.value === 0) {\r\n color = 'success';\r\n }\r\n\r\n return (\r\n \r\n {\r\n \r\n }\r\n \r\n );\r\n },\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: 'Porcentaje Asistencia',\r\n search: false,\r\n editable: canEdit,\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n },\r\n {\r\n key: 'porcentajePP',\r\n name: 'Porcentaje PP',\r\n search: false,\r\n editable: canEdit,\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n },\r\n {\r\n key: 'porcentajePF',\r\n name: 'Porcentaje PF',\r\n search: false,\r\n editable: canEdit,\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n },\r\n {\r\n key: 'porcentajePC',\r\n name: 'Porcentaje PC',\r\n search: false,\r\n editable: false,\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n format: ({ id, porcentajePC, calificacion }) => {\r\n const score = Calificaciones.find(c => c.value === calificacion) || {};\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n {\r\n key: 'calificacion',\r\n name: Calificación,\r\n search: false,\r\n editable: false,\r\n type: 'number',\r\n className: 'text-center',\r\n inputStyle: this.scoreInputStyle,\r\n min: '0',\r\n max: '5',\r\n step: '1',\r\n format: ({ id, calificacion }) => this.showScore({\r\n id,\r\n calificacion: Calificaciones.find(c => c.value === calificacion) || {},\r\n }),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '85px',\r\n visible: addButton && canEdit,\r\n },\r\n ];\r\n this.actions = ({ addButton }) => [\r\n {\r\n key: addButton ? 'edit' : '',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.editExamInscription(inscription);\r\n },\r\n },\r\n {\r\n key: addButton ? 'delete' : '',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.deleteExamInscription(inscription);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n showScore = ({ id, calificacion }) => (\r\n \r\n {\r\n \r\n }\r\n \r\n );\r\n\r\n autoguardarNota = (row, key, value) => {\r\n const { inscriptos } = this.state;\r\n const trow = inscriptos.find(r => r.id === row.id);\r\n\r\n if (!trow) return;\r\n trow[key] = +value;\r\n\r\n const {\r\n id: inscripcionId, porcentajeAsistencia, porcentajePC, porcentajePF, porcentajePP, calificacion,\r\n } = {\r\n ...row,\r\n [key]: +value,\r\n };\r\n\r\n const { handleActualizarNotasProfesor } = this.props;\r\n\r\n handleActualizarNotasProfesor({\r\n inscripcionId, porcentajeAsistencia, porcentajePC, porcentajePF, porcentajePP, calificacion,\r\n });\r\n };\r\n\r\n editExamInscription = (inscription) => {\r\n if (inscription) {\r\n const { id, history } = this.props;\r\n history.push(`/pages/exams/inscription/${id}/${inscription.id}`);\r\n }\r\n };\r\n\r\n addExamInscription = () => {\r\n const { id, history } = this.props;\r\n history.push(`/pages/exams/inscription/${id}`);\r\n };\r\n\r\n deleteExamInscription = (inscription) => {\r\n if (inscription) {\r\n const { handleDeleteInscription } = this.props;\r\n handleDeleteInscription(inscription);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const { estado = { value: 0 } } = this.props;\r\n const { currentUser } = this.state;\r\n const addButton = currentUser.esAdmin || currentUser.esFuncionario;\r\n\r\n const actions = {\r\n actions: this.actions({ addButton, esProfesor: currentUser.esProfesor }).filter(a => a.key),\r\n };\r\n\r\n return estado.value === 0 && actions[key];\r\n }\r\n\r\n handleShowPreviewRecuperatorioExam = ({ id, estado }) => {\r\n const { history } = this.props;\r\n if (estado.value === 1) {\r\n history.push(`/pages/exams/show-recuperatorio-report/${id}`);\r\n }\r\n };\r\n\r\n handleDownloadRespaldoDocente = ({ id, materia }) => {\r\n const [materiaName] = materia.label\r\n .replace('(', '-')\r\n .replace(')', '')\r\n .split('-')\r\n .map(it => it.trim());\r\n\r\n\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent({ id, materiaName }, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Archivo descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar descargar la planilla de calificaciones del examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleShowPreviewExam = (examen) => {\r\n const { history } = this.props;\r\n const {\r\n id,\r\n materia,\r\n fecha,\r\n nroActa,\r\n estado,\r\n } = examen;\r\n\r\n const style = { dateStyle: 'short' };\r\n const dateFormated = new Intl.DateTimeFormat('en-GB', style).format(new Date(fecha));\r\n const [materiaName, carreraName] = materia.label\r\n .replace('(', '-')\r\n .replace(')', '')\r\n .split('-')\r\n .map(it => it.trim());\r\n\r\n\r\n const confirmData = {\r\n title: `Imprimir Examen ${materiaName} ${carreraName}`,\r\n noLabel: 'No, Volver',\r\n color: 'success',\r\n };\r\n\r\n if (estado.value === 1) {\r\n const question = (\r\n <>\r\n ¿{`Imprimir el acta o planilla de calificaciones del examen \r\n ${materia.label} del ${dateFormated} Acta N`}º{` ${nroActa}?`\r\n }\r\n \r\n );\r\n\r\n confirmData.question = question;\r\n confirmData.yesLabel = 'Imprimir Acta';\r\n confirmData.otherLabel = 'Descargar Acta';\r\n\r\n confirmData.onConfirm = () => {\r\n history.push(`/pages/exams/show-report/${id}`);\r\n };\r\n confirmData.onOther = () => {\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent({ id: examen.id, materiaName }, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Archivo descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar descargar la planilla de calificaciones del examen');\r\n }\r\n },\r\n });\r\n };\r\n }\r\n\r\n if (estado.value === 0) {\r\n const question = (\r\n <>\r\n ¿{`Imprimir planilla de calificaciones del examen\r\n ${materia.label} del ${dateFormated} Acta N`}º{` ${nroActa}?`\r\n }\r\n \r\n );\r\n\r\n confirmData.question = question;\r\n confirmData.yesLabel = 'Descargar Acta';\r\n confirmData.onConfirm = () => {\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent({ id: examen.id, materiaName }, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Archivo descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar descargar la planilla de calificaciones del examen');\r\n }\r\n },\r\n });\r\n };\r\n }\r\n\r\n Confirm(confirmData);\r\n };\r\n\r\n printFinalButton = () => {\r\n const {\r\n id,\r\n estado,\r\n history,\r\n instanciasExamen = [],\r\n } = this.props;\r\n\r\n if (!id || estado.value !== 1) {\r\n return null;\r\n }\r\n\r\n return instanciasExamen.filter(i => i.value === InstanciaExamen.Final)\r\n .map(i => (\r\n history.push(`/pages/exams/show-final-report/${id}`)}\r\n >\r\n \r\n {' '}\r\n Imprimir Acta {i.label}\r\n \r\n ));\r\n }\r\n\r\n printAllButton = () => {\r\n const {\r\n id,\r\n history,\r\n } = this.props;\r\n\r\n if (!id) {\r\n return null;\r\n }\r\n\r\n return (\r\n history.push(`/pages/exams/show-all-report/${id}`)}\r\n >\r\n \r\n {' '}\r\n Imprimir Lista Inscriptos\r\n \r\n );\r\n }\r\n\r\n printRecuperatorioButton = () => {\r\n const {\r\n id,\r\n estado,\r\n history,\r\n instanciasExamen = [],\r\n inscriptos = [],\r\n } = this.props;\r\n\r\n if (!id || estado.value !== 1) {\r\n return null;\r\n }\r\n\r\n const existsRecuperatorio = inscriptos.some(({ instancia }) => instancia.value === InstanciaExamen.Recuperatorio);\r\n if (!existsRecuperatorio) {\r\n return null;\r\n }\r\n\r\n return instanciasExamen.filter(i => i.value === InstanciaExamen.Recuperatorio)\r\n .map(i => (\r\n history.push(`/pages/exams/show-recuperatorio-report/${id}`)}\r\n >\r\n \r\n {' '}\r\n Imprimir Acta {i.label}\r\n \r\n ));\r\n }\r\n\r\n descargarRespaldoDocenteButton = () => {\r\n const {\r\n id,\r\n estado,\r\n nroActa,\r\n fecha,\r\n materia = {},\r\n } = this.props;\r\n\r\n if (!id) {\r\n return null;\r\n }\r\n\r\n return (\r\n this.handleDownloadRespaldoDocente({\r\n id,\r\n materia,\r\n fecha,\r\n nroActa,\r\n estado,\r\n })}\r\n >\r\n \r\n {' '}\r\n Descargar Respaldo Docente\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n currentUser,\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n id,\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n profesores = [],\r\n materias,\r\n carreras,\r\n profesor,\r\n onFilterChanges,\r\n onSubjectChanges,\r\n periodosLectivos,\r\n periodosExamen,\r\n estado,\r\n nroActa,\r\n fecha,\r\n fechaLimiteInscripcion,\r\n carrera = {},\r\n periodo = {},\r\n periodoLectivo = {},\r\n materia = {},\r\n interventor = {},\r\n interventorAuxiliar = {},\r\n inscriptos,\r\n } = this.props;\r\n\r\n const addButton = currentUser.esAdmin || currentUser.esFuncionario;\r\n\r\n const canEdit = estado.value === 0 && addButton;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
Datos del examen
\r\n
\r\n \r\n \r\n
\r\n Carrera\r\n
\r\n {\r\n canEdit\r\n ? (\r\n onFilterChanges('carrera', 'carreraId', v)}\r\n />\r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Periodo Lectivo\r\n
\r\n {canEdit\r\n ? (\r\n onFilterChanges('periodoLectivo', 'periodoLectivoId', v)}\r\n />\r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n {canEdit\r\n ? (\r\n onSubjectChanges('materia', 'materiaPeriodoId', v)}\r\n />\r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Interventor 1\r\n
\r\n {canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Profesor a cargo\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Interventor 2\r\n
\r\n {canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Fecha de examen\r\n
\r\n {\r\n canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Fecha Límite Inscripción\r\n
\r\n {\r\n canEdit\r\n ? (\r\n \r\n )\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Periodo del examen\r\n
\r\n {\r\n canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n Número de acta\r\n
\r\n {\r\n canEdit\r\n ? (\r\n \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n {canEdit && (\r\n Guardar\r\n \r\n )}\r\n Cancelar - Volver\r\n \r\n {this.printFinalButton()}\r\n {this.printRecuperatorioButton()}\r\n {this.descargarRespaldoDocenteButton()}\r\n {this.printAllButton()}\r\n
\r\n
\r\n {id && (\r\n
\r\n {canEdit && (\r\n <>\r\n this.addExamInscription()}\r\n >\r\n Agregar/Quitar Alumnos\r\n \r\n \r\n )}\r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n
\r\n )}\r\n
\r\n {canEdit && (\r\n Guardar\r\n \r\n )}\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxExamForm = reduxForm({\r\n form: 'ExamForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(ExamForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxExamForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport ExamForm from './ExamForm';\r\nimport {\r\n fetchExam,\r\n saveExam,\r\n fetchFormDatas,\r\n} from '../../../redux/actions/examActions';\r\nimport {\r\n deleteInscripcionExamen,\r\n actualizarNotasProfesor,\r\n} from '../../../redux/actions/inscripcionExamenActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport { dateTimeString } from '../../../helpers/dateFormat';\r\n\r\nclass ExamFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n exam: {},\r\n inscriptos: [],\r\n instanciasExamen: [],\r\n loading: true,\r\n };\r\n\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.handleOnSubjectChange = this.handleOnSubjectChange.bind(this);\r\n this.handleDeleteInscription = this.handleDeleteInscription.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchCurrentExam();\r\n }\r\n\r\n fetchCurrentExam = () => {\r\n const { id, history } = this.props;\r\n\r\n if (!id) {\r\n this.setState({\r\n exam: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n fechaLimiteInscripcion: new Date().toISOString(),\r\n estado: { value: 0 },\r\n },\r\n inscriptos: [],\r\n });\r\n\r\n this.fetchDatasList();\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchExam(id, {\r\n onSuccess: (dto) => {\r\n const { materia } = dto;\r\n const { interventor, interventorAuxiliar } = dto;\r\n const exam = {\r\n ...dto,\r\n interventor: {\r\n value: dto.interventorId,\r\n label: `${interventor}`,\r\n },\r\n interventorAuxiliar: {\r\n value: dto.interventorAuxiliarId,\r\n label: `${interventorAuxiliar}`,\r\n },\r\n materia: {\r\n value: dto.materiaPeriodoId,\r\n label: `${materia}`,\r\n },\r\n carrera: {\r\n value: dto.carreraId,\r\n label: dto.carrera,\r\n },\r\n periodo: {\r\n value: dto.periodo,\r\n label: dto.periodo,\r\n },\r\n periodoLectivo: {\r\n value: dto.periodoLectivoId,\r\n label: dto.periodoLectivo,\r\n },\r\n };\r\n\r\n const { inscriptos } = dto;\r\n if (exam.inscriptos) {\r\n delete exam.inscriptos;\r\n }\r\n\r\n this.setState({\r\n exam,\r\n inscriptos,\r\n loading: false,\r\n });\r\n\r\n this.fetchDatasList(dto.periodoLectivoId);\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loading: false,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n history.push('/pages/exams');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchDatasList = (anhoLectivoId = 0) => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas(anhoLectivoId, {\r\n onSuccess: ({\r\n carreras,\r\n materias,\r\n profesores,\r\n periodosLectivos,\r\n periodosExamen,\r\n instanciasExamen,\r\n }) => this.setState({\r\n carreras,\r\n materias,\r\n profesores,\r\n periodosLectivos,\r\n periodosExamen,\r\n instanciasExamen,\r\n loading: false,\r\n }),\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const {\r\n id,\r\n materia,\r\n interventor,\r\n interventorAuxiliar,\r\n fecha,\r\n fechaLimiteInscripcion,\r\n aula,\r\n nroActa,\r\n } = values;\r\n const { value: materiaPeriodoId } = materia;\r\n const { value: interventorId } = interventor;\r\n const { periodo: { label: periodo } } = values;\r\n const { value: interventorAuxiliarId } = (interventorAuxiliar || {});\r\n\r\n const params = {\r\n id,\r\n fecha: dateTimeString(fecha),\r\n fechaLimiteInscripcion: dateTimeString(fechaLimiteInscripcion),\r\n materiaPeriodoId,\r\n interventorId,\r\n interventorAuxiliarId,\r\n periodo,\r\n aula,\r\n nroActa,\r\n };\r\n\r\n const { history } = this.props;\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n saveExam(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Examen guardado exitosamente');\r\n history.push('/pages/exams');\r\n },\r\n onError: (error = {}) => {\r\n this.setState({\r\n loading: false,\r\n });\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleDeleteInscription = (inscription) => {\r\n const name = `${inscription.nombre} ${inscription.apellido}`;\r\n Confirm({\r\n title: 'Borrar inscripción de examen',\r\n question: `Estás seguro que deseas eliminar la inscripción de ${name}?`,\r\n yesLabel: 'Si, Borrar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n deleteInscripcionExamen(inscription.id, {\r\n onSuccess: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n createSuccessMessage('Examen borrado exitosamente');\r\n this.fetchCurrentExam();\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loading: false,\r\n });\r\n if (error && error.status === 404) {\r\n createErrorMessage('La inscripción de examen no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar la inscripción examen');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleActualizarNotasProfesor = ({\r\n inscripcionId, porcentajeAsistencia, porcentajePC, porcentajePF, porcentajePP, calificacion,\r\n }) => {\r\n actualizarNotasProfesor({\r\n inscripcionId, porcentajeAsistencia, porcentajePC, porcentajePF, porcentajePP, calificacion,\r\n }, {\r\n onSuccess: (inscription) => {\r\n const { inscriptos } = this.state;\r\n\r\n const newInscriptos = [...inscriptos];\r\n const elementsIndex = newInscriptos.findIndex(s => s.id === inscription.id);\r\n\r\n newInscriptos[elementsIndex] = inscription;\r\n\r\n this.setState({\r\n inscriptos: newInscriptos,\r\n });\r\n\r\n createSuccessMessage('Asistencia y/o notas guardada(s) exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia y/o nota.');\r\n }\r\n },\r\n });\r\n };\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { exam } = this.state;\r\n if (idKey === 'carreraId') {\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n\r\n materiaPeriodoId: 0,\r\n materia: { value: 0, label: '-' },\r\n\r\n periodoLectivoId: 0,\r\n periodoLectivo: { value: 0, label: '-' },\r\n\r\n interventorId: 0,\r\n interventor: { value: 0, label: '-' },\r\n\r\n profesorId: 0,\r\n profesor: '',\r\n },\r\n });\r\n } else if (idKey === 'periodoLectivoId') {\r\n if (value.value > 0) {\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n\r\n materiaPeriodoId: 0,\r\n materia: { value: 0, label: '-' },\r\n\r\n interventorId: 0,\r\n interventor: { value: 0, label: '-' },\r\n\r\n profesorId: 0,\r\n profesor: '',\r\n },\r\n });\r\n\r\n this.fetchDatasList(value.value);\r\n } else {\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n materiaPeriodoId: 0,\r\n materia: { value: 0, label: '-' },\r\n\r\n periodoLectivoId: 0,\r\n periodoLectivo: { value: 0, label: '-' },\r\n\r\n interventorId: 0,\r\n interventor: { value: 0, label: '-' },\r\n\r\n profesorId: 0,\r\n profesor: '',\r\n },\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n },\r\n });\r\n }\r\n }\r\n\r\n filtrarMaterias = (carreraId) => {\r\n const { materias } = this.state;\r\n if (!materias || !carreraId) {\r\n return [];\r\n }\r\n\r\n return materias.filter(m => m.parentId === carreraId);\r\n }\r\n\r\n handleOnSubjectChange = (objectKey, idKey, value) => {\r\n const { exam } = this.state;\r\n const profesor = value.nombre ? `${value.nombre} ${value.apellido}` : '';\r\n let { interventorId, interventor } = exam;\r\n\r\n if (!interventorId) {\r\n interventorId = value.usuarioId;\r\n interventor = { value: interventorId, label: profesor };\r\n } else {\r\n interventorId = 0;\r\n interventor = { value: interventorId, label: profesor };\r\n }\r\n\r\n this.setState({\r\n exam: {\r\n ...exam,\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n profesor,\r\n interventor,\r\n interventorId,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n exam,\r\n profesores,\r\n carreras = [],\r\n periodosLectivos,\r\n periodosExamen,\r\n instanciasExamen = [],\r\n inscriptos,\r\n loading,\r\n } = this.state;\r\n\r\n if (!exam || carreras.length === 0 || loading) {\r\n return ;\r\n }\r\n\r\n const materias = this.filtrarMaterias(exam.carreraId);\r\n const { estado } = exam;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id && estado.value === 0 && 'Editar'}{!id && 'Nuevo'}{id && estado.value !== 0 && 'Ver'} examen\r\n

\r\n

\r\n {id ? '' : ''}\r\n {id && estado.value === 0 && 'Modificar '}{!id && 'Ingresa '}{id && estado.value !== 0 && 'Ver '}\r\n la información del examen\r\n

\r\n \r\n
\r\n \r\n \r\n {!(profesores && carreras)\r\n ? ()\r\n : (\r\n \r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nExamFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default ExamFormContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport '../../../scss/component/print-styles.scss';\r\nimport { fetchExamPrintPreview } from '../../../redux/actions/examActions';\r\nimport { createErrorMessage } from '../../../helpers/notification';\r\nimport { dateFormat, timeFormat } from '../../../helpers/dateFormat';\r\nimport {\r\n Calificaciones, InstanciaExamen,\r\n} from '../../../constants/enums';\r\n\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass PreviewFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchCurrentExam(InstanciaExamen.Final);\r\n }\r\n\r\n fetchCurrentExam = (instanciaExamen) => {\r\n const { id, history } = this.props;\r\n if (!id) {\r\n this.setState({\r\n exam: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n },\r\n });\r\n\r\n this.fetchDatasList();\r\n return;\r\n }\r\n\r\n fetchExamPrintPreview(id, instanciaExamen, {\r\n onSuccess: (exam) => {\r\n this.setState({ exam });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n history.push('/pages/exams');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n getCalificacionText = (calificacion) => {\r\n const calificacionObj = Calificaciones.find(c => c.value === calificacion) || {};\r\n return calificacionObj.desciption;\r\n }\r\n\r\n render() {\r\n const { exam } = this.state;\r\n if (!exam) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n {`EXAMEN ${exam.periodo}`.toUpperCase()} \r\n \r\n \r\n \r\n

\r\n

\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n ASIGNATURA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.materia}`.toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n SEMESTRE:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.semestre}`.toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n PROFESOR:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.profesor}`.toUpperCase()}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n INTERVENTOR:\r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.interventor}`.toUpperCase()}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n FECHA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${dateFormat(exam.fecha)}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n HORA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${timeFormat(exam.fecha)}`}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

\r\n

\r\n \r\n \r\n ALUMNOS\r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {exam.inscriptos.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

\r\n CALIFICACIóN\r\n

\r\n
\r\n \r\n
\r\n

\r\n

\r\n \r\n \r\n \r\n \r\n OBSERVACIÓN\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

\r\n NÚM.\r\n

\r\n
\r\n

\r\n LETRAS\r\n

\r\n
\r\n

\r\n \r\n \r\n \r\n {`${index + 1}.`}\r\n \r\n \r\n \r\n \r\n \r\n {`${item.apellido}, ${item.nombre}`}\r\n \r\n \r\n \r\n \r\n

\r\n\r\n
\r\n \r\n \r\n \r\n {` ${item.calificacion || '-'}`}\r\n \r\n \r\n \r\n \r\n

\r\n \r\n \r\n \r\n {` ${this.getCalificacionText(item.calificacion)}`}\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

.....................

\r\n
\r\n
\r\n

.....................

\r\n
\r\n
\r\n

.....................

\r\n
\r\n\r\n
\r\n

Interventor

\r\n
\r\n
\r\n

Decano

\r\n
\r\n
\r\n

Profesor

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nPreviewFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default PreviewFormContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport '../../../scss/component/print-styles.scss';\r\nimport { fetchExamPrintPreview } from '../../../redux/actions/examActions';\r\nimport { createErrorMessage } from '../../../helpers/notification';\r\nimport { dateFormat, timeFormat } from '../../../helpers/dateFormat';\r\nimport {\r\n Calificaciones, InstanciaExamen,\r\n} from '../../../constants/enums';\r\n\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass PreviewFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchCurrentExam(InstanciaExamen.Recuperatorio);\r\n }\r\n\r\n fetchCurrentExam = (instanciaExamen) => {\r\n const { id, history } = this.props;\r\n if (!id) {\r\n this.setState({\r\n exam: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n },\r\n });\r\n\r\n this.fetchDatasList();\r\n return;\r\n }\r\n\r\n fetchExamPrintPreview(id, instanciaExamen, {\r\n onSuccess: (exam) => {\r\n this.setState({ exam });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n history.push('/pages/exams');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n getCalificacionText = (calificacion) => {\r\n const calificacionObj = Calificaciones.find(c => c.value === calificacion) || {};\r\n return calificacionObj.desciption;\r\n }\r\n\r\n getValue = (value) => {\r\n const number = Number(value);\r\n if (number === 0) {\r\n return 0;\r\n }\r\n\r\n if (!number) {\r\n return '-';\r\n }\r\n\r\n return number;\r\n }\r\n\r\n render() {\r\n const { exam } = this.state;\r\n if (!exam) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n {`EXAMEN ${exam.periodo}`.toUpperCase()} \r\n \r\n \r\n \r\n

\r\n

\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n ASIGNATURA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.materia}`.toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n SEMESTRE:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.semestre}`.toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n PROFESOR:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.profesor}`.toUpperCase()}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n INTERVENTOR:\r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.interventor}`.toUpperCase()}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n FECHA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${dateFormat(exam.fecha)}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n HORA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${timeFormat(exam.fecha)}`}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n \r\n ALUMNOS\r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n {exam.inscriptos.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

\r\n PC\r\n

\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n OBSERVACIÓN\r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

\r\n \r\n \r\n \r\n {`${index + 1}.`}\r\n \r\n \r\n \r\n \r\n \r\n {`${item.apellido}, ${item.nombre}`}\r\n \r\n \r\n \r\n \r\n

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {` ${this.getValue(item.porcentajePF)}`}\r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

.....................

\r\n
\r\n
\r\n

.....................

\r\n
\r\n
\r\n

.....................

\r\n
\r\n\r\n
\r\n

Interventor

\r\n
\r\n
\r\n

Decano

\r\n
\r\n
\r\n

Profesor

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nPreviewFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default PreviewFormContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport '../../../scss/component/print-styles.scss';\r\nimport { fetchExamPrintPreview } from '../../../redux/actions/examActions';\r\nimport { createErrorMessage } from '../../../helpers/notification';\r\nimport { dateFormat, timeFormat } from '../../../helpers/dateFormat';\r\nimport {\r\n Calificaciones,\r\n} from '../../../constants/enums';\r\n\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass PreviewFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchCurrentExam();\r\n }\r\n\r\n fetchCurrentExam = () => {\r\n const { id, history } = this.props;\r\n if (!id) {\r\n this.setState({\r\n exam: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n },\r\n });\r\n\r\n this.fetchDatasList();\r\n return;\r\n }\r\n\r\n fetchExamPrintPreview(id, null, {\r\n onSuccess: (exam) => {\r\n this.setState({ exam });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El examen no existe');\r\n history.push('/pages/exams');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del examen');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n getCalificacionText = (calificacion) => {\r\n const calificacionObj = Calificaciones.find(c => c.value === calificacion) || {};\r\n return calificacionObj.desciption;\r\n }\r\n\r\n render() {\r\n const { exam } = this.state;\r\n if (!exam) {\r\n return ;\r\n }\r\n\r\n const ciLabel = <>C.I. Nº;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n \r\n
\r\n

\r\n \r\n CARRERA DE INGENIERÍA{` ${exam.carrera}`.toUpperCase()}\r\n \r\n

\r\n

\r\n
\r\n

\r\n

\r\n
\r\n

\r\n

\r\n \r\n \r\n \r\n LISTA DE INSCRIPTOS\r\n \r\n \r\n \r\n

\r\n

\r\n \r\n \r\n \r\n {`EXAMEN ${exam.periodo}`.toUpperCase()} \r\n \r\n \r\n \r\n

\r\n

\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n ASIGNATURA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.materia}`.toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n SEMESTRE:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.semestre}`.toUpperCase()}\r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n \r\n PROFESOR:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.profesor}`.toUpperCase()}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n INTERVENTOR:\r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${exam.interventor}`.toUpperCase()}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n FECHA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${dateFormat(exam.fecha)}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n HORA:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${timeFormat(exam.fecha)}`}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {exam.inscriptos.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

\r\n ALUMNOS\r\n

\r\n
\r\n

\r\n {ciLabel}\r\n

\r\n
\r\n

\r\n ASISTENCIA\r\n

\r\n
\r\n

\r\n PP\r\n

\r\n
\r\n

\r\n INSTANCIA\r\n

\r\n
\r\n

\r\n \r\n \r\n \r\n {`${index + 1}.`}\r\n \r\n \r\n \r\n \r\n \r\n {`${item.apellido}, ${item.nombre}`}\r\n \r\n \r\n \r\n \r\n

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {item.numeroDocumento}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${item.porcentajeAsistencia || 0}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${item.porcentajePP || 0}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {` ${item.instancia.label || '-'}`}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

.....................

\r\n
\r\n
\r\n

.....................

\r\n
\r\n
\r\n

.....................

\r\n
\r\n\r\n
\r\n

Interventor

\r\n
\r\n
\r\n

Decano

\r\n
\r\n
\r\n

Profesor

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nPreviewFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default PreviewFormContainer;\r\n","import React from 'react';\nimport { Card, CardBody, Col } from 'reactstrap';\n\nconst ExampleCard = () => (\n \n \n \n
\n
Informacion de la materias
\n
Facultad de Ingenieria
\n
\n

materias...

\n
\n
\n \n);\n\nexport default ExampleCard;\n","import React from 'react';\nimport { Col, Container, Row } from 'reactstrap';\nimport ExampleCard from './components/ExampleCard';\n\nconst MateriasPage = () => (\n \n \n \n

Materias

\n \n
\n \n \n \n \n \n \n
\n);\n\nexport default MateriasPage;\n","import React from 'react';\nimport { Card, CardBody, Col } from 'reactstrap';\n\nconst ExampleCard = () => (\n \n \n \n
\n
Malla
\n
Facultad de Ingenieria
\n
\n

Página en Construcción!

\n
\n
\n \n);\n\nexport default ExampleCard;\n","import React from 'react';\nimport { Col, Container, Row } from 'reactstrap';\nimport ExampleCard from './components/ExampleCard';\n\nconst MallaPage = () => (\n \n \n \n

Mallas

\n \n
\n \n \n \n
\n);\n\nexport default MallaPage;\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n UncontrolledPopover,\r\n PopoverHeader,\r\n PopoverBody,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n filter,\r\n remove,\r\n} from '../../redux/actions/materiaPeriodoActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass MateriaPeriodoContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 10 },\r\n };\r\n this.columns = [\r\n { key: 'id', name: '#', width: '85px' },\r\n { key: 'anho', name: 'Periodo', width: '85px' },\r\n { key: 'malla', name: 'Malla', search: true },\r\n {\r\n key: 'semestreNroOrden',\r\n name: 'Semestre',\r\n width: '85px',\r\n format: row => `${row.semestreNroOrden}º`,\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: true,\r\n format: ({ codigoMateria, materia, seccion }) => (\r\n
{codigoMateria}{` ${materia} ${seccion}`}
\r\n ),\r\n },\r\n {\r\n key: 'codigoMateria', name: 'Código Materia', search: true, visible: false,\r\n },\r\n {\r\n key: 'profesores',\r\n name: 'Profesor(es)',\r\n format: row => row.profesores.map(m => (\r\n
\r\n {m.role === 'Asistente' ? 'Aux:' : 'Enc:'} {m.nombre} {m.apellido}\r\n
\r\n )),\r\n },\r\n {\r\n key: 'cantidadInscriptos',\r\n name: 'Alumnos inscriptos',\r\n search: false,\r\n className: 'text-center',\r\n width: '150px',\r\n format: row => (

{row.cantidadInscriptos}

),\r\n },\r\n {\r\n key: 'tieneHorario',\r\n name: 'Horario',\r\n search: false,\r\n className: 'text-center',\r\n width: '100px',\r\n format: row => (\r\n

\r\n \r\n {row.tieneHorario ? 'Si' : 'No'}\r\n \r\n

\r\n ),\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (record) => {\r\n this.edit(record);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: row => (\r\n <>\r\n \r\n \r\n No se puede borrar la materia\r\n Hay alumnos inscriptos en la materia.\r\n \r\n \r\n ),\r\n callback: (record) => {\r\n if (!record.cantidadInscriptos) {\r\n this.handleDeleteAction(record);\r\n }\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateExamsTable(page, pageSize);\r\n }\r\n\r\n updateExamsTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n filter({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ items, totalItemsCount }) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias por periodo');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteAction = (record) => {\r\n const name = `${record.materia}`;\r\n Confirm({\r\n title: 'Borrar materia por periodo',\r\n question: `Estás seguro que deseas eliminar esta materia \"${name}\" del periodo?`,\r\n yesLabel: 'Si, Borrar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n remove(record.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateExamsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La matria para este periodo no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar materia del periodo');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n edit = (record) => {\r\n const { history } = this.props;\r\n history.push(`/pages/subjects-periods/edit/${record.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateExamsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Lista de materias por periodo

\r\n
\r\n \r\n Agregar nueva materia a periodo\r\n \r\n
\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(MateriaPeriodoContainer);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\n\r\nconst ObjetivosMateriaTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n items,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n \r\n
\r\n ) : null\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n\r\n \r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n ) : null\r\n }\r\n \r\n );\r\n })\r\n }\r\n \r\n
#Objetivo{' '}
\r\n
\r\n

{items[index].index + 1}

\r\n
\r\n
\r\n
\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n />\r\n
\r\n
\r\n
\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nObjetivosMateriaTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nObjetivosMateriaTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default ObjetivosMateriaTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\n\r\nconst CronogramaClasesTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n items,\r\n profesores,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n \r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n \r\n
\r\n ) : null\r\n }\r\n \r\n \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n
\r\n

#{index + 1}

\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n ) : null\r\n }\r\n
\r\n \r\n\r\n
\r\n
\r\n Fecha:\r\n
\r\n \r\n onChangeText({\r\n target: { name: `${objetivo}.fecha`, value: newValue }, name: fields.name, index,\r\n })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n\r\n
\r\n
\r\n
\r\n
\r\n Profesor:\r\n
\r\n onChangeSelect({\r\n option: props,\r\n name: fields.name,\r\n target: { name: `${objetivo}.profesorMateria` },\r\n index,\r\n })}\r\n options={profesores}\r\n component={renderSelectField}\r\n isDisabled={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n
\r\n Unidad:\r\n
\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Contenido:\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nCronogramaClasesTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nCronogramaClasesTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default CronogramaClasesTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\n\r\nconst PracticaLaboratorioTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n items,\r\n profesores,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n \r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n \r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n \r\n
\r\n \r\n \r\n ) : null\r\n }\r\n \r\n \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n
\r\n

#{index + 1}

\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n ) : null\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n Profesor\r\n
\r\n onChangeSelect({\r\n option: props,\r\n name: fields.name,\r\n target: { name: `${objetivo}.profesorMateria` },\r\n index,\r\n })}\r\n options={profesores}\r\n component={renderSelectField}\r\n isDisabled={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Duración\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Actividad\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Descripción\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Material de apoyo\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nPracticaLaboratorioTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nPracticaLaboratorioTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default PracticaLaboratorioTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\n\r\nconst ProyectoTrabajoPracticoTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n onChangeSelect,\r\n items,\r\n profesores,\r\n duracionActividad,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n \r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n \r\n
\r\n \r\n \r\n ) : null\r\n }\r\n \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n
\r\n

#{index + 1}

\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n ) : null\r\n }\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n Profesor\r\n
\r\n onChangeSelect({\r\n option: props,\r\n name: fields.name,\r\n target: { name: `${objetivo}.profesorMateria` },\r\n index,\r\n })}\r\n options={profesores}\r\n component={renderSelectField}\r\n isDisabled={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Duración\r\n
\r\n onChangeSelect({\r\n option: props, name: fields.name, target: { name: `${objetivo}.duracion` }, index,\r\n })}\r\n options={duracionActividad}\r\n component={renderSelectField}\r\n isDisabled={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n Actividad\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Descripción\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Evaluación\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n );\r\n })\r\n }\r\n \r\n
\r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nProyectoTrabajoPracticoTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n duracionActividad: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nProyectoTrabajoPracticoTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default ProyectoTrabajoPracticoTable;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Row,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\n\r\nconst ActividadComplementariaTable = ({\r\n materiaPeriodo,\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n onChangeText,\r\n items,\r\n}) => {\r\n const isNew = items.some(o => !o.deleted && o.id === 0);\r\n return (\r\n
\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n \r\n \r\n
\r\n \r\n \r\n onAddItemArray({ name: fields.name })}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n \r\n
\r\n \r\n \r\n ) : null\r\n }\r\n \r\n \r\n \r\n {fields.map((objetivo, index) => {\r\n if (!items[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n 0 && isNew)) ? 'hidden' : ''}\r\n >\r\n \r\n
\r\n

#{index + 1}

\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n ) : null\r\n }\r\n
\r\n \r\n \r\n
\r\n Descripción de la Actividad\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Beneficiarios\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Fechas\r\n
\r\n onChangeText({ target, name: fields.name, index })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Cantidad de Horas\r\n
\r\n Number(val)}\r\n onChange={({ target }) => onChangeText({\r\n target: {\r\n type: target.type,\r\n value: Number(target.value),\r\n name: target.name,\r\n },\r\n name: fields.name,\r\n index,\r\n })}\r\n disabled={!materiaPeriodo.canEditarPlaneamiento}\r\n readOnly={!materiaPeriodo.canEditarPlaneamiento}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n\r\n {\r\n materiaPeriodo.canEditarPlaneamiento ? (\r\n
\r\n ) : null\r\n }\r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n
\r\n onDeleteItemArray({ name: fields.name, index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n
\r\n \r\n );\r\n};\r\n\r\nActividadComplementariaTable.propTypes = {\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nActividadComplementariaTable.defaultProps = {\r\n meta: {},\r\n};\r\n\r\nexport default ActividadComplementariaTable;\r\n","const validate = (attrs = {\r\n materiaPeriodo: {},\r\n contribucionMateria: '',\r\n fundamentacionMateria: '',\r\n valoresContemplados: '',\r\n metodologiaEnsenhanza: '',\r\n estrategiasEvauacion: '',\r\n objetivosMaterias: [],\r\n bibliografiaBasica: '',\r\n cronogramaClases: [],\r\n practicasLaboratorios: [],\r\n proyectosTrabajosPracticos: [],\r\n profesores: [],\r\n}) => {\r\n const errors = {};\r\n\r\n if (attrs.materiaPeriodo && !attrs.materiaPeriodo.canEditarPlaneamiento) {\r\n return errors;\r\n }\r\n\r\n if (!attrs.contribucionMateria) {\r\n errors.contribucionMateria = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.fundamentacionMateria) {\r\n errors.fundamentacionMateria = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.valoresContemplados) {\r\n errors.valoresContemplados = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.metodologiaEnsenhanza) {\r\n errors.metodologiaEnsenhanza = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.estrategiasEvauacion) {\r\n errors.estrategiasEvauacion = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.bibliografiaBasica) {\r\n errors.bibliografiaBasica = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!attrs.objetivosMaterias || !attrs.objetivosMaterias.length) {\r\n errors.objetivosMaterias = { _error: 'Debe agregar un objetivo' };\r\n } else {\r\n errors.objetivosMaterias = [];\r\n attrs.objetivosMaterias.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n\r\n if (!obj.objetivo) {\r\n error.objetivo = 'Debe ingresar el objetivo';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.objetivosMaterias[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (!attrs.cronogramaClases || !attrs.cronogramaClases.length) {\r\n errors.cronogramaClases = { _error: 'Debe agregar un cronograma' };\r\n } else {\r\n errors.cronogramaClases = [];\r\n attrs.cronogramaClases.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n\r\n if (!obj.contenidos) {\r\n error.contenidos = 'Debe ingresar los contenidos';\r\n }\r\n if (!obj.fecha) {\r\n error.fecha = 'Debe ingresar una fecha valida';\r\n }\r\n\r\n if (!obj.profesorMateria || !obj.profesorMateria.value) {\r\n error.profesorMateria = 'Debe seleccionar un profesor';\r\n } else if (!attrs.profesores.some(p => p.id === obj.profesorMateria.value)) {\r\n error.profesorMateria = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n\r\n if (!obj.unidad) {\r\n error.unidad = 'Debe ingresar la unidad';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.cronogramaClases[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (attrs.practicasLaboratorios && attrs.practicasLaboratorios.length) {\r\n errors.practicasLaboratorios = [];\r\n attrs.practicasLaboratorios.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n if (!obj.actividad) {\r\n error.actividad = 'Debe ingresar la actividad';\r\n }\r\n if (!obj.descripcion) {\r\n error.descripcion = 'Debe ingresar la descripcion';\r\n }\r\n\r\n if (!obj.profesorMateria || !obj.profesorMateria.value) {\r\n error.profesorMateria = 'Debe seleccionar un profesor';\r\n } else if (!attrs.profesores.some(p => p.id === obj.profesorMateria.value)) {\r\n error.profesorMateria = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n\r\n if (!obj.duracion) {\r\n error.duracion = 'Debe seleccionar una duracion';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.practicasLaboratorios[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (attrs.proyectosTrabajosPracticos && attrs.proyectosTrabajosPracticos.length) {\r\n errors.proyectosTrabajosPracticos = [];\r\n attrs.proyectosTrabajosPracticos.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n if (!obj.actividad) {\r\n error.actividad = 'Debe ingresar la actividad';\r\n }\r\n if (!obj.descripcion) {\r\n error.descripcion = 'Debe ingresar la descripcion';\r\n }\r\n if (!obj.evaluacion) {\r\n error.evaluacion = 'Debe ingresar una fecha valida';\r\n }\r\n\r\n if (!obj.profesorMateria || !obj.profesorMateria.value) {\r\n error.profesorMateria = 'Debe seleccionar un profesor';\r\n } else if (!attrs.profesores.some(p => p.id === obj.profesorMateria.value)) {\r\n error.profesorMateria = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n\r\n if (!obj.duracion || !obj.duracion.value) {\r\n error.duracion = 'Debe seleccionar una duracion';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.proyectosTrabajosPracticos[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (attrs.actividadesComplementarias && attrs.actividadesComplementarias.length) {\r\n errors.actividadesComplementarias = [];\r\n attrs.actividadesComplementarias.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n if (!obj.descripcionActividad) {\r\n error.descripcionActividad = 'Debe ingresar la actividad';\r\n }\r\n if (!obj.beneficiarios) {\r\n error.beneficiarios = 'Debe ingresar los beneficiarios';\r\n }\r\n if (!obj.fechas) {\r\n error.fechas = 'Debe ingresar las fechas';\r\n }\r\n if (!obj.cantidadHoras) {\r\n error.cantidadHoras = 'Debe ingresar la cantidad de horas';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.actividadesComplementarias[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (Object.keys(errors).length) {\r\n // console.log(errors);\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Button,\r\n ButtonToolbar,\r\n Badge,\r\n} from 'reactstrap';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport ObjetivosMateriaTable from './ObjetivosMateriaTable';\r\nimport CronogramaClasesTable from './CronogramaClasesTable';\r\nimport PracticaLaboratorioTable from './PracticaLaboratorioTable';\r\nimport ProyectoTrabajoPracticoTable from './ProyectoTrabajoPracticoTable';\r\nimport ActividadComplementariaTable from './ActividadComplementariaTable';\r\nimport HorariosTable from './HorariosTable';\r\n\r\nimport Confirm from '../../../../shared/components/Confirm';\r\n\r\nimport validate from '../validate';\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport { dateTimeFormat } from '../../../../helpers/dateFormat';\r\n\r\nclass PlaneamientoForm extends PureComponent {\r\n static propTypes = {\r\n meta: PropTypes.shape({\r\n touched: PropTypes.bool,\r\n error: PropTypes.any,\r\n }),\r\n page: PropTypes.number.isRequired,\r\n changed: PropTypes.bool.isRequired,\r\n setPage: PropTypes.func.isRequired,\r\n previousPage: PropTypes.func.isRequired,\r\n handleSubmit: PropTypes.func.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onDownload: PropTypes.func.isRequired,\r\n\r\n onAddItemArray: PropTypes.func.isRequired,\r\n onDeleteItemArray: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool.isRequired,\r\n loadingPage: PropTypes.bool.isRequired,\r\n createPlanning: PropTypes.bool.isRequired,\r\n canEditarPlaneamiento: PropTypes.bool.isRequired,\r\n finEditarPlaneamiento: PropTypes.string.isRequired,\r\n codigoClassroom: PropTypes.string,\r\n\r\n horasLaboratorioSemanal: PropTypes.number.isRequired,\r\n horasPracticaSemanal: PropTypes.number.isRequired,\r\n horasTeoriaSemanal: PropTypes.number.isRequired,\r\n totalHorasSemanal: PropTypes.number.isRequired,\r\n\r\n filters: PropTypes.shape({}),\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n\r\n objetivosMaterias: PropTypes.arrayOf(PropTypes.shape({})),\r\n cronogramaClases: PropTypes.arrayOf(PropTypes.shape({})),\r\n practicasLaboratorios: PropTypes.arrayOf(PropTypes.shape({})),\r\n proyectosTrabajosPracticos: PropTypes.arrayOf(PropTypes.shape({})),\r\n actividadesComplementarias: PropTypes.arrayOf(PropTypes.shape({})),\r\n preRequisitos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n\r\n horarios: PropTypes.arrayOf(PropTypes.shape({})),\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})),\r\n duracionActividad: PropTypes.arrayOf(PropTypes.shape({})),\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n meta: {},\r\n filters: {},\r\n objetivosMaterias: [],\r\n cronogramaClases: [],\r\n practicasLaboratorios: [],\r\n proyectosTrabajosPracticos: [],\r\n actividadesComplementarias: [],\r\n duracionActividad: [],\r\n\r\n codigoClassroom: '',\r\n horarios: [],\r\n profesores: [],\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n };\r\n }\r\n\r\n buttonToolbar = ({ previousPage, nextPage, submitting }) => {\r\n if (nextPage) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n setPage = (step) => {\r\n const {\r\n changed, page, setPage, onSubmit,\r\n } = this.props;\r\n\r\n if (page === step) {\r\n return;\r\n }\r\n\r\n if (changed) {\r\n Confirm({\r\n title: 'Hay cambios sin guardar',\r\n question: (<>¿Deseas guardar los cambios antes de continuar?.),\r\n yesLabel: 'Si, guardar',\r\n noLabel: 'No, continuar',\r\n onConfirm: () => {\r\n onSubmit(this.props);\r\n },\r\n onCancel: () => {\r\n setPage(step);\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n setPage(step);\r\n };\r\n\r\n step = ({ step, title }) => {\r\n const { page } = this.props;\r\n return (\r\n this.setPage(step)}\r\n className={\r\n `wizard__step${page === step ? ' wizard__step--active' : ''}`\r\n }\r\n >\r\n

{title}

\r\n \r\n );\r\n };\r\n\r\n createPlanning = () => {\r\n const {\r\n createPlanning,\r\n loadingPage,\r\n canEditarPlaneamiento,\r\n finEditarPlaneamiento,\r\n handleSubmit,\r\n } = this.props;\r\n\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n

\r\n \r\n <>Fecha Límite cargar planeamiento\r\n \r\n {' '}\r\n \r\n <>{finEditarPlaneamiento && dateTimeFormat(finEditarPlaneamiento)}\r\n \r\n

\r\n \r\n {\r\n createPlanning && canEditarPlaneamiento ? (\r\n \r\n
\r\n
\r\n \r\n Crear Nuevo Planeamiento\r\n \r\n
\r\n \r\n \r\n ) : null\r\n }\r\n
\r\n );\r\n };\r\n\r\n showPlanning = ({ page, createPlanning, listProfesores }) => {\r\n if (createPlanning) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n {this.step({ step: 1, title: <>Identificación })}\r\n {this.step({\r\n step: 2, title: <>Fundamentación / Contribución,\r\n })}\r\n {this.step({ step: 3, title: <>Objetivos })}\r\n\r\n {this.step({\r\n step: 4,\r\n title: <>Valores / Metodología / Estrategias,\r\n })}\r\n {this.step({ step: 5, title: <>Cronograma de clases })}\r\n {this.step({ step: 6, title: <>Cuadro de prácticas de laboratorios })}\r\n\r\n {this.step({ step: 7, title: <>Proyectos o/y trabajos prácticos })}\r\n {this.step({ step: 8, title: <>Actividades complementarias })}\r\n {this.step({\r\n step: 9,\r\n title: <>Bibliografía básica / complementaria,\r\n })}\r\n
\r\n \r\n \r\n
\r\n {this.page1(page)}\r\n {this.page2(page)}\r\n {this.page3(page)}\r\n {this.page4(page)}\r\n\r\n {this.page5(page, listProfesores)}\r\n {this.page6(page, listProfesores)}\r\n {this.page7(page, listProfesores)}\r\n\r\n {this.page8(page)}\r\n {this.page9(page)}\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n page1 = (page) => {\r\n if (page !== 1) {\r\n return null;\r\n }\r\n\r\n const {\r\n materiaPeriodo,\r\n codigoClassroom,\r\n horarios = [],\r\n profesores = [],\r\n handleSubmit,\r\n previousPage,\r\n submitting,\r\n loadingPage,\r\n onChangeText,\r\n horasLaboratorioSemanal,\r\n horasPracticaSemanal,\r\n horasTeoriaSemanal,\r\n totalHorasSemanal,\r\n preRequisitos = [],\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page2 = (page) => {\r\n if (page !== 2) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n submitting,\r\n handleSubmit,\r\n previousPage,\r\n loadingPage,\r\n materiaPeriodo,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n II- Fundamentación de la materia :\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n III- Contribución de la materia a la carrera :\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page3 = (page) => {\r\n if (page !== 3) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n objetivosMaterias,\r\n handleSubmit,\r\n previousPage,\r\n submitting,\r\n loadingPage,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n
\r\n \r\n IV. Objetivos de la materia\r\n \r\n
\r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page4 = (page) => {\r\n if (page !== 4) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n loadingPage,\r\n handleSubmit,\r\n previousPage,\r\n submitting,\r\n materiaPeriodo,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n V - Valores contemplados\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n VI - Metodología de la enseñanza\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n VII - Estrategias de evauación\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page5 = (page, listProfesores) => {\r\n if (page !== 5) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onChangeSelect,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n cronogramaClases = [],\r\n loadingPage,\r\n handleSubmit,\r\n previousPage,\r\n submitting,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n VIII - Cronograma de clases teóricas y prácticas\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n \r\n
\r\n );\r\n };\r\n\r\n page6 = (page, listProfesores) => {\r\n if (page !== 6) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onChangeSelect,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n\r\n practicasLaboratorios = [],\r\n duracionActividad = [],\r\n loadingPage,\r\n previousPage,\r\n submitting,\r\n handleSubmit,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n
\r\n \r\n IX - Cuadro de prácticas de laboratorios\r\n \r\n
\r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page7 = (page, listProfesores) => {\r\n if (page !== 7) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onChangeSelect,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n\r\n proyectosTrabajosPracticos = [],\r\n duracionActividad = [],\r\n loadingPage,\r\n previousPage,\r\n submitting,\r\n handleSubmit,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n X - Elaboración de proyectos o/y trabajos prácticos\r\n \r\n
\r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page8 = (page) => {\r\n if (page !== 8) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n onChangeSelect,\r\n onAddItemArray,\r\n onDeleteItemArray,\r\n materiaPeriodo,\r\n\r\n actividadesComplementarias = [],\r\n loadingPage,\r\n previousPage,\r\n submitting,\r\n handleSubmit,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n XI- Actividades complementarias (Extensión, Investigación)\r\n \r\n
\r\n
\r\n \r\n
\r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n page9 = (page) => {\r\n if (page !== 9) {\r\n return null;\r\n }\r\n\r\n const {\r\n onChangeText,\r\n loadingPage,\r\n previousPage,\r\n submitting,\r\n handleSubmit,\r\n materiaPeriodo,\r\n } = this.props;\r\n\r\n if (loadingPage) {\r\n return ;\r\n }\r\n return (\r\n
\r\n \r\n
\r\n \r\n XII - Bibliografía básica\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n XIII - Bibliografía complementaria\r\n \r\n
\r\n
\r\n
\r\n onChangeText(v)}\r\n />\r\n
\r\n
\r\n \r\n {this.buttonToolbar({ previousPage, submitting })}\r\n
\r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n horarios = [],\r\n profesores = [],\r\n page,\r\n createPlanning,\r\n onDownload,\r\n } = this.props;\r\n\r\n if (loading || horarios.length === -1) {\r\n return ;\r\n }\r\n\r\n const listProfesores = profesores.map(({ id, profesor }) => ({\r\n value: id,\r\n label: profesor,\r\n }));\r\n\r\n return (\r\n \r\n \r\n
\r\n

\r\n Datos del planeamiento\r\n

\r\n {\r\n !createPlanning ? (\r\n \r\n  \r\n Descargar planeamiento\r\n \r\n ) : null\r\n }\r\n
\r\n \r\n {this.createPlanning()}\r\n {this.showPlanning({ page, createPlanning, listProfesores })}\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxPlaneamientoForm = reduxForm({\r\n form: 'PlaneamientoForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(PlaneamientoForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxPlaneamientoForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport Form from './components/form';\r\nimport {\r\n savePlanning,\r\n getPlanning,\r\n fetchPlanningFormData,\r\n download,\r\n} from '../../../redux/actions/planningActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass IndexContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleDownload.bind(this);\r\n\r\n this.state = {\r\n page: 1,\r\n changed: false,\r\n loading: false,\r\n loadingPage: false,\r\n duracionActividad: [],\r\n createPlanning: false,\r\n planning: {\r\n objetivosMaterias: [],\r\n cronogramaClases: [],\r\n practicasLaboratorios: [],\r\n proyectosTrabajosPracticos: [],\r\n actividadesComplementarias: [],\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormData();\r\n this.fetchCurrentRecord(1);\r\n }\r\n\r\n setPlanning(planning) {\r\n const {\r\n objetivosMaterias = [],\r\n cronogramaClases = [],\r\n practicasLaboratorios = [],\r\n proyectosTrabajosPracticos = [],\r\n actividadesComplementarias = [],\r\n profesores = [],\r\n } = planning;\r\n\r\n const { planning: oldPlanning } = this.state;\r\n\r\n this.setState({\r\n planning: {\r\n ...planning,\r\n profesores: profesores.length === 0 ? oldPlanning.profesores : profesores,\r\n objetivosMaterias: objetivosMaterias.map((h, index) => ({ ...h, index })),\r\n cronogramaClases: cronogramaClases.map((h, index) => ({ ...h, index })),\r\n practicasLaboratorios: practicasLaboratorios.map((h, index) => ({ ...h, index })),\r\n proyectosTrabajosPracticos: proyectosTrabajosPracticos.map((h, index) => ({ ...h, index })),\r\n actividadesComplementarias: actividadesComplementarias.map((h, index) => ({ ...h, index })),\r\n },\r\n loadingPage: false,\r\n changed: false,\r\n });\r\n }\r\n\r\n handleDownload = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n const { planningId } = this.props;\r\n\r\n download({\r\n id: planningId,\r\n onSuccess: () => this.setState({\r\n loading: false,\r\n }),\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n\r\n createErrorMessage('Error al intentar descargar el planeamiento');\r\n },\r\n });\r\n }\r\n\r\n fetchCurrentRecord = (page) => {\r\n const { planningId } = this.props;\r\n\r\n if (!planningId) {\r\n this.setState({\r\n planning: {\r\n materiaPeriodoId: 0,\r\n objetivosMaterias: [],\r\n cronogramaClases: [],\r\n practicasLaboratorios: [],\r\n proyectosTrabajosPracticos: [],\r\n actividadesComplementarias: [],\r\n horarios: [],\r\n profesores: [],\r\n },\r\n changed: false,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n getPlanning({\r\n id: planningId,\r\n page,\r\n onSuccess: (planning) => {\r\n const createPlanning = Object.keys(planning).length === 3;\r\n\r\n this.setPlanning(planning);\r\n this.setState({\r\n loading: false,\r\n page,\r\n createPlanning,\r\n changed: false,\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loading: false,\r\n page,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createErrorMessage('La planeamiento no existe');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del planeamiento');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchFormData = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n fetchPlanningFormData({\r\n onSuccess: ({ DuracionActividad }) => {\r\n this.setState({\r\n duracionActividad: DuracionActividad,\r\n loading: false,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n });\r\n\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleAddItemArray = ({ name }) => {\r\n const { planning } = this.state;\r\n const items = planning[name];\r\n\r\n const newIndex = items.length === 0\r\n ? 0\r\n : (Math.max(...items.map(({ index }) => index)) + 1);\r\n\r\n this.setState({\r\n changed: true,\r\n planning: {\r\n ...planning,\r\n [name]: [\r\n ...items,\r\n {\r\n id: 0,\r\n index: newIndex,\r\n },\r\n ],\r\n },\r\n });\r\n }\r\n\r\n handleDeleteItemArray = ({ name, index }) => {\r\n const { planning } = this.state;\r\n const items = planning[name];\r\n\r\n const newArray = items.map(h => ({\r\n ...h,\r\n deleted: h.deleted || h.index === index,\r\n }));\r\n\r\n this.setState({\r\n changed: true,\r\n planning: {\r\n ...planning,\r\n [name]: newArray,\r\n },\r\n });\r\n }\r\n\r\n handleChangeText = ({ name, target, index = null }) => {\r\n const value = target.type === 'number'\r\n ? Number(target.value)\r\n : `${target.value}`.trim();\r\n\r\n if (Number.isInteger(index)) {\r\n const { planning } = this.state;\r\n const items = planning[name];\r\n\r\n const newArray = [...items];\r\n newArray[index] = {\r\n ...newArray[index],\r\n ...{\r\n [target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({\r\n changed: true,\r\n planning: {\r\n ...planning,\r\n [name]: newArray,\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState(prev => ({\r\n changed: true,\r\n planning: {\r\n ...prev.planning,\r\n ...{\r\n [target.name]: value,\r\n },\r\n },\r\n }));\r\n };\r\n\r\n handleChangeSelect = ({\r\n option, name, target, index,\r\n }) => {\r\n const { planning } = this.state;\r\n const items = planning[name];\r\n\r\n const newArray = [...items];\r\n const data = {\r\n [target.name.split('.')[1]]: option,\r\n index,\r\n };\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n ...data,\r\n };\r\n\r\n this.setState(prev => ({\r\n changed: true,\r\n planning: {\r\n ...prev.planning,\r\n ...{\r\n [name]: newArray,\r\n },\r\n },\r\n }));\r\n };\r\n\r\n setPage = (page) => {\r\n this.fetchCurrentRecord(page);\r\n }\r\n\r\n nextPage = () => {\r\n const { page } = this.state;\r\n this.setPage(page + 1 < 10 ? page + 1 : 1);\r\n };\r\n\r\n previousPage = () => {\r\n const { page } = this.state;\r\n this.setPage(page - 1 > 0 ? page - 1 : 9);\r\n };\r\n\r\n handleSubmit = (values) => {\r\n if (!values) return;\r\n\r\n const { materiaPeriodo } = this.props;\r\n const { changed, createPlanning } = this.state;\r\n\r\n if (!createPlanning && (!materiaPeriodo.canEditarPlaneamiento || !changed)) {\r\n this.nextPage();\r\n return;\r\n }\r\n\r\n this.setState({\r\n loadingPage: true,\r\n });\r\n\r\n const {\r\n page,\r\n cronogramaClases = [],\r\n } = values;\r\n\r\n const { planningId: materiaPeriodoId } = this.props;\r\n\r\n savePlanning({\r\n page: `page${createPlanning ? 1 : page}`,\r\n paylaod: {\r\n ...values,\r\n materiaPeriodoId,\r\n cronogramaClases: cronogramaClases.map(({\r\n contenidos,\r\n deleted,\r\n fecha,\r\n id,\r\n profesorMateria,\r\n unidad,\r\n }) => ({\r\n materiaPeriodoId,\r\n contenidos,\r\n deleted,\r\n fecha: !fecha || fecha === '0001-01-01' ? null : fecha,\r\n id,\r\n profesorMateria,\r\n unidad,\r\n })),\r\n },\r\n onSuccess: () => {\r\n this.nextPage();\r\n\r\n createSuccessMessage('Datos de planeamiento guardado exitosamente');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else if (error.errors) {\r\n Object.entries(error.errors).flatMap(([, message]) => createWarningMessage(message));\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el planeamiento');\r\n }\r\n\r\n this.setState({\r\n loadingPage: false,\r\n });\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n materiaPeriodo,\r\n } = this.props;\r\n\r\n const {\r\n planning,\r\n loading,\r\n loadingPage,\r\n duracionActividad,\r\n page,\r\n changed,\r\n createPlanning,\r\n } = this.state;\r\n\r\n if (loading || !planning || !materiaPeriodo || duracionActividad.length === 0) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nIndexContainer.propTypes = {\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n planningId: PropTypes.number.isRequired,\r\n};\r\n\r\nexport default IndexContainer;\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDownload,\r\n} from '../../api/index';\r\nimport { urlPlanning } from '../../api/urls';\r\n\r\nexport function getPlanning({\r\n id, page, onSuccess, onError,\r\n}) {\r\n return apiGet(`${urlPlanning}/${id}/page-${page}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function savePlanning({\r\n page, paylaod, onSuccess, onError,\r\n}) {\r\n return apiPost(`${urlPlanning}/${page}`, paylaod)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function fetchPlanningFormData({ onSuccess, onError }) {\r\n return apiGet(`${urlPlanning}/form-data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (onSuccess) onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n\r\nexport function download({ id, onSuccess, onError }) {\r\n return apiDownload(`${urlPlanning}/download/${id}`)\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = 'Planeamiento.xlsx';\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n if (onSuccess) onSuccess(blob);\r\n })\r\n .catch((error) => {\r\n if (onError) onError(error);\r\n });\r\n}\r\n","const validate = (attrs = {\r\n horarios: [],\r\n}) => {\r\n const errors = {};\r\n\r\n if (!attrs.malla || !attrs.malla.value) {\r\n errors.malla = 'Debe seleccionar una malla';\r\n }\r\n\r\n if (!attrs.periodo || !attrs.periodo.value) {\r\n errors.periodo = 'Debe seleccionar un periodo';\r\n }\r\n\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe seleccionar una materia';\r\n }\r\n\r\n if (!attrs.profesor || !attrs.profesor.value) {\r\n errors.profesor = 'Debe seleccionar un profesor';\r\n }\r\n\r\n if (attrs.horarios && attrs.horarios.length) {\r\n errors.horarios = [];\r\n attrs.horarios.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n\r\n if (!obj.tipoActividadAcademicaHorario || !obj.tipoActividadAcademicaHorario.value) {\r\n error.tipoActividadAcademicaHorario = 'Debe ingresar el tipo de actividad academica';\r\n }\r\n if (!obj.profesor || !obj.profesor.value) {\r\n error.profesor = 'Debe seleccionar un profesor';\r\n } else {\r\n const {\r\n profesor, profesorAuxiliar1, profesorAuxiliar2, profesorAuxiliar3,\r\n } = attrs;\r\n const profesorsAvailable = [\r\n profesor || {},\r\n profesorAuxiliar1 || {},\r\n profesorAuxiliar2 || {},\r\n profesorAuxiliar3 || {},\r\n ];\r\n\r\n if (!profesorsAvailable.some(p => p.value && p.value === obj.profesor.value)) {\r\n error.profesor = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n }\r\n if (!obj.dia || !obj.dia.value) {\r\n error.dia = 'Debe seleccionar un dia';\r\n }\r\n if (!obj.horaInicio) {\r\n error.horaInicio = 'Debe ingresar la hora';\r\n }\r\n if (!obj.horaFin) {\r\n error.horaFin = 'Debe ingresar la hora';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.horarios[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (Object.keys(errors).length) {\r\n console.error(errors);\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Badge,\r\n Card,\r\n CardBody,\r\n Col,\r\n Button,\r\n Row,\r\n Container,\r\n Nav,\r\n NavItem,\r\n TabPane,\r\n TabContent,\r\n} from 'reactstrap';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport PlaneamientoForm from '../../Profesor/PlaneamientoForm/index';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass MateriaPeriodoForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n onGetAlumnosMateria: PropTypes.func.isRequired,\r\n onDownloadAlumnosMateriaNotas: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n\r\n onAddSubjectsSchedule: PropTypes.func.isRequired,\r\n onDeleteSubjectSchedule: PropTypes.func.isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool.isRequired,\r\n editarAsistencias: PropTypes.bool.isRequired,\r\n\r\n tipoActividadAcademicaHorarios: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n malla: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n periodo: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n materia: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n\r\n profesor: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar1: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar2: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar3: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n\r\n mallas: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n periodos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n diasSemana: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n\r\n filters: PropTypes.shape({}).isRequired,\r\n horarios: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n loadingAlumnosMateria: PropTypes.bool.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n totalItemsCount: PropTypes.number.isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activeTab: '1',\r\n };\r\n\r\n this.columns = ({\r\n calculatePPFromTasks,\r\n canEditTask,\r\n }) => {\r\n const cols = [\r\n {\r\n key: 'numeroDocumento',\r\n name: <>Nº documento,\r\n width: '120px',\r\n search: true,\r\n },\r\n {\r\n key: 'apellidoAlumno',\r\n name: 'Apellido',\r\n visible: false,\r\n search: true,\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Nombre',\r\n search: true,\r\n format: row => `${row.apellidoAlumno}, ${row.nombreAlumno}`.trim(),\r\n },\r\n { key: 'email', name: 'E-Mail' },\r\n ];\r\n\r\n return [\r\n ...cols,\r\n ...[\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n editable: !calculatePPFromTasks && canEditTask,\r\n type: 'number',\r\n min: 0,\r\n max: 100,\r\n width: '100px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajePP }) => (\r\n \r\n {porcentajePP}\r\n \r\n ),\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajeAsistencia }) => (\r\n \r\n {Math.round(porcentajeAsistencia)}\r\n \r\n ),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '100px',\r\n visible: false,\r\n },\r\n ],\r\n ];\r\n };\r\n\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.editarNotas(inscription);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n getOptionsTipoActividadAcademica = (tipoActividadAcademica) => {\r\n const { tipoActividadAcademicaHorarios } = this.props;\r\n\r\n return tipoActividadAcademicaHorarios.filter(taa => taa.value === tipoActividadAcademica);\r\n }\r\n\r\n toggle = (tab) => {\r\n const { onGetAlumnosMateria } = this.props;\r\n const { activeTab } = this.state;\r\n if (activeTab !== tab) {\r\n this.setState({ activeTab: tab });\r\n if (tab === '2') {\r\n onGetAlumnosMateria();\r\n }\r\n }\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getProfesoresMateria = () => {\r\n const {\r\n profesor, profesorAuxiliar1, profesorAuxiliar2, profesorAuxiliar3,\r\n } = this.props;\r\n\r\n return [\r\n profesor || {},\r\n profesorAuxiliar1 || {},\r\n profesorAuxiliar2 || {},\r\n profesorAuxiliar3 || {},\r\n ].filter(p => p.value);\r\n }\r\n\r\n renderHorarios = ({\r\n fields = [],\r\n tipoActividadAcademicaHorarios = [],\r\n diasSemana = [],\r\n horarios = [],\r\n }) => {\r\n const {\r\n onAddSubjectsSchedule, onDeleteSubjectSchedule, onChangeText, onChangeSelect,\r\n } = this.props;\r\n\r\n const profesoresMateria = this.getProfesoresMateria();\r\n\r\n const showBtnAdd = () => {\r\n if (profesoresMateria.length === 0) {\r\n return (\r\n \r\n
\r\n

\r\n \r\n Debe seleccionar un profesor (Encargado o Auxiliar) para agregar los horarios.\r\n \r\n

\r\n
\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n onAddSubjectsSchedule()}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n

Horario de clases

\r\n \r\n {showBtnAdd()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((horario, index) => {\r\n if (!horarios[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n
\r\n \r\n
#Tipo ActividadProfesorDíaAulaHora InicioHora Fin{' '}
\r\n
\r\n

{index + 1}

\r\n onChangeSelect({ option: props, name: 'tipoActividadAcademicaHorario', index })\r\n }\r\n options={tipoActividadAcademicaHorarios}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'profesor', index })}\r\n options={profesoresMateria}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'dia', index })}\r\n options={diasSemana}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n onDeleteSubjectSchedule({ index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n planeamientoForm = () => {\r\n const { materiaPeriodo } = this.props;\r\n return (\r\n \r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.props;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onFilterChanges,\r\n onBack,\r\n onDownloadAlumnosMateriaNotas,\r\n profesores,\r\n materias,\r\n periodos,\r\n mallas,\r\n diasSemana,\r\n horarios,\r\n tipoActividadAcademicaHorarios,\r\n editarAsistencias,\r\n materiaPeriodo,\r\n loadingAlumnosMateria,\r\n items,\r\n totalItemsCount,\r\n filters,\r\n } = this.props;\r\n\r\n const {\r\n activeTab,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos de la materia por periodo
\r\n
\r\n \r\n \r\n
\r\n Malla\r\n
\r\n onFilterChanges('malla', 'mallaId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Periodo\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Profesor Encargado\r\n
\r\n onFilterChanges('profesor', 'profesorId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar1', 'profesorAuxiliar1Id', v)}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar2', 'profesorAuxiliar2Id', v)}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar3', 'profesorAuxiliar3Id', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n {' '}\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Sección\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n loadingAlumnosMateria ? (\r\n \r\n \r\n \r\n )\r\n : (\r\n <>\r\n \r\n
\r\n \r\n  \r\n Descargar lista\r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={1}\r\n pageSize={totalItemsCount}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n \r\n {this.planeamientoForm()}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxMateriaPeriodoForm = reduxForm({\r\n form: 'MateriaPeriodoForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(MateriaPeriodoForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxMateriaPeriodoForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport MateriaPeriodoForm from './MateriaPeriodoForm';\r\nimport {\r\n get,\r\n save,\r\n fetchFormDatas,\r\n fetchSubjectsByMeshId,\r\n fetchSubjectsScheduleBySubjectPeriodId,\r\n getSubjectStudents,\r\n downloadSubjectStudentsScore,\r\n} from '../../../redux/actions/materiaPeriodoActions';\r\n\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass MateriaPeriodoContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n mallas: [],\r\n materias: [],\r\n periodos: [],\r\n profesores: [],\r\n tipoActividadAcademicaHorarios: [],\r\n diasSemana: [],\r\n materiaPeriodo: null,\r\n loading: false,\r\n horarios: [],\r\n horarioChanged: 0,\r\n\r\n loadingAlumnosMateria: false,\r\n items: [],\r\n totalItemsCount: 0,\r\n filters: {\r\n page: 1,\r\n pageSize: 20,\r\n numeroDocumento: '',\r\n nombreAlumno: '',\r\n apellidoAlumno: '',\r\n },\r\n };\r\n\r\n this.downloadAlumnosMateriaNotas.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n this.updateSubjectsScheduleTable();\r\n }\r\n\r\n downloadAlumnosMateriaNotas = () => {\r\n const { id } = this.props;\r\n this.setState({ loadingAlumnosMateria: true });\r\n downloadSubjectStudentsScore({\r\n id,\r\n onSuccess: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createSuccessMessage('Lista descargada exitosamente');\r\n },\r\n onError: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createErrorMessage('Error al intentar descargar la lista de calificaciones alumnos');\r\n },\r\n });\r\n }\r\n\r\n fetchCurrentRecord = () => {\r\n const { id, history } = this.props;\r\n const state = {};\r\n\r\n if (!id) {\r\n this.setState({\r\n materiaPeriodo: {\r\n id: 0,\r\n date: new Date().toISOString(),\r\n mallaId: null,\r\n malla: { value: 0, label: '-' },\r\n periodoId: null,\r\n periodo: { value: 0, label: '-' },\r\n materia: { value: 0, label: '-' },\r\n materiaMalla: { value: 0, label: '-' },\r\n profesorAuxiliar1: { value: 0, label: '-' },\r\n profesorAuxiliar2: { value: 0, label: '-' },\r\n profesorAuxiliar3: { value: 0, label: '-' },\r\n utilizaPorcentajePesoMateria: false,\r\n ...state,\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n get({\r\n id,\r\n onSuccess: (materiaPeriodo) => {\r\n this.setState({\r\n materiaPeriodo: {\r\n ...materiaPeriodo,\r\n ...state,\r\n },\r\n });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La materia periodo no existe');\r\n history.push('/pages/subjects-periods');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la materia periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: ({\r\n mallas,\r\n periodos,\r\n profesores,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n }) => {\r\n const state = {\r\n mallas,\r\n periodos,\r\n profesores,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n };\r\n\r\n this.setState(state);\r\n this.fetchCurrentRecord();\r\n },\r\n onError: () => createErrorMessage('Error al intentar cargar los datos requeridos'),\r\n });\r\n }\r\n\r\n updateAlumnosMateria = (page, pageSize, filters) => {\r\n const { id } = this.props;\r\n\r\n this.setState({\r\n loadingAlumnosMateria: true,\r\n filters: filters || {},\r\n });\r\n\r\n getSubjectStudents({\r\n filters,\r\n id,\r\n onSuccess: ({ materias: items }) => {\r\n this.setState({\r\n loadingAlumnosMateria: false,\r\n items,\r\n totalItemsCount: items.length,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n items: [],\r\n loadingAlumnosMateria: false,\r\n });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n handleAddSubjectsSchedule = () => {\r\n const { horarios = [] } = this.state;\r\n\r\n const newIndex = horarios.length === 0 ? 0 : (Math.max(...horarios.map(({ index }) => index)) + 1);\r\n\r\n this.setState({\r\n horarios: [\r\n ...horarios,\r\n {\r\n id: 0,\r\n index: newIndex,\r\n materiaPeriodo: '',\r\n profesor: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n dia: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n horaInicio: '00:00',\r\n horaFin: '00:00',\r\n aula: '',\r\n tipoActividadAcademicaHorario: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n\r\n handleDeleteSubjectSchedule = ({ index }) => {\r\n const { horarios = [] } = this.state;\r\n const newArray = horarios.map(h => ({\r\n ...h,\r\n deleted: h.deleted || h.index === index,\r\n }));\r\n\r\n this.setState({ horarios: newArray });\r\n }\r\n\r\n fetchSubjects = (meshId) => {\r\n fetchSubjectsByMeshId({\r\n meshId,\r\n onSuccess: (materias) => {\r\n this.setState({ materias });\r\n },\r\n onError: () => createErrorMessage('Error al intentar cargar las materias'),\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n if (!values) return;\r\n\r\n const {\r\n id,\r\n materia: { value: materiaId },\r\n profesor: { value: profesorId },\r\n malla: { value: mallaId },\r\n materiaMalla: { value: materiaMallaId },\r\n periodo: { value: periodoId },\r\n profesorAuxiliar1,\r\n profesorAuxiliar2,\r\n profesorAuxiliar3,\r\n horarios,\r\n utilizaPorcentajePesoMateria,\r\n editarAsistencias,\r\n seccion,\r\n } = values;\r\n\r\n const params = {\r\n id,\r\n mallaId,\r\n materiaMallaId,\r\n materiaId,\r\n profesorId,\r\n periodoId,\r\n profesorAuxiliar1Id: profesorAuxiliar1 ? profesorAuxiliar1.value : 0,\r\n profesorAuxiliar2Id: profesorAuxiliar2 ? profesorAuxiliar2.value : 0,\r\n profesorAuxiliar3Id: profesorAuxiliar3 ? profesorAuxiliar3.value : 0,\r\n horarios,\r\n utilizaPorcentajePesoMateria,\r\n editarAsistencias,\r\n seccion,\r\n };\r\n\r\n save(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia por periodo guardada exitosamente');\r\n\r\n const { history } = this.props;\r\n history.push('/pages/subjects-periods');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la materia periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChanges = (objectKey, idKey, item) => {\r\n let { materiaPeriodo } = this.state;\r\n\r\n materiaPeriodo = {\r\n ...materiaPeriodo,\r\n [idKey]: item.value,\r\n [objectKey]: item,\r\n };\r\n\r\n const {\r\n malla: { value: mallaId },\r\n } = materiaPeriodo;\r\n\r\n this.setState({ materiaPeriodo });\r\n\r\n if (mallaId) {\r\n this.fetchSubjects(mallaId);\r\n }\r\n }\r\n\r\n updateSubjectsScheduleTable = () => {\r\n const { id } = this.props;\r\n\r\n if (!id) {\r\n this.setState({\r\n horarios: [],\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchSubjectsScheduleBySubjectPeriodId({\r\n subjectId: id,\r\n onSuccess: (horarios) => {\r\n this.setState({\r\n loading: false,\r\n horarios: horarios.map((h, index) => ({ ...h, index })),\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({ horarios: [], loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('La horario de clases no existe');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del horario de clases');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleChangeText = (e, index) => {\r\n const { horarios } = this.state;\r\n\r\n const value = e.target.type === 'number' ? Number(e.target.value) : `${e.target.value}`.trim();\r\n\r\n const newHorarios = [...horarios];\r\n newHorarios[index] = {\r\n ...newHorarios[index],\r\n ...{\r\n [e.target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({ horarios: newHorarios });\r\n };\r\n\r\n handleChangeSelect = ({ option, name, index }) => {\r\n this.setState({ loading: true });\r\n\r\n const { horarios } = this.state;\r\n const newHorarios = [...horarios];\r\n const data = {\r\n [name]: option,\r\n index,\r\n };\r\n\r\n newHorarios[index] = {\r\n ...newHorarios[index],\r\n ...data,\r\n };\r\n\r\n this.setState({\r\n horarios: newHorarios,\r\n loading: false,\r\n horarioChanged: new Date().getTime(),\r\n });\r\n };\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n\r\n const {\r\n materiaPeriodo,\r\n materias,\r\n profesores,\r\n mallas,\r\n periodos,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n loading,\r\n horarios,\r\n horarioChanged,\r\n loadingAlumnosMateria,\r\n items,\r\n filters,\r\n totalItemsCount,\r\n } = this.state;\r\n\r\n const showForm = profesores && mallas && materiaPeriodo && tipoActividadAcademicaHorarios.length;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} materia periodo\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la materia periodo\r\n

\r\n \r\n
\r\n \r\n \r\n {\r\n !showForm || loading\r\n ? ()\r\n : (\r\n \r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nMateriaPeriodoContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default MateriaPeriodoContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Col,\r\n Container,\r\n Row,\r\n Card,\r\n CardBody,\r\n Badge,\r\n Alert,\r\n} from 'reactstrap';\r\nimport { getAllSubjectsDashboard } from '../../redux/actions/professorActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\n\r\nclass ProfesorDashboardContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n items: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.loadFormData();\r\n }\r\n\r\n loadFormData = () => {\r\n getAllSubjectsDashboard({\r\n onSuccess: (items) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias');\r\n },\r\n });\r\n }\r\n\r\n verMateria = (id) => {\r\n const { history } = this.props;\r\n history.push(`/pages/profesor-subjects/${id}`);\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n this.loadFormData();\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Tablero\r\n

\r\n \r\n
\r\n \r\n \r\n {(!items || !items.length) && (\r\n

\r\n \r\n
\r\n No tienes materias marcadas para ver en el Tablero.\r\n
\r\n
\r\n Puedes marcar las estrellas{' '}\r\n \r\n {\r\n ' en tu listado de \"Mis Materias\" para mostrarlas en el Tablero.'\r\n }\r\n
\r\n
\r\n

\r\n )\r\n }\r\n {items && items.length && (\r\n \r\n \r\n
\r\n
\r\n

\r\n {'Lista de materias favoritas '}\r\n \r\n

\r\n
\r\n \r\n \r\n {items.map(g => (\r\n \r\n this.verMateria(g.id)}\r\n className=\"link-card card-subject pb-0\"\r\n >\r\n \r\n
\r\n

\r\n \r\n #{g.id}\r\n \r\n {g.materia}\r\n
{g.seccion}
\r\n

\r\n
\r\n
\r\n {g.malla}\r\n
\r\n\r\n \r\n \r\n {g.semestreNroOrden} º Semestre\r\n \r\n \r\n Año {g.anho}\r\n \r\n \r\n \r\n .\r\n \r\n
\r\n 0 ? 'primary' : 'secondary'}\r\n pill\r\n >\r\n {g.cantidadInscriptos}\r\n \r\n {g.cantidadInscriptos === 1 ? ' Alumno' : ' Alumnos'}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ProfesorDashboardContainer);\r\n","import {\r\n apiGet,\r\n apiPost,\r\n} from '../../api/index';\r\nimport { urlProfessors } from '../../api/urls';\r\n\r\nexport function getSubjects(showAll, params) {\r\n return apiPost(`${urlProfessors}/subjects/${showAll}`, params.pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getAllSubjectsDashboard(params) {\r\n return apiGet(`${urlProfessors}/all_subjects_dashboard`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function addToFavorites(inscripcion, callback) {\r\n return apiPost(`${urlProfessors}/add_subject_dashboard`, inscripcion)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch(async (error) => {\r\n if (callback && callback.onError) callback.onError(await error.json());\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\n\r\nimport {\r\n getSubjects,\r\n addToFavorites,\r\n} from '../../redux/actions/professorActions';\r\nimport { fetchFormDatas } from '../../redux/actions/periodoActions';\r\nimport { SidebarProps } from '../../shared/prop-types/ReducerProps';\r\n\r\nimport {\r\n createErrorMessage,\r\n createWarningMessage,\r\n createSuccessMessage,\r\n} from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport { Roles } from '../../constants/enums';\r\n\r\nclass ProfesorSubjectsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n const user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n periodos: [],\r\n };\r\n this.columns = [\r\n {\r\n key: 'mostrarEnTablero',\r\n name: 'Tablero',\r\n width: '80px',\r\n search: false,\r\n visible: this.showStarIcon(user),\r\n icon: {\r\n callback: row => (this.onAddToFavoritesSubmit(row)),\r\n component: row => (\r\n \r\n ),\r\n },\r\n },\r\n {\r\n key: 'profesor',\r\n name: 'Profesor',\r\n search: this.showNombre(user),\r\n visible: this.showNombre(user),\r\n },\r\n {\r\n key: 'codigoMateria',\r\n name: 'Codigo Materia',\r\n search: true,\r\n visible: false,\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n format: row => `${row.codigoMateria} - ${row.materia} - ${row.seccion}`,\r\n search: true,\r\n width: '300px',\r\n },\r\n {\r\n key: 'periodo',\r\n name: 'Periodo',\r\n search: true,\r\n visible: true,\r\n className: 'text-center',\r\n width: '200px',\r\n type: 'select',\r\n searchProps: {\r\n options: this.getPeriodos,\r\n },\r\n format: row => `${row.periodo ? row.periodo : '-'}`,\r\n },\r\n {\r\n key: 'malla',\r\n name: 'Malla',\r\n width: '190px',\r\n className: 'text-center',\r\n search: true,\r\n format: row => row.malla,\r\n },\r\n {\r\n key: 'carrera',\r\n name: 'Carrera',\r\n search: true,\r\n format: row => row.carrera,\r\n },\r\n {\r\n key: 'numeroSemestre',\r\n name: 'Semestre',\r\n type: 'number',\r\n search: true,\r\n format: row => `${row.semestreNroOrden}º`,\r\n width: '70px',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'cantidadInscriptos',\r\n name: 'Alumnos',\r\n type: 'number',\r\n search: false,\r\n format: row => (\r\n
\r\n 0 ? 'primary' : 'secondary'}\r\n pill\r\n >\r\n {row.cantidadInscriptos}\r\n \r\n
\r\n ),\r\n width: '70px',\r\n className: 'text-center',\r\n },\r\n { key: 'actions', name: 'Acción', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (row) => {\r\n this.editRow(row);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n }\r\n\r\n getViewPageAs = () => {\r\n const { sidebar: { viewPageAs } } = this.props;\r\n return viewPageAs;\r\n }\r\n\r\n showStarIcon = (user) => {\r\n const viewAsProfesor = this.getViewPageAs() === Roles.Profesor;\r\n return (user.esProfesor && !user.esAdmin) || (user.esProfesor && user.esAdmin && viewAsProfesor);\r\n }\r\n\r\n showNombre = (user) => {\r\n const viewAsAdmin = this.getViewPageAs() === Roles.Admin;\r\n return user.esAdmin && viewAsAdmin;\r\n }\r\n\r\n updateSubjectsTable = (page, pageSize, filters = {}) => {\r\n const {\r\n periodo = { value: 0, label: '-' },\r\n numeroSemestre = 0,\r\n } = filters;\r\n\r\n const params = {\r\n ...filters,\r\n numeroSemestre: Number(numeroSemestre),\r\n periodoId: periodo.value,\r\n };\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: params,\r\n });\r\n\r\n const { sidebar: { viewPageAs } } = this.props;\r\n\r\n getSubjects(\r\n viewPageAs !== 0,\r\n {\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: params,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias');\r\n },\r\n },\r\n );\r\n }\r\n\r\n fetchDatasList = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas({\r\n onSuccess: ({ periodos }) => {\r\n this.setState({\r\n periodos,\r\n loading: false,\r\n });\r\n\r\n const { page, pageSize } = this.state;\r\n this.updateSubjectsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n console.log(error);\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n editRow = (row) => {\r\n const { history } = this.props;\r\n history.push(`/pages/profesor-subjects/${row.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateSubjectsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, {});\r\n };\r\n\r\n onAddToFavoritesSubmit = (row) => {\r\n if (row) {\r\n addToFavorites(row.id, {\r\n onSuccess: () => {\r\n const { items } = this.state;\r\n\r\n const newState = items.map(item => (\r\n item.id === row.id ? { ...item, mostrarEnTablero: !row.mostrarEnTablero } : item\r\n ));\r\n\r\n this.setState({\r\n items: newState,\r\n });\r\n\r\n createSuccessMessage(\r\n `Materia ${(!row.mostrarEnTablero ? 'agregada al' : 'quitada del')} tablero exitosamente`,\r\n );\r\n },\r\n onError: async (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar quitar la materia del tablero ');\r\n }\r\n },\r\n });\r\n }\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getPeriodos = () => {\r\n const { periodos = [] } = this.state;\r\n\r\n return periodos;\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n return (\r\n \r\n \r\n \r\n

Materias asignadas

\r\n \r\n
\r\n \r\n {loading ? \r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nProfesorSubjectsContainer.propTypes = {\r\n sidebar: SidebarProps.isRequired,\r\n};\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(ProfesorSubjectsContainer));\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nclass ToggleButtonField extends PureComponent {\r\n static propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n name: PropTypes.string.isRequired,\r\n // defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.bool,\r\n ]).isRequired,\r\n };\r\n\r\n static defaultProps = {\r\n // defaultChecked: false,\r\n disabled: false,\r\n };\r\n\r\n componentDidMount() {\r\n // const { onChange, defaultChecked } = this.props;\r\n // onChange(defaultChecked);\r\n }\r\n\r\n render() {\r\n const {\r\n name, disabled, value, onChange,\r\n } = this.props;\r\n\r\n return (\r\n
\r\n \r\n onChange(!value)}\r\n >Toggle\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst renderToggleButtonField = (props) => {\r\n const { input, defaultChecked, disabled } = props;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nrenderToggleButtonField.propTypes = {\r\n input: PropTypes.shape({\r\n onChange: PropTypes.func,\r\n name: PropTypes.string,\r\n }).isRequired,\r\n defaultChecked: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n};\r\n\r\nrenderToggleButtonField.defaultProps = {\r\n defaultChecked: null,\r\n disabled: false,\r\n};\r\n\r\nexport default renderToggleButtonField;\r\n","const validate = ({\r\n descripcion = '', puntajeTotal = 0, fechaEntrega = '',\r\n}) => {\r\n const errors = {};\r\n\r\n if (!descripcion) {\r\n errors.descripcion = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!puntajeTotal || puntajeTotal <= 0) {\r\n errors.puntajeTotal = 'Debe ingresar un valor';\r\n }\r\n\r\n if (!fechaEntrega) {\r\n errors.fechaEntrega = 'Debe ingresar una fecha';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\n\r\nconst StudentsScoresTable = ({\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onChangeText,\r\n onSort,\r\n items,\r\n puntajeTotal,\r\n editScore,\r\n sortColumn,\r\n sortType,\r\n}) => {\r\n const inputStyle = {\r\n fontSize: '16px',\r\n height: '28px',\r\n color: 'greenyellow',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n };\r\n\r\n const readOnlyFields = true;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n onSort({ sortColumn: 'nombre', sortType })}\r\n scope=\"col col-3\"\r\n >\r\n Nombre{' '}\r\n \r\n \r\n onSort({ sortColumn: 'apellido', sortType })}\r\n scope=\"col col-3\"\r\n >\r\n Apellido{' '}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((tarea, index) => (\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n ))}\r\n \r\n
Número de documentoPuntaje Obtenido
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n const puntajeObtenido = items[index] && items[index].puntajeObtenido;\r\n const value = Number(target.value);\r\n\r\n if (value !== puntajeObtenido) {\r\n onChangeText({\r\n target,\r\n name: fields.name,\r\n numeroDocumento: items[index] && items[index].numeroDocumento,\r\n });\r\n }\r\n }}\r\n parse={value => Number(value)}\r\n readOnly={editScore}\r\n disabled={editScore}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nStudentsScoresTable.propTypes = {\r\n onChangeText: PropTypes.func.isRequired,\r\n onSort: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n puntajeTotal: PropTypes.number,\r\n sortColumn: PropTypes.string,\r\n sortType: PropTypes.string,\r\n editScore: PropTypes.bool.isRequired,\r\n};\r\n\r\nStudentsScoresTable.defaultProps = {\r\n meta: {},\r\n puntajeTotal: 0,\r\n sortColumn: 'nombre',\r\n sortType: 'asc',\r\n};\r\n\r\nexport default StudentsScoresTable;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n Row,\r\n FormGroup,\r\n Label,\r\n Badge,\r\n} from 'reactstrap';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\nimport StudentsScoresTable from './StudentsScoresTable';\r\nimport {\r\n dateFormat,\r\n dateTimeFormat,\r\n} from '../../../../helpers/dateFormat';\r\n\r\nclass HomeworkForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n handleChangeText: PropTypes.func.isRequired,\r\n handleSort: PropTypes.func.isRequired,\r\n handleFilterChangeText: PropTypes.func.isRequired,\r\n\r\n showSpinner: PropTypes.func.isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool.isRequired,\r\n tareaMateriaAlumnos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n puntajeTotal: PropTypes.number.isRequired,\r\n canEdit: PropTypes.bool,\r\n filterValue: PropTypes.string,\r\n sortColumn: PropTypes.string.isRequired,\r\n sortType: PropTypes.string.isRequired,\r\n utilizaPorcentajePesoMateria: PropTypes.bool.isRequired,\r\n finCalificarTareas: PropTypes.string.isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n canEdit: true,\r\n filterValue: '',\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n format = (date = '') => {\r\n if (date) {\r\n return dateFormat(date.split('T')[0]);\r\n }\r\n\r\n return '';\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n showSpinner,\r\n } = this.props;\r\n\r\n if (loading) {\r\n return showSpinner();\r\n }\r\n\r\n const {\r\n handleSubmit,\r\n handleChangeText,\r\n handleSort,\r\n handleFilterChangeText,\r\n submitting,\r\n onBack,\r\n puntajeTotal,\r\n canEdit,\r\n tareaMateriaAlumnos,\r\n filterValue,\r\n utilizaPorcentajePesoMateria,\r\n finCalificarTareas,\r\n sortColumn,\r\n sortType,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n {canEdit ? (\r\n Guardar\r\n \r\n ) : null\r\n }\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos de la tarea
\r\n
\r\n \r\n {!canEdit && finCalificarTareas ? (\r\n \r\n
\r\n

\r\n \r\n Fecha Límite Calificar Tareas {dateTimeFormat(finCalificarTareas)}\r\n \r\n

\r\n
\r\n \r\n ) : null\r\n }\r\n \r\n
\r\n Tarea\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Puntaje Total\r\n
\r\n Number(val)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje Peso Materia\r\n
\r\n (utilizaPorcentajePesoMateria ? value : '')}\r\n parse={val => Number(val)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Fecha Entrega\r\n
\r\n (canEdit ? value : this.format(value))}\r\n />\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n {canEdit ? (\r\n Guardar\r\n \r\n ) : null\r\n }\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxHomeworkForm = reduxForm({\r\n form: 'HomeworkForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(HomeworkForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxHomeworkForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport Form from './form';\r\nimport {\r\n getHomework,\r\n saveHomework,\r\n updateScoreHomework,\r\n} from '../../../../redux/actions/materiaPeriodoActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport debounce from '../../../../helpers/debounce';\r\n\r\nclass HomeworkContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n tarea: {\r\n tareaMateriaAlumnos: [],\r\n },\r\n loading: false,\r\n filterValue: '',\r\n sortColumn: 'apellido',\r\n sortType: 'desc',\r\n };\r\n\r\n this.debouncedAutoSaveScore = debounce(this.autoSaveScore, 500);\r\n }\r\n\r\n componentDidMount() {\r\n const { id } = this.props;\r\n this.fetchCurrentRecord(id);\r\n }\r\n\r\n fetchCurrentRecord = (id) => {\r\n this.setState({ loading: true });\r\n\r\n if (!id) {\r\n this.setState({\r\n loading: false,\r\n tarea: {\r\n id: 0,\r\n descripcion: '',\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n getHomework({\r\n id,\r\n onSuccess: (tarea) => {\r\n const { fechaEntrega } = tarea;\r\n this.setState({\r\n loading: false,\r\n tarea: {\r\n ...tarea,\r\n ...{\r\n fechaEntrega: fechaEntrega.split('T')[0],\r\n },\r\n },\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n\r\n if (error && error.status === 404) {\r\n createErrorMessage('La tarea de clase no existe');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la tarea de clase');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n if (!values) return;\r\n\r\n this.setState({ loading: true });\r\n\r\n const {\r\n id,\r\n materiaPeriodoId,\r\n descripcion,\r\n fechaEntrega,\r\n puntajeTotal,\r\n porcentajePesoMateria,\r\n deleted,\r\n } = values;\r\n\r\n const { utilizaPorcentajePesoMateria } = this.props;\r\n\r\n saveHomework({\r\n paylaod: {\r\n id,\r\n materiaPeriodoId,\r\n descripcion,\r\n fechaEntrega,\r\n puntajeTotal,\r\n porcentajePesoMateria: utilizaPorcentajePesoMateria ? porcentajePesoMateria : 0,\r\n deleted,\r\n },\r\n onSuccess: (tareaId) => {\r\n this.setState({ loading: false });\r\n\r\n this.fetchCurrentRecord(tareaId);\r\n createSuccessMessage('Tarea de clase guardada exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la tarea de clase');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { onHideForm } = this.props;\r\n onHideForm();\r\n }\r\n\r\n handleChangeText = ({\r\n name,\r\n target,\r\n numeroDocumento,\r\n }) => {\r\n const value = target.type === 'number'\r\n ? Number(target.value)\r\n : `${target.value}`.trim();\r\n\r\n if (numeroDocumento) {\r\n const { tarea } = this.state;\r\n const items = tarea[name];\r\n\r\n const newArray = [...items];\r\n const index = newArray.findIndex(item => item.numeroDocumento === numeroDocumento);\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n ...{\r\n [target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({\r\n tarea: {\r\n ...tarea,\r\n [name]: newArray,\r\n },\r\n });\r\n\r\n this.debouncedAutoSaveScore(newArray[index]);\r\n\r\n return;\r\n }\r\n\r\n this.setState(prev => ({\r\n tarea: {\r\n ...prev.tarea,\r\n ...{\r\n [target.name]: value,\r\n },\r\n },\r\n }));\r\n };\r\n\r\n handleSort = ({ sortColumn, sortType }) => {\r\n this.setState({\r\n sortColumn,\r\n sortType: sortType === 'desc' ? 'asc' : 'desc',\r\n });\r\n };\r\n\r\n handleFilterChangeText = ({ target: { value } }) => {\r\n this.setState({ filterValue: value });\r\n };\r\n\r\n transformText = (value = '') => value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase();\r\n\r\n getTareaMateriaAlumnos = () => {\r\n const {\r\n filterValue = '',\r\n sortColumn,\r\n sortType,\r\n tarea: { tareaMateriaAlumnos = [] },\r\n } = this.state;\r\n\r\n const filter = this.transformText(filterValue);\r\n\r\n const result = tareaMateriaAlumnos\r\n .filter(tma => (\r\n this.transformText(tma.numeroDocumento).includes(filter)\r\n || this.transformText(tma.nombre).includes(filter)\r\n || this.transformText(tma.apellido).includes(filter)\r\n ))\r\n .sort((a, b) => (\r\n sortType !== 'asc' ? a[sortColumn].localeCompare(b[sortColumn]) : b[sortColumn].localeCompare(a[sortColumn])\r\n ));\r\n\r\n return result;\r\n };\r\n\r\n autoSaveScore = (row) => {\r\n if (!row) return;\r\n\r\n const {\r\n id,\r\n inscripcionMateriaId,\r\n puntajeObtenido,\r\n tareaMateriaId,\r\n } = row;\r\n\r\n updateScoreHomework({\r\n id,\r\n inscripcionMateriaId,\r\n puntajeObtenido,\r\n tareaMateriaId,\r\n }, {\r\n onSuccess: () => {\r\n createSuccessMessage('Puntaje actualizado exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el puntaje.');\r\n }\r\n },\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n id,\r\n materiaPeriodoId,\r\n utilizaPorcentajePesoMateria,\r\n } = this.props;\r\n\r\n const {\r\n tarea,\r\n loading,\r\n filterValue,\r\n sortColumn,\r\n sortType,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} tarea de clase\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n tarea de clase\r\n

\r\n \r\n
\r\n \r\n \r\n {\r\n loading ? \r\n : (\r\n \r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nHomeworkContainer.propTypes = {\r\n id: PropTypes.number.isRequired,\r\n materiaPeriodoId: PropTypes.number.isRequired,\r\n utilizaPorcentajePesoMateria: PropTypes.bool.isRequired,\r\n finCalificarTareas: PropTypes.string.isRequired,\r\n onHideForm: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default HomeworkContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n UncontrolledPopover,\r\n PopoverHeader,\r\n PopoverBody,\r\n} from 'reactstrap';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport renderToggleButtonField from '../../../shared/components/form/ToggleButton';\r\n\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport {\r\n filterHomework,\r\n removeHomework,\r\n} from '../../../redux/actions/materiaPeriodoActions';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport {\r\n dateFormat,\r\n dateTimeFormat,\r\n} from '../../../helpers/dateFormat';\r\nimport { createErrorMessage, createSuccessMessage } from '../../../helpers/notification';\r\nimport HomeworkForm from './HomeworkForm/index';\r\n\r\nclass HomeworkContainer extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n materiaPeriodoId: PropTypes.number.isRequired,\r\n utilizaPorcentajePesoMateria: PropTypes.bool.isRequired,\r\n finCalificarTareas: PropTypes.string.isRequired,\r\n canEdit: PropTypes.bool.isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 10 },\r\n showForm: false,\r\n recordId: 0,\r\n };\r\n\r\n this.handleSubmit.bind(this);\r\n\r\n this.checkBoxLabelStyle = {\r\n marginTop: '0px',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n };\r\n\r\n this.columns = utilizaPorcentajePesoMateria => [\r\n { key: 'id', name: '#', width: '85px' },\r\n {\r\n key: 'descripcion', name: 'Tarea', width: '85px', search: true,\r\n },\r\n {\r\n key: 'puntajeTotal',\r\n name: 'Puntaje Total',\r\n width: '85px',\r\n className: 'text-center',\r\n format: row => `${row.puntajeTotal}`,\r\n },\r\n {\r\n key: 'porcentajePesoMateria',\r\n name: 'Porcentaje Peso Materia',\r\n width: '85px',\r\n className: 'text-center',\r\n format: row => `${utilizaPorcentajePesoMateria ? row.porcentajePesoMateria : 'Sin Peso'}`,\r\n },\r\n {\r\n key: 'fechaEntrega',\r\n name: 'Fecha Entrega',\r\n search: false,\r\n className: 'text-center',\r\n width: '150px',\r\n format: row => dateFormat(row.fechaEntrega),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '85px',\r\n className: 'text-center',\r\n },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (record) => {\r\n this.edit(record);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n visible: false,\r\n icon: row => (\r\n <>\r\n \r\n \r\n No se puede borrar la tarea\r\n Hay alumnos que entregaron la tarea.\r\n \r\n \r\n ),\r\n callback: (record) => {\r\n if (!record.cantidadInscriptos) {\r\n this.handleDeleteAction(record);\r\n }\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateTable(page, pageSize);\r\n }\r\n\r\n updateTable = (page, pageSize, filters) => {\r\n const {\r\n materiaPeriodoId,\r\n } = this.props;\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n\r\n filterHomework({\r\n materiaPeriodoId,\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ items, totalItemsCount }) => {\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias por periodo');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteAction = (record) => {\r\n const name = `${record.descripcion}`;\r\n Confirm({\r\n title: 'Borrar tarea de clase',\r\n question: `Estás seguro que deseas eliminar esta tarea \"${name}\"?`,\r\n yesLabel: 'Si, Borrar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n removeHomework(record.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Tarea borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La tarea no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar tarea');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleHideForm = () => {\r\n this.setState({\r\n showForm: false,\r\n recordId: 0,\r\n });\r\n\r\n this.onDataTableClearFilters();\r\n };\r\n\r\n edit = (record) => {\r\n this.setState({\r\n showForm: true,\r\n recordId: record.id,\r\n });\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n this.updateTable(1, pageSize, { autoHideSearch });\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n handleSubmit = () => {\r\n const { handleSubmit } = this.props;\r\n const { utilizaPorcentajePesoMateria } = this.state;\r\n\r\n handleSubmit({ utilizaPorcentajePesoMateria });\r\n };\r\n\r\n handleChangeChecked = (utilizaPorcentajePesoMateria) => {\r\n if (utilizaPorcentajePesoMateria === undefined) {\r\n return;\r\n }\r\n\r\n this.setState({ utilizaPorcentajePesoMateria });\r\n\r\n const { handleSubmit } = this.props;\r\n\r\n handleSubmit({ utilizaPorcentajePesoMateria });\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.state;\r\n\r\n const {\r\n finCalificarTareas,\r\n } = this.props;\r\n\r\n if (loading || !finCalificarTareas) {\r\n return ;\r\n }\r\n\r\n const {\r\n materiaPeriodoId,\r\n utilizaPorcentajePesoMateria,\r\n canEdit,\r\n } = this.props;\r\n\r\n const {\r\n showForm,\r\n recordId,\r\n } = this.state;\r\n\r\n if (showForm) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n const {\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Lista de tareas de clase

\r\n\r\n

\r\n \r\n Fecha Límite Calificar Tareas {dateTimeFormat(finCalificarTareas)}\r\n \r\n

\r\n {canEdit ? (\r\n
\r\n this.edit({ id: 0 })}\r\n >\r\n Agregar Nueva Tarea\r\n \r\n
\r\n ) : null\r\n }\r\n \r\n \r\n
\r\n {\r\n canEdit ? (\r\n \r\n \r\n \r\n Utiliza Porcentaje Peso\r\n \r\n

No

\r\n
\r\n \r\n
\r\n

Si

\r\n
\r\n \r\n \r\n \r\n ) : null\r\n }\r\n\r\n \r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={page}\r\n pageSize={pageSize}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst ReduxHomeworkContainer = reduxForm({\r\n form: 'HomeworkContainer',\r\n // validate,\r\n enableReinitialize: true,\r\n})(HomeworkContainer);\r\n\r\nexport default setPropsAsInitialValues(ReduxHomeworkContainer);\r\n","const validate = ({ date = '' }) => {\r\n const errors = {};\r\n\r\n if (!date) {\r\n errors.date = 'Debe ingresar una fecha';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n Field,\r\n} from 'redux-form';\r\n\r\nimport renderToggleButtonField from '../../../shared/components/form/ToggleButton';\r\n\r\nconst StudentAssistancesTable = ({\r\n fields = {},\r\n meta: { error, submitFailed },\r\n onChangeChecked,\r\n onSort,\r\n items,\r\n present,\r\n editScore,\r\n sortColumn,\r\n sortType,\r\n}) => {\r\n const checkBoxLabelStyle = {\r\n marginTop: '0px',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n };\r\n\r\n const thStyle = {\r\n padding: '0.07rem',\r\n };\r\n\r\n if (!thStyle) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n onSort({ sortColumn: 'name', sortType })}\r\n scope=\"col col-3\"\r\n >\r\n Nombre{' '}\r\n \r\n \r\n onSort({ sortColumn: 'surname', sortType })}\r\n scope=\"col col-3\"\r\n >\r\n Apellido{' '}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((student, index) => (\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n ))}\r\n \r\n
Número de documentoPresente
\r\n {items[index] && items[index].doc}\r\n \r\n {items[index] && items[index].name}\r\n \r\n {items[index] && items[index].surname}\r\n \r\n
\r\n \r\n {\r\n onChangeChecked({\r\n name: fields.name,\r\n target: { name: `${student}.present`, checked },\r\n doc: items[index] && items[index].doc,\r\n });\r\n }\r\n }\r\n readOnly={editScore}\r\n disabled={editScore}\r\n />\r\n
\r\n \r\n
\r\n {\r\n submitFailed && error && (\r\n \r\n {error}\r\n \r\n )\r\n }\r\n \r\n );\r\n};\r\n\r\nStudentAssistancesTable.propTypes = {\r\n onChangeChecked: PropTypes.func.isRequired,\r\n onSort: PropTypes.func.isRequired,\r\n fields: PropTypes.shape({}).isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n meta: PropTypes.shape({}),\r\n present: PropTypes.bool,\r\n sortColumn: PropTypes.string,\r\n sortType: PropTypes.string,\r\n editScore: PropTypes.bool.isRequired,\r\n};\r\n\r\nStudentAssistancesTable.defaultProps = {\r\n meta: {},\r\n present: null,\r\n sortColumn: 'name',\r\n sortType: 'asc',\r\n};\r\n\r\nexport default StudentAssistancesTable;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n} from 'reactstrap';\r\n\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\nimport StudentAssistancesTable from './studentAssistancesTable';\r\nimport {\r\n dateFormat,\r\n} from '../../../helpers/dateFormat';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass AssistanceForm extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n };\r\n }\r\n\r\n format = (date = '') => {\r\n if (date) {\r\n return dateFormat(date.split('T')[0]);\r\n }\r\n\r\n return '';\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.props;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n handleSubmit,\r\n onChangeChecked,\r\n handleSort,\r\n handleFilterChangeText,\r\n handleChangeText,\r\n submitting,\r\n onBack,\r\n logContents,\r\n canEdit,\r\n students,\r\n id,\r\n date,\r\n room,\r\n reference,\r\n filterValue,\r\n sortColumn,\r\n sortType,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
\r\n {canEdit ? (\r\n Guardar\r\n \r\n ) : null\r\n }\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos de la asistencia{id ? ` #${id}` : ''}
\r\n
\r\n \r\n \r\n
\r\n Registro Contenido\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Fecha\r\n
\r\n (canEdit ? value : this.format(value))}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Aula\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Referencia\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n Filtrar alumnos:\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n {canEdit ? (\r\n Guardar\r\n \r\n ) : null\r\n }\r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst ReduxAssistanceForm = reduxForm({\r\n form: 'AssistanceForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(AssistanceForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxAssistanceForm);\r\n\r\nAssistanceForm.propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n onChangeChecked: PropTypes.func.isRequired,\r\n handleSort: PropTypes.func.isRequired,\r\n handleFilterChangeText: PropTypes.func.isRequired,\r\n handleChangeText: PropTypes.func.isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n loading: PropTypes.bool.isRequired,\r\n students: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n logContents: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n logContent: PropTypes.shape({}),\r\n id: PropTypes.number,\r\n date: PropTypes.string,\r\n room: PropTypes.string,\r\n reference: PropTypes.string,\r\n\r\n canEdit: PropTypes.bool,\r\n filterValue: PropTypes.string,\r\n sortColumn: PropTypes.string.isRequired,\r\n sortType: PropTypes.string.isRequired,\r\n};\r\n\r\nAssistanceForm.defaultProps = {\r\n submitting: false,\r\n canEdit: true,\r\n filterValue: '',\r\n id: 0,\r\n logContent: null,\r\n reference: null,\r\n date: '',\r\n room: '',\r\n};\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\nimport Form from './form';\r\nimport {\r\n fetch,\r\n saveAssistance,\r\n updatePresenceStundent,\r\n} from '../../../redux/actions/assistanceActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\nimport debounce from '../../../helpers/debounce';\r\n\r\nclass AssistanceFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n assistance: {\r\n reference: '',\r\n date: '',\r\n room: '',\r\n logContent: { value: 0 },\r\n students: [],\r\n },\r\n loading: false,\r\n filterValue: '',\r\n sortColumn: 'surname',\r\n sortType: 'desc',\r\n };\r\n\r\n this.debouncedAutoSavePresent = debounce(this.autoSavePresent, 500);\r\n }\r\n\r\n componentDidMount() {\r\n const { id } = this.props;\r\n this.getAssistance({ id });\r\n }\r\n\r\n getAssistance = ({ id }) => {\r\n if (!id) {\r\n this.setState({\r\n assistance: {},\r\n loading: false,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetch({\r\n id,\r\n onSuccess: ({\r\n date, room, reference, logContent, students = [],\r\n }) => {\r\n this.setState({\r\n assistance: {\r\n id,\r\n date: date.split('T')[0],\r\n room,\r\n reference,\r\n logContent,\r\n students,\r\n },\r\n loading: false,\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n assistance: {},\r\n loading: false,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createWarningMessage('La asistencia no existe');\r\n return;\r\n }\r\n\r\n createErrorMessage('Error al intentar cargar los datos de la asistencia');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values = {}) => {\r\n if (!Object.entries(values).length) return;\r\n\r\n this.setState({ loading: true });\r\n const {\r\n id,\r\n logContent = { value: null },\r\n room,\r\n reference,\r\n date,\r\n present = false,\r\n } = values;\r\n\r\n const { subjectPeriodId } = this.props;\r\n\r\n saveAssistance({\r\n payload: {\r\n id,\r\n subjectPeriodId,\r\n logContentId: logContent && logContent.value,\r\n room,\r\n reference,\r\n date,\r\n present,\r\n },\r\n onSuccess: ({ payload = {} }) => {\r\n this.setState({\r\n ...payload,\r\n loading: false,\r\n });\r\n this.handleOnBack();\r\n createSuccessMessage('Asistencia guardado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { onHideForm } = this.props;\r\n onHideForm();\r\n }\r\n\r\n handleChangeChecked = ({\r\n name,\r\n target = {},\r\n doc,\r\n }) => {\r\n if (target.checked === undefined) {\r\n return;\r\n }\r\n\r\n const value = target.checked;\r\n if (doc) {\r\n const { assistance } = this.state;\r\n const items = assistance[name];\r\n\r\n const newArray = [...items];\r\n const index = newArray.findIndex(item => item.doc === doc);\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n ...{\r\n [target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({\r\n assistance: {\r\n ...assistance,\r\n [name]: newArray,\r\n },\r\n });\r\n\r\n this.debouncedAutoSavePresent({ ...newArray[index], assistanceId: assistance.id });\r\n return;\r\n }\r\n\r\n this.setState(prev => ({\r\n assistance: {\r\n ...prev.assistance,\r\n ...{\r\n [target.name]: value,\r\n },\r\n },\r\n }));\r\n };\r\n\r\n handleSort = ({ sortColumn, sortType }) => {\r\n this.setState({\r\n sortColumn,\r\n sortType: sortType === 'desc' ? 'asc' : 'desc',\r\n });\r\n };\r\n\r\n handleFilterChangeText = ({ target: { value } }) => {\r\n this.setState({ filterValue: value });\r\n };\r\n\r\n handleChangeText = ({ target: { name, value } }) => {\r\n const { assistance } = this.state;\r\n this.setState({\r\n assistance: {\r\n ...assistance,\r\n [name]: value,\r\n },\r\n });\r\n };\r\n\r\n transformText = (value = '') => value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '').toLowerCase();\r\n\r\n getStudents = () => {\r\n const {\r\n filterValue = '',\r\n sortColumn,\r\n sortType,\r\n assistance: { students = [] },\r\n } = this.state;\r\n\r\n const filter = this.transformText(filterValue);\r\n const result = students\r\n .filter(tma => (\r\n this.transformText(tma.doc).includes(filter)\r\n || this.transformText(tma.name).includes(filter)\r\n || this.transformText(tma.surname).includes(filter)\r\n ))\r\n .sort((a, b) => (sortType !== 'asc'\r\n ? a[sortColumn].localeCompare(b[sortColumn])\r\n : b[sortColumn].localeCompare(a[sortColumn])\r\n ));\r\n\r\n return result;\r\n };\r\n\r\n autoSavePresent = (row = {}) => {\r\n const {\r\n assistanceId,\r\n studentId,\r\n present,\r\n } = row;\r\n\r\n if (!assistanceId || present == null) return;\r\n\r\n updatePresenceStundent({\r\n assistanceId,\r\n payload: {\r\n assistanceId,\r\n studentId,\r\n present,\r\n },\r\n onSuccess: () => {\r\n createSuccessMessage('Asistencia actualizado exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia.');\r\n }\r\n },\r\n });\r\n };\r\n\r\n assistanceForm = () => {\r\n const {\r\n id,\r\n logContents,\r\n } = this.props;\r\n\r\n const {\r\n assistance,\r\n loading,\r\n filterValue,\r\n sortColumn,\r\n sortType,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} asistencia\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n asistencia\r\n

\r\n \r\n
\r\n \r\n \r\n {this.assistanceForm()}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nAssistanceFormContainer.propTypes = {\r\n id: PropTypes.number.isRequired,\r\n subjectPeriodId: PropTypes.number.isRequired,\r\n logContents: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n onHideForm: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default AssistanceFormContainer;\r\n","import React, { Fragment } from 'react';\r\nimport { Provider } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { Modal } from 'reactstrap';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\n\r\nimport store from '../../App/store';\r\n\r\nimport { ThemeProps } from '../../../shared/prop-types/ReducerProps';\r\nimport Form from './form';\r\n\r\nconst FormModal = (props) => {\r\n const {\r\n id,\r\n subjectPeriodId,\r\n onHideForm,\r\n logContents,\r\n title,\r\n onConfirm,\r\n onCancel = () => {\r\n },\r\n color,\r\n } = props;\r\n\r\n const { theme } = store.getState();\r\n\r\n const modalClass = 'modal-dialog--header';\r\n\r\n const customUI = ({ onClose }) => (\r\n \r\n
\r\n

{title}

\r\n
\r\n
\r\n \r\n \r\n { onCancel(); onClose(); onHideForm(); }}\r\n handleSubmit={values => onConfirm({ ...values, onClose })}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n customUI.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n };\r\n\r\n return confirmAlert({\r\n customUI,\r\n });\r\n};\r\n\r\nFormModal.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n theme: ThemeProps.isRequired,\r\n id: PropTypes.number.isRequired,\r\n subjectPeriodId: PropTypes.number.isRequired,\r\n onHideForm: PropTypes.func.isRequired,\r\n logContents: PropTypes.arrayOf(PropTypes.shape({\r\n value: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number,\r\n ]),\r\n label: PropTypes.string,\r\n })).isRequired,\r\n // onConfirm: PropTypes.func.isRequired,\r\n // onCancel: PropTypes.func.isRequired,\r\n};\r\n\r\nFormModal.defaultProps = {\r\n yesLabel: 'Guardar',\r\n noLabel: 'Cancelar',\r\n};\r\n\r\nexport default FormModal;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Badge,\r\n Col,\r\n Container,\r\n Row,\r\n Popover,\r\n PopoverHeader,\r\n PopoverBody,\r\n} from 'reactstrap';\r\nimport setPropsAsInitialValues from '../../helpers/setPropsAsInitialValues';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport TooltipItem from '../../shared/components/TooltipItem';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport {\r\n fetch,\r\n updatePresenceStundent,\r\n fetchAll,\r\n fetchFormDatas,\r\n deleteAssistance,\r\n} from '../../redux/actions/assistanceActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport {\r\n dateFormat,\r\n dateMMFormat,\r\n dateDDFormat,\r\n} from '../../helpers/dateFormat';\r\nimport {\r\n createErrorMessage, createSuccessMessage, createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport AssistanceForm from './Form';\r\nimport AssistanceFormModal from './Form/formModal';\r\n\r\nconst AssistValues = [\r\n {\r\n value: null, label: '​➖', description: '-', color: 'secondary',\r\n },\r\n {\r\n value: true, label: '✔️', description: 'Presente', color: 'success',\r\n },\r\n {\r\n value: false, label: '​❌', description: 'Ausente', color: 'danger',\r\n },\r\n];\r\n\r\nfunction OwnerPopover({\r\n assistanceId,\r\n date,\r\n reference,\r\n onGetAssistance,\r\n onGetCurrentStudent,\r\n onNextPage,\r\n onPreviousPage,\r\n onPresent,\r\n onAbsent,\r\n onClose,\r\n}) {\r\n const [open, setOpen] = React.useState(false);\r\n const [assistance, setAssistance] = React.useState(false);\r\n const toggle = () => setOpen(!open);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {`#${assistanceId}, ${dateFormat(date)}, Ref:`}\r\n {\r\n {reference || ''}\r\n }\r\n
\r\n {\r\n setOpen(false);\r\n setAssistance(false);\r\n onClose();\r\n }}\r\n >\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n onGetCurrentStudent({\r\n assistance,\r\n assistanceId,\r\n date,\r\n reference,\r\n setAssistance,\r\n onGetAssistance,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n })\r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nOwnerPopover.propTypes = {\r\n assistanceId: PropTypes.number.isRequired,\r\n date: PropTypes.string.isRequired,\r\n reference: PropTypes.string.isRequired,\r\n onGetAssistance: PropTypes.func.isRequired,\r\n onGetCurrentStudent: PropTypes.func.isRequired,\r\n onNextPage: PropTypes.func.isRequired,\r\n onPreviousPage: PropTypes.func.isRequired,\r\n onPresent: PropTypes.func.isRequired,\r\n onAbsent: PropTypes.func.isRequired,\r\n onClose: PropTypes.func.isRequired,\r\n};\r\n\r\nclass AssistanceContainer extends PureComponent {\r\n static propTypes = {\r\n subjectPeriodId: PropTypes.number.isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n loadingAssists: false,\r\n items: [],\r\n assists: [],\r\n studentAssists: [],\r\n filters: { id: 10 },\r\n showForm: false,\r\n showFormModal: false,\r\n logContents: [],\r\n id: 0,\r\n students: [],\r\n currentStudentId: 0,\r\n };\r\n\r\n this.columns = ({ assists, studentAssists, canEditTask }) => {\r\n const cols = [\r\n {\r\n key: 'doc',\r\n name: 'Nº doc',\r\n width: '100px',\r\n search: true,\r\n },\r\n {\r\n key: 'surname',\r\n name: 'Apellido',\r\n visible: false,\r\n search: true,\r\n },\r\n {\r\n key: 'name',\r\n name: 'Nombre',\r\n search: true,\r\n width: '300px',\r\n format: ({ surname, name }) => `${surname}, ${name}`.trim(),\r\n },\r\n ];\r\n\r\n const groupByAssistance = assists.map(({ id, date, reference }) => ({ assistanceId: id, date, reference }));\r\n\r\n const assistanceByStudents = studentAssists\r\n .map(({ assistanceId, studentId, present }) => ({ assistanceId, studentId, present }));\r\n const assistanceLength = groupByAssistance.length;\r\n const attendancePerc = [];\r\n\r\n studentAssists\r\n .map(({ studentId, present }) => ({ studentId, present }))\r\n .reduce((res, { studentId, present }) => {\r\n if (!res[studentId]) {\r\n res[studentId] = { studentId, ok: 0 };\r\n attendancePerc.push(res[studentId]);\r\n }\r\n\r\n res[studentId].ok += present ? 1 : 0;\r\n\r\n return res;\r\n }, {});\r\n\r\n const assistanceHeaders = groupByAssistance.map(a => ({\r\n key: `assistance${a.assistanceId}`,\r\n name: (\r\n
\r\n
{dateDDFormat(a.date)}
\r\n \r\n \r\n \r\n \r\n
\r\n ),\r\n width: '75px',\r\n className: 'text-center',\r\n format: ({ studentId }) => {\r\n const assistanceByStudent = assistanceByStudents\r\n .find(as => as.assistanceId === a.assistanceId && as.studentId === studentId);\r\n\r\n if (!assistanceByStudent || assistanceByStudent.present === null) {\r\n return ​➖;\r\n }\r\n\r\n if (assistanceByStudent.present === false) {\r\n return (\r\n ​❌\r\n );\r\n }\r\n\r\n return (\r\n ✔️\r\n );\r\n },\r\n }));\r\n\r\n return [\r\n ...cols,\r\n ...[\r\n {\r\n key: 'assistPerc',\r\n name: '% Asistencia',\r\n editable: canEditTask,\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ studentId: id }) => (\r\n \r\n {\r\n attendancePerc.filter(({ studentId }) => id === studentId)\r\n .map(({ ok }) => Math.round((ok / assistanceLength) * 100))[0]\r\n || 0\r\n }\r\n \r\n ),\r\n },\r\n ],\r\n ...assistanceHeaders,\r\n ];\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshTable();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const {\r\n page, pageSize, totalItemsCount, filters,\r\n } = this.state;\r\n const state = { filters };\r\n\r\n // Typical usage (don't forget to compare props):\r\n if (page !== prevState.page) {\r\n state.page = page;\r\n }\r\n\r\n if (pageSize !== prevState.pageSize) {\r\n state.pageSize = pageSize;\r\n }\r\n\r\n if (totalItemsCount !== prevState.totalItemsCount) {\r\n state.totalItemsCount = totalItemsCount;\r\n }\r\n }\r\n\r\n handlePresent = ({ assistanceId, studentId }) => {\r\n if (!assistanceId || !studentId) {\r\n return;\r\n }\r\n\r\n this.setState({ loadingAssists: true });\r\n\r\n const { students } = this.state;\r\n\r\n updatePresenceStundent({\r\n assistanceId,\r\n payload: {\r\n assistanceId, studentId, present: true,\r\n },\r\n onSuccess: ({ payload = {} }) => {\r\n createSuccessMessage('Asistencia tomada éxitosamente');\r\n\r\n const newArray = [...students];\r\n const index = newArray.findIndex(item => item.studentId === studentId);\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n present: payload.present || false,\r\n };\r\n\r\n this.setState({\r\n students: newArray,\r\n loadingAssists: false,\r\n });\r\n\r\n this.nextPage();\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loadingAssists: false,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createWarningMessage('La asistencia no existe');\r\n return;\r\n }\r\n\r\n createErrorMessage('Error al intentar cargar los datos de la asistencia');\r\n },\r\n });\r\n }\r\n\r\n handleAbsent = ({ assistanceId, studentId }) => {\r\n if (!assistanceId || !studentId) {\r\n return;\r\n }\r\n\r\n this.setState({ loadingAssists: true });\r\n\r\n const { students } = this.state;\r\n\r\n updatePresenceStundent({\r\n assistanceId,\r\n payload: {\r\n assistanceId, studentId, present: false,\r\n },\r\n onSuccess: ({ present }) => {\r\n createSuccessMessage('Asistencia tomada éxitosamente');\r\n\r\n const newArray = [...students];\r\n const index = newArray.findIndex(item => item.studentId === studentId);\r\n\r\n newArray[index] = {\r\n ...newArray[index],\r\n present,\r\n };\r\n\r\n this.setState({\r\n students: newArray,\r\n loadingAssists: false,\r\n });\r\n\r\n this.nextPage();\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n loadingAssists: false,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createWarningMessage('La asistencia no existe');\r\n return;\r\n }\r\n\r\n createErrorMessage('Error al intentar cargar los datos de la asistencia');\r\n },\r\n });\r\n }\r\n\r\n getAssistance = ({ id }) => {\r\n if (!id) {\r\n this.setState({\r\n students: [],\r\n loading: false,\r\n currentStudentId: 0,\r\n });\r\n\r\n return;\r\n }\r\n\r\n fetch({\r\n id,\r\n onSuccess: ({\r\n students = [],\r\n }) => {\r\n this.setState({\r\n students,\r\n loading: false,\r\n currentStudentId: 0,\r\n });\r\n if (students.length) {\r\n this.nextPage();\r\n return;\r\n }\r\n\r\n createWarningMessage('La asistencia no tiene alumnos');\r\n },\r\n onError: (error) => {\r\n this.setState({\r\n students: [],\r\n loading: false,\r\n currentStudentId: 0,\r\n });\r\n\r\n if (error && error.status === 404) {\r\n createWarningMessage('La asistencia no existe');\r\n return;\r\n }\r\n\r\n createErrorMessage('Error al intentar cargar los datos de la asistencia');\r\n },\r\n });\r\n }\r\n\r\n refreshTable = (criteria = {}) => {\r\n const {\r\n page = 1, pageSize = 25, totalItemsCount = 0, filters = {},\r\n } = criteria;\r\n\r\n const state = {\r\n filters: filters || { logContent: [] },\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n };\r\n\r\n this.refreshFormDatas();\r\n\r\n this.fetchTable({ ...state });\r\n }\r\n\r\n refreshFormDatas = () => {\r\n const { subjectPeriodId } = this.props;\r\n\r\n this.setState({ loading: true });\r\n fetchFormDatas({\r\n subjectPeriodId,\r\n onSuccess: ({\r\n logContents,\r\n }) => this.setState({\r\n loading: false,\r\n logContents,\r\n }),\r\n onError: () => {\r\n this.setState({\r\n loading: false,\r\n logContents: [],\r\n });\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n fetchTable = ({ page, pageSize, filters }) => {\r\n const {\r\n subjectPeriodId,\r\n } = this.props;\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n\r\n fetchAll({\r\n subjectPeriodId,\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: ({ pageInfo, assists, studentAssists }) => {\r\n const { items, totalItemsCount } = pageInfo;\r\n this.setState({\r\n loading: false,\r\n items,\r\n totalItemsCount,\r\n assists,\r\n studentAssists,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de materias por periodo');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteAction = (record) => {\r\n const { page, pageSize } = this.state;\r\n this.refreshTable({ page, pageSize });\r\n\r\n const name = `#${record.id}, ${dateFormat(record.date)}, Ref:${record.reference || ''}`;\r\n Confirm({\r\n title: 'Borrar asistencia',\r\n question: `Estás seguro que deseas eliminar esta asistencia \"${name}\"?`,\r\n yesLabel: 'Si, Borrar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n deleteAssistance(record.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Asistencia borrada exitosamente');\r\n this.refreshTable({ page, pageSize });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La asistencia no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar asistencia');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleHideForm = () => {\r\n this.setState({\r\n showForm: false,\r\n showFormModal: false,\r\n });\r\n\r\n this.refreshTable();\r\n };\r\n\r\n editAssistance = ({ id = 0 }) => {\r\n this.refreshFormDatas();\r\n if (id === 0) {\r\n this.setState({\r\n id, showFormModal: true, showForm: false,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n id, showForm: true, showFormModal: false,\r\n });\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.refreshTable({ page, pageSize, filters });\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.refreshTable({ page: 1, pageSize, filters: values });\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n this.refreshTable({ page: 1, pageSize, filters: { autoHideSearch } });\r\n };\r\n\r\n nextPage = () => {\r\n const { students = [], currentStudentId } = this.state;\r\n\r\n const index = students.findIndex(s => s.studentId === currentStudentId);\r\n const newIndex = index + 1 === students.length ? 0 : index + 1;\r\n\r\n const student = students[newIndex];\r\n\r\n this.setState({ currentStudentId: student.studentId });\r\n };\r\n\r\n previousPage = () => {\r\n const { students = [], currentStudentId } = this.state;\r\n\r\n const index = students.findIndex(s => s.studentId === currentStudentId);\r\n const { studentId } = students[index === 0 ? students.length - 1 : index - 1];\r\n\r\n this.setState({ currentStudentId: studentId });\r\n };\r\n\r\n getCurrentStudent = ({\r\n assistance,\r\n assistanceId,\r\n date,\r\n reference,\r\n setAssistance,\r\n onGetAssistance,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n }) => {\r\n const { students = [], currentStudentId } = this.state;\r\n const studentIndex = students.findIndex(s => s.studentId === currentStudentId);\r\n\r\n if (!assistance) {\r\n return (\r\n \r\n \r\n
\r\n
\r\n {\r\n setAssistance(true);\r\n onGetAssistance({ id: assistanceId });\r\n }}\r\n style={{ marginBottom: '0' }}\r\n >\r\n Tomar asistencia\r\n \r\n
\r\n
\r\n {\r\n this.editAssistance({ id: assistanceId });\r\n }}\r\n style={{ marginBottom: '0' }}\r\n >\r\n Editar asistencia\r\n \r\n
\r\n
\r\n {\r\n this.handleDeleteAction({\r\n id: assistanceId,\r\n date,\r\n reference,\r\n });\r\n }}\r\n style={{ marginBottom: '0' }}\r\n >\r\n Borrar asistencia\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n if (studentIndex === -1) {\r\n return <>;\r\n }\r\n\r\n const {\r\n doc, name, surname, present = false,\r\n } = students[studentIndex];\r\n\r\n const [assistanceValue] = AssistValues.filter(a => a.value === present);\r\n\r\n return (\r\n <>\r\n \r\n \r\n
Nº documento: {doc}
\r\n
{surname}
\r\n
{name}
\r\n \r\n \r\n \r\n {\r\n this.assistanceButtons({\r\n assistanceId,\r\n currentStudentId,\r\n assistanceValue,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n pointerStudent: `${studentIndex + 1}/${students.length}`,\r\n })\r\n }\r\n \r\n \r\n );\r\n }\r\n\r\n assistanceButtons = ({\r\n assistanceId,\r\n currentStudentId,\r\n assistanceValue,\r\n onPreviousPage,\r\n onNextPage,\r\n onPresent,\r\n onAbsent,\r\n pointerStudent,\r\n }) => {\r\n const { loadingAssists } = this.state;\r\n if (loadingAssists) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{pointerStudent}
\r\n \r\n {assistanceValue.description}\r\n \r\n
\r\n onPresent({ assistanceId, studentId: currentStudentId })}\r\n >\r\n \r\n \r\n onAbsent({ assistanceId, studentId: currentStudentId })}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n addButton = () => {\r\n const { showForm, showFormModal } = this.state;\r\n\r\n if (showForm || showFormModal) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n this.editAssistance({ id: 0 })}\r\n >\r\n Agregar Nueva Asistencia\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n studentAssistanceForm = () => {\r\n const {\r\n id, logContents, showForm,\r\n } = this.state;\r\n\r\n const { subjectPeriodId } = this.props;\r\n if (!subjectPeriodId || !showForm) {\r\n return null;\r\n }\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n studentAssistanceFormModal = () => {\r\n const {\r\n id, logContents, showFormModal,\r\n } = this.state;\r\n\r\n const { subjectPeriodId } = this.props;\r\n if (!subjectPeriodId || !showFormModal) {\r\n return null;\r\n }\r\n const show = false;\r\n if (show) {\r\n AssistanceFormModal({\r\n title: Nueva Asistencia,\r\n id,\r\n subjectPeriodId,\r\n logContents,\r\n onHideForm: this.handleHideForm,\r\n color: 'primary',\r\n onValueChanges: (key, value) => {\r\n console.log(key, value);\r\n const { currentInscription } = this.state;\r\n this.setState({ currentInscription: { ...currentInscription, [key]: +value } });\r\n },\r\n onConfirm: (value) => {\r\n console.log(value);\r\n },\r\n });\r\n\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n dataTable = () => {\r\n const {\r\n showForm,\r\n showFormModal,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n assists,\r\n studentAssists,\r\n } = this.state;\r\n\r\n if (showForm || showFormModal) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n this.getGridActions(key, row)}\r\n itemsToShow={items.length}\r\n page={page}\r\n pageSize={pageSize}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n );\r\n };\r\n\r\n render() {\r\n const {\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {this.addButton()}\r\n {this.studentAssistanceForm()}\r\n {this.studentAssistanceFormModal()}\r\n {this.dataTable()}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxAssistanceContainer = reduxForm({\r\n form: 'AssistanceContainer',\r\n enableReinitialize: true,\r\n})(AssistanceContainer);\r\n\r\nexport default setPropsAsInitialValues(ReduxAssistanceContainer);\r\n","import React from 'react';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport {\r\n Button,\r\n ButtonToolbar,\r\n Modal,\r\n Col,\r\n} from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\nimport moment from 'moment';\r\n\r\nconst EditarNotasDialog = ({\r\n inscripcionMateria,\r\n onConfirm,\r\n onValueChanges,\r\n}) => {\r\n const color = 'form';\r\n const modalClass = 'modal-dialog--header';\r\n const {\r\n fechaInscripcion,\r\n nombreAlumno,\r\n apellidoAlumno,\r\n porcentajeAsistencia = 0,\r\n porcentajePP = 0,\r\n } = inscripcionMateria;\r\n const inscripcion = moment(fechaInscripcion);\r\n\r\n const customUI = ({ onClose }) => {\r\n const validate = (values) => {\r\n const attrs = values || {};\r\n if (attrs.porcentajeAsistencia < 0 || attrs.porcentajeAsistencia > 100) {\r\n return 'Debe ingresar un porcentaje válido(0-100)';\r\n }\r\n if (attrs.porcentajePP < 0 || attrs.porcentajePP > 100) {\r\n return 'Debe ingresar un porcentaje válido(0-100)';\r\n }\r\n\r\n return '';\r\n };\r\n\r\n let errors = {\r\n porcentajeAsistencia: '',\r\n porcentajePP: '',\r\n };\r\n\r\n const handleChange = (event) => {\r\n event.persist();\r\n const values = { [event.target.name]: +event.currentTarget.value };\r\n errors = { ...errors, [event.target.name]: validate(values) };\r\n\r\n onValueChanges(event.target.name, +event.currentTarget.value);\r\n\r\n document.getElementById('lblPorcentajeAsistencia').textContent = errors.porcentajeAsistencia;\r\n\r\n document.getElementById('lblPorcentajePP').textContent = errors.porcentajePP;\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n

Editar Asistencia / Notas

\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Alumno\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Fecha de inscripcion\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Porcentaje de asistencia\r\n
\r\n \r\n .\r\n
\r\n
\r\n \r\n \r\n
\r\n Porcentaje PP\r\n
\r\n \r\n .\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {!errors.porcentajePP\r\n && (\r\n {\r\n onConfirm();\r\n onClose();\r\n }}\r\n >\r\n Guardar\r\n \r\n )\r\n }\r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n customUI.propTypes = {\r\n onClose: PropTypes.func.isRequired,\r\n };\r\n\r\n confirmAlert({\r\n customUI,\r\n });\r\n};\r\n\r\nEditarNotasDialog.propTypes = {\r\n inscripcionMateria: PropTypes.shape({}).isRequired,\r\n onConfirm: PropTypes.func.isRequired,\r\n onValueChanges: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default EditarNotasDialog;\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Spinner,\r\n Nav,\r\n NavItem,\r\n TabPane,\r\n TabContent,\r\n Button,\r\n Badge,\r\n} from 'reactstrap';\r\n\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport {\r\n get,\r\n getSubjectStudents,\r\n downloadSubjectStudents,\r\n downloadSubjectStudentsScore,\r\n changeUtilizaPorcentajePesoMateria,\r\n stampSubject,\r\n} from '../../redux/actions/materiaPeriodoActions';\r\n\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../helpers/notification';\r\nimport {\r\n actualizarNotas,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport PlaneamientoForm from './PlaneamientoForm/index';\r\nimport Homework from '../MateriasPeriodo/Homework/index';\r\nimport StudentAssistance from '../Assistance';\r\n\r\nimport EditarNotasDialog from './EditarNotasDialog';\r\nimport Confirm from '../../shared/components/Confirm';\r\n\r\nclass ProfessorDataContainer extends PureComponent {\r\n static propTypes = {\r\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n loadingAlumnosMateria: true,\r\n items: [],\r\n tareas: [],\r\n filters: {\r\n page: 1,\r\n pageSize: 20,\r\n numeroDocumento: '',\r\n nombreAlumno: '',\r\n apellidoAlumno: '',\r\n },\r\n activeTab: '1',\r\n currentInscription: {},\r\n materiaPeriodo: null,\r\n };\r\n\r\n this.inputStyle = {\r\n fontSize: '18px',\r\n color: 'greenyellow',\r\n textAlign: 'center',\r\n fontWeight: 'bold',\r\n backgroundColor: 'transparent',\r\n };\r\n\r\n this.columnsStudents = [\r\n {\r\n key: 'numeroDocumento',\r\n name: 'Nº documento',\r\n width: '130px',\r\n search: true,\r\n },\r\n {\r\n key: 'apellidoAlumno',\r\n name: 'Apellido',\r\n search: true,\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Nombre',\r\n search: true,\r\n },\r\n { key: 'phoneNumber', name: 'Teléfono' },\r\n { key: 'email', name: 'E-Mail' },\r\n ];\r\n\r\n this.columns = ({\r\n calculatePPFromTasks,\r\n tareas,\r\n canEditTask,\r\n showAssistPercentageInScores,\r\n }) => {\r\n const cols = [\r\n {\r\n key: 'numeroDocumento',\r\n name: 'Nº documento',\r\n width: '120px',\r\n search: true,\r\n },\r\n {\r\n key: 'apellidoAlumno',\r\n name: 'Apellido',\r\n visible: false,\r\n search: true,\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Nombre',\r\n search: true,\r\n format: row => `${row.apellidoAlumno}, ${row.nombreAlumno}`.trim(),\r\n },\r\n ];\r\n\r\n const scores = tareas.map(t => ({\r\n key: `tareas${t.id}`,\r\n name: `Tarea #${t.id} ${t.utilizaPorcentajePesoMateria ? `(${t.porcentajePesoMateria})%` : ''}`,\r\n width: '126px',\r\n className: 'text-center',\r\n format: ({ calificaciones = [] }) => (\r\n <>\r\n {calificaciones.filter(c => c.tareaId === t.id).map(c => c.puntaje)[0] || 0}\r\n {'/'}\r\n {t.puntajeTotal}\r\n \r\n ),\r\n }));\r\n\r\n return [\r\n ...cols,\r\n ...scores,\r\n ...[\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n editable: !calculatePPFromTasks && canEditTask,\r\n type: 'number',\r\n min: 0,\r\n max: 100,\r\n width: '100px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajePP }) => (\r\n \r\n {porcentajePP}\r\n \r\n ),\r\n },\r\n {\r\n visible: showAssistPercentageInScores,\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n editable: canEditTask,\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajeAsistencia }) => (\r\n \r\n {porcentajeAsistencia}\r\n \r\n ),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '100px',\r\n visible: false,\r\n },\r\n ],\r\n ];\r\n };\r\n\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.editarNotas(inscription);\r\n },\r\n },\r\n ];\r\n this.downloadAlumnosMateria.bind(this);\r\n this.downloadAlumnosMateriaNotas.bind(this);\r\n this.editarNotas.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.refreshTables();\r\n }\r\n\r\n refreshTables = () => {\r\n this.updateMateriaPeriodo();\r\n this.updateAlumnosMateria();\r\n }\r\n\r\n toggle = (tab) => {\r\n const { activeTab } = this.state;\r\n if (activeTab !== tab) {\r\n this.setState({ activeTab: tab });\r\n if (tab === '4') {\r\n this.updateAlumnosMateria();\r\n return;\r\n }\r\n\r\n if (tab === '3') {\r\n this.updateAlumnosMateria();\r\n }\r\n }\r\n };\r\n\r\n handleChangeUtilizaPorcentajePesoMateria = (values) => {\r\n const { id } = this.props;\r\n\r\n const { utilizaPorcentajePesoMateria } = values;\r\n\r\n changeUtilizaPorcentajePesoMateria({\r\n payload: {\r\n id: Number(id),\r\n allow: utilizaPorcentajePesoMateria,\r\n },\r\n onSuccess: () => {\r\n this.refreshTables();\r\n createSuccessMessage('Materia actualizada exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar actualizar la materia');\r\n }\r\n this.refreshTables();\r\n },\r\n });\r\n };\r\n\r\n updateMateriaPeriodo = () => {\r\n const { id } = this.props;\r\n this.setState({ loading: true });\r\n get({\r\n id,\r\n onSuccess: (materiaPeriodo) => {\r\n this.setState({\r\n materiaPeriodo, loading: false,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n items: [],\r\n tareas: [],\r\n loading: false,\r\n });\r\n createErrorMessage('Error al intentar cargar los datos de la materia');\r\n },\r\n });\r\n }\r\n\r\n editarNotas = (inscription) => {\r\n this.setState({ currentInscription: inscription });\r\n EditarNotasDialog({\r\n inscripcionMateria: inscription,\r\n onValueChanges: (key, value) => {\r\n const { currentInscription } = this.state;\r\n this.setState({ currentInscription: { ...currentInscription, [key]: +value } });\r\n },\r\n onConfirm: () => {\r\n const { currentInscription } = this.state;\r\n actualizarNotas(currentInscription, {\r\n onSuccess: () => {\r\n createSuccessMessage('Asistencia y/o notas guardada(s) exitosamente.');\r\n const { pageSize, filters } = this.state;\r\n this.updateAlumnosMateria(1, pageSize, filters);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia y/o nota.');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n autoguardarNota = (row, key, value) => {\r\n const { items } = this.state;\r\n const trow = items.find(r => r.id === row.id);\r\n\r\n if (!trow) return;\r\n trow[key] = +value;\r\n actualizarNotas({ ...row, [key]: +value }, {\r\n onSuccess: () => {\r\n createSuccessMessage('Asistencia y/o notas guardada(s) exitosamente.');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la asistencia y/o nota.');\r\n }\r\n },\r\n });\r\n };\r\n\r\n goBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n updateAlumnosMateria = (page, pageSize, filters) => {\r\n const { id } = this.props;\r\n\r\n this.setState({\r\n loadingAlumnosMateria: true,\r\n filters: filters || {},\r\n });\r\n\r\n getSubjectStudents({\r\n filters,\r\n id,\r\n onSuccess: ({ materias: items, tareas }) => {\r\n this.setState({\r\n loadingAlumnosMateria: false,\r\n items,\r\n tareas,\r\n totalItemsCount: items.length,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n items: [],\r\n tareas: [],\r\n loadingAlumnosMateria: false,\r\n });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n downloadAlumnosMateria = () => {\r\n const { id } = this.props;\r\n this.setState({ loadingAlumnosMateria: true });\r\n downloadSubjectStudents({\r\n id,\r\n onSuccess: () => {\r\n createSuccessMessage('Lista descargada exitosamente');\r\n this.setState({ loadingAlumnosMateria: false });\r\n },\r\n onError: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createErrorMessage('Error al intentar descargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n downloadAlumnosMateriaNotas = () => {\r\n const { id } = this.props;\r\n this.setState({ loadingAlumnosMateria: true });\r\n downloadSubjectStudentsScore({\r\n id,\r\n onSuccess: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createSuccessMessage('Lista descargada exitosamente');\r\n },\r\n onError: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createErrorMessage('Error al intentar descargar la lista de calificaciones alumnos');\r\n },\r\n });\r\n }\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateAlumnosMateria(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize, filters } = this.state;\r\n const { autoHideSearch } = filters;\r\n this.updateAlumnosMateria(1, pageSize, { autoHideSearch });\r\n };\r\n\r\n planeamientoForm = () => {\r\n const { materiaPeriodo } = this.state;\r\n return (\r\n \r\n );\r\n };\r\n\r\n getStutus = (estado = {}) => {\r\n let color = 'secondary';\r\n\r\n if (estado.value === 1) {\r\n color = 'info';\r\n }\r\n\r\n if (estado.value === 2) {\r\n color = 'success';\r\n }\r\n\r\n return (\r\n \r\n {estado.label}\r\n \r\n );\r\n };\r\n\r\n stump = () => {\r\n const { materiaPeriodo = {} } = this.state;\r\n if (materiaPeriodo.estado === undefined) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n
\r\n

Estado:

\r\n {this.getStutus(materiaPeriodo.estado)}\r\n {\r\n materiaPeriodo.estado.value === 0\r\n ? (\r\n this.handleStampExam(materiaPeriodo)}\r\n >\r\n Publicar\r\n \r\n )\r\n : <>1111\r\n }\r\n
\r\n \r\n
\r\n );\r\n };\r\n\r\n handleStampExam = (materiaPeriodo) => {\r\n const {\r\n materiaMalla,\r\n } = materiaPeriodo;\r\n\r\n Confirm({\r\n title: 'Sellar materia',\r\n question: `¿Estás seguro que deseas sellar la materia ${materiaMalla.label}?\r\nUna vez sellado ya no será editable.`,\r\n yesLabel: 'Si, Sellar materia',\r\n noLabel: 'No, Volver',\r\n color: 'success',\r\n onConfirm: () => {\r\n stampSubject({\r\n id: materiaPeriodo.id,\r\n subject: materiaPeriodo,\r\n onSuccess: () => {\r\n createSuccessMessage('Materia sellada exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateExamsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La materia no existe');\r\n } else if (error && error.status === 400) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Error al intentar sellar la materia');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n render() {\r\n const {\r\n materiaPeriodo,\r\n loading,\r\n loadingAlumnosMateria,\r\n items,\r\n tareas,\r\n totalItemsCount,\r\n filters,\r\n activeTab,\r\n } = this.state;\r\n\r\n if (loading || !materiaPeriodo) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Plan semestral de clases\r\n

\r\n

\r\n {materiaPeriodo.materia.label}{' - '}\r\n

{materiaPeriodo.seccion}

\r\n \r\n\r\n
\r\n \r\n
\r\n
Carrera:{' '}
\r\n
{materiaPeriodo.carrera}
\r\n
\r\n \r\n \r\n
\r\n
Semestre:{' '}
\r\n
{materiaPeriodo.semestre}
\r\n
\r\n \r\n \r\n
\r\n
Año:{' '}
\r\n
{materiaPeriodo.anho}
\r\n
\r\n \r\n \r\n
\r\n
Horas Semanales
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n {this ? null : this.stump()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n loadingAlumnosMateria ? (\r\n \r\n

\r\n \r\n

\r\n \r\n )\r\n : (\r\n <>\r\n \r\n
\r\n \r\n  \r\n Descargar lista\r\n \r\n
\r\n \r\n\r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={1}\r\n pageSize={totalItemsCount}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.planeamientoForm()}\r\n \r\n \r\n \r\n \r\n {\r\n loadingAlumnosMateria ? (\r\n \r\n

\r\n \r\n

\r\n \r\n )\r\n : (\r\n <>\r\n \r\n
\r\n \r\n  \r\n Descargar lista\r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={1}\r\n pageSize={totalItemsCount}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n Volver\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(ProfessorDataContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n reporteInscriptos,\r\n downloadStudentsInscriptos,\r\n} from '../../redux/actions/studentsActions';\r\nimport { fetchFormDatas } from '../../redux/actions/periodoActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\n\r\nclass StudentsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: {\r\n id: 20,\r\n periodo: { value: 0, label: '-' },\r\n },\r\n periods: [],\r\n };\r\n this.columns = [\r\n {\r\n key: 'periodo',\r\n name: 'Periodo',\r\n className: 'text-center',\r\n search: true,\r\n width: '200px',\r\n type: 'select',\r\n searchProps: {\r\n options: this.getPeriods,\r\n },\r\n format: row => `${row.periodo ? row.periodo.label : '-'}`,\r\n },\r\n {\r\n key: 'malla',\r\n name: 'Malla',\r\n search: true,\r\n },\r\n {\r\n key: 'carrera',\r\n name: 'Carrera',\r\n search: true,\r\n },\r\n {\r\n key: 'numeroLegajo',\r\n name: '# Legajo',\r\n width: '110px',\r\n search: true,\r\n type: 'number',\r\n },\r\n {\r\n key: 'numeroDocumento',\r\n name: '# Documento',\r\n search: true,\r\n type: 'number',\r\n width: '130px',\r\n },\r\n {\r\n key: 'nombre',\r\n name: 'Nombre',\r\n search: true,\r\n },\r\n {\r\n key: 'apellido',\r\n name: 'Apellido',\r\n search: true,\r\n },\r\n {\r\n key: 'cantidadDeMateriasActuales',\r\n name: 'Cantidad de materias',\r\n type: 'number',\r\n width: '150px',\r\n className: 'text-center',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n }\r\n\r\n fetchDatasList = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas({\r\n onSuccess: ({ periodos }) => {\r\n this.setState({\r\n periods: periodos,\r\n loading: false,\r\n });\r\n\r\n const { page, pageSize } = this.state;\r\n this.updateStudentsTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n console.log(error);\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n updateStudentsTable = (page, pageSize, filters = {}) => {\r\n const { periodo = {} } = filters;\r\n\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n periodoId: periodo.value,\r\n },\r\n });\r\n reporteInscriptos({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: {\r\n ...filters,\r\n periodoId: periodo.value,\r\n },\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n editStudent = (student) => {\r\n const { history } = this.props;\r\n history.push(`/pages/students/edit/${student.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, {});\r\n };\r\n\r\n getPeriods = () => {\r\n const { periods } = this.state;\r\n\r\n return periods || [];\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n downloadAlumnos = () => {\r\n const { filters } = this.state;\r\n downloadStudentsInscriptos({\r\n filters: filters || {},\r\n onError: () => {\r\n createErrorMessage('Error al intentar descargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Reporte de alumnos

\r\n \r\n
\r\n {items.length && (\r\n \r\n \r\n \r\n  \r\n Descargar lista\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentsContainer);\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe seleccionar una materia';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport renderSelectField from '../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass StudentSubjectFilterForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onFilter: PropTypes.func.isRequired,\r\n periodos: PropTypes.arrayOf(PropTypes.shape({})),\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})),\r\n materias: PropTypes.arrayOf(PropTypes.shape({})),\r\n semestres: PropTypes.arrayOf(PropTypes.shape({})),\r\n }\r\n\r\n static defaultProps = {\r\n periodos: [],\r\n carreras: [],\r\n materias: [],\r\n semestres: [],\r\n }\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n render() {\r\n const {\r\n handleSubmit,\r\n materias,\r\n carreras,\r\n periodos,\r\n semestres,\r\n onFilterChanges,\r\n onFilter,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Periodo\r\n
\r\n onFilterChanges('periodo', 'periodoId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Carrera\r\n
\r\n onFilterChanges('carrera', 'carreraId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Semestre\r\n
\r\n onFilterChanges('semestre', 'semestreId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n onFilterChanges('materia', 'materiaId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Filtrar\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxStudentFilterForm = reduxForm({\r\n form: 'StudentFilterForm',\r\n enableReinitialize: true,\r\n validate,\r\n})(StudentSubjectFilterForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxStudentFilterForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport StudentSubjectFilterForm from './FilterForm';\r\nimport {\r\n reporteAlumnosFormData,\r\n} from '../../redux/actions/studentsActions';\r\nimport {\r\n reporteAlumnosPorMateria,\r\n descargarReporteAlumnosPorMaterias,\r\n} from '../../redux/actions/studentSubjectsActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\n\r\nclass StudentsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.descargarReporteAlumnosPorMaterias.bind(this);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 0 },\r\n };\r\n this.columns = [\r\n { key: 'numeroDocumento', name: 'C.I. Nº', width: '120px' },\r\n { key: 'apellido', name: 'Apellido', width: '15%' },\r\n { key: 'nombre', name: 'Nombre', width: '15%' },\r\n { key: 'phoneNumber', name: 'Teléfono', width: '10%' },\r\n { key: 'email', name: 'Correo', width: '15%' },\r\n { key: 'nombreMateria', name: 'Materia' },\r\n {\r\n key: 'fechaIngreso',\r\n className: 'text-center',\r\n name: 'Año Ingreso',\r\n width: '130px',\r\n format: row => new Date(row.fechaIngreso).getFullYear(),\r\n },\r\n { key: 'nombreCarrera', name: 'Carrera' },\r\n {\r\n key: 'numeroSemestre',\r\n name: 'Semestre',\r\n width: '90px',\r\n format: row => `${row.numeroSemestre}º`,\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n type: 'number',\r\n width: '120px',\r\n\r\n },\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n type: 'number',\r\n width: '120px',\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.fetchFormData(page, pageSize);\r\n }\r\n\r\n fetchFormData = () => {\r\n reporteAlumnosFormData({\r\n onSuccess: (formData) => {\r\n const { materias } = formData;\r\n const distinctMaterias = materias.filter((v, index, self) => self.map(x => x.label).indexOf(v.label) === index);\r\n this.setState({\r\n ...formData,\r\n todasLasMaterias: materias,\r\n materias: distinctMaterias,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar los datos del formulario');\r\n },\r\n });\r\n }\r\n\r\n updateStudentsTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n reporteAlumnosPorMateria({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n if (objectKey === 'periodo' || objectKey === 'carrera') {\r\n const { carreraId, periodoId, todasLasMaterias } = this.state;\r\n let materias = todasLasMaterias.filter(m => (!carreraId || m.carreraId === carreraId)\r\n && (!periodoId || m.periodoId === periodoId));\r\n\r\n // Filter distinct and use MateriaId\r\n materias = materias.filter((v, index, self) => self.map(x => x.label).indexOf(v.label) === index)\r\n .map(x => ({ label: x.label, value: x.materiaId }));\r\n this.setState({\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n materias,\r\n });\r\n } else {\r\n this.setState({\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n });\r\n }\r\n\r\n const { filters } = this.state;\r\n filters[idKey] = value.value;\r\n\r\n this.setState({\r\n filters,\r\n });\r\n }\r\n\r\n handleOnFilter = () => {\r\n const { page, pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n descargarReporteAlumnosPorMaterias = () => {\r\n const { filters } = this.state;\r\n descargarReporteAlumnosPorMaterias({\r\n filters: filters || {},\r\n onError: () => {\r\n createErrorMessage('Error al intentar descargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Reporte de Asistencias y Pruebas Parciales

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {items.length && (\r\n \r\n  \r\n Descargar lista\r\n \r\n )}\r\n \r\n \r\n \r\n {loading ?

Esperando su búsqueda...

\r\n : (\r\n \r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentsContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport { Card, CardBody, Col } from 'reactstrap';\r\nimport renderSelectField from '../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../helpers/setPropsAsInitialValues';\r\n\r\nclass StudentFilterForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onFilter: PropTypes.func.isRequired,\r\n periodos: PropTypes.arrayOf(PropTypes.shape({})),\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})),\r\n materias: PropTypes.arrayOf(PropTypes.shape({})),\r\n semestres: PropTypes.arrayOf(PropTypes.shape({})),\r\n }\r\n\r\n static defaultProps = {\r\n periodos: [],\r\n carreras: [],\r\n materias: [],\r\n semestres: [],\r\n }\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n render() {\r\n const {\r\n handleSubmit,\r\n materias,\r\n carreras,\r\n periodos,\r\n semestres,\r\n onFilterChanges,\r\n onFilter,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n Periodo\r\n
\r\n onFilterChanges('periodo', 'periodoId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Carrera\r\n
\r\n onFilterChanges('carrera', 'carreraId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Semestre\r\n
\r\n onFilterChanges('semestre', 'semestreId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n onFilterChanges('materia', 'materiaId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Filtrar\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxStudentFilterForm = reduxForm({\r\n form: 'StudentFilterForm',\r\n enableReinitialize: true,\r\n})(StudentFilterForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxStudentFilterForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport StudentFilterForm from './FilterForm';\r\nimport {\r\n reporteAlumnosFormData,\r\n reporteAlumnos,\r\n downloadStudents,\r\n} from '../../redux/actions/studentsActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\nimport LoadingSpinner from '../../shared/components/LoadingSpinner';\r\nimport {\r\n Generos,\r\n} from '../../constants/enums';\r\n\r\nclass StudentsContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.downloadAlumnos.bind(this);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 0 },\r\n };\r\n this.columns = [\r\n { key: 'numeroDocumento', name: 'C.I. Nº', width: '120px' },\r\n { key: 'apellido', name: 'Apellido', width: '15%' },\r\n { key: 'nombre', name: 'Nombre', width: '15%' },\r\n { key: 'edad', name: 'Edad', width: '5%' },\r\n { key: 'nacionalidad', name: 'Nacionalidad', width: '10%' },\r\n { key: 'phoneNumber', name: 'Teléfono', width: '10%' },\r\n { key: 'email', name: 'Correo', width: '15%' },\r\n {\r\n key: 'genero',\r\n name: 'Género',\r\n width: '10%',\r\n format: row => (Generos[row.genero] ? Generos[row.genero].label : ''),\r\n },\r\n {\r\n key: 'fechaIngreso',\r\n name: 'Año Ingreso',\r\n width: '130px',\r\n type: 'number',\r\n format: row => new Date(row.fechaIngreso).getFullYear(),\r\n },\r\n { key: 'carrera', name: 'Carrera', width: '110px' },\r\n {\r\n key: 'semestre',\r\n name: 'Semestre',\r\n width: '90px',\r\n format: row => `${row.semestre}º`,\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.fetchFormData(page, pageSize);\r\n this.setState({\r\n loading: false,\r\n });\r\n }\r\n\r\n fetchFormData = () => {\r\n reporteAlumnosFormData({\r\n onSuccess: (formData) => {\r\n const { materias } = formData;\r\n // Filter distinct and use MateriaId\r\n const distinctMaterias = materias\r\n .filter((v, index, self) => self.map(x => x.label).indexOf(v.label) === index)\r\n .map(x => ({ label: x.label, value: x.materiaId }));\r\n this.setState({\r\n ...formData,\r\n todasLasMaterias: materias,\r\n materias: distinctMaterias,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar los datos del formulario');\r\n },\r\n });\r\n }\r\n\r\n updateStudentsTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n reporteAlumnos({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n if (objectKey === 'periodo' || objectKey === 'carrera') {\r\n const { carreraId, periodoId, todasLasMaterias } = this.state;\r\n let materias = todasLasMaterias.filter(m => (!carreraId || m.carreraId === carreraId)\r\n && (!periodoId || m.periodoId === periodoId));\r\n materias = materias.filter((v, index, self) => self.map(x => x.label).indexOf(v.label) === index);\r\n this.setState({\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n materias,\r\n });\r\n } else {\r\n this.setState({\r\n [idKey]: value.value,\r\n [objectKey]: value,\r\n });\r\n }\r\n const { filters } = this.state;\r\n filters[idKey] = value.value;\r\n\r\n this.setState({\r\n filters,\r\n });\r\n }\r\n\r\n handleOnFilter = () => {\r\n const { page, pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateStudentsTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateStudentsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n downloadAlumnos = () => {\r\n const { filters } = this.state;\r\n downloadStudents({\r\n filters: filters || {},\r\n onError: () => {\r\n createErrorMessage('Error al intentar descargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

Reporte de alumnos

\r\n \r\n
\r\n \r\n \r\n \r\n {items.length && (\r\n \r\n \r\n \r\n  \r\n Descargar lista\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(StudentsContainer);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Container,\r\n Col,\r\n Row,\r\n Table,\r\n} from 'reactstrap';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport { Calificaciones } from '../../../constants/enums';\r\nimport { dateFormat } from '../../../helpers/dateFormat';\r\n\r\nclass AcademicStatusForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n nombre: PropTypes.string.isRequired,\r\n apellido: PropTypes.string.isRequired,\r\n fechaIngreso: PropTypes.string.isRequired,\r\n numeroDocumento: PropTypes.string.isRequired,\r\n direccion: PropTypes.string.isRequired,\r\n calificacionesSemestres: PropTypes.arrayOf(PropTypes.shape({})),\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n calificacionesSemestres: [],\r\n }\r\n\r\n getScoreName = (score) => {\r\n const scoreEnum = Calificaciones.find(c => c.value === score) || {};\r\n return (scoreEnum.label || '-').split(':').pop().trim();\r\n };\r\n\r\n getScoreSubject = semester => semester.calificacionesMaterias.map(subject => (\r\n <>\r\n \r\n \r\n {subject.materiaCodigo}\r\n \r\n \r\n {subject.materia}\r\n \r\n \r\n {this.getScoreDetails(subject)}\r\n \r\n ));\r\n\r\n getScoreDetails = subject => subject.calificaciones.map(score => (\r\n \r\n \r\n {score.calificacion ? score.calificacion : '-'}\r\n \r\n \r\n {this.getScoreName(score.calificacion)}\r\n \r\n \r\n {score.nroActa}\r\n \r\n \r\n {dateFormat(score.fechaExamen)}\r\n \r\n \r\n {score.periodo}\r\n \r\n \r\n ));\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n numeroDocumento,\r\n nombre,\r\n apellido,\r\n fechaIngreso,\r\n direccion,\r\n calificacionesSemestres,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
Datos personales
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Nombres y Apellidos:{`${nombre} ${apellido}`}
Documento Número:\r\n {\r\n numeroDocumento && parseInt(numeroDocumento, 10)\r\n ? new Intl.NumberFormat('es-PY').format(parseInt(numeroDocumento, 10))\r\n : numeroDocumento\r\n }\r\n
Domicilio:{direccion}
\r\n Fecha de Examen de Ingreso:\r\n \r\n {new Date(fechaIngreso).getFullYear()}\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
DATOS ACADEMICOS
\r\n
\r\n \r\n
\r\n \r\n {calificacionesSemestres.map(se => (\r\n \r\n \r\n \r\n
\r\n

{se.semestre}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.getScoreSubject(se)}\r\n \r\n
\r\n Cod.\r\n \r\n Asignatura\r\n \r\n Nº\r\n \r\n Letras\r\n \r\n Acta Nº\r\n \r\n Fecha\r\n \r\n Obs.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n Descargar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst rdxForm = reduxForm({\r\n form: 'rdxForm',\r\n enableReinitialize: true,\r\n})(AcademicStatusForm);\r\n\r\nexport default setPropsAsInitialValues(rdxForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport StudentForm from './AcademicStatusForm';\r\nimport {\r\n reporteAcademicStatusStudent,\r\n downloadAcademicStatusStudent,\r\n} from '../../../redux/actions/studentsActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport LoadingSpinner from '../../../shared/components/LoadingSpinner';\r\n\r\nclass AcademicStatusContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: true,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchCurrentStudent();\r\n }\r\n\r\n fetchCurrentStudent = () => {\r\n const { id = '', history } = this.props;\r\n reporteAcademicStatusStudent(id, {\r\n onSuccess: (student) => {\r\n this.setState({ student, loading: false });\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('El alumno no existe');\r\n history.goBack();\r\n } else {\r\n createErrorMessage('Error al intentar cargar el estado académico del alumno');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { id } = values;\r\n this.setState({ loading: true });\r\n downloadAcademicStatusStudent(id, {\r\n onSuccess: () => {\r\n this.setState({ loading: false });\r\n createSuccessMessage('Reporte descargado exitosamente');\r\n },\r\n onError: (error) => {\r\n this.setState({ loading: false });\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar descargar el reporte');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n render() {\r\n const { history } = this.props;\r\n const {\r\n student,\r\n loading,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Estado académico alumno\r\n

\r\n

\r\n La información del alumno de examenes sellados\r\n

\r\n \r\n
\r\n \r\n \r\n {loading\r\n ? ()\r\n : (\r\n \r\n )\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nAcademicStatusContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default AcademicStatusContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Badge,\r\n} from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n filter,\r\n remove,\r\n} from '../../redux/actions/periodoActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\nimport { dateFormat } from '../../helpers/dateFormat';\r\n\r\nclass PeriodosContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n };\r\n this.columns = [\r\n {\r\n key: 'anho',\r\n name: 'Año',\r\n search: false,\r\n width: '80px',\r\n format: ({ anho: value, activo }) => this.columnStyle({ value, activo }),\r\n },\r\n {\r\n key: 'nombre',\r\n name: 'Nombre',\r\n search: false,\r\n format: ({ nombre: value, activo }) => this.columnStyle({ value, activo }),\r\n },\r\n {\r\n key: 'inicioClases',\r\n name: 'Inicio de clases',\r\n search: false,\r\n type: 'date',\r\n format: ({ inicioClases, activo }) => this.columnStyle({ value: dateFormat(inicioClases), activo }),\r\n },\r\n {\r\n key: 'finClases',\r\n name: 'Fin de clases',\r\n search: false,\r\n type: 'date',\r\n format: ({ finClases, activo }) => this.columnStyle({ value: dateFormat(finClases), activo }),\r\n },\r\n {\r\n key: 'inicioPeriodoInscripcion',\r\n name: 'Inicio de inscripciones',\r\n search: false,\r\n type: 'date',\r\n format: ({ inicioPeriodoInscripcion, activo }) => this.columnStyle({\r\n value: dateFormat(inicioPeriodoInscripcion),\r\n activo,\r\n }),\r\n },\r\n {\r\n key: 'finPeriodoInscripcion',\r\n name: 'Fin de inscripciones',\r\n search: false,\r\n type: 'date',\r\n format: ({ finPeriodoInscripcion, activo }) => this.columnStyle({\r\n value: dateFormat(finPeriodoInscripcion),\r\n activo,\r\n }),\r\n },\r\n {\r\n key: 'finCalificarTareas',\r\n name: 'Límite para calificar tareas',\r\n search: false,\r\n type: 'date',\r\n format: ({ finCalificarTareas, activo }) => this.columnStyle({ value: dateFormat(finCalificarTareas), activo }),\r\n },\r\n {\r\n key: 'finEditarPlaneamiento',\r\n name: 'Límite para editar planeamiento',\r\n search: false,\r\n type: 'date',\r\n format: ({\r\n finEditarPlaneamiento, activo,\r\n }) => this.columnStyle({\r\n value: dateFormat(finEditarPlaneamiento),\r\n activo,\r\n }),\r\n },\r\n {\r\n key: 'esSemestrePar',\r\n name: 'Es semestre par',\r\n search: false,\r\n format: ({ esSemestrePar, activo }) => this.columnStyle({ value: (esSemestrePar ? 'Si' : 'No'), activo }),\r\n },\r\n {\r\n key: 'activo',\r\n name: 'Activo',\r\n search: false,\r\n format: ({ activo }) => this.columnStyle({ value: (activo ? 'Si' : 'No'), activo }),\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (periodo) => {\r\n this.editPeriodo(periodo);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (periodo) => {\r\n this.handleDeletePeriodo(periodo);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updatePeriodosTable(page, pageSize);\r\n }\r\n\r\n updatePeriodosTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n filter({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de periodos');\r\n },\r\n });\r\n }\r\n\r\n handleDeletePeriodo = (periodo) => {\r\n const name = `${periodo.materia.codigo}- ${periodo.materia.nombre}`;\r\n Confirm({\r\n title: 'Borrar periodo',\r\n question: `Estás seguro que deseas eliminar el periodo ${name}?`,\r\n yesLabel: 'Si, Borrar periodo',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n remove(periodo.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Periodo borrado exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updatePeriodosTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El periodo no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar el periodo');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n editPeriodo = (periodo) => {\r\n const { history } = this.props;\r\n history.push(`/pages/periodos/edit/${periodo.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updatePeriodosTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updatePeriodosTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updatePeriodosTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n columnStyle = ({ activo, value }) => {\r\n if (!activo) {\r\n return value;\r\n }\r\n\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Lista de periodos

\r\n
\r\n \r\n Agregar nuevo periodo\r\n \r\n
\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(PeriodosContainer);\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.nombre) {\r\n errors.nombre = 'Debe ingresar un nombre para el periodo';\r\n }\r\n\r\n if (!attrs.anhoLectivo || !attrs.anhoLectivo.value) {\r\n errors.anhoLectivo = 'Debe seleccionar el año lectivo';\r\n }\r\n\r\n if (!attrs.inicioClases) {\r\n errors.inicioClases = 'Debe seleccionar la fecha de inicio de clases';\r\n }\r\n\r\n if (!attrs.finClases) {\r\n errors.finClases = 'Debe seleccionar la fecha de fin de clases';\r\n }\r\n\r\n if (!attrs.inicioPeriodoInscripcion) {\r\n errors.inicioPeriodoInscripcion = 'Debe seleccionar la fecha de inicio de inscripciones';\r\n }\r\n\r\n if (!attrs.finPeriodoInscripcion) {\r\n errors.finPeriodoInscripcion = 'Debe seleccionar la fecha de fin de inscripciones';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n Row,\r\n FormGroup,\r\n Label,\r\n Badge,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport DatePicker from '../../../shared/components/form/DatePicker';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport validate from './validate';\r\n\r\nclass PeriodoForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n handleDeleteMateriaPeriodo: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n id: PropTypes.number,\r\n esSemestrePar: PropTypes.bool,\r\n activo: PropTypes.bool,\r\n aniosLectivos: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})),\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})),\r\n history: PropTypes.shape({}).isRequired,\r\n anhoLectivo: PropTypes.shape({}),\r\n }\r\n\r\n static defaultProps = {\r\n id: 0,\r\n submitting: false,\r\n esSemestrePar: false,\r\n activo: false,\r\n materias: [],\r\n carreras: [],\r\n anhoLectivo: {},\r\n }\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n this.editMateriaPeriodo = this.editMateriaPeriodo.bind(this);\r\n this.deleteMateriaPeriodo = this.deleteMateriaPeriodo.bind(this);\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n filters: { id: 20 },\r\n carreraId: 0,\r\n };\r\n this.columns = [\r\n // { key: 'codigo', name: 'Codigo', search: false },\r\n // { key: 'anho', name: 'Periodo', width: '85px' },\r\n {\r\n key: 'semestreNroOrden',\r\n name: 'Semestre',\r\n search: false,\r\n width: '120px',\r\n className: 'text-center',\r\n format: row => (\r\n
\r\n \r\n {` ${row.semestreNroOrden}º`}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: false,\r\n format: row => `${row.codigoMateria} - ${row.materia} - ${row.seccion}`,\r\n },\r\n {\r\n key: 'malla',\r\n name: 'Malla',\r\n search: false,\r\n },\r\n {\r\n key: 'profesores',\r\n name: 'Profesor(es)',\r\n format: row => row.profesores.map(m => (\r\n
\r\n
\r\n \r\n {m.role === 'Asistente' ? 'Aux' : 'Enc'}\r\n \r\n
\r\n : {m.nombre} {m.apellido}\r\n
\r\n )),\r\n },\r\n {\r\n key: 'tieneHorario',\r\n name: 'Horario',\r\n search: false,\r\n className: 'text-center',\r\n width: '100px',\r\n format: row => (\r\n

\r\n \r\n {row.tieneHorario ? 'Si' : 'No'}\r\n \r\n

\r\n ),\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (materiaPeriodo) => {\r\n this.editMateriaPeriodo(materiaPeriodo);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (materiaPeriodo) => {\r\n this.deleteMateriaPeriodo(materiaPeriodo);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n\r\n agregarOquitarMaterias = (periodo) => {\r\n if (periodo) {\r\n const { id, history } = this.props;\r\n history.push(`/pages/periodos/edit/${id}/materias`);\r\n }\r\n };\r\n\r\n\r\n editMateriaPeriodo = (materiaPeriodo) => {\r\n if (materiaPeriodo) {\r\n const { id, history } = this.props;\r\n history.push(`/pages/periodos/subjects/edit/${id}/${materiaPeriodo.id}`);\r\n }\r\n };\r\n\r\n deleteMateriaPeriodo = (materiaPeriodo) => {\r\n if (materiaPeriodo) {\r\n const { handleDeleteMateriaPeriodo } = this.props;\r\n handleDeleteMateriaPeriodo(materiaPeriodo);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, {});\r\n };\r\n\r\n onCarreraChanges = (carrera) => {\r\n this.setState({\r\n carreraId: carrera.value,\r\n });\r\n };\r\n\r\n filterMaterias = () => {\r\n const { materias } = this.props;\r\n const { carreraId } = this.state;\r\n\r\n return materias.filter(m => m.carreraId === carreraId || carreraId === 0);\r\n };\r\n\r\n getCarreras = () => {\r\n const { carreras } = this.props;\r\n return [\r\n ...[{ value: 0, label: 'Todas' }],\r\n ...carreras,\r\n ];\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n id,\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n aniosLectivos,\r\n esSemestrePar,\r\n activo,\r\n } = this.props;\r\n\r\n const {\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos del periodo
\r\n
\r\n \r\n \r\n
\r\n Nombre\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Año lectivo\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n\r\n
\r\n Semestre par?\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n Activo?\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n Fecha de inicio de clases\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Fecha de fin de clases\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Inicio de inscripciones\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n Fin de inscripciones\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Límite calificar tareas\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n Límite editar planeamiento\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n {id && (\r\n
\r\n \r\n \r\n this.agregarOquitarMaterias({ id })}\r\n >\r\n Agregar / Quitar Materias\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n
\r\n )}\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxPeriodoForm = reduxForm({\r\n form: 'PeriodoForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(PeriodoForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxPeriodoForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport PeriodoForm from './PeriodoForm';\r\nimport {\r\n get,\r\n save,\r\n fetchFormDatas,\r\n} from '../../../redux/actions/periodoActions';\r\nimport {\r\n remove as removeMateriaPeriodo,\r\n} from '../../../redux/actions/materiaPeriodoActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport Confirm from '../../../shared/components/Confirm';\r\nimport { dateTimeString } from '../../../helpers/dateFormat';\r\n\r\nclass PeriodoFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.handleOnSubjectChange = this.handleOnSubjectChange.bind(this);\r\n this.handleDeleteMateriaPeriodo = this.handleDeleteMateriaPeriodo.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n this.fetchCurrentRecord();\r\n }\r\n\r\n fetchCurrentRecord = () => {\r\n const { id, history } = this.props;\r\n if (id) {\r\n get(id, {\r\n onSuccess: (dto) => {\r\n const periodo = {\r\n ...dto,\r\n anhoLectivo: {\r\n value: dto.anhoLectivoId,\r\n label: `${dto.anho}`,\r\n },\r\n };\r\n\r\n this.setState({ periodo });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El periodo no existe');\r\n history.push('/pages/periodos');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del periodo');\r\n }\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n periodo: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n },\r\n });\r\n }\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: (d) => {\r\n this.setState({\r\n aniosLectivos: d.aniosLectivos,\r\n carreras: d.carreras,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const {\r\n anhoLectivo: { value: anhoLectivoId },\r\n finCalificarTareas,\r\n finEditarPlaneamiento,\r\n } = values;\r\n\r\n const params = {\r\n ...values,\r\n finCalificarTareas: dateTimeString(finCalificarTareas),\r\n finEditarPlaneamiento: dateTimeString(finEditarPlaneamiento),\r\n anhoLectivoId,\r\n };\r\n const { history } = this.props;\r\n save(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Periodo guardado exitosamente');\r\n history.push('/pages/periodos');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar el periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n\r\n handleDeleteMateriaPeriodo = (materiaPeriodo) => {\r\n const name = `${materiaPeriodo.materia}`;\r\n Confirm({\r\n title: 'Quitar materia de periodo',\r\n question: `Estás seguro que deseas quitar la materia ${name} de este periodo?`,\r\n yesLabel: 'Si, Quitar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n removeMateriaPeriodo(materiaPeriodo.id,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia quitada exitosamente');\r\n this.fetchDatasList();\r\n this.fetchCurrentRecord();\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La materia no existe');\r\n } else {\r\n createErrorMessage('Error al intentar quitar la materia del periodo');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { periodo } = this.state;\r\n this.setState({\r\n [idKey]: value.value,\r\n periodo: { ...periodo, [objectKey]: value },\r\n });\r\n }\r\n\r\n handleOnSubjectChange = (objectKey, idKey, value) => {\r\n const { periodo } = this.state;\r\n const profesor = `${value.nombre} ${value.apellido}`;\r\n let { interventorId, interventor } = periodo;\r\n\r\n if (!interventorId) {\r\n interventorId = value.usuarioId;\r\n interventor = { value: interventorId, label: profesor };\r\n }\r\n this.setState({\r\n [idKey]: value.value,\r\n periodo: {\r\n ...periodo,\r\n [objectKey]: value,\r\n profesor,\r\n interventor,\r\n interventorId,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n periodo,\r\n aniosLectivos,\r\n carreras,\r\n } = this.state;\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nuevo'} periodo\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información del periodo\r\n

\r\n \r\n
\r\n \r\n \r\n {!(aniosLectivos)\r\n ? (

Cargando...

)\r\n : (\r\n \r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nPeriodoFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default PeriodoFormContainer;\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n if (!attrs.student || !attrs.student.perfilAlumnoId) {\r\n errors.usuario = 'Debe seleccioanr el alumno';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card,\r\n CardBody,\r\n Col,\r\n Row,\r\n Container,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\nimport renderCheckBoxField from '../../../../shared/components/form/CheckBox';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass InscriptionForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onMateriaPeriodoChanges: PropTypes.func.isRequired,\r\n onCarreraChanges: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})),\r\n subjects: PropTypes.arrayOf(PropTypes.shape({})),\r\n anho: PropTypes.number.isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n carreras: [],\r\n subjects: [],\r\n }\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n anho,\r\n carreras,\r\n subjects = [],\r\n onMateriaPeriodoChanges,\r\n onCarreraChanges,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
Materias del periodo
\r\n
\r\n \r\n \r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n Periodo\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Carrera\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n {subjects.map(g => (\r\n \r\n \r\n \r\n
\r\n

{g.nombre}

\r\n
\r\n {g.materias.map(m => (\r\n
\r\n onMateriaPeriodoChanges(m.materiaMallaId, v)}\r\n />\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst InscriptionFormForm = reduxForm({\r\n form: 'InscriptionFormForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(InscriptionForm);\r\n\r\nexport default setPropsAsInitialValues(InscriptionFormForm);\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport EditarMateriasForm from './EditarMateriasForm';\r\nimport {\r\n fetchAllSubjectsBySemesters,\r\n saveSubjects,\r\n fetchEditSubjectsFormData,\r\n} from '../../../../redux/actions/periodoActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\nimport { SidebarProps } from '../../../../shared/prop-types/ReducerProps';\r\n\r\nclass InscriptionContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loaded: false,\r\n materiasModificadas: [],\r\n carrera: { value: 0, label: 'Todos' },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchFormData();\r\n this.fetchSubjectList(0);\r\n }\r\n\r\n fetchFormData = () => {\r\n const { history, id: periodoId } = this.props;\r\n fetchEditSubjectsFormData(periodoId, {\r\n onSuccess: (formData) => {\r\n const { carreras } = formData;\r\n carreras.push({ value: 0, label: 'Todos' });\r\n this.setState({\r\n ...formData,\r\n carreras,\r\n loaded: true,\r\n });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El periodo no existe');\r\n history.push('/pages/periodo-subjects');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n fetchSubjectList = (carreraId) => {\r\n const { id: periodoId } = this.props;\r\n this.setState({ loaded: false });\r\n fetchAllSubjectsBySemesters({\r\n periodoId,\r\n carreraId,\r\n onSuccess: (subjects) => {\r\n this.setState({ subjects, loaded: true });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar las materias');\r\n this.setState({ loaded: false });\r\n },\r\n });\r\n }\r\n\r\n\r\n onMateriaPeriodoChanges = (id, evt) => {\r\n if (evt.target) {\r\n const { materiasModificadas } = this.state;\r\n const subject = materiasModificadas.find(i => i.materiaMallaId === id);\r\n if (!subject) {\r\n materiasModificadas.push({\r\n materiaMallaId: id,\r\n selected: evt.target.checked,\r\n });\r\n this.setState({ materiasModificadas });\r\n } else {\r\n subject.selected = evt.target.checked;\r\n this.setState({ materiasModificadas });\r\n }\r\n }\r\n }\r\n\r\n handleSubmit = () => {\r\n const { id: periodoId } = this.props;\r\n const { materiasModificadas } = this.state;\r\n const params = { materiasModificadas, periodoId: +periodoId };\r\n const { history } = this.props;\r\n saveSubjects(params,\r\n {\r\n onSuccess: () => {\r\n createSuccessMessage('Materias del periodo guardado exitosamente');\r\n history.push(`/pages/periodos/edit/${periodoId}`);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar las materias del periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n onCarreraChanges = (carrera) => {\r\n this.setState({ carrera });\r\n this.fetchSubjectList(carrera.value);\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n periodo,\r\n loaded,\r\n subjects,\r\n carrera,\r\n carreras,\r\n } = this.state;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n Materias del periodo\r\n

\r\n

\r\n {id ? 'Modifica ' : 'Ingresa '}\r\n la información de materias del periodo\r\n

\r\n \r\n
\r\n \r\n \r\n {!(loaded && subjects && periodo)\r\n ? (

Cargando...

)\r\n : (\r\n \r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nInscriptionContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n sidebar: SidebarProps.isRequired,\r\n};\r\n\r\nexport default withRouter(connect(state => ({\r\n sidebar: state.sidebar,\r\n}))(InscriptionContainer));\r\n","const validate = (attrs = {\r\n horarios: [],\r\n}) => {\r\n const errors = {};\r\n\r\n if (!attrs.malla || !attrs.malla.value) {\r\n errors.malla = 'Debe seleccionar una malla';\r\n }\r\n\r\n if (!attrs.materia || !attrs.materia.value) {\r\n errors.materia = 'Debe seleccionar una materia';\r\n }\r\n\r\n if (!attrs.profesor || !attrs.profesor.value) {\r\n errors.profesor = 'Debe seleccionar un profesor';\r\n }\r\n\r\n if (!attrs.periodo || !attrs.periodo.value) {\r\n errors.periodo = 'Debe seleccionar un periodo';\r\n }\r\n\r\n if (attrs.horarios && attrs.horarios.length) {\r\n errors.horarios = [];\r\n attrs.horarios.filter(o => !o.deleted).forEach((obj, index) => {\r\n const error = {};\r\n\r\n if (!obj.tipoActividadAcademicaHorario || !obj.tipoActividadAcademicaHorario.value) {\r\n error.tipoActividadAcademicaHorario = 'Debe ingresar el tipo de actividad academica';\r\n }\r\n if (!obj.profesor || !obj.profesor.value) {\r\n error.profesor = 'Debe seleccionar un profesor';\r\n } else {\r\n const {\r\n profesor, profesorAuxiliar1, profesorAuxiliar2, profesorAuxiliar3,\r\n } = attrs;\r\n const profesorsAvailable = [\r\n profesor || {},\r\n profesorAuxiliar1 || {},\r\n profesorAuxiliar2 || {},\r\n profesorAuxiliar3 || {},\r\n ];\r\n\r\n if (!profesorsAvailable.some(p => p.value && p.value === obj.profesor.value)) {\r\n error.profesor = 'Debe seleccionar el profesor encaregado o auxiliar';\r\n }\r\n }\r\n if (!obj.dia || !obj.dia.value) {\r\n error.dia = 'Debe seleccionar un dia';\r\n }\r\n if (!obj.horaInicio) {\r\n error.horaInicio = 'Debe ingresar la hora';\r\n }\r\n if (!obj.horaFin) {\r\n error.horaFin = 'Debe ingresar la hora';\r\n }\r\n\r\n if (Object.keys(error).length) {\r\n errors.horarios[index] = error;\r\n }\r\n });\r\n }\r\n\r\n if (Object.keys(errors).length) {\r\n console.error(errors);\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n FieldArray,\r\n} from 'redux-form';\r\nimport {\r\n Badge,\r\n Container,\r\n Card,\r\n CardBody,\r\n Col,\r\n Button,\r\n Row,\r\n TabPane,\r\n TabContent,\r\n Nav,\r\n NavItem,\r\n} from 'reactstrap';\r\n\r\nimport LoadingSpinner from '../../../../shared/components/LoadingSpinner';\r\nimport renderCheckBoxField from '../../../../shared/components/form/CheckBox';\r\nimport TextBox from '../../../../shared/components/form/TextBox';\r\nimport DataTable from '../../../../shared/components/DataTable';\r\nimport renderSelectField from '../../../../shared/components/form/Select';\r\nimport PlaneamientoForm from '../../../Profesor/PlaneamientoForm/index';\r\nimport setPropsAsInitialValues from '../../../../helpers/setPropsAsInitialValues';\r\nimport validate from './validate';\r\n\r\nclass MateriaPeriodoForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onFilterChanges: PropTypes.func.isRequired,\r\n onChangeText: PropTypes.func.isRequired,\r\n onChangeSelect: PropTypes.func.isRequired,\r\n onGetAlumnosMateria: PropTypes.func.isRequired,\r\n onDownloadAlumnosMateriaNotas: PropTypes.func.isRequired,\r\n\r\n onAddSubjectsSchedule: PropTypes.func.isRequired,\r\n onDeleteSubjectSchedule: PropTypes.func.isRequired,\r\n\r\n onBack: PropTypes.func.isRequired,\r\n\r\n loading: PropTypes.bool.isRequired,\r\n editarAsistencias: PropTypes.bool.isRequired,\r\n tipoActividadAcademicaHorarios: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n\r\n submitting: PropTypes.bool,\r\n profesores: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n materiaPeriodo: PropTypes.shape({}).isRequired,\r\n\r\n diasSemana: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n\r\n filters: PropTypes.shape({}).isRequired,\r\n horarios: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n loadingAlumnosMateria: PropTypes.bool.isRequired,\r\n items: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n totalItemsCount: PropTypes.number.isRequired,\r\n\r\n profesor: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar1: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar2: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n profesorAuxiliar3: PropTypes.shape({\r\n value: PropTypes.number.isRequired,\r\n label: PropTypes.string.isRequired,\r\n }).isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n submitting: false,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activeTab: '1',\r\n };\r\n\r\n this.columns = ({\r\n calculatePPFromTasks,\r\n canEditTask,\r\n }) => {\r\n const cols = [\r\n {\r\n key: 'numeroDocumento',\r\n name: <>Nº documento,\r\n width: '120px',\r\n search: true,\r\n },\r\n {\r\n key: 'apellidoAlumno',\r\n name: 'Apellido',\r\n visible: false,\r\n search: true,\r\n },\r\n {\r\n key: 'nombreAlumno',\r\n name: 'Nombre',\r\n search: true,\r\n format: row => `${row.apellidoAlumno}, ${row.nombreAlumno}`.trim(),\r\n },\r\n { key: 'email', name: 'E-Mail' },\r\n ];\r\n\r\n return [\r\n ...cols,\r\n ...[\r\n {\r\n key: 'porcentajePP',\r\n name: '% PP',\r\n editable: !calculatePPFromTasks && canEditTask,\r\n type: 'number',\r\n min: 0,\r\n max: 100,\r\n width: '100px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajePP }) => (\r\n \r\n {porcentajePP}\r\n \r\n ),\r\n },\r\n {\r\n key: 'porcentajeAsistencia',\r\n name: '% Asistencia',\r\n type: 'number',\r\n min: '0',\r\n max: '100',\r\n width: '110px',\r\n className: 'text-center',\r\n inputStyle: this.inputStyle,\r\n format: ({ porcentajeAsistencia }) => (\r\n \r\n {Math.round(porcentajeAsistencia)}\r\n \r\n ),\r\n },\r\n {\r\n key: 'actions',\r\n name: 'Accion',\r\n width: '100px',\r\n visible: false,\r\n },\r\n ],\r\n ];\r\n };\r\n\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (inscription) => {\r\n this.editarNotas(inscription);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateExamsTable(1, pageSize, {});\r\n };\r\n\r\n toggle = (tab) => {\r\n const { onGetAlumnosMateria } = this.props;\r\n const { activeTab } = this.state;\r\n if (activeTab !== tab) {\r\n this.setState({ activeTab: tab });\r\n if (tab === '2') {\r\n onGetAlumnosMateria();\r\n }\r\n }\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n getProfesoresMateria = () => {\r\n const {\r\n profesor, profesorAuxiliar1, profesorAuxiliar2, profesorAuxiliar3,\r\n } = this.props;\r\n\r\n return [\r\n profesor || {},\r\n profesorAuxiliar1 || {},\r\n profesorAuxiliar2 || {},\r\n profesorAuxiliar3 || {},\r\n ].filter(p => p.value);\r\n }\r\n\r\n renderHorarios = ({\r\n fields = [],\r\n tipoActividadAcademicaHorarios = [],\r\n diasSemana = [],\r\n horarios = [],\r\n }) => {\r\n const {\r\n onAddSubjectsSchedule, onDeleteSubjectSchedule, onChangeText, onChangeSelect,\r\n } = this.props;\r\n\r\n const profesoresMateria = this.getProfesoresMateria();\r\n\r\n const showBtnAdd = () => {\r\n if (profesoresMateria.length === 0) {\r\n return (\r\n \r\n
\r\n

\r\n \r\n Debe seleccionar un profesor (Encargado o Auxiliar) para agregar los horarios.\r\n \r\n

\r\n
\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n onAddSubjectsSchedule()}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n {' '}\r\n Agregar\r\n \r\n \r\n );\r\n };\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n

Horario de clases

\r\n \r\n {showBtnAdd()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {fields.map((horario, index) => {\r\n if (!horarios[index]) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n
\r\n \r\n
#Tipo ActividadProfesorDíaAulaHora InicioHora Fin{' '}
\r\n
\r\n

{index + 1}

\r\n onChangeSelect({\r\n option: props, name: 'tipoActividadAcademicaHorario', index,\r\n })}\r\n options={tipoActividadAcademicaHorarios}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'profesor', index })}\r\n options={profesoresMateria}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n onChangeSelect({ option: props, name: 'dia', index })}\r\n options={diasSemana}\r\n component={renderSelectField}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n
\r\n onChangeText(v, index)}\r\n />\r\n
\r\n
\r\n onDeleteSubjectSchedule({ index })}\r\n size=\"sm\"\r\n outline\r\n color=\"danger\"\r\n style={{ marginBottom: '0px' }}\r\n className=\"font-weight-bold\"\r\n >\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n planeamientoForm = () => {\r\n const { materiaPeriodo } = this.props;\r\n return (\r\n \r\n );\r\n };\r\n\r\n\r\n render() {\r\n const { loading } = this.props;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onFilterChanges,\r\n onBack,\r\n onDownloadAlumnosMateriaNotas,\r\n profesores,\r\n materias,\r\n materiaPeriodo,\r\n horarios,\r\n diasSemana,\r\n tipoActividadAcademicaHorarios,\r\n editarAsistencias,\r\n loadingAlumnosMateria,\r\n items,\r\n totalItemsCount,\r\n filters,\r\n } = this.props;\r\n\r\n const { malla, periodo } = materiaPeriodo;\r\n\r\n const {\r\n activeTab,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
Datos de la materia por periodo
\r\n
\r\n \r\n \r\n
\r\n Malla\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Periodo\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Materia\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Encargado\r\n
\r\n onFilterChanges('profesor', 'profesorId', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar1', 'profesorAuxiliar1Id', v)}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar2', 'profesorAuxiliar2Id', v)}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Profesor Auxiliar\r\n
\r\n onFilterChanges('profesorAuxiliar3', 'profesorAuxiliar3Id', v)}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n {' '}\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Sección\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n {/* */\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n loadingAlumnosMateria ? (\r\n \r\n \r\n \r\n )\r\n : (\r\n <>\r\n \r\n
\r\n \r\n  \r\n Descargar lista\r\n \r\n
\r\n \r\n this.getGridActions(key)}\r\n onAutoSave={this.autoguardarNota}\r\n itemsToShow={items.length}\r\n page={1}\r\n pageSize={totalItemsCount}\r\n autoHideSearch={filters.autoHideSearch}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n \r\n )\r\n }\r\n
\r\n
\r\n \r\n \r\n {this.planeamientoForm()}\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxMateriaPeriodoForm = reduxForm({\r\n form: 'MateriaPeriodoForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(MateriaPeriodoForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxMateriaPeriodoForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Spinner,\r\n} from 'reactstrap';\r\nimport MateriaPeriodoForm from './MateriaPeriodoForm';\r\nimport {\r\n get,\r\n save,\r\n fetchFormDatas,\r\n fetchSubjectsScheduleBySubjectPeriodId,\r\n downloadSubjectStudentsScore,\r\n getSubjectStudents,\r\n} from '../../../../redux/actions/materiaPeriodoActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../../helpers/notification';\r\n\r\nclass MateriaPeriodoContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n tipoActividadAcademicaHorarios: [],\r\n diasSemana: [],\r\n loading: false,\r\n horarios: [],\r\n horarioChanged: 0,\r\n loadingAlumnosMateria: false,\r\n items: [],\r\n totalItemsCount: 0,\r\n filters: {\r\n page: 1,\r\n pageSize: 20,\r\n numeroDocumento: '',\r\n nombreAlumno: '',\r\n apellidoAlumno: '',\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n this.updateSubjectsScheduleTable();\r\n }\r\n\r\n downloadAlumnosMateriaNotas = () => {\r\n const { id } = this.props;\r\n this.setState({ loadingAlumnosMateria: true });\r\n downloadSubjectStudentsScore({\r\n id,\r\n onSuccess: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createSuccessMessage('Lista descargada exitosamente');\r\n },\r\n onError: () => {\r\n this.setState({ loadingAlumnosMateria: false });\r\n createErrorMessage('Error al intentar descargar la lista de calificaciones alumnos');\r\n },\r\n });\r\n }\r\n\r\n updateAlumnosMateria = (page, pageSize, filters) => {\r\n const { id } = this.props;\r\n\r\n this.setState({\r\n loadingAlumnosMateria: true,\r\n filters: filters || {},\r\n });\r\n\r\n getSubjectStudents({\r\n filters,\r\n id,\r\n onSuccess: ({ materias: items }) => {\r\n this.setState({\r\n loadingAlumnosMateria: false,\r\n items,\r\n totalItemsCount: items.length,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({\r\n items: [],\r\n loadingAlumnosMateria: false,\r\n });\r\n createErrorMessage('Error al intentar cargar la lista de alumnos');\r\n },\r\n });\r\n }\r\n\r\n fetchCurrentRecord = () => {\r\n const { id, idPeriodo, history } = this.props;\r\n if (id) {\r\n get({\r\n id,\r\n onSuccess: (dto) => {\r\n this.setState({ materiaPeriodo: dto });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La materia periodo no existe');\r\n history.push(`/pages/periodos/edit/${idPeriodo}`);\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la materia periodo');\r\n }\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n materiaPeriodo: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n utilizaPorcentajePesoMateria: false,\r\n },\r\n });\r\n }\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: ({\r\n mallas,\r\n materias,\r\n periodos,\r\n profesores,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n }) => {\r\n this.setState({\r\n mallas,\r\n materias,\r\n periodos,\r\n profesores,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n });\r\n\r\n this.fetchCurrentRecord();\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n if (!values) return;\r\n const {\r\n id,\r\n materia,\r\n profesor,\r\n profesorAuxiliar1,\r\n profesorAuxiliar2,\r\n profesorAuxiliar3,\r\n materiaMallaId,\r\n malla,\r\n periodoId,\r\n horarios,\r\n utilizaPorcentajePesoMateria,\r\n editarAsistencias,\r\n seccion,\r\n } = values;\r\n // const { value: materiaPeriodoId } = materia;\r\n const { value: mallaId } = malla;\r\n const { value: materiaId } = materia;\r\n const { value: profesorId } = profesor;\r\n const { value: profesorAuxiliar1Id } = profesorAuxiliar1 || {};\r\n const { value: profesorAuxiliar2Id } = profesorAuxiliar2 || {};\r\n const { value: profesorAuxiliar3Id } = profesorAuxiliar3 || {};\r\n\r\n const params = {\r\n // ...values,\r\n id,\r\n materiaMallaId,\r\n mallaId,\r\n materiaId,\r\n profesorId,\r\n periodoId,\r\n profesorAuxiliar1Id,\r\n profesorAuxiliar2Id,\r\n profesorAuxiliar3Id,\r\n horarios,\r\n utilizaPorcentajePesoMateria,\r\n editarAsistencias,\r\n seccion,\r\n };\r\n const { history, idPeriodo } = this.props;\r\n save(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia por periodo guardada exitosamente');\r\n history.push(`/pages/periodos/edit/${idPeriodo}`);\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la materia periodo');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleAddSubjectsSchedule = () => {\r\n const { horarios = [] } = this.state;\r\n\r\n const newIndex = horarios.length === 0 ? 0 : (Math.max(...horarios.map(({ index }) => index)) + 1);\r\n\r\n this.setState({\r\n horarios: [\r\n ...horarios,\r\n {\r\n id: 0,\r\n index: newIndex,\r\n materiaPeriodo: '',\r\n profesor: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n dia: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n horaInicio: '00:00',\r\n horaFin: '00:00',\r\n aula: '',\r\n tipoActividadAcademicaHorario: {\r\n value: 0,\r\n label: '-',\r\n parentId: 0,\r\n item: null,\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n\r\n handleDeleteSubjectSchedule = ({ index }) => {\r\n const { horarios = [] } = this.state;\r\n const newArray = horarios.map(h => ({\r\n ...h,\r\n deleted: h.deleted || h.index === index,\r\n }));\r\n\r\n this.setState({ horarios: newArray });\r\n }\r\n\r\n updateSubjectsScheduleTable = () => {\r\n const { id } = this.props;\r\n\r\n if (!id) {\r\n this.setState({\r\n horarios: [],\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchSubjectsScheduleBySubjectPeriodId({\r\n subjectId: id,\r\n onSuccess: (horarios) => {\r\n this.setState({\r\n loading: false,\r\n horarios: horarios.map((h, index) => ({ ...h, index })),\r\n });\r\n },\r\n onError: (error) => {\r\n this.setState({ horarios: [], loading: false });\r\n if (error && error.status === 404) {\r\n createErrorMessage('La horario de clases no existe');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos del horario de clases');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleChangeText = (e, index) => {\r\n const { horarios } = this.state;\r\n\r\n const value = e.target.type === 'number' ? Number(e.target.value) : `${e.target.value}`.trim();\r\n\r\n const newHorarios = [...horarios];\r\n newHorarios[index] = {\r\n ...newHorarios[index],\r\n ...{\r\n [e.target.name.split('.')[1]]: value,\r\n },\r\n };\r\n\r\n this.setState({ horarios: newHorarios });\r\n };\r\n\r\n handleChangeSelect = ({ option, name, index }) => {\r\n this.setState({ loading: true });\r\n\r\n const { horarios } = this.state;\r\n const newHorarios = [...horarios];\r\n const data = {\r\n [name]: option,\r\n index,\r\n };\r\n\r\n newHorarios[index] = {\r\n ...newHorarios[index],\r\n ...data,\r\n };\r\n\r\n this.setState({\r\n horarios: newHorarios,\r\n loading: false,\r\n horarioChanged: new Date().getTime(),\r\n });\r\n };\r\n\r\n handleOnFilterChanges = (objectKey, idKey, item) => {\r\n const { materiaPeriodo } = this.state;\r\n\r\n this.setState({\r\n materiaPeriodo: {\r\n ...materiaPeriodo,\r\n [idKey]: item.value,\r\n [objectKey]: item,\r\n },\r\n });\r\n }\r\n\r\n showSpinner = () => (\r\n
\r\n \r\n
\r\n );\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n materiaPeriodo,\r\n profesores,\r\n mallas,\r\n periodos,\r\n materias,\r\n tipoActividadAcademicaHorarios,\r\n diasSemana,\r\n loading,\r\n horarios,\r\n horarioChanged,\r\n\r\n loadingAlumnosMateria,\r\n items,\r\n filters,\r\n totalItemsCount,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} materia periodo\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la materia periodo\r\n

\r\n \r\n
\r\n \r\n \r\n {!(profesores && materiaPeriodo)\r\n ? (

Cargando...

)\r\n : (\r\n \r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nMateriaPeriodoContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n idPeriodo: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default MateriaPeriodoContainer;\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport { Link } from 'react-router-dom';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport {\r\n filter,\r\n remove,\r\n} from '../../redux/actions/mallaActions';\r\nimport Confirm from '../../shared/components/Confirm';\r\nimport { createErrorMessage, createSuccessMessage } from '../../helpers/notification';\r\n\r\nclass MallasContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n items: [],\r\n filters: { id: 20 },\r\n };\r\n this.columns = [\r\n {\r\n key: 'id',\r\n name: '# ',\r\n search: false,\r\n width: '80px',\r\n },\r\n {\r\n key: 'nombre',\r\n name: 'Nombre',\r\n search: false,\r\n },\r\n {\r\n key: 'carrera',\r\n name: 'Carrera',\r\n search: true,\r\n },\r\n {\r\n key: 'fechaVigencia',\r\n name: 'Fecha Vigencia',\r\n search: true,\r\n type: 'date',\r\n format: (row) => {\r\n const style = { dateStyle: 'short', timeStyle: 'medium' };\r\n return new Intl.DateTimeFormat('en-GB', style).format(new Date(row.fechaVigencia));\r\n },\r\n },\r\n {\r\n key: 'usarPorDefecto',\r\n name: 'Usar Por Defecto',\r\n search: false,\r\n format: row => (row.usarPorDefecto ? 'Si' : 'No'),\r\n },\r\n {\r\n key: 'activo',\r\n name: 'Activo',\r\n search: false,\r\n format: row => (row.activo ? 'Si' : 'No'),\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (malla) => {\r\n this.editMalla(malla);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (malla) => {\r\n this.handleDeleteMalla(malla);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n const { page, pageSize } = this.state;\r\n this.updateMallasTable(page, pageSize);\r\n }\r\n\r\n updateMallasTable = (page, pageSize, filters) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters: filters || {},\r\n });\r\n filter({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de mallas');\r\n },\r\n });\r\n }\r\n\r\n handleDeleteMalla = (malla) => {\r\n const name = `${malla.nombre} - ${malla.carrera}`;\r\n Confirm({\r\n title: 'Borrar malla',\r\n question: `Estás seguro que deseas eliminar la malla ${name}?`,\r\n yesLabel: 'Si, Borrar malla',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n remove(malla.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Malla borrada exitosamente');\r\n const { page, pageSize } = this.state;\r\n this.updateMallasTable(page, pageSize);\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El malla no existe');\r\n } else {\r\n createErrorMessage('Error al intentar borrar la malla');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n editMalla = (malla) => {\r\n const { history } = this.props;\r\n history.push(`/pages/mallas/edit/${malla.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateMallasTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateMallasTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateMallasTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Lista de mallas

\r\n {false && (\r\n
\r\n \r\n Agregar nueva malla\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(MallasContainer);\r\n","import { apiGet, apiPost, apiDelete } from '../../api/index';\r\nimport { urlMallas } from '../../api/urls';\r\n\r\nexport function filter(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlMallas}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function get(id, callback) {\r\n return apiGet(`${urlMallas}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function save(obj, callback) {\r\n return apiPost(`${urlMallas}`, obj)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function remove(id, callback) {\r\n return apiDelete(`${urlMallas}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlMallas}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchEditSubjectsFormData(periodoId, params) {\r\n return apiGet(`${urlMallas}/form_data_edit_subjects/${periodoId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\n\r\nexport function fetchAllSubjectsBySemesters(params) {\r\n return apiGet(`${urlMallas}/subjects_by_semesters/${params.periodoId}/${params.carreraId}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function saveSubjects(data, callback) {\r\n return apiPost(`${urlMallas}/save_subjects`, data)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { Button, ButtonToolbar, Modal } from 'reactstrap';\r\nimport classNames from 'classnames';\r\nimport { RTLProps } from '../../prop-types/ReducerProps';\r\n\r\nclass ModalComponent extends PureComponent {\r\n static propTypes = {\r\n title: PropTypes.string,\r\n message: PropTypes.string,\r\n color: PropTypes.string.isRequired,\r\n colored: PropTypes.bool,\r\n header: PropTypes.bool,\r\n btn: PropTypes.string.isRequired,\r\n rtl: RTLProps.isRequired,\r\n };\r\n\r\n static defaultProps = {\r\n title: '',\r\n message: '',\r\n colored: false,\r\n header: false,\r\n };\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n modal: false,\r\n };\r\n\r\n this.toggle = this.toggle.bind(this);\r\n }\r\n\r\n getIcon = (color) => {\r\n switch (color) {\r\n case 'primary':\r\n return ;\r\n case 'success':\r\n return ;\r\n case 'warning':\r\n return ;\r\n case 'danger':\r\n return ;\r\n default:\r\n return <>;\r\n }\r\n }\r\n\r\n toggle() {\r\n this.setState(prevState => ({ modal: !prevState.modal }));\r\n }\r\n\r\n render() {\r\n const {\r\n color, btn, title, message, colored, header, rtl,\r\n } = this.props;\r\n const { modal } = this.state;\r\n\r\n const modalClass = classNames({\r\n 'modal-dialog--colored': colored,\r\n 'modal-dialog--header': header,\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {message}\r\n
\r\n \r\n {' '}\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default connect(state => ({\r\n rtl: state.rtl,\r\n}))(ModalComponent);\r\n","const validate = (values) => {\r\n const attrs = values || {};\r\n const errors = {};\r\n\r\n if (!attrs.nombre) {\r\n errors.nombre = 'Debe ingresar un nombre para la malla';\r\n }\r\n\r\n if (!attrs.carrera || !attrs.carrera.value) {\r\n errors.carrera = 'Debe seleccionar la carrera';\r\n }\r\n\r\n if (!attrs.fechaVigencia) {\r\n errors.fechaVigencia = 'Debe seleccionar la fecha de vigencia';\r\n }\r\n\r\n return errors;\r\n};\r\n\r\nexport default validate;\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Form,\r\n Field,\r\n reduxForm,\r\n} from 'redux-form';\r\nimport {\r\n Card, CardBody, Col, Badge,\r\n} from 'reactstrap';\r\nimport renderSelectField from '../../../shared/components/form/Select';\r\nimport setPropsAsInitialValues from '../../../helpers/setPropsAsInitialValues';\r\nimport renderCheckBoxField from '../../../shared/components/form/CheckBox';\r\nimport DataTable from '../../../shared/components/DataTable';\r\nimport TextBox from '../../../shared/components/form/TextBox';\r\nimport DatePicker from '../../../shared/components/form/DatePicker';\r\nimport ModalForm from '../../../shared/components/form/Modal';\r\n// import MallaEditarMateria from './MateriaMalla/MateriaMallaForm';\r\n\r\nimport validate from './validate';\r\n\r\nclass MallaForm extends PureComponent {\r\n static propTypes = {\r\n handleSubmit: PropTypes.func.isRequired,\r\n onBack: PropTypes.func.isRequired,\r\n handleDeleteMateriaMalla: PropTypes.func.isRequired,\r\n submitting: PropTypes.bool,\r\n\r\n id: PropTypes.number,\r\n carreras: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\r\n materias: PropTypes.arrayOf(PropTypes.shape({})),\r\n carrera: PropTypes.shape({}),\r\n usarPorDefecto: PropTypes.bool,\r\n activo: PropTypes.bool,\r\n\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n static defaultProps = {\r\n id: 0,\r\n submitting: false,\r\n materias: [],\r\n carrera: {},\r\n usarPorDefecto: false,\r\n activo: false,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.editMateriaMalla = this.editMateriaMalla.bind(this);\r\n this.deleteMateriaMalla = this.deleteMateriaMalla.bind(this);\r\n\r\n this.state = {\r\n page: 1,\r\n pageSize: 100,\r\n totalItemsCount: 0,\r\n filters: { id: 20 },\r\n modal: true,\r\n };\r\n\r\n this.columns = [\r\n {\r\n key: 'semestreNroOrden',\r\n name: 'Semestre',\r\n search: false,\r\n width: '120px',\r\n className: 'text-center',\r\n format: row => (\r\n
\r\n \r\n {` ${row.semestreNroOrden}º`}\r\n \r\n
\r\n ),\r\n },\r\n {\r\n key: 'materia',\r\n name: 'Materia',\r\n search: false,\r\n format: row => `${row.codigoMateria} - ${row.materia}`,\r\n },\r\n {\r\n key: 'areaConocimiento',\r\n name: 'Area Conocimiento',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'horasLaboratorioSemestral',\r\n name: 'Horas Laboratorio Semestral',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'horasPracticaSemestral',\r\n name: 'Horas Practica Semestral',\r\n className: 'text-center',\r\n },\r\n {\r\n key: 'horasTeoriaSemestral',\r\n name: 'Horas Teoria Semestral',\r\n className: 'text-center',\r\n },\r\n { key: 'actions', name: 'Accion', width: '85px' },\r\n ];\r\n this.actions = [\r\n {\r\n key: 'edit',\r\n icon: ,\r\n callback: (materiaMalla) => {\r\n this.editMateriaMalla(materiaMalla);\r\n },\r\n },\r\n {\r\n key: 'delete',\r\n icon: ,\r\n callback: (materiaMalla) => {\r\n this.deleteMateriaMalla(materiaMalla);\r\n },\r\n },\r\n ];\r\n }\r\n\r\n agregarOquitarMaterias = (malla) => {\r\n if (malla) {\r\n const { id, history } = this.props;\r\n history.push(`/pages/mallas/edit/${id}/materias`);\r\n }\r\n };\r\n\r\n editMateriaMalla = (materiaMalla) => {\r\n if (materiaMalla) {\r\n const { id, history } = this.props;\r\n console.log(materiaMalla);\r\n this.setState({ modal: true });\r\n\r\n if (id === 111) {\r\n history.push(`/pages/mallas/subjects/edit/${id}/${materiaMalla.id}`);\r\n }\r\n }\r\n };\r\n\r\n deleteMateriaMalla = (materiaMalla) => {\r\n if (materiaMalla) {\r\n const { handleDeleteMateriaMalla } = this.props;\r\n handleDeleteMateriaMalla(materiaMalla);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, values);\r\n }\r\n };\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateSubjectsTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n handleOkModal = (e) => {\r\n console.log(e);\r\n\r\n this.toggle();\r\n }\r\n\r\n handleCancelModal = (e) => {\r\n console.log(e);\r\n\r\n this.toggle();\r\n }\r\n\r\n toggle = () => {\r\n this.setState(prevState => ({ modal: !prevState.modal }));\r\n }\r\n\r\n render() {\r\n const {\r\n submitting,\r\n handleSubmit,\r\n onBack,\r\n id,\r\n carreras,\r\n materias,\r\n usarPorDefecto,\r\n activo,\r\n } = this.props;\r\n\r\n const {\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n modal,\r\n } = this.state;\r\n\r\n const canAddMateriaMalla = false;\r\n\r\n return (\r\n \r\n \r\n \r\n {canAddMateriaMalla && (\r\n \r\n {''}\r\n \r\n )}\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n \r\n
\r\n
Datos de la Malla
\r\n
\r\n \r\n \r\n
\r\n Nombre\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n Carrera\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n\r\n \r\n\r\n
\r\n Fecha Vigencia\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n {' '}\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n
\r\n {' '}\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n {id && canAddMateriaMalla && (\r\n
\r\n this.agregarOquitarMaterias({ id })}\r\n >\r\n Agregar / Quitar Materias\r\n \r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n
\r\n )}\r\n
\r\n Guardar\r\n \r\n Cancelar - Volver\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nconst ReduxMallaForm = reduxForm({\r\n form: 'MallaForm',\r\n validate,\r\n enableReinitialize: true,\r\n})(MallaForm);\r\n\r\nexport default setPropsAsInitialValues(ReduxMallaForm);\r\n","import React, { PureComponent } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n} from 'reactstrap';\r\n\r\nimport MallaForm from './MallaForm';\r\nimport {\r\n get,\r\n save,\r\n fetchFormDatas,\r\n} from '../../../redux/actions/mallaActions';\r\nimport {\r\n remove as removeMateriaMalla,\r\n} from '../../../redux/actions/materiaMallaActions';\r\nimport {\r\n createErrorMessage,\r\n createSuccessMessage,\r\n createWarningMessage,\r\n} from '../../../helpers/notification';\r\nimport Confirm from '../../../shared/components/Confirm';\r\n\r\nclass MallaFormContainer extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.handleOnFilterChange = this.handleOnFilterChange.bind(this);\r\n this.handleOnSubjectChange = this.handleOnSubjectChange.bind(this);\r\n this.handleDeleteMateriaMalla = this.handleDeleteMateriaMalla.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n this.fetchCurrentRecord();\r\n }\r\n\r\n fetchCurrentRecord = () => {\r\n const { id, history } = this.props;\r\n if (id) {\r\n get(id, {\r\n onSuccess: (dto) => {\r\n const malla = {\r\n ...dto,\r\n carrera: {\r\n value: dto.carreraId,\r\n label: dto.carrera,\r\n },\r\n };\r\n\r\n this.setState({ malla });\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('El malla no existe');\r\n history.push('/pages/mallas');\r\n } else {\r\n createErrorMessage('Error al intentar cargar los datos de la malla');\r\n }\r\n },\r\n });\r\n } else {\r\n this.setState({\r\n malla: {\r\n id: 0,\r\n fecha: new Date().toISOString(),\r\n },\r\n });\r\n }\r\n }\r\n\r\n fetchDatasList = () => {\r\n fetchFormDatas({\r\n onSuccess: (d) => {\r\n this.setState({\r\n carreras: d.carreras,\r\n });\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n handleSubmit = (values) => {\r\n const { carrera: { value: carreraId } } = values;\r\n const params = {\r\n ...values,\r\n carreraId,\r\n };\r\n\r\n const { history } = this.props;\r\n save(params, {\r\n onSuccess: () => {\r\n createSuccessMessage('Malla guardada exitosamente');\r\n history.push('/pages/mallas');\r\n },\r\n onError: (error) => {\r\n if (error.message) {\r\n createWarningMessage(error.message);\r\n } else {\r\n createErrorMessage('Ocurió un error al intentar guardar la malla');\r\n }\r\n },\r\n });\r\n }\r\n\r\n handleDeleteMateriaMalla = (materiaMalla) => {\r\n const name = `${materiaMalla.materia}`;\r\n Confirm({\r\n title: 'Quitar materia de malla',\r\n question: `Estás seguro que deseas quitar la materia ${name} de esta malla?`,\r\n yesLabel: 'Si, Quitar',\r\n noLabel: 'No, Volver',\r\n onConfirm: () => {\r\n removeMateriaMalla(materiaMalla.id, {\r\n onSuccess: () => {\r\n createSuccessMessage('Materia quitada exitosamente');\r\n this.fetchDatasList();\r\n this.fetchCurrentRecord();\r\n },\r\n onError: (error) => {\r\n if (error && error.status === 404) {\r\n createErrorMessage('La materia no existe');\r\n } else {\r\n createErrorMessage('Error al intentar quitar la materia de la malla');\r\n }\r\n },\r\n });\r\n },\r\n });\r\n };\r\n\r\n handleOnBack = () => {\r\n const { history } = this.props;\r\n history.goBack();\r\n }\r\n\r\n handleOnFilterChange = (objectKey, idKey, value) => {\r\n const { malla } = this.state;\r\n this.setState({\r\n [idKey]: value.value,\r\n malla: { ...malla, [objectKey]: value },\r\n });\r\n }\r\n\r\n handleOnSubjectChange = (objectKey, idKey, value) => {\r\n const { malla } = this.state;\r\n const profesor = `${value.nombre} ${value.apellido}`;\r\n let { interventorId, interventor } = malla;\r\n\r\n if (!interventorId) {\r\n interventorId = value.usuarioId;\r\n interventor = { value: interventorId, label: profesor };\r\n }\r\n this.setState({\r\n [idKey]: value.value,\r\n malla: {\r\n ...malla,\r\n [objectKey]: value,\r\n profesor,\r\n interventor,\r\n interventorId,\r\n },\r\n });\r\n }\r\n\r\n render() {\r\n const { id, history } = this.props;\r\n const {\r\n malla,\r\n carreras,\r\n } = this.state;\r\n return (\r\n \r\n \r\n \r\n

\r\n {id ? 'Editar' : 'Nueva'} malla\r\n

\r\n

\r\n {id ? 'Modificar ' : 'Ingresa '}\r\n la información de la malla\r\n

\r\n \r\n
\r\n \r\n \r\n {!(carreras)\r\n ? (

Cargando...

)\r\n : (\r\n \r\n )\r\n }\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nMallaFormContainer.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n history: PropTypes.shape({}).isRequired,\r\n};\r\n\r\nexport default MallaFormContainer;\r\n","import {\r\n apiGet,\r\n apiPost,\r\n apiDelete,\r\n apiPut,\r\n} from '../../api/index';\r\nimport { urlMallas } from '../../api/urls';\r\n\r\nexport function filter(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlMallas}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function get(id, callback) {\r\n return apiGet(`${urlMallas}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function save(obj, callback) {\r\n return apiPost(`${urlMallas}`, obj)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function remove(id, callback) {\r\n return apiDelete(`${urlMallas}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlMallas}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getProfesorSubjects(params) {\r\n return apiGet(`${urlMallas}/materias_profesor/0`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function AllSubjectsDashboardByStudent(params) {\r\n return apiGet(`${urlMallas}/materias-tablero-alumno`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function getSubjectStudents(params) {\r\n const filters = params ? params.filters || {} : {};\r\n return apiPut(`${urlMallas}/alumnos-materia`, params.id, filters)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","import React, { PureComponent } from 'react';\r\nimport { withRouter } from 'react-router';\r\nimport PropTypes from 'prop-types';\r\nimport { Col, Container, Row } from 'reactstrap';\r\nimport DataTable from '../../shared/components/DataTable';\r\nimport { fetchAllUAuditLog, fetchFormDatas } from '../../redux/actions/usersActions';\r\nimport { createErrorMessage } from '../../helpers/notification';\r\n\r\nclass AuditLogContainer extends PureComponent {\r\n static propTypes = {\r\n history: PropTypes.shape({}).isRequired,\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: 25,\r\n totalItemsCount: 0,\r\n loading: true,\r\n auditTypes: [],\r\n items: [],\r\n filters: { id: 20 },\r\n };\r\n\r\n this.columns = [\r\n {\r\n key: 'id', name: '#', width: '60px', search: true, type: 'number',\r\n },\r\n {\r\n key: 'usuario', name: 'Usuario', search: true, width: '80px',\r\n },\r\n {\r\n key: 'tipo',\r\n name: 'Tipo',\r\n search: true,\r\n type: 'select',\r\n searchProps: {\r\n options: this.getAuditTypes,\r\n },\r\n },\r\n {\r\n key: 'fecha',\r\n name: 'Fecha',\r\n search: true,\r\n type: 'date',\r\n format: (row) => {\r\n const style = { dateStyle: 'short', timeStyle: 'medium' };\r\n return new Intl.DateTimeFormat('en-GB', style).format(new Date(row.fecha));\r\n },\r\n },\r\n {\r\n key: 'nombreTabla', name: 'Tabla', search: true,\r\n },\r\n {\r\n key: 'clavePrimaria', name: 'Clave Primaria', search: false,\r\n },\r\n {\r\n key: 'columnasAfectadas', name: 'Columnas Afectadas', search: false,\r\n },\r\n {\r\n key: 'valoresAnteriores', name: 'Valores Anteriores', search: false,\r\n },\r\n {\r\n key: 'valoresNuevos', name: 'Valores Nuevos', search: false,\r\n },\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchDatasList();\r\n }\r\n\r\n updateTable = (page, pageSize, filters = {}) => {\r\n this.setState({\r\n loading: true,\r\n page,\r\n pageSize,\r\n filters,\r\n });\r\n fetchAllUAuditLog({\r\n pageInfo: {\r\n page,\r\n pageSize,\r\n filters,\r\n },\r\n onSuccess: (pageInfo) => {\r\n this.setState({\r\n loading: false,\r\n items: pageInfo.items,\r\n totalItemsCount: pageInfo.totalItemsCount,\r\n });\r\n },\r\n onError: () => {\r\n this.setState({ items: [], loading: false });\r\n createErrorMessage('Error al intentar cargar la lista de cambios');\r\n },\r\n });\r\n }\r\n\r\n fetchDatasList = () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n fetchFormDatas({\r\n onSuccess: (data) => {\r\n this.setState({\r\n auditTypes: data.auditTypes,\r\n loading: false,\r\n });\r\n const { page, pageSize } = this.state;\r\n this.updateTable(page, pageSize);\r\n },\r\n onError: () => {\r\n createErrorMessage('Error al intentar cargar los datos requeridos');\r\n },\r\n });\r\n }\r\n\r\n getAuditTypes = () => {\r\n const { auditTypes } = this.state;\r\n\r\n return auditTypes || [];\r\n };\r\n\r\n showData = (data) => {\r\n const { history } = this.props;\r\n history.push(`/pages/users/show_audit_log/${data.id}`);\r\n };\r\n\r\n onChangePage = (page) => {\r\n if (page) {\r\n const { pageSize, filters } = this.state;\r\n this.updateTable(page, pageSize, filters);\r\n }\r\n };\r\n\r\n onDataTableSubmit = (values) => {\r\n if (values) {\r\n const { pageSize } = this.state;\r\n\r\n this.updateTable(1, pageSize, { ...values, tipo: values.tipo ? values.tipo.value : 0 });\r\n }\r\n };\r\n\r\n\r\n onDataTableClearFilters = () => {\r\n const { pageSize } = this.state;\r\n this.updateTable(1, pageSize, {});\r\n };\r\n\r\n getGridActions = (key) => {\r\n const actions = {\r\n actions: this.actions,\r\n };\r\n return actions[key];\r\n }\r\n\r\n render() {\r\n const {\r\n loading,\r\n items,\r\n page,\r\n pageSize,\r\n totalItemsCount,\r\n filters,\r\n } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n

Auditoría de cambios

\r\n \r\n
\r\n \r\n {loading ?

Cargando...

\r\n : (\r\n this.getGridActions(key)}\r\n onSubmit={this.onDataTableSubmit}\r\n onClearFilters={this.onDataTableClearFilters}\r\n initialValues={filters}\r\n enableReinitialize\r\n />\r\n )\r\n }\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(AuditLogContainer);\r\n","import React from 'react';\r\nimport { Route, Switch } from 'react-router-dom';\r\n\r\nimport Layout from '../Layout/index';\r\nimport Bottombar from '../Layout/bottombar/Bottombar';\r\n\r\nimport MainWrapper from './MainWrapper';\r\n\r\nimport LogIn from '../LogIn/index';\r\nimport FirstLogIn from '../FirstLogIn/index';\r\nimport UsersContainer from '../Users/index';\r\nimport EditUser from '../Users/Edit/index';\r\nimport StudentsContainer from '../Students/Index';\r\nimport StudentData from '../Students/StudentData';\r\nimport StudentsDashboard from '../Students/Dashboard';\r\nimport EditStudent from '../Students/Edit/index';\r\nimport InscriptionForm from '../StudentSubjects/InscriptionForm/index';\r\nimport StudentSubjects from '../StudentSubjects';\r\nimport SubjectInscription from '../StudentSubjects/Inscription';\r\nimport ExamsContainer from '../Exams';\r\nimport MyExamsContainer from '../Exams/StudentExams';\r\nimport StudentExamInscription from '../Exams/StudentExamInscription';\r\n\r\nimport ExamInscription from '../Exams/ExamForm/InscripcionExamen';\r\nimport ExamAddInscription from '../Exams/ExamForm/InscripcionExamen/AddIndex';\r\n\r\nimport ExamForm from '../Exams/ExamForm';\r\nimport ShowFinalReport from '../Exams/ExamForm/ShowFinalReport';\r\nimport ShowRecuperatorioReport from '../Exams/ExamForm/ShowRecuperatorioReport';\r\nimport ShowAllReport from '../Exams/ExamForm/ShowAllReport';\r\nimport ExamplePageOne from '../Example/index';\r\nimport ExamplePageTwo from '../ExampleTwo/index';\r\n\r\nimport MateriasPeriodo from '../MateriasPeriodo';\r\nimport MateriaPeriodoForm from '../MateriasPeriodo/EditForm';\r\n\r\nimport ProfesorDashboard from '../Profesor/Dashboard';\r\nimport ProfesorSubjects from '../Profesor/index';\r\n\r\nimport AlumnosMateriaProfesor from '../Profesor/ProfessorData';\r\nimport ReporteInscripcion from '../ReporteInscripcion';\r\nimport ReporteAlumnosPorMaterias from '../ReporteAlumnosPorMateria';\r\nimport ReporteAlumnos from '../ReporteAlumnos';\r\nimport ReporteAcademicStatus from '../ReporteAlumnos/AcademicStatus/index';\r\n\r\nimport PeriodoContainer from '../Periodos';\r\nimport PeriodoForm from '../Periodos/PeriodoForm';\r\nimport PeriodoEditarMaterias from '../Periodos/PeriodoForm/EditarMaterias';\r\nimport PeriodoEditarMateria from '../Periodos/PeriodoForm/MateriaPeriodo';\r\n\r\nimport MallaContainer from '../Mallas';\r\nimport MallaForm from '../Mallas/MallaForm';\r\n\r\nimport AuditLogContainer from '../AuditLog';\r\n\r\nconst currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\nconst userId = currentUser ? `${currentUser.id}` : '';\r\nconst getUrlId = (props) => {\r\n const { match: { params: { id } } } = props;\r\n return id;\r\n};\r\nconst getUrlIdDetail = (props) => {\r\n const { match: { params: { idDetail } } } = props;\r\n return idDetail;\r\n};\r\n\r\nconst Pages = () => (\r\n \r\n \r\n } />\r\n } />\r\n } />\r\n \r\n } />\r\n } />\r\n\r\n \r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n \r\n\r\n \r\n \r\n }\r\n />\r\n \r\n }\r\n />\r\n\r\n \r\n } />\r\n } />\r\n\r\n }\r\n />\r\n }\r\n />\r\n\r\n }\r\n />\r\n\r\n }\r\n />\r\n \r\n \r\n \r\n } />\r\n }\r\n />\r\n \r\n } />\r\n } />\r\n \r\n }\r\n />\r\n }\r\n />\r\n\r\n \r\n } />\r\n } />\r\n { /* */}\r\n { /* } */}\r\n { /* /> */}\r\n\r\n \r\n \r\n }\r\n />\r\n \r\n \r\n }\r\n />\r\n }\r\n />\r\n \r\n \r\n \r\n);\r\n\r\nconst { publicSettings = {} } = currentUser;\r\n\r\nconst wrappedRoutes = props => (\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n);\r\n\r\nconst Router = props => (\r\n \r\n
\r\n \r\n } />\r\n } />\r\n } />\r\n \r\n \r\n
\r\n
\r\n);\r\nexport default Router;\r\n","import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport App from './containers/App/App';\r\n\r\nrender(\r\n ,\r\n document.getElementById('root'),\r\n);\r\n","import { apiGet, apiPost, apiDelete } from '../../api/index';\r\nimport { urlUsers } from '../../api/urls';\r\n\r\nexport const CREATE_NEW_USER = 'CREATE_NEW_USER';\r\nexport const SET_USER_VALUE = 'SET_USER_VALUE';\r\nexport const FETCH_USER = 'FETCH_USER';\r\nexport const FETCH_USER_LOADING = 'FETCH_USER_LOADING';\r\nexport const FETCH_USER_SUCCESS = 'FETCH_USER_SUCCESS';\r\nexport const FETCH_USER_FAILED = 'FETCH_USER_FAILED';\r\n\r\nexport const POST_USER_LOADING = 'POST_USER_LOADING';\r\nexport const POST_USER_SUCCESS = 'POST_USER_SUCCESS';\r\nexport const POST_USER_FAILED = 'POST_USER_FAILED';\r\n\r\nexport const setUserValue = values => ({ type: SET_USER_VALUE, payload: values });\r\nexport const fetchUserLoading = () => ({ type: FETCH_USER_LOADING });\r\nexport const fetchUserSuccess = user => ({ type: FETCH_USER_SUCCESS, payload: user });\r\nexport const fetchUserFailed = error => ({ type: FETCH_USER_FAILED, payload: error });\r\n// export const createNewUser = () => ({ type: CREATE_NEW_USER });\r\n\r\nexport const postUserLoading = () => ({ type: POST_USER_LOADING });\r\nexport const postUserSuccess = user => ({ type: POST_USER_SUCCESS, payload: user });\r\nexport const postUserFailed = error => ({ type: POST_USER_FAILED, payload: error });\r\n\r\nexport function fetchUser(id, callback) {\r\n return apiGet(`${urlUsers}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function saveUser(user, callback) {\r\n return apiPost(`${urlUsers}`, user)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function deleteUser(id, callback) {\r\n return apiDelete(`${urlUsers}/${id}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function resetUserPassword(email, callback) {\r\n return apiGet(`${urlUsers}/reset_password/${email}`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (callback && callback.onSuccess) callback.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlUsers}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","// import { useHistory } from 'react-router-dom';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { apiGet, apiPost } from '../../api/index';\r\nimport { urlUsers } from '../../api/urls';\r\n\r\nconst currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n// const history = useHistory();\r\n\r\nexport const SET_LOGIN_VALUE = 'SET_LOGIN_VALUE';\r\nexport const LOGIN_LOADING = 'LOGIN_LOADING';\r\nexport const LOGIN_SUCCESS = 'LOGIN_SUCCESS';\r\nexport const LOGIN_FAILED = 'LOGIN_FAILED';\r\nexport const LOGOUT = 'LOGOUT';\r\nexport const CHANGE_USER_VIEW_AS = 'CHANGE_USER_VIEW_AS';\r\n\r\nexport const loginLoading = () => ({ type: LOGIN_LOADING });\r\nexport const loginSuccess = user => ({ type: LOGIN_SUCCESS, payload: user });\r\nexport const loginFailed = error => ({ type: LOGIN_FAILED, payload: error });\r\n\r\nexport const userLoggedOut = () => ({ type: LOGOUT });\r\nexport const resetView = () => ({ type: CHANGE_USER_VIEW_AS, value: 0 });\r\n\r\nconst getLoginData = () => JSON.parse(localStorage.getItem('currentUser')) || {};\r\n\r\nconst storeUserLogin = (user) => {\r\n const loginData = { ...user, isAuthenticated: true };\r\n localStorage.setItem('currentUser', JSON.stringify(loginData));\r\n currentUserSubject.next(loginData);\r\n return loginData;\r\n};\r\n\r\nexport const logout = () => (dispatch) => {\r\n // Clear the login data\r\n localStorage.removeItem('currentUser');\r\n currentUserSubject.next(null);\r\n dispatch(userLoggedOut());\r\n dispatch(resetView());\r\n};\r\n\r\nexport function login(data, callback) {\r\n return (dispatch) => {\r\n dispatch(loginLoading());\r\n apiPost(`${urlUsers}/login`, data)\r\n .then((response) => {\r\n if (response.error) {\r\n throw (response.error);\r\n }\r\n\r\n storeUserLogin(response);\r\n if (response.firstLogin && callback && callback.onFirstLogin) {\r\n callback.onFirstLogin(response);\r\n } else if (callback && callback.onSuccess) {\r\n dispatch(loginSuccess(getLoginData()));\r\n callback.onSuccess(response);\r\n }\r\n return response;\r\n })\r\n .catch((error) => {\r\n dispatch(loginFailed(error));\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n };\r\n}\r\n\r\n\r\nexport function firstLogin(values, callback) {\r\n return (dispatch) => {\r\n dispatch(loginLoading());\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser')) || {};\r\n const data = { ...values, email: currentUser.email };\r\n apiPost(`${urlUsers}/set_new_password`, data)\r\n .then((response) => {\r\n if (response.error) {\r\n throw (response.error);\r\n }\r\n storeUserLogin(response);\r\n dispatch(loginSuccess(getLoginData()));\r\n if (callback && callback.onSuccess) callback.onSuccess(response);\r\n return response;\r\n })\r\n .catch((error) => {\r\n dispatch(loginFailed(error));\r\n if (callback && callback.onError) callback.onError(error);\r\n });\r\n };\r\n}\r\n\r\nexport function verifyUserToken(callback) {\r\n return (dispatch) => {\r\n // dispatch(loginLoading());\r\n apiGet(`${urlUsers}/get_login_status`)\r\n .then((response) => {\r\n if (response.error) {\r\n throw (response.error);\r\n }\r\n dispatch(loginSuccess(getLoginData()));\r\n if (callback && callback.onSuccess) callback.onSuccess(response);\r\n return response;\r\n })\r\n .catch((error) => {\r\n dispatch(logout(error));\r\n if (callback && callback.onError) callback.onError(error);\r\n // throw error;\r\n });\r\n };\r\n}\r\n","export const CHANGE_SIDEBAR_VISIBILITY = 'CHANGE_SIDEBAR_VISIBILITY';\r\nexport const CHANGE_MOBILE_SIDEBAR_VISIBILITY = 'CHANGE_MOBILE_SIDEBAR_VISIBILITY';\r\nexport const CHANGE_USER_VIEW_AS = 'CHANGE_USER_VIEW_AS';\r\n\r\nexport function changeSidebarVisibility() {\r\n return {\r\n type: CHANGE_SIDEBAR_VISIBILITY,\r\n };\r\n}\r\n\r\nexport function changeMobileSidebarVisibility() {\r\n return {\r\n type: CHANGE_MOBILE_SIDEBAR_VISIBILITY,\r\n };\r\n}\r\n\r\nexport function changeUserViewAs(userType) {\r\n return {\r\n type: CHANGE_USER_VIEW_AS,\r\n value: userType,\r\n };\r\n}\r\n","import { apiPost, apiGet } from '../../api/index';\r\nimport { urlUsers } from '../../api/urls';\r\n\r\nexport const FETCH_USERS_LOADING = 'FETCH_USERS_LOADING';\r\nexport const FETCH_USERS_SUCCESS = 'FETCH_USERS_SUCCESS';\r\nexport const FETCH_USERS_FAILED = 'FETCH_USERS_FAILED';\r\n\r\nexport const fetchUsersLoading = () => ({ type: FETCH_USERS_LOADING });\r\nexport const fetchUsersSuccess = users => ({ type: FETCH_USERS_SUCCESS, payload: users });\r\nexport const fetchUsersFailed = error => ({ type: FETCH_USERS_FAILED, payload: error });\r\n\r\nexport function fetchUsers(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlUsers}/all`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllUsers(params) {\r\n return apiGet(`${urlUsers}/all`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchAllUAuditLog(params) {\r\n const pageInfo = params && params.pageInfo\r\n ? params.pageInfo\r\n : { page: 1, pageSize: 15 };\r\n return apiPost(`${urlUsers}/all_auditlog`, pageInfo)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n\r\nexport function fetchFormDatas(params) {\r\n return apiGet(`${urlUsers}/form_data`)\r\n .then((res) => {\r\n if (res.error) {\r\n throw (res.error);\r\n }\r\n if (params && params.onSuccess) params.onSuccess(res);\r\n return res;\r\n })\r\n .catch((error) => {\r\n if (params && params.onError) params.onError(error);\r\n });\r\n}\r\n","import {\r\n CHANGE_THEME_TO_DARK,\r\n CHANGE_THEME_TO_LIGHT,\r\n} from '../actions/themeActions';\r\n\r\nconst initialState = {\r\n className: 'theme-dark',\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n case CHANGE_THEME_TO_DARK:\r\n return { className: 'theme-dark' };\r\n case CHANGE_THEME_TO_LIGHT:\r\n return { className: 'theme-light' };\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {\r\n CHANGE_SIDEBAR_VISIBILITY,\r\n CHANGE_MOBILE_SIDEBAR_VISIBILITY,\r\n CHANGE_USER_VIEW_AS,\r\n} from '../actions/sidebarActions';\r\n\r\nconst user = JSON.parse(localStorage.getItem('currentUser')) || {};\r\nconst viewPageAs = Number(localStorage.getItem('viewPageAs') || '0');\r\nlet defaultView = 0;\r\nif (user.esAlumno) {\r\n defaultView = 0;\r\n} else if (user.esProfesor) {\r\n defaultView = 1;\r\n} else if (user.esFuncionario) {\r\n defaultView = 2;\r\n} else if (user.esFuncionario) {\r\n defaultView = 3;\r\n}\r\n\r\nconst initialState = {\r\n show: false,\r\n collapse: false,\r\n viewPageAs: user.isAuthenticated ? viewPageAs || defaultView : defaultView,\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n case CHANGE_SIDEBAR_VISIBILITY:\r\n return { ...state, collapse: !state.collapse };\r\n case CHANGE_MOBILE_SIDEBAR_VISIBILITY:\r\n return { ...state, show: !state.show };\r\n case CHANGE_USER_VIEW_AS:\r\n localStorage.setItem('viewPageAs', action.value);\r\n return { ...state, viewPageAs: action.value };\r\n default:\r\n return state;\r\n }\r\n}\r\n","export const CHANGE_DIRECTION_TO_LTR = 'CHANGE_DIRECTION_TO_LTR';\nexport const CHANGE_DIRECTION_TO_RTL = 'CHANGE_DIRECTION_TO_RTL';\n\nexport function changeDirectionToLTR() {\n return {\n type: CHANGE_DIRECTION_TO_LTR,\n };\n}\n\nexport function changeDirectionToRTL() {\n return {\n type: CHANGE_DIRECTION_TO_RTL,\n };\n}\n","import {\n CHANGE_DIRECTION_TO_LTR,\n CHANGE_DIRECTION_TO_RTL,\n} from '../actions/rtlActions';\n\nconst initialState = {\n direction: 'ltr',\n};\n\nexport default function (state = initialState, action) {\n switch (action.type) {\n case CHANGE_DIRECTION_TO_LTR:\n return { direction: 'ltr' };\n case CHANGE_DIRECTION_TO_RTL:\n return { direction: 'rtl' };\n default:\n return state;\n }\n}\n","import {\r\n SET_LOGIN_VALUE,\r\n LOGIN_LOADING,\r\n LOGIN_SUCCESS,\r\n LOGIN_FAILED,\r\n LOGOUT,\r\n} from '../actions/loginActions';\r\n\r\nconst initialState = {\r\n loading: false,\r\n isAuthenticated: false,\r\n email: 'admin@uniedu.py',\r\n login: {\r\n email: 'admin@uniedu.py',\r\n },\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n case SET_LOGIN_VALUE:\r\n return { ...state, ...action.payload };\r\n case LOGIN_LOADING:\r\n return { ...state, loading: true };\r\n case LOGIN_SUCCESS:\r\n return { ...state, ...action.payload, loading: false };\r\n case LOGIN_FAILED:\r\n return { ...initialState };\r\n case LOGOUT:\r\n return { ...initialState };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getLoginData = state => state.login;\r\nexport const getLoginStatus = state => state.login.loading;\r\nexport const getLoginError = state => state.login.error;\r\n","// import { handleActions } from 'redux-actions';\r\nimport {\r\n SET_USER_VALUE,\r\n FETCH_USER_LOADING,\r\n FETCH_USER_SUCCESS,\r\n FETCH_USER_FAILED,\r\n POST_USER_LOADING,\r\n POST_USER_SUCCESS,\r\n POST_USER_FAILED,\r\n CREATE_NEW_USER,\r\n} from '../actions/userActions';\r\n\r\nconst initialValue = {\r\n loading: false,\r\n};\r\n\r\n// const users = handleActions({\r\n// [SET_USER_VALUE]: (state, action) => ({ ...state, ...action.payload }),\r\n// [FETCH_USER]: (state, action) => ({ ...action.payload }),\r\n// }, initialValue);\r\n\r\n// export default users;\r\n\r\nexport default function (state = initialValue, action) {\r\n switch (action.type) {\r\n case CREATE_NEW_USER:\r\n return { ...initialValue };\r\n case SET_USER_VALUE:\r\n return { ...state, ...action.payload };\r\n // FETCH USER\r\n case FETCH_USER_LOADING:\r\n return { ...state, loading: true };\r\n case FETCH_USER_SUCCESS:\r\n return { ...state, loading: false, ...action.payload };\r\n case FETCH_USER_FAILED:\r\n return { ...state, loading: false, error: action.payload };\r\n // POST USER\r\n case POST_USER_LOADING:\r\n return { ...state, loading: true };\r\n case POST_USER_SUCCESS:\r\n return { ...state, loading: false, ...action.payload };\r\n case POST_USER_FAILED:\r\n return { ...state, loading: false, error: action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getUser = state => state.user;\r\nexport const getUserStatus = state => state.user.loading;\r\nexport const getUserError = state => state.user.error;\r\n","import {\r\n FETCH_USERS_LOADING,\r\n FETCH_USERS_SUCCESS,\r\n FETCH_USERS_FAILED,\r\n} from '../actions/usersActions';\r\n\r\nconst initialValue = {\r\n loading: false,\r\n users: [],\r\n};\r\n\r\nexport default function (state = initialValue, action) {\r\n switch (action.type) {\r\n case FETCH_USERS_LOADING:\r\n return { ...state, loading: true };\r\n case FETCH_USERS_SUCCESS:\r\n return { ...state, loading: false, users: action.payload };\r\n case FETCH_USERS_FAILED:\r\n return { ...state, loading: false, error: action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\nexport const getUsers = state => state.users.users;\r\nexport const getUsersStatus = state => state.users.loading;\r\nexport const getUsersError = state => state.users.error;\r\n","import {\r\n combineReducers,\r\n createStore,\r\n applyMiddleware,\r\n} from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport * as reducers from '../../redux/reducers/index';\r\nimport { LOGOUT } from '../../redux/actions/loginActions';\r\n\r\nconst rootReducer = (state, action) => {\r\n const newState = action.type === LOGOUT\r\n ? {\r\n theme: state.theme,\r\n sidebar: state.sidebar,\r\n rtl: state.rtl,\r\n } : state;\r\n return combineReducers(reducers)(newState, action);\r\n};\r\n\r\nconst store = createStore(\r\n rootReducer,\r\n {},\r\n // composeWithDevTools(applyMiddleware(promiseMiddleware)),\r\n composeWithDevTools(applyMiddleware(thunk)),\r\n);\r\n\r\nexport default store;\r\n","export const CHANGE_THEME_TO_DARK = 'CHANGE_THEME_TO_DARK';\r\nexport const CHANGE_THEME_TO_LIGHT = 'CHANGE_THEME_TO_LIGHT';\r\n\r\nexport function changeThemeToDark() {\r\n return {\r\n type: CHANGE_THEME_TO_DARK,\r\n };\r\n}\r\n\r\nexport function changeThemeToLight() {\r\n return {\r\n type: CHANGE_THEME_TO_LIGHT,\r\n };\r\n}\r\n"],"sourceRoot":""}