{"version":3,"sources":["webpack:///../../../src/mixins/transitionable/index.ts","webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///./src/views/Certificar.vue?b371","webpack:///src/views/Certificar.vue","webpack:///./src/views/Certificar.vue?9797","webpack:///./src/views/Certificar.vue","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./src/services/CargosService.ts","webpack:///../../../src/components/VSubheader/index.ts","webpack:///./src/models/usp_PostulanteGetByCUIL.ts","webpack:///../../../src/components/VMenu/index.ts","webpack:///../../../src/components/VChip/index.ts","webpack:///./src/models/usp_CargoGetWithCUIL.ts","webpack:///./src/models/usp_PreparacionGetByCUIL.ts","webpack:///./src/models/usp_CargoGetAll.ts","webpack:///./src/models/usp_TiposPuntajeGetByCargo.ts","webpack:///./src/models/usp_AntecedenteGetByCUIL.ts","webpack:///./src/models/usp_PostulanteGetAll.ts","webpack:///./src/models/usp_SubTiposPuntajeGetAll.ts","webpack:///./src/models/usp_PostulanteCargaFaltanteByCargoIdyCUIL.ts","webpack:///./src/services/PostulanteService.ts","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///../../../src/mixins/comparable/index.ts","webpack:///../../../src/components/VData/VData.ts","webpack:///../../../src/components/VDataIterator/VDataFooter.ts","webpack:///../../../src/components/VDataIterator/VDataIterator.ts","webpack:///../../src/util/dedupeModelListeners.ts","webpack:///../../src/util/rebuildFunctionalSlots.ts","webpack:///../../../../src/components/VDataTable/mixins/header.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderMobile.ts","webpack:///../../../src/components/VDataTable/VDataTableHeaderDesktop.ts","webpack:///../../../src/components/VDataTable/VDataTableHeader.ts","webpack:///../../../src/components/VDataTable/Row.ts","webpack:///../../../src/components/VDataTable/RowGroup.ts","webpack:///../../../src/components/VDataTable/VSimpleTable.ts","webpack:///../../../src/components/VDataTable/MobileRow.ts","webpack:///../../../src/components/VDataTable/VDataTable.ts","webpack:///../../../src/components/VCheckbox/VSimpleCheckbox.ts","webpack:///../../../src/components/VBtn/index.ts","webpack:///../../../src/components/VDivider/index.ts","webpack:///../../../src/components/VSelect/VSelectList.ts","webpack:///../../../src/mixins/filterable/index.ts","webpack:///../../../src/components/VSelect/VSelect.ts","webpack:///../../../src/components/VChip/VChip.ts","webpack:///../../../src/components/VDivider/VDivider.ts","webpack:///../../../src/components/VSubheader/VSubheader.ts","webpack:///./src/models/usp_PostulanteGetByCargoId.ts","webpack:///../../../src/components/VMenu/VMenu.ts","webpack:///./src/models/usp_PostulanteAdmisibilidadGetByCUIL.ts","webpack:///../../../src/mixins/menuable/index.ts"],"names":["name","props","mode","origin","transition","String","mixins","border","type","validator","closeLabel","default","coloredBorder","dense","dismissible","icon","Boolean","val","outlined","prominent","text","value","computed","__cachedBorder","this","data","staticClass","class","setBackgroundColor","$createElement","__cachedDismissible","color","VBtn","small","attrs","$vuetify","lang","t","on","click","VIcon","__cachedIcon","iconColor","classes","VSheet","computedColor","computedIcon","includes","hasColoredIcon","hasText","isDark","created","$attrs","hasOwnProperty","methods","genWrapper","children","$slots","prepend","$scopedSlots","close","toggle","genContent","genAlert","role","style","directives","isActive","setColor","render","h","_vm","_h","_c","_self","nCargoId","_v","model","callback","$$v","search","expression","headers","itemData","scopedSlots","_u","key","fn","ref","item","$event","openPostulants","_s","dFechaFinCarga","Intl","DateTimeFormat","resolvedOptions","locale","format","Date","sEstadoCargo","_e","back","nameCargo","searchPostulantes","headersPostulantes","itemPostulantes","green","openCVForCertificate","Math","ceil","$set","staticRenderFns","component","VAlert","VCard","VCardTitle","VCol","VContainer","VDataTable","VProgressLinear","VRow","VSpacer","VTextField","module","exports","Object","is","x","y","CargosService","get","res","success","map","itm","ret","sExpedienteNro","nCargoPJId","sCargo","sDependenciaPJTipoId","sDependencia","caratula","sDistritoId","sDistrito","sArchivoResolucion","sArchivoGrillaPuntajes","sAcordadas","nAcordada","nVacantes","nInscriptos","nAdmitidos","dFechaPublicacion","nTernados","bPublicacionAdmision","bPublicacionPuntaje","finalizado","nEstadoId","bPublicacionTernado","bTieneEvaluacion","bMostrar","id","sCUIL","sSexo","sApellidos","sNombres","sMail","nPorcentaje","nCargoPostulanteId","sConcurso","nPuntajeAntecedente","nPuntajeEscrito","nPuntajeEntrevista","nPuntajeTotal","bTernado","bDesignado","bJustificacion","bAdmitido","bPosibleAdmision","bFaltanteCertificar","dFechaInscripcion","dFechaBaja","sCelular","dNacimiento","nProvinciaId","nLocalidadId","Nombre_CUIL","post","usp_PostulanteGetByCUIL","nDocumento","sDomicilioConstituido","sDomicilioReal","sTelefono","sLaboral","sEstadoCivil","bPoderJudicial","bAntecedente","bPreparacion","sFotoPerfil","sRolId","usp_CargoGetWithCUIL","dFechaServerHoy","usp_PreparacionGetByCUIL","nPreparacionId","nTipo","sTipo","sTipoPuntaje","nSubtipo","sSubtipo","sCargoDocente","sDescripcion","sArchivo","sEstado","sMotivoRechazo","nHoras","bTienePuntaje","dFechaAlta","nAntecendentIdMove","bSincronizarCVMaster","usp_CargoGetAll","usp_TiposPuntajeGetByCargo","nPuntajeMaximo","sMensajeAyuda","sDescripcionCategoria","usp_AntecedenteGetByCUIL","dEgreso","dIngreso","nAntecedenteId","nCargoInterino","nSubTipo","sCargoTipo","sEmpresa","nPreparacionIdMove","origen","params","usp_PostulanteGetByCargoId","put","getTime","then","catch","err","console","log","usp_PostulanteAdmisibilidadGetByCUIL","dFechaCaducidad","dFechaMatricula","sSancionMatricula","dFechaEmision","postulantes","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","undefined","call","RegExp","done","rx","S","previousLastIndex","lastIndex","result","index","valueComparator","inheritAttrs","items","options","sortBy","sortDesc","customSort","mustSort","multiSort","page","itemsPerPage","groupBy","groupDesc","disableSort","disablePagination","disableFiltering","customFilter","serverItemsLength","internalOptions","itemsLength","filteredItems","pageCount","pageStart","pageStop","isGrouped","pagination","computedItems","sortItems","paginateItems","groupedItems","scopedProps","sort","sortArray","group","updateOptions","originalItemsLength","length","computedOptions","watch","handler","deep","immediate","$emit","Array","by","oldBy","desc","oldDesc","byIndex","k","s","i","concat","required","itemsPerPageOptions","prevIcon","nextIcon","firstIcon","lastIcon","itemsPerPageText","itemsPerPageAllText","showFirstLastPage","showCurrentPage","disableItemsPerPage","pageText","disableNextPageIcon","computedItemsPerPageOptions","option","onFirstPage","onPreviousPage","onNextPage","onLastPage","onChangeItemsPerPage","genItemsPerPageOption","genItemsPerPageSelect","computedIPPO","ippo","VSelect","disabled","hideDetails","auto","minWidth","input","genPaginationInfo","genIcon","label","genIcons","before","after","rtl","VData","itemKey","singleSelect","expanded","singleExpand","loading","noResultsText","noDataText","loadingText","hideDefaultFooter","footerProps","selection","expansion","internalCurrentItems","everyItem","every","someItems","some","sanitizedFooterProps","keys","filter","breakingProps","original","replacement","removedProps","prop","toggleSelectAll","isSelected","select","emit","old","isExpanded","expand","createItemProps","v","genEmptyWrapper","genEmpty","noData","filteredItemsLength","noResults","genItems","empty","genFooter","genDefaultScopedSlot","outerProps","slots","slot","ripple","sortIcon","showGroupBy","genSelectAll","indeterminate","VSimpleCheckbox","genSortIcon","size","sortByText","genSortChip","sortIndex","findIndex","beingSorted","isDesc","sortable","active","asc","VChip","nativeOn","e","genSortSelect","sortHeaders","multiple","change","header","find","width","th","tr","genGroupByToggle","genHeader","listeners","scope","styles","functional","mobile","dedupeModelListeners","VDataTableHeaderMobile","VDataTableHeaderDesktop","computedSlots","columns","slotName","scopedSlot","regularSlot","textAlign","divider","headerClass","contentClass","summaryClass","fixedHeader","height","Number","themeClasses","wrapper","mobileRowChildren","filterFn","searchTableItems","filtered","headersWithoutCustomFilters","headersWithCustomFilters","VDataIterator","showSelect","showExpand","mobileBreakpoint","hideDefaultHeader","caption","headerProps","calculateWidths","headersLength","expandIcon","internalGroupBy","openCache","widths","computedHeaders","defaultHeader","colspanAttrs","isMobile","colspan","breakpoint","columnSorters","reduce","acc","sanitizedHeaderProps","computedItemsPerPage","firstOption","mounted","window","beforeDestroy","calcWidths","$el","querySelectorAll","customFilterWithColumns","customSortWithHeaders","genCaption","genColgroup","genLoading","progress","genHeaders","genGroupedRows","genRows","groups","genDefaultGroupedRow","isOpen","genDefaultRows","toggleFn","removeFn","remove","column","RowGroup","genScopedRows","rows","genDefaultExpandedRow","headerRow","genDefaultSimpleRow","expandedRow","MobileRow","genBody","body","genFooters","simpleProps","proxySlot","indeterminateIcon","onIcon","offIcon","center","dark","light","f","action","hideSelected","itemDisabled","itemText","itemValue","noFilter","searchInput","selectedItems","parsedItems","tileActiveClass","setTextColor","staticNoDataTile","tile","mousedown","VListItem","genTileContent","genAction","VListItemAction","inputValue","genDivider","VDivider","genFilteredText","getMaskedCharacters","end","start","genHighlight","middle","VSubheader","genLabelledBy","getText","split","join","genTile","hasItem","getDisabled","activeClass","parent","needsTile","innerHTML","VList","domProps","indexOf","getValue","tabindex","defaultMenuProps","closeOnClick","closeOnContentClick","disableKeys","openOnClick","maxHeight","baseMixins","ClickOutside","appendIcon","attach","cacheItems","chips","clearable","deletableChips","eager","itemColor","menuProps","openOnClear","returnObject","smallChips","cachedItems","content","isBooted","isMenuActive","lastItem","lazyValue","selectedIndex","keyboardLookupPrefix","keyboardLookupLastTime","allItems","filterDuplicates","computedOwns","counterValue","isFocused","args","closeConditional","dynamicHeight","hasChips","hasSlot","isDirty","listData","scopeId","$vnode","context","selectItem","staticList","VSelectList","virtualizedItems","$_menuProps","slice","menuCanShow","normalisedProps","p","nudgeBottom","internalValue","$refs","menu","blur","activateMenu","clearableCallback","contains","uniqueValues","arr","findExistingIndex","genChipSelection","isDisabled","JSON","genCommaSelection","last","genDefaultSlot","selections","prefix","genAffix","suffix","genInput","genHiddenInput","genInputSlot","genList","genListWithSlot","genMenu","VMenu","genSelections","genSelection","genSlotSelection","selected","readonly","getMenuIndex","onBlur","onChipInput","setValue","onClick","onEscDown","onKeyPress","KEYBOARD_LOOKUP_THRESHOLD","now","performance","setTimeout","onKeyDown","keyCode","onUpDown","onTabDown","onSpaceDown","onMenuActiveChange","onMouseUp","hasMouseDown","appendInner","isEnclosed","onScroll","showMoreItems","scrollHeight","scrollTop","requestAnimationFrame","activeTile","listIndex","setMenuIndex","setSelectedItems","values","oldValue","chipGroup","closeIcon","draggable","filterIcon","link","pill","tag","textColor","proxyClass","groupClasses","hasClose","isClickable","genFilter","left","genClose","right","inset","vertical","orientation","$listeners","provide","isInMenu","theme","Resize","offsetX","offsetY","openOnHover","calculatedTopAuto","defaultOffset","hasJustFocused","resizeTimeout","tiles","calculatedLeft","menuWidth","dimensions","parseFloat","calcXOverflow","calcLeft","calculatedMaxHeight","calculatedMaxWidth","calculatedMinWidth","activator","pageWidth","isNaN","parseInt","calculatedTop","top","calcYOverflow","hasClickableTiles","maxWidth","transformOrigin","zIndex","activeZIndex","isContentActive","next","prev","classList","activate","calcScrollPosition","maxScrollTop","calcLeftAuto","calcTopAuto","tileDistanceFromMenuTop","firstTileOffsetTop","computedTop","changeListIndex","target","genActivatorListeners","genTransition","genDirectives","include","menuable__content__active","keydown","showLazyContent","getTiles","mouseEnterHandler","mouseLeaveHandler","nextTile","prevTile","onResize","clearTimeout","arg","root","allowOverflow","nudgeLeft","nudgeRight","nudgeTop","nudgeWidth","offsetOverflow","positionX","positionY","absoluteX","absoluteY","activatedBy","activatorFixed","bottom","offsetTop","offsetLeft","hasWindow","inputActivator","pageYOffset","stackClass","stackMinZIndex","computedLeft","a","c","activatorLeft","hasActivator","beforeMount","absolutePosition","calcTop","xOverflow","documentHeight","toTop","contentHeight","totalHeight","isOverflowing","callActivate","callDeactivate","checkForPageYOffset","checkActivatorFixed","el","deactivate","getInnerHeight","document","getOffsetLeft","getOffsetTop","getRoundedBoundedClientRect","rect","measure","sneakPeek","cb","startTransition","Promise","resolve","updateDimensions"],"mappings":"4RAEe,gBAAW,CACxBA,KADwB,iBAGxBC,MAAO,CACLC,KADK,OAELC,OAFK,OAGLC,WAAYC,U,omBCgBD,cAAAC,EAAA,MAAO,EAAD,YAAN,UAIN,CACPN,KADO,UAGPC,MAAO,CACLM,OAAQ,CACNC,KADM,OAENC,UAFM,SAEG,GACP,MAAO,CAAC,MAAD,kCAAP,KAQJC,WAAY,CACVF,KADU,OAEVG,QAAS,kBAEXC,cAhBK,QAiBLC,MAjBK,QAkBLC,YAlBK,QAmBLC,KAAM,CACJJ,QADI,GAEJH,KAAM,CAACQ,QAFH,QAGJP,UAHI,SAGK,GACP,MAAsB,kBAARQ,IAAd,IAAkCA,IAGtCC,SA1BK,QA2BLC,UA3BK,QA4BLC,KA5BK,QA6BLZ,KAAM,CACJA,KADI,OAEJC,UAFI,SAEK,GACP,MAAO,CAAC,OAAD,sCAAP,KAQJY,MAAO,CACLb,KADK,QAELG,SAAS,IAIbW,SAAU,CACRC,eADQ,WAEN,IAAKC,KAAL,OAAkB,OAAO,KAEzB,IAAIC,EAAkB,CACpBC,YADoB,kBAEpBC,MAAO,6CACgBH,KAArB,SAAqC,IASzC,OALIA,KAAJ,gBACEC,EAAOD,KAAKI,mBAAmBJ,KAAxB,cAAPC,GACAA,EAAA,wCAGKD,KAAKK,eAAe,MAA3B,IAEFC,oBAlBQ,WAkBW,WACjB,IAAKN,KAAL,YAAuB,OAAO,KAE9B,IAAMO,EAAQP,KAAd,UAEA,OAAOA,KAAKK,eAAeG,EAApB,KAA0B,CAC/BN,YAD+B,uBAE/BzB,MAAO,CACL8B,QACAhB,MAFK,EAGLkB,OAAO,GAETC,MAAO,CACL,aAAcV,KAAKW,SAASC,KAAKC,EAAEb,KAArB,aAEhBc,GAAI,CACFC,MAAO,kBAAO,YAAgB,KAE/B,CACDf,KAAKK,eAAeW,EAApB,KAA2B,CACzBvC,MAAO,CAAE8B,UAfb,cAmBFU,aA1CQ,WA2CN,OAAKjB,KAAL,aAEOA,KAAKK,eAAeW,EAApB,KAA2B,CAChCd,YADgC,gBAEhCzB,MAAO,CAAE8B,MAAOP,KAAKkB,YACpBlB,KAHH,cAF+B,MAOjCmB,QAlDQ,WAmDN,IAAMA,EAAO,KACRC,EAAA,mCADoC,MAA5B,CAEX,kBAAmB5B,QAAQQ,KAFY,QAGvC,iBAAkBA,KAHqB,MAIvC,oBAAqBA,KAJkB,SAKvC,qBAAsBA,KALiB,UAMvC,gBAAiBA,KAAKJ,OAOxB,OAJII,KAAJ,SACEmB,EAAQ,mBAAD,OAAoBnB,KAA3B,aAGF,GAEFqB,cAlEQ,WAmEN,OAAOrB,KAAKO,OAASP,KAArB,MAEFsB,aArEQ,WAsEN,WAAItB,KAAKT,OACL,kBAAOS,KAAP,MAAiCA,KAArC,KAAuDA,KAAP,OAC3C,CAAC,QAAS,OAAQ,UAAW,WAAWuB,SAASvB,KAAtD,OAEA,WAAWA,KAAX,QAEFwB,eA5EQ,WA6EN,OACExB,KAAKyB,SACJjC,QAAQQ,KAAR,SAAwBA,KAF3B,eAKFyB,QAlFQ,WAmFN,OAAOzB,KAAKJ,MAAQI,KAApB,UAEFkB,UArFQ,WAsFN,OAAOlB,KAAKwB,eAAiBxB,KAAtB,mBAAP,GAEF0B,OAxFQ,WAyFN,SACE1B,KAAKhB,MACJgB,KADD,eAECA,KAHH,WAMO,oCAAP,QAIJ2B,QApJO,WAsJD3B,KAAK4B,OAAOC,eAAhB,YACE,eAAS,UAAW,WAApB,OAIJC,QAAS,CACPC,WADO,WAEL,IAAMC,EAAW,CACfhC,KAAKiC,OAAOC,SAAWlC,KADR,aAEfA,KAFe,aAGfA,KAHe,eAIfA,KAAKiC,OAJU,OAKfjC,KAAKmC,aAAaC,MACdpC,KAAKmC,aAAaC,MAAM,CAAEC,OAAQrC,KAAKqC,SACvCrC,KAPN,qBAUMC,EAAkB,CACtBC,YAAa,oBAGf,OAAOF,KAAKK,eAAe,MAAOJ,EAAlC,IAEFqC,WAlBO,WAmBL,OAAOtC,KAAKK,eAAe,MAAO,CAChCH,YAAa,oBACZF,KAAKiC,OAFR,UAIFM,SAvBO,WAwBL,IAAItC,EAAkB,CACpBC,YADoB,UAEpBQ,MAAO,CACL8B,KAAM,SAERrC,MAAOH,KALa,QAMpByC,MAAOzC,KANa,OAOpB0C,WAAY,CAAC,CACXlE,KADW,OAEXqB,MAAOG,KAAK2C,YAIhB,IAAK3C,KAAL,cAAyB,CACvB,IAAM4C,EAAW5C,KAAKyB,QAAUzB,KAAf,aAAmCA,KAApD,mBACAC,EAAO2C,EAAS5C,KAAD,cAAfC,GAGF,OAAOD,KAAKK,eAAe,MAAOJ,EAAM,CAACD,KAAzC,gBAGFqC,OA7CO,WA8CLrC,KAAA,UAAiBA,KAAjB,WAIJ6C,OA7MO,SA6MD,GACJ,IAAMA,EAAS7C,KAAf,WAEA,OAAKA,KAAL,WAEO8C,EAAE,aAAc,CACrBrE,MAAO,CACLD,KAAMwB,KADD,WAELrB,OAAQqB,KAFH,OAGLtB,KAAMsB,KAAKtB,OAEZ,CANH,IAF6BmE,M,6FC5OjC,I,MAAIA,EAAS,WAAa,IAAIE,EAAI/C,KAASgD,EAAGD,EAAI1C,eAAmB4C,EAAGF,EAAIG,MAAMD,IAAID,EAAG,OAAOC,EAAG,MAAM,CAAC/C,YAAY,QAAQ,CAAiB,OAAf6C,EAAII,SAAiBF,EAAG,cAAc,CAAC/C,YAAY,OAAOQ,MAAM,CAAC,MAAQ,KAAK,CAACuC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACvC,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,GAAK,OAAO,CAACuC,EAAG,SAAS,CAACA,EAAG,eAAe,CAACF,EAAIK,GAAG,iCAAiCH,EAAG,YAAYA,EAAG,eAAe,CAACvC,MAAM,CAAC,cAAc,cAAc,MAAQ,SAAS,cAAc,GAAG,eAAe,IAAI2C,MAAM,CAACxD,MAAOkD,EAAU,OAAEO,SAAS,SAAUC,GAAMR,EAAIS,OAAOD,GAAKE,WAAW,YAAYR,EAAG,aAAa,GAAG,CAACA,EAAG,eAAe,CAAC/C,YAAY,oBAAoBQ,MAAM,CAAC,QAAUqC,EAAIW,QAAQ,OAASX,EAAIS,OAAO,MAAQT,EAAIY,SAAS,WAAW,WAAW,eAAe,CACjtB,gCAAiC,CAAC,EAAG,GAAI,GAAI,MAC5CC,YAAYb,EAAIc,GAAG,CAAC,CAACC,IAAI,cAAcC,GAAG,SAASC,GACtD,IAAIC,EAAOD,EAAIC,KAC3B,MAAO,CAAChB,EAAG,SAAS,CAACvC,MAAM,CAAC,MAAQ,QAAQ,MAAQ,0BAA0BI,GAAG,CAAC,MAAQ,SAASoD,GAAQ,OAAOnB,EAAIoB,eAAeF,MAAS,CAAClB,EAAIK,GAAG,0BAA0B,CAACU,IAAI,sBAAsBC,GAAG,SAASC,GAC3M,IAAIC,EAAOD,EAAIC,KAC3B,MAAO,CAAChB,EAAG,OAAO,CAACF,EAAIK,GAAG,IAAIL,EAAIqB,GAAGH,EAAKI,eAAiB,IAAIC,KAAKC,eAAeD,KAAKC,iBAAiBC,kBAAkBC,QAAQC,OAAO,IAAIC,KAAKV,EAAKI,iBAAmB,MAAM,UAAU,CAACP,IAAI,4BAA4BC,GAAG,SAASC,GAC5N,IAAIC,EAAOD,EAAIC,KAC3B,MAAO,CAAsB,aAApBA,EAAKW,aAA2B3B,EAAG,UAAU,CAACvC,MAAM,CAAC,MAAQ,GAAG,KAAO,WAAW,CAACqC,EAAIK,GAAG,cAAcL,EAAI8B,KAA0B,YAApBZ,EAAKW,aAA0B3B,EAAG,UAAU,CAACvC,MAAM,CAAC,MAAQ,GAAG,KAAO,YAAY,CAACqC,EAAIK,GAAG,aAAaL,EAAI8B,KAA0B,aAApBZ,EAAKW,aAA2B3B,EAAG,UAAU,CAACvC,MAAM,CAAC,MAAQ,GAAG,KAAO,cAAc,CAACqC,EAAIK,GAAG,cAAcL,EAAI8B,SAAS,MAAK,EAAM,gBAAgB,IAAI,IAAI,IAAI,GAAG9B,EAAI8B,KAAM9B,EAAY,SAAEE,EAAG,cAAc,CAAC/C,YAAY,OAAOQ,MAAM,CAAC,MAAQ,KAAK,CAACuC,EAAG,QAAQ,CAACvC,MAAM,CAAC,MAAQ,WAAWI,GAAG,CAAC,MAAQiC,EAAI+B,OAAO,CAAC7B,EAAG,SAAS,CAACF,EAAIK,GAAG,6BAA6BL,EAAIK,GAAG,YAAY,GAAGH,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACvC,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,GAAK,OAAO,CAACuC,EAAG,SAAS,CAACA,EAAG,eAAe,CAACF,EAAIK,GAAG,IAAIL,EAAIqB,GAAGrB,EAAIgC,WAAW,KAAK9B,EAAG,YAAYA,EAAG,eAAe,CAACvC,MAAM,CAAC,cAAc,cAAc,MAAQ,SAAS,cAAc,GAAG,eAAe,IAAI2C,MAAM,CAACxD,MAAOkD,EAAqB,kBAAEO,SAAS,SAAUC,GAAMR,EAAIiC,kBAAkBzB,GAAKE,WAAW,wBAAwB,GAAG,CAACR,EAAG,eAAe,CAAC/C,YAAY,oBAAoBQ,MAAM,CAAC,QAAUqC,EAAIkC,mBAAmB,MAAQlC,EAAImC,gBAAgB,WAAW,QAAQ,OAASnC,EAAIiC,kBAAkB,sBAAsB,CAAC,GAAI,GAAI,GAAI,IAAI,aAAajC,EAAIoC,OAAOvB,YAAYb,EAAIc,GAAG,CAAC,CAACC,IAAI,cAAcC,GAAG,SAASC,GACtvC,IAAIC,EAAOD,EAAIC,KAC3B,MAAO,CAAChB,EAAG,SAAS,CAACvC,MAAM,CAAC,MAAQ,QAAQ,MAAQ,uBAAuBI,GAAG,CAAC,MAAQ,SAASoD,GAAQ,OAAOnB,EAAIqC,qBAAqBnB,MAAS,CAAClB,EAAIK,GAAG,oCAAoC,CAACU,IAAI,mBAAmBC,GAAG,SAASC,GACrN,IAAIC,EAAOD,EAAIC,KAC3B,MAAO,CAAChB,EAAG,oBAAoB,CAACvC,MAAM,CAAC,MAAQ,YAAY,OAAS,MAAMkD,YAAYb,EAAIc,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,SAASC,GAC7G,IAAInE,EAAQmE,EAAInE,MAC5B,MAAO,CAACoD,EAAG,SAAS,CAACF,EAAIK,GAAGL,EAAIqB,GAAGiB,KAAKC,KAAKzF,IAAQ,WAAW,MAAK,GAAMwD,MAAM,CAACxD,MAAOoE,EAAgB,YAAEX,SAAS,SAAUC,GAAMR,EAAIwC,KAAKtB,EAAM,cAAeV,IAAME,WAAW,0BAA0B,MAAK,EAAM,gBAAgB,IAAI,IAAI,IAAI,GAAGV,EAAI8B,MAAM,IAC7PW,EAAkB,G,oKCkItB,G,EAvCA,gBACE,QAAF,WAAI,OAAJ,sCAAM,MAAN,EAAQ,OAAR,+DACA,iBADA,gDAGE,QAAF,CACI,KADJ,WAEM,KAAN,qBAEI,aAJJ,SAIA,GACM,GAAN,GACQ,IAAR,6GACQ,MAAR,mHAEM,MAAN,IAEI,SAXJ,WAAM,IAAN,IAAM,OAAN,sCAAQ,MAAR,kFAaA,sBAbA,OAac,EAbd,OAcc,EAAd,sBAAgB,OAAhB,mBACc,KAAd,iBAfA,mDAiBc,QAAd,UAjBA,yDAoBI,eApBJ,SAoBA,GApBM,IAAN,EAAM,OAAN,sCAAQ,MAAR,sCAqBc,KAAd,0BACc,KAAd,qCAtBA,mCAuBA,gDAvBA,OAuBc,EAvBd,OAwBc,KAAd,wBAxBA,gDA0BI,qBA1BJ,SA0BA,GACM,IAAN,wBAAQ,KAAR,6EACM,OAAN,0B,kQAQA,I,6CACA,M,4CACA,M,qDACA,I,yCACA,M,4CACA,I,mDACA,I,qDACA,I,+CACA,I,2CACA,CACA,CACM,KAAN,GACM,MAAN,SACM,UAAN,EACM,MAAN,MAEA,CACM,KAAN,QACM,MAAN,UAEA,CACM,KAAN,QACM,MAAN,kBAEA,CACM,KAAN,aACM,MAAN,cAEA,CACM,KAAN,cACM,MAAN,gBAEA,CACM,KAAN,WACM,MAAN,aAEA,CACM,KAAN,WACM,MAAN,aAEA,CACM,KAAN,aACM,MAAN,eAEA,CACM,KAAN,eACM,MAAN,kBAEA,CACM,KAAN,eACM,MAAN,0B,sDAGA,CAEI,CACE,KAAN,SACM,MAAN,UAEA,CACM,KAAN,OACM,MAAN,SAEA,CACM,KAAN,WACM,MAAN,cAEA,CACM,KAAN,UACM,MAAN,YAEA,CACM,KAAN,OACM,MAAN,SAEA,CACM,KAAN,aACM,MAAN,iB,2CAKA,G,4DACA,G,wCACA,Y,uDACA,M,8CACA,M,+CACA,M,2DAGA,CACA,YAAM,QAAN,wH,kDAEA,CACA,YAAM,OAAN,kD,gCA/FA,Q,UCjJ+Y,I,iLCO3YC,EAAY,eACd,EACA5C,EACA2C,GACA,EACA,KACA,KACA,MAIa,aAAAC,EAAiB,QAgBhC,IAAkBA,EAAW,CAACC,SAAA,KAAOlF,OAAA,KAAKmF,QAAA,KAAMC,WAAA,OAAWC,OAAA,KAAKC,aAAA,KAAWC,aAAA,KAAW/E,QAAA,KAAMgF,kBAAA,KAAgBC,OAAA,KAAKC,UAAA,KAAQC,aAAA,Q,qBChCzHC,EAAOC,QAAUC,OAAOC,IAAM,SAAYC,EAAGC,GAE3C,OAAOD,IAAMC,EAAU,IAAND,GAAW,EAAIA,IAAM,EAAIC,EAAID,GAAKA,GAAKC,GAAKA,I,6KCA1CC,E,WAEjB,oC,yLAIoB,IAAMC,IAAI,uB,UAAtBC,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,OA4Bd,OA3BAA,EAAI7D,SAAW4D,EAAI5D,SACnB6D,EAAIC,eAAiBF,EAAIE,eACzBD,EAAIE,WAAaH,EAAIG,WACrBF,EAAIG,OAASJ,EAAII,OACjBH,EAAII,qBAAuBL,EAAIK,qBAC/BJ,EAAIK,aAAeN,EAAIM,aACvBL,EAAIM,SAAWP,EAAIO,SACnBN,EAAIO,YAAcR,EAAIQ,YACtBP,EAAIQ,UAAYT,EAAIS,UACpBR,EAAIS,mBAAqBV,EAAIU,mBAC7BT,EAAIU,uBAAyBX,EAAIW,uBACjCV,EAAIW,WAAaZ,EAAIY,WACrBX,EAAIY,UAAYb,EAAIa,UACpBZ,EAAIa,UAAYd,EAAIc,UACpBb,EAAIc,YAAcf,EAAIe,YACtBd,EAAIe,WAAahB,EAAIgB,WACrBf,EAAIgB,kBAAoBjB,EAAIiB,kBAC5BhB,EAAI3C,eAAiB0C,EAAI1C,eACzB2C,EAAIiB,UAAYlB,EAAIkB,UACpBjB,EAAIkB,qBAAuBnB,EAAImB,qBAC/BlB,EAAImB,oBAAsBpB,EAAIoB,oBAC9BnB,EAAIoB,WAAarB,EAAIqB,WACrBpB,EAAIqB,UAAYtB,EAAIsB,UACpBrB,EAAIpC,aAAemC,EAAInC,aACvBoC,EAAIsB,oBAAsBvB,EAAIuB,oBAC9BtB,EAAIuB,iBAAmBxB,EAAIwB,iBAC3BvB,EAAIwB,SAAWzB,EAAIyB,SACZxB,M,gCAGR,M,iFAEeyB,G,iIACN,IAAM9B,IAAI,sCAAuC8B,I,UAA7D7B,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,OAwBd,OAvBAA,EAAI7D,SAAW4D,EAAI5D,SACnB6D,EAAIC,eAAiBF,EAAIE,eACzBD,EAAIE,WAAaH,EAAIG,WACrBF,EAAIG,OAASJ,EAAII,OACjBH,EAAII,qBAAuBL,EAAIK,qBAC/BJ,EAAIK,aAAeN,EAAIM,aACvBL,EAAIM,SAAWP,EAAIO,SACnBN,EAAIO,YAAcR,EAAIQ,YACtBP,EAAIQ,UAAYT,EAAIS,UACpBR,EAAIW,WAAaZ,EAAIY,WAErBX,EAAIa,UAAYd,EAAIc,UACpBb,EAAIc,YAAcf,EAAIe,YACtBd,EAAIe,WAAahB,EAAIgB,WACrBf,EAAIgB,kBAAoBjB,EAAIiB,kBAC5BhB,EAAI3C,eAAiB0C,EAAI1C,eACzB2C,EAAIiB,UAAYlB,EAAIkB,UACpBjB,EAAIkB,qBAAuBnB,EAAImB,qBAC/BlB,EAAImB,oBAAsBpB,EAAIoB,oBAC9BnB,EAAIoB,WAAarB,EAAIqB,WAIdpB,M,gCAGR,M,gNAIS,IAAML,IAAI,gC,UAAtBC,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,OAuBd,OAtBAA,EAAI7D,SAAW4D,EAAI5D,SACnB6D,EAAIC,eAAiBF,EAAIE,eACzBD,EAAIE,WAAaH,EAAIG,WACrBF,EAAIG,OAASJ,EAAII,OACjBH,EAAII,qBAAuBL,EAAIK,qBAC/BJ,EAAIK,aAAeN,EAAIM,aACvBL,EAAIM,SAAWP,EAAIO,SACnBN,EAAIO,YAAcR,EAAIQ,YACtBP,EAAIQ,UAAYT,EAAIS,UACpBR,EAAIW,WAAaZ,EAAIY,WACrBX,EAAIY,UAAYb,EAAIa,UACpBZ,EAAIa,UAAYd,EAAIc,UACpBb,EAAIc,YAAcf,EAAIe,YACtBd,EAAIe,WAAahB,EAAIgB,WACrBf,EAAIgB,kBAAoBjB,EAAIiB,kBAC5BhB,EAAI3C,eAAiB0C,EAAI1C,eACzB2C,EAAIiB,UAAYlB,EAAIkB,UACpBjB,EAAIkB,qBAAuBnB,EAAImB,qBAC/BlB,EAAImB,oBAAsBpB,EAAIoB,oBAC7BnB,EAAIsB,oBAAsBvB,EAAIuB,oBAC/BtB,EAAIoB,WAEGpB,M,gCAGR,M,6MAGS,IAAML,IAAI,6B,UAAtBC,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,OA0Bd,OAzBAA,EAAI7D,SAAW4D,EAAI5D,SACnB6D,EAAIC,eAAiBF,EAAIE,eACzBD,EAAIE,WAAaH,EAAIG,WACrBF,EAAIG,OAASJ,EAAII,OACjBH,EAAII,qBAAuBL,EAAIK,qBAC/BJ,EAAIK,aAAeN,EAAIM,aACvBL,EAAIM,SAAWP,EAAIO,SACnBN,EAAIO,YAAcR,EAAIQ,YACtBP,EAAIS,mBAAqBV,EAAIU,mBAC7BT,EAAIU,uBAAyBX,EAAIW,uBACjCV,EAAIQ,UAAYT,EAAIS,UACpBR,EAAIW,WAAaZ,EAAIY,WACrBX,EAAIa,UAAYd,EAAIc,UACpBb,EAAIc,YAAcf,EAAIe,YACtBd,EAAIe,WAAahB,EAAIgB,WACrBf,EAAIgB,kBAAoBjB,EAAIiB,kBAC5BhB,EAAI3C,eAAiB0C,EAAI1C,eACzB2C,EAAIiB,UAAYlB,EAAIkB,UACpBjB,EAAIkB,qBAAuBnB,EAAImB,qBAC/BlB,EAAImB,oBAAsBpB,EAAIoB,oBAC9BnB,EAAIsB,oBAAsBvB,EAAIuB,oBAC9BtB,EAAIqB,UAAYtB,EAAIsB,UACpBrB,EAAIpC,aAAemC,EAAInC,aACvBoC,EAAIoB,WAAWrB,EAAIqB,WACnBpB,EAAIwB,SAAWzB,EAAIyB,SACZxB,M,gCAGR,M,oFAGkB7D,G,iIACT,IAAMwD,IAAI,yCAA2CxD,I,UAAjEyD,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,OA+Bd,OA9BAA,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAI2B,MAAQ5B,EAAI4B,MAChB3B,EAAI4B,WAAa7B,EAAI6B,WACrB5B,EAAI6B,SAAW9B,EAAI8B,SACnB7B,EAAI8B,MAAQ/B,EAAI+B,MAChB9B,EAAI+B,YAAchC,EAAIgC,YACtB/B,EAAIG,OAASJ,EAAII,OACjBH,EAAIK,aAAeN,EAAIM,aACvBL,EAAIQ,UAAYT,EAAIS,UACpBR,EAAIgC,mBAAqBjC,EAAIiC,mBAC7BhC,EAAIiC,UAAYlC,EAAIkC,UACpBjC,EAAI3C,eAAiB0C,EAAI1C,eACzB2C,EAAIkC,oBAAsBnC,EAAImC,oBAC9BlC,EAAImC,gBAAkBpC,EAAIoC,gBAC1BnC,EAAIoC,mBAAqBrC,EAAIqC,mBAC7BpC,EAAIqC,cAAgBtC,EAAIsC,cACxBrC,EAAIsC,SAAWvC,EAAIuC,SACnBtC,EAAIuC,WAAaxC,EAAIwC,WACrBvC,EAAIwC,eAAiBzC,EAAIyC,eACzBxC,EAAIyC,UAAY1C,EAAI0C,UACpBzC,EAAI7D,SAAW4D,EAAI5D,SACnB6D,EAAI0C,iBAAmB3C,EAAI2C,iBAC3B1C,EAAI2C,oBAAsB5C,EAAI4C,oBAC9B3C,EAAI4C,kBAAoB7C,EAAI6C,kBAC5B5C,EAAI6C,WAAa9C,EAAI8C,WACrB7C,EAAI8C,SAAW/C,EAAI+C,SACnB9C,EAAI+C,YAAchD,EAAIgD,YACtB/C,EAAIgD,aAAejD,EAAIiD,aACvBhD,EAAIiD,aAAelD,EAAIkD,aACvBjD,EAAIkD,YAAcnD,EAAI6B,WAAa,KAAO7B,EAAI8B,SAAW,MAAQ9B,EAAI2B,MAC9D1B,M,gCAGR,M,wFAGsB7D,EAAkB+E,EAA+BC,G,iGAC1ElI,EAAO,CACPkD,SAAUA,EACV+E,qBAAsBA,EACtBC,oBAAqBA,G,kCAET,IAAMgC,KAAK,qCAAsClK,I,cAA7D2G,E,yBACGA,EAAI3G,M,2EAEKkD,EAAkBkF,G,iGAC9BpI,EAAO,CACPkD,SAAUA,EACVkF,UAAWA,G,kCAEC,IAAM8B,KAAK,4BAA6BlK,I,cAApD2G,E,yBACGA,EAAI3G,M,8MAGK,IAAM0G,IAAI,8B,cAAtBC,E,yBACGA,EAAI3G,M,8MAGK,IAAM0G,IAAI,8B,cAAtBC,E,yBAEGA,EAAI3G,M,mFCrNnB,gBAGA,e,sFCHqBmK,EAyBjB,oCACIpK,KAAK0I,MAAQ,KACb1I,KAAKqK,WAAa,KAClBrK,KAAK2I,MAAQ,KACb3I,KAAK4I,WAAa,KAClB5I,KAAK6I,SAAW,KAChB7I,KAAKsK,sBAAwB,KAC7BtK,KAAKuK,eAAiB,KACtBvK,KAAKgK,aAAe,KACpBhK,KAAKiK,aAAe,KACpBjK,KAAKwK,UAAY,KACjBxK,KAAK8J,SAAW,KAChB9J,KAAKyK,SAAW,KAChBzK,KAAK8I,MAAQ,KACb9I,KAAK0K,aAAe,KACpB1K,KAAK+J,YAAc,KACnB/J,KAAK2K,eAAiB,KACtB3K,KAAK4K,aAAe,KACpB5K,KAAK6K,aAAe,KACpB7K,KAAK+I,YAAc,KACnB/I,KAAK8K,YAAc,KACnB9K,KAAKqK,WAAa,KAClBrK,KAAK+K,OAAS,KACd/K,KAAKyJ,UAAY,O,oCChDzB,gBAGA,e,oCCHA,gBAGA,e,wICHqBuB,EAgBjB,oCACIhL,KAAKmD,SAAW,KAChBnD,KAAKmH,OAAS,KACdnH,KAAKqH,aAAe,KACpBrH,KAAKwH,UAAY,KACjBxH,KAAKiH,eAAiB,KACtBjH,KAAK2H,WAAa,KAClB3H,KAAK4J,kBAAoB,KACzB5J,KAAKqE,eAAiB,KACtBrE,KAAKgI,kBAAoB,KACzBhI,KAAKoI,WAAa,KAClBpI,KAAK6J,WAAa,KAClB7J,KAAKiL,gBAAkB,KACvBjL,KAAKqI,UAAY,KACjBrI,KAAK4E,aAAe,KACpB5E,KAAKgJ,mBAAqB,O,sFC/BbkC,EAoBjB,oCACIlL,KAAK0I,MAAQ,KACb1I,KAAKmL,eAAiB,KACtBnL,KAAKoL,MAAQ,KACbpL,KAAKqL,MAAQ,KACbrL,KAAKsL,aAAe,KACpBtL,KAAKuL,SAAW,KAChBvL,KAAKwL,SAAW,KAChBxL,KAAKyL,cAAgB,KACrBzL,KAAK0L,aAAe,KACpB1L,KAAK2L,SAAW,KAChB3L,KAAK4L,QAAU,KACf5L,KAAK6L,eAAiB,KACtB7L,KAAK8L,OAAS,KACd9L,KAAK+L,cAAgB,KACrB/L,KAAKgM,WAAa,KAClBhM,KAAK6J,WAAa,KAClB7J,KAAKiM,mBAAqB,KAC1BjM,KAAKkM,qBAAuB,O,oFCtCfC,EA4BjB,oCACInM,KAAKmD,SAAW,KAChBnD,KAAKiH,eAAiB,KACtBjH,KAAKkH,WAAa,KAClBlH,KAAKmH,OAAS,KACdnH,KAAKoH,qBAAuB,KAC5BpH,KAAKqH,aAAe,KACpBrH,KAAKsH,SAAW,KAChBtH,KAAKuH,YAAc,KACnBvH,KAAKwH,UAAY,KACjBxH,KAAKyH,mBAAqB,KAC1BzH,KAAK0H,uBAAyB,KAC9B1H,KAAK2H,WAAa,KAClB3H,KAAK4H,UAAY,KACjB5H,KAAK6H,UAAY,KACjB7H,KAAK8H,YAAc,KACnB9H,KAAK+H,WAAa,KAClB/H,KAAKgI,kBAAoB,KACzBhI,KAAKqE,eAAiB,KACtBrE,KAAKiI,UAAY,KACjBjI,KAAKkI,qBAAuB,KAC5BlI,KAAKmI,oBAAsB,KAC3BnI,KAAKsI,oBAAsB,KAC3BtI,KAAKoI,WAAa,KAClBpI,KAAKqI,UAAY,KACjBrI,KAAK4E,aAAe,KACpB5E,KAAKuI,iBAAmB,KACxBvI,KAAKwI,SAAW,O,sFCvDH4D,EAOjB,oCACIpM,KAAKoL,MAAQ,KACbpL,KAAKqM,eAAiB,KACtBrM,KAAK0L,aAAe,KACpB1L,KAAKsM,cAAgB,KACrBtM,KAAKuM,sBAAwB,KAC7BvM,KAAK6J,WAAa,O,sFCbL2C,EAwBjB,oCACIxM,KAAK+L,cAAgB,KACrB/L,KAAKyM,QAAU,KACfzM,KAAKgM,WAAa,KAClBhM,KAAK6J,WAAa,KAClB7J,KAAK0M,SAAW,KAChB1M,KAAK2M,eAAiB,KACtB3M,KAAK4M,eAAiB,KACtB5M,KAAK6M,SAAW,KAChB7M,KAAKoL,MAAQ,KACbpL,KAAK0L,aAAe,KACpB1L,KAAK2L,SAAW,KAChB3L,KAAK0I,MAAQ,KACb1I,KAAKmH,OAAS,KACdnH,KAAK8M,WAAa,KAClB9M,KAAK+M,SAAW,KAChB/M,KAAK4L,QAAU,KACf5L,KAAK6L,eAAiB,KACtB7L,KAAKwL,SAAW,KAChBxL,KAAKqL,MAAQ,KACbrL,KAAKsL,aAAe,KACpBtL,KAAKkM,qBAAuB,KAC5BlM,KAAKgN,mBAAqB,O,8HC9Cb,EASjB,oCACIhN,KAAK0I,MAAQ,KACb1I,KAAK2I,MAAQ,KACb3I,KAAK4I,WAAa,KAClB5I,KAAK6I,SAAW,KAChB7I,KAAK8I,MAAQ,KACb9I,KAAKqK,WAAa,KAClBrK,KAAKkK,YAAc,M,gDChBN,EAOjB,oCACIlK,KAAK6M,SAAW,KAChB7M,KAAKoL,MAAQ,KACbpL,KAAKqM,eAAiB,KACtBrM,KAAK0L,aAAe,KACpB1L,KAAK6J,WAAa,KAClB7J,KAAKsM,cAAgB,M,YCbR,EAMjB,oCACItM,KAAK0I,MAAQ,KACb1I,KAAKoL,MAAQ,KACbpL,KAAK6M,SAAW,KAChB7M,KAAK0L,aAAe,KACpB1L,KAAKiN,OAAS,M,iCCID,E,WAEjB,oC,yLAIoB,IAAMtG,IAAI,oC,UAAtBC,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,EAQd,OAPAA,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAI2B,MAAQ5B,EAAI4B,MAChB3B,EAAI4B,WAAa7B,EAAI6B,WACrB5B,EAAI6B,SAAW9B,EAAI8B,SACnB7B,EAAI8B,MAAQ/B,EAAI+B,MAChB9B,EAAIkD,YAAcnD,EAAI6B,WAAa,KAAO7B,EAAI8B,SAAW,MAAQ9B,EAAI2B,MAE9D1B,M,gCAGR,M,4FAGuB7D,EAAgBsF,G,iIAC9B,IAAM9B,IAAI,kDAAmD,CAAEuG,OAAQ,CAAE/J,WAAUsF,S,UAA/F7B,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAImG,EAAA,KAad,OAZAnG,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAI2B,MAAQ5B,EAAI4B,MAChB3B,EAAI4B,WAAa7B,EAAI6B,WACrB5B,EAAI6B,SAAW9B,EAAI8B,SACnB7B,EAAI8B,MAAQ/B,EAAI+B,MAChB9B,EAAIgC,mBAAqBjC,EAAIiC,mBAC7BhC,EAAImC,gBAAkBpC,EAAIoC,gBAC1BnC,EAAIoC,mBAAqBrC,EAAIqC,mBAC7BpC,EAAIqC,cAAgBtC,EAAIsC,cACxBrC,EAAIyC,UAAY1C,EAAI0C,UACpBzC,EAAI4C,kBAAoB7C,EAAI6C,kBAErB5C,M,gCAGR,M,iFAEe0B,G,iIACN,IAAM/B,IAAI,uCAAwC,CAAEuG,OAAQ,CAAExE,Y,UAA1E9B,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAIoD,EAAA,KAwBd,OAvBApD,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAIqD,WAAatD,EAAIsD,WACrBrD,EAAI2B,MAAQ5B,EAAI4B,MAChB3B,EAAI4B,WAAa7B,EAAI6B,WACrB5B,EAAI6B,SAAW9B,EAAI8B,SACnB7B,EAAIsD,sBAAwBvD,EAAIuD,sBAChCtD,EAAIuD,eAAiBxD,EAAIwD,eACzBvD,EAAIgD,aAAejD,EAAIiD,aACvBhD,EAAIiD,aAAelD,EAAIkD,aACvBjD,EAAIwD,UAAYzD,EAAIyD,UACpBxD,EAAI8C,SAAW/C,EAAI+C,SACnB9C,EAAIyD,SAAW1D,EAAI0D,SACnBzD,EAAI8B,MAAQ/B,EAAI+B,MAChB9B,EAAI0D,aAAe3D,EAAI2D,aACvB1D,EAAI+C,YAAchD,EAAIgD,YACtB/C,EAAI2D,eAAiB5D,EAAI4D,eACzB3D,EAAI4D,aAAe7D,EAAI6D,aACvB5D,EAAI6D,aAAe9D,EAAI8D,aACvB7D,EAAI+B,YAAchC,EAAIgC,YACtB/B,EAAI8D,YAAc/D,EAAI+D,YACtB9D,EAAI+D,OAAShE,EAAIgE,OACjB/D,EAAIyC,UAAY1C,EAAI0C,UAEbzC,M,gCAGR,M,oEAEE/G,G,iIACO,IAAMmN,IAAI,0BAA2BnN,I,cAAjD2G,E,yBACGA,EAAI3G,M,qFAEeA,G,iIACV,IAAMmN,IAAI,2CAA4CnN,I,cAAlE2G,E,yBACGA,EAAI3G,M,4LAKL,IAAM0G,IAAI,2BAA6B,IAAIhC,MAAQ0I,WACpDC,MAAK,SAAC1G,GACH,OAAOA,EAAI3G,QAEdsN,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,O,4LAIvB,IAAM7G,IAAI,2BAA6B,IAAIhC,MAAQ0I,WACrDC,MAAK,SAAC1G,GACH,OAAOA,EAAI3G,QAEdsN,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,O,8FAEK9E,EAAevF,G,iIAClC,IAAMwD,IAAI,oDAAqD,CAAEuG,OAAQ,CAAExE,QAAOvF,e,UAA9FyD,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI2G,EAAA,KAUd,OATA3G,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAIqE,MAAQtE,EAAIsE,MAChBrE,EAAI2E,SAAW5E,EAAI4E,SACnB3E,EAAI4E,QAAU7E,EAAI6E,QAClB5E,EAAI4G,gBAAkB7G,EAAI6G,gBAC1B5G,EAAI6E,eAAiB9E,EAAI8E,eACzB7E,EAAI6G,gBAAkB9G,EAAI8G,gBAC1B7G,EAAI8G,kBAAoB/G,EAAI+G,kBAC5B9G,EAAI+G,cAAgBhH,EAAIgH,cACjB/G,M,gCAGR,M,iFAEe0B,EAAeiC,EAAyBxH,G,iGAC1DlD,EAAO,CACPyI,MAAOA,EACPiC,eAAgBA,EAChBxH,SAAUA,G,kCAEE,IAAMgH,KAAK,kCAAmClK,I,cAA1D2G,E,yBACGA,EAAI3G,M,kFAEYyI,EAAevF,G,iIACtB,IAAMwD,IAAI,wCAAyC,CAAEuG,OAAQ,CAAExE,QAAOvF,e,UAAlFyD,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAIwF,EAAA,KAsBd,OArBAxF,EAAI+E,cAAgBhF,EAAIgF,cACxB/E,EAAIyF,QAAU1F,EAAI0F,QAClBzF,EAAIgF,WAAajF,EAAIiF,WACrBhF,EAAI6C,WAAa9C,EAAI8C,WACrB7C,EAAI0F,SAAW3F,EAAI2F,SACnB1F,EAAI2F,eAAiB5F,EAAI4F,eACzB3F,EAAI4F,eAAiB7F,EAAI6F,eACzB5F,EAAI6F,SAAW9F,EAAI8F,SACnB7F,EAAIoE,MAAQrE,EAAIqE,MAChBpE,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAIG,OAASJ,EAAII,OACjBH,EAAI2E,SAAW5E,EAAI4E,SACnB3E,EAAI8F,WAAa/F,EAAI+F,WACrB9F,EAAI+F,SAAWhG,EAAIgG,SACnB/F,EAAI4E,QAAU7E,EAAI6E,QAClB5E,EAAI6E,eAAiB9E,EAAI8E,eACzB7E,EAAIwE,SAAWzE,EAAIyE,SACnBxE,EAAIqE,MAAQtE,EAAIsE,MAChBrE,EAAIsE,aAAevE,EAAIuE,aAGhBtE,M,gCAGR,M,mNAIS,IAAML,IAAI,sC,UAAtBC,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAIoF,EAAA,KAOd,OANApF,EAAIoE,MAAQrE,EAAIqE,MAChBpE,EAAIqF,eAAiBtF,EAAIsF,eACzBrF,EAAI0E,aAAe3E,EAAI2E,aACvB1E,EAAIsF,cAAgBvF,EAAIuF,cACxBtF,EAAI6C,WAAa9C,EAAI8C,WAEd7C,M,gCAGR,M,4NAGS,IAAML,IAAI,8C,UAAtBC,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAIoF,EAAA,KAMd,OALApF,EAAIoE,MAAQrE,EAAIqE,MAChBpE,EAAIqF,eAAiBtF,EAAIsF,eACzBrF,EAAI0E,aAAe3E,EAAI2E,aACvB1E,EAAIsF,cAAgBvF,EAAIuF,cACxBtF,EAAI6C,WAAa9C,EAAI8C,WACd7C,M,gCAGR,M,2NAGS,IAAML,IAAI,8C,UAAtBC,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAIoF,EAAA,KAMd,OALApF,EAAIoE,MAAQrE,EAAIqE,MAChBpE,EAAIqF,eAAiBtF,EAAIsF,eACzBrF,EAAI0E,aAAe3E,EAAI2E,aACvB1E,EAAIsF,cAAgBvF,EAAIuF,cACxBtF,EAAI6C,WAAa9C,EAAI8C,WACd7C,M,gCAGR,M,iGAE+B7D,G,iIACtB,IAAMwD,IAAI,qDAAsD,CAAEuG,OAAQ,CAAE/J,e,UAAxFyD,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAIoF,EAAA,KAMd,OALApF,EAAIoE,MAAQrE,EAAIqE,MAChBpE,EAAIqF,eAAiBtF,EAAIsF,eACzBrF,EAAI0E,aAAe3E,EAAI2E,aACvB1E,EAAIsF,cAAgBvF,EAAIuF,cACxBtF,EAAI6C,WAAa9C,EAAI8C,WACd7C,M,gCAGR,M,kGAEgC7D,G,iIACvB,IAAMwD,IAAI,qDAAsD,CAAEuG,OAAQ,CAAE/J,e,UAAxFyD,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAIoF,EAAA,KAMd,OALApF,EAAIoE,MAAQrE,EAAIqE,MAChBpE,EAAIqF,eAAiBtF,EAAIsF,eACzBrF,EAAI0E,aAAe3E,EAAI2E,aACvB1E,EAAIsF,cAAgBvF,EAAIuF,cACxBtF,EAAI6C,WAAa9C,EAAI8C,WACd7C,M,gCAGR,M,sNAGS,IAAML,IAAI,yC,UAAtBC,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,EAQd,OAPAA,EAAI6C,WAAa9C,EAAI8C,WACrB7C,EAAI6F,SAAW9F,EAAI8F,SACnB7F,EAAIoE,MAAQrE,EAAIqE,MAChBpE,EAAIqF,eAAiBtF,EAAIsF,eACzBrF,EAAI0E,aAAe3E,EAAI2E,aACvB1E,EAAIsF,cAAgBvF,EAAIuF,cAEjBtF,M,gCAGR,M,qFAEmB0B,EAAeiD,G,iGACrC1L,EAAO,CACPyI,MAAOA,EACPiD,SAAUA,G,kCAEE,IAAMxB,KAAK,2CAA4ClK,I,cAAnE2G,E,yBACGA,EAAI3G,M,kFAEYyI,EAAeiD,EAAkBgB,G,iGACpD1M,EAAO,CACPyI,MAAOA,EACPiD,SAAUA,EACVgB,eAAgBA,G,kCAEJ,IAAMxC,KAAK,wCAAyClK,I,cAAhE2G,E,yBACGA,EAAI3G,M,kFAEYA,G,iIACP,IAAMmN,IAAI,wCAAyCnN,I,cAA/D2G,E,yBACGA,EAAI3G,M,2GAEqCA,G,iIAChC,IAAMmN,IAAI,iEAAkEnN,I,cAAxF2G,E,yBACGA,EAAI3G,M,8FAEwBA,G,iIACnB,IAAMmN,IAAI,oDAAqDnN,I,cAA3E2G,E,yBACGA,EAAI3G,M,qFAEeyI,EAAevF,G,iGACrClD,EAAO,CACPyI,MAAOA,EACPvF,SAAUA,G,kCAEE,IAAMgH,KAAK,2CAA4ClK,I,cAAnE2G,E,yBACGA,EAAI3G,M,kFAMYyI,EAAevF,G,iIACtB,IAAMwD,IAAI,wCAAyC,CAAEuG,OAAQ,CAAExE,QAAOvF,e,UAAlFyD,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAIkE,EAAA,KAiBd,OAhBAlE,EAAImE,eAAiBpE,EAAIoE,eACzBnE,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAIoE,MAAQrE,EAAIqE,MAChBpE,EAAIqE,MAAQtE,EAAIsE,MAChBrE,EAAIsE,aAAevE,EAAIuE,aACvBtE,EAAIuE,SAAWxE,EAAIwE,SACnBvE,EAAIwE,SAAWzE,EAAIyE,SACnBxE,EAAIyE,cAAgB1E,EAAI0E,cACxBzE,EAAI0E,aAAe3E,EAAI2E,aACvB1E,EAAI2E,SAAW5E,EAAI4E,SACnB3E,EAAI4E,QAAU7E,EAAI6E,QAClB5E,EAAI6E,eAAiB9E,EAAI8E,eACzB7E,EAAI8E,OAAS/E,EAAI+E,OACjB9E,EAAI+E,cAAgBhF,EAAIgF,cACxB/E,EAAIgF,WAAajF,EAAIiF,WACrBhF,EAAI6C,WAAa9C,EAAI8C,WACd7C,M,gCAGR,M,kFAEgB0B,EAAeiD,EAAkBR,G,iGACpDlL,EAAO,CACPyI,MAAOA,EACPiD,SAAUA,EACVR,eAAgBA,G,kCAEJ,IAAMhB,KAAK,wCAAyClK,I,cAAhE2G,E,yBACGA,EAAI3G,M,qFAEeyI,EAAevF,G,iGACrClD,EAAO,CACPyI,MAAOA,EACPvF,SAAUA,G,kCAEE,IAAMgH,KAAK,2CAA4ClK,I,cAAnE2G,E,yBACGA,EAAI3G,M,kFAEYA,G,iIACP,IAAMmN,IAAI,wCAAyCnN,I,cAA/D2G,E,yBACGA,EAAI3G,M,qFAMeA,G,iIACV,IAAMmN,IAAI,2CAA4CnN,I,cAAlE2G,E,yBACGA,EAAI3G,M,mGAG6ByI,EAAevF,G,iIACvC,IAAMwD,IAAI,yDAA0D,CAAEuG,OAAQ,CAAExE,QAAOvF,e,UAAnGyD,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,EAGd,OAFAA,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAI0E,aAAe3E,EAAI2E,aAChB1E,M,gCAGR,M,iGAE+B7D,EAAkBuF,G,iIACxC,IAAM/B,IAAI,uDAAwD,CAAEuG,OAAQ,CAAE/J,WAAUuF,Y,UAApG9B,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,EAGd,OAFAA,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAI0E,aAAe3E,EAAI2E,aAChB1E,M,gCAGR,M,gGAE8B7D,EAAkBuF,G,iIACvC,IAAM/B,IAAI,sDAAuD,CAAEuG,OAAQ,CAAE/J,WAAUuF,Y,UAAnG9B,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,EAGd,OAFAA,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAI0E,aAAe3E,EAAI2E,aAChB1E,M,gCAGR,M,kHAEgD0B,EAAevF,G,iIACtD,IAAMwD,IAAI,wEAAyE,CAAEuG,OAAQ,CAAExE,QAAOvF,e,UAAlHyD,E,QACAA,EAAI3G,KAAK4G,Q,yCACFD,EAAI3G,KAAKA,KAAK6G,KAAI,SAACC,GACtB,IAAIC,EAAM,IAAI,EAMd,OALAA,EAAI0B,MAAQ3B,EAAI2B,MAChB1B,EAAIoE,MAAQrE,EAAIqE,MAChBpE,EAAI6F,SAAW9F,EAAI8F,SACnB7F,EAAI0E,aAAe3E,EAAI2E,aACvB1E,EAAIiG,OAASlG,EAAIkG,OACVjG,M,gCAGR,M,kGAEgC7D,G,iGACnClD,EAAO,CACPkD,SAAUA,G,kCAEE,IAAMiK,IAAI,wDAAyDnN,I,cAA/E2G,E,yBACGA,EAAI3G,M,8FAGwBA,G,iIACnB,IAAMmN,IAAI,oDAAqDnN,I,cAA3E2G,E,yBACGA,EAAI3G,M,qGAE+BA,G,iIAC1B,IAAMmN,IAAI,2DAA4DnN,I,cAAlF2G,E,yBACGA,EAAI3G,M,gGAI2B+N,G,iGAEjC/N,EAAO,CACT+N,YAAaA,G,kCAEA,IAAMZ,IAAI,sDAAuDnN,I,cAA7E2G,E,yBACGA,EAAI3G,M,8FAEwBA,G,iIACnB,IAAMmN,IAAI,oDAAqDnN,I,cAA3E2G,E,yBACGA,EAAI3G,M,qGAE+BA,G,iIAC1B,IAAMmN,IAAI,2DAA4DnN,I,cAAlF2G,E,yBACGA,EAAI3G,M,2FAEqBA,G,iIAEhB,IAAMmN,IAAI,iDAAkDnN,I,cAAxE2G,E,yBACGA,EAAI3G,M,mFCvcnB,IAAIgO,EAAgC,EAAQ,QACxCC,EAAW,EAAQ,QACnBC,EAAyB,EAAQ,QACjCC,EAAY,EAAQ,QACpBC,EAAa,EAAQ,QAGzBJ,EAA8B,SAAU,GAAG,SAAUK,EAAQC,EAAcC,GACzE,MAAO,CAGL,SAAgBC,GACd,IAAIC,EAAIP,EAAuBnO,MAC3B2O,OAAqBC,GAAVH,OAAsBG,EAAYH,EAAOH,GACxD,YAAoBM,IAAbD,EAAyBA,EAASE,KAAKJ,EAAQC,GAAK,IAAII,OAAOL,GAAQH,GAAQzP,OAAO6P,KAI/F,SAAUD,GACR,IAAI7H,EAAM4H,EAAgBD,EAAcE,EAAQzO,MAChD,GAAI4G,EAAImI,KAAM,OAAOnI,EAAI/G,MAEzB,IAAImP,EAAKd,EAASO,GACdQ,EAAIpQ,OAAOmB,MAEXkP,EAAoBF,EAAGG,UACtBf,EAAUc,EAAmB,KAAIF,EAAGG,UAAY,GACrD,IAAIC,EAASf,EAAWW,EAAIC,GAE5B,OADKb,EAAUY,EAAGG,UAAWD,KAAoBF,EAAGG,UAAYD,GAC9C,OAAXE,GAAmB,EAAIA,EAAOC,Y,kCC9B3C,4BAIe,qBAAW,CACxB7Q,KADwB,aAExBC,MAAO,CACL6Q,gBAAiB,CACftQ,KADe,SAEfG,QAAS,Y,27BC0BA,oBAAW,CACxBX,KADwB,SAGxB+Q,cAHwB,EAKxB9Q,MAAO,CACL+Q,MAAO,CACLxQ,KADK,MAELG,QAAS,iBAAM,KAEjBsQ,QAAS,CACPzQ,KADO,OAEPG,QAAS,sBAEXuQ,OAAQ,CACN1Q,KAAM,CAACH,OADD,OAENM,QAAS,iBAAM,KAEjBwQ,SAAU,CACR3Q,KAAM,CAACQ,QADC,OAERL,QAAS,iBAAM,KAEjByQ,WAAY,CACV5Q,KADU,SAEVG,QAAS,QAEX0Q,SArBK,QAsBLC,UAtBK,QAuBLC,KAAM,CACJ/Q,KADI,OAEJG,QAAS,GAEX6Q,aAAc,CACZhR,KADY,OAEZG,QAAS,IAEX8Q,QAAS,CACPjR,KAAM,CAACH,OADA,OAEPM,QAAS,iBAAM,KAEjB+Q,UAAW,CACTlR,KAAM,CAACQ,QADE,OAETL,QAAS,iBAAM,KAEjBsF,OAAQ,CACNzF,KADM,OAENG,QAAS,SAEXgR,YA3CK,QA4CLC,kBA5CK,QA6CLC,iBA7CK,QA8CL7M,OA9CK,OA+CL8M,aAAc,CACZtR,KADY,SAEZG,QAAS,QAEXoR,kBAAmB,CACjBvR,KADiB,OAEjBG,SAAU,IAIdc,KA9DwB,WA+DtB,IAAIuQ,EAA+B,CACjCT,KAAM/P,KAD2B,KAEjCgQ,aAAchQ,KAFmB,aAGjC0P,OAAQ,eAAY1P,KAHa,QAIjC2P,SAAU,eAAY3P,KAJW,UAKjCiQ,QAAS,eAAYjQ,KALY,SAMjCkQ,UAAW,eAAYlQ,KANU,WAOjC6P,SAAU7P,KAPuB,SAQjC8P,UAAW9P,KAAK8P,WAOlB,OAJI9P,KAAJ,UACEwQ,EAAkBlK,OAAA,SAA+BtG,KAAjD,UAGK,CACLwQ,oBAIJ1Q,SAAU,CACR2Q,YADQ,WAEN,OAAOzQ,KAAKuQ,mBAAqB,EAAIvQ,KAA9B,kBAAuDA,KAAK0Q,cAAnE,QAEFC,UAJQ,WAKN,OAAO,IAAA3Q,KAAKwQ,gBAAgBR,aAArB,EAEH3K,KAAA,KAAUrF,KAAKyQ,YAAczQ,KAAKwQ,gBAH/B,eAKTI,UATQ,WAUN,OAAI,IAAA5Q,KAAKwQ,gBAAgBR,cAAwBhQ,KAAKwP,MAAtD,QAEQxP,KAAKwQ,gBAAgBT,KAAtB,GAAkC/P,KAAKwQ,gBAA9C,aAF2E,GAI7EK,SAdQ,WAeN,WAAI7Q,KAAKwQ,gBAAgBR,aAA4BhQ,KAAP,YACzCA,KAAKwP,MAAV,OAEOnK,KAAA,IAASrF,KAAT,YAA2BA,KAAKwQ,gBAAgBT,KAAO/P,KAAKwQ,gBAAnE,cAF+B,GAIjCM,UApBQ,WAqBN,QAAS9Q,KAAKwQ,gBAAgBP,QAA9B,QAEFc,WAvBQ,WAwBN,MAAO,CACLhB,KAAM/P,KAAKwQ,gBADN,KAELR,aAAchQ,KAAKwQ,gBAFd,aAGLI,UAAW5Q,KAHN,UAIL6Q,SAAU7Q,KAJL,SAKL2Q,UAAW3Q,KALN,UAMLyQ,YAAazQ,KAAKyQ,cAGtBC,cAjCQ,WAkCN,IAAIlB,EAAQxP,KAAKwP,MAAjB,QAMA,OAJKxP,KAAD,kBAA0BA,KAAKuQ,mBAAnC,IACEf,EAAQxP,KAAKsQ,aAAad,EAAOxP,KAAjC,SAGF,GAEFgR,cA1CQ,WA2CN,IAAIxB,EAAQxP,KAAK0Q,cAAjB,QAUA,OARK1Q,KAAD,aAAqBA,KAAKuQ,mBAA9B,IACEf,EAAQxP,KAAKiR,UAAbzB,KAGGxP,KAAD,mBAA2BA,KAAKuQ,mBAApC,IACEf,EAAQxP,KAAKkR,cAAb1B,IAGF,GAEF2B,aAvDQ,WAwDN,OAAOnR,KAAK8Q,UAAY,eAAgB9Q,KAAD,cAAqBA,KAAKwQ,gBAAgBP,QAA1E,IAAP,MAEFmB,YA1DQ,WA2DN,IAAM3S,EAAQ,CACZ4S,KAAMrR,KADM,KAEZsR,UAAWtR,KAFC,UAGZuR,MAAOvR,KAHK,MAIZwP,MAAOxP,KAJK,cAKZyP,QAASzP,KALG,gBAMZwR,cAAexR,KANH,cAOZ+Q,WAAY/Q,KAPA,WAQZmR,aAAcnR,KARF,aASZyR,oBAAqBzR,KAAKwP,MAAMkC,QAGlC,UAEFC,gBAzEQ,WA0EN,YAAY3R,KAAKyP,WAIrBmC,MAAO,CACLD,gBAAiB,CACfE,QADe,SACR,KACD,eAAUpC,EAAd,IAEAzP,KAAA,kBAEF8R,MANe,EAOfC,WAAW,GAEbvB,gBAAiB,CACfqB,QADe,SACR,KACD,eAAUpC,EAAd,KACAzP,KAAA,0BACAA,KAAA,mBAAyBA,KAAzB,cAEF8R,MANe,EAOfC,WAAW,GAEbhC,KAnBK,SAmBD,GACF/P,KAAA,cAAmB,CAAE+P,KAAA,KAEvB,uBAtBK,SAsBL,GACE/P,KAAA,wBAEFgQ,aAzBK,SAyBO,GACVhQ,KAAA,cAAmB,CAAEgQ,aAAA,KAEvB,+BA5BK,SA4BL,GACEhQ,KAAA,kCAEF0P,OA/BK,SA+BC,GACJ1P,KAAA,cAAmB,CAAE0P,OAAQ,eAAY,MAE3C,yBAlCK,SAkCL,MACG,eAAUA,EAAX,IAA2B1P,KAAKgS,MAAM,iBAAkBC,MAAA,QAAcjS,KAAd,UAAsC0P,EAA9F,KAEFC,SArCK,SAqCG,GACN3P,KAAA,cAAmB,CAAE2P,SAAU,eAAY,MAE7C,2BAxCK,SAwCL,MACG,eAAUA,EAAX,IAA6B3P,KAAKgS,MAAM,mBAAoBC,MAAA,QAAcjS,KAAd,YAA0C2P,EAAtG,KAEFM,QA3CK,SA2CE,GACLjQ,KAAA,cAAmB,CAAEiQ,QAAS,eAAY,MAE5C,0BA9CK,SA8CL,MACG,eAAUA,EAAX,IAA4BjQ,KAAKgS,MAAM,kBAAmBC,MAAA,QAAcjS,KAAd,WAAwCiQ,EAAlG,KAEFC,UAjDK,SAiDI,GACPlQ,KAAA,cAAmB,CAAEkQ,UAAW,eAAY,MAE9C,4BApDK,SAoDL,MACG,eAAUA,EAAX,IAA8BlQ,KAAKgS,MAAM,oBAAqBC,MAAA,QAAcjS,KAAd,aAA4CkQ,EAA1G,KAEFJ,UAvDK,SAuDI,GACP9P,KAAA,cAAmB,CAAE8P,UAAA,KAEvB,4BA1DK,SA0DL,GACE9P,KAAA,8BAEF6P,SA7DK,SA6DG,GACN7P,KAAA,cAAmB,CAAE6P,SAAA,KAEvB,2BAhEK,SAgEL,GACE7P,KAAA,6BAEF2Q,UAAW,CACTkB,QADS,SACF,GACL7R,KAAA,uBAEF+R,WAAW,GAEbf,cAAe,CACba,QADa,SACN,GACL7R,KAAA,0BAEF+R,WAAW,IAIfjQ,QAAS,CACPO,OADO,SACD,aACJ,IAAI6P,EAAKC,EAAT,QACIC,EAAOC,EAAX,QACMC,EAAUJ,EAAA,WAAc,SAAAK,GAAD,OAAeA,IAA5C,KAwBA,OAtBID,EAAJ,GACE,IACEJ,EAAA,GACAE,EAAA,IAGFF,EAAA,QACAE,EAAA,UACSE,GAAA,IAAiBF,EAArB,GACLA,EAAA,MACK,EAILA,EAAA,OAHAF,EAAA,YACAE,EAAA,aAMG,eAAUF,EAAX,IAA0B,eAAUE,EAAxC,KACErC,EAAA,GAGK,CAAEmC,KAAIE,OAAMrC,SAErBwB,MA9BO,SA8BF,GAAa,MAC+BvR,KAAKqC,OAAO,EAEzDrC,KAAKwQ,gBAFwC,QAG7CxQ,KAAKwQ,gBAHwC,UAI7CxQ,KAAKwQ,gBAJwC,SAA/C,GAAM,EADU,EACR0B,GAAF,EADU,EACKE,KAAiBrC,EADtB,EACsBA,KAQtC/P,KAAA,cAAmB,CAAEiQ,UAASC,YAAWH,UAE3CsB,KAzCO,SAyCH,GACF,GAAIY,MAAA,QAAJ,GAAwB,OAAOjS,KAAKsR,UAAZ,GADE,MAGmBtR,KAAKqC,OAAO,EAEvDrC,KAAKwQ,gBAFsC,OAG3CxQ,KAAKwQ,gBAHsC,SAI3CxQ,KAAKwQ,gBAJsC,KAK3CxQ,KAL2C,SAM3CA,KANF,WAAM,EAHoB,EAGlBkS,GAAF,EAHoB,EAGNE,KAAgBrC,EAHV,EAGUA,KAQpC/P,KAAA,cAAmB,CAAE0P,SAAQC,WAAUI,UAEzCuB,UAtDO,SAsDE,GAAkB,WACnB3B,EAAWD,EAAA,KAAW,SAAA8C,GAC1B,IAAMC,EAAI,oCAAuC,SAAAF,GAAD,OAAeA,IAA/D,KACA,OAAOE,GAAA,GAAS,2BAATA,MAGTzS,KAAA,cAAmB,CAAE0P,SAAQC,cAE/B6B,cA9DO,SA8DM,GACXxR,KAAA,qBACKA,KADkB,gBAAvB,GAAuB,EAAvB,CAGE+P,KAAM/P,KAAKuQ,kBAAoB,EAC3BlL,KAAA,MAAYA,KAAA,IAASoK,EAAA,MAAgBzP,KAAKwQ,gBAA9B,KAAoDxQ,KAD9D,YAEFyP,EAAA,MAAgBzP,KAAKwQ,gBAAgBT,QAG7CkB,UAvEO,SAuEE,GACP,IAAMvB,EAAS1P,KAAKwQ,gBAAgBP,QAAQyC,OAAO1S,KAAKwQ,gBAAxD,QACMb,EAAW3P,KAAKwQ,gBAAgBN,UAAUwC,OAAO1S,KAAKwQ,gBAA5D,UACA,OAAOxQ,KAAK4P,WAAWJ,EAAOE,EAAQC,EAAU3P,KAAhD,SAEFkR,cA5EO,SA4EM,GAOX,OAJI,IAAAlR,KAAKuQ,mBAA4Bf,EAAA,QAAgBxP,KAArD,YACEA,KAAA,qBAA4BqF,KAAA,MAAYrF,KAAKwQ,gBAAgBT,KAA7D,IAGKP,EAAA,MAAYxP,KAAZ,UAA4BA,KAAnC,YAIJ6C,OAzUwB,WA0UtB,OAAO7C,KAAKmC,aAAahD,SAAWa,KAAKmC,aAAahD,QAAQa,KAA9D,gB,kGCjWW,gBAAW,CACxBxB,KADwB,gBAGxBC,MAAO,CACLgR,QAAS,CACPzQ,KADO,OAEP2T,UAAU,GAEZ5B,WAAY,CACV/R,KADU,OAEV2T,UAAU,GAEZC,oBAAqB,CACnB5T,KADmB,MAEnBG,QAAS,iBAAO,CAAC,EAAG,GAAI,IAAR,KAElB0T,SAAU,CACR7T,KADQ,OAERG,QAAS,SAEX2T,SAAU,CACR9T,KADQ,OAERG,QAAS,SAEX4T,UAAW,CACT/T,KADS,OAETG,QAAS,UAEX6T,SAAU,CACRhU,KADQ,OAERG,QAAS,SAEX8T,iBAAkB,CAChBjU,KADgB,OAEhBG,QAAS,wCAEX+T,oBAAqB,CACnBlU,KADmB,OAEnBG,QAAS,uCAEXgU,kBArCK,QAsCLC,gBAtCK,QAuCLhD,kBAvCK,QAwCLiD,oBAxCK,QAyCLC,SAAU,CACRtU,KADQ,OAERG,QAAS,iCAIbW,SAAU,CACRyT,oBADQ,WAEN,OAAOvT,KAAKyP,QAAQO,aAAe,GACjChQ,KAAKyP,QAAQM,KAAO/P,KAAKyP,QAAzB,cAAiDzP,KAAK+Q,WADjD,aAEL/Q,KAAK+Q,WAAWF,SAFlB,GAIF2C,4BANQ,WAMmB,WACzB,OAAOxT,KAAK4S,oBAAoB9L,KAAI,SAAA2M,GAClC,iBAAI,kBAAJ,EACY,wBAAP,QAKX3R,QAAS,CACP0P,cADO,SACM,GACXxR,KAAA,uBAA6BsG,OAAA,UAAkBtG,KAAlB,QAA7B,KAEF0T,YAJO,WAKL1T,KAAA,cAAmB,CAAE+P,KAAM,KAE7B4D,eAPO,WAQL3T,KAAA,cAAmB,CAAE+P,KAAM/P,KAAKyP,QAAQM,KAAO,KAEjD6D,WAVO,WAWL5T,KAAA,cAAmB,CAAE+P,KAAM/P,KAAKyP,QAAQM,KAAO,KAEjD8D,WAbO,WAcL7T,KAAA,cAAmB,CAAE+P,KAAM/P,KAAK+Q,WAAWJ,aAE7CmD,qBAhBO,SAgBa,GAClB9T,KAAA,cAAmB,CAAEgQ,eAAcD,KAAM,KAE3CgE,sBAnBO,SAmBc,GACnB,MAAO,CACLnU,MAAM,IAAA6T,EAAgBzT,KAAKW,SAASC,KAAKC,EAAEb,KAArC,qBAAiEnB,OADlE,GAELgB,MAAO4T,IAGXO,sBAzBO,WA0BL,IAAInU,EAAQG,KAAKyP,QAAjB,aACMwE,EAAejU,KAArB,4BAEA,OAAIiU,EAAA,QAAJ,EAAqC,MAEhCA,EAAA,MAAkB,SAAAC,GAAI,OAAIA,EAAA,QAA/B,OAAsDrU,EAAQoU,EAAR,IAE/CjU,KAAKK,eAAe,MAAO,CAChCH,YAAa,yBACZ,CACDF,KAAKW,SAASC,KAAKC,EAAEb,KADpB,kBAEDA,KAAKK,eAAe8T,EAApB,KAA6B,CAC3BzT,MAAO,CACL,aAAcV,KAAKiT,kBAErBxU,MAAO,CACL2V,SAAUpU,KADL,oBAELwP,MAFK,EAGL3P,QACAwU,aAJK,EAKLC,MALK,EAMLC,SAAU,QAEZzT,GAAI,CACF0T,MAAOxU,KAAK8T,4BAKpBW,kBAvDO,WAwDL,IAAIzS,EAAuC,CAA3C,KAEA,GAAIhC,KAAK+Q,WAAT,YAAiC,CAC/B,IAAMN,EAAczQ,KAAK+Q,WAAzB,YACMH,EAAY5Q,KAAK+Q,WAAWH,UAAlC,EACMC,EAAWJ,EAAczQ,KAAK+Q,WAAnB,UAA0C/Q,KAAK+Q,WAAWF,SAA1D,EAAAJ,EAEbzQ,KAAK+Q,WAFT,SAIA/O,EAAWhC,KAAKmC,aAAa,aACzB,CAACnC,KAAKmC,aAAa,aAAc,CAAEyO,YAAWC,WAAUJ,iBACxD,CAACzQ,KAAKW,SAASC,KAAKC,EAAEb,KAArB,aAFL,IAKF,OAAOA,KAAKK,eAAe,MAAO,CAChCF,MAAO,6BADT,IAIFuU,QA1EO,SA0EA,SACL,OAAO1U,KAAKK,eAAeG,EAApB,KAA0B,CAC/B/B,MAAO,CACL2V,SAAUA,GAAYpU,KADjB,kBAELT,MAFK,EAGLK,MAAM,GAIRkB,GAAI,CACFC,SAEFL,MAAO,CACL,aAAciU,IAEf,CAAC3U,KAAKK,eAAeW,EAApB,KAdJ,MAgBF4T,SA3FO,WA4FL,IAAMC,EAAN,GACMC,EAAN,GAgCA,OA9BAD,EAAA,KAAY7U,KAAK0U,QACf1U,KADU,mBAEVA,KAAKyP,QAAQM,KACb/P,KAAKW,SAASC,KAAKC,EAHT,gCAIVb,KAAKW,SAASoU,IAAM/U,KAApB,SAAoCA,KAJtC,WAOA8U,EAAA,KAAW9U,KAAK0U,QACd1U,KADS,WAETA,KAFS,oBAGTA,KAAKW,SAASC,KAAKC,EAHV,gCAITb,KAAKW,SAASoU,IAAM/U,KAApB,SAAoCA,KAJtC,WAOIA,KAAJ,oBACE6U,EAAA,QAAe7U,KAAK0U,QAClB1U,KADa,gBAEbA,KAAKyP,QAAQM,KACb/P,KAAKW,SAASC,KAAKC,EAHN,iCAIbb,KAAKW,SAASoU,IAAM/U,KAApB,SAAoCA,KAJtC,YAOA8U,EAAA,KAAW9U,KAAK0U,QACd1U,KADS,WAETA,KAAKyP,QAAQM,MAAQ/P,KAAK+Q,WAA1B,YAFS,IAEyC/Q,KAAKyP,QAAQO,aAC/DhQ,KAAKW,SAASC,KAAKC,EAHV,gCAITb,KAAKW,SAASoU,IAAM/U,KAApB,UAAqCA,KAJvC,YAQK,CACLA,KAAKK,eAAe,MAAO,CACzBH,YAAa,+BAFV,GAILF,KAAKoT,iBAAmBpT,KAAKK,eAAe,OAAQ,CAACL,KAAKyP,QAAQM,KAJ7D,aAKL/P,KAAKK,eAAe,MAAO,CACzBH,YAAa,8BANjB,MAYJ2C,OAzMwB,WA0MtB,OAAO7C,KAAKK,eAAe,MAAO,CAChCH,YAAa,iBACZ,CACDF,KADC,wBAEDA,KAFC,oBAGDA,KALF,gB,omBCtMW,oBAAiB,CAC9BxB,KAD8B,kBAG9BC,MAAO,KACFuW,EAAA,QADE,MAAF,CAEHC,QAAS,CACPjW,KADO,OAEPG,QAAS,MAEXU,MAAO,CACLb,KADK,MAELG,QAAS,iBAAM,KAEjB+V,aAVK,QAWLC,SAAU,CACRnW,KADQ,MAERG,QAAS,iBAAM,KAEjBiW,aAfK,QAgBLC,QAAS,CAAC7V,QAhBL,QAiBL8V,cAAe,CACbtW,KADa,OAEbG,QAAS,uCAEXoW,WAAY,CACVvW,KADU,OAEVG,QAAS,uBAEXqW,YAAa,CACXxW,KADW,OAEXG,QAAS,qCAEXsW,kBA7BK,QA8BLC,YAAapP,SAGfrG,KAAM,iBAAO,CACX0V,UADW,GAEXC,UAFW,GAGXC,qBAAsB,KAGxB/V,SAAU,CACRgW,UADQ,WACC,WACP,QAAS9V,KAAK6V,qBAAP,QAAsC7V,KAAK6V,qBAAqBE,OAAO,SAAAtD,GAAD,OAAY,aAAzF,OAEFuD,UAJQ,WAIC,WACP,OAAOhW,KAAK6V,qBAAqBI,MAAM,SAAAxD,GAAD,OAAY,aAAlD,OAEFyD,qBAPQ,WAQN,OAAO,eAAmBlW,KAA1B,eAIJ4R,MAAO,CACL/R,MAAO,CACLgS,QADK,SACE,GAAc,WACnB7R,KAAA,UAAiBH,EAAA,QAAa,cAE5B,OADA8V,EAAU,eAAqB1R,EAAM,EAArC,YACA,IAFF,KAKF8N,WAAW,GAEb4D,UAVK,SAUI,KACH,eAAUrP,OAAA,KAAD,GAAqBA,OAAA,KAAlC,KAEAtG,KAAA,cAAoBsG,OAAA,OAApB,KAEF6O,SAAU,CACRtD,QADQ,SACD,GAAc,WACnB7R,KAAA,UAAiBH,EAAA,QAAa,cAE5B,OADA+V,EAAU,eAAqB3R,EAAM,EAArC,aACA,IAFF,KAKF8N,WAAW,GAEb6D,UAxBK,SAwBI,KAA8D,WACrE,IAAI,eAAU/V,EAAd,IACA,IAAMsW,EAAO7P,OAAA,gBAA0B,SAAAiM,GAAC,OAAI1S,EAA5C,MACMsV,EAAYgB,EAAD,OAAoBnW,KAAKwP,MAAM4G,QAAO,SAAA3D,GAAC,OAAI0D,EAAA,SAActX,OAAO,eAAqB4T,EAAG,EAAzG,cAAiB,GACjBzS,KAAA,8BAIJ2B,QAtF8B,WAsFvB,WACC0U,EAAgB,CACpB,CAAC,uBADmB,WAEpB,CAAC,SAFmB,iBAGpB,CAAC,aAHmB,WAIpB,CAAC,cAJmB,uBAKpB,CAAC,eALmB,uBAMpB,CAAC,sBANmB,uCAOpB,CAAC,qBAPmB,oCAQpB,CAAC,YARmB,0BASpB,CAAC,YATH,2BAaAA,EAAA,SAAsB,YAA4B,0BAA3B,EAA2B,KAA5B,EAA4B,KAC5C,wBAAJ,IAA0C,eAASC,EAAUC,EAAnB,MAG5C,IAAMC,EAAe,CAAC,SAAD,gCAArB,eAQAA,EAAA,SAAqB,SAAAC,GACf,wBAAJ,IAAsC,sBAI1C3U,QAAS,CACP4U,gBADO,SACQ,GAAgB,WACvBf,EAAYrP,OAAA,UAAkBtG,KAApC,WAEAA,KAAA,8BAAmC,SAAAiE,GACjC,IAAMH,EAAM,eAAqBG,EAAM,EAAvC,SACA,EAAW0R,EAAA,GAAX,SACYA,EAAP,MAGP3V,KAAA,YACAA,KAAA,0BAAgC,CAAEH,WAEpC8W,WAbO,SAaG,GACR,QAAS3W,KAAK2V,UAAU,eAAqB1R,EAAMjE,KAA5C,YAAP,GAEF4W,OAhBO,SAgBD,GAAsC,IAAzB/W,IAAyB,yDAAXgX,IAAW,yDACpClB,EAAY3V,KAAKkV,aAAe,GAAK5O,OAAA,UAAkBtG,KAA7D,WACM8D,EAAM,eAAqBG,EAAMjE,KAAvC,SAKA,GAHA,EAAW2V,EAAA,GAAX,SACYA,EAAP,GAED3V,KAAKkV,cAAT,EAA+B,CAC7B,IAAMiB,EAAO7P,OAAA,KAAYtG,KAAzB,WACM8W,EAAMX,EAAA,QAAe,eAAqBnW,KAAK2V,UAAUQ,EAAhB,IAA0BnW,KAAzE,SACA8W,GAAOA,IAAP,GAAsB9W,KAAKgS,MAAM,gBAAiB,CAAE/N,KAAMjE,KAAK2V,UAAb,GAA6B9V,OAAO,IAExFG,KAAA,YACA6W,GAAQ7W,KAAKgS,MAAM,gBAAiB,CAAE/N,OAAMpE,WAE9CkX,WA/BO,SA+BG,GACR,OAAO/W,KAAK4V,UAAU,eAAqB3R,EAAMjE,KAA1C,YAAP,GAEFgX,OAlCO,SAkCD,GAAyB,IAAZnX,IAAY,yDACvB+V,EAAY5V,KAAKoV,aAAe,GAAK9O,OAAA,UAAkBtG,KAA7D,WACM8D,EAAM,eAAqBG,EAAMjE,KAAvC,SAEA,EAAW4V,EAAA,IAAX,SACYA,EAAP,GAEL5V,KAAA,YACAA,KAAA,sBAA4B,CAAEiE,OAAMpE,WAEtCoX,gBA5CO,SA4CQ,GAAW,WAClBxY,EAAQ,CACZwF,OACA2S,OAAS,SAAAM,GAAD,OAAgB,WAFZ,IAGZP,WAAY3W,KAAK2W,WAHL,GAIZK,OAAS,SAAAE,GAAD,OAAgB,WAJZ,IAKZH,WAAY/W,KAAK+W,WAAW9S,IAG9B,UAEFkT,gBAvDO,SAuDQ,GACb,OAAOnX,KAAKK,eAAe,MAA3B,IAEF+W,SA1DO,SA0DC,KACN,GAAI,IAAA3F,GAA6BzR,KAAjC,QAA+C,CAC7C,IAAMqV,EAAUrV,KAAKiC,OAAO,YAAcjC,KAAKW,SAASC,KAAKC,EAAEb,KAA/D,aACA,OAAOA,KAAKmX,gBAAZ,GACK,OAAI1F,EAA2B,CACpC,IAAM4F,EAASrX,KAAKiC,OAAO,YAAcjC,KAAKW,SAASC,KAAKC,EAAEb,KAA9D,YACA,OAAOA,KAAKmX,gBAAZ,GACK,OAAIG,EAA2B,CACpC,IAAMC,EAAYvX,KAAKiC,OAAO,eAAiBjC,KAAKW,SAASC,KAAKC,EAAEb,KAApE,eACA,OAAOA,KAAKmX,gBAAZ,GAGF,aAEFK,SAxEO,SAwEC,GAAkB,WAClBC,EAAQzX,KAAKoX,SAAS3Y,EAAd,oBAAyCA,EAAA,WAAvD,aACA,SAAkB,CAAP,GAEPuB,KAAKmC,aAAT,QACSnC,KAAKmC,aAAahD,QAAQ,EAA1B,GAA0B,EAA1B,CAELwX,WAAY3W,KAFmB,WAG/B4W,OAAQ5W,KAHuB,OAI/B+W,WAAY/W,KAJmB,WAK/BgX,OAAQhX,KAAKgX,UAIbhX,KAAKmC,aAAT,KACS1D,EAAA,WAAiB,SAAAwF,GAAD,OAAe,oBAAwB,kBAA9D,OAGF,IAEFyT,UA5FO,SA4FE,GACP,GAAI1X,KAAJ,kBAA4B,OAAO,KAEnC,IAAMC,EAAO,CACXxB,MAAO,KACFuB,KADE,qBAAF,CAEHyP,QAAShR,EAFJ,QAGLsS,WAAYtS,EAAMsS,aAEpBjQ,GAAI,CACF,iBAAmB,SAAAjB,GAAD,OAAgBpB,EAAA,oBAIhCmF,EAAc,eAAuB,UAAW5D,KAAtD,cAEA,OAAOA,KAAKK,eAAe,EAApB,GACLuD,eACG3D,KAGP0X,qBAjHO,SAiHa,GAClB,IAAMC,EAAa,OAAH,CAEd5B,UAAWhW,KAFM,UAGjB8V,UAAW9V,KAHM,UAIjB0W,gBAAiB1W,KAAK0W,kBAGxB,OAAO1W,KAAKK,eAAe,MAAO,CAChCH,YAAa,mBACZ,CACD,eAAQF,KAAM,SAAU4X,GADvB,GAED5X,KAAKwX,SAFJ,GAGDxX,KAAK0X,UAHJ,GAID,eAAQ1X,KAAM,SAAU4X,GAN1B,OAWJ/U,OAzP8B,WAyPxB,WACJ,OAAO7C,KAAKK,eAAe2U,EAAO,CAChCvW,MAAOuB,KADyB,OAEhCc,GAAI,CACF,iBAAkB,qBAAuB,eAAUoW,EAAX,IAAsB,yBAD5D,IAEF,cAAgB,SAAAA,GAAD,OAAY,sBAFzB,IAGF,wBAA0B,SAAAA,GAAD,OAAY,gCAHnC,IAIF,iBAAmB,SAAAA,GAAD,OAAY,yBAJ5B,IAKF,mBAAqB,SAAAA,GAAD,OAAY,2BAL9B,IAMF,kBAAoB,SAAAA,GAAD,OAAY,0BAN7B,IAOF,oBAAsB,SAAAA,GAAD,OAAY,4BAP/B,IAQFnG,WAAY,qBAAuB,eAAUmG,EAAX,IAAsB,qBARtD,IASF,gBAAkB,SAAAA,GAChB,yBACA,6BAGJtT,YAAa,CACXzE,QAASa,KAAK2X,2B,oBCnRR,cACZ,GAAI1X,EAAA,OAAcA,EAAd,IAAyBA,EAAA,GAA7B,MACE,GAAIgS,MAAA,QAAchS,EAAA,GAAlB,OAAkC,CAChC,IAAMwS,EAAIxS,EAAA,iBAAsBA,EAAA,MAAhC,UACIwS,GAAJ,GAAYxS,EAAA,iCAELA,EAAA,GAAP,MCZQ,gBACZ,IAAM+B,EAAN,GAEA,IAAK,IAAL,OACM6V,EAAA,eAAJ,IACE7V,EAAA,KAAcc,EAAE,WAAY,CAAEgV,QAAQD,EAAtC,KAIJ,S,4oBCkBa,aAAA/Y,EAAA,eAAyB,CAEtC4D,WAAY,CACVqV,SAAA,MAGFtZ,MAAO,CACLiF,QAAS,CACP1E,KADO,MAEP2T,UAAU,GAEZlD,QAAS,CACPzQ,KADO,OAEPG,QAAS,iBAAO,CACd4Q,KADc,EAEdC,aAFc,GAGdN,OAHc,GAIdC,SAJc,GAKdM,QALc,GAMdC,UANc,GAOdJ,WAPc,EAQdD,UAAU,KAGdmI,SAAU,CACRhZ,KADQ,OAERG,QAAS,SAEX2W,UAtBK,QAuBLE,UAvBK,QAwBLiC,YAxBK,QAyBL/C,aAzBK,QA0BL/E,YAAa3Q,SAGfsC,QAAS,CACPoW,aADO,WACK,WACJjY,EAAO,CACXxB,MAAO,CACLoB,MAAOG,KADF,UAELmY,eAAgBnY,KAAD,WAAmBA,KAAKgW,WAEzClV,GAAI,CACF0T,MAAQ,SAAA0C,GAAD,OAAgB,kCAI3B,OAAIlX,KAAKmC,aAAT,qBACSnC,KAAKmC,aAAa,qBAAzB,GAGKnC,KAAKK,eAAe+X,EAApB,QACLlY,YAD0C,0BAEvCD,KAGPoY,YArBO,WAsBL,OAAOrY,KAAKK,eAAeW,EAApB,KAA2B,CAChCd,YADgC,4BAEhCzB,MAAO,CACL6Z,KAAM,KAEP,CAACtY,KALJ,eC/ES,SAAAlB,EAAA,gBAAsB,CACnCN,KADmC,6BAGnCC,MAAO,CACL8Z,WAAY,CACVvZ,KADU,OAEVG,QAAS,8BAIb2C,QAAS,CACP0W,YADO,SACI,GAAY,WACfxW,EAAuC,CAACvD,EAAA,KAA9C,MAEMga,EAAYzY,KAAKyP,QAAQC,OAAOgJ,WAAU,SAAAnG,GAAC,OAAIA,IAAM9T,EAAA,KAA3D,SACMka,EAAcF,GAApB,EACMG,EAAS5Y,KAAKyP,QAAQE,SAA5B,GAYA,OAVA3N,EAAA,KAAchC,KAAKK,eAAe,MAAO,CACvCH,YADuC,gBAEvCC,MAAO,CACL0Y,UADK,EAELC,OAFK,EAGLC,IAAKJ,IAHA,EAILvG,KAAMuG,GAAeC,IAEtB,CAAC5Y,KARJ,iBAUOA,KAAKK,eAAe2Y,EAApB,KAA2B,CAChC9Y,YADgC,WAEhC+Y,SAAU,CACRlY,MAAQ,SAAAmY,GACNA,EAAA,kBACA,eAAmBza,EAAA,KAAnB,UALN,IAUF0a,cA5BO,WA4BM,WACLC,EAAcpZ,KAAK0D,QAAQ0S,QAAO,SAAAtT,GAAC,OAAI,IAAAA,EAAA,UAA7C,sBAAqEA,EAAA,SAErE,OAAO9C,KAAKK,eAAe8T,EAApB,KAA6B,CAClC1V,MAAO,CACLkW,MAAO3U,KAAKW,SAASC,KAAKC,EAAEb,KADvB,YAELwP,MAFK,EAGL6E,aAHK,EAILgF,SAAUrZ,KAAKyP,QAJV,UAKL5P,MAAOG,KAAKyP,QAAQK,UAAY9P,KAAKyP,QAA9B,OAA+CzP,KAAKyP,QAAQC,OAL9D,GAML0E,SAAU,IAAAgF,EAAA,QAA4BpZ,KAAKmQ,aAE7CrP,GAAI,CACFwY,OAAS,SAAApC,GAAD,OAA0B,oBAEpCtT,YAAa,CACX+R,UAAW,SAAAlX,GAAK,OAAI,uBAM5BoE,OA5DmC,SA4D7B,GACJ,IAAMb,EAAN,GAEMuX,EAASvZ,KAAK0D,QAAQ8V,MAAK,SAAA1W,GAAC,MAAlC,sBAAsCA,EAAA,SAClCyW,IAAWvZ,KAAf,cACEgC,EAAA,KAAchC,KAAKK,eAAe,MAAO,CACvCF,MAAO,uCAAF,sBAEA,eAAYoZ,EAHsB,SAKvC7Y,MAAO,CACL+Y,MAAOF,EAAOE,QAEf,CAACzZ,KARJ,kBAWFgC,EAAA,KAAchC,KAAd,iBAEA,IAAM0Z,EAAK5W,EAAE,KAAM,CAACA,EAAE,MAAO,CAAE5C,YAAa,uCAA5C,KAEMyZ,EAAK7W,EAAE,KAAM,CAAnB,IAEA,OAAOA,EAAE,QAAS,CAChB5C,YAAa,kDACZ,CAFH,OCnFW,SAAApB,EAAA,gBAAsB,CACnCN,KADmC,8BAGnCsD,QAAS,CACP8X,iBADO,SACS,GAAqB,WACnC,OAAO5Z,KAAKK,eAAe,OAAQ,CACjCS,GAAI,CACFC,MAAO,kBAAM,gBAAoBwY,EAApB,UAEd,CAJH,WAOFM,UATO,SASE,GAAqB,WACtBC,EAAN,GACM9X,EAAN,GACMtB,EAAQ,CACZ8B,KADY,eAEZuX,MAFY,MAGZ,aAAcR,EAAA,MAHF,GAIZ,YAAa,QAGTS,EAAS,CACbP,MAAO,eAAcF,EADR,OAEbhF,SAAU,eAAcgF,EAAD,QAGnBpY,EAAU,CAAC,QAAJ,OACHoY,EAAA,OADM,UAAH,sBAER,eAAYA,EAFD,QAAH,CAGXA,EAAA,SAHF,0BAMA,GAAI,sBAAAA,EAAA,OAAyCvZ,KAA7C,aAEO,CAML,GALAgC,EAAA,KAAchC,KAAKmC,aAAaoX,EAAlB,OACVvZ,KAAKmC,aAAaoX,EAAlB,OAAiC,CAAEA,WACnCvZ,KAAKK,eAAe,OAAQ,CAACkZ,EAFjC,SAKKvZ,KAAD,cAAsBuZ,EAAA,WAAoBA,EAAA,eAA9C,aAAkF,CAChFO,EAAA,SAAqB,kBAAM,eAAmBP,EAA9C,QAEA,IAAMd,EAAYzY,KAAKyP,QAAQC,OAAOgJ,WAAU,SAAAnG,GAAC,OAAIA,IAAMgH,EAA3D,SACMZ,EAAcF,GAApB,EACMG,EAAS5Y,KAAKyP,QAAQE,SAA5B,GAEAxO,EAAA,iBAEA,GACEA,EAAA,eACAA,EAAA,KAAayX,EAAS,OAAtB,OAEAlY,EAAA,aAAqBkY,EAAS,aAA9B,YACAlY,EAAA,eAAuBkY,EACnB5Y,KAAKW,SAASC,KAAKC,EADM,+CAEzBb,KAAKW,SAASC,KAAKC,EAFvB,+CAIAH,EAAA,eAAuBV,KAAKW,SAASC,KAAKC,EAA1C,yCAGF,QAAI0Y,EAAA,MAAwBvX,EAAA,QAAiBhC,KAA7C,eACKgC,EAAA,KAAchC,KAAd,eAEDA,KAAKyP,QAAQK,WAAjB,GACE9N,EAAA,KAAchC,KAAKK,eAAe,OAAQ,CAAEF,MAAO,mCAAqC,CAACtB,OAAO4Z,EAAhG,MAIAzY,KAAJ,aACEgC,EAAA,KAAchC,KAAK4Z,iBAAnB,SArCF5X,EAAA,KAAchC,KAAd,gBAyCF,OAAOA,KAAKK,eAAe,KAAM,CAC/BK,QACAP,MAF+B,EAG/BsC,MAH+B,EAI/B3B,GAAIgZ,GAJN,KASJjX,OApFmC,WAoF7B,WACJ,OAAO7C,KAAKK,eAAe,QAAS,CAClCH,YAAa,uBACZ,CACDF,KAAKK,eAAe,KAAML,KAAK0D,QAAQoD,KAAI,SAAAyS,GAAM,OAAI,YAHvD,YClFW,gBAAW,CACxB/a,KADwB,sBAGxByb,YAHwB,EAKxBxb,MAAO,CACLyb,OAAQ1a,SAGVqD,OATwB,SASlB,EATkB,GASS,IAAtB,EAAsB,EAAtB,QAAsB,EAAtB,KAAegV,EAAO,EAAPA,MACxBsC,EAAA,GACA,IAAMnY,EAAW,EAAa6V,IAA9B,GAEA,OAAIpZ,EAAJ,OACSqE,EAAEsX,EAAwBna,EAAjC,GAEO6C,EAAEuX,EAAyBpa,EAAlC,M,YCjBS,gBAAW,CACxBzB,KADwB,MAGxByb,YAHwB,EAKxBxb,MAAO,CACLiF,QADK,MAELO,KAFK,OAGL8Q,IAAKvV,SAGPqD,OAXwB,SAWlB,EAXkB,GAWS,IAAtB,EAAsB,EAAtB,QAAsB,EAAtB,MAAgB5C,EAAM,EAANA,KACnBqa,EAAgBzC,IAEhB0C,EAAmB9b,EAAA,aAAmB,SAAA8a,GAAuB,MAC3DvX,EAAN,GACMnC,EAAQ,eAAqBpB,EAAD,KAAa8a,EAA/C,OAEMiB,EAAWjB,EAAjB,MACMkB,EAAaxa,EAAA,aAAoBA,EAAA,YAAvC,GACMya,EAAcJ,EAApB,GAEA,EACEtY,EAAA,KAAcyY,EAAW,CAAExW,KAAMxF,EAAR,KAAoB8a,SAAQ1Z,WAC5C6a,EACT1Y,EAAA,QAEAA,EAAA,KAAc,MAAAnC,IAAwBhB,OAAtC,IAGF,IAAM8b,EAAY,QAAH,OAAWpB,EAAA,OAA1B,SAEA,OAAOzW,EAAE,KAAM,CACb3C,OAAK,sBACH,GADK,GAAF,iBAEH,wBAAyBoZ,EAAOqB,SAF7B,IADP,MAQF,OAAO9X,EAAE,KAAM7C,EAAf,MC9CW,gBAAW,CACxBzB,KADwB,YAGxByb,YAHwB,EAKxBxb,MAAO,CACLoB,MAAO,CACLb,KADK,QAELG,SAAS,GAEX0b,YAAa,CACX7b,KADW,OAEXG,QAAS,uBAEX2b,aATK,OAULC,aAAc,CACZ/b,KADY,OAEZG,QAAS,yBAIb0D,OArBwB,SAqBlB,EArBkB,GAqBG,IAAhB,EAAgB,EAAhB,MAASpE,EAAO,EAAPA,MACZ6b,EAAgBzC,IAChB7V,EAAN,GAoBA,OAlBIsY,EAAJ,iBACEtY,EAAA,KAAcc,EAAE,KAAM,CACpB5C,YAAazB,EAAMoc,aAClBP,EAFH,mBAGSA,EAAJ,eACLtY,EAAA,WAAAA,EAAQ,eAASsY,EAAjB,gBAGEA,EAAA,gBAAgC7b,EAApC,OAAiDuD,EAAA,WAAAA,EAAQ,eAASsY,EAAjB,iBAE7CA,EAAJ,kBACEtY,EAAA,KAAcc,EAAE,KAAM,CACpB5C,YAAazB,EAAMsc,cAClBT,EAFH,oBAGSA,EAAJ,gBACLtY,EAAA,WAAAA,EAAQ,eAASsY,EAAjB,iBAGF,K,slBCtCW,aAAAxb,EAAA,qBAAyB,CACtCN,KADsC,iBAGtCC,MAAO,CACLY,MADK,QAEL2b,YAFK,QAGLC,OAAQ,CAACC,OAAQrc,SAGnBiB,SAAU,CACRqB,QADQ,WAEN,UACE,sBAAuBnB,KADlB,MAEL,+BAAgCA,KAAF,SAAkBA,KAF3C,YAGL,6BAA8BA,KAHzB,aAIFA,KAAKmb,gBAKdrZ,QAAS,CACPC,WADO,WAEL,OAAO/B,KAAKiC,OAAOmZ,SAAWpb,KAAKK,eAAe,MAAO,CACvDH,YADuD,wBAEvDuC,MAAO,CACLwY,OAAQ,eAAcjb,KAAD,UAEtB,CACDA,KAAKK,eAAe,QAASL,KAAKiC,OANpC,aAWJY,OAjCsC,SAiChC,GACJ,OAAOC,EAAE,MAAO,CACd5C,YADc,eAEdC,MAAOH,KAAKmB,SACX,CACDnB,KAAKiC,OADJ,IAEDjC,KAFC,aAGDA,KAAKiC,OANP,Y,4kBCpCW,oBAAW,CACxBzD,KADwB,MAGxByb,YAHwB,EAKxBxb,MAAO,CACLiF,QADK,MAELO,KAFK,OAGL8Q,IAAKvV,SAGPqD,OAXwB,SAWlB,EAXkB,GAWS,IAAtB,EAAsB,EAAtB,QAAsB,EAAtB,MAAgB5C,EAAM,EAANA,KACnBqa,EAAgBzC,IAEhB0C,EAAmB9b,EAAA,aAAmB,SAAA8a,GAC1C,IAAMpY,EAAU,CACd,4BAA4B,GAGxBa,EAAN,GACMnC,EAAQ,eAAqBpB,EAAD,KAAa8a,EAA/C,OAEMiB,EAAWjB,EAAjB,MACMkB,EAAaxa,EAAA,aAAoBA,EAAA,YAAvC,GACMya,EAAcJ,EAApB,GAEA,EACEtY,EAAA,KAAcyY,EAAW,CAAExW,KAAMxF,EAAR,KAAoB8a,SAAQ1Z,WAC5C6a,EACT1Y,EAAA,QAEAA,EAAA,KAAc,MAAAnC,IAAwBhB,OAAtC,IAGF,IAAMwc,EAAoB,CACxBvY,EAAE,MAAO,CACP5C,YAAa,kCAFjB,IAcA,MARA,oBAAIqZ,EAAA,OACF8B,EAAA,QACEvY,EAAE,MAAO,CACP5C,YAAa,oCACZ,CAACqZ,EAHN,QAOKzW,EAAE,KAAM,CAAE3C,MAAOgB,GAAxB,MAGF,OAAO2B,EAAE,KAAM,EAAP,GAAO,EAAP,CAAkB5C,YAAa,mCAAvC,M,4kBC7BJ,SAASob,EAAT,OACE,OAAQ,SAAA/B,GACN,IAAM1Z,EAAQ,eAAqBoE,EAAMsV,EAAzC,OACA,OAAOA,EAAA,OAAgBA,EAAA,WAAhB,GAAqDnD,EAAOvW,EAAO2D,EAA1E,IAIJ,SAAS+X,EAAT,WAOE,IAAIC,EAAJ,EAUA,OATAhY,EAA2B,kBAAXA,EAAsBA,EAA7B,OAAT,KACIA,GAAUiY,EAAd,SACED,EAAWhM,EAAA,QAAa,SAAAvL,GAAI,OAAIwX,EAAA,KAAiCH,EAASrX,EAAMT,EAAhF,QAGEkY,EAAJ,SACEF,EAAWA,EAAApF,QAAgB,SAAAnS,GAAI,OAAIyX,EAAA,MAA+BJ,EAASrX,EAAMT,EAAjF,aAGF,EAIa,OAAAmY,EAAA,OAAqB,CAClCnd,KADkC,eAIlCkE,WAAY,CACVqV,SAAA,MAGFtZ,MAAO,CACLiF,QAAS,CACP1E,KAAMiT,OAER2J,WAJK,QAKLC,WALK,QAML5D,YANK,QASL6D,iBAAkB,CAChB9c,KADgB,OAEhBG,QAAS,KAEX8b,OAAQ,CAACC,OAbJ,QAcLa,kBAdK,QAeLC,QAfK,OAgBL3c,MAhBK,QAiBL4c,YAjBK,OAkBLC,gBAlBK,QAmBLlB,YAnBK,QAoBLmB,cApBK,OAqBLC,WAAY,CACVpd,KADU,OAEVG,QAAS,WAEXmR,aAAc,CACZtR,KADY,SAEZG,QAAS,SAIbc,KAvCkC,WAwChC,MAAO,CACLoc,gBADK,GAELC,UAFK,GAGLC,OAAQ,KAIZzc,SAAU,CACR0c,gBADQ,WACO,WACb,IAAKxc,KAAL,QAAmB,MAAO,GAC1B,IAAM0D,EAAU1D,KAAK0D,QAAQ0S,QAAO,SAAAtT,GAAC,YAAI,IAAAA,EAAA,QAA0B,wBAA0B,SAAAoU,GAAC,OAAIA,IAAMpU,EAAxG,YACM2Z,EAAgB,CAAE7c,KAAF,GAAYiZ,UAAZ,EAA6BY,MAAO,OAE1D,GAAIzZ,KAAJ,WAAqB,CACnB,IAAMqP,EAAQ3L,EAAA,WAAkB,SAAAZ,GAAC,MAAjC,sBAAqCA,EAAA,SACjCuM,EAAJ,EAAe3L,EAAA,aAAgB,EAAhB,CAAoC7D,MAAO,uBACrD6D,EAAA,gBAAyB,EAAzB,GAAgDA,EAAQ2L,KAG/D,GAAIrP,KAAJ,WAAqB,CACnB,IAAM,EAAQ0D,EAAA,WAAkB,SAAAZ,GAAC,MAAjC,sBAAqCA,EAAA,SACjC,EAAJ,EAAeY,EAAA,aAAgB,EAAhB,CAAoC7D,MAAO,uBACrD6D,EAAA,gBAAyB,EAAzB,GAAgDA,EAAQ,KAG/D,UAEFgZ,aApBQ,WAqBN,OAAO1c,KAAK2c,cAAW/N,EAAY,CACjCgO,QAAS5c,KAAKmc,eAAiBnc,KAAKwc,gBAAgB9K,SAGxDiL,SAzBQ,WA4BN,WAAI3c,KAAKW,SAASkc,WAAWpD,OAEtBzZ,KAAKW,SAASkc,WAAWpD,MAAQzZ,KAAxC,kBAEF8c,cAhCQ,WAiCN,OAAO9c,KAAKwc,gBAAgBO,QAAkC,cAE5D,OADIxD,EAAJ,OAAiByD,EAAIzD,EAAJ,OAAoBA,EAApB,MACjB,IAFF,KAKFmC,yBAtCQ,WAuCN,OAAO1b,KAAKwc,gBAAgBpG,QAAO,SAAAmD,GAAM,OAAIA,EAAA,UAAmBA,EAAA,eAAD,gBAA/D,IAAuGA,EAAA,gBAEzGkC,4BAzCQ,WA0CN,OAAOzb,KAAKwc,gBAAgBpG,QAAO,SAAAmD,GAAM,OAAKA,EAAD,UAAoBA,EAAA,eAAD,gBAAhE,IAAwGA,EAAA,gBAE1G0D,qBA5CQ,WA6CN,OAAO,eAAmBjd,KAA1B,cAEFkd,qBA/CQ,WAgDN,IAAMlN,EAAehQ,KAAKyP,SAAWzP,KAAKyP,QAArB,aAA4CzP,KAAKyP,QAAjD,aAAwEzP,KAA7F,aACQ4S,EAAwB5S,KAAhC,qBAAQ4S,oBACR,GACEA,IACCA,EAAA,MAA0B,SAAA3O,GACzB,MAAuB,kBAATA,EAAoBA,IAA3B,EAAmDA,EAAA,QAA1D,KAEF,CACA,IAAMkZ,EAAcvK,EAApB,GACA,MAAO,6BAAkCuK,EAAlC,MAAP,EAGF,WAIJxb,QA/GkC,WA+G3B,WACC0U,EAAgB,CACpB,CAAC,YADmB,0BAEpB,CAAC,eAFmB,uBAGpB,CAAC,aAHH,gBAOAA,EAAA,SAAsB,YAA4B,0BAA3B,EAA2B,KAA5B,EAA4B,KAC5C,wBAAJ,IAA0C,eAASC,EAAUC,EAAnB,OAI9C6G,QA5HkC,WAkI5Bpd,KAAJ,kBACEqd,OAAA,0BAAkCrd,KAAlC,YACAA,KAAA,eAIJsd,cAxIkC,WAyI5Btd,KAAJ,iBACEqd,OAAA,6BAAqCrd,KAArC,aAIJ8B,QAAS,CACPyb,WADO,WAELvd,KAAA,OAAciS,MAAA,KAAWjS,KAAKwd,IAAIC,iBAApB,YAAgD,SAAAvE,GAAC,OAAIA,EAAnE,gBAEFwE,wBAJO,SAIgB,KACrB,OAAOnC,EAAiB/L,EAAOhM,EAAQxD,KAAhB,yBAA+CA,KAA/C,4BAAiFA,KAAxG,eAEF2d,sBAPO,SAOc,SACnB,OAAO3d,KAAK4P,WAAWJ,EAAOE,EAAQC,EAAUlL,EAAQzE,KAAxD,gBAEFiX,gBAVO,SAUQ,GACb,IAAMxY,EAAQkd,EAAA,0CAAd,GAEA,OAAOrV,OAAA,SAAqB,CAAE5C,QAAS1D,KAAKwc,mBAE9CoB,WAfO,SAeG,GACR,OAAI5d,KAAJ,QAAyB,CAACA,KAAKK,eAAe,UAAW,CAACL,KAAxC,WAEX,eAAQA,KAAM,UAAWvB,GAAhC,IAEFof,YApBO,SAoBI,GAAkB,WAC3B,OAAO7d,KAAKK,eAAe,WAAYL,KAAKwc,gBAAgB1V,KAAI,SAAAyS,GAC9D,OAAO,uBAA2B,CAChCpZ,MAAO,CACLya,QAASrB,EAAOqB,gBAKxBkD,WA7BO,WA8BL,IAAMC,EAAW/d,KAAKiC,OAAO,YAAcjC,KAAKiC,OAA/B,SAAiDjC,KAAKK,eAAe2F,EAApB,KAAqC,CACrGvH,MAAO,CACL8B,OAAwB,IAAjBP,KAAKqV,QAAmB,UAAYrV,KADtC,QAELib,OAFK,EAGL9C,eAAe,KAIbuB,EAAK1Z,KAAKK,eAAe,KAAM,CACnCH,YADmC,SAEnCQ,MAAOV,KAAK0c,cACX,CAHH,IAKM/C,EAAK3Z,KAAKK,eAAe,KAAM,CACnCH,YAAa,0BACZ,CAFH,IAIA,OAAOF,KAAKK,eAAe,QAAS,CAApC,KAEF2d,WAjDO,SAiDG,GACR,IAAM/d,EAAO,CACXxB,MAAO,KACFuB,KADE,qBAAF,CAEH0D,QAAS1D,KAFJ,gBAGLyP,QAAShR,EAHJ,QAILyb,OAAQla,KAJH,SAKLiY,YAAajY,KALR,YAMLgW,UAAWhW,KANN,UAOL8V,UAAW9V,KAPN,UAQLkV,aAAclV,KART,aASLmQ,YAAanQ,KAAKmQ,cAEpBrP,GAAI,CACFuQ,KAAM5S,EADJ,KAEF8S,MAAO9S,EAFL,MAGF,oBAAqBuB,KAAK0W,kBAIxB1U,EAAuC,CAAC,eAAQhC,KAAM,SAA5D,IAEA,IAAKA,KAAL,kBAA6B,CAC3B,IAAM4D,EAAc,eAAuB,UAAW5D,KAAtD,cACAgC,EAAA,KAAchC,KAAKK,eAAe,EAApB,KAAsC,EAAtC,CAEZuD,kBAMJ,OAFI5D,KAAJ,SAAkBgC,EAAA,KAAchC,KAAd,cAElB,GAEFmX,gBAnFO,SAmFQ,GACb,OAAOnX,KAAKK,eAAe,KAAM,CAC/BH,YAAa,+BACZ,CACDF,KAAKK,eAAe,KAAM,CACxBK,MAAOV,KAAK0c,cAJhB,MAQFlF,SA5FO,SA4FC,KACN,IAAMC,EAAQzX,KAAKoX,SAAS3Y,EAAd,oBAAyCA,EAAA,WAAvD,aACA,SAAkB,CAAP,GAEJA,EAAA,aACHuB,KAAKie,eAAexf,EAApB,aADGA,GAEHuB,KAAKke,QAAQ1O,EAFjB,IAIFyO,eApGO,SAoGO,KAAuD,WAC7DE,EAAS7X,OAAA,KAAY6K,GAA3B,IAEA,OAAOgN,EAAA,KAAW,SAAA5M,GAGhB,OAFK,2BAAL,IAA2C,OAAU,EAAV,gBAEvC,eAAJ,MACS,qBAAwB,CAC7BA,QACA9B,QAAShR,EAFoB,QAG7B+Q,MAAO2B,EAHsB,GAI7BzN,QAAS,EAAK8Y,kBAGT,yBAAiCrL,EAAjC,GAAP,OAINiN,qBAtHO,SAsHa,OAA+C,WAC3DC,IAAWre,KAAKsc,UAAtB,GACMta,EAA0B,CAC9BhC,KAAKK,eAAe,WAAY,CAAEyX,KAAM,eAAiB9X,KAAKse,eAAe9O,EAD/E,KAGM+O,EAAW,kBAAM,OAAU,EAAV,aAAkC,YAAzD,KACMC,EAAW,kBAAM/f,EAAA,cAAoB,CAAEwR,QAAF,GAAeC,UAAW,MAErE,GAAIlQ,KAAKmC,aAAT,gBACEH,EAAA,QAAiBhC,KAAKK,eAAe,WAAY,CAAEyX,KAAM,iBAAmB,CAC1E9X,KAAKmC,aAAa,gBAAiB,CAAEoP,QAAOtB,QAASxR,EAAA,QAAlB,QAAyC+Q,QAAO9L,QAAS1D,KAAzD,gBAA+EqC,OAA/E,EAAiGoc,OAAQD,WAEzI,CACL,IAAMnc,EAASrC,KAAKK,eAAeG,EAApB,KAA0B,CACvCN,YADuC,OAEvCzB,MAAO,CACLc,MADK,EAELkB,OAAO,GAETK,GAAI,CACFC,MAAOwd,IAER,CAACve,KAAKK,eAAeW,EAApB,KAA2B,CAACqd,EAAS,SATzC,YAWMI,EAASze,KAAKK,eAAeG,EAApB,KAA0B,CACvCN,YADuC,OAEvCzB,MAAO,CACLc,MADK,EAELkB,OAAO,GAETK,GAAI,CACFC,MAAOyd,IAER,CAACxe,KAAKK,eAAeW,EAApB,KAA2B,CAT/B,aAWM0d,EAAS1e,KAAKK,eAAe,KAAM,CACvCH,YADuC,aAEvCQ,MAAOV,KAAK0c,cACX,CAACra,EAAQ,GAAT,OAAY5D,EAAA,mBAAZ,gBAHH,IAKAuD,EAAA,QAAiBhC,KAAKK,eAAe,WAAY,CAAEyX,KAAM,iBAAmB,CAA5E,KASF,OANI9X,KAAKmC,aAAT,kBACEH,EAAA,KAAchC,KAAKK,eAAe,WAAY,CAAEyX,KAAM,kBAAoB,CACxE9X,KAAKmC,aAAa,iBAAkB,CAAEoP,QAAOtB,QAASxR,EAAA,QAAlB,QAAyC+Q,QAAO9L,QAAS1D,KAAKwc,qBAI/Fxc,KAAKK,eAAese,EAAU,CACnC7a,IADmC,EAEnCrF,MAAO,CACLoB,MAAOwe,IAHX,IAOFH,QA9KO,SA8KA,KACL,OAAOle,KAAKmC,aAAa8B,KAAOjE,KAAK4e,cAAcpP,EAA5C,GAA4DxP,KAAKse,eAAe9O,EAAvF,IAEFoP,cAjLO,SAiLM,KAGX,IAFA,IAAMC,EAAN,GAESpM,EAAT,EAAgBA,EAAIjD,EAApB,OAAkCiD,IAAK,CACrC,IAAMxO,EAAOuL,EAAb,GACAqP,EAAA,KAAU7e,KAAKmC,aAAa8B,KAAlB,KACLjE,KAAKiX,gBADwB,GAAxB,CAER5H,MAAOoD,MAGLzS,KAAK+W,WAAT,IACE8H,EAAA,KAAU7e,KAAKmC,aAAa,iBAAkB,CAAE8B,OAAMP,QAAS1D,KAAKwc,mBAIxE,UAEF8B,eAlMO,SAkMO,KAAgC,WAC5C,OAAOte,KAAKmC,aAAa,iBACrBqN,EAAA,KAAU,SAAAvL,GAAI,OAAI,wBADf,MAEHuL,EAAA,KAAU,SAAAvL,GAAI,OAAI,sBAFtB,OAIF6a,sBAvMO,SAuMc,GACnB,IAAM/H,EAAa/W,KAAK+W,WAAxB,GACM5V,EAAU,CACd,qDAAsD4V,GAElDgI,EAAY/e,KAAKgf,oBAAoB/a,EAA3C,GACMgb,EAAcjf,KAAKK,eAAe,KAAM,CAC5CH,YAAa,0DACZ,CAACF,KAAKmC,aAAa,iBAAkB,CAAE8B,OAAMP,QAAS1D,KAAKwc,oBAE9D,OAAOxc,KAAKK,eAAese,EAAU,CACnClgB,MAAO,CACLoB,MAAOkX,IAER,CACD/W,KAAKK,eAAe,WAAY,CAAEyX,KAAM,cAAgB,CADvD,IAED9X,KAAKK,eAAe,WAAY,CAAEyX,KAAM,eAAiB,CAN3D,OASFkH,oBA1NO,SA0NY,GAAkD,WAArC7d,EAAqC,uDAAlD,GACXyC,EAAc,eAAuB,QAAS5D,KAApD,cAEMC,EAAOD,KAAKiX,gBAAlB,GAEA,GAAIjX,KAAJ,WAAqB,CACnB,IAAM8X,EAAOlU,EAAb,qBACAA,EAAA,qBAAmCkU,EAAO,kBAAMA,EAAT,IAAsB,kBAAM,wBAAqC,CACtG5X,YADsG,yBAEtGzB,MAAO,CACLoB,MAAOI,EAAK0W,YAEd7V,GAAI,CACF0T,MAAQ,SAAA/U,GAAD,OAAkBQ,EAAA,eAK/B,GAAID,KAAJ,WAAqB,CACnB,IAAM,EAAO4D,EAAb,qBACAA,EAAA,qBAAmC,EAAO,kBAAM,EAAT,IAAsB,kBAAM,wBAA2B,CAC5F1D,YAD4F,4BAE5FC,MAAO,CACL,oCAAqCF,EAAK8W,YAE5CjW,GAAI,CACFC,MAAQ,SAAAmY,GACNA,EAAA,kBACAjZ,EAAA,QAAaA,EAAb,eAGH,CAAC,EAXJ,cAcF,OAAOD,KAAKK,eAAeL,KAAK2c,SAAWuC,EAApC,EAAqD,CAC1Dpb,IAAK,eAAqBG,EAAMjE,KAD0B,SAE1DG,MAAO,OAAF,CAEH,yBAA0BF,EAAK0W,aAEjClY,MAAO,CACLiF,QAAS1D,KADJ,gBAELiE,OACA8Q,IAAK/U,KAAKW,SAASoU,KAErBnR,cACA9C,GAAI,CACFC,MAAO,kBAAM,4BAInBoe,QA7QO,SA6QA,GACL,IAAMlf,EAAO,OAAH,CAER0c,SAAU3c,KAFC,SAGX0D,QAAS1D,KAAKwc,kBAGhB,OAAIxc,KAAKmC,aAAT,KACSnC,KAAKmC,aAAaid,KAAzB,GAGKpf,KAAKK,eAAe,QAAS,CAClC,eAAQL,KAAM,eAAgBC,GADI,GAElCD,KAAKwX,SAAS/Y,EAAd,MAFkC,GAGlC,eAAQuB,KAAM,cAAeC,GAH/B,MAMFof,WA9RO,SA8RG,GACR,IAAMpf,EAAO,CACXxB,MAAO,GACLgR,QAAShR,EADJ,QAELsS,WAAYtS,EAFP,WAGLwU,iBAHK,uCAIFjT,KAAKkW,sBAEVpV,GAAI,CACF,iBAAmB,SAAAjB,GAAD,OAAgBpB,EAAA,mBAEpC8d,OAAQvc,KAVG,OAWX0D,QAAS1D,KAAKwc,iBAGVxa,EAA0B,CAC9B,eAAQhC,KAAM,SAAUC,GAD1B,IAWA,OAPKD,KAAL,mBACEgC,EAAA,KAAchC,KAAKK,eAAe,EAApB,KAAiC,EAAjC,CAEZuD,YAAa,eAAuB,UAAW5D,KAAZ,kBAIvC,GAEF2X,qBA1TO,SA0Ta,GAClB,IAAM2H,EAAc,CAClBrE,OAAQjb,KADU,OAElBgb,YAAahb,KAFK,YAGlBX,MAAOW,KAAKX,OAqBd,OAAOW,KAAKK,eAAe,EAAc,CACvC5B,MAAO6gB,GACN,CACDtf,KAAKuf,UAAU,MAAO,eAAQvf,KAAM,MAAOvB,GAD1C,IAEDuB,KAAK4d,WAFJ,GAGD5d,KAAK6d,YAHJ,GAID7d,KAAKge,WAJJ,GAKDhe,KAAKmf,QALJ,GAMDnf,KAAKuf,UAAU,SAAUvf,KAAKqf,WARhC,OAWFE,UA9VO,SA8VE,KACP,OAAOvf,KAAKK,eAAe,WAAY,CAAEyX,QAAzC,KAIJjV,OAjfkC,WAif5B,WACJ,OAAO7C,KAAKK,eAAe2U,EAAO,CAChCvW,MAAO,KACFuB,KADE,OAAF,CAEHsQ,aAActQ,KAFT,wBAGL4P,WAAY5P,KAHP,sBAILgQ,aAAchQ,KAAKkd,uBAErBpc,GAAI,CACF,iBAAkB,cAChB,kBAAuBoW,EAAA,SAAvB,IACC,eAAUA,EAAX,IAAsB,yBAAtB,IAEF,cAAgB,SAAAA,GAAD,OAAe,sBAL5B,IAMF,wBAA0B,SAAAA,GAAD,OAAe,gCANtC,IAOF,iBAAmB,SAAAA,GAAD,OAA0B,yBAP1C,IAQF,mBAAqB,SAAAA,GAAD,OAA4B,2BAR9C,IASF,kBAAoB,SAAAA,GAAD,OAA0B,0BAT3C,IAUF,oBAAsB,SAAAA,GAAD,OAA4B,4BAV/C,IAWFnG,WAAY,qBAA6C,eAAUmG,EAAX,IAAsB,qBAX5E,IAYF,gBAAkB,SAAAA,GAChB,yBACA,4BAEF,aAAe,SAAAA,GAAD,OAAe,0BAE/BtT,YAAa,CACXzE,QAASa,KAAK2X,4B,yyBCxjBP,qBAAW,CACxBnZ,KADwB,oBAGxByb,YAHwB,EAKxBvX,WAAY,CACVqV,OAAA,QAGFtZ,MAAO,EAAF,GACA,eADE,MAAF,GAEA,eAFE,MAAF,CAGH2V,SAHK,QAIL2D,OAAQ,CACN/Y,KADM,QAENG,SAAS,GAEXU,MARK,QASLsY,cATK,QAULqH,kBAAmB,CACjBxgB,KADiB,OAEjBG,QAAS,0BAEXsgB,OAAQ,CACNzgB,KADM,OAENG,QAAS,eAEXugB,QAAS,CACP1gB,KADO,OAEPG,QAAS,kBAIb0D,OAjCwB,SAiClB,EAjCkB,GAiCE,IAAf,EAAe,EAAf,MAAS5C,EAAM,EAANA,KACZ+B,EAAN,GAEA,GAAIvD,EAAA,SAAiBA,EAArB,SAAqC,CACnC,IAAM,EAASqE,EAAE,MAAO,oCAAuCrE,EAAvC,MAAoD,CAC1EyB,YAD0E,sCAE1EwC,WAAY,CAAC,CACXlE,KADW,SAEXqB,MAAO,CAAE8f,QAAQ,QAIrB3d,EAAA,QAGF,IAAIzC,EAAOd,EAAX,QACIA,EAAJ,cAAyBc,EAAOd,EAAhC,kBACSA,EAAJ,QAAiBc,EAAOd,EAAP,QAEtBuD,EAAA,KAAcc,EAAE,EAAD,KAAQ,oCAAuCrE,EAAA,OAAeA,EAAtD,MAAmE,CACxFA,MAAO,CACL2V,SAAU3V,EADL,SAELmhB,KAAMnhB,EAFD,KAGLohB,MAAOphB,EAAMohB,SAJjB,IAQA,IAAM1e,EAAU,CACd,qBADc,EAEd,8BAA+B1C,EAAM2V,UAGvC,OAAOtR,EAAE,MAAO,EAAR,GAAQ,EAAR,CAEN3C,MAFc,EAGdW,GAAI,CACFC,MAAQ,SAAAmY,GACNA,EAAA,kBAEIjZ,EAAA,IAAWA,EAAA,GAAX,QAA6BxB,EAAjC,UACE,eAAYwB,EAAA,GAAZ,gBAAmC,SAAA6f,GAAC,OAAIA,GAAGrhB,EAA3C,cARR,O,kCC5EJ,gBAGA,e,kCCHA,gBAGA,e,wnCC+Be,aAAAK,EAAA,MAAO,EAAD,KAAN,eAAoC,CACjDN,KADiD,gBAIjDkE,WAAY,CACVqV,SAAA,MAGFtZ,MAAO,CACLshB,OADK,QAEL1gB,MAFK,QAGL2gB,aAHK,QAILxQ,MAAO,CACLxQ,KADK,MAELG,QAAS,iBAAM,KAEjB8gB,aAAc,CACZjhB,KAAM,CAACH,OAAQoT,MADH,UAEZ9S,QAAS,YAEX+gB,SAAU,CACRlhB,KAAM,CAACH,OAAQoT,MADP,UAER9S,QAAS,QAEXghB,UAAW,CACTnhB,KAAM,CAACH,OAAQoT,MADN,UAET9S,QAAS,SAEXoW,WApBK,OAqBL6K,SArBK,QAsBLC,YAAa,CACXlhB,QAAS,MAEXmhB,cAAe,CACbthB,KADa,MAEbG,QAAS,iBAAM,MAInBW,SAAU,CACRygB,YADQ,WACG,WACT,OAAOvgB,KAAKsgB,cAAcxZ,KAAI,SAAA7C,GAAI,OAAI,WAAtC,OAEFuc,gBAJQ,WAKN,OAAOla,OAAA,KAAYtG,KAAKygB,aAAazgB,KAAlB,cAAZ,SAAP,MAEF0gB,iBAPQ,WAQN,IAAMC,EAAO,CACXjgB,MAAO,CACL8B,UAAMoM,GAER9N,GAAI,CACF8f,UAAY,SAAA1H,GAAD,OAAcA,EAAA,oBAI7B,OAAOlZ,KAAKK,eAAewgB,EAApB,OAAqC,CAC1C7gB,KAAK8gB,eAAe9gB,KADtB,gBAMJ8B,QAAS,CACPif,UADO,SACE,KAA+B,WACtC,OAAO/gB,KAAKK,eAAe2gB,EAApB,KAAqC,CAC1ChhB,KAAKK,eAAe+X,EAApB,KAAqC,CACnC3Z,MAAO,CACL8B,MAAOP,KADF,MAELH,MAAOohB,GAETngB,GAAI,CACF0T,MAAO,kBAAM,2BAKrB0M,WAdO,SAcG,GACR,OAAOlhB,KAAKK,eAAe8gB,EAApB,KAA8B,CAAE1iB,WAEzC2iB,gBAjBO,SAiBQ,GAGb,GAFAxhB,EAAOA,GAAP,IAEKI,KAAD,aAAqBA,KAAzB,SAAwC,OAAO,eAAP,GAHb,MAKIA,KAAKqhB,oBAApC,GAAM,EALqB,EAKrB,QALqB,EAKrB,OAAiBC,EALI,EAKJA,IAEvB,gBAAU,eAAWC,IAArB,OAA8BvhB,KAAKwhB,aAAaC,IAAhD,OAA0D,eAA1D,KAEF5H,UA1BO,SA0BE,GACP,OAAO7Z,KAAKK,eAAeqhB,EAApB,KAAgC,CAAEjjB,SAASA,EAAlD,SAEF+iB,aA7BO,SA6BK,GACV,gDAA0C,eAA1C,eAEFG,cAhCO,SAgCM,GACX,IAAM/hB,EAAO,eAAWI,KAAK4hB,QAAQ3d,GAAM4d,MAAM,KAAKC,KAAK,KAA3D,eAEA,gBAAUliB,EAAV,sBAA4BI,KAA5B,OAEFqhB,oBArCO,SAqCY,GAKjB,IAAMhB,GAAergB,KAAKqgB,aAAN,eAApB,oBACMhR,EAAQzP,EAAA,4BAAd,GAEA,GAAIyP,EAAJ,EAAe,MAAO,CAAEkS,MAAF,GAAaE,OAAb,EAA2BH,IAAK,IAEtD,IAAMC,EAAQ3hB,EAAA,QAAd,GACM6hB,EAAS7hB,EAAA,QAAkByP,EAAQgR,EAAzC,QACMiB,EAAM1hB,EAAA,MAAWyP,EAAQgR,EAA/B,QACA,MAAO,CAAEkB,QAAOE,SAAQH,QAE1BS,QApDO,SAoDA,GAGQ,WADb3N,EACa,uDAHR,KAGLvU,EAAa,wDAEb,IAAYA,EAAQG,KAAKgiB,QAAb,IAER/d,IAASqC,OAAb,KACE8N,EAAW,OAAAA,IAEPpU,KAAKiiB,YAFT,IAKF,IAAMtB,EAAO,CACXjgB,MAAO,CAGL,gBAAiB7B,OAHZ,GAIL,kBAAmBmB,KAAK2hB,cAJnB,GAKLnf,KAAM,UAER1B,GAAI,CACF8f,UAAY,SAAA1H,GAEVA,EAAA,kBAEFnY,MAAO,kBAAMqT,GAAY,sBAE3B3V,MAAO,CACLyjB,YAAaliB,KADR,gBAELoU,WACA2D,QAHK,EAILkJ,WAAYphB,IAIhB,IAAKG,KAAKmC,aAAV,KACE,OAAOnC,KAAKK,eAAewgB,EAApB,OAAqC,CAC1C7gB,KAAK+f,SAAW/f,KAAhB,cAAqCA,KAAKwP,MAAMkC,OAAhD,EACI1R,KAAK+gB,UAAU9c,EADnB,GAD0C,KAI1CjE,KAAK8gB,eAJP,KAQF,IAAMqB,EAAN,KACM1H,EAAaza,KAAKmC,aAAa8B,KAAK,CACxCke,SACAle,OACAvD,MAAO,EAAF,GACAigB,EADE,MAAF,GAEAA,EAAKliB,OAEVqC,GAAI6f,EAAK7f,KAGX,OAAOd,KAAKoiB,UAAU3H,GAClBza,KAAKK,eAAewgB,EAApB,OADG,GAAP,GAIFC,eAhHO,SAgHO,GACZ,IAAMuB,EAAYriB,KAAKohB,gBAAgBphB,KAAK4hB,QAA5C,IAEA,OAAO5hB,KAAKK,eAAeiiB,EAApB,KACL,CAACtiB,KAAKK,eAAeiiB,EAApB,KAAoC,CACnC5hB,MAAO,CAAE+H,GAAIzI,KAAK2hB,cAAc1d,IAChCse,SAAU,CAAEF,kBAIlBL,QA1HO,SA0HA,GACL,OAAOhiB,KAAKugB,YAAYiC,QAAQxiB,KAAKyiB,SAA9B,KAAP,GAEFL,UA7HO,SA6HE,GACP,OAAO,IAAAtK,EAAA,cACLA,EAAA,qBADF,gBAEEA,EAAA,uCAEJmK,YAlIO,SAkII,GACT,OAAOziB,QAAQ,eAAoByE,EAAMjE,KAAP,cAAlC,KAEF4hB,QArIO,SAqIA,GACL,OAAO/iB,OAAO,eAAoBoF,EAAMjE,KAAP,SAAjC,KAEFyiB,SAxIO,SAwIC,GACN,OAAO,eAAoBxe,EAAMjE,KAAP,UAAuBA,KAAK4hB,QAAtD,MAIJ/e,OA3MiD,WA4M/C,IAAMb,EAAN,GADI,uBAEJ,YAAmBhC,KAAnB,qDAA+B,KAA/B,EAA+B,QACzBA,KAAKggB,cACPhgB,KAAKgiB,QADP,KAIA,MAAI/d,EAAcjC,EAAA,KAAchC,KAAK+hB,QAArC,IACS9d,EAAJ,OAAiBjC,EAAA,KAAchC,KAAK6Z,UAApC,IACI5V,EAAJ,QAAkBjC,EAAA,KAAchC,KAAKkhB,WAArC,IACAlf,EAAA,KAAchC,KAAK+hB,QAAnB,MAVH,kFAmBJ,OANA/f,EAAA,QAAmBA,EAAA,KAAchC,KAAKiC,OAAO,YAAcjC,KAA3D,kBAEAA,KAAA,wBAA+BgC,EAAA,QAAiBhC,KAAKiC,OAArD,iBAEAjC,KAAA,uBAA8BgC,EAAA,KAAchC,KAAKiC,OAAjD,gBAEOjC,KAAKK,eAAe,MAAO,CAChCH,YADgC,uBAEhCC,MAAOH,KAAKmb,cACX,CACDnb,KAAKK,eAAe,EAApB,KAA2B,CACzBK,MAAO,CACL+H,GAAIzI,KAAK4B,OADJ,GAELY,KAFK,UAGLkgB,UAAW,GAEbjkB,MAAO,CAAEY,MAAOW,KAAKX,QAVzB,Q,oCC7PW,gBAAW,CACxBb,KADwB,aAGxBC,MAAO,CACL8W,WAAY,CACVvW,KADU,OAEVG,QAAS,0B,omBCmBR,IAAMwjB,EAAmB,CAC9BC,cAD8B,EAE9BC,qBAF8B,EAG9BC,aAH8B,EAI9BC,aAJ8B,EAK9BC,UAAW,KAKPC,EAAa,OAAAnkB,EAAA,MAAO,EAAD,YAAzB,GAkBe,OAAAmkB,EAAA,gBAAoC,CACjDzkB,KADiD,WAGjDkE,WAAY,CACVwgB,aAAA,QAGFzkB,MAAO,CACL0kB,WAAY,CACVnkB,KADU,OAEVG,QAAS,aAEXikB,OAAQ,CACNjkB,SAAS,GAEXkkB,WARK,QASLC,MATK,QAULC,UAVK,QAWLC,eAXK,QAYLC,MAZK,QAaLzD,aAbK,QAcLxQ,MAAO,CACLxQ,KADK,MAELG,QAAS,iBAAM,KAEjBukB,UAAW,CACT1kB,KADS,OAETG,QAAS,WAEX8gB,aAAc,CACZjhB,KAAM,CAACH,OAAQoT,MADH,UAEZ9S,QAAS,YAEX+gB,SAAU,CACRlhB,KAAM,CAACH,OAAQoT,MADP,UAER9S,QAAS,QAEXghB,UAAW,CACTnhB,KAAM,CAACH,OAAQoT,MADN,UAET9S,QAAS,SAEXwkB,UAAW,CACT3kB,KAAM,CAACH,OAAQoT,MADN,QAET9S,QAAS,kBAAMwjB,IAEjBtJ,SAtCK,QAuCLuK,YAvCK,QAwCLC,aAxCK,QAyCLC,WAAYtkB,SAGdS,KAnDiD,WAoD/C,MAAO,CACL8jB,YAAa/jB,KAAKqjB,WAAarjB,KAAlB,MADR,GAELgkB,QAFK,KAGLC,UAHK,EAILC,cAJK,EAKLC,SALK,GASLC,eAA0BxV,IAAf5O,KAAKH,MACZG,KADO,MAEPA,KAAKqZ,SAAW,QAXf,EAYLgL,eAZK,EAaL/D,cAbK,GAcLgE,qBAdK,GAeLC,uBAAwB,IAI5BzkB,SAAU,CAER0kB,SAFQ,WAGN,OAAOxkB,KAAKykB,iBAAiBzkB,KAAK+jB,YAAYrR,OAAO1S,KAArD,SAEFmB,QALQ,WAMN,YACK,qCADE,MAAP,CAEE,YAFK,EAGL,kBAAmBnB,KAHd,SAIL,yBAA0BA,KAJrB,WAKL,2BAA4BA,KALvB,aAML,qBAAsBA,KAAKqZ,YAI/BrI,cAhBQ,WAiBN,OAAOhR,KAAP,UAEF0kB,aAnBQ,WAoBN,qBAAe1kB,KAAf,OAEF2kB,aAtBQ,WAuBN,OAAO3kB,KAAKqZ,SACRrZ,KAAKsgB,cADF,QAEFtgB,KAAK4hB,QAAQ5hB,KAAKsgB,cAAlB,KAAD,eAFJ,QAIF5d,WA3BQ,WA4BN,OAAO1C,KAAK4kB,UAAY,CAAC,CACvBpmB,KADuB,gBAEvBqB,MAAOG,KAFgB,KAGvB6kB,KAAM,CACJC,iBAAkB9kB,KAAK8kB,yBAJ3B,GAQFC,cApCQ,WAqCN,cAEFC,SAvCQ,WAwCN,OAAOhlB,KAAKsjB,OAAStjB,KAArB,YAEFilB,QA1CQ,WA2CN,OAAOzlB,QAAQQ,KAAKglB,UAAYhlB,KAAKmC,aAArC,YAEF+iB,QA7CQ,WA8CN,OAAOllB,KAAKsgB,cAAc5O,OAA1B,GAEFyT,SAhDQ,WAiDN,IAAMC,EAAUplB,KAAKqlB,QAAWrlB,KAAKqlB,OAAOC,QAAZ,SAAhC,SACM5kB,EAAQ0kB,EAAU,kBACtB,GAAW,GADb,GAIA,MAAO,CACL1kB,MAAO,OAAF,CAEH+H,GAAIzI,KAAK0kB,eAEXjmB,MAAO,CACLshB,OAAQ/f,KADH,SAELO,MAAOP,KAFF,UAGLX,MAAOW,KAHF,MAILggB,aAAchgB,KAJT,aAKLwP,MAAOxP,KALF,iBAMLigB,aAAcjgB,KANT,aAOLkgB,SAAUlgB,KAPL,SAQLmgB,UAAWngB,KARN,UASLuV,WAAYvV,KAAKW,SAASC,KAAKC,EAAEb,KAT5B,YAULsgB,cAAetgB,KAAKsgB,eAEtBxf,GAAI,CACF8V,OAAQ5W,KAAKulB,YAEf3hB,YAAa,CACXK,KAAMjE,KAAKmC,aAAa8B,QAI9BuhB,WA/EQ,WAoFN,OAJIxlB,KAAKiC,OAAO,YAAcjC,KAAKiC,OAA/B,iBAAyDjC,KAAKiC,OAAlE,iBACE,OAAAwL,EAAA,mEAGKzN,KAAKK,eAAeolB,EAAazlB,KAAxC,WAEF0lB,iBAtFQ,WAuFN,OAAQ1lB,KAAK2lB,YAAL,KACJ3lB,KADI,cAEJA,KAAKgR,cAAc4U,MAAM,EAAG5lB,KAFhC,WAIF6lB,YAAa,kBA3FL,GA4FRF,YA5FQ,WA6FN,IAAIG,EAAkB,kBAAO9lB,KAAP,UAClBA,KAAK2jB,UAAU9B,MADG,KAElB7hB,KAFJ,UAWA,OAPIiS,MAAA,QAAJ,KACE6T,EAAkBA,EAAA,QAAuB,cAEvC,OADA9I,EAAI+I,EAAJ,WACA,IAFF,KAMF,KAAO,EAAP,CAEEtC,MAAOzjB,KAFF,MAGLH,MAAOG,KAAK6lB,aAAe7lB,KAHtB,aAILgmB,YAAaF,EAAA,UAJR,GAKFA,KAKTlU,MAAO,CACLqU,cADK,SACQ,GACXjmB,KAAA,eACAA,KAAA,oBAEFikB,SALK,WAKG,WACNjkB,KAAA,WAAe,WACT,WAAgB,UAApB,kBACE,oCAAwC,EAAxC,iBAINkkB,aAZK,SAYO,GAAK,WACflkB,KAAA,WAAe,kBAAM,qBAArB,MAEA,IAEAA,KAAA,cAEFwP,MAAO,CACLuC,WADK,EAELF,QAFK,SAEE,GAAK,WACN7R,KAAJ,YAIEA,KAAA,WAAe,WACb,cAAmB,mBAAsB,qBAAzC,OAIJA,KAAA,sBAKNod,QA7NiD,WA8N/Cpd,KAAA,QAAeA,KAAKkmB,MAAMC,MAASnmB,KAAKkmB,MAAMC,KAAX,MAAnC,SAGFrkB,QAAS,CAEPskB,KAFO,SAEH,GACF,yCACApmB,KAAA,gBACAA,KAAA,aACAA,KAAA,kBAGFqmB,aATO,WAWHrmB,KAAKoU,UACLpU,KADA,UAEAA,KAHF,eAMAA,KAAA,kBAEFsmB,kBAlBO,WAkBU,WACftmB,KAAA,SAAcA,KAAKqZ,SAAW,QAA9B,GACArZ,KAAA,WAAe,kBAAM,eAAoB,cAAzC,WAEIA,KAAJ,cAAsBA,KAAKkkB,cAAe,IAE5CY,iBAxBO,SAwBS,GACd,OACG9kB,KAAD,cAGAA,KAHA,UAICA,KAAKgkB,QAAQuC,SAASrN,EAJvB,SAOAlZ,KAPA,MAQCA,KAAKwd,IAAI+I,SAASrN,EARnB,SASAA,EAAA,SAAalZ,KAVf,KAaFykB,iBAtCO,SAsCS,GAEd,IADA,IAAM+B,EAAe,IAArB,IACSnX,EAAT,EAAoBA,EAAQoX,EAA5B,WAAiD,CAC/C,IAAMxiB,EAAOwiB,EAAb,GACMhnB,EAAMO,KAAKyiB,SAF8B,IAK9C+D,EAAA,IAAD,IAA0BA,EAAA,MAA1B,GAEF,OAAOvU,MAAA,KAAWuU,EAAlB,WAEFE,kBAjDO,SAiDU,GAAc,WACvBvG,EAAYngB,KAAKyiB,SAAvB,GAEA,OAAQziB,KAAKimB,eAAN,eAAsC,SAAAxT,GAAD,OAAe,kBAAqB,WAArB,GAA3D,OAEFkU,iBAtDO,SAsDS,KAA6B,WACrCC,EACJ5mB,KAAKoU,UACLpU,KADA,UAEAA,KAAKiiB,YAHP,GAMA,OAAOjiB,KAAKK,eAAe2Y,EAApB,KAA2B,CAChC9Y,YADgC,iBAEhCQ,MAAO,CAAEgiB,UAAW,GACpBjkB,MAAO,CACL2D,MAAOpC,KAAKwjB,iBADP,EAELpP,SAFK,EAGL6M,WAAY5R,IAAUrP,KAHjB,cAILS,MAAOT,KAAK8jB,YAEdhjB,GAAI,CACFC,MAAQ,SAAAmY,GACN,IAEAA,EAAA,kBAEA,oBAEF,cAAe,kBAAM,mBAEvBpV,IAAK+iB,KAAA,UAAe7mB,KAAKyiB,SAApB,KACJziB,KAAK4hB,QApBR,KAsBFkF,kBAnFO,SAmFU,OACf,IAAMvmB,EAAQ8O,IAAUrP,KAAV,eAAgCA,KAA9C,cACM4mB,EACJ5mB,KAAKoU,UACLpU,KAAKiiB,YAFP,GAKA,OAAOjiB,KAAKK,eAAe,MAAOL,KAAKygB,aAAalgB,EAAO,CACzDL,YADyD,iDAEzDC,MAAO,CACL,gCAAiCymB,GAEnC9iB,IAAK+iB,KAAA,UAAe7mB,KAAKyiB,SAApB,MALA,UAMAziB,KAAK4hB,QAAQ3d,IANb,OAMqB8iB,EAAO,GANnC,QAQFC,eAlGO,WAmGL,IAAMC,EAAajnB,KAAnB,gBACMwU,EAAQxU,KAFF,WAcZ,OARIiS,MAAA,QAAJ,GACEgV,EAAA,KAD6B,IAI7BA,EAAA,SAAsBA,EAAA,UAAtB,GACAA,EAAA,kBAGK,CACLjnB,KADK,cAELA,KAAKK,eAAe,MAAO,CACzBH,YADyB,iBAEzBwC,WAAY1C,KAAK0C,YAChB,CACD1C,KADC,WAEDA,KAAKknB,OAASlnB,KAAKmnB,SAAnB,UAFC,OAIDnnB,KAAKonB,OAASpnB,KAAKmnB,SAAnB,UAJC,KAKDnnB,KALC,eAMDA,KANC,cAODA,KAZG,mBAcLA,KAdK,UAeLA,KAfF,gBAkBFqnB,SAlIO,WAmIL,IAAM7S,EAAQ,qCAAd,MASA,cAPOA,EAAA,WAAP,KACAA,EAAA,yBACAA,EAAA,uBACAA,EAAA,uBACAA,EAAA,+BACAA,EAAA,iBAA2BxU,KAA3B,WAEA,GAEFsnB,eA9IO,WA+IL,OAAOtnB,KAAKK,eAAe,QAAS,CAClCkiB,SAAU,CAAE1iB,MAAOG,KAAKokB,WACxB1jB,MAAO,CAAE1B,KAAM,aAGnBuoB,aApJO,WAqJL,IAAM1kB,EAAS,yCAAf,MAUA,OARAA,EAAA,gBACKA,EAAA,KADgB,MAArB,CAEEL,KAFmB,SAGnB,gBAHmB,UAInB,gBAAiB3D,OAAOmB,KAJL,cAKnB,YAAaA,KAAK0kB,eAGpB,GAEF8C,QAjKO,WAmKL,OAAIxnB,KAAKiC,OAAO,YAAcjC,KAAKiC,OAA/B,iBAAyDjC,KAAKiC,OAAlE,eACSjC,KAAP,kBAEOA,KAAP,YAGJynB,gBAzKO,WAyKQ,WACP5P,EAAQ,CAAC,eAAgB,UAAW,eAA5B,QACJ,SAAA2C,GAAQ,OAAI,SADR,WAEP,SAAAA,GAAQ,OAAI,4BAAgC,CAC/C1C,KAAM0C,GACL,SALQ,OASb,OAAOxa,KAAKK,eAAeolB,EAAa,EAAjC,GACFzlB,KAAKmlB,UADV,IAIFuC,QAtLO,WAsLA,WACCjpB,EAAQuB,KAAd,YAgBA,OAfAvB,EAAA,UAAkBuB,KAAKkmB,MAFlB,cAQH,KAAAlmB,KAAA,aACAA,KAAA,QAHF,WAIEA,KAAA,OAEAvB,EAAA,OAAeuB,KAAf,IAEAvB,EAAA,OAAeuB,KAAf,OAGKA,KAAKK,eAAesnB,EAApB,KAA2B,CAChCjnB,MAAO,CAAE8B,UAAMoM,GACfnQ,QACAqC,GAAI,CACF0T,MAAQ,SAAA/U,GACN,iBACA,gBAGJuE,IAAK,QACJ,CAAChE,KAVJ,aAYF4nB,cAnNO,WAoNL,IAGA,EAHIlW,EAAS1R,KAAKsgB,cAAlB,OACMte,EAAW,IAAIiQ,MAArB,GAIE4V,EADE7nB,KAAKmC,aAAT,UACiBnC,KAAf,iBACSA,KAAJ,SACUA,KAAf,iBAEeA,KAAf,kBAGF,MAAO0R,IACL1P,EAAA,GAAmB6lB,EACjB7nB,KAAKsgB,cADwB,KAG7B5O,IAAW1P,EAAA,OAHb,GAOF,OAAOhC,KAAKK,eAAe,MAAO,CAChCH,YAAa,wBADf,IAIF4nB,iBA5OO,SA4OS,KAA6B,WAC3C,OAAO9nB,KAAKmC,aAAawT,UAAW,CAClCjV,MAAO,CACLP,MAAO,kBAETgiB,OAJkC,KAKlCle,OACAoL,QACAuH,OAAS,SAAAsC,GACPA,EAAA,kBACA,mBAEF6O,SAAU1Y,IAAUrP,KAXc,cAYlCoU,SAAUpU,KAAKoU,UAAYpU,KAAKgoB,YAGpCC,aA5PO,WA6PL,OAAOjoB,KAAKkmB,MAAMC,KAAQnmB,KAAKkmB,MAAMC,KAA9B,WAAP,GAEFlE,YA/PO,SA+PI,GACT,OAAO,eAAoBhe,EAAMjE,KAAP,cAA1B,IAEF4hB,QAlQO,SAkQA,GACL,OAAO,eAAoB3d,EAAMjE,KAAP,SAA1B,IAEFyiB,SArQO,SAqQC,GACN,OAAO,eAAoBxe,EAAMjE,KAAP,UAAuBA,KAAK4hB,QAAtD,KAEFsG,OAxQO,SAwQD,GACJhP,GAAKlZ,KAAKgS,MAAM,OAAhBkH,IAEFiP,YA3QO,SA2QI,GACLnoB,KAAJ,SAAmBA,KAAKulB,WAAxB,GACKvlB,KAAKooB,SAFa,MAKvB,IAAIpoB,KAAKsgB,cAAc5O,OACrB1R,KAAA,gBAEAA,KAAA,gBAEFA,KAAA,kBAEFqoB,QAvRO,WAwRDroB,KAAJ,aAEAA,KAAA,gBAEKA,KAAL,YACEA,KAAA,aACAA,KAAA,kBAGJsoB,UAjSO,SAiSE,GACPpP,EAAA,iBACIlZ,KAAJ,eACEkZ,EAAA,kBACAlZ,KAAA,kBAGJuoB,WAxSO,SAwSG,GAAkB,WAC1B,IACEvoB,KAAKqZ,WACLrZ,KAFF,UAKA,IAAMwoB,EANoB,IAOpBC,EAAMC,YAAZ,MACID,EAAMzoB,KAAN,uBAAJ,IACEA,KAAA,yBAEFA,KAAA,sBAA6BkZ,EAAA,IAA7B,cACAlZ,KAAA,yBAEA,IAAMqP,EAAQrP,KAAKwkB,SAAS9L,WAAU,SAAAzU,GACpC,IAAMrE,GAAQ,cAAD,IAAb,WAEA,OAAOA,EAAA,yBAA8B,EAArC,yBAEIqE,EAAOjE,KAAKwkB,SAAlB,IACA,IAAInV,IACFrP,KAAA,SAAcA,KAAK6jB,aAAe5f,EAAOjE,KAAKyiB,SAA9C,IACAkG,YAAW,kBAAM,eAAjB,SAGJC,UAjUO,SAiUE,GAAkB,WACnBC,EAAU3P,EAAhB,QACMiN,EAAOnmB,KAAKkmB,MAFO,KAUzB,GALI,CACF,OADE,MAEF,OAFE,gBAAJ,IAGqBlmB,KAAKqmB,eAE1B,EAeA,OAXIrmB,KAAKkkB,cAAgB2E,IAAY,OAArC,KACE7oB,KAAA,WAAe,WACbmmB,EAAA,mBACA,4BAAgCA,EAAhC,eASDnmB,KAAD,cACA,CAAC,OAAD,GAAc,OAAd,eAFF,GAGSA,KAAK8oB,SA5BW,GA+BrBD,IAAY,OAAhB,IAAqC7oB,KAAKsoB,UA/BjB,GAkCrBO,IAAY,OAAhB,IAAqC7oB,KAAK+oB,UAlCjB,GAqCrBF,IAAY,OAAhB,MAAuC7oB,KAAKgpB,YAAZ,QAAhC,GAEFC,mBAxWO,SAwWW,GAIhB,KACGjpB,KAAKqZ,WAAN,GACArZ,KAAKioB,gBAFP,IAKA,IAAM9B,EAAOnmB,KAAKkmB,MAAlB,KAEA,GAAKC,GAASnmB,KAAd,QAGA,IAAK,IAAIyS,EAAT,EAAgBA,EAAI0T,EAAA,MAApB,OAAuC1T,IACrC,YAAI0T,EAAA,uCAAwD,CAC1DnmB,KAAA,gBACA,SAINkpB,UA7XO,SA6XE,GAAe,WACtB,GAAIlpB,KAAKmpB,cAAT,IAAyBjQ,EAAA,MAAe,CACtC,IAAMkQ,EAAcppB,KAAKkmB,MADa,gBAMlClmB,KAAKkkB,cAAL,IAEDkF,IAAgBlQ,EAAhB,QACAkQ,EAAA,SAAgDlQ,EAHnD,SAKElZ,KAAA,WAAe,kBAAO,gBAAqB,EAD3C,gBAISA,KAAKqpB,aAAerpB,KAAxB,aACLA,KAAA,iBAIJ,+CAEFspB,SAnZO,WAmZC,WACN,GAAKtpB,KAAL,aAEO,CACL,GAAIA,KAAKmkB,UAAYnkB,KAAKgR,cAA1B,OAAgD,OAEhD,IAAMuY,EACJvpB,KAAKgkB,QAAQwF,cACZxpB,KAAKgkB,QAAQyF,UACdzpB,KAAKgkB,QAHe,cAAtB,IAMA,IACEhkB,KAAA,mBAXF0pB,uBAAsB,kBAAO,oBAA7B,MAeJV,YApaO,SAoaI,GACT9P,EAAA,kBAEF6P,UAvaO,SAuaE,GACP,IAAM5C,EAAOnmB,KAAKkmB,MAAlB,KAEA,MAEA,IAAMyD,EAAaxD,EALM,YAUtBnmB,KAAD,aAEAA,KAHF,cAKEkZ,EAAA,iBACAA,EAAA,kBAEAyQ,EAAA,SAKA3pB,KAAA,UAGJ8oB,SAhcO,SAgcC,GACN,IAAM3C,EAAOnmB,KAAKkmB,MAAlB,KAEA,MAOA,GALAhN,EALwB,iBAUpBlZ,KAAJ,SAAmB,OAAOA,KAAP,eAEnB,IAAM6oB,EAAU3P,EAZQ,QAgBxBiN,EAAA,WACA,YAAA0C,EAA0B1C,EAA1B,WAA4CA,EAA5C,WACAA,EAAA,YAAmBA,EAAA,WAAnB,UAEFZ,WApdO,SAodG,GAAc,WACtB,GAAKvlB,KAAL,SAGO,CACL,IAAMimB,GAAiBjmB,KAAKimB,eAAN,IAAtB,QACMxT,EAAIzS,KAAK0mB,kBAAf,GAkBA,IAhBA,IAAAjU,EAAWwT,EAAA,OAAAxT,EAAX,GAAwCwT,EAAA,KAAxC,GACAjmB,KAAA,SAAcimB,EAAA,KAAmB,SAAAxT,GAC/B,OAAO,iBAAwB,WAA/B,OAMFzS,KAAA,WAAe,WACb,cACG,aADH,uBAOGA,KAAL,SAAoB,OAEpB,IAAM4pB,EAAY5pB,KAAlB,eAMA,GAJAA,KAAA,cAxBK,GA4BDA,KAAJ,aAAuB,OAEvBA,KAAA,WAAe,kBAAM,eAArB,WAhCAA,KAAA,SAAcA,KAAK6jB,aAAe5f,EAAOjE,KAAKyiB,SAA9C,IACAziB,KAAA,iBAkCJ6pB,aAzfO,SAyfK,GACV7pB,KAAA,aAAqBA,KAAKkmB,MAAMC,KAAX,UAArB,IAEF2D,iBA5fO,WA4fS,WACRxJ,EAAN,GACMyJ,EAAU/pB,KAAD,UAAmBiS,MAAA,QAAcjS,KAAjC,eAEXA,KAFJ,cACI,CAACA,KADU,eAFD,uBAMd,IANc,IAMd,EANc,iBAMd,EANc,QAONqP,EAAQ,sBAAwB,SAAA6H,GAAC,OAAI,kBACzC,WADyC,GAEzC,WAFF,OAKI7H,GAAJ,GACEiR,EAAA,KAAmB,WAAnB,KAPJ,mDAA4B,IANd,kFAiBdtgB,KAAA,iBAEFooB,SA/gBO,SA+gBC,GACN,IAAM4B,EAAWhqB,KAAjB,cACAA,KAAA,gBACAH,IAAA,GAAsBG,KAAKgS,MAAM,SAAjCnS,Q,20BCjxBS,sBAAO,EAAD,0BAKnB,eALmB,aAMnB,eANa,sBAON,CACPrB,KADO,SAGPC,MAAO,CACLqa,OAAQ,CACN9Z,KADM,QAENG,SAAS,GAEX+iB,YAAa,CACXljB,KADW,OAEXG,QAFW,WAGT,OAAKa,KAAL,UAEOA,KAAKiqB,UAAZ,YAF4B,KAKhC7nB,MAbK,QAcL8nB,UAAW,CACTlrB,KADS,OAETG,QAAS,WAEXiV,SAlBK,QAmBL+V,UAnBK,QAoBL/T,OApBK,QAqBLgU,WAAY,CACVprB,KADU,OAEVG,QAAS,aAEXwV,MAzBK,QA0BL0V,KA1BK,QA2BL3qB,SA3BK,QA4BL4qB,KA5BK,QA6BLC,IAAK,CACHvrB,KADG,OAEHG,QAAS,QAEXqrB,UAjCK,OAkCL3qB,MAAO,MAGTI,KAAM,iBAAO,CACXwqB,WAAY,mBAGd3qB,SAAU,CACRqB,QADQ,WAEN,UACE,UADK,GAEF,qCAFE,MAAP,CAGE,oBAAqBnB,KAHhB,YAIL,mBAAoBA,KAJf,SAKL,oBAAqBA,KALhB,UAML,gBAAiBA,KANZ,MAOL,eAAgBA,KAPX,OAQL,oBAAqBA,KARhB,MASL,mBAAoBA,KATf,SAUL,eAAgBA,KAVX,KAWL,oBAAqBA,KAXhB,UAYFA,KAZE,aAAP,GAaKA,KAbE,gBAAP,GAcKA,KAAK0qB,eAGZC,SAnBQ,WAoBN,OAAOnrB,QAAQQ,KAAf,QAEF4qB,YAtBQ,WAuBN,OAAOprB,QACL,gDACAQ,KAFF,aAOJ2B,QA1EO,WA0EA,WACC0U,EAAgB,CACpB,CAAC,UADmB,YAEpB,CAAC,WAFmB,eAGpB,CAAC,QAHmB,UAIpB,CAAC,SAJH,iBAQAA,EAAA,SAAsB,YAA4B,0BAA3B,EAA2B,KAA5B,EAA4B,KAC5C,wBAAJ,IAA0C,eAASC,EAAUC,EAAnB,OAI9CzU,QAAS,CACPf,MADO,SACF,GACHf,KAAA,iBAEAA,KAAA,WAAkBA,KAAlB,UAEF6qB,UANO,WAOL,IAAM7oB,EAAN,GAWA,OATIhC,KAAJ,UACEgC,EAAA,KACEhC,KAAKK,eAAe,EAApB,KAA2B,CACzBH,YADyB,iBAEzBzB,MAAO,CAAEqsB,MAAM,IACd9qB,KAJL,aAQKA,KAAKK,eAAe,EAApB,KAAP,IAEF0qB,SApBO,WAoBC,WACN,OAAO/qB,KAAKK,eAAe,EAApB,KAA2B,CAChCH,YADgC,gBAEhCzB,MAAO,CACLusB,OAAO,GAETlqB,GAAI,CACFC,MAAQ,SAAAmY,GACNA,EAAA,kBAEA,uBACA,+BAGHlZ,KAbH,YAeFsC,WApCO,WAqCL,OAAOtC,KAAKK,eAAe,OAAQ,CACjCH,YAAa,mBACZ,CACDF,KAAKoW,QAAUpW,KADd,YAEDA,KAAKiC,OAFJ,QAGDjC,KAAK2qB,UAAY3qB,KALnB,eAUJ6C,OAvIO,SAuID,GACJ,IAAMb,EAAW,CAAChC,KAAlB,cADO,EAEaA,KAApB,oBAAI,EAFG,EAEH,IAAOC,EAFJ,EAEIA,KAEXA,EAAA,WACKA,EADQ,MAAb,CAEEkqB,UAAWnqB,KAAKmqB,UAAY,YAFjB,EAGXzH,SAAU1iB,KAAKiqB,YAAcjqB,KAAnB,WAAuCC,EAAA,MAAYyiB,WAE/DziB,EAAA,gBAAsB,CACpBzB,KADoB,OAEpBqB,MAAOG,KAAK8Y,SAEd7Y,EAAOD,KAAKI,mBAAmBJ,KAAxB,MAAPC,GAEA,IAAMM,EAAQP,KAAKwqB,WAAcxqB,KAAKN,UAAYM,KAAlD,MAEA,OAAO8C,EAAEynB,EAAKvqB,KAAKygB,aAAalgB,EAAxB,GAAR,O,ktBChLW,qBAAiB,CAC9B/B,KAD8B,YAG9BC,MAAO,CACLwsB,MADK,QAELC,SAAU1rB,SAGZqD,OAR8B,SAQxB,GAEJ,MAIA,OAHK7C,KAAK4B,OAAN,MAAJ,cAAyB5B,KAAK4B,OAAOY,OACnC2oB,EAAcnrB,KAAKkrB,SAAW,WAA9B,cAEKpoB,EAAE,KAAM,CACb3C,MAAO,EAAF,CACH,aADK,EAEL,mBAAoBH,KAFf,MAGL,sBAAuBA,KAHlB,UAIFA,KAAKmb,cAEVza,MAAO,EAAF,CACH8B,KADK,YAEL,mBAFK,GAGFxC,KAAK4B,QAEVd,GAAId,KAAKorB,iB,qvBCzBA,sBACb,QADa,OAGN,CACP5sB,KADO,cAGPC,MAAO,CACLwsB,MAAOzrB,SAGTqD,OAPO,SAOD,GACJ,OAAOC,EAAE,MAAO,CACd5C,YADc,cAEdC,MAAO,EAAF,CACH,qBAAsBH,KADjB,OAEFA,KAAKmb,cAEVza,MAAOV,KANO,OAOdc,GAAId,KAAKorB,YACRprB,KAAKiC,OARR,a,oFCrBiBkL,EA+BjB,oCACInN,KAAK0I,MAAQ,KACb1I,KAAK2I,MAAQ,KACb3I,KAAK4I,WAAa,KAClB5I,KAAK6I,SAAW,KAChB7I,KAAK8I,MAAQ,KACb9I,KAAK+I,YAAc,KACnB/I,KAAKmH,OAAS,KACdnH,KAAKqH,aAAe,KACpBrH,KAAKwH,UAAY,KACjBxH,KAAKgJ,mBAAqB,KAC1BhJ,KAAKiJ,UAAY,KACjBjJ,KAAKqE,eAAiB,KACtBrE,KAAKkJ,oBAAsB,KAC3BlJ,KAAKmJ,gBAAkB,KACvBnJ,KAAKoJ,mBAAqB,KAC1BpJ,KAAKqJ,cAAgB,KACrBrJ,KAAKsJ,SAAW,KAChBtJ,KAAKuJ,WAAa,KAClBvJ,KAAKwJ,eAAiB,KACtBxJ,KAAKyJ,UAAY,KACjBzJ,KAAK0J,iBAAmB,KACxB1J,KAAK2J,oBAAsB,KAC3B3J,KAAK4J,kBAAoB,KACzB5J,KAAK8J,SAAW,KAChB9J,KAAK6J,WAAa,KAClB7J,KAAK+J,YAAc,KACnB/J,KAAKmD,SAAW,KAChBnD,KAAKgK,aAAe,KACpBhK,KAAKiK,aAAe,KACpBjK,KAAKkK,YAAc,O,49BCpC3B,IAAM+Y,EAAa,eAAO,EAAD,wCAAzB,QAWe,OAAAA,EAAA,OAAkB,CAC/BzkB,KAD+B,SAG/B6sB,QAH+B,WAI7B,MAAO,CACLC,UADK,EAGLC,MAAOvrB,KAAKurB,QAIhB7oB,WAAY,CACVwgB,aAAA,OACAsI,OAAA,QAGF/sB,MAAO,CACL6V,KADK,QAELsO,aAAc,CACZ5jB,KADY,QAEZG,SAAS,GAEX0jB,oBAAqB,CACnB7jB,KADmB,QAEnBG,SAAS,GAEXiV,SAVK,QAWL0O,YAXK,QAYLE,UAAW,CACThkB,KAAM,CAACkc,OADE,QAET/b,QAAS,QAEXssB,QAhBK,QAiBLC,QAjBK,QAkBL3I,YAAa,CACX/jB,KADW,QAEXG,SAAS,GAEXwsB,YAtBK,QAuBLhtB,OAAQ,CACNK,KADM,OAENG,QAAS,YAEXP,WAAY,CACVI,KAAM,CAACQ,QADG,QAEVL,QAAS,sBAIbc,KAjD+B,WAkD7B,MAAO,CACL2rB,kBADK,EAELC,cAFK,EAGLC,gBAHK,EAILlC,WAJK,EAKLmC,cALK,EAML1H,cANK,KAOL2H,MAAO,KAIXlsB,SAAU,CACR6pB,WADQ,WAEN,OAAO3pB,KAAKgsB,MAAMhsB,KAAlB,YAEFisB,eAJQ,WAKN,IAAMC,EAAY7mB,KAAA,IAASrF,KAAKmsB,WAAWnI,QAAzB,MAAwCoI,WAAWpsB,KAArE,qBAEA,OAAKA,KAAL,KAEO,eAAcA,KAAKqsB,cAAcrsB,KAAnB,eAAd,KAAP,IAFuBA,KAAKssB,SAASJ,IAArB,KAIlBK,oBAXQ,WAYN,IAAMtR,EAASjb,KAAKsU,KAAL,QAEX,eAActU,KAFlB,WAIA,OAAOib,GAAP,KAEFuR,mBAlBQ,WAmBN,OAAO,eAAcxsB,KAAd,WAAP,KAEFysB,mBArBQ,WAsBN,GAAIzsB,KAAJ,SACE,OAAO,eAAcA,KAAd,WAAP,IAGF,IAAMuU,EAAWlP,KAAA,IACfrF,KAAKmsB,WAAWO,UAAUjT,MAC1ByB,OAAOlb,KADP,aAECA,KAAKsU,KAAO,GAHE,GAIfjP,KAAA,IAASrF,KAAK2sB,UAAd,GAJF,IAOMH,EAAqBI,MAAMC,SAAS7sB,KAAf,uBAEvB6sB,SAAS7sB,KAFb,oBAIA,OAAO,eAAcqF,KAAA,MAAd,KAAP,KAKFynB,cA1CQ,WA2CN,IAAMC,EAAO/sB,KAAD,KAER,eAAcA,KAAKgtB,cAAchtB,KAFrC,oBACIA,KADQ,UAIZ,OAAO+sB,GAAP,KAEFE,kBAjDQ,WAkDN,OAAOztB,QAAQQ,KAAKgsB,MAAMxS,MAAK,SAAAmH,GAAI,OAAIA,EAAA,UAAvC,OAEF3G,OApDQ,WAqDN,MAAO,CACLgJ,UAAWhjB,KADN,oBAELuU,SAAUvU,KAFL,mBAGLktB,SAAUltB,KAHL,mBAIL+sB,IAAK/sB,KAJA,cAKL8qB,KAAM9qB,KALD,eAMLmtB,gBAAiBntB,KANZ,OAOLotB,OAAQptB,KAAKotB,QAAUptB,KAAKqtB,gBAKlCzb,MAAO,CACLjP,SADK,SACG,GACN,IAAU3C,KAAK4pB,WAAL,IAEZ0D,gBAJK,SAIU,GACbttB,KAAA,kBAEF4pB,UAPK,SAOI,KACP,GAAI2D,KAAQvtB,KAAZ,MAAwB,CACtB,IAAM2gB,EAAO3gB,KAAKgsB,MAAlB,GACArL,EAAA,0CACA3gB,KAAA,wBAA+B2gB,EAAA,UAAiBA,EAAhD,aAGF6M,KAAQxtB,KAAR,OACEA,KAAKgsB,MAAMwB,GAAMC,UAAUhP,OAD7B,8BAKJ9c,QAjJ+B,WAmJzB3B,KAAK4B,OAAOC,eAAhB,eACE,eAAQ,aAAR,OAIJub,QAxJ+B,WAyJ7Bpd,KAAA,UAAiBA,KAAjB,gBAGF8B,QAAS,CACP4rB,SADO,WACC,WAGN1tB,KAHM,mBAKN0pB,uBAAsB,WAEpB,0BAA4B,WACtB,QAAJ,UACE,oBAAyB,EAAzB,cACA,SAAc,0BAA+B,EAA7C,8BAKRiE,mBAhBO,WAiBL,IAAMnQ,EAAMxd,KAAKkmB,MAAjB,QACMyD,EAAanM,EAAA,cAAnB,wBACMoQ,EAAepQ,EAAA,aAAmBA,EAAxC,aAEA,OAAOmM,EACHtkB,KAAA,MAAuBA,KAAA,MAAYskB,EAAA,UAAuBnM,EAAA,aAAvB,EAA8CmM,EAAA,aADpE,IAEbnM,EAFJ,WAIFqQ,aAzBO,WA0BL,OAAOhB,SAAS7sB,KAAKmsB,WAAWO,UAAU5B,KAA1C,EAAiD9qB,KAAK6rB,gBAExDiC,YA5BO,WA6BL,IAAMtQ,EAAMxd,KAAKkmB,MAAjB,QACMyD,EAAanM,EAAA,cAAnB,wBAMA,GAJA,IACExd,KAAA,oBAGEA,KAAK0rB,UAAT,EACE,OAAO1rB,KAAP,YAGFA,KAAA,cAAqBiS,MAAA,KAAWjS,KAAX,eAArB,GAEA,IAAM+tB,EAA0BpE,EAAA,UAAuB3pB,KAAvD,qBACMguB,EAAsBxQ,EAAA,8BAA5B,UAEA,OAAOxd,KAAKiuB,YAAcF,EAA0BC,EAApD,GAEFE,gBA/CO,SA+CQ,GAIb,GAFAluB,KAAA,WAEKA,KAAD,UAAmBA,KAAvB,kBAEO,GAAIkZ,EAAA,UAAc,OAAlB,KAGA,GAAIA,EAAA,UAAc,OAAlB,KACLlZ,KAAA,gBACK,GAAIkZ,EAAA,UAAc,OAAlB,GACLlZ,KAAA,eACK,IAAIkZ,EAAA,UAAc,OAAd,QAAJ,IAAoClZ,KAAK4pB,UAEvC,OADP5pB,KAAA,MAAWA,KAAX,mBAGFkZ,EAAA,sBAVElZ,KAAA,aAYJ8kB,iBAlEO,SAkES,GACd,IAAMqJ,EAASjV,EAAf,OAEA,OAAOlZ,KAAK2C,WACT3C,KADI,cAELA,KAFK,eAGJA,KAAKkmB,MAAMlC,QAAQuC,SAHtB,IAKF6H,sBA1EO,WA2EL,IAAMtU,EAAY,kDAAlB,MAMA,OAJK9Z,KAAL,cACE8Z,EAAA,QAAoB9Z,KAApB,WAGF,GAEFquB,cAnFO,WAoFL,OAAKruB,KAAL,WAEOA,KAAKK,eAAe,aAAc,CACvC5B,MAAO,CACLD,KAAMwB,KAAKpB,aAEZ,CAACoB,KAJJ,eAF6BA,KAAP,cAQxBsuB,cA5FO,WA4FM,WACL5rB,EAA+B,CAAC,CACpClE,KADoC,OAEpCqB,MAAOG,KAAKstB,kBAed,OAXKttB,KAAD,aAAqBA,KAAzB,cACE0C,EAAA,KAAgB,CACdlE,KADc,gBAEdqB,MAAO,WAAQ,eACfglB,KAAM,CACJC,iBAAkB9kB,KADd,iBAEJuuB,QAAS,kBAAO,EAAD,KAAN,sBAAoB,EAAd,iCAKrB,GAEFjsB,WAhHO,WAgHG,WACFmN,EAAU,CACd/O,MAAO,EAAF,GACAV,KADE,kBAAF,CAEHwC,KAAM,SAAUxC,KAAV,OAAwBA,KAAK4B,OAA7B,KAA2C,SAEnD1B,YALc,kBAMdC,MAAO,EAAF,GACAH,KADE,iBAAF,gBAEH,wBAAyBA,KAFpB,KAGL,yBAA0BA,KAHrB,eAILwuB,0BAA2BxuB,KAJtB,UAKJA,KAAK8a,aAAN,QAA4B,IAE9BrY,MAAOzC,KAbO,OAcd0C,WAAY1C,KAdE,gBAedgE,IAfc,UAgBdlD,GAAI,CACFC,MAAQ,SAAAmY,GACNA,EAAA,kBAEA,IAAMiV,EAASjV,EAAf,OAEIiV,EAAA,aAAJ,aACI,EAAJ,sBAA8B,gBAEhCM,QAASzuB,KAAK4oB,YAclB,OAVK5oB,KAAD,UAAkBA,KAAtB,cACEyP,EAAA,GAAaA,EAAA,IAAb,GACAA,EAAA,cAAwBzP,KAAxB,mBAGEA,KAAJ,cACEyP,EAAA,GAAaA,EAAA,IAAb,GACAA,EAAA,cAAwBzP,KAAxB,mBAGKA,KAAKK,eAAe,MAApB,EAGLL,KAAK0uB,gBAAgB1uB,KAHvB,oBAMF2uB,SA9JO,WA+JL3uB,KAAA,MAAaiS,MAAA,KAAWjS,KAAKkmB,MAAMlC,QAAQvG,iBAA3C,kBAEFmR,kBAjKO,WAiKU,WACf5uB,KAAA,iBAAsB,WAChB,EAAJ,iBAEA,oBACA,mBAGJ6uB,kBAzKO,SAyKU,GAAe,WAE9B7uB,KAAA,kBAAuB,WACjB,yBAA4BkZ,EAAhC,gBAEAwQ,uBAAsB,WACpB,cACA,0BAINoF,SApLO,WAqLL,IAAMnO,EAAO3gB,KAAKgsB,MAAMhsB,KAAK4pB,UAA7B,GAEA,MAAW,CACT,IAAK5pB,KAAKgsB,MAAV,OAAwB,OAKxB,OAHAhsB,KAAA,kBACAA,KAAA,WAKFA,KAAA,aACA,IAAI2gB,EAAA,UAAsB3gB,KAAK8uB,YAEjCC,SAnMO,WAoML,IAAMpO,EAAO3gB,KAAKgsB,MAAMhsB,KAAK4pB,UAA7B,GAEA,MAAW,CACT,IAAK5pB,KAAKgsB,MAAV,OAAwB,OAKxB,OAHAhsB,KAAA,UAAiBA,KAAKgsB,MAAtB,YACAhsB,KAAA,WAKFA,KAAA,aACA,IAAI2gB,EAAA,UAAsB3gB,KAAK+uB,YAEjCnG,UAlNO,SAkNE,GAAkB,WACzB,GAAI1P,EAAA,UAAc,OAAlB,IAAgC,CAE9ByP,YAAW,WAAQ,iBACnB,IAAM+D,EAAY1sB,KAAlB,eACAA,KAAA,WAAe,kBAAM0sB,GAAaA,EAAlC,gBAEC1sB,KAAD,UACA,CAAC,OAAD,GAAc,OAAd,eAAsCkZ,EAFjC,WAILlZ,KAAA,aAIFA,KAAA,WAAe,kBAAM,kBAArB,OAEFgvB,SAlOO,WAmOAhvB,KAAL,WAKAA,KAAA,0BACAA,KAPM,mBAcNivB,aAAajvB,KAAb,eACAA,KAAA,cAAqBqd,OAAA,WAAkBrd,KAAlB,iBAArB,QAIJ6C,OAjZ+B,SAiZzB,GACJ,IAAM5C,EAAO,CACXC,YADW,SAEXC,MAAO,CACL,mBACkB,KAAhBH,KAAKojB,SAAL,IACApjB,KAAKojB,QACW,WAAhBpjB,KAAKojB,QAET1gB,WAAY,CAAC,CACXwsB,IADW,MAEX1wB,KAFW,SAGXqB,MAAOG,KAAKgvB,YAIhB,OAAOlsB,EAAE,MAAO7C,EAAM,EACnBD,KAAD,WAAmBA,KADC,eAEpBA,KAAKK,eAAe,EAApB,KAAmC,CACjC5B,MAAO,CACL0wB,MADK,EAELtP,MAAO7f,KAFF,MAGL4f,KAAM5f,KAAK4f,OAEZ,CAAC5f,KARN,wB,2GCrciB2N,EAWjB,oCACI3N,KAAK0I,MAAQ,KACb1I,KAAKqL,MAAQ,KACbrL,KAAK2L,SAAW,KAChB3L,KAAK4L,QAAU,KACf5L,KAAK4N,gBAAkB,KACvB5N,KAAK6L,eAAiB,KACtB7L,KAAK6N,gBAAkB,KACvB7N,KAAK8N,kBAAoB,KACzB9N,KAAK+N,cAAgB,O,gICVvBkV,EAAa,eAAO,EAAD,YAAzB,QAiBe,OAAAA,EAAA,gBAAoC,CACjDzkB,KADiD,WAGjDC,MAAO,CACL2wB,cADK,QAELvP,MAFK,QAGLD,KAHK,QAILsN,SAAU,CACRluB,KAAM,CAACkc,OADC,QAER/b,QAAS,QAEXoV,SAAU,CAAC2G,OARN,QASL8K,YAAa,CACXhnB,KAAM,CAACkc,OADI,QAEX/b,QAAS,GAEXkwB,UAAW,CACTrwB,KAAM,CAACkc,OADE,QAET/b,QAAS,GAEXmwB,WAAY,CACVtwB,KAAM,CAACkc,OADG,QAEV/b,QAAS,GAEXowB,SAAU,CACRvwB,KAAM,CAACkc,OADC,QAER/b,QAAS,GAEXqwB,WAAY,CACVxwB,KAAM,CAACkc,OADG,QAEV/b,QAAS,GAEXswB,eA7BK,QA8BL1M,YA9BK,QA+BL2M,UAAW,CACT1wB,KADS,OAETG,QAAS,MAEXwwB,UAAW,CACT3wB,KADS,OAETG,QAAS,MAEXiuB,OAAQ,CACNpuB,KAAM,CAACkc,OADD,QAEN/b,QAAS,OAIbc,KAAM,iBAAO,CACX2vB,UADW,EAEXC,UAFW,EAGXC,YAHW,KAIXC,gBAJW,EAKX5D,WAAY,CACVO,UAAW,CACTK,IADS,EAETjC,KAFS,EAGTkF,OAHS,EAIThF,MAJS,EAKTvR,MALS,EAMTwB,OANS,EAOTgV,UAPS,EAQTzG,aARS,EAST0G,WAAY,GAEdlM,QAAS,CACP+I,IADO,EAEPjC,KAFO,EAGPkF,OAHO,EAIPhF,MAJO,EAKPvR,MALO,EAMPwB,OANO,EAOPgV,UAPO,EAQPzG,aAAc,IAGlBsC,gBA5BW,EA6BXqE,WA7BW,EA8BXC,gBA9BW,EA+BX9C,iBA/BW,EAgCXX,UAhCW,EAiCX0D,YAjCW,EAkCXC,WAlCW,0BAmCXC,eAAgB,IAGlBzwB,SAAU,CACR0wB,aADQ,WAEN,IAAMC,EAAIzwB,KAAKmsB,WAAf,UACMuE,EAAI1wB,KAAKmsB,WAAf,QACMwE,IAAiC,IAAhB3wB,KAAKojB,OAAmBqN,EAAxB,WAAuCA,EAAxC,OAAtB,EACMlc,EAAWlP,KAAA,IAASorB,EAAT,MAAkBC,EAAnC,OACI5F,EAAJ,EAEA,GADAA,GAAQ9qB,KAAK8qB,KAAO6F,GAAiBpc,EAAWkc,EAAxC,OAAR,EACIzwB,KAAJ,QAAkB,CAChB,IAAMktB,EAAWN,MAAM1R,OAAOlb,KAAb,WACbywB,EADa,MAEbprB,KAAA,IAASorB,EAAT,MAAkBvV,OAAOlb,KAF7B,WAIA8qB,GAAQ9qB,KAAK8qB,MAAL,EAAwB2F,EAAhC,MAKF,OAHIzwB,KAAJ,YAAoB8qB,GAAQ+B,SAAS7sB,KAAjB,YAChBA,KAAJ,aAAqB8qB,GAAQ+B,SAAS7sB,KAAjB,aAErB,GAEFiuB,YApBQ,WAqBN,IAAMwC,EAAIzwB,KAAKmsB,WAAf,UACMuE,EAAI1wB,KAAKmsB,WAAf,QACIY,EAAJ,EASA,OAPI/sB,KAAJ,MAAc+sB,GAAO0D,EAAA,OAAWC,EAAlB,SACd,IAAI1wB,KAAKojB,OAAkB2J,GAAO0D,EAAlC,UACK1D,GAAO0D,EAAA,IAAQzwB,KAAf,YACDA,KAAJ,UAAkB+sB,GAAO/sB,KAAK+sB,KAAO0D,EAAZ,OAAuBA,EAA9B,QACdzwB,KAAJ,WAAmB+sB,GAAOF,SAAS7sB,KAAhB,WACfA,KAAJ,cAAsB+sB,GAAOF,SAAS7sB,KAAhB,cAEtB,GAEF4wB,aAlCQ,WAmCN,QAAS5wB,KAAKiC,OAAP,aAA6BjC,KAAKmC,aAAlC,aAA8DnC,KAA9D,aAAkFA,KAAzF,iBAIJ4R,MAAO,CACLwC,SADK,SACG,GACN3U,GAAOO,KAAP,kBAEF2C,SAJK,SAIG,GACF3C,KAAJ,WAEAP,EAAMO,KAAH,eAAyBA,KAA5B,mBAEF0vB,UATK,mBAULC,UAAW,oBAGbkB,YA1IiD,WA2I/C7wB,KAAA,+BAAwBqd,QAG1Bvb,QAAS,CACPgvB,iBADO,WAEL,MAAO,CACLb,UADK,EAELC,WAFK,EAGL1G,aAHK,EAILuD,IAAK/sB,KAAK2vB,WAAa3vB,KAJlB,UAKLgwB,OAAQhwB,KAAK2vB,WAAa3vB,KALrB,UAML8qB,KAAM9qB,KAAK0vB,WAAa1vB,KANnB,UAOLgrB,MAAOhrB,KAAK0vB,WAAa1vB,KAPpB,UAQLib,OARK,EASLxB,MAAO,IAGXiU,SAdO,aAePpB,SAfO,SAeC,GACN,OAAO,gBAA8B,IAAhBtsB,KAAKojB,OACtBpjB,KADiB,aAEjBA,KAAKqsB,cAAcrsB,KAAnB,aAFJ,KAIF+wB,QApBO,WAqBL,OAAO,gBAA8B,IAAhB/wB,KAAKojB,OACtBpjB,KADiB,YAEjBA,KAAKgtB,cAAchtB,KAFvB,eAIFqsB,cAzBO,SAyBM,KACX,IAAM2E,EAAYlG,EAAA,EAAmB9qB,KAAnB,UAAlB,GAQA,OALE8qB,IADI9qB,KAAD,MAAcA,KAAf,QAA8BgxB,EAAlC,EACS3rB,KAAA,IAASylB,EAAT,EAAP,GAEOzlB,KAAA,MAAP,IAGKylB,EAAO9qB,KAAd,iBAEFgtB,cApCO,SAoCM,GACX,IAAMiE,EAAiBjxB,KAAvB,iBACMkxB,EAAQlxB,KAAKqwB,YAAnB,EACM3D,EAAY1sB,KAAKmsB,WAAvB,UACMgF,EAAgBnxB,KAAKmsB,WAAWnI,QAAtC,OACMoN,EAAcrE,EAApB,EACMsE,EAAgBH,EANE,EAyBxB,OAfIG,GACFrxB,KADE,gBAIF0sB,EAAA,IAJF,EAMEK,EAAM/sB,KAAKqwB,aAAe3D,EAAA,IAD1B,GAGS2E,IAAkBrxB,KAAtB,cACL+sB,EAAMmE,EAAA,EADyC,GAGtCnE,EAAM/sB,KAAN,cAA2BA,KAA/B,gBACL+sB,EAAM/sB,KAAKqwB,YAAX,IAGKtD,EAAA,MAAP,GAEFuE,aA/DO,WAgEAtxB,KAAL,WAEAA,KAAA,YAEFuxB,eApEO,WAqELvxB,KAAA,mBAEAA,KAAA,cAEFwxB,oBAzEO,WA0EDxxB,KAAJ,YACEA,KAAA,YAAmBA,KAAK+vB,eAAiB,EAAI/vB,KAA7C,iBAGJyxB,oBA9EO,WA+EL,QAAIzxB,KAAKojB,OAAT,CACA,IAAIsO,EAAK1xB,KAAT,eACA,QAAW,CACT,aAAIqd,OAAA,6BAEF,YADArd,KAAA,mBAGF0xB,EAAKA,EAAL,aAEF1xB,KAAA,oBAEF2xB,WA1FO,aA2FPvD,sBA3FO,WA2Fc,WACbtU,EAAY,kDAAlB,MAEMuO,EAAUvO,EAAhB,MAWA,OATAA,EAAA,MAAmB,SAAAZ,GACb,EAAJ,aACEmP,GAAWA,EAAX,GAGF,YAAiBnP,EAAjB,QACA,YAAiBA,EAAjB,SAGF,GAEF0Y,eA3GO,WA4GL,OAAK5xB,KAAL,UAEOqd,OAAA,aACLwU,SAAA,gBADF,aAF4B,GAK9BC,cAjHO,WAkHL,OAAK9xB,KAAL,UAEOqd,OAAA,aACLwU,SAAA,gBADF,WAF4B,GAK9BE,aAvHO,WAwHL,OAAK/xB,KAAL,UAEOqd,OAAA,aACLwU,SAAA,gBADF,UAF4B,GAK9BG,4BA7HO,SA6HoB,GACzB,IAAMC,EAAOP,EAAb,wBACA,MAAO,CACL3E,IAAK1nB,KAAA,MAAW4sB,EADX,KAELnH,KAAMzlB,KAAA,MAAW4sB,EAFZ,MAGLjC,OAAQ3qB,KAAA,MAAW4sB,EAHd,QAILjH,MAAO3lB,KAAA,MAAW4sB,EAJb,OAKLxY,MAAOpU,KAAA,MAAW4sB,EALb,OAMLhX,OAAQ5V,KAAA,MAAW4sB,EAAX,UAGZC,QAxIO,SAwIA,GACL,IAAKR,IAAO1xB,KAAZ,UAA4B,OAAO,KAEnC,IAAMiyB,EAAOjyB,KAAKgyB,4BAHI,GAMtB,QAAIhyB,KAAKojB,OAAkB,CACzB,IAAM3gB,EAAQ4a,OAAA,iBAAd,GAEA4U,EAAA,KAAYpF,SAASpqB,EAArB,YACAwvB,EAAA,IAAWpF,SAASpqB,EAApB,WAGF,UAEF0vB,UAvJO,SAuJE,GAAgB,WACvBzI,uBAAsB,WACpB,IAAMgI,EAAK,QAAX,QAEKA,GAAL,SAAWA,EAAA,eAKXA,EAAA,6BACAU,IACAV,EAAA,sBANEU,QASNC,gBArKO,WAqKQ,WACb,OAAO,IAAIC,SAAc,SAAAC,GAAO,OAAI7I,uBAAsB,WACxD,kBAAuB,iBAAsB,EAA7C,SACA6I,WAGJC,iBA3KO,WA2KS,WACdxyB,KAAA,+BAAwBqd,OACxBrd,KAAA,sBACAA,KAAA,sBACAA,KAAA,UAAiB6xB,SAAA,gBAAjB,YAEA,IAAM1F,EANQ,GASd,IAAKnsB,KAAD,cAAsBA,KAA1B,SACEmsB,EAAA,UAAuBnsB,KAAvB,uBACK,CACL,IAAM0sB,EAAY1sB,KAAlB,eACA,MAAgB,OAEhBmsB,EAAA,UAAuBnsB,KAAKkyB,QAA5B,GACA/F,EAAA,qBAAkCO,EAAlC,YACA,IAAI1sB,KAAKojB,OAGP+I,EAAA,oBAAiCO,EAAjC,UAEAP,EAAA,sBAKJnsB,KAAA,WAAe,WACbmsB,EAAA,QAAqB,UAAa,QAAlC,SAEA,uB","file":"js/chunk-2c93bd02.c14b42c8.js","sourcesContent":["import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n","// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Toggleable,\n Transitionable\n).extend({\n name: 'v-alert',\n\n props: {\n border: {\n type: String,\n validator (val: string) {\n return [\n 'top',\n 'right',\n 'bottom',\n 'left',\n ].includes(val)\n },\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n coloredBorder: Boolean,\n dense: Boolean,\n dismissible: Boolean,\n icon: {\n default: '',\n type: [Boolean, String],\n validator (val: boolean | string) {\n return typeof val === 'string' || val === false\n },\n },\n outlined: Boolean,\n prominent: Boolean,\n text: Boolean,\n type: {\n type: String,\n validator (val: string) {\n return [\n 'info',\n 'error',\n 'success',\n 'warning',\n ].includes(val)\n },\n },\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n __cachedBorder (): VNode | null {\n if (!this.border) return null\n\n let data: VNodeData = {\n staticClass: 'v-alert__border',\n class: {\n [`v-alert__border--${this.border}`]: true,\n },\n }\n\n if (this.coloredBorder) {\n data = this.setBackgroundColor(this.computedColor, data)\n data.class['v-alert__border--has-color'] = true\n }\n\n return this.$createElement('div', data)\n },\n __cachedDismissible (): VNode | null {\n if (!this.dismissible) return null\n\n const color = this.iconColor\n\n return this.$createElement(VBtn, {\n staticClass: 'v-alert__dismissible',\n props: {\n color,\n icon: true,\n small: true,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: () => (this.isActive = false),\n },\n }, [\n this.$createElement(VIcon, {\n props: { color },\n }, '$cancel'),\n ])\n },\n __cachedIcon (): VNode | null {\n if (!this.computedIcon) return null\n\n return this.$createElement(VIcon, {\n staticClass: 'v-alert__icon',\n props: { color: this.iconColor },\n }, this.computedIcon)\n },\n classes (): object {\n const classes: Record = {\n ...VSheet.options.computed.classes.call(this),\n 'v-alert--border': Boolean(this.border),\n 'v-alert--dense': this.dense,\n 'v-alert--outlined': this.outlined,\n 'v-alert--prominent': this.prominent,\n 'v-alert--text': this.text,\n }\n\n if (this.border) {\n classes[`v-alert--border-${this.border}`] = true\n }\n\n return classes\n },\n computedColor (): string {\n return this.color || this.type\n },\n computedIcon (): string | boolean {\n if (this.icon === false) return false\n if (typeof this.icon === 'string' && this.icon) return this.icon\n if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n return `$${this.type}`\n },\n hasColoredIcon (): boolean {\n return (\n this.hasText ||\n (Boolean(this.border) && this.coloredBorder)\n )\n },\n hasText (): boolean {\n return this.text || this.outlined\n },\n iconColor (): string | undefined {\n return this.hasColoredIcon ? this.computedColor : undefined\n },\n isDark (): boolean {\n if (\n this.type &&\n !this.coloredBorder &&\n !this.outlined\n ) return true\n\n return Themeable.options.computed.isDark.call(this)\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('outline')) {\n breaking('outline', 'outlined', this)\n }\n },\n\n methods: {\n genWrapper (): VNode {\n const children = [\n this.$slots.prepend || this.__cachedIcon,\n this.genContent(),\n this.__cachedBorder,\n this.$slots.append,\n this.$scopedSlots.close\n ? this.$scopedSlots.close({ toggle: this.toggle })\n : this.__cachedDismissible,\n ]\n\n const data: VNodeData = {\n staticClass: 'v-alert__wrapper',\n }\n\n return this.$createElement('div', data, children)\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-alert__content',\n }, this.$slots.default)\n },\n genAlert (): VNode {\n let data: VNodeData = {\n staticClass: 'v-alert',\n attrs: {\n role: 'alert',\n },\n class: this.classes,\n style: this.styles,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }\n\n if (!this.coloredBorder) {\n const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n data = setColor(this.computedColor, data)\n }\n\n return this.$createElement('div', data, [this.genWrapper()])\n },\n /** @public */\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (h): VNode {\n const render = this.genAlert()\n\n if (!this.transition) return render\n\n return h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [render])\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main\"},[(_vm.nCargoId===null)?_c('v-container',{staticClass:\"pt-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\" Listados de Cargos en curso \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Buscar\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}}),_c('v-spacer')],1),[_c('v-data-table',{staticClass:\"elevation-1 slim\",attrs:{\"headers\":_vm.headers,\"search\":_vm.search,\"items\":_vm.itemData,\"item-key\":\"nCargoId\",\"footer-props\":{\n 'items-per-page-options-cargos': [5, 10, 20, 50]\n }},scopedSlots:_vm._u([{key:\"item.action\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-icon',{attrs:{\"color\":\"green\",\"title\":\"Postulantes Inscriptos\"},on:{\"click\":function($event){return _vm.openPostulants(item)}}},[_vm._v(\" mdi-human-queue \")])]}},{key:\"item.dFechaFinCarga\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(item.dFechaFinCarga ? new Intl.DateTimeFormat(Intl.DateTimeFormat().resolvedOptions().locale).format(new Date(item.dFechaFinCarga)) : null)+\" \")])]}},{key:\"item.sEstadoCargoTemplate\",fn:function(ref){\n var item = ref.item;\nreturn [(item.sEstadoCargo==='BORRADOR')?_c('v-alert',{attrs:{\"dense\":\"\",\"type\":\"petrol\"}},[_vm._v(\"BORRADOR\")]):_vm._e(),(item.sEstadoCargo==='ABIERTO')?_c('v-alert',{attrs:{\"dense\":\"\",\"type\":\"primary\"}},[_vm._v(\"ABIERTO\")]):_vm._e(),(item.sEstadoCargo==='ADMISION')?_c('v-alert',{attrs:{\"dense\":\"\",\"type\":\"secondary\"}},[_vm._v(\"ADMISION\")]):_vm._e()]}}],null,false,4191641173)})]],2)],1)],1)],1):_vm._e(),(_vm.nCargoId)?_c('v-container',{staticClass:\"pt-0\",attrs:{\"fluid\":\"\"}},[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.back}},[_c('v-icon',[_vm._v(\"mdi-chevron-double-left\")]),_vm._v(\" Volver\")],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.nameCargo)+\" \"),_c('v-spacer'),_c('v-text-field',{attrs:{\"append-icon\":\"mdi-magnify\",\"label\":\"Buscar\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.searchPostulantes),callback:function ($$v) {_vm.searchPostulantes=$$v},expression:\"searchPostulantes\"}})],1),[_c('v-data-table',{staticClass:\"elevation-1 slim\",attrs:{\"headers\":_vm.headersPostulantes,\"items\":_vm.itemPostulantes,\"item-key\":\"sCUIL\",\"search\":_vm.searchPostulantes,\"rows-per-page-items\":[20, 10, 30, 40],\"item-class\":_vm.green},scopedSlots:_vm._u([{key:\"item.action\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-icon',{attrs:{\"color\":\"green\",\"title\":\"Abrir Certificaci�n\"},on:{\"click\":function($event){return _vm.openCVForCertificate(item)}}},[_vm._v(\" mdi-file-document-outline \")])]}},{key:\"item.nPorcentaje\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-progress-linear',{attrs:{\"color\":\"blue-grey\",\"height\":\"25\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var value = ref.value;\nreturn [_c('strong',[_vm._v(_vm._s(Math.ceil(value))+\"%\")])]}}],null,true),model:{value:(item.nPorcentaje),callback:function ($$v) {_vm.$set(item, \"nPorcentaje\", $$v)},expression:\"item.nPorcentaje\"}})]}}],null,false,1910112174)})]],2)],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Certificar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Certificar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Certificar.vue?vue&type=template&id=cea750f6&\"\nimport script from \"./Certificar.vue?vue&type=script&lang=js&\"\nexport * from \"./Certificar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardTitle,VCol,VContainer,VDataTable,VIcon,VProgressLinear,VRow,VSpacer,VTextField})\n","// `SameValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","import CargosModel from '../models/usp_CargoGetAll';\r\nimport Axios from 'axios';\r\nimport usp_PostulanteGetByCargoId from '../models/usp_PostulanteGetByCargoId';\r\n\r\nexport default class CargosService {\r\n\r\n constructor() {\r\n }\r\n\r\n async GetAll() {\r\n var res = await Axios.get('/api/cargos/getall');\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new CargosModel();\r\n ret.nCargoId = itm.nCargoId;\r\n ret.sExpedienteNro = itm.sExpedienteNro;\r\n ret.nCargoPJId = itm.nCargoPJId;\r\n ret.sCargo = itm.sCargo;\r\n ret.sDependenciaPJTipoId = itm.sDependenciaPJTipoId;\r\n ret.sDependencia = itm.sDependencia;\r\n ret.caratula = itm.caratula;\r\n ret.sDistritoId = itm.sDistritoId;\r\n ret.sDistrito = itm.sDistrito;\r\n ret.sArchivoResolucion = itm.sArchivoResolucion;\r\n ret.sArchivoGrillaPuntajes = itm.sArchivoGrillaPuntajes;\r\n ret.sAcordadas = itm.sAcordadas;\r\n ret.nAcordada = itm.nAcordada;\r\n ret.nVacantes = itm.nVacantes;\r\n ret.nInscriptos = itm.nInscriptos;\r\n ret.nAdmitidos = itm.nAdmitidos;\r\n ret.dFechaPublicacion = itm.dFechaPublicacion;\r\n ret.dFechaFinCarga = itm.dFechaFinCarga;\r\n ret.nTernados = itm.nTernados;\r\n ret.bPublicacionAdmision = itm.bPublicacionAdmision;\r\n ret.bPublicacionPuntaje = itm.bPublicacionPuntaje;\r\n ret.finalizado = itm.finalizado;\r\n ret.nEstadoId = itm.nEstadoId;\r\n ret.sEstadoCargo = itm.sEstadoCargo;\r\n ret.bPublicacionTernado = itm.bPublicacionTernado; \r\n ret.bTieneEvaluacion = itm.bTieneEvaluacion;\r\n ret.bMostrar = itm.bMostrar;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async CargoGetAllCriteria(id:string) {\r\n var res = await Axios.get('/api/cargos/cargogetallcriteria?id='+ id);\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new CargosModel();\r\n ret.nCargoId = itm.nCargoId;\r\n ret.sExpedienteNro = itm.sExpedienteNro;\r\n ret.nCargoPJId = itm.nCargoPJId;\r\n ret.sCargo = itm.sCargo;\r\n ret.sDependenciaPJTipoId = itm.sDependenciaPJTipoId;\r\n ret.sDependencia = itm.sDependencia;\r\n ret.caratula = itm.caratula;\r\n ret.sDistritoId = itm.sDistritoId;\r\n ret.sDistrito = itm.sDistrito;\r\n ret.sAcordadas = itm.sAcordadas;\r\n \r\n ret.nVacantes = itm.nVacantes;\r\n ret.nInscriptos = itm.nInscriptos;\r\n ret.nAdmitidos = itm.nAdmitidos;\r\n ret.dFechaPublicacion = itm.dFechaPublicacion;\r\n ret.dFechaFinCarga = itm.dFechaFinCarga;\r\n ret.nTernados = itm.nTernados;\r\n ret.bPublicacionAdmision = itm.bPublicacionAdmision;\r\n ret.bPublicacionPuntaje = itm.bPublicacionPuntaje;\r\n ret.finalizado = itm.finalizado;\r\n //ret.nCantidad = itm.nCantidad;\r\n //ret.Cargo_Distrito = itm.sCargo + ', ' + itm.sDistrito;\r\n \r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n\r\n async GetAllFinalized() {\r\n var res = await Axios.get('/api/cargos/getallfinalized');\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new CargosModel();\r\n ret.nCargoId = itm.nCargoId;\r\n ret.sExpedienteNro = itm.sExpedienteNro;\r\n ret.nCargoPJId = itm.nCargoPJId;\r\n ret.sCargo = itm.sCargo;\r\n ret.sDependenciaPJTipoId = itm.sDependenciaPJTipoId;\r\n ret.sDependencia = itm.sDependencia;\r\n ret.caratula = itm.caratula;\r\n ret.sDistritoId = itm.sDistritoId;\r\n ret.sDistrito = itm.sDistrito;\r\n ret.sAcordadas = itm.sAcordadas;\r\n ret.nAcordada = itm.nAcordada;\r\n ret.nVacantes = itm.nVacantes;\r\n ret.nInscriptos = itm.nInscriptos;\r\n ret.nAdmitidos = itm.nAdmitidos;\r\n ret.dFechaPublicacion = itm.dFechaPublicacion;\r\n ret.dFechaFinCarga = itm.dFechaFinCarga;\r\n ret.nTernados = itm.nTernados;\r\n ret.bPublicacionAdmision = itm.bPublicacionAdmision;\r\n ret.bPublicacionPuntaje = itm.bPublicacionPuntaje;\r\n ret.bPublicacionTernado = itm.bPublicacionTernado; \r\n ret.finalizado\r\n\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async GetAllActive() {\r\n var res = await Axios.get('/api/cargos/getallactive');\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new CargosModel();\r\n ret.nCargoId = itm.nCargoId;\r\n ret.sExpedienteNro = itm.sExpedienteNro;\r\n ret.nCargoPJId = itm.nCargoPJId;\r\n ret.sCargo = itm.sCargo;\r\n ret.sDependenciaPJTipoId = itm.sDependenciaPJTipoId;\r\n ret.sDependencia = itm.sDependencia;\r\n ret.caratula = itm.caratula;\r\n ret.sDistritoId = itm.sDistritoId;\r\n ret.sArchivoResolucion = itm.sArchivoResolucion;\r\n ret.sArchivoGrillaPuntajes = itm.sArchivoGrillaPuntajes;\r\n ret.sDistrito = itm.sDistrito;\r\n ret.sAcordadas = itm.sAcordadas;\r\n ret.nVacantes = itm.nVacantes;\r\n ret.nInscriptos = itm.nInscriptos;\r\n ret.nAdmitidos = itm.nAdmitidos;\r\n ret.dFechaPublicacion = itm.dFechaPublicacion;\r\n ret.dFechaFinCarga = itm.dFechaFinCarga;\r\n ret.nTernados = itm.nTernados;\r\n ret.bPublicacionAdmision = itm.bPublicacionAdmision;\r\n ret.bPublicacionPuntaje = itm.bPublicacionPuntaje;\r\n ret.bPublicacionTernado = itm.bPublicacionTernado; \r\n ret.nEstadoId = itm.nEstadoId;\r\n ret.sEstadoCargo = itm.sEstadoCargo;\r\n ret.finalizado=itm.finalizado;\r\n ret.bMostrar = itm.bMostrar;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n \r\n async PostulanteGetByCargoId(nCargoId:number) {\r\n var res = await Axios.get('/api/cargos/postulantegetbycargoid?id=' + nCargoId);\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PostulanteGetByCargoId();\r\n ret.sCUIL = itm.sCUIL;\r\n ret.sSexo = itm.sSexo;\r\n ret.sApellidos = itm.sApellidos;\r\n ret.sNombres = itm.sNombres;\r\n ret.sMail = itm.sMail;\r\n ret.nPorcentaje = itm.nPorcentaje;\r\n ret.sCargo = itm.sCargo;\r\n ret.sDependencia = itm.sDependencia;\r\n ret.sDistrito = itm.sDistrito;\r\n ret.nCargoPostulanteId = itm.nCargoPostulanteId;\r\n ret.sConcurso = itm.sConcurso;\r\n ret.dFechaFinCarga = itm.dFechaFinCarga;\r\n ret.nPuntajeAntecedente = itm.nPuntajeAntecedente;\r\n ret.nPuntajeEscrito = itm.nPuntajeEscrito;\r\n ret.nPuntajeEntrevista = itm.nPuntajeEntrevista;\r\n ret.nPuntajeTotal = itm.nPuntajeTotal;\r\n ret.bTernado = itm.bTernado;\r\n ret.bDesignado = itm.bDesignado;\r\n ret.bJustificacion = itm.bJustificacion;\r\n ret.bAdmitido = itm.bAdmitido;\r\n ret.nCargoId = itm.nCargoId;\r\n ret.bPosibleAdmision = itm.bPosibleAdmision;\r\n ret.bFaltanteCertificar = itm.bFaltanteCertificar;\r\n ret.dFechaInscripcion = itm.dFechaInscripcion;\r\n ret.dFechaBaja = itm.dFechaBaja;\r\n ret.sCelular = itm.sCelular; \r\n ret.dNacimiento = itm.dNacimiento;\r\n ret.nProvinciaId = itm.nProvinciaId;\r\n ret.nLocalidadId = itm.nLocalidadId;\r\n ret.Nombre_CUIL = itm.sApellidos + ', ' + itm.sNombres + ' - ' + itm.sCUIL;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n\r\n async ConfigurarPublicacionCargo(nCargoId: number, bPublicacionAdmision: boolean, bPublicacionPuntaje: boolean) {\r\n let data = {\r\n nCargoId: nCargoId,\r\n bPublicacionAdmision: bPublicacionAdmision,\r\n bPublicacionPuntaje: bPublicacionPuntaje \r\n }\r\n let res = await Axios.post('/api/cargos/CargoUpdatePublicacion', data);\r\n return res.data;\r\n }\r\n async CambiarEstado(nCargoId: number, nEstadoId: number) {\r\n let data = {\r\n nCargoId: nCargoId,\r\n nEstadoId: nEstadoId\r\n }\r\n let res = await Axios.post('/api/cargos/cambiarestado', data);\r\n return res.data;\r\n }\r\n async getfechadesde() {\r\n let res = await Axios.get('/api/cargos/getfechadesde');\r\n return res.data;\r\n }\r\n async getfechahasta() {\r\n let res = await Axios.get('/api/cargos/getfechahasta');\r\n \r\n return res.data;}\r\n}","import VSubheader from './VSubheader'\n\nexport { VSubheader }\nexport default VSubheader\n","export default class usp_PostulanteGetByCUIL {\r\n sCUIL:string | null;\r\n nDocumento: number | null;\r\n sSexo: string | null;\r\n sApellidos: string | null;\r\n sNombres: string | null; \r\n sDomicilioConstituido: string | null;\r\n sDomicilioReal: string | null;\r\n nProvinciaId: number |null;\r\n nLocalidadId: number | null;\r\n sTelefono: string | null;\r\n sCelular: string | null;\r\n sLaboral: string | null;\r\n sMail: string | null;\r\n sEstadoCivil: string | null;\r\n dNacimiento: string | null;\r\n bPoderJudicial: boolean | null;\r\n bAntecedente: boolean | null;\r\n bPreparacion: boolean | null;\r\n nPorcentaje: number | null;\r\n sFotoPerfil: string | null; \r\n sRolId: string | null;\r\n bAdmitido: boolean | null;\r\n\r\n\r\n constructor() {\r\n this.sCUIL = null;\r\n this.nDocumento = null;\r\n this.sSexo = null;\r\n this.sApellidos = null;\r\n this.sNombres = null;\r\n this.sDomicilioConstituido = null;\r\n this.sDomicilioReal = null;\r\n this.nProvinciaId = null;\r\n this.nLocalidadId = null;\r\n this.sTelefono = null;\r\n this.sCelular = null;\r\n this.sLaboral = null;\r\n this.sMail = null;\r\n this.sEstadoCivil = null;\r\n this.dNacimiento = null;\r\n this.bPoderJudicial = null;\r\n this.bAntecedente = null;\r\n this.bPreparacion = null;\r\n this.nPorcentaje = null;\r\n this.sFotoPerfil = null;\r\n this.nDocumento = null;\r\n this.sRolId = null;\r\n this.bAdmitido = null; \r\n }\r\n}\r\n\r\n","import VMenu from './VMenu'\n\nexport { VMenu }\nexport default VMenu\n","import VChip from './VChip'\n\nexport { VChip }\nexport default VChip\n","export default class usp_CargoGetWithCUIL {\r\n nCargoId: number | null;\r\n sCargo: string | null;\r\n sDependencia: string | null;\r\n sDistrito: string | null;\r\n sExpedienteNro: string | null;\r\n sAcordadas: string | null;\r\n dFechaInscripcion: Date | null;\r\n dFechaFinCarga: Date | null;\r\n dFechaPublicacion: Date | null;\r\n finalizado: number | null;\r\n dFechaBaja: Date | null;\r\n dFechaServerHoy: Date | null;\r\n nEstadoId:number |null;\r\n sEstadoCargo: string | null;\r\n nCargoPostulanteId: number | null;\r\n constructor() {\r\n this.nCargoId = null;\r\n this.sCargo = null;\r\n this.sDependencia = null;\r\n this.sDistrito = null;\r\n this.sExpedienteNro = null;\r\n this.sAcordadas = null;\r\n this.dFechaInscripcion = null;\r\n this.dFechaFinCarga = null;\r\n this.dFechaPublicacion = null;\r\n this.finalizado = null;\r\n this.dFechaBaja = null;\r\n this.dFechaServerHoy = null;\r\n this.nEstadoId = null;\r\n this.sEstadoCargo = null;\r\n this.nCargoPostulanteId = null;\r\n }\r\n}\r\n","export default class usp_PreparacionGetByCUIL {\r\n nPreparacionId: number | null;\r\n sCUIL: string | null;\r\n nTipo: number | null;\r\n sTipo: string | null;\r\n sTipoPuntaje: string | null;\r\n nSubtipo: number | null;\r\n sSubtipo: string | null;\r\n sCargoDocente: string | null;\r\n sDescripcion: string | null;\r\n sArchivo: string | null;\r\n sEstado: string | null;\r\n sMotivoRechazo: string | null;\r\n nHoras: number | null;\r\n bTienePuntaje: boolean | null;\r\n dFechaAlta: string | null;\r\n dFechaBaja: string | null;\r\n nAntecendentIdMove: number | null;\r\n bSincronizarCVMaster: boolean | null;\r\n \r\n constructor() {\r\n this.sCUIL = null;\r\n this.nPreparacionId = null;\r\n this.nTipo = null;\r\n this.sTipo = null;\r\n this.sTipoPuntaje = null;\r\n this.nSubtipo = null;\r\n this.sSubtipo = null;\r\n this.sCargoDocente = null;\r\n this.sDescripcion = null;\r\n this.sArchivo = null;\r\n this.sEstado = null;\r\n this.sMotivoRechazo = null;\r\n this.nHoras = null;\r\n this.bTienePuntaje = null;\r\n this.dFechaAlta = null;\r\n this.dFechaBaja = null;\r\n this.nAntecendentIdMove = null;\r\n this.bSincronizarCVMaster = null;\r\n \r\n }\r\n}","export default class usp_CargoGetAll {\r\n nCargoId: number | null;\r\n sExpedienteNro: string | null; \r\n nCargoPJId: number | null;\r\n sCargo: string | null;\r\n sDependenciaPJTipoId: string | null;\r\n sDependencia: string | null;\r\n caratula: string | null;\r\n sDistritoId: string | null;\r\n sArchivoResolucion: string | null;\r\n sArchivoGrillaPuntajes: string | null;\r\n sDistrito: string | null;\r\n sAcordadas: string | null;\r\n nVacantes: number | null;\r\n nInscriptos: number | null;\r\n nAdmitidos: number | null;\r\n dFechaPublicacion: Date | null;\r\n dFechaFinCarga: Date | null;\r\n nTernados: number | null;\r\n bPublicacionAdmision: boolean | null;\r\n bPublicacionPuntaje: boolean | null;\r\n bPublicacionTernado: boolean | null; \r\n bTieneEvaluacion: boolean | null;\r\n bMostrar: boolean | null;\r\n finalizado: number | null;\r\n nAcordada: number | null;\r\n nEstadoId: number | null;\r\n sEstadoCargo: number | null;\r\n constructor() {\r\n this.nCargoId = null;\r\n this.sExpedienteNro = null; \r\n this.nCargoPJId = null;\r\n this.sCargo = null;\r\n this.sDependenciaPJTipoId = null;\r\n this.sDependencia = null;\r\n this.caratula = null;\r\n this.sDistritoId = null;\r\n this.sDistrito = null;\r\n this.sArchivoResolucion = null;\r\n this.sArchivoGrillaPuntajes = null;\r\n this.sAcordadas = null;\r\n this.nAcordada = null;\r\n this.nVacantes = null;\r\n this.nInscriptos = null;\r\n this.nAdmitidos = null;\r\n this.dFechaPublicacion = null;\r\n this.dFechaFinCarga = null;\r\n this.nTernados = null;\r\n this.bPublicacionAdmision = null;\r\n this.bPublicacionPuntaje = null;\r\n this.bPublicacionTernado = null; \r\n this.finalizado = null;\r\n this.nEstadoId = null;\r\n this.sEstadoCargo = null;\r\n this.bTieneEvaluacion = null; \r\n this.bMostrar = null;\r\n }\r\n}\r\n","export default class usp_TiposPuntajeGetByCargo {\r\n nTipo: number | null;\r\n nPuntajeMaximo: number | null;\r\n sDescripcion: string | null;\r\n sMensajeAyuda: string | null;\r\n sDescripcionCategoria: string | null;\r\n dFechaBaja: string | null;\r\n constructor() {\r\n this.nTipo = null;\r\n this.nPuntajeMaximo = null;\r\n this.sDescripcion = null;\r\n this.sMensajeAyuda = null;\r\n this.sDescripcionCategoria = null;\r\n this.dFechaBaja = null;\r\n }\r\n}","export default class usp_AntecedenteGetByCUIL {\r\n bTienePuntaje: boolean | null;\r\n dEgreso: string | null;\r\n dFechaAlta: string | null;\r\n dFechaBaja: string | null;\r\n dIngreso: string | null;\r\n nAntecedenteId: number | null;\r\n nCargoInterino: number | null;\r\n nSubTipo: number | null;\r\n nTipo: number | null;\r\n sDescripcion: string | null;\r\n sArchivo: string | null;\r\n sCUIL: string | null;\r\n sCargo: string | null;\r\n sCargoTipo: string | null;\r\n sEmpresa: string | null;\r\n sEstado: string | null;\r\n sMotivoRechazo: string | null;\r\n sSubtipo: string | null;\r\n sTipo: string | null;\r\n sTipoPuntaje: string | null;\r\n bSincronizarCVMaster: boolean | null;\r\n nPreparacionIdMove: number | null;\r\n\r\n constructor() {\r\n this.bTienePuntaje = null;\r\n this.dEgreso = null;\r\n this.dFechaAlta = null;\r\n this.dFechaBaja = null;\r\n this.dIngreso = null;\r\n this.nAntecedenteId = null;\r\n this.nCargoInterino = null;\r\n this.nSubTipo = null;\r\n this.nTipo = null;\r\n this.sDescripcion = null;\r\n this.sArchivo = null;\r\n this.sCUIL = null;\r\n this.sCargo = null;\r\n this.sCargoTipo = null;\r\n this.sEmpresa = null;\r\n this.sEstado = null;\r\n this.sMotivoRechazo = null;\r\n this.sSubtipo = null;\r\n this.sTipo = null;\r\n this.sTipoPuntaje = null;\r\n this.bSincronizarCVMaster = null;\r\n this.nPreparacionIdMove = null;\r\n }\r\n}\r\n\r\n","export default class usp_PostulanteGetAll {\r\n sCUIL: string | null;\r\n sSexo: string | null;\r\n sApellidos: string | null; \r\n sNombres: string | null;\r\n sMail: string | null;\r\n nDocumento: number | null;\r\n Nombre_CUIL: string | null;\r\n\r\n constructor() {\r\n this.sCUIL = null;\r\n this.sSexo = null;\r\n this.sApellidos = null;\r\n this.sNombres = null;\r\n this.sMail = null;\r\n this.nDocumento = null;\r\n this.Nombre_CUIL = null;\r\n\r\n }\r\n}\r\n","export default class usp_SubTiposPuntajeGetAll {\r\n nSubTipo: number | null;\r\n nTipo: number | null;\r\n nPuntajeMaximo: number | null;\r\n sDescripcion: string | null;\r\n dFechaBaja: string | null;\r\n sMensajeAyuda: string | null;\r\n constructor() {\r\n this.nSubTipo = null;\r\n this.nTipo = null;\r\n this.nPuntajeMaximo = null;\r\n this.sDescripcion = null;\r\n this.dFechaBaja = null;\r\n this.sMensajeAyuda = null;\r\n }\r\n}","export default class usp_PostulanteCargaFaltanteByCargoIdyCUIL {\r\n sCUIL: string | null;\r\n sDescripcion: string | null;\r\n nTipo: string | null;\r\n nSubTipo: string | null;\r\n origen: string | null;\r\n constructor() {\r\n this.sCUIL = null;\r\n this.nTipo = null;\r\n this.nSubTipo = null;\r\n this.sDescripcion = null;\r\n this.origen = null;\r\n }\r\n}","import usp_PostulanteGetAll from '../models/usp_PostulanteGetAll';\r\nimport usp_PostulanteGetByCUIL from '../models/usp_PostulanteGetByCUIL';\r\nimport usp_PostulanteAdmisibilidadGetByCUIL from '../models/usp_PostulanteAdmisibilidadGetByCUIL';\r\nimport usp_AntecedenteGetByCUIL from '../models/usp_AntecedenteGetByCUIL';\r\nimport usp_AntecedenteGetByAntecedenteId from '../models/usp_AntecedenteGetByAntecedenteId';\r\nimport usp_TiposPuntajeGetByCargo from '../models/usp_TiposPuntajeGetByCargo';\r\nimport usp_SubTiposPuntajeGetAll from '../models/usp_SubTiposPuntajeGetAll';\r\nimport usp_PreparacionGetByCUIL from '../models/usp_PreparacionGetByCUIL';\r\nimport usp_PostulanteAdmisibilidadUpdateEstadoPorCargoId from '../models/usp_PostulanteAdmisibilidadUpdateEstadoPorCargoId';\r\nimport usp_PostulanteCargaFaltanteByCargoIdyCUIL from '../models/usp_PostulanteCargaFaltanteByCargoIdyCUIL';\r\nimport usp_PostulanteGetByCargoId from '../models/usp_PostulanteGetByCargoId';\r\nimport usp_CargoPostulanteUpdateAdmision from '../models/usp_CargoPostulanteUpdateAdmision';\r\n\r\nimport Axios from 'axios';\r\n\r\nexport default class PostulanteService {\r\n\r\n constructor() {\r\n }\r\n\r\n async GetAll() {\r\n var res = await Axios.get('/api/catalogos/PostulanteGetAll');\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PostulanteGetAll();\r\n ret.sCUIL = itm.sCUIL;\r\n ret.sSexo = itm.sSexo;\r\n ret.sApellidos = itm.sApellidos;\r\n ret.sNombres = itm.sNombres;\r\n ret.sMail = itm.sMail;\r\n ret.Nombre_CUIL = itm.sApellidos + ', ' + itm.sNombres + ' - ' + itm.sCUIL;\r\n \r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n \r\n async PostulanteGetByCargoIdCriteria(nCargoId:number,id:string) {\r\n var res = await Axios.get('/api/postulantes/PostulanteGetByCargoIdCriteria', { params: { nCargoId, id } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PostulanteGetByCargoId();\r\n ret.sCUIL = itm.sCUIL;\r\n ret.sSexo = itm.sSexo;\r\n ret.sApellidos = itm.sApellidos;\r\n ret.sNombres = itm.sNombres;\r\n ret.sMail = itm.sMail;\r\n ret.nCargoPostulanteId = itm.nCargoPostulanteId;\r\n ret.nPuntajeEscrito = itm.nPuntajeEscrito;\r\n ret.nPuntajeEntrevista = itm.nPuntajeEntrevista;\r\n ret.nPuntajeTotal = itm.nPuntajeTotal;\r\n ret.bAdmitido = itm.bAdmitido;\r\n ret.dFechaInscripcion = itm.dFechaInscripcion; \r\n\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async PostulanteGetByCUIL(sCUIL: string) {\r\n var res = await Axios.get('/api/postulantes/PostulanteGetByCUIL', { params: { sCUIL } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PostulanteGetByCUIL();\r\n ret.sCUIL = itm.sCUIL;\r\n ret.nDocumento = itm.nDocumento;\r\n ret.sSexo = itm.sSexo;\r\n ret.sApellidos = itm.sApellidos;\r\n ret.sNombres = itm.sNombres;\r\n ret.sDomicilioConstituido = itm.sDomicilioConstituido;\r\n ret.sDomicilioReal = itm.sDomicilioReal;\r\n ret.nProvinciaId = itm.nProvinciaId;\r\n ret.nLocalidadId = itm.nLocalidadId;\r\n ret.sTelefono = itm.sTelefono;\r\n ret.sCelular = itm.sCelular;\r\n ret.sLaboral = itm.sLaboral;\r\n ret.sMail = itm.sMail;\r\n ret.sEstadoCivil = itm.sEstadoCivil;\r\n ret.dNacimiento = itm.dNacimiento;\r\n ret.bPoderJudicial = itm.bPoderJudicial;\r\n ret.bAntecedente = itm.bAntecedente;\r\n ret.bPreparacion = itm.bPreparacion;\r\n ret.nPorcentaje = itm.nPorcentaje;\r\n ret.sFotoPerfil = itm.sFotoPerfil;\r\n ret.sRolId = itm.sRolId;\r\n ret.bAdmitido = itm.bAdmitido;\r\n\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async update(data: usp_PostulanteGetByCUIL) {\r\n var res = await Axios.put('/api/postulantes/update', data);\r\n return res.data;\r\n }\r\n async antecedenteupdateestado(data: usp_AntecedenteGetByAntecedenteId) {\r\n var res = await Axios.put('/api/postulantes/antecedenteupdateestado', data);\r\n return res.data;\r\n }\r\n\r\n async getJsonProvincies() {\r\n \r\n return Axios.get('/JSON/localidades.json?' + (new Date()).getTime())\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch(err => console.log(err)); \r\n }\r\n async getEstadosCiviles() {\r\n\r\n return Axios.get('/JSON/estadoCivil.json?' + (new Date()).getTime())\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch(err => console.log(err));\r\n }\r\n async PostulanteAdmisibilidadGetByCUIL(sCUIL: string, nCargoId: number) { \r\n var res = await Axios.get('/api/postulantes/PostulanteAdmisibilidadGetByCUIL', { params: { sCUIL, nCargoId } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PostulanteAdmisibilidadGetByCUIL();\r\n ret.sCUIL = itm.sCUIL;\r\n ret.sTipo = itm.sTipo;\r\n ret.sArchivo = itm.sArchivo;\r\n ret.sEstado = itm.sEstado;\r\n ret.dFechaCaducidad = itm.dFechaCaducidad;\r\n ret.sMotivoRechazo = itm.sMotivoRechazo;\r\n ret.dFechaMatricula = itm.dFechaMatricula;\r\n ret.sSancionMatricula = itm.sSancionMatricula; \r\n ret.dFechaEmision = itm.dFechaEmision;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async UpdatePoderJudicial(sCUIL: string, bPoderJudicial: boolean, nCargoId: number) { \r\n let data = {\r\n sCUIL: sCUIL,\r\n bPoderJudicial: bPoderJudicial,\r\n nCargoId: nCargoId\r\n }\r\n var res = await Axios.post('/api/upload/updatepoderjudicial', data);\r\n return res.data;\r\n }\r\n async AntecedenteGetByCUIL(sCUIL: string, nCargoId: number) {\r\n var res = await Axios.get('/api/postulantes/AntecedenteGetByCUIL', { params: { sCUIL, nCargoId } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_AntecedenteGetByCUIL();\r\n ret.bTienePuntaje = itm.bTienePuntaje;\r\n ret.dEgreso = itm.dEgreso;\r\n ret.dFechaAlta = itm.dFechaAlta;\r\n ret.dFechaBaja = itm.dFechaBaja;\r\n ret.dIngreso = itm.dIngreso;\r\n ret.nAntecedenteId = itm.nAntecedenteId;\r\n ret.nCargoInterino = itm.nCargoInterino;\r\n ret.nSubTipo = itm.nSubTipo;\r\n ret.nTipo = itm.nTipo;\r\n ret.sCUIL = itm.sCUIL;\r\n ret.sCargo = itm.sCargo;\r\n ret.sArchivo = itm.sArchivo;\r\n ret.sCargoTipo = itm.sCargoTipo;\r\n ret.sEmpresa = itm.sEmpresa;\r\n ret.sEstado = itm.sEstado;\r\n ret.sMotivoRechazo = itm.sMotivoRechazo;\r\n ret.sSubtipo = itm.sSubtipo;\r\n ret.sTipo = itm.sTipo;\r\n ret.sTipoPuntaje = itm.sTipoPuntaje;\r\n\r\n \r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n\r\n async TiposPuntajeGetAll() {\r\n var res = await Axios.get('/api/catalogos/TiposPuntajeGetAll');\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_TiposPuntajeGetByCargo();\r\n ret.nTipo = itm.nTipo;\r\n ret.nPuntajeMaximo = itm.nPuntajeMaximo;\r\n ret.sDescripcion = itm.sDescripcion;\r\n ret.sMensajeAyuda = itm.sMensajeAyuda;\r\n ret.dFechaBaja = itm.dFechaBaja;\r\n\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async TiposPuntajeAntecedentesGet() {\r\n var res = await Axios.get('/api/catalogos/TiposPuntajeAntecedenteGet');\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_TiposPuntajeGetByCargo();\r\n ret.nTipo = itm.nTipo;\r\n ret.nPuntajeMaximo = itm.nPuntajeMaximo;\r\n ret.sDescripcion = itm.sDescripcion;\r\n ret.sMensajeAyuda = itm.sMensajeAyuda;\r\n ret.dFechaBaja = itm.dFechaBaja;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async TiposPuntajePreparacionGet() {\r\n var res = await Axios.get('/api/catalogos/TiposPuntajePreparacionGet');\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_TiposPuntajeGetByCargo();\r\n ret.nTipo = itm.nTipo;\r\n ret.nPuntajeMaximo = itm.nPuntajeMaximo;\r\n ret.sDescripcion = itm.sDescripcion;\r\n ret.sMensajeAyuda = itm.sMensajeAyuda;\r\n ret.dFechaBaja = itm.dFechaBaja;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async TiposPuntajeAntecedenteGeTByCargoId(nCargoId: number) {\r\n var res = await Axios.get('/api/catalogos/TiposPuntajeAntecedenteGeTByCargoId', { params: { nCargoId } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_TiposPuntajeGetByCargo();\r\n ret.nTipo = itm.nTipo;\r\n ret.nPuntajeMaximo = itm.nPuntajeMaximo;\r\n ret.sDescripcion = itm.sDescripcion;\r\n ret.sMensajeAyuda = itm.sMensajeAyuda;\r\n ret.dFechaBaja = itm.dFechaBaja;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async TiposPuntajePreaparacionGeTByCargoId(nCargoId: number) {\r\n var res = await Axios.get('/api/catalogos/TiposPuntajePreparacionGeTByCargoId', { params: { nCargoId } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_TiposPuntajeGetByCargo();\r\n ret.nTipo = itm.nTipo;\r\n ret.nPuntajeMaximo = itm.nPuntajeMaximo;\r\n ret.sDescripcion = itm.sDescripcion;\r\n ret.sMensajeAyuda = itm.sMensajeAyuda;\r\n ret.dFechaBaja = itm.dFechaBaja;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async SubTiposPuntajeGetAll() {\r\n var res = await Axios.get('/api/catalogos/SubTiposPuntajeGetAll');\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_SubTiposPuntajeGetAll();\r\n ret.dFechaBaja = itm.dFechaBaja;\r\n ret.nSubTipo = itm.nSubTipo;\r\n ret.nTipo = itm.nTipo;\r\n ret.nPuntajeMaximo = itm.nPuntajeMaximo;\r\n ret.sDescripcion = itm.sDescripcion;\r\n ret.sMensajeAyuda = itm.sMensajeAyuda;\r\n\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async antecedentedeletebycuil(sCUIL: string, sArchivo: string) {\r\n let data = {\r\n sCUIL: sCUIL,\r\n sArchivo: sArchivo\r\n }\r\n var res = await Axios.post('/api/postulantes/antecedentedeletebycuil', data);\r\n return res.data;\r\n } \r\n async antecedentedeleteone(sCUIL: string, sArchivo: string, nAntecedenteId: number) {\r\n let data = {\r\n sCUIL: sCUIL,\r\n sArchivo: sArchivo,\r\n nAntecedenteId: nAntecedenteId\r\n }\r\n var res = await Axios.post('/api/postulantes/antecedentedeleteone', data);\r\n return res.data;\r\n }\r\n async updateAntecedenteOne(data: usp_AntecedenteGetByCUIL) {\r\n var res = await Axios.put('/api/postulantes/antecedenteupdateone', data);\r\n return res.data;\r\n }\r\n async postulanteadmisibilidadupdateestadoporcargoid(data: usp_PostulanteAdmisibilidadUpdateEstadoPorCargoId) {\r\n var res = await Axios.put('/api/postulantes/postulanteadmisibilidadupdateestadoporcargoid', data);\r\n return res.data;\r\n }\r\n async postulanteadmisibilidaddeleteone(data: usp_PostulanteAdmisibilidadUpdateEstadoPorCargoId) {\r\n var res = await Axios.put('/api/postulantes/postulanteadmisibilidaddeleteone', data);\r\n return res.data;\r\n }\r\n async deleteAntecedenteByCUIL(sCUIL: string, nCargoId: number) {\r\n let data = {\r\n sCUIL: sCUIL,\r\n nCargoId: nCargoId\r\n }\r\n var res = await Axios.post('/api/postulantes/deleteantecedentebycuil', data);\r\n return res.data;\r\n }\r\n /**\r\n * Preparcion Cientifica\r\n * @param sCUIL\r\n */\r\n async PreparacionGetByCUIL(sCUIL: string, nCargoId: number) {\r\n var res = await Axios.get('/api/postulantes/PreparacionGetByCUIL', { params: { sCUIL, nCargoId } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PreparacionGetByCUIL();\r\n ret.nPreparacionId = itm.nPreparacionId;\r\n ret.sCUIL = itm.sCUIL;\r\n ret.nTipo = itm.nTipo;\r\n ret.sTipo = itm.sTipo;\r\n ret.sTipoPuntaje = itm.sTipoPuntaje;\r\n ret.nSubtipo = itm.nSubtipo;\r\n ret.sSubtipo = itm.sSubtipo;\r\n ret.sCargoDocente = itm.sCargoDocente;\r\n ret.sDescripcion = itm.sDescripcion;\r\n ret.sArchivo = itm.sArchivo;\r\n ret.sEstado = itm.sEstado;\r\n ret.sMotivoRechazo = itm.sMotivoRechazo;\r\n ret.nHoras = itm.nHoras;\r\n ret.bTienePuntaje = itm.bTienePuntaje;\r\n ret.dFechaAlta = itm.dFechaAlta; \r\n ret.dFechaBaja = itm.dFechaBaja;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async preparaciondeleteone(sCUIL: string, sArchivo: string, nPreparacionId: number) {\r\n let data = {\r\n sCUIL: sCUIL,\r\n sArchivo: sArchivo,\r\n nPreparacionId: nPreparacionId\r\n }\r\n var res = await Axios.post('/api/postulantes/preparaciondeleteone', data);\r\n return res.data;\r\n }\r\n async deletePreparacionByCUIL(sCUIL: string, nCargoId:number) {\r\n let data = {\r\n sCUIL: sCUIL,\r\n nCargoId: nCargoId\r\n }\r\n var res = await Axios.post('/api/postulantes/deletepreparacionbycuil', data);\r\n return res.data;\r\n }\r\n async updatePreparacionOne(data: usp_PreparacionGetByCUIL) {\r\n var res = await Axios.put('/api/postulantes/preparacionupdateone', data);\r\n return res.data;\r\n }\r\n /**\r\n * Para \r\n * @param data\r\n */\r\n async preparacionupdateestado(data: usp_PreparacionGetByCUIL) {\r\n var res = await Axios.put('/api/postulantes/preparacionupdateestado', data);\r\n return res.data;\r\n }\r\n\r\n async postulantecargafaltantebyCargoidycuil(sCUIL: string, nCargoId: number) { \r\n var res = await Axios.get('/api/postulantes/postulantecargafaltantebyCargoidycuil', { params: { sCUIL, nCargoId } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PostulanteCargaFaltanteByCargoIdyCUIL();\r\n ret.sCUIL = itm.sCUIL;\r\n ret.sDescripcion = itm.sDescripcion;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async postulantecargafaltantemasterbycuil(nCargoId: number, sCUIL: string) {\r\n var res = await Axios.get('/api/postulantes/postulantecargafaltantemasterbycuil', { params: { nCargoId, sCUIL } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PostulanteCargaFaltanteByCargoIdyCUIL();\r\n ret.sCUIL = itm.sCUIL;\r\n ret.sDescripcion = itm.sDescripcion;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async postulantediferenciaenmasterbycuil(nCargoId: number, sCUIL: string) {\r\n var res = await Axios.get('/api/postulantes/postulantediferenciaenmasterbycuil', { params: { nCargoId, sCUIL } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PostulanteCargaFaltanteByCargoIdyCUIL();\r\n ret.sCUIL = itm.sCUIL;\r\n ret.sDescripcion = itm.sDescripcion;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async postulantecargafaltanteNoAdmisinilidadbyCargoidycuil(sCUIL: string, nCargoId: number) {\r\n var res = await Axios.get('/api/postulantes/postulantecargafaltanteNoAdmisibilidadbyCargoidycuil', { params: { sCUIL, nCargoId } });\r\n if (res.data.success) {\r\n return res.data.data.map((itm: any) => {\r\n let ret = new usp_PostulanteCargaFaltanteByCargoIdyCUIL();\r\n ret.sCUIL = itm.sCUIL;\r\n ret.nTipo = itm.nTipo;\r\n ret.nSubTipo = itm.nSubTipo;\r\n ret.sDescripcion = itm.sDescripcion;\r\n ret.origen = itm.origen;\r\n return ret;\r\n });\r\n }\r\n return null;\r\n }\r\n async CargoPostulanteUpdateAdmisionPorLote(nCargoId: number) {\r\n let data = {\r\n nCargoId: nCargoId\r\n }\r\n var res = await Axios.put('/api/postulantes/cargopostulanteupdateadmisionporlote', data);\r\n return res.data;\r\n }\r\n\r\n async moveItemAntecedenteToPreparacion(data: usp_PreparacionGetByCUIL) {\r\n var res = await Axios.put('/api/postulantes/moveItemAntecedenteToPreparacion', data);\r\n return res.data;\r\n }\r\n async moveItemAntecedenteToPreparacionbyCargo(data: usp_PreparacionGetByCUIL) {\r\n var res = await Axios.put('/api/postulantes/moveItemAntecedenteToPreparacionbyCargo', data);\r\n return res.data;\r\n }\r\n \r\n // async CargoPostulanteUpdateAdmisionCheck(data: usp_CargoPostulanteUpdateAdmision) \r\n async CargoPostulanteUpdateAdmisionCheck(postulantes: any)\r\n { \r\n let data = {\r\n postulantes: postulantes\r\n }\r\n var res = await Axios.put('/api/postulantes/cargopostulanteupdateadmisioncheck', data);\r\n return res.data;\r\n }\r\n async moveItemPreparacionToAntecedente(data: usp_AntecedenteGetByCUIL) {\r\n var res = await Axios.put('/api/postulantes/moveItemPreparacionToAntecedente', data);\r\n return res.data;\r\n }\r\n async moveItemPreparacionToAntecedentebyCargo(data: usp_AntecedenteGetByCUIL) {\r\n var res = await Axios.put('/api/postulantes/moveItemPreparacionToAntecedentebyCargo', data);\r\n return res.data;\r\n }\r\n async updatecargopostulanteadmision(data: usp_PostulanteGetByCargoId) {\r\n\r\n var res = await Axios.put('/api/postulantes/updatecargopostulanteadmision', data);\r\n return res.data;\r\n }\r\n}","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","import Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { deepEqual } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'comparable',\n props: {\n valueComparator: {\n type: Function,\n default: deepEqual,\n } as any as PropValidator,\n },\n})\n","// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupByProperty, searchItems } from '../../util/helpers'\nimport Vue, { VNode, PropType } from 'vue'\n\nexport interface DataOptions {\n page: number\n itemsPerPage: number\n sortBy: string[]\n sortDesc: boolean[]\n groupBy: string[]\n groupDesc: boolean[]\n multiSort: boolean\n mustSort: boolean\n}\n\nexport interface DataPagination {\n page: number\n itemsPerPage: number\n pageStart: number\n pageStop: number\n pageCount: number\n itemsLength: number\n}\n\nexport interface DataProps {\n originalItemsLength: number\n items: any[]\n pagination: DataPagination\n options: DataOptions\n updateOptions: (obj: any) => void\n sort: (value: string) => void\n group: (value: string) => void\n groupedItems: Record | null\n}\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array as PropType,\n default: () => [],\n },\n options: {\n type: Object,\n default: () => ({}),\n },\n sortBy: {\n type: [String, Array] as PropType,\n default: () => [],\n },\n sortDesc: {\n type: [Boolean, Array] as PropType,\n default: () => [],\n },\n customSort: {\n type: Function as any as PropType,\n default: sortItems,\n },\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array] as PropType,\n default: () => [],\n },\n groupDesc: {\n type: [Boolean, Array] as PropType,\n default: () => [],\n },\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function as any as PropType,\n default: searchItems,\n },\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage === -1\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage) // TODO: can't use items.length here\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if (!this.disableSort && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): Record | null {\n return this.isGrouped ? groupByProperty(this.computedItems, this.internalOptions.groupBy[0]) : null\n },\n scopedProps (): DataProps {\n const props = {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n\n return props\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n this.$emit('pagination', this.pagination)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.mustSort,\n this.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]) {\n const sortBy = this.internalOptions.groupBy.concat(this.internalOptions.sortBy)\n const sortDesc = this.internalOptions.groupDesc.concat(this.internalOptions.sortDesc)\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n paginateItems (items: any[]) {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, this.internalOptions.page - 1)\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n","import './VDataFooter.sass'\n\n// Components\nimport VSelect from '../VSelect/VSelect'\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents } from 'vue'\nimport { DataOptions, DataPagination } from '../VData/VData'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data-footer',\n\n props: {\n options: {\n type: Object,\n required: true,\n } as PropValidator,\n pagination: {\n type: Object,\n required: true,\n } as PropValidator,\n itemsPerPageOptions: {\n type: Array,\n default: () => ([5, 10, 15, -1]),\n } as PropValidator,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n firstIcon: {\n type: String,\n default: '$first',\n },\n lastIcon: {\n type: String,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n itemsPerPageAllText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageAll',\n },\n showFirstLastPage: Boolean,\n showCurrentPage: Boolean,\n disablePagination: Boolean,\n disableItemsPerPage: Boolean,\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n },\n\n computed: {\n disableNextPageIcon (): boolean {\n return this.options.itemsPerPage < 0 ||\n this.options.page * this.options.itemsPerPage >= this.pagination.itemsLength ||\n this.pagination.pageStop < 0\n },\n computedItemsPerPageOptions (): any[] {\n return this.itemsPerPageOptions.map(option => {\n if (typeof option === 'object') return option\n else return this.genItemsPerPageOption(option)\n })\n },\n },\n\n methods: {\n updateOptions (obj: object) {\n this.$emit('update:options', Object.assign({}, this.options, obj))\n },\n onFirstPage () {\n this.updateOptions({ page: 1 })\n },\n onPreviousPage () {\n this.updateOptions({ page: this.options.page - 1 })\n },\n onNextPage () {\n this.updateOptions({ page: this.options.page + 1 })\n },\n onLastPage () {\n this.updateOptions({ page: this.pagination.pageCount })\n },\n onChangeItemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage, page: 1 })\n },\n genItemsPerPageOption (option: number) {\n return {\n text: option === -1 ? this.$vuetify.lang.t(this.itemsPerPageAllText) : String(option),\n value: option,\n }\n },\n genItemsPerPageSelect () {\n let value = this.options.itemsPerPage\n const computedIPPO = this.computedItemsPerPageOptions\n\n if (computedIPPO.length <= 1) return null\n\n if (!computedIPPO.find(ippo => ippo.value === value)) value = computedIPPO[0]\n\n return this.$createElement('div', {\n staticClass: 'v-data-footer__select',\n }, [\n this.$vuetify.lang.t(this.itemsPerPageText),\n this.$createElement(VSelect, {\n attrs: {\n 'aria-label': this.itemsPerPageText,\n },\n props: {\n disabled: this.disableItemsPerPage,\n items: computedIPPO,\n value,\n hideDetails: true,\n auto: true,\n minWidth: '75px',\n },\n on: {\n input: this.onChangeItemsPerPage,\n },\n }),\n ])\n },\n genPaginationInfo () {\n let children: VNodeChildrenArrayContents = ['–']\n\n if (this.pagination.itemsLength) {\n const itemsLength = this.pagination.itemsLength\n const pageStart = this.pagination.pageStart + 1\n const pageStop = itemsLength < this.pagination.pageStop || this.pagination.pageStop < 0\n ? itemsLength\n : this.pagination.pageStop\n\n children = this.$scopedSlots['page-text']\n ? [this.$scopedSlots['page-text']!({ pageStart, pageStop, itemsLength })]\n : [this.$vuetify.lang.t(this.pageText, pageStart, pageStop, itemsLength)]\n }\n\n return this.$createElement('div', {\n class: 'v-data-footer__pagination',\n }, children)\n },\n genIcon (click: Function, disabled: boolean, label: string, icon: string): VNode {\n return this.$createElement(VBtn, {\n props: {\n disabled: disabled || this.disablePagination,\n icon: true,\n text: true,\n // dark: this.dark, // TODO: add mixin\n // light: this.light // TODO: add mixin\n },\n on: {\n click,\n },\n attrs: {\n 'aria-label': label, // TODO: Localization\n },\n }, [this.$createElement(VIcon, icon)])\n },\n genIcons () {\n const before: VNodeChildrenArrayContents = []\n const after: VNodeChildrenArrayContents = []\n\n before.push(this.genIcon(\n this.onPreviousPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.prevPage'),\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon\n ))\n\n after.push(this.genIcon(\n this.onNextPage,\n this.disableNextPageIcon,\n this.$vuetify.lang.t('$vuetify.dataFooter.nextPage'),\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon\n ))\n\n if (this.showFirstLastPage) {\n before.unshift(this.genIcon(\n this.onFirstPage,\n this.options.page === 1,\n this.$vuetify.lang.t('$vuetify.dataFooter.firstPage'),\n this.$vuetify.rtl ? this.lastIcon : this.firstIcon\n ))\n\n after.push(this.genIcon(\n this.onLastPage,\n this.options.page >= this.pagination.pageCount || this.options.itemsPerPage === -1,\n this.$vuetify.lang.t('$vuetify.dataFooter.lastPage'),\n this.$vuetify.rtl ? this.firstIcon : this.lastIcon\n ))\n }\n\n return [\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-before',\n }, before),\n this.showCurrentPage && this.$createElement('span', [this.options.page.toString()]),\n this.$createElement('div', {\n staticClass: 'v-data-footer__icons-after',\n }, after),\n ]\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-data-footer',\n }, [\n this.genItemsPerPageSelect(),\n this.genPaginationInfo(),\n this.genIcons(),\n ])\n },\n})\n","import { VNode, VNodeChildren } from 'vue'\n\n// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys } from '../../util/helpers'\nimport { DataProps } from '../VData/VData'\nimport { PropValidator } from 'vue/types/options'\nimport { breaking, removed } from '../../util/console'\n\n/* @vue/component */\nexport default Themeable.extend({\n name: 'v-data-iterator',\n\n props: {\n ...VData.options.props, // TODO: filter out props not used\n itemKey: {\n type: String,\n default: 'id',\n },\n value: {\n type: Array,\n default: () => [],\n } as PropValidator,\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => [],\n } as PropValidator,\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText',\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n },\n\n data: () => ({\n selection: {} as Record,\n expansion: {} as Record,\n internalCurrentItems: [] as any[],\n }),\n\n computed: {\n everyItem (): boolean {\n return !!this.internalCurrentItems.length && this.internalCurrentItems.every((i: any) => this.isSelected(i))\n },\n someItems (): boolean {\n return this.internalCurrentItems.some((i: any) => this.isSelected(i))\n },\n sanitizedFooterProps (): Record {\n return camelizeObjectKeys(this.footerProps)\n },\n },\n\n watch: {\n value: {\n handler (value: any[]) {\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item\n return selection\n }, {})\n },\n immediate: true,\n },\n selection (value: Record, old: Record) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n this.$emit('input', Object.values(value))\n },\n expanded: {\n handler (value: any[]) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true\n return expansion\n }, {})\n },\n immediate: true,\n },\n expansion (value: Record, old: Record) {\n if (deepEqual(value, old)) return\n const keys = Object.keys(value).filter(k => value[k])\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n this.$emit('update:expanded', expanded)\n },\n },\n\n created () {\n const breakingProps = [\n ['disable-initial-sort', 'sort-by'],\n ['filter', 'custom-filter'],\n ['pagination', 'options'],\n ['total-items', 'server-items-length'],\n ['hide-actions', 'hide-default-footer'],\n ['rows-per-page-items', 'footer-props.items-per-page-options'],\n ['rows-per-page-text', 'footer-props.items-per-page-text'],\n ['prev-icon', 'footer-props.prev-icon'],\n ['next-icon', 'footer-props.next-icon'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const removedProps = [\n 'expand',\n 'content-class',\n 'content-props',\n 'content-tag',\n ]\n\n /* istanbul ignore next */\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n })\n },\n\n methods: {\n toggleSelectAll (value: boolean): void {\n const selection = Object.assign({}, this.selection)\n\n this.internalCurrentItems.forEach((item: any) => {\n const key = getObjectValueByPath(item, this.itemKey)\n if (value) selection[key] = item\n else delete selection[key]\n })\n\n this.selection = selection\n this.$emit('toggle-select-all', { value })\n },\n isSelected (item: any): boolean {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n },\n select (item: any, value = true, emit = true): void {\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) selection[key] = item\n else delete selection[key]\n\n if (this.singleSelect && emit) {\n const keys = Object.keys(this.selection)\n const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey)\n old && old !== key && this.$emit('item-selected', { item: this.selection[old], value: false })\n }\n this.selection = selection\n emit && this.$emit('item-selected', { item, value })\n },\n isExpanded (item: any): boolean {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n },\n expand (item: any, value = true): void {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) expansion[key] = true\n else delete expansion[key]\n\n this.expansion = expansion\n this.$emit('item-expanded', { item, value })\n },\n createItemProps (item: any) {\n const props = {\n item,\n select: (v: boolean) => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: (v: boolean) => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n }\n\n return props\n },\n genEmptyWrapper (content: VNodeChildren) {\n return this.$createElement('div', content)\n },\n genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = this.$slots['loading'] || this.$vuetify.lang.t(this.loadingText)\n return this.genEmptyWrapper(loading)\n } else if (originalItemsLength === 0) {\n const noData = this.$slots['no-data'] || this.$vuetify.lang.t(this.noDataText)\n return this.genEmptyWrapper(noData)\n } else if (filteredItemsLength === 0) {\n const noResults = this.$slots['no-results'] || this.$vuetify.lang.t(this.noResultsText)\n return this.genEmptyWrapper(noResults)\n }\n\n return null\n },\n genItems (props: DataProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n if (this.$scopedSlots.default) {\n return this.$scopedSlots.default({\n ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n expand: this.expand,\n })\n }\n\n if (this.$scopedSlots.item) {\n return props.items.map((item: any) => this.$scopedSlots.item!(this.createItemProps(item)))\n }\n\n return []\n },\n genFooter (props: DataProps) {\n if (this.hideDefaultFooter) return null\n\n const data = {\n props: {\n ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n }\n\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$scopedSlots)\n\n return this.$createElement(VDataFooter, {\n scopedSlots,\n ...data,\n })\n },\n genDefaultScopedSlot (props: any) {\n const outerProps = {\n ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll,\n }\n\n return this.$createElement('div', {\n staticClass: 'v-data-iterator',\n }, [\n getSlot(this, 'header', outerProps, true),\n this.genItems(props),\n this.genFooter(props),\n getSlot(this, 'footer', outerProps, true),\n ])\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: this.$props,\n on: {\n 'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': (v: any) => this.$emit('update:page', v),\n 'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: any) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n","import { VNodeData } from 'vue'\n\n/**\n * Removes duplicate `@input` listeners when\n * using v-model with functional components\n *\n * @see https://github.com/vuetifyjs/vuetify/issues/4460\n */\nexport default function dedupeModelListeners (data: VNodeData): void {\n if (data.model && data.on && data.on.input) {\n if (Array.isArray(data.on.input)) {\n const i = data.on.input.indexOf(data.model.callback)\n if (i > -1) data.on.input.splice(i, 1)\n } else {\n delete data.on.input\n }\n }\n}\n","import { CreateElement, VNode } from 'vue'\n\nexport default function rebuildFunctionalSlots (slots: { [key: string]: VNode[] | undefined }, h: CreateElement) {\n const children: VNode[] = []\n\n for (const slot in slots) {\n if (slots.hasOwnProperty(slot)) {\n children.push(h('template', { slot }, slots[slot]))\n }\n }\n\n return children\n}\n","import { VDataTable } from '../'\nimport { DataOptions } from '../../VData/VData'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue, { PropType } from 'vue'\nimport mixins from '../../../util/mixins'\nimport { compareFn } from '../../../util/helpers'\n\nexport interface TableHeader {\n text: string\n value: string\n align?: 'start' | 'center' | 'end'\n sortable?: boolean\n filterable?: boolean\n divider?: boolean\n class?: string | string[]\n width?: string | number\n filter?: (value: any, search: string | null, item: any) => boolean\n sort?: compareFn\n}\n\ntype VDataTableInstance = InstanceType\n\ninterface options extends Vue {\n dataTable: VDataTableInstance\n}\n\nexport default mixins().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array as PropType,\n required: true,\n },\n options: {\n type: Object as PropType,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n },\n sortIcon: {\n type: String,\n default: '$sort',\n },\n everyItem: Boolean,\n someItems: Boolean,\n showGroupBy: Boolean,\n singleSelect: Boolean,\n disableSort: Boolean,\n },\n\n methods: {\n genSelectAll () {\n const data = {\n props: {\n value: this.everyItem,\n indeterminate: !this.everyItem && this.someItems,\n },\n on: {\n input: (v: boolean) => this.$emit('toggle-select-all', v),\n },\n }\n\n if (this.$scopedSlots['data-table-select']) {\n return this.$scopedSlots['data-table-select']!(data)\n }\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n ...data,\n })\n },\n genSortIcon () {\n return this.$createElement(VIcon, {\n staticClass: 'v-data-table-header__icon',\n props: {\n size: 18,\n },\n }, [this.sortIcon])\n },\n },\n})\n","import { VNode, VNodeChildrenArrayContents } from 'vue'\nimport mixins from '../../util/mixins'\nimport VSelect from '../VSelect/VSelect'\nimport VChip from '../VChip'\nimport header from './mixins/header'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-mobile',\n\n props: {\n sortByText: {\n type: String,\n default: '$vuetify.dataTable.sortBy',\n },\n },\n\n methods: {\n genSortChip (props: any) {\n const children: VNodeChildrenArrayContents = [props.item.text]\n\n const sortIndex = this.options.sortBy.findIndex(k => k === props.item.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n children.push(this.$createElement('div', {\n staticClass: 'v-chip__close',\n class: {\n sortable: true,\n active: beingSorted,\n asc: beingSorted && !isDesc,\n desc: beingSorted && isDesc,\n },\n }, [this.genSortIcon()]))\n\n return this.$createElement(VChip, {\n staticClass: 'sortable',\n nativeOn: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n this.$emit('sort', props.item.value)\n },\n },\n }, children)\n },\n genSortSelect () {\n const sortHeaders = this.headers.filter(h => h.sortable !== false && h.value !== 'data-table-select')\n\n return this.$createElement(VSelect, {\n props: {\n label: this.$vuetify.lang.t(this.sortByText),\n items: sortHeaders,\n hideDetails: true,\n multiple: this.options.multiSort,\n value: this.options.multiSort ? this.options.sortBy : this.options.sortBy[0],\n disabled: sortHeaders.length === 0 || this.disableSort,\n },\n on: {\n change: (v: string | string[]) => this.$emit('sort', v),\n },\n scopedSlots: {\n selection: props => this.genSortChip(props) as any, // TODO: whyyy?\n },\n })\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = []\n\n const header = this.headers.find(h => h.value === 'data-table-select')\n if (header && !this.singleSelect) {\n children.push(this.$createElement('div', {\n class: [\n 'v-data-table-header-mobile__select',\n ...wrapInArray(header.class),\n ],\n attrs: {\n width: header.width,\n },\n }, [this.genSelectAll()]))\n }\n\n children.push(this.genSortSelect())\n\n const th = h('th', [h('div', { staticClass: 'v-data-table-header-mobile__wrapper' }, children)])\n\n const tr = h('tr', [th])\n\n return h('thead', {\n staticClass: 'v-data-table-header v-data-table-header-mobile',\n }, [tr])\n },\n})\n","// Helpers\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\nimport header, { TableHeader } from './mixins/header'\nimport { wrapInArray, convertToUnit } from '../../util/helpers'\n\nexport default mixins(header).extend({\n name: 'v-data-table-header-desktop',\n\n methods: {\n genGroupByToggle (header: TableHeader) {\n return this.$createElement('span', {\n on: {\n click: () => this.$emit('group', header.value),\n },\n }, ['group'])\n },\n // eslint-disable-next-line max-statements\n genHeader (header: TableHeader) {\n const listeners: any = {}\n const children = []\n const attrs = {\n role: 'columnheader',\n scope: 'col',\n 'aria-label': header.text || '',\n 'aria-sort': 'none',\n }\n\n const styles = {\n width: convertToUnit(header.width),\n minWidth: convertToUnit(header.width),\n }\n\n const classes = [\n `text-${header.align || 'start'}`,\n ...wrapInArray(header.class),\n header.divider && 'v-data-table__divider',\n ]\n\n if (header.value === 'data-table-select' && !this.singleSelect) {\n children.push(this.genSelectAll())\n } else {\n children.push(this.$scopedSlots[header.value]\n ? this.$scopedSlots[header.value]!({ header })\n : this.$createElement('span', [header.text])\n )\n\n if (!this.disableSort && (header.sortable || !header.hasOwnProperty('sortable'))) {\n listeners['click'] = () => this.$emit('sort', header.value)\n\n const sortIndex = this.options.sortBy.findIndex(k => k === header.value)\n const beingSorted = sortIndex >= 0\n const isDesc = this.options.sortDesc[sortIndex]\n\n classes.push('sortable')\n\n if (beingSorted) {\n classes.push('active')\n classes.push(isDesc ? 'desc' : 'asc')\n\n attrs['aria-sort'] = isDesc ? 'descending' : 'ascending'\n attrs['aria-label'] += isDesc\n ? this.$vuetify.lang.t('$vuetify.dataTable.ariaLabel.sortDescending')\n : this.$vuetify.lang.t('$vuetify.dataTable.ariaLabel.sortAscending')\n } else {\n attrs['aria-label'] += this.$vuetify.lang.t('$vuetify.dataTable.ariaLabel.sortNone')\n }\n\n if (header.align === 'end') children.unshift(this.genSortIcon())\n else children.push(this.genSortIcon())\n\n if (this.options.multiSort && beingSorted) {\n children.push(this.$createElement('span', { class: 'v-data-table-header__sort-badge' }, [String(sortIndex + 1)]))\n }\n }\n\n if (this.showGroupBy) {\n children.push(this.genGroupByToggle(header))\n }\n }\n\n return this.$createElement('th', {\n attrs,\n class: classes,\n style: styles,\n on: listeners,\n }, children)\n },\n },\n\n render (): VNode {\n return this.$createElement('thead', {\n staticClass: 'v-data-table-header',\n }, [\n this.$createElement('tr', this.headers.map(header => this.genHeader(header))),\n ])\n },\n})\n","import './VDataTableHeader.sass'\n\nimport Vue from 'vue'\nimport dedupeModelListeners from '../../util/dedupeModelListeners'\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'\n\nimport VDataTableHeaderMobile from './VDataTableHeaderMobile'\nimport VDataTableHeaderDesktop from './VDataTableHeaderDesktop'\n\nexport default Vue.extend({\n name: 'v-data-table-header',\n\n functional: true,\n\n props: {\n mobile: Boolean,\n },\n\n render (h, { props, data, slots }) {\n dedupeModelListeners(data)\n const children = rebuildSlots(slots(), h)\n\n if (props.mobile) {\n return h(VDataTableHeaderMobile, data, children)\n } else {\n return h(VDataTableHeaderDesktop, data, children)\n }\n },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TableHeader } from './mixins/header'\n\n// Utils\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropValidator,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns: VNode[] = props.headers.map((header: TableHeader) => {\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots[slotName]\n const regularSlot = computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(scopedSlot({ item: props.item, header, value }))\n } else if (regularSlot) {\n children.push(regularSlot)\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const textAlign = `text-${header.align || 'start'}`\n\n return h('td', {\n class: {\n [textAlign]: true,\n 'v-data-table__divider': header.divider,\n },\n }, children)\n })\n\n return h('tr', data, columns)\n },\n})\n","import Vue, { VNode } from 'vue'\n\nexport default Vue.extend({\n name: 'row-group',\n\n functional: true,\n\n props: {\n value: {\n type: Boolean,\n default: true,\n },\n headerClass: {\n type: String,\n default: 'v-row-group__header',\n },\n contentClass: String,\n summaryClass: {\n type: String,\n default: 'v-row-group__summary',\n },\n },\n\n render (h, { slots, props }): VNode {\n const computedSlots = slots()\n const children = []\n\n if (computedSlots['column.header']) {\n children.push(h('tr', {\n staticClass: props.headerClass,\n }, computedSlots['column.header']))\n } else if (computedSlots['row.header']) {\n children.push(...computedSlots['row.header'])\n }\n\n if (computedSlots['row.content'] && props.value) children.push(...computedSlots['row.content'])\n\n if (computedSlots['column.summary']) {\n children.push(h('tr', {\n staticClass: props.summaryClass,\n }, computedSlots['column.summary']))\n } else if (computedSlots['row.summary']) {\n children.push(...computedSlots['row.summary'])\n }\n\n return children as any\n },\n})\n","import './VSimpleTable.sass'\n\nimport { convertToUnit } from '../../util/helpers'\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String],\n },\n\n computed: {\n classes (): Record {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genWrapper () {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.$createElement('table', this.$slots.default),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes,\n }, [\n this.$slots.top,\n this.genWrapper(),\n this.$slots.bottom,\n ])\n },\n})\n","import Vue, { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TableHeader } from './mixins/header'\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'row',\n\n functional: true,\n\n props: {\n headers: Array as PropValidator,\n item: Object,\n rtl: Boolean,\n },\n\n render (h, { props, slots, data }): VNode {\n const computedSlots = slots()\n\n const columns: VNode[] = props.headers.map((header: TableHeader) => {\n const classes = {\n 'v-data-table__mobile-row': true,\n }\n\n const children = []\n const value = getObjectValueByPath(props.item, header.value)\n\n const slotName = header.value\n const scopedSlot = data.scopedSlots && data.scopedSlots[slotName]\n const regularSlot = computedSlots[slotName]\n\n if (scopedSlot) {\n children.push(scopedSlot({ item: props.item, header, value }))\n } else if (regularSlot) {\n children.push(regularSlot)\n } else {\n children.push(value == null ? value : String(value))\n }\n\n const mobileRowChildren = [\n h('div', {\n staticClass: 'v-data-table__mobile-row__cell',\n }, children),\n ]\n\n if (header.value !== 'dataTableSelect') {\n mobileRowChildren.unshift(\n h('div', {\n staticClass: 'v-data-table__mobile-row__header',\n }, [header.text])\n )\n }\n\n return h('td', { class: classes }, mobileRowChildren)\n })\n\n return h('tr', { ...data, staticClass: 'v-data-table__mobile-table-row' }, columns)\n },\n})\n","import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataProps, DataPagination, DataOptions } from '../VData/VData'\nimport { TableHeader } from './mixins/header'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport { deepEqual, getObjectValueByPath, compareFn, getPrefixedScopedSlots, getSlot, defaultFilter, FilterFn, camelizeObjectKeys } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\nfunction filterFn (item: any, search: string | null, filter: FilterFn) {\n return (header: TableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: TableHeader[],\n headersWithoutCustomFilters: TableHeader[],\n customFilter: FilterFn\n) {\n let filtered = items\n search = typeof search === 'string' ? search.trim() : null\n if (search && headersWithoutCustomFilters.length) {\n filtered = items.filter(item => headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n }\n\n if (headersWithCustomFilters.length) {\n filtered = filtered.filter(item => headersWithCustomFilters.every(filterFn(item, search, defaultFilter)))\n }\n\n return filtered\n}\n\n/* @vue/component */\nexport default VDataIterator.extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n } as PropValidator,\n showSelect: Boolean,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n mobileBreakpoint: {\n type: Number,\n default: 600,\n },\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator,\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): TableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n isMobile (): boolean {\n // Guard against SSR render\n // https://github.com/vuetifyjs/vuetify/issues/7410\n if (this.$vuetify.breakpoint.width === 0) return false\n\n return this.$vuetify.breakpoint.width < this.mobileBreakpoint\n },\n columnSorters (): Record {\n return this.computedHeaders.reduce>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): TableHeader[] {\n return this.computedHeaders.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): TableHeader[] {\n return this.computedHeaders.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const { itemsPerPageOptions } = this.sanitizedFooterProps\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find((item: number | { value: number }) => {\n return typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage\n })\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter)\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any) {\n const props = VDataIterator.options.methods.createItemProps.call(this, item)\n\n return Object.assign(props, { headers: this.computedHeaders })\n },\n genCaption (props: DataProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const progress = this.$slots['progress'] ? this.$slots.progress : this.$createElement(VProgressLinear, {\n props: {\n color: this.loading === true ? 'primary' : this.loading,\n height: 2,\n indeterminate: true,\n },\n })\n\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [progress])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', data)]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: Record, props: DataProps) {\n const groups = Object.keys(groupedItems || {})\n\n return groups.map(group => {\n if (!this.openCache.hasOwnProperty(group)) this.$set(this.openCache, group, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group,\n options: props.options,\n items: groupedItems![group],\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group, groupedItems[group], props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genDefaultRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders, toggle: toggleFn, remove: removeFn }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(VIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${props.options.groupBy[0]}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({ group, groupBy: props.options.groupBy, items, headers: this.computedHeaders }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item),\n index: i,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map(item => this.genDefaultExpandedRow(item))\n : items.map(item => this.genDefaultSimpleRow(item))\n },\n genDefaultExpandedRow (item: any): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({ item, headers: this.computedHeaders })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, classes: Record = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot(data) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: {\n ...classes,\n 'v-data-table__selected': data.isSelected,\n },\n props: {\n headers: this.computedHeaders,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n click: () => this.$emit('click:row', item),\n },\n })\n },\n genBody (props: DataProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n isMobile: this.isMobile,\n headers: this.computedHeaders,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFooters (props: DataProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n }, [\n this.proxySlot('top', getSlot(this, 'top', props, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot as any,\n },\n })\n },\n})\n","import './VSimpleCheckbox.sass'\n\nimport ripple from '../../directives/ripple'\n\nimport Vue, { VNode, VNodeDirective } from 'vue'\nimport { VIcon } from '../VIcon'\n\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'v-simple-checkbox',\n\n functional: true,\n\n directives: {\n ripple,\n },\n\n props: {\n ...Colorable.options.props,\n ...Themeable.options.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n value: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n render (h, { props, data }): VNode {\n const children = []\n\n if (props.ripple && !props.disabled) {\n const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n staticClass: 'v-input--selection-controls__ripple',\n directives: [{\n name: 'ripple',\n value: { center: true },\n }] as VNodeDirective[],\n }))\n\n children.push(ripple)\n }\n\n let icon = props.offIcon\n if (props.indeterminate) icon = props.indeterminateIcon\n else if (props.value) icon = props.onIcon\n\n children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n props: {\n disabled: props.disabled,\n dark: props.dark,\n light: props.light,\n },\n }), icon))\n\n const classes = {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': props.disabled,\n }\n\n return h('div', {\n ...data,\n class: classes,\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (data.on && data.on.input && !props.disabled) {\n wrapInArray(data.on.input).forEach(f => f(!props.value))\n }\n },\n },\n }, children)\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n","import VDivider from './VDivider'\n\nexport { VDivider }\nexport default VDivider\n","// Styles\nimport '../VCard/VCard.sass'\n\n// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VDivider from '../VDivider'\nimport VSubheader from '../VSubheader'\nimport {\n VList,\n VListItem,\n VListItemAction,\n VListItemContent,\n VListItemTitle,\n} from '../VList'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport {\n escapeHTML,\n getPropertyFromItem,\n} from '../../util/helpers'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator,\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled',\n } as PropValidator any)>,\n itemText: {\n type: [String, Array, Function],\n default: 'text',\n } as PropValidator any)>,\n itemValue: {\n type: [String, Array, Function],\n default: 'value',\n } as PropValidator any)>,\n noDataText: String,\n noFilter: Boolean,\n searchInput: {\n default: null,\n } as PropValidator,\n selectedItems: {\n type: Array,\n default: () => [],\n } as PropValidator,\n },\n\n computed: {\n parsedItems (): any[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n tileActiveClass (): string {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ')\n },\n staticNoDataTile (): VNode {\n const tile = {\n attrs: {\n role: undefined,\n },\n on: {\n mousedown: (e: Event) => e.preventDefault(), // Prevent onBlur from being called\n },\n }\n\n return this.$createElement(VListItem, tile, [\n this.genTileContent(this.noDataText),\n ])\n },\n },\n\n methods: {\n genAction (item: object, inputValue: any): VNode {\n return this.$createElement(VListItemAction, [\n this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n },\n on: {\n input: () => this.$emit('select', item),\n },\n }),\n ])\n },\n genDivider (props: { [key: string]: any }) {\n return this.$createElement(VDivider, { props })\n },\n genFilteredText (text: string) {\n text = text || ''\n\n if (!this.searchInput || this.noFilter) return escapeHTML(text)\n\n const { start, middle, end } = this.getMaskedCharacters(text)\n\n return `${escapeHTML(start)}${this.genHighlight(middle)}${escapeHTML(end)}`\n },\n genHeader (props: { [key: string]: any }): VNode {\n return this.$createElement(VSubheader, { props }, props.header)\n },\n genHighlight (text: string): string {\n return `${escapeHTML(text)}`\n },\n genLabelledBy (item: object) {\n const text = escapeHTML(this.getText(item).split(' ').join('-').toLowerCase())\n\n return `${text}-list-item-${this._uid}`\n },\n getMaskedCharacters (text: string): {\n start: string\n middle: string\n end: string\n } {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase()\n const index = text.toLocaleLowerCase().indexOf(searchInput)\n\n if (index < 0) return { start: '', middle: text, end: '' }\n\n const start = text.slice(0, index)\n const middle = text.slice(index, index + searchInput.length)\n const end = text.slice(index + searchInput.length)\n return { start, middle, end }\n },\n genTile (\n item: object,\n disabled = null as null | boolean,\n value = false\n ): VNode | VNode[] | undefined {\n if (!value) value = this.hasItem(item)\n\n if (item === Object(item)) {\n disabled = disabled !== null\n ? disabled\n : this.getDisabled(item)\n }\n\n const tile = {\n attrs: {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n 'aria-labelledby': this.genLabelledBy(item),\n role: 'option',\n },\n on: {\n mousedown: (e: Event) => {\n // Prevent onBlur from being called\n e.preventDefault()\n },\n click: () => disabled || this.$emit('select', item),\n },\n props: {\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value,\n },\n }\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListItem, tile, [\n this.action && !this.hideSelected && this.items.length > 0\n ? this.genAction(item, value)\n : null,\n this.genTileContent(item),\n ])\n }\n\n const parent = this\n const scopedSlot = this.$scopedSlots.item({\n parent,\n item,\n attrs: {\n ...tile.attrs,\n ...tile.props,\n },\n on: tile.on,\n })\n\n return this.needsTile(scopedSlot)\n ? this.$createElement(VListItem, tile, scopedSlot)\n : scopedSlot\n },\n genTileContent (item: any): VNode {\n const innerHTML = this.genFilteredText(this.getText(item))\n\n return this.$createElement(VListItemContent,\n [this.$createElement(VListItemTitle, {\n attrs: { id: this.genLabelledBy(item) },\n domProps: { innerHTML },\n })]\n )\n },\n hasItem (item: object) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1\n },\n needsTile (slot: VNode[] | undefined) {\n return slot!.length !== 1 ||\n slot![0].componentOptions == null ||\n slot![0].componentOptions.Ctor.options.name !== 'v-list-item'\n },\n getDisabled (item: object) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false))\n },\n getText (item: object) {\n return String(getPropertyFromItem(item, this.itemText, item))\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n },\n\n render (): VNode {\n const children = []\n for (const item of this.items) {\n if (this.hideSelected &&\n this.hasItem(item)\n ) continue\n\n if (item == null) children.push(this.genTile(item))\n else if (item.header) children.push(this.genHeader(item))\n else if (item.divider) children.push(this.genDivider(item))\n else children.push(this.genTile(item))\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile)\n\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item'])\n\n this.$slots['append-item'] && children.push(this.$slots['append-item'])\n\n return this.$createElement('div', {\n staticClass: 'v-select-list v-card',\n class: this.themeClasses,\n }, [\n this.$createElement(VList, {\n attrs: {\n id: this.$attrs.id,\n role: 'listbox',\n tabindex: -1,\n },\n props: { dense: this.dense },\n }, children),\n ])\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'filterable',\n\n props: {\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n },\n})\n","// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport { getPropertyFromItem, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropValidator } from 'vue/types/options'\nimport { VNode, VNodeDirective } from 'vue'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\ntype ItemProperty = PropValidator any)>\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Filterable\n)\n\ninterface options extends InstanceType {\n $refs: {\n menu: InstanceType\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n default: false,\n } as PropValidator,\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n },\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled',\n } as ItemProperty,\n itemText: {\n type: [String, Array, Function],\n default: 'text',\n } as ItemProperty,\n itemValue: {\n type: [String, Array, Function],\n default: 'value',\n } as ItemProperty,\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n content: null as any,\n isBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n counterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.getText(this.selectedItems[0]) || '').toString().length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: this.blur,\n args: {\n closeConditional: this.closeConditional,\n },\n } as VNodeDirective] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n },\n isBooted () {\n this.$nextTick(() => {\n if (this.content && this.content.addEventListener) {\n this.content.addEventListener('scroll', this.onScroll, false)\n }\n })\n },\n isMenuActive (val) {\n this.$nextTick(() => this.onMenuActiveChange(val))\n\n if (!val) return\n\n this.isBooted = true\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n mounted () {\n this.content = this.$refs.menu && (this.$refs.menu as { [key: string]: any }).$refs.content\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n },\n /** @public */\n activateMenu () {\n if (\n this.disabled ||\n this.readonly ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : undefined)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n this.content &&\n !this.content.contains(e.target) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.disabled ||\n this.readonly ||\n this.getDisabled(item)\n )\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && !isDisabled,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (isDisabled) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.disabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.domProps!.value = null\n input.data!.attrs!.readonly = true\n input.data!.attrs!.type = 'text'\n input.data!.attrs!['aria-readonly'] = true\n input.data!.on!.keypress = this.onKeyPress\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: { type: 'hidden' },\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n // Attach to root el so that\n // menu covers prepend/append icons\n if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop ()\n this.attach === true || // If bound to a boolean ()\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: this.disabled || this.readonly,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick () {\n if (this.isDisabled) return\n\n this.isMenuActive = true\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n this.readonly\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) || '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && keyCode !== keyCodes.tab) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If menu is not active, up and down can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n if (this.hasMouseDown && e.which !== 3) {\n const appendInner = this.$refs['append-inner']\n\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isMenuActive &&\n appendInner &&\n (appendInner === e.target ||\n (appendInner as { [key: string]: any }).contains(e.target))\n ) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n // If user is clicking in the container\n // and field is enclosed, activate it\n } else if (this.isEnclosed && !this.isDisabled) {\n this.isMenuActive = true\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.content.scrollTop = 0))\n } else {\n if (this.lastItem >= this.computedItems.length) return\n\n const showMoreItems = (\n this.content.scrollHeight -\n (this.content.scrollTop +\n this.content.clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.getTiles()\n keyCodes.up === keyCode ? menu.prevTile() : menu.nextTile()\n menu.activeTile && menu.activeTile.click()\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // When selecting multiple\n // adjust menu after each\n // selection\n this.$nextTick(() => {\n this.$refs.menu &&\n (this.$refs.menu as { [key: string]: any }).updateDimensions()\n })\n\n // We only need to reset list index for multiple\n // to keep highlight when an item is toggled\n // on and off\n if (!this.multiple) return\n\n const listIndex = this.getMenuIndex()\n\n this.setMenuIndex(-1)\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) return\n\n this.$nextTick(() => this.setMenuIndex(listIndex))\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n const oldValue = this.internalValue\n this.internalValue = value\n value !== oldValue && this.$emit('change', value)\n },\n },\n})\n","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropValidator,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n this.$slots.default,\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","// Styles\nimport './VDivider.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\nexport default Themeable.extend({\n name: 'v-divider',\n\n props: {\n inset: Boolean,\n vertical: Boolean,\n },\n\n render (h): VNode {\n // WAI-ARIA attributes\n let orientation\n if (!this.$attrs.role || this.$attrs.role === 'separator') {\n orientation = this.vertical ? 'vertical' : 'horizontal'\n }\n return h('hr', {\n class: {\n 'v-divider': true,\n 'v-divider--inset': this.inset,\n 'v-divider--vertical': this.vertical,\n ...this.themeClasses,\n },\n attrs: {\n role: 'separator',\n 'aria-orientation': orientation,\n ...this.$attrs,\n },\n on: this.$listeners,\n })\n },\n})\n","// Styles\nimport './VSubheader.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-subheader',\n\n props: {\n inset: Boolean,\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses,\n },\n attrs: this.$attrs,\n on: this.$listeners,\n }, this.$slots.default)\n },\n})\n","export default class usp_PostulanteGetByCargoId {\r\n sCUIL: string | null;\r\n sSexo: string | null;\r\n sApellidos: string | null;\r\n sNombres: string | null;\r\n sMail: string | null;\r\n nPorcentaje: number | null; \r\n sCargo: string | null;\r\n sDependencia: string | null;\r\n sDistrito: string | null;\r\n nCargoPostulanteId: number | null;\r\n sConcurso: string | null;\r\n dFechaFinCarga: Date | null;\r\n nPuntajeAntecedente: number | null;\r\n nPuntajeEscrito: number | null;\r\n nPuntajeEntrevista: number | null;\r\n nPuntajeTotal: number | null;\r\n bTernado: boolean | null;\r\n bDesignado: boolean | null;\r\n bJustificacion: boolean | null;\r\n bAdmitido: boolean | null;\r\n bPosibleAdmision: boolean | null;\r\n bFaltanteCertificar: boolean | null;\r\n dFechaInscripcion: Date | null;\r\n dFechaBaja: string | null;\r\n sCelular: string | null;\r\n dNacimiento: Date | null;\r\n nProvinciaId: number | null;\r\n nLocalidadId: number | null;\r\n nCargoId: number | null;\r\n Nombre_CUIL: string | null;\r\n constructor() {\r\n this.sCUIL = null;\r\n this.sSexo = null;\r\n this.sApellidos = null;\r\n this.sNombres = null;\r\n this.sMail = null;\r\n this.nPorcentaje = null;\r\n this.sCargo = null;\r\n this.sDependencia = null;\r\n this.sDistrito = null;\r\n this.nCargoPostulanteId = null;\r\n this.sConcurso = null;\r\n this.dFechaFinCarga = null;\r\n this.nPuntajeAntecedente = null;\r\n this.nPuntajeEscrito = null;\r\n this.nPuntajeEntrevista = null;\r\n this.nPuntajeTotal = null;\r\n this.bTernado = null;\r\n this.bDesignado = null;\r\n this.bJustificacion = null;\r\n this.bAdmitido = null;\r\n this.bPosibleAdmision = null;\r\n this.bFaltanteCertificar = null;\r\n this.dFechaInscripcion = null;\r\n this.sCelular = null;\r\n this.dFechaBaja = null;\r\n this.dNacimiento = null;\r\n this.nCargoId = null;\r\n this.nProvinciaId = null;\r\n this.nLocalidadId = null;\r\n this.Nombre_CUIL = null; \r\n }\r\n}","// Styles\nimport './VMenu.sass'\n\n// Mixins\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport { removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Detachable,\n Menuable,\n Returnable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n this.$refs.content.scrollTop = tile.offsetTop - tile.clientHeight\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n if (!this.transition) return this.genContent()\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [this.genContent()])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n } as any)\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement(\n 'div',\n options,\n this.showLazyContent(this.getContentSlot())\n )\n },\n getTiles () {\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n this.isActive = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.$createElement(ThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ])\n },\n})\n","export default class usp_PostulanteAdmisibilidadGetByCUIL {\r\n sCUIL: string | null;\r\n sTipo: string | null;\r\n sArchivo: string | null;\r\n sEstado: string | null;\r\n dFechaCaducidad: string | null;\r\n sMotivoRechazo: string | null;\r\n dFechaMatricula: string | null;\r\n sSancionMatricula: string | null;\r\n dFechaEmision: string | null;\r\n \r\n constructor() {\r\n this.sCUIL = null;\r\n this.sTipo = null;\r\n this.sArchivo = null;\r\n this.sEstado = null;\r\n this.dFechaCaducidad = null;\r\n this.sMotivoRechazo = null;\r\n this.dFechaMatricula = null;\r\n this.sSancionMatricula = null;\r\n this.dFechaEmision = null;\r\n \r\n }\r\n}\r\n","// Mixins\nimport Positionable from '../positionable'\nimport Stackable from '../stackable'\nimport Activatable from '../activatable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(\n Stackable,\n Positionable,\n Activatable\n)\n\ninterface options extends ExtractVue {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n openOnClick: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += this.left ? activatorLeft - (minWidth - a.width) : activatorLeft\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: 0,\n offsetLeft: 0,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.pageYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.pageYOffset && !this.allowOverflow) {\n top = this.pageYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) return\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n listeners.click = (e: MouseEvent & KeyboardEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {}\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n dimensions.content = this.measure(this.$refs.content)\n\n this.dimensions = dimensions\n })\n },\n },\n})\n"],"sourceRoot":""}